mirror of
git://source.winehq.org/git/wine.git
synced 2024-11-05 18:01:34 +00:00
wined3d: Temporary disable nvrc junk texture skipping.
This commit is contained in:
parent
d56b3c10c4
commit
1e264e5dd4
2 changed files with 36 additions and 37 deletions
|
@ -1166,7 +1166,7 @@ static void loadVertexData(IWineD3DDevice *iface, WineDirect3DVertexStridedData
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!GL_SUPPORT(NV_REGISTER_COMBINERS) || This->stateBlock->textures[textureNo]) {
|
if (/*!GL_SUPPORT(NV_REGISTER_COMBINERS) || This->stateBlock->textures[textureNo]*/ TRUE) {
|
||||||
/* Select the correct texture stage */
|
/* Select the correct texture stage */
|
||||||
GL_EXTCALL(glClientActiveTextureARB(GL_TEXTURE0_ARB + texture_idx));
|
GL_EXTCALL(glClientActiveTextureARB(GL_TEXTURE0_ARB + texture_idx));
|
||||||
}
|
}
|
||||||
|
@ -1204,7 +1204,7 @@ static void loadVertexData(IWineD3DDevice *iface, WineDirect3DVertexStridedData
|
||||||
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
|
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||||
GL_EXTCALL(glMultiTexCoord4fARB(GL_TEXTURE0_ARB + textureNo, 0, 0, 0, 1));
|
GL_EXTCALL(glMultiTexCoord4fARB(GL_TEXTURE0_ARB + textureNo, 0, 0, 0, 1));
|
||||||
}
|
}
|
||||||
if (!GL_SUPPORT(NV_REGISTER_COMBINERS) || This->stateBlock->textures[textureNo]) ++texture_idx;
|
if (/*!GL_SUPPORT(NV_REGISTER_COMBINERS) || This->stateBlock->textures[textureNo]*/ TRUE) ++texture_idx;
|
||||||
}
|
}
|
||||||
if (GL_SUPPORT(NV_REGISTER_COMBINERS)) {
|
if (GL_SUPPORT(NV_REGISTER_COMBINERS)) {
|
||||||
for (textureNo = texture_idx; textureNo < GL_LIMITS(textures); ++textureNo) {
|
for (textureNo = texture_idx; textureNo < GL_LIMITS(textures); ++textureNo) {
|
||||||
|
@ -1479,7 +1479,7 @@ static void drawStridedSlow(IWineD3DDevice *iface, WineDirect3DVertexStridedData
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!GL_SUPPORT(NV_REGISTER_COMBINERS) || This->stateBlock->textures[textureNo]) ++texture_idx;
|
if (/*!GL_SUPPORT(NV_REGISTER_COMBINERS) || This->stateBlock->textures[textureNo]*/TRUE) ++texture_idx;
|
||||||
} /* End of textures */
|
} /* End of textures */
|
||||||
|
|
||||||
/* Diffuse -------------------------------- */
|
/* Diffuse -------------------------------- */
|
||||||
|
@ -1911,7 +1911,7 @@ static void drawPrimitiveUploadTextures(IWineD3DDeviceImpl* This) {
|
||||||
/* WINED3DTOP_DISABLE disables the current & any higher texture stages */
|
/* WINED3DTOP_DISABLE disables the current & any higher texture stages */
|
||||||
if (This->stateBlock->textureState[i][WINED3DTSS_COLOROP] == WINED3DTOP_DISABLE) break;
|
if (This->stateBlock->textureState[i][WINED3DTSS_COLOROP] == WINED3DTOP_DISABLE) break;
|
||||||
|
|
||||||
if (!GL_SUPPORT(NV_REGISTER_COMBINERS) || This->stateBlock->textures[i]) {
|
if (/*!GL_SUPPORT(NV_REGISTER_COMBINERS) || This->stateBlock->textures[i]*/ TRUE) {
|
||||||
texture_idx = current_sampler++;
|
texture_idx = current_sampler++;
|
||||||
|
|
||||||
/* Active the texture unit corresponding to the current texture stage */
|
/* Active the texture unit corresponding to the current texture stage */
|
||||||
|
|
|
@ -1026,46 +1026,45 @@ static HRESULT WINAPI IWineD3DStateBlockImpl_InitStartupStateBlock(IWineD3DStat
|
||||||
bound. We emulate this by creating dummy textures and binding them to each
|
bound. We emulate this by creating dummy textures and binding them to each
|
||||||
texture stage, but disable all stages by default. Hence if a stage is enabled
|
texture stage, but disable all stages by default. Hence if a stage is enabled
|
||||||
then the default texture will kick in until replaced by a SetTexture call */
|
then the default texture will kick in until replaced by a SetTexture call */
|
||||||
if (!GL_SUPPORT(NV_REGISTER_COMBINERS)) {
|
ENTER_GL();
|
||||||
ENTER_GL();
|
|
||||||
|
|
||||||
for (i = 0; i < GL_LIMITS(texture_stages); i++) {
|
for (i = 0; i < GL_LIMITS(texture_stages); i++) {
|
||||||
GLubyte white = 255;
|
GLubyte white = 255;
|
||||||
|
|
||||||
/* Note this avoids calling settexture, so pretend it has been called */
|
/* Note this avoids calling settexture, so pretend it has been called */
|
||||||
This->set.textures[i] = TRUE;
|
This->set.textures[i] = TRUE;
|
||||||
This->changed.textures[i] = TRUE;
|
This->changed.textures[i] = TRUE;
|
||||||
This->textures[i] = NULL;
|
This->textures[i] = NULL;
|
||||||
|
|
||||||
/* Make appropriate texture active */
|
/* Make appropriate texture active */
|
||||||
if (GL_SUPPORT(ARB_MULTITEXTURE)) {
|
if (GL_SUPPORT(ARB_MULTITEXTURE)) {
|
||||||
GL_EXTCALL(glActiveTextureARB(GL_TEXTURE0_ARB + i));
|
GL_EXTCALL(glActiveTextureARB(GL_TEXTURE0_ARB + i));
|
||||||
checkGLcall("glActiveTextureARB");
|
checkGLcall("glActiveTextureARB");
|
||||||
} else if (i > 0) {
|
} else if (i > 0) {
|
||||||
FIXME("Program using multiple concurrent textures which this opengl implementation doesn't support\n");
|
FIXME("Program using multiple concurrent textures which this opengl implementation doesn't support\n");
|
||||||
}
|
|
||||||
|
|
||||||
/* Generate an opengl texture name */
|
|
||||||
glGenTextures(1, &ThisDevice->dummyTextureName[i]);
|
|
||||||
checkGLcall("glGenTextures");
|
|
||||||
TRACE("Dummy Texture %d given name %d\n", i, ThisDevice->dummyTextureName[i]);
|
|
||||||
|
|
||||||
/* Generate a dummy 1d texture */
|
|
||||||
This->textureDimensions[i] = GL_TEXTURE_1D;
|
|
||||||
glBindTexture(GL_TEXTURE_1D, ThisDevice->dummyTextureName[i]);
|
|
||||||
checkGLcall("glBindTexture");
|
|
||||||
|
|
||||||
glTexImage1D(GL_TEXTURE_1D, 0, GL_LUMINANCE, 1, 0, GL_LUMINANCE, GL_UNSIGNED_BYTE, &white);
|
|
||||||
checkGLcall("glTexImage1D");
|
|
||||||
#if 1 /* TODO: move the setting texture states off to basetexture */
|
|
||||||
/* Reapply all the texture state information to this texture */
|
|
||||||
IWineD3DDevice_SetupTextureStates(device, i, i, REAPPLY_ALL);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
LEAVE_GL();
|
/* Generate an opengl texture name */
|
||||||
|
glGenTextures(1, &ThisDevice->dummyTextureName[i]);
|
||||||
|
checkGLcall("glGenTextures");
|
||||||
|
TRACE("Dummy Texture %d given name %d\n", i, ThisDevice->dummyTextureName[i]);
|
||||||
|
|
||||||
|
/* Generate a dummy 1d texture */
|
||||||
|
This->textureDimensions[i] = GL_TEXTURE_1D;
|
||||||
|
glBindTexture(GL_TEXTURE_1D, ThisDevice->dummyTextureName[i]);
|
||||||
|
checkGLcall("glBindTexture");
|
||||||
|
|
||||||
|
glTexImage1D(GL_TEXTURE_1D, 0, GL_LUMINANCE, 1, 0, GL_LUMINANCE, GL_UNSIGNED_BYTE, &white);
|
||||||
|
checkGLcall("glTexImage1D");
|
||||||
|
#if 1 /* TODO: move the setting texture states off to basetexture */
|
||||||
|
/* Reapply all the texture state information to this texture */
|
||||||
|
IWineD3DDevice_SetupTextureStates(device, i, i, REAPPLY_ALL);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LEAVE_GL();
|
||||||
|
|
||||||
|
|
||||||
/* Defaulting palettes - Note these are device wide but reinitialized here for convenience*/
|
/* Defaulting palettes - Note these are device wide but reinitialized here for convenience*/
|
||||||
for (i = 0; i < MAX_PALETTES; ++i) {
|
for (i = 0; i < MAX_PALETTES; ++i) {
|
||||||
int j;
|
int j;
|
||||||
|
|
Loading…
Reference in a new issue