Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
1e264e5d
Commit
1e264e5d
authored
Dec 19, 2006
by
Stefan Dösinger
Committed by
Alexandre Julliard
Dec 20, 2006
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wined3d: Temporary disable nvrc junk texture skipping.
parent
d56b3c10
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
36 additions
and
37 deletions
+36
-37
drawprim.c
dlls/wined3d/drawprim.c
+4
-4
stateblock.c
dlls/wined3d/stateblock.c
+32
-33
No files found.
dlls/wined3d/drawprim.c
View file @
1e264e5d
...
...
@@ -1166,7 +1166,7 @@ static void loadVertexData(IWineD3DDevice *iface, WineDirect3DVertexStridedData
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(IWineD3DDevice *iface, WineDirect3DVertexStridedData
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(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 */
/* Diffuse -------------------------------- */
...
...
@@ -1911,7 +1911,7 @@ static void drawPrimitiveUploadTextures(IWineD3DDeviceImpl* This) {
/* 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 */
...
...
dlls/wined3d/stateblock.c
View file @
1e264e5d
...
...
@@ -1026,46 +1026,45 @@ static HRESULT WINAPI IWineD3DStateBlockImpl_InitStartupStateBlock(IWineD3DStat
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
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment