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

This commit is contained in:
H. Verbeet 2007-07-01 23:40:57 +02:00 committed by Alexandre Julliard
parent fd133237b0
commit 5e78a83cb2
2 changed files with 5 additions and 7 deletions

View file

@ -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;

View file

@ -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