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
294f1b4a
Commit
294f1b4a
authored
Jul 11, 2008
by
Stefan Dösinger
Committed by
Alexandre Julliard
Jul 28, 2008
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wined3d: Add fog and tex types to the ffp fragment description.
parent
40cfec25
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
20 additions
and
9 deletions
+20
-9
ati_fragment_shader.c
dlls/wined3d/ati_fragment_shader.c
+6
-6
utils.c
dlls/wined3d/utils.c
+0
-0
wined3d_private.h
dlls/wined3d/wined3d_private.h
+14
-3
No files found.
dlls/wined3d/ati_fragment_shader.c
View file @
294f1b4a
...
...
@@ -780,13 +780,13 @@ static GLuint gen_ati_shader(struct texture_stage_op op[MAX_TEXTURES], WineD3D_G
static
void
set_tex_op_atifs
(
DWORD
state
,
IWineD3DStateBlockImpl
*
stateblock
,
WineD3DContext
*
context
)
{
IWineD3DDeviceImpl
*
This
=
stateblock
->
wineD3DDevice
;
struct
atifs_ffp_desc
*
desc
;
struct
texture_stage_op
op
[
MAX_TEXTURES
]
;
struct
ffp_settings
settings
;
struct
atifs_private_data
*
priv
=
(
struct
atifs_private_data
*
)
This
->
fragment_priv
;
DWORD
mapped_stage
;
unsigned
int
i
;
gen_ffp_op
(
stateblock
,
op
);
desc
=
(
struct
atifs_ffp_desc
*
)
find_ffp_shader
(
&
priv
->
fragment_shaders
,
op
);
gen_ffp_op
(
stateblock
,
&
settings
,
TRUE
);
desc
=
(
struct
atifs_ffp_desc
*
)
find_ffp_shader
(
&
priv
->
fragment_shaders
,
&
settings
);
if
(
!
desc
)
{
desc
=
HeapAlloc
(
GetProcessHeap
(),
0
,
sizeof
(
*
desc
));
if
(
!
desc
)
{
...
...
@@ -795,12 +795,12 @@ static void set_tex_op_atifs(DWORD state, IWineD3DStateBlockImpl *stateblock, Wi
}
desc
->
num_textures_used
=
0
;
for
(
i
=
0
;
i
<
GL_LIMITS
(
texture_stages
);
i
++
)
{
if
(
op
[
i
].
cop
==
WINED3DTOP_DISABLE
)
break
;
if
(
settings
.
op
[
i
].
cop
==
WINED3DTOP_DISABLE
)
break
;
desc
->
num_textures_used
=
i
;
}
memcpy
(
desc
->
parent
.
op
,
op
,
sizeof
(
op
));
desc
->
shader
=
gen_ati_shader
(
op
,
&
GLINFO_LOCATION
);
memcpy
(
&
desc
->
parent
.
settings
,
&
settings
,
sizeof
(
settings
));
desc
->
shader
=
gen_ati_shader
(
settings
.
op
,
&
GLINFO_LOCATION
);
add_ffp_shader
(
&
priv
->
fragment_shaders
,
&
desc
->
parent
);
TRACE
(
"Allocated fixed function replacement shader descriptor %p
\n
"
,
desc
);
}
...
...
dlls/wined3d/utils.c
View file @
294f1b4a
This diff is collapsed.
Click to expand it.
dlls/wined3d/wined3d_private.h
View file @
294f1b4a
...
...
@@ -728,18 +728,29 @@ struct texture_stage_op
DWORD
carg1
,
carg2
,
carg0
;
DWORD
aarg1
,
aarg2
,
aarg0
;
WINED3DFORMAT
color_correction
;
DWORD
tex_type
;
DWORD
dst
;
enum
projection_types
projected
;
};
struct
ffp_settings
{
struct
texture_stage_op
op
[
MAX_TEXTURES
];
enum
{
FOG_OFF
,
FOG_LINEAR
,
FOG_EXP
,
FOG_EXP2
}
fog
;
};
struct
ffp_desc
{
struct
texture_stage_op
op
[
MAX_TEXTURES
]
;
struct
ffp_settings
settings
;
struct
list
entry
;
};
void
gen_ffp_op
(
IWineD3DStateBlockImpl
*
stateblock
,
struct
texture_stage_op
op
[
MAX_TEXTURES
]
);
struct
ffp_desc
*
find_ffp_shader
(
struct
list
*
shaders
,
struct
texture_stage_op
op
[
MAX_TEXTURES
]
);
void
gen_ffp_op
(
IWineD3DStateBlockImpl
*
stateblock
,
struct
ffp_settings
*
settings
,
BOOL
ignore_textype
);
struct
ffp_desc
*
find_ffp_shader
(
struct
list
*
shaders
,
struct
ffp_settings
*
settings
);
void
add_ffp_shader
(
struct
list
*
shaders
,
struct
ffp_desc
*
desc
);
/*****************************************************************************
...
...
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