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
85aa8ab8
Commit
85aa8ab8
authored
Jul 07, 2006
by
Ivan Gyurdiev
Committed by
Alexandre Julliard
Jul 07, 2006
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wined3d: Add position_transformed flag to Strided data format.
parent
fc2611d4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
46 additions
and
65 deletions
+46
-65
device.c
dlls/ddraw/device.c
+3
-1
drawprim.c
dlls/wined3d/drawprim.c
+38
-58
vertexbuffer.c
dlls/wined3d/vertexbuffer.c
+4
-5
wined3d_private.h
dlls/wined3d/wined3d_private.h
+0
-1
wined3d_types.h
include/wine/wined3d_types.h
+1
-0
No files found.
dlls/ddraw/device.c
View file @
85aa8ab8
...
...
@@ -3076,7 +3076,9 @@ IDirect3DDeviceImpl_7_DrawPrimitiveStrided(IDirect3DDevice7 *iface,
if
(
VertexType
&
D3DFVF_XYZRHW
)
{
WineD3DStrided
.
u
.
s
.
position
.
dwType
=
WINED3DDECLTYPE_FLOAT4
;
}
WineD3DStrided
.
u
.
s
.
position_transformed
=
TRUE
;
}
else
WineD3DStrided
.
u
.
s
.
position_transformed
=
FALSE
;
}
if
(
VertexType
&
D3DFVF_NORMAL
)
...
...
dlls/wined3d/drawprim.c
View file @
85aa8ab8
This diff is collapsed.
Click to expand it.
dlls/wined3d/vertexbuffer.c
View file @
85aa8ab8
...
...
@@ -117,7 +117,6 @@ static void WINAPI IWineD3DVertexBufferImpl_PreLoad(IWineD3DVertexBuffer *if
BOOL
useVertexShaderFunction
=
FALSE
,
fixup
=
FALSE
;
BYTE
*
data
;
UINT
i
;
DWORD
declFVF
;
/* Not interested */
UINT
start
=
0
,
end
=
0
,
stride
=
0
;
if
(
This
->
Flags
&
VBFLAG_DIRTY
)
{
...
...
@@ -173,7 +172,6 @@ static void WINAPI IWineD3DVertexBufferImpl_PreLoad(IWineD3DVertexBuffer *if
useVertexShaderFunction
,
&
strided
,
0
,
&
declFVF
,
&
fixup
);
This
->
Flags
&=
~
VBFLAG_LOAD
;
...
...
@@ -198,7 +196,7 @@ static void WINAPI IWineD3DVertexBufferImpl_PreLoad(IWineD3DVertexBuffer *if
}
/* If any data that needs conversion has changed we have to reload the whole buffer */
if
(
(
(
This
->
strided
.
u
.
s
.
position
.
dwType
!=
WINED3DDECLTYPE_FLOAT4
||
strided
.
u
.
s
.
position
.
dwType
!=
WINED3DDECLTYPE_FLOAT4
)
&&
if
(
(
(
This
->
strided
.
u
.
s
.
position
_transformed
||
strided
.
u
.
s
.
position_transformed
)
&&
This
->
strided
.
u
.
s
.
position
.
lpData
!=
strided
.
u
.
s
.
position
.
lpData
)
||
!
(
This
->
strided
.
u
.
s
.
diffuse
.
lpData
==
strided
.
u
.
s
.
diffuse
.
lpData
||
strided
.
u
.
s
.
diffuse
.
VBO
!=
This
->
vbo
)
||
!
(
This
->
strided
.
u
.
s
.
specular
.
lpData
==
strided
.
u
.
s
.
specular
.
lpData
||
strided
.
u
.
s
.
specular
.
VBO
!=
This
->
vbo
)
)
{
...
...
@@ -240,8 +238,9 @@ static void WINAPI IWineD3DVertexBufferImpl_PreLoad(IWineD3DVertexBuffer *if
memcpy
(
data
,
This
->
resource
.
allocatedMemory
+
start
,
end
-
start
);
for
(
i
=
0
;
i
<
(
end
-
start
)
/
stride
;
i
++
)
{
if
(
strided
.
u
.
s
.
position
.
dwType
==
WINED3DDECLTYPE_FLOAT4
)
{
float
*
p
=
(
float
*
)
(((
int
)
This
->
resource
.
allocatedMemory
+
(
int
)
strided
.
u
.
s
.
position
.
lpData
)
+
start
+
i
*
stride
);
if
(
strided
.
u
.
s
.
position_transformed
)
{
float
*
p
=
(
float
*
)
(((
int
)
This
->
resource
.
allocatedMemory
+
(
int
)
strided
.
u
.
s
.
position
.
lpData
)
+
start
+
i
*
stride
);
float
x
,
y
,
z
,
w
;
/* rhw conversion like in drawStridedSlow */
...
...
dlls/wined3d/wined3d_private.h
View file @
85aa8ab8
...
...
@@ -366,7 +366,6 @@ void primitiveDeclarationConvertToStridedData(
BOOL
useVertexShaderFunction
,
WineDirect3DVertexStridedData
*
strided
,
LONG
BaseVertexIndex
,
DWORD
*
fvf
,
BOOL
*
fixup
);
void
primitiveConvertFVFtoOffset
(
DWORD
thisFVF
,
...
...
include/wine/wined3d_types.h
View file @
85aa8ab8
...
...
@@ -905,6 +905,7 @@ typedef struct WineDirect3DVertexStridedData {
union
{
struct
{
WineDirect3DStridedData
position
;
BOOL
position_transformed
;
WineDirect3DStridedData
blendWeights
;
WineDirect3DStridedData
blendMatrixIndices
;
WineDirect3DStridedData
normal
;
...
...
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