Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
wine
Manage
Activity
Members
Labels
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Package Registry
Container Registry
Model registry
Operate
Terraform modules
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Zsolt Vadász
wine
Commits
de4e8cf0
Commit
de4e8cf0
authored
15 years ago
by
Henri Verbeet
Committed by
Alexandre Julliard
15 years ago
Browse files
Options
Downloads
Patches
Plain Diff
wined3d: Avoid a forward declaration.
parent
e4433558
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
dlls/wined3d/wined3d_private.h
+73
-71
73 additions, 71 deletions
dlls/wined3d/wined3d_private.h
with
73 additions
and
71 deletions
dlls/wined3d/wined3d_private.h
+
73
−
71
View file @
de4e8cf0
...
...
@@ -295,7 +295,20 @@ typedef struct wined3d_settings_s {
extern
wined3d_settings_t
wined3d_settings
;
/* Shader backends */
struct
SHADER_OPCODE_ARG
;
/* TODO: Make this dynamic, based on shader limits ? */
#define MAX_ATTRIBS 16
#define MAX_REG_ADDR 1
#define MAX_REG_TEMP 32
#define MAX_REG_TEXCRD 8
#define MAX_REG_INPUT 12
#define MAX_REG_OUTPUT 12
#define MAX_CONST_I 16
#define MAX_CONST_B 16
/* FIXME: This needs to go up to 2048 for
* Shader model 3 according to msdn (and for software shaders) */
#define MAX_LABELS 16
#define SHADER_PGMSIZE 65535
typedef
struct
SHADER_BUFFER
{
...
...
@@ -393,6 +406,65 @@ enum WINED3D_SHADER_INSTRUCTION_HANDLER
WINED3DSIH_TABLE_SIZE
};
typedef
struct
semantic
{
DWORD
usage
;
DWORD
reg
;
}
semantic
;
typedef
struct
shader_reg_maps
{
DWORD
shader_version
;
char
texcoord
[
MAX_REG_TEXCRD
];
/* pixel < 3.0 */
char
temporary
[
MAX_REG_TEMP
];
/* pixel, vertex */
char
address
[
MAX_REG_ADDR
];
/* vertex */
char
packed_input
[
MAX_REG_INPUT
];
/* pshader >= 3.0 */
char
packed_output
[
MAX_REG_OUTPUT
];
/* vertex >= 3.0 */
char
attributes
[
MAX_ATTRIBS
];
/* vertex */
char
labels
[
MAX_LABELS
];
/* pixel, vertex */
DWORD
texcoord_mask
[
MAX_REG_TEXCRD
];
/* vertex < 3.0 */
/* Sampler usage tokens
* Use 0 as default (bit 31 is always 1 on a valid token) */
DWORD
samplers
[
max
(
MAX_FRAGMENT_SAMPLERS
,
MAX_VERTEX_SAMPLERS
)];
BOOL
bumpmat
[
MAX_TEXTURES
],
luminanceparams
[
MAX_TEXTURES
];
char
usesnrm
,
vpos
,
usesdsy
;
char
usesrelconstF
;
/* Whether or not loops are used in this shader, and nesting depth */
unsigned
loop_depth
;
/* Whether or not this shader uses fog */
char
fog
;
}
shader_reg_maps
;
typedef
struct
SHADER_OPCODE
{
unsigned
int
opcode
;
const
char
*
name
;
char
dst_token
;
CONST
UINT
num_params
;
enum
WINED3D_SHADER_INSTRUCTION_HANDLER
handler_idx
;
DWORD
min_version
;
DWORD
max_version
;
}
SHADER_OPCODE
;
typedef
struct
SHADER_OPCODE_ARG
{
IWineD3DBaseShader
*
shader
;
const
shader_reg_maps
*
reg_maps
;
CONST
SHADER_OPCODE
*
opcode
;
DWORD
flags
;
BOOL
coissue
;
DWORD
dst
;
DWORD
dst_addr
;
DWORD
predicate
;
DWORD
src
[
4
];
DWORD
src_addr
[
4
];
SHADER_BUFFER
*
buffer
;
}
SHADER_OPCODE_ARG
;
typedef
void
(
*
SHADER_HANDLER
)(
const
struct
SHADER_OPCODE_ARG
*
);
struct
shader_caps
{
...
...
@@ -457,8 +529,6 @@ struct ps_compile_args {
in D3D10 (unconditional NP2 support mandatory). */
};
#define MAX_ATTRIBS 16
enum
fog_src_type
{
VS_FOG_Z
=
0
,
VS_FOG_COORD
=
1
...
...
@@ -2166,56 +2236,12 @@ BOOL getDepthStencilBits(const struct GlPixelFormatDesc *format_desc, short *dep
void
multiply_matrix
(
WINED3DMATRIX
*
dest
,
const
WINED3DMATRIX
*
src1
,
const
WINED3DMATRIX
*
src2
);
UINT
wined3d_log2i
(
UINT32
x
);
/* TODO: Make this dynamic, based on shader limits ? */
#define MAX_REG_ADDR 1
#define MAX_REG_TEMP 32
#define MAX_REG_TEXCRD 8
#define MAX_REG_INPUT 12
#define MAX_REG_OUTPUT 12
#define MAX_CONST_I 16
#define MAX_CONST_B 16
/* FIXME: This needs to go up to 2048 for
* Shader model 3 according to msdn (and for software shaders) */
#define MAX_LABELS 16
typedef
struct
semantic
{
DWORD
usage
;
DWORD
reg
;
}
semantic
;
typedef
struct
local_constant
{
struct
list
entry
;
unsigned
int
idx
;
DWORD
value
[
4
];
}
local_constant
;
typedef
struct
shader_reg_maps
{
DWORD
shader_version
;
char
texcoord
[
MAX_REG_TEXCRD
];
/* pixel < 3.0 */
char
temporary
[
MAX_REG_TEMP
];
/* pixel, vertex */
char
address
[
MAX_REG_ADDR
];
/* vertex */
char
packed_input
[
MAX_REG_INPUT
];
/* pshader >= 3.0 */
char
packed_output
[
MAX_REG_OUTPUT
];
/* vertex >= 3.0 */
char
attributes
[
MAX_ATTRIBS
];
/* vertex */
char
labels
[
MAX_LABELS
];
/* pixel, vertex */
DWORD
texcoord_mask
[
MAX_REG_TEXCRD
];
/* vertex < 3.0 */
/* Sampler usage tokens
* Use 0 as default (bit 31 is always 1 on a valid token) */
DWORD
samplers
[
max
(
MAX_FRAGMENT_SAMPLERS
,
MAX_VERTEX_SAMPLERS
)];
BOOL
bumpmat
[
MAX_TEXTURES
],
luminanceparams
[
MAX_TEXTURES
];
char
usesnrm
,
vpos
,
usesdsy
;
char
usesrelconstF
;
/* Whether or not loops are used in this shader, and nesting depth */
unsigned
loop_depth
;
/* Whether or not this shader uses fog */
char
fog
;
}
shader_reg_maps
;
/* Undocumented opcode controls */
#define INST_CONTROLS_SHIFT 16
#define INST_CONTROLS_MASK 0x00ff0000
...
...
@@ -2229,30 +2255,6 @@ typedef enum COMPARISON_TYPE {
COMPARISON_LE
=
6
}
COMPARISON_TYPE
;
typedef
struct
SHADER_OPCODE
{
unsigned
int
opcode
;
const
char
*
name
;
char
dst_token
;
CONST
UINT
num_params
;
enum
WINED3D_SHADER_INSTRUCTION_HANDLER
handler_idx
;
DWORD
min_version
;
DWORD
max_version
;
}
SHADER_OPCODE
;
typedef
struct
SHADER_OPCODE_ARG
{
IWineD3DBaseShader
*
shader
;
const
shader_reg_maps
*
reg_maps
;
CONST
SHADER_OPCODE
*
opcode
;
DWORD
flags
;
BOOL
coissue
;
DWORD
dst
;
DWORD
dst_addr
;
DWORD
predicate
;
DWORD
src
[
4
];
DWORD
src_addr
[
4
];
SHADER_BUFFER
*
buffer
;
}
SHADER_OPCODE_ARG
;
typedef
struct
SHADER_LIMITS
{
unsigned
int
temporary
;
unsigned
int
texcoord
;
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment