H. Verbeet : wined3d: Call IWineD3DDeviceImpl_FindTexUnitMap for cards without support for NV_REGISTER_COMBINERS as well .

Alexandre Julliard julliard at wine.codeweavers.com
Mon Jul 2 09:52:07 CDT 2007


Module: wine
Branch: master
Commit: 5e78a83cb20bb70032b5cab68cc9ac2880d12a0b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=5e78a83cb20bb70032b5cab68cc9ac2880d12a0b

Author: H. Verbeet <hverbeet at gmail.com>
Date:   Sun Jul  1 23:40:57 2007 +0200

wined3d: Call IWineD3DDeviceImpl_FindTexUnitMap for cards without support for NV_REGISTER_COMBINERS as well.

---

 dlls/wined3d/context.c |    6 +++---
 dlls/wined3d/device.c  |    6 ++----
 2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
index 60830dc..5b2ab01 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
@@ -807,9 +807,9 @@ void ActivateContext(IWineD3DDeviceImpl *This, IWineD3DSurface *target, ContextU
                 glEnable(GL_TEXTURE_SHADER_NV);
                 checkGLcall("glEnable(GL_TEXTURE_SHADER_NV)");
             }
-            if (GL_SUPPORT(NV_REGISTER_COMBINERS)) {
-                IWineD3DDeviceImpl_FindTexUnitMap(This);
-            }
+
+            IWineD3DDeviceImpl_FindTexUnitMap(This);
+
             for(i=0; i < context->numDirtyEntries; i++) {
                 dirtyState = context->dirtyArray[i];
                 idx = dirtyState >> 5;
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index ed6b6f9..4a15b33 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -3261,7 +3261,7 @@ static void device_map_fixed_function_samplers(IWineD3DDeviceImpl *This) {
 
     device_update_fixed_function_usage_map(This);
 
-    if (This->stateBlock->lowest_disabled_stage <= GL_LIMITS(textures)) {
+    if (!GL_SUPPORT(NV_REGISTER_COMBINERS) || This->stateBlock->lowest_disabled_stage <= GL_LIMITS(textures)) {
         for (i = 0; i < This->stateBlock->lowest_disabled_stage; ++i) {
             if (!This->fixed_function_usage_map[i]) continue;
 
@@ -3368,9 +3368,7 @@ static void device_map_vsamplers(IWineD3DDeviceImpl *This, BOOL ps) {
 void IWineD3DDeviceImpl_FindTexUnitMap(IWineD3DDeviceImpl *This) {
     BOOL vs = use_vs(This);
     BOOL ps = use_ps(This);
-    /* This code can assume that GL_NV_register_combiners are supported, otherwise
-     * it is never called.
-     *
+    /*
      * Rules are:
      * -> Pixel shaders need a 1:1 map. In theory the shader input could be mapped too, but
      * that would be really messy and require shader recompilation




More information about the wine-cvs mailing list