[1/5] wined3d: Call IWineD3DDeviceImpl_FindTexUnitMap for cards
without support for NV_REGISTER_COMBINERS as well
H. Verbeet
hverbeet at gmail.com
Sun Jul 1 16:40:57 CDT 2007
Allows vertex samplers to be mapped to a texturing unit on cards
without support for NV_REGISTER_COMBINERS, and makes sure
fixed_function_usage_map is up to date.
Changelog:
- Call IWineD3DDeviceImpl_FindTexUnitMap for cards without support
for NV_REGISTER_COMBINERS as well
-------------- next part --------------
---
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-patches
mailing list