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
cd9a3517
Commit
cd9a3517
authored
Jan 04, 2007
by
Stefan Dösinger
Committed by
Alexandre Julliard
Jan 04, 2007
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wined3d: Catch NOP vertex declaration changes.
parent
0d700bef
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
3 deletions
+15
-3
device.c
dlls/wined3d/device.c
+15
-3
No files found.
dlls/wined3d/device.c
View file @
cd9a3517
...
@@ -2151,10 +2151,15 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetFVF(IWineD3DDevice *iface, DWORD fvf
...
@@ -2151,10 +2151,15 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetFVF(IWineD3DDevice *iface, DWORD fvf
IWineD3DDeviceImpl
*
This
=
(
IWineD3DDeviceImpl
*
)
iface
;
IWineD3DDeviceImpl
*
This
=
(
IWineD3DDeviceImpl
*
)
iface
;
/* Update the current state block */
/* Update the current state block */
This
->
updateStateBlock
->
fvf
=
fvf
;
This
->
updateStateBlock
->
changed
.
fvf
=
TRUE
;
This
->
updateStateBlock
->
changed
.
fvf
=
TRUE
;
This
->
updateStateBlock
->
set
.
fvf
=
TRUE
;
This
->
updateStateBlock
->
set
.
fvf
=
TRUE
;
if
(
This
->
updateStateBlock
->
fvf
==
fvf
)
{
TRACE
(
"Application is setting the old fvf over, nothing to do
\n
"
);
return
WINED3D_OK
;
}
This
->
updateStateBlock
->
fvf
=
fvf
;
TRACE
(
"(%p) : FVF Shader FVF set to %x
\n
"
,
This
,
fvf
);
TRACE
(
"(%p) : FVF Shader FVF set to %x
\n
"
,
This
,
fvf
);
IWineD3DDeviceImpl_MarkStateDirty
(
This
,
STATE_VDECL
);
IWineD3DDeviceImpl_MarkStateDirty
(
This
,
STATE_VDECL
);
return
WINED3D_OK
;
return
WINED3D_OK
;
...
@@ -3218,6 +3223,11 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetVertexDeclaration(IWineD3DDevice* if
...
@@ -3218,6 +3223,11 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetVertexDeclaration(IWineD3DDevice* if
if
(
This
->
isRecordingState
)
{
if
(
This
->
isRecordingState
)
{
TRACE
(
"Recording... not performing anything
\n
"
);
TRACE
(
"Recording... not performing anything
\n
"
);
return
WINED3D_OK
;
}
else
if
(
pDecl
==
oldDecl
)
{
/* Checked after the assignment to allow proper stateblock recording */
TRACE
(
"Application is setting the old declaration over, nothing to do
\n
"
);
return
WINED3D_OK
;
}
}
if
(
NULL
!=
pDecl
)
{
if
(
NULL
!=
pDecl
)
{
...
@@ -5822,13 +5832,15 @@ static void device_reapply_stateblock(IWineD3DDeviceImpl* This) {
...
@@ -5822,13 +5832,15 @@ static void device_reapply_stateblock(IWineD3DDeviceImpl* This) {
/* Temporaryily mark all render states dirty to force reapplication
/* Temporaryily mark all render states dirty to force reapplication
* until the context management for is integrated with the state management
* until the context management for is integrated with the state management
* The same for the pixel shader, sampler states and texture stage states are marked
* The same for the pixel shader, vertex declaration
* dirty my StateBlock::Apply already
* Sampler states and texture stage states are marked
* dirty my StateBlock::Apply already.
*/
*/
for
(
i
=
1
;
i
<
WINEHIGHEST_RENDER_STATE
;
i
++
)
{
for
(
i
=
1
;
i
<
WINEHIGHEST_RENDER_STATE
;
i
++
)
{
IWineD3DDeviceImpl_MarkStateDirty
(
This
,
STATE_RENDER
(
i
));
IWineD3DDeviceImpl_MarkStateDirty
(
This
,
STATE_RENDER
(
i
));
}
}
IWineD3DDeviceImpl_MarkStateDirty
(
This
,
STATE_PIXELSHADER
);
IWineD3DDeviceImpl_MarkStateDirty
(
This
,
STATE_PIXELSHADER
);
IWineD3DDeviceImpl_MarkStateDirty
(
This
,
STATE_VDECL
);
/* Restore recording */
/* Restore recording */
This
->
isRecordingState
=
oldRecording
;
This
->
isRecordingState
=
oldRecording
;
...
...
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