DXGL r601 - Code Review
For
DXGL
(
recent comments
|
status changes
|
tags
|
authors
|
states
|
release notes
|
statistics
)
Jump to navigation
Jump to search
Repository:
DXGL
Revision:
<
r600
|
r601
|
r602
>
Date:
16:18, 8 March 2015
Author:
admin
Status:
new
Tags:
Comment:
Sync when queue gets full.
Fix depth fills.
Modified paths:
/ddraw/glRenderer.cpp
(modified) (
history
)
/dxglcfg2
(modified) (
history
)
Diff
[
purge
]
Index: dxglcfg2
Property changes on: dxglcfg2
___________________________________________________________________
Modified: svn:ignore
## -1,3 +1,4 ##
1
1
dxglcfg2.vcxproj.user
2
2
Release
3
3
Debug
4
+Debug no DXGL
Index: ddraw/glRenderer.cpp
—
—
@@ -128,7 +128,7 @@
129
129
}
130
130
if (This->queuesize - This->queue_write < size)
131
131
{
132
- if (This->queue_read < size)
132
+/* if (This->queue_read < size)
133
133
{
134
134
if (mode == 1)
135
135
{
—
—
@@ -143,7 +143,10 @@
144
144
LeaveCriticalSection(&This->queuecs);
145
145
glRenderer_Sync(This, size);
146
146
EnterCriticalSection(&This->queuecs);
147
- }
147
+ }*/
148
+ LeaveCriticalSection(&This->queuecs);
149
+ glRenderer_Sync(This, 0);
150
+ EnterCriticalSection(&This->queuecs);
148
151
}
149
152
if (This->queue_write < This->queue_read)
150
153
{
—
—
@@ -817,7 +820,7 @@
818
821
RECT emptyrect = nullrect;
819
822
if (!lpDestRect) lpDestRect = &emptyrect;
820
823
glRenderer_AddQueue(This, OP_DEPTHFILL, 0, 6 + (sizeof(RECT) / 4) + (sizeof(DDBLTFX) / 4),
821
- 3, 4, dest, sizeof(RECT), lpDestRect, sizeof(DDBLTFX), lpDDBltFx);
824
+ 3, 4, &dest, sizeof(RECT), lpDestRect, sizeof(DDBLTFX), lpDDBltFx);
822
825
LeaveCriticalSection(&This->commandcs);
823
826
}
824
827
—
—
@@ -1100,11 +1103,11 @@
1101
1104
glRenderer__UpdateClipper(This, (glDirectDrawSurface7*)This->queue[This->queue_read + 3]);
1102
1105
break;
1103
1106
case OP_DEPTHFILL:
1104
- if (This->queue[This->queue_read + 1] != (4 + (sizeof(RECT) / 4) + (sizeof(DDBLTFX) / 4))) break;
1107
+ if (This->queue[This->queue_read + 1] != (6 + (sizeof(RECT) / 4) + (sizeof(DDBLTFX) / 4))) break;
1105
1108
r1 = (RECT*)&This->queue[This->queue_read + 5];
1106
1109
if (!memcmp(r1, &nullrect, sizeof(RECT))) r1 = NULL;
1107
1110
glRenderer__DepthFill(This, r1, (glDirectDrawSurface7*)This->queue[This->queue_read + 3],
1108
- (LPDDBLTFX)&This->queue[This->queue_read + 4 + sizeof(RECT)]);
1111
+ (LPDDBLTFX)&This->queue[This->queue_read + 6 + (sizeof(RECT) / 4)]);
1109
1112
break;
1110
1113
case OP_SETRENDERSTATE:
1111
1114
if (This->queue[This->queue_read + 1] != 6) break;
Navigation menu
Personal tools
Log in
Namespaces
Special page
English
expanded
collapsed
Views
More
expanded
collapsed
Search
Navigation
Home
Main page
Recent changes
Random page
MediaWiki help
Introduction
Progress
Downloads
Source code
Build from source
AppDB
Bug reports
Forums
Tools
Special pages
Printable version