Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
cbc86300
Commit
cbc86300
authored
Mar 10, 2009
by
Henri Verbeet
Committed by
Alexandre Julliard
Mar 10, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
d3d8: Make the shader handle table a bit more generic.
parent
954c3e22
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
14 additions
and
10 deletions
+14
-10
d3d8_private.h
dlls/d3d8/d3d8_private.h
+11
-8
device.c
dlls/d3d8/device.c
+0
-0
directx.c
dlls/d3d8/directx.c
+3
-2
No files found.
dlls/d3d8/d3d8_private.h
View file @
cbc86300
...
...
@@ -35,9 +35,6 @@
#include "d3d8.h"
#include "wine/wined3d.h"
/* Device caps */
#define INITIAL_SHADER_HANDLE_TABLE_SIZE 64
/* CreateVertexShader can return > 0xFFFF */
#define VS_HIGHESTFIXEDFXF 0xF0000000
...
...
@@ -166,7 +163,16 @@ extern const IWineD3DDeviceParentVtbl d3d8_wined3d_device_parent_vtbl;
* IDirect3DDevice8 implementation structure
*/
typedef
void
*
shader_handle
;
#define D3D8_INITIAL_HANDLE_TABLE_SIZE 64
#define D3D8_INVALID_HANDLE ~0U
struct
d3d8_handle_table
{
void
**
entries
;
void
**
free_entries
;
UINT
table_size
;
UINT
entry_count
;
};
struct
FvfToDecl
{
...
...
@@ -182,10 +188,7 @@ struct IDirect3DDevice8Impl
LONG
ref
;
/* But what about baseVertexIndex in state blocks? hmm... it may be a better idea to pass this to wined3d */
IWineD3DDevice
*
WineD3DDevice
;
DWORD
shader_handle_table_size
;
DWORD
allocated_shader_handles
;
shader_handle
*
shader_handles
;
shader_handle
*
free_shader_handles
;
struct
d3d8_handle_table
handle_table
;
/* FVF management */
struct
FvfToDecl
*
decls
;
...
...
dlls/d3d8/device.c
View file @
cbc86300
This diff is collapsed.
Click to expand it.
dlls/d3d8/directx.c
View file @
cbc86300
...
...
@@ -323,8 +323,9 @@ static HRESULT WINAPI IDirect3D8Impl_CreateDevice(LPDIRECT3D8 iface, UINT Adapte
object
->
lpVtbl
=
&
Direct3DDevice8_Vtbl
;
object
->
device_parent_vtbl
=
&
d3d8_wined3d_device_parent_vtbl
;
object
->
ref
=
1
;
object
->
shader_handles
=
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
INITIAL_SHADER_HANDLE_TABLE_SIZE
*
sizeof
(
shader_handle
));
object
->
shader_handle_table_size
=
INITIAL_SHADER_HANDLE_TABLE_SIZE
;
object
->
handle_table
.
entries
=
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
D3D8_INITIAL_HANDLE_TABLE_SIZE
*
sizeof
(
*
object
->
handle_table
.
entries
));
object
->
handle_table
.
table_size
=
D3D8_INITIAL_HANDLE_TABLE_SIZE
;
*
ppReturnedDeviceInterface
=
(
IDirect3DDevice8
*
)
object
;
/* Allocate an associated WineD3DDevice object */
...
...
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