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
16cf4141
Commit
16cf4141
authored
Jan 15, 2007
by
H. Verbeet
Committed by
Alexandre Julliard
Jan 16, 2007
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wined3d: Return the (binary) write mask from shader_glsl_add_dst_param().
parent
9f4f02b5
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
4 deletions
+10
-4
glsl_shader.c
dlls/wined3d/glsl_shader.c
+10
-4
No files found.
dlls/wined3d/glsl_shader.c
View file @
16cf4141
...
@@ -721,10 +721,11 @@ static void shader_glsl_get_register_name(
...
@@ -721,10 +721,11 @@ static void shader_glsl_get_register_name(
}
}
/* Get the GLSL write mask for the destination register */
/* Get the GLSL write mask for the destination register */
static
void
shader_glsl_get_write_mask
(
const
DWORD
param
,
char
*
write_mask
)
{
static
DWORD
shader_glsl_get_write_mask
(
const
DWORD
param
,
char
*
write_mask
)
{
char
*
ptr
=
write_mask
;
char
*
ptr
=
write_mask
;
DWORD
mask
=
param
&
WINED3DSP_WRITEMASK_ALL
;
if
(
(
param
&
WINED3DSP_WRITEMASK_ALL
)
!=
WINED3DSP_WRITEMASK_ALL
)
{
if
(
mask
!=
WINED3DSP_WRITEMASK_ALL
)
{
*
ptr
++
=
'.'
;
*
ptr
++
=
'.'
;
if
(
param
&
WINED3DSP_WRITEMASK_0
)
*
ptr
++
=
'x'
;
if
(
param
&
WINED3DSP_WRITEMASK_0
)
*
ptr
++
=
'x'
;
if
(
param
&
WINED3DSP_WRITEMASK_1
)
*
ptr
++
=
'y'
;
if
(
param
&
WINED3DSP_WRITEMASK_1
)
*
ptr
++
=
'y'
;
...
@@ -733,6 +734,8 @@ static void shader_glsl_get_write_mask(const DWORD param, char *write_mask) {
...
@@ -733,6 +734,8 @@ static void shader_glsl_get_write_mask(const DWORD param, char *write_mask) {
}
}
*
ptr
=
'\0'
;
*
ptr
=
'\0'
;
return
mask
;
}
}
static
void
shader_glsl_get_swizzle
(
const
DWORD
param
,
BOOL
fixup
,
char
*
swizzle_str
)
{
static
void
shader_glsl_get_swizzle
(
const
DWORD
param
,
BOOL
fixup
,
char
*
swizzle_str
)
{
...
@@ -783,15 +786,18 @@ static void shader_glsl_add_src_param(SHADER_OPCODE_ARG* arg, const DWORD param,
...
@@ -783,15 +786,18 @@ static void shader_glsl_add_src_param(SHADER_OPCODE_ARG* arg, const DWORD param,
/* From a given parameter token, generate the corresponding GLSL string.
/* From a given parameter token, generate the corresponding GLSL string.
* Also, return the actual register name and swizzle in case the
* Also, return the actual register name and swizzle in case the
* caller needs this information as well. */
* caller needs this information as well. */
static
void
shader_glsl_add_dst_param
(
SHADER_OPCODE_ARG
*
arg
,
const
DWORD
param
,
static
DWORD
shader_glsl_add_dst_param
(
SHADER_OPCODE_ARG
*
arg
,
const
DWORD
param
,
const
DWORD
addr_token
,
char
*
reg_name
,
char
*
write_mask
,
char
*
out_str
)
{
const
DWORD
addr_token
,
char
*
reg_name
,
char
*
write_mask
,
char
*
out_str
)
{
BOOL
is_color
=
FALSE
;
BOOL
is_color
=
FALSE
;
DWORD
mask
;
write_mask
[
0
]
=
reg_name
[
0
]
=
out_str
[
0
]
=
0
;
write_mask
[
0
]
=
reg_name
[
0
]
=
out_str
[
0
]
=
0
;
shader_glsl_get_register_name
(
param
,
addr_token
,
reg_name
,
&
is_color
,
arg
);
shader_glsl_get_register_name
(
param
,
addr_token
,
reg_name
,
&
is_color
,
arg
);
shader_glsl_get_write_mask
(
param
,
write_mask
);
mask
=
shader_glsl_get_write_mask
(
param
,
write_mask
);
sprintf
(
out_str
,
"%s%s"
,
reg_name
,
write_mask
);
sprintf
(
out_str
,
"%s%s"
,
reg_name
,
write_mask
);
return
mask
;
}
}
/** Process GLSL instruction modifiers */
/** Process GLSL instruction modifiers */
...
...
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