Commit 1f1057fc authored by Jason Green's avatar Jason Green Committed by Alexandre Julliard

wined3d: Move constant loading out of DrawPrimDrawStrided() and enable

loading float constants for GLSL. - DrawPrim is just too big of a function. This separates the passing of constants to the shader into new functions. - Fixes an off-by-one error when loading vertex declaration constants (should be <, not <=) - Adds a function for GLSL loading of constants (aka Uniforms) - Adds a GLSL program variable to the stateblock and sets it to 0 (a future patch will actually create this program)
parent 217dae68
...@@ -874,6 +874,10 @@ HRESULT WINAPI IWineD3DStateBlockImpl_InitStartupStateBlock(IWineD3DStateBlock* ...@@ -874,6 +874,10 @@ HRESULT WINAPI IWineD3DStateBlockImpl_InitStartupStateBlock(IWineD3DStateBlock*
} }
This->wineD3DDevice->currentPalette = 0; This->wineD3DDevice->currentPalette = 0;
/* Set default GLSL program ID to 0. We won't actually create one
* until the app sets a vertex or pixel shader */
This->shaderPrgId = 0;
TRACE("-----------------------> Device defaults now set up...\n"); TRACE("-----------------------> Device defaults now set up...\n");
return WINED3D_OK; return WINED3D_OK;
} }
......
...@@ -1070,6 +1070,8 @@ struct IWineD3DStateBlockImpl ...@@ -1070,6 +1070,8 @@ struct IWineD3DStateBlockImpl
/* Sampler States */ /* Sampler States */
DWORD samplerState[MAX_SAMPLERS][WINED3D_HIGHEST_SAMPLER_STATE + 1]; DWORD samplerState[MAX_SAMPLERS][WINED3D_HIGHEST_SAMPLER_STATE + 1];
/* Current GLSL Shader Program */
GLhandleARB shaderPrgId;
}; };
extern const IWineD3DStateBlockVtbl IWineD3DStateBlock_Vtbl; extern const IWineD3DStateBlockVtbl IWineD3DStateBlock_Vtbl;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment