| 
									
										
										
										
											2013-10-07 16:02:24 +02:00
										 |  |  | // Copyright 2013 Dolphin Emulator Project
 | 
					
						
							| 
									
										
										
										
											2015-05-18 01:08:10 +02:00
										 |  |  | // Licensed under GPLv2+
 | 
					
						
							| 
									
										
										
										
											2013-10-07 16:02:24 +02:00
										 |  |  | // Refer to the license.txt file included.
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-10 13:54:46 -05:00
										 |  |  | #pragma once
 | 
					
						
							| 
									
										
										
										
											2013-10-07 16:02:24 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-10-21 02:01:38 -04:00
										 |  |  | #include "Common/CommonTypes.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-07 16:02:24 +02:00
										 |  |  | // all constant buffer attributes must be 16 bytes aligned, so this are the only allowed components:
 | 
					
						
							|  |  |  | typedef float float4[4]; | 
					
						
							|  |  |  | typedef u32 uint4[4]; | 
					
						
							| 
									
										
										
										
											2013-10-07 19:04:03 +02:00
										 |  |  | typedef s32 int4[4]; | 
					
						
							| 
									
										
										
										
											2013-10-07 16:02:24 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | struct PixelShaderConstants | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2013-10-10 20:26:41 +02:00
										 |  |  | 	int4 colors[4]; | 
					
						
							|  |  |  | 	int4 kcolors[4]; | 
					
						
							| 
									
										
										
										
											2013-10-10 20:36:55 +02:00
										 |  |  | 	int4 alpha; | 
					
						
							| 
									
										
										
										
											2013-10-07 16:02:24 +02:00
										 |  |  | 	float4 texdims[8]; | 
					
						
							| 
									
										
										
										
											2013-11-23 20:58:24 +01:00
										 |  |  | 	int4 zbias[2]; | 
					
						
							| 
									
										
										
										
											2014-01-29 15:52:24 +01:00
										 |  |  | 	int4 indtexscale[2]; | 
					
						
							| 
									
										
										
										
											2013-10-10 21:09:00 +02:00
										 |  |  | 	int4 indtexmtx[6]; | 
					
						
							| 
									
										
										
										
											2013-10-27 13:10:00 +01:00
										 |  |  | 	int4 fogcolor; | 
					
						
							| 
									
										
										
										
											2014-03-03 19:23:46 +01:00
										 |  |  | 	int4 fogi; | 
					
						
							| 
									
										
										
										
											2013-12-16 13:08:09 +01:00
										 |  |  | 	float4 fogf[2]; | 
					
						
							| 
									
										
										
										
											2014-12-25 00:34:22 -07:00
										 |  |  | 	float4 zslope; | 
					
						
							| 
									
										
										
										
											2015-01-03 06:06:56 +13:00
										 |  |  | 	float4 efbscale; | 
					
						
							| 
									
										
										
										
											2013-10-07 16:02:24 +02:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct VertexShaderConstants | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	float4 posnormalmatrix[6]; | 
					
						
							|  |  |  | 	float4 projection[4]; | 
					
						
							| 
									
										
										
										
											2013-10-27 14:07:13 +01:00
										 |  |  | 	int4 materials[4]; | 
					
						
							| 
									
										
										
										
											2014-05-30 16:17:30 +02:00
										 |  |  | 	struct Light | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		int4 color; | 
					
						
							|  |  |  | 		float4 cosatt; | 
					
						
							|  |  |  | 		float4 distatt; | 
					
						
							|  |  |  | 		float4 pos; | 
					
						
							|  |  |  | 		float4 dir; | 
					
						
							|  |  |  | 	} lights [8]; | 
					
						
							| 
									
										
										
										
											2013-10-07 16:02:24 +02:00
										 |  |  | 	float4 texmatrices[24]; | 
					
						
							|  |  |  | 	float4 transformmatrices[64]; | 
					
						
							|  |  |  | 	float4 normalmatrices[32]; | 
					
						
							|  |  |  | 	float4 posttransformmatrices[64]; | 
					
						
							| 
									
										
										
										
											2014-10-25 02:59:02 +02:00
										 |  |  | 	float4 pixelcentercorrection; | 
					
						
							| 
									
										
										
										
											2013-10-07 16:02:24 +02:00
										 |  |  | }; | 
					
						
							| 
									
										
										
										
											2014-05-30 16:17:30 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-14 21:23:13 +01:00
										 |  |  | struct GeometryShaderConstants | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	float4 stereoparams; | 
					
						
							| 
									
										
										
										
											2014-12-16 00:21:07 +01:00
										 |  |  | 	float4 lineptparams; | 
					
						
							|  |  |  | 	int4 texoffset; | 
					
						
							| 
									
										
										
										
											2014-12-14 21:23:13 +01:00
										 |  |  | }; |