Commit 462ddaa2 authored by Stefan Dösinger's avatar Stefan Dösinger Committed by Alexandre Julliard

wined3d: Make the texture stage mapping nvrc independent.

parent 0e2713a1
...@@ -3750,7 +3750,8 @@ static void device_map_fixed_function_samplers(IWineD3DDeviceImpl *This) { ...@@ -3750,7 +3750,8 @@ static void device_map_fixed_function_samplers(IWineD3DDeviceImpl *This) {
device_update_fixed_function_usage_map(This); device_update_fixed_function_usage_map(This);
if (!GL_SUPPORT(NV_REGISTER_COMBINERS) || This->stateBlock->lowest_disabled_stage <= This->max_ffp_textures) { if (This->max_ffp_textures == This->max_ffp_texture_stages ||
This->stateBlock->lowest_disabled_stage <= This->max_ffp_textures) {
for (i = 0; i < This->stateBlock->lowest_disabled_stage; ++i) { for (i = 0; i < This->stateBlock->lowest_disabled_stage; ++i) {
if (!This->fixed_function_usage_map[i]) continue; if (!This->fixed_function_usage_map[i]) continue;
......
...@@ -3608,6 +3608,7 @@ static HRESULT WINAPI IWineD3DImpl_CreateDevice(IWineD3D *iface, UINT Adapter, ...@@ -3608,6 +3608,7 @@ static HRESULT WINAPI IWineD3DImpl_CreateDevice(IWineD3D *iface, UINT Adapter,
object->frag_pipe = frag_pipeline; object->frag_pipe = frag_pipeline;
frag_pipeline->get_caps(DeviceType, &GLINFO_LOCATION, &ffp_caps); frag_pipeline->get_caps(DeviceType, &GLINFO_LOCATION, &ffp_caps);
object->max_ffp_textures = ffp_caps.MaxSimultaneousTextures; object->max_ffp_textures = ffp_caps.MaxSimultaneousTextures;
object->max_ffp_texture_stages = ffp_caps.MaxTextureBlendStages;
compile_state_table(object->StateTable, object->multistate_funcs, &GLINFO_LOCATION, compile_state_table(object->StateTable, object->multistate_funcs, &GLINFO_LOCATION,
ffp_vertexstate_template, frag_pipeline, misc_state_template); ffp_vertexstate_template, frag_pipeline, misc_state_template);
......
...@@ -859,7 +859,7 @@ struct IWineD3DDeviceImpl ...@@ -859,7 +859,7 @@ struct IWineD3DDeviceImpl
const struct fragment_pipeline *frag_pipe; const struct fragment_pipeline *frag_pipe;
const struct blit_shader *blitter; const struct blit_shader *blitter;
unsigned int max_ffp_textures; unsigned int max_ffp_textures, max_ffp_texture_stages;
/* To store */ /* To store */
BOOL view_ident; /* true iff view matrix is identity */ BOOL view_ident; /* true iff view matrix is identity */
......
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