Stefan Dösinger : wined3d: Temporary disable nvrc junk texture skipping.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Dec 20 12:24:42 CST 2006
Module: wine
Branch: master
Commit: 1e264e5dd4f01f5450fd0be79cec78ed979035c1
URL: http://source.winehq.org/git/wine.git/?a=commit;h=1e264e5dd4f01f5450fd0be79cec78ed979035c1
Author: Stefan Dösinger <stefan at codeweavers.com>
Date: Tue Dec 19 22:37:37 2006 +0100
wined3d: Temporary disable nvrc junk texture skipping.
---
dlls/wined3d/drawprim.c | 8 +++---
dlls/wined3d/stateblock.c | 65 ++++++++++++++++++++++-----------------------
2 files changed, 36 insertions(+), 37 deletions(-)
diff --git a/dlls/wined3d/drawprim.c b/dlls/wined3d/drawprim.c
index 6ac7462..88a3f90 100644
--- a/dlls/wined3d/drawprim.c
+++ b/dlls/wined3d/drawprim.c
@@ -1166,7 +1166,7 @@ static void loadVertexData(IWineD3DDevic
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 */
GL_EXTCALL(glClientActiveTextureARB(GL_TEXTURE0_ARB + texture_idx));
}
@@ -1204,7 +1204,7 @@ static void loadVertexData(IWineD3DDevic
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
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)) {
for (textureNo = texture_idx; textureNo < GL_LIMITS(textures); ++textureNo) {
@@ -1479,7 +1479,7 @@ static void drawStridedSlow(IWineD3DDevi
}
}
}
- 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 */
/* Diffuse -------------------------------- */
@@ -1911,7 +1911,7 @@ static void drawPrimitiveUploadTextures(
/* WINED3DTOP_DISABLE disables the current & any higher texture stages */
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++;
/* Active the texture unit corresponding to the current texture stage */
diff --git a/dlls/wined3d/stateblock.c b/dlls/wined3d/stateblock.c
index 98904cc..e7e0f3a 100644
--- a/dlls/wined3d/stateblock.c
+++ b/dlls/wined3d/stateblock.c
@@ -1026,46 +1026,45 @@ static HRESULT WINAPI IWineD3DStateBloc
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
then the default texture will kick in until replaced by a SetTexture call */
- if (!GL_SUPPORT(NV_REGISTER_COMBINERS)) {
- ENTER_GL();
-
- for (i = 0; i < GL_LIMITS(texture_stages); i++) {
- GLubyte white = 255;
-
- /* Note this avoids calling settexture, so pretend it has been called */
- This->set.textures[i] = TRUE;
- This->changed.textures[i] = TRUE;
- This->textures[i] = NULL;
-
- /* Make appropriate texture active */
- if (GL_SUPPORT(ARB_MULTITEXTURE)) {
- GL_EXTCALL(glActiveTextureARB(GL_TEXTURE0_ARB + i));
- checkGLcall("glActiveTextureARB");
- } else if (i > 0) {
- FIXME("Program using multiple concurrent textures which this opengl implementation doesn't support\n");
- }
+ ENTER_GL();
+
+ for (i = 0; i < GL_LIMITS(texture_stages); i++) {
+ GLubyte white = 255;
+
+ /* Note this avoids calling settexture, so pretend it has been called */
+ This->set.textures[i] = TRUE;
+ This->changed.textures[i] = TRUE;
+ This->textures[i] = NULL;
+
+ /* Make appropriate texture active */
+ if (GL_SUPPORT(ARB_MULTITEXTURE)) {
+ GL_EXTCALL(glActiveTextureARB(GL_TEXTURE0_ARB + i));
+ checkGLcall("glActiveTextureARB");
+ } else if (i > 0) {
+ 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 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");
+ /* 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");
+ 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);
+ /* Reapply all the texture state information to this texture */
+ IWineD3DDevice_SetupTextureStates(device, i, i, REAPPLY_ALL);
#endif
- }
-
- LEAVE_GL();
}
+ LEAVE_GL();
+
+
/* Defaulting palettes - Note these are device wide but reinitialized here for convenience*/
for (i = 0; i < MAX_PALETTES; ++i) {
int j;
More information about the wine-cvs
mailing list