[PATCH] WineD3D: Make the texture stage mapping nvrc independent=0A=
Stefan Doesinger
stefan at codeweavers.com
Thu Aug 21 13:23:38 CDT 2008
=0A=
---=0A=
dlls/wined3d/device.c | 3 ++-=0A=
dlls/wined3d/directx.c | 1 +=0A=
dlls/wined3d/wined3d_private.h | 2 +-=0A=
3 files changed, 4 insertions(+), 2 deletions(-)=0A=
=0A=
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c=0A=
index 98b1910..a569e96 100644=0A=
--- a/dlls/wined3d/device.c=0A=
+++ b/dlls/wined3d/device.c=0A=
@@ -3750,7 +3750,8 @@ static void =
device_map_fixed_function_samplers(IWineD3DDeviceImpl *This) {=0A=
=0A=
device_update_fixed_function_usage_map(This);=0A=
=0A=
- if (!GL_SUPPORT(NV_REGISTER_COMBINERS) || =
This->stateBlock->lowest_disabled_stage <=3D This->max_ffp_textures) {=0A=
+ if (This->max_ffp_textures =3D=3D This->max_ffp_texture_stages ||=0A=
+ This->stateBlock->lowest_disabled_stage <=3D =
This->max_ffp_textures) {=0A=
for (i =3D 0; i < This->stateBlock->lowest_disabled_stage; ++i) =
{=0A=
if (!This->fixed_function_usage_map[i]) continue;=0A=
=0A=
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c=0A=
index c897e70..53ea543 100644=0A=
--- a/dlls/wined3d/directx.c=0A=
+++ b/dlls/wined3d/directx.c=0A=
@@ -3608,6 +3608,7 @@ static HRESULT WINAPI =
IWineD3DImpl_CreateDevice(IWineD3D *iface, UINT Adapter,=0A=
object->frag_pipe =3D frag_pipeline;=0A=
frag_pipeline->get_caps(DeviceType, &GLINFO_LOCATION, &ffp_caps);=0A=
object->max_ffp_textures =3D ffp_caps.MaxSimultaneousTextures;=0A=
+ object->max_ffp_texture_stages =3D ffp_caps.MaxTextureBlendStages;=0A=
compile_state_table(object->StateTable, object->multistate_funcs, =
&GLINFO_LOCATION,=0A=
ffp_vertexstate_template, frag_pipeline, =
misc_state_template);=0A=
=0A=
diff --git a/dlls/wined3d/wined3d_private.h =
b/dlls/wined3d/wined3d_private.h=0A=
index 8daee2d..fdb56b5 100644=0A=
--- a/dlls/wined3d/wined3d_private.h=0A=
+++ b/dlls/wined3d/wined3d_private.h=0A=
@@ -859,7 +859,7 @@ struct IWineD3DDeviceImpl=0A=
const struct fragment_pipeline *frag_pipe;=0A=
const struct blit_shader *blitter;=0A=
=0A=
- unsigned int max_ffp_textures;=0A=
+ unsigned int max_ffp_textures, max_ffp_texture_stages;=0A=
=0A=
/* To store */=0A=
BOOL view_ident; /* true iff view matrix =
is identity */=0A=
-- =0A=
1.5.6.4=0A=
=0A=
------=_NextPart_000_01E5_01C90793.B81EC120--
More information about the wine-patches
mailing list