H. Verbeet : wined3d: Call IWineD3DDeviceImpl_FindTexUnitMap for cards without support for NV_REGISTER_COMBINERS as well .
Module: wine Branch: master Commit: 5e78a83cb20bb70032b5cab68cc9ac2880d12a0b URL: http://source.winehq.org/git/wine.git/?a=commit;h=5e78a83cb20bb70032b5cab68c... Author: H. Verbeet <hverbeet(a)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
participants (1)
-
Alexandre Julliard