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
0e0b6131
Commit
0e0b6131
authored
Mar 17, 2014
by
Matteo Bruni
Committed by
Alexandre Julliard
Mar 18, 2014
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
d3dx9: Store pointers to referenced parameters for "usage 1" resources.
parent
aef52a1d
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
3 deletions
+18
-3
effect.c
dlls/d3dx9_36/effect.c
+18
-3
No files found.
dlls/d3dx9_36/effect.c
View file @
0e0b6131
...
...
@@ -118,6 +118,8 @@ struct d3dx_parameter
struct
d3dx_parameter
*
annotations
;
struct
d3dx_parameter
*
members
;
struct
d3dx_parameter
*
referenced_param
;
};
struct
d3dx_object
...
...
@@ -5070,11 +5072,11 @@ static HRESULT d3dx9_parse_resource(struct d3dx9_base_effect *base, const char *
TRACE
(
"Using object id %u.
\n
"
,
param
->
object_id
);
object
=
&
base
->
objects
[
param
->
object_id
];
TRACE
(
"Usage %u: class %s, type %s.
\n
"
,
usage
,
debug_d3dxparameter_class
(
param
->
class
),
debug_d3dxparameter_type
(
param
->
type
));
switch
(
usage
)
{
case
0
:
TRACE
(
"usage 0: class %s type %s.
\n
"
,
debug_d3dxparameter_class
(
param
->
class
),
debug_d3dxparameter_type
(
param
->
type
));
switch
(
param
->
type
)
{
case
D3DXPT_VERTEXSHADER
:
...
...
@@ -5103,7 +5105,20 @@ static HRESULT d3dx9_parse_resource(struct d3dx9_base_effect *base, const char *
case
1
:
state
->
type
=
ST_PARAMETER
;
hr
=
d3dx9_copy_data
(
&
base
->
objects
[
param
->
object_id
],
ptr
);
if
(
FAILED
(
hr
=
d3dx9_copy_data
(
&
base
->
objects
[
param
->
object_id
],
ptr
)))
return
hr
;
TRACE
(
"Looking for parameter %s.
\n
"
,
debugstr_a
(
object
->
data
));
param
->
referenced_param
=
get_parameter_by_name
(
base
,
NULL
,
object
->
data
);
if
(
param
->
referenced_param
)
{
TRACE
(
"Mapping to parameter %p.
\n
"
,
param
->
referenced_param
);
}
else
{
FIXME
(
"Referenced parameter %s not found.
\n
"
,
(
char
*
)
object
->
data
);
return
D3DXERR_INVALIDDATA
;
}
break
;
default:
...
...
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