wined3d: Move register count pass to SetFunction.
Move semantics pointers out of the reg_maps, make them persistent data
in the shader (again, for future software shaders).
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 0f354c1..a71539a 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -1297,11 +1297,6 @@
char constantsI[MAX_CONST_I]; /* pixel & vertex >= 2.0 */
char constantsB[MAX_CONST_B]; /* pixel & vertex >= 2.0 */
- /* Semantics maps (semantic -> reg_token)
- * Use 0 as default (bit 31 is always 1 on a valid token) */
- DWORD* semantics_in; /* vertex, pixel */
- DWORD* semantics_out; /* vertex */
-
/* Sampler usage tokens
* Use 0 as default (bit 31 is always 1 on a valid token) */
DWORD samplers[MAX_SAMPLERS];
@@ -1480,6 +1475,8 @@
extern void shader_get_registers_used(
IWineD3DBaseShader *iface,
shader_reg_maps* reg_maps,
+ DWORD* semantics_in,
+ DWORD* semantics_out,
CONST DWORD* pToken);
extern void shader_generate_glsl_declarations(
@@ -1561,9 +1558,10 @@
DWORD usage;
- /* vertex declaration array mapping */
- DWORD arrayUsageMap[WINED3DSHADERDECLUSAGE_MAX_USAGE];
-
+ /* Vertex shader input and output semantics */
+ DWORD semantics_in [WINED3DSHADERDECLUSAGE_MAX_USAGE];
+ DWORD semantics_out [WINED3DSHADERDECLUSAGE_MAX_USAGE];
+
/* run time datas... */
VSHADERDATA *data;
IWineD3DVertexDeclaration *vertexDeclaration;
@@ -1591,6 +1589,9 @@
IUnknown *parent;
IWineD3DDeviceImpl *wineD3DDevice;
+ /* Pixel shader input semantics */
+ DWORD semantics_in [WINED3DSHADERDECLUSAGE_MAX_USAGE];
+
/* run time data */
PSHADERDATA *data;