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
08e8f284
Commit
08e8f284
authored
Dec 01, 2022
by
Nikolay Sivov
Committed by
Alexandre Julliard
Dec 03, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
d3d10/effect: Add 'ftob' instruction support for expressions.
Signed-off-by:
Nikolay Sivov
<
nsivov@codeweavers.com
>
parent
7448ecae
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
155 additions
and
86 deletions
+155
-86
effect.c
dlls/d3d10/effect.c
+18
-2
effect.c
dlls/d3d10/tests/effect.c
+137
-84
No files found.
dlls/d3d10/effect.c
View file @
08e8f284
...
...
@@ -246,6 +246,18 @@ static void pres_ftou(float **args, unsigned int n, const struct preshader_instr
}
}
static
void
pres_ftob
(
float
**
args
,
unsigned
int
n
,
const
struct
preshader_instr
*
instr
)
{
float
*
retval
=
args
[
1
];
unsigned
int
i
;
for
(
i
=
0
;
i
<
instr
->
comp_count
;
++
i
)
{
unsigned
int
u
=
args
[
0
][
i
]
==
0
.
0
f
?
0
:
~
0u
;
retval
[
i
]
=
*
(
float
*
)
&
u
;
}
}
static
void
pres_min
(
float
**
args
,
unsigned
int
n
,
const
struct
preshader_instr
*
instr
)
{
float
*
retval
=
args
[
2
];
...
...
@@ -295,6 +307,7 @@ static const struct preshader_op_info preshader_ops[] =
{
0x108
,
"sin"
,
pres_sin
},
{
0x109
,
"cos"
,
pres_cos
},
{
0x133
,
"ftou"
,
pres_ftou
},
{
0x137
,
"ftob"
,
pres_ftob
},
{
0x200
,
"min"
,
pres_min
},
{
0x201
,
"max"
,
pres_max
},
{
0x204
,
"add"
,
pres_add
},
...
...
@@ -867,8 +880,9 @@ static void d3d10_effect_update_dependent_props(struct d3d10_effect_prop_depende
case
D3D10_EOO_VALUE_EXPRESSION
:
if
((
property_info
->
container_type
!=
D3D10_C_PASS
)
||
((
property_info
->
type
!=
D3D10_SVT_UINT
)
&&
(
property_info
->
type
!=
D3D10_SVT_FLOAT
)))
if
((
property_info
->
type
!=
D3D10_SVT_UINT
)
&&
(
property_info
->
type
!=
D3D10_SVT_FLOAT
)
&&
(
property_info
->
type
!=
D3D10_SVT_BOOL
))
{
FIXME
(
"Unimplemented for property %s.
\n
"
,
property_info
->
name
);
return
;
...
...
@@ -8864,6 +8878,8 @@ static HRESULT STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_GetBackingS
if
(
!
(
v
=
d3d10_get_state_variable
(
v
,
index
,
&
v
->
effect
->
ds_states
)))
return
E_FAIL
;
d3d10_effect_update_dependent_props
(
&
v
->
u
.
state
.
dependencies
,
&
v
->
u
.
state
.
desc
);
*
desc
=
v
->
u
.
state
.
desc
.
depth_stencil
;
return
S_OK
;
...
...
dlls/d3d10/tests/effect.c
View file @
08e8f284
...
...
@@ -22,6 +22,7 @@
#include "wine/test.h"
#include <float.h>
#include <math.h>
#define D3DERR_INVALIDCALL 0x8876086c
...
...
@@ -8138,6 +8139,12 @@ static void test_effect_index_expression(void)
#if 0
float4 g_var;
float4 g_var2;
DepthStencilState ds_state
{
StencilEnable = g_var.x;
};
technique10 tech
{
pass p0
...
...
@@ -8164,99 +8171,111 @@ technique10 tech
#endif
static
DWORD
fx_test_value_expression
[]
=
{
0x43425844
,
0x
1cd6bc1c
,
0x8025a693
,
0x09d5d4d0
,
0xc0da1b6c
,
0x00000001
,
0x00000ae5
,
0x00000001
,
0x00000024
,
0x30315846
,
0x00000
ab9
,
0xfeff1001
,
0x00000001
,
0x00000002
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000001
,
0x00000
8e5
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x43425844
,
0x
f580dcc6
,
0xa9d229ae
,
0x14b1f1d5
,
0x3c8c456c
,
0x00000001
,
0x00000c34
,
0x00000001
,
0x00000024
,
0x30315846
,
0x00000
c08
,
0xfeff1001
,
0x00000001
,
0x00000002
,
0x00000001
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000001
,
0x00000
a0c
,
0x00000000
,
0x00000000
,
0x00000001
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x6f6c4724
,
0x736c6162
,
0x6f6c6600
,
0x00347461
,
0x0000000d
,
0x00000001
,
0x00000000
,
0x00000010
,
0x00000010
,
0x00000010
,
0x0000210a
,
0x61765f67
,
0x5f670072
,
0x32726176
,
0x63657400
,
0x30700068
,
0x00024400
,
0x42584400
,
0xff104243
,
0xa078c06f
,
0xb9d7d003
,
0x421eb8c7
,
0x0000014c
,
0x00024400
,
0x00000300
,
0x00002c00
,
0x0000d400
,
0x0000f000
,
0x41544300
,
0x0000a042
,
0x00001c00
,
0x00007700
,
0x58040000
,
0x00000246
,
0x00001c00
,
0x00010000
,
0x00007400
,
0x00004400
,
0x00000200
,
0x00000100
,
0x00004c00
,
0x00000000
,
0x00005c00
,
0x01000200
,
0x00000100
,
0x00006400
,
0x00000000
,
0x765f6700
,
0xab007261
,
0x030001ab
,
0x04000100
,
0x00000100
,
0x00000000
,
0x765f6700
,
0x00327261
,
0x030001ab
,
0x04000100
,
0x00000100
,
0x00000000
,
0x00787400
,
0x7263694d
,
0x666f736f
,
0x52282074
,
0x4c482029
,
0x53204c53
,
0x65646168
,
0x6f432072
,
0x6c69706d
,
0x31207265
,
0x00312e30
,
0x494c43ab
,
0x00001434
,
0x00000400
,
0xcccccd00
,
0x0666663d
,
0x00000040
,
0x00000000
,
0x4c584600
,
0x00014c43
,
0x00000800
,
0x10000400
,
0x00000110
,
0x00000000
,
0x00000200
,
0x00000000
,
0x00000000
,
0x00000700
,
0x00000000
,
0x80000100
,
0x00000110
,
0x00000000
,
0x00000200
,
0x00000000
,
0x00000000
,
0x00000700
,
0x00000400
,
0x40000400
,
0x000002a0
,
0x00000000
,
0x00000700
,
0x00000400
,
0x00000000
,
0x00000700
,
0x00000000
,
0x00000000
,
0x00000700
,
0x00000800
,
0x90000100
,
0x00000110
,
0x00000000
,
0x00000200
,
0x00000100
,
0x00000000
,
0x00000700
,
0x00000000
,
0x40000400
,
0x000002a0
,
0x00000000
,
0x00000700
,
0x00000000
,
0x00000000
,
0x00000700
,
0x00000800
,
0x00000000
,
0x00000700
,
0x00000400
,
0x40000400
,
0x000002a0
,
0x00000000
,
0x00000100
,
0x00000000
,
0x00000000
,
0x00000700
,
0x00000400
,
0x00000000
,
0x00000700
,
0x00000000
,
0x50000400
,
0x000002a0
,
0x00000000
,
0x00000100
,
0x00000100
,
0x00000000
,
0x00000200
,
0x00000400
,
0x00000000
,
0x00000700
,
0x00000400
,
0x40000400
,
0x00000220
,
0x00000000
,
0x00000700
,
0x00000000
,
0x00000000
,
0x00000700
,
0x00000400
,
0x00000000
,
0x00000400
,
0x00000000
,
0xf0f0f000
,
0x0f0f0ff0
,
0x00ffff0f
,
0x00000100
,
0x00000200
,
0x00000000
,
0x00000100
,
0x00000200
,
0x00000000
,
0x00317000
,
0x00000150
,
0x43425844
,
0xc6a29e4c
,
0x6292ed35
,
0xd90bb8cb
,
0x50dcd25f
,
0x00000001
,
0x00000150
,
0x00000003
,
0x0000002c
,
0x000000d4
,
0x000000e0
,
0x42415443
,
0x000000a0
,
0x0000001c
,
0x00000077
,
0x46580400
,
0x00000002
,
0x0000001c
,
0x00000100
,
0x00000074
,
0x00000044
,
0x00000002
,
0x00000001
,
0x0000004c
,
0x00000000
,
0x0000005c
,
0x00010002
,
0x00000001
,
0x00000064
,
0x00000000
,
0x61765f67
,
0xabab0072
,
0x00030001
,
0x00040001
,
0x00000001
,
0x00000000
,
0x61765f67
,
0xab003272
,
0x00030001
,
0x00000010
,
0x0000210a
,
0x61765f67
,
0x5f670072
,
0x32726176
,
0x70654400
,
0x74536874
,
0x69636e65
,
0x6174536c
,
0x3d006574
,
0x02000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x03000000
,
0x64000000
,
0x74735f73
,
0x00657461
,
0x000000ec
,
0x43425844
,
0x79125440
,
0x90f05fca
,
0xfe55a99c
,
0x45e16165
,
0x00000001
,
0x000000ec
,
0x00000003
,
0x0000002c
,
0x000000a8
,
0x000000b4
,
0x42415443
,
0x00000074
,
0x0000001c
,
0x0000004b
,
0x46580400
,
0x00000001
,
0x0000001c
,
0x00000100
,
0x00000048
,
0x00000030
,
0x00000002
,
0x00000001
,
0x00000038
,
0x00000000
,
0x61765f67
,
0xabab0072
,
0x00030001
,
0x00040001
,
0x00000001
,
0x00000000
,
0x4d007874
,
0x6f726369
,
0x74666f73
,
0x29522820
,
0x534c4820
,
0x6853204c
,
0x72656461
,
0x6d6f4320
,
0x656c6970
,
0x30312072
,
0xab00312e
,
0x34494c43
,
0x00000004
,
0x00000000
,
0x434c5846
,
0x00000068
,
0x00000002
,
0xa0400004
,
0x00000002
,
0x00000000
,
0x00000002
,
0x00000000
,
0x00000000
,
0x00000002
,
0x00000004
,
0x00000000
,
0x00000007
,
0x00000000
,
0xa0400004
,
0x00000002
,
0x00000000
,
0x00000002
,
0x00000001
,
0x00000000
,
0x00000007
,
0x00000000
,
0x00000000
,
0x00000004
,
0x00000000
,
0xf0f0f0f0
,
0x0f0f0f0f
,
0x0000ffff
,
0x00000001
,
0x00000002
,
0x00000000
,
0x00000001
,
0x00000002
,
0x00000000
,
0x2c003270
,
0x44000002
,
0x9e434258
,
0xfae994e0
,
0xb641b826
,
0x0bac8f3a
,
0x019d4eb7
,
0x2c000000
,
0x03000002
,
0x2c000000
,
0xd4000000
,
0xe0000000
,
0x43000000
,
0xa0424154
,
0x1c000000
,
0x77000000
,
0x00000000
,
0x02465804
,
0x1c000000
,
0x00000000
,
0x74000001
,
0x44000000
,
0x02000000
,
0x01000000
,
0x4c000000
,
0x00000000
,
0x5c000000
,
0x02000000
,
0x01000100
,
0x64000000
,
0x00000000
,
0x67000000
,
0x7261765f
,
0x01abab00
,
0x01000300
,
0x01000400
,
0x00000000
,
0x67000000
,
0x7261765f
,
0x01ab0032
,
0x01000300
,
0x01000400
,
0x00000000
,
0x74000000
,
0x694d0078
,
0x736f7263
,
0x2074666f
,
0x20295228
,
0x4c534c48
,
0x61685320
,
0x20726564
,
0x706d6f43
,
0x72656c69
,
0x2e303120
,
0x43ab0031
,
0x0434494c
,
0x00000000
,
0x46000000
,
0x44434c58
,
0x07000001
,
0x01000000
,
0x02200000
,
0x00000000
,
0x02000000
,
0x00000000
,
0x00000000
,
0x02000000
,
0x04000000
,
0x00000000
,
0x07000000
,
0x00000000
,
0x01000000
,
0x02201000
,
0x00000000
,
0x02000000
,
0x01000000
,
0x00000000
,
0x02000000
,
0x05000000
,
0x00000000
,
0x07000000
,
0x01000000
,
0x01000000
,
0x02204000
,
0x00000000
,
0x07000000
,
0x01000000
,
0x00000000
,
0x07000000
,
0x00000000
,
0x00000000
,
0x07000000
,
0x04000000
,
0x04000000
,
0x02200000
,
0x00000000
,
0x02000000
,
0x00000000
,
0x00000000
,
0x02000000
,
0x04000000
,
0x00000000
,
0x07000000
,
0x00000000
,
0x04000000
,
0x02a04000
,
0x00000000
,
0x07000000
,
0x04000000
,
0x00000000
,
0x07000000
,
0x00000000
,
0x00000000
,
0x07000000
,
0x08000000
,
0x04000000
,
0x02201000
,
0x00000000
,
0x02000000
,
0x00000000
,
0x00000000
,
0x02000000
,
0x04000000
,
0x00000000
,
0x07000000
,
0x00000000
,
0x04000000
,
0x02204000
,
0x00000000
,
0x07000000
,
0x00000000
,
0x00000000
,
0x07000000
,
0x08000000
,
0x00000000
,
0x04000000
,
0x00000000
,
0xf0000000
,
0x0ff0f0f0
,
0xff0f0f0f
,
0x010000ff
,
0x02000000
,
0x00000000
,
0x01000000
,
0x02000000
,
0x00000000
,
0x70000000
,
0x01240033
,
0x58440000
,
0xf4c54342
,
0x070658ce
,
0xcabd2023
,
0x24d22fca
,
0x00010f0c
,
0x01240000
,
0x00030000
,
0x002c0000
,
0x00d40000
,
0x00e00000
,
0x54430000
,
0x00a04241
,
0x001c0000
,
0x00770000
,
0x04000000
,
0x00024658
,
0x001c0000
,
0x01000000
,
0x00740000
,
0x00440000
,
0x00020000
,
0x00010000
,
0x004c0000
,
0x00000000
,
0x005c0000
,
0x00020000
,
0x00010001
,
0x00640000
,
0x00000000
,
0x5f670000
,
0x00726176
,
0x0001abab
,
0x00010003
,
0x00010004
,
0x00000000
,
0x5f670000
,
0x32726176
,
0x0001ab00
,
0x00010003
,
0x00010004
,
0x00000000
,
0x78740000
,
0x63694d00
,
0x6f736f72
,
0x28207466
,
0x48202952
,
0x204c534c
,
0x64616853
,
0x43207265
,
0x69706d6f
,
0x2072656c
,
0x312e3031
,
0x4c43ab00
,
0x00043449
,
0x00000000
,
0x58460000
,
0x003c434c
,
0x00010000
,
0x00040000
,
0x0002a000
,
0x00000000
,
0x00020000
,
0x00000000
,
0x00000000
,
0x00020000
,
0x00040000
,
0x00000000
,
0x00040000
,
0x00000000
,
0xf0f00000
,
0x0f0ff0f0
,
0xffff0f0f
,
0x00010000
,
0x00020000
,
0x00000000
,
0x00010000
,
0x00020000
,
0x00000000
,
0x34700000
,
0x00012400
,
0x42584400
,
0xc902bb43
,
0xafcba635
,
0xa383ff89
,
0xed53a9f6
,
0x000001f8
,
0x00012400
,
0x00000300
,
0x00002c00
,
0x0000d400
,
0x0000e000
,
0x41544300
,
0x0000a042
,
0x00001c00
,
0x00007700
,
0x58040000
,
0x00000246
,
0x00001c00
,
0x00010000
,
0x00007400
,
0x00004400
,
0x00000200
,
0x00000100
,
0x00004c00
,
0x00000000
,
0x00005c00
,
0x01000200
,
0x00000100
,
0x00006400
,
0x00000000
,
0x765f6700
,
0xab007261
,
0x030001ab
,
0x04000100
,
0x00000100
,
0x00000000
,
0x765f6700
,
0x00327261
,
0x030001ab
,
0x04000100
,
0x00000100
,
0x00000000
,
0x00787400
,
0x7263694d
,
0x666f736f
,
0x52282074
,
0x4c482029
,
0x53204c53
,
0x65646168
,
0x6f432072
,
0x6c69706d
,
0x31207265
,
0x00312e30
,
0x494c43ab
,
0x00000434
,
0x00000000
,
0x4c584600
,
0x00003c43
,
0x00000100
,
0x10000400
,
0x000002a0
,
0x00000000
,
0x00000200
,
0x00000000
,
0x00000000
,
0x00000200
,
0x00000400
,
0x00000000
,
0x00000400
,
0x00000000
,
0xf0f0f000
,
0x0f0f0ff0
,
0x00ffff0f
,
0x00000100
,
0x00000200
,
0x00000000
,
0x00000100
,
0x00000200
,
0x00000000
,
0x00000400
,
0x00002000
,
0x00000000
,
0x00000200
,
0xffffff00
,
0x000000ff
,
0x00003000
,
0x00001400
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00003600
,
0x00001400
,
0x00000000
,
0x00001000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00003d00
,
0x00000500
,
0x00000000
,
0x00004200
,
0x00000300
,
0x00000000
,
0x00000a00
,
0x00000000
,
0x00000600
,
0x00004500
,
0x00000b00
,
0x00000000
,
0x00000100
,
0x00028d00
,
0x00000200
,
0x00000000
,
0x00000100
,
0x00029900
,
0x0002a500
,
0x00000300
,
0x00000000
,
0x00000a00
,
0x00000000
,
0x00000600
,
0x0002a800
,
0x00000b00
,
0x00000000
,
0x00000100
,
0x0003fc00
,
0x00000200
,
0x00000000
,
0x00000100
,
0x00040800
,
0x00041400
,
0x00000300
,
0x00000000
,
0x00000a00
,
0x00000000
,
0x00000600
,
0x00041700
,
0x00000b00
,
0x00000000
,
0x00000100
,
0x00064700
,
0x00000200
,
0x00000000
,
0x00000100
,
0x00065300
,
0x00065f00
,
0x00000300
,
0x00000000
,
0x00000a00
,
0x00000000
,
0x00000600
,
0x00066200
,
0x00000b00
,
0x00000000
,
0x00000100
,
0x00078a00
,
0x00000200
,
0x00000000
,
0x00000100
,
0x00079600
,
0x0007a200
,
0x00000300
,
0x00000000
,
0x00000a00
,
0x00000000
,
0x00000600
,
0x0007a500
,
0x00000b00
,
0x00000000
,
0x00000100
,
0x0008cd00
,
0x00000200
,
0x00000000
,
0x00000100
,
0x0008d900
,
0x00000000
,
0x00000000
,
0x434c5846
,
0x00000030
,
0x00000001
,
0x13700001
,
0x00000001
,
0x00000000
,
0x00000002
,
0x00000000
,
0x00000000
,
0x00000004
,
0x00000000
,
0xf0f0f0f0
,
0x0f0f0f0f
,
0x0000ffff
,
0x68636574
,
0x00307000
,
0x00000244
,
0x43425844
,
0x6fff1042
,
0x03a078c0
,
0xc7b9d7d0
,
0x4c421eb8
,
0x00000001
,
0x00000244
,
0x00000003
,
0x0000002c
,
0x000000d4
,
0x000000f0
,
0x42415443
,
0x000000a0
,
0x0000001c
,
0x00000077
,
0x46580400
,
0x00000002
,
0x0000001c
,
0x00000100
,
0x00000074
,
0x00000044
,
0x00000002
,
0x00000001
,
0x0000004c
,
0x00000000
,
0x0000005c
,
0x00010002
,
0x00000001
,
0x00000064
,
0x00000000
,
0x61765f67
,
0xabab0072
,
0x00030001
,
0x00040001
,
0x00000001
,
0x00000000
,
0x61765f67
,
0xab003272
,
0x00030001
,
0x00040001
,
0x00000001
,
0x00000000
,
0x4d007874
,
0x6f726369
,
0x74666f73
,
0x29522820
,
0x534c4820
,
0x6853204c
,
0x72656461
,
0x6d6f4320
,
0x656c6970
,
0x30312072
,
0xab00312e
,
0x34494c43
,
0x00000014
,
0x00000004
,
0x3dcccccd
,
0x40066666
,
0x00000000
,
0x00000000
,
0x434c5846
,
0x0000014c
,
0x00000008
,
0x10100004
,
0x00000001
,
0x00000000
,
0x00000002
,
0x00000000
,
0x00000000
,
0x00000007
,
0x00000000
,
0x10800001
,
0x00000001
,
0x00000000
,
0x00000002
,
0x00000000
,
0x00000000
,
0x00000007
,
0x00000004
,
0xa0400004
,
0x00000002
,
0x00000000
,
0x00000007
,
0x00000004
,
0x00000000
,
0x00000007
,
0x00000000
,
0x00000000
,
0x00000007
,
0x00000008
,
0x10900001
,
0x00000001
,
0x00000000
,
0x00000002
,
0x00000001
,
0x00000000
,
0x00000007
,
0x00000000
,
0xa0400004
,
0x00000002
,
0x00000000
,
0x00000007
,
0x00000000
,
0x00000000
,
0x00000007
,
0x00000008
,
0x00000000
,
0x00000007
,
0x00000004
,
0xa0400004
,
0x00000002
,
0x00000000
,
0x00000001
,
0x00000000
,
0x00000000
,
0x00000007
,
0x00000004
,
0x00000000
,
0x00000007
,
0x00000000
,
0xa0500004
,
0x00000002
,
0x00000000
,
0x00000001
,
0x00000001
,
0x00000000
,
0x00000002
,
0x00000004
,
0x00000000
,
0x00000007
,
0x00000004
,
0x20400004
,
0x00000002
,
0x00000000
,
0x00000007
,
0x00000000
,
0x00000000
,
0x00000007
,
0x00000004
,
0x00000000
,
0x00000004
,
0x00000000
,
0xf0f0f0f0
,
0x0f0f0f0f
,
0x0000ffff
,
0x00000001
,
0x00000002
,
0x00000000
,
0x00000001
,
0x00000002
,
0x00000000
,
0x50003170
,
0x44000001
,
0x4c434258
,
0x35c6a29e
,
0xcb6292ed
,
0x5fd90bb8
,
0x0150dcd2
,
0x50000000
,
0x03000001
,
0x2c000000
,
0xd4000000
,
0xe0000000
,
0x43000000
,
0xa0424154
,
0x1c000000
,
0x77000000
,
0x00000000
,
0x02465804
,
0x1c000000
,
0x00000000
,
0x74000001
,
0x44000000
,
0x02000000
,
0x01000000
,
0x4c000000
,
0x00000000
,
0x5c000000
,
0x02000000
,
0x01000100
,
0x64000000
,
0x00000000
,
0x67000000
,
0x7261765f
,
0x01abab00
,
0x01000300
,
0x01000400
,
0x00000000
,
0x67000000
,
0x7261765f
,
0x01ab0032
,
0x01000300
,
0x01000400
,
0x00000000
,
0x74000000
,
0x694d0078
,
0x736f7263
,
0x2074666f
,
0x20295228
,
0x4c534c48
,
0x61685320
,
0x20726564
,
0x706d6f43
,
0x72656c69
,
0x2e303120
,
0x43ab0031
,
0x0434494c
,
0x00000000
,
0x46000000
,
0x68434c58
,
0x02000000
,
0x04000000
,
0x02a04000
,
0x00000000
,
0x02000000
,
0x00000000
,
0x00000000
,
0x02000000
,
0x04000000
,
0x00000000
,
0x07000000
,
0x00000000
,
0x04000000
,
0x02a04000
,
0x00000000
,
0x02000000
,
0x01000000
,
0x00000000
,
0x07000000
,
0x00000000
,
0x00000000
,
0x04000000
,
0x00000000
,
0xf0000000
,
0x0ff0f0f0
,
0xff0f0f0f
,
0x010000ff
,
0x02000000
,
0x00000000
,
0x01000000
,
0x02000000
,
0x00000000
,
0x70000000
,
0x022c0032
,
0x58440000
,
0xe09e4342
,
0x26fae994
,
0x3ab641b8
,
0xb70bac8f
,
0x00019d4e
,
0x022c0000
,
0x00030000
,
0x002c0000
,
0x00d40000
,
0x00e00000
,
0x54430000
,
0x00a04241
,
0x001c0000
,
0x00770000
,
0x04000000
,
0x00024658
,
0x001c0000
,
0x01000000
,
0x00740000
,
0x00440000
,
0x00020000
,
0x00010000
,
0x004c0000
,
0x00000000
,
0x005c0000
,
0x00020000
,
0x00010001
,
0x00640000
,
0x00000000
,
0x5f670000
,
0x00726176
,
0x0001abab
,
0x00010003
,
0x00010004
,
0x00000000
,
0x5f670000
,
0x32726176
,
0x0001ab00
,
0x00010003
,
0x00010004
,
0x00000000
,
0x78740000
,
0x63694d00
,
0x6f736f72
,
0x28207466
,
0x48202952
,
0x204c534c
,
0x64616853
,
0x43207265
,
0x69706d6f
,
0x2072656c
,
0x312e3031
,
0x4c43ab00
,
0x00043449
,
0x00000000
,
0x58460000
,
0x0144434c
,
0x00070000
,
0x00010000
,
0x00022000
,
0x00000000
,
0x00020000
,
0x00000000
,
0x00000000
,
0x00020000
,
0x00040000
,
0x00000000
,
0x00070000
,
0x00000000
,
0x00010000
,
0x00022010
,
0x00000000
,
0x00020000
,
0x00010000
,
0x00000000
,
0x00020000
,
0x00050000
,
0x00000000
,
0x00070000
,
0x00010000
,
0x00010000
,
0x00022040
,
0x00000000
,
0x00070000
,
0x00010000
,
0x00000000
,
0x00070000
,
0x00000000
,
0x00000000
,
0x00070000
,
0x00040000
,
0x00040000
,
0x00022000
,
0x00000000
,
0x00020000
,
0x00000000
,
0x00000000
,
0x00020000
,
0x00040000
,
0x00000000
,
0x00070000
,
0x00000000
,
0x00040000
,
0x0002a040
,
0x00000000
,
0x00070000
,
0x00040000
,
0x00000000
,
0x00070000
,
0x00000000
,
0x00000000
,
0x00070000
,
0x00080000
,
0x00040000
,
0x00022010
,
0x00000000
,
0x00020000
,
0x00000000
,
0x00000000
,
0x00020000
,
0x00040000
,
0x00000000
,
0x00070000
,
0x00000000
,
0x00040000
,
0x00022040
,
0x00000000
,
0x00070000
,
0x00000000
,
0x00000000
,
0x00070000
,
0x00080000
,
0x00000000
,
0x00040000
,
0x00000000
,
0xf0f00000
,
0x0f0ff0f0
,
0xffff0f0f
,
0x00010000
,
0x00020000
,
0x00000000
,
0x00010000
,
0x00020000
,
0x00000000
,
0x33700000
,
0x00012400
,
0x42584400
,
0xcef4c543
,
0x23070658
,
0xcacabd20
,
0x0c24d22f
,
0x0000010f
,
0x00012400
,
0x00000300
,
0x00002c00
,
0x0000d400
,
0x0000e000
,
0x41544300
,
0x0000a042
,
0x00001c00
,
0x00007700
,
0x58040000
,
0x00000246
,
0x00001c00
,
0x00010000
,
0x00007400
,
0x00004400
,
0x00000200
,
0x00000100
,
0x00004c00
,
0x00000000
,
0x00005c00
,
0x01000200
,
0x00000100
,
0x00006400
,
0x00000000
,
0x765f6700
,
0xab007261
,
0x030001ab
,
0x04000100
,
0x00000100
,
0x00000000
,
0x765f6700
,
0x00327261
,
0x030001ab
,
0x04000100
,
0x00000100
,
0x00000000
,
0x00787400
,
0x7263694d
,
0x666f736f
,
0x52282074
,
0x4c482029
,
0x53204c53
,
0x65646168
,
0x6f432072
,
0x6c69706d
,
0x31207265
,
0x00312e30
,
0x494c43ab
,
0x00000434
,
0x00000000
,
0x4c584600
,
0x00003c43
,
0x00000100
,
0x00000400
,
0x000002a0
,
0x00000000
,
0x00000200
,
0x00000000
,
0x00000000
,
0x00000200
,
0x00000400
,
0x00000000
,
0x00000400
,
0x00000000
,
0xf0f0f000
,
0x0f0f0ff0
,
0x00ffff0f
,
0x00000100
,
0x00000200
,
0x00000000
,
0x00000100
,
0x00000200
,
0x00000000
,
0x00347000
,
0x00000124
,
0x43425844
,
0x35c902bb
,
0x89afcba6
,
0xf6a383ff
,
0xf8ed53a9
,
0x00000001
,
0x00000124
,
0x00000003
,
0x0000002c
,
0x000000d4
,
0x000000e0
,
0x42415443
,
0x000000a0
,
0x0000001c
,
0x00000077
,
0x46580400
,
0x00000002
,
0x0000001c
,
0x00000100
,
0x00000074
,
0x00000044
,
0x00000002
,
0x00000001
,
0x0000004c
,
0x00000000
,
0x0000005c
,
0x00010002
,
0x00000001
,
0x00000064
,
0x00000000
,
0x61765f67
,
0xabab0072
,
0x00030001
,
0x00040001
,
0x00000001
,
0x00000000
,
0x61765f67
,
0xab003272
,
0x00030001
,
0x00040001
,
0x00000001
,
0x00000000
,
0x4d007874
,
0x6f726369
,
0x74666f73
,
0x29522820
,
0x534c4820
,
0x6853204c
,
0x72656461
,
0x6d6f4320
,
0x656c6970
,
0x30312072
,
0xab00312e
,
0x34494c43
,
0x00000004
,
0x00000000
,
0x434c5846
,
0x0000003c
,
0x00000001
,
0xa0100004
,
0x00000002
,
0x00000000
,
0x00000002
,
0x00000000
,
0x00000000
,
0x00000002
,
0x00000004
,
0x00000000
,
0x00000004
,
0x00000000
,
0xf0f0f0f0
,
0x0f0f0f0f
,
0x0000ffff
,
0x00000001
,
0x00000002
,
0x00000000
,
0x00000001
,
0x00000002
,
0x00000000
,
0x00000004
,
0x00000020
,
0x00000000
,
0x00000002
,
0xffffffff
,
0x00000000
,
0x00000030
,
0x00000014
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000036
,
0x00000014
,
0x00000000
,
0x00000010
,
0x00000000
,
0x00000000
,
0x00000000
,
0x0000006b
,
0x0000004f
,
0x00000000
,
0xffffffff
,
0x00000001
,
0x00000019
,
0x00000000
,
0x00000006
,
0x00000074
,
0x00000000
,
0x00000164
,
0x00000005
,
0x00000000
,
0x00000169
,
0x00000003
,
0x00000000
,
0x0000000a
,
0x00000000
,
0x00000006
,
0x0000016c
,
0x0000000b
,
0x00000000
,
0x00000001
,
0x000003b4
,
0x00000002
,
0x00000000
,
0x00000001
,
0x000003c0
,
0x000003cc
,
0x00000003
,
0x00000000
,
0x0000000a
,
0x00000000
,
0x00000006
,
0x000003cf
,
0x0000000b
,
0x00000000
,
0x00000001
,
0x00000523
,
0x00000002
,
0x00000000
,
0x00000001
,
0x0000052f
,
0x0000053b
,
0x00000003
,
0x00000000
,
0x0000000a
,
0x00000000
,
0x00000006
,
0x0000053e
,
0x0000000b
,
0x00000000
,
0x00000001
,
0x0000076e
,
0x00000002
,
0x00000000
,
0x00000001
,
0x0000077a
,
0x00000786
,
0x00000003
,
0x00000000
,
0x0000000a
,
0x00000000
,
0x00000006
,
0x00000789
,
0x0000000b
,
0x00000000
,
0x00000001
,
0x000008b1
,
0x00000002
,
0x00000000
,
0x00000001
,
0x000008bd
,
0x000008c9
,
0x00000003
,
0x00000000
,
0x0000000a
,
0x00000000
,
0x00000006
,
0x000008cc
,
0x0000000b
,
0x00000000
,
0x00000001
,
0x000009f4
,
0x00000002
,
0x00000000
,
0x00000001
,
0x00000a00
,
};
static
void
test_effect_value_expression
(
void
)
{
ID3D10EffectVectorVariable
*
g_var
,
*
g_var2
;
ID3D10EffectDepthStencilVariable
*
ds
;
D3D10_DEPTH_STENCIL_DESC
ds_desc
;
ID3D10BlendState
*
blend_state
;
float
f
[
4
],
blend_factor
[
4
];
ID3D10EffectTechnique
*
t
;
...
...
@@ -8334,6 +8353,40 @@ static void test_effect_value_expression(void)
ok
(
blend_factor
[
3
]
==
1
.
0
f
,
"Got unexpected blend_factor[3] %.8e.
\n
"
,
blend_factor
[
3
]);
ok
(
!
sample_mask
,
"Got unexpected sample_mask %#x.
\n
"
,
sample_mask
);
/* Mutable state objects. */
v
=
effect
->
lpVtbl
->
GetVariableByName
(
effect
,
"ds_state"
);
ds
=
v
->
lpVtbl
->
AsDepthStencil
(
v
);
f
[
0
]
=
1
.
0
f
;
f
[
1
]
=
2
.
0
f
;
f
[
2
]
=
3
.
0
f
;
f
[
3
]
=
4
.
0
f
;
hr
=
g_var
->
lpVtbl
->
SetFloatVector
(
g_var
,
f
);
ok
(
hr
==
S_OK
,
"Unexpected hr %#lx.
\n
"
,
hr
);
ds
->
lpVtbl
->
GetBackingStore
(
ds
,
0
,
&
ds_desc
);
ok
(
ds_desc
.
StencilEnable
==
0xffffffff
,
"Got unexpected StencilEnable %#x.
\n
"
,
ds_desc
.
StencilEnable
);
f
[
0
]
=
0
.
0
f
;
hr
=
g_var
->
lpVtbl
->
SetFloatVector
(
g_var
,
f
);
ok
(
hr
==
S_OK
,
"Unexpected hr %#lx.
\n
"
,
hr
);
ds
->
lpVtbl
->
GetBackingStore
(
ds
,
0
,
&
ds_desc
);
ok
(
!
ds_desc
.
StencilEnable
,
"Got unexpected StencilEnable %#x.
\n
"
,
ds_desc
.
StencilEnable
);
f
[
0
]
=
-
0
.
1
f
;
hr
=
g_var
->
lpVtbl
->
SetFloatVector
(
g_var
,
f
);
ok
(
hr
==
S_OK
,
"Unexpected hr %#lx.
\n
"
,
hr
);
ds
->
lpVtbl
->
GetBackingStore
(
ds
,
0
,
&
ds_desc
);
ok
(
ds_desc
.
StencilEnable
==
0xffffffff
,
"Got unexpected StencilEnable %#x.
\n
"
,
ds_desc
.
StencilEnable
);
f
[
0
]
=
0
.
0
f
;
hr
=
g_var
->
lpVtbl
->
SetFloatVector
(
g_var
,
f
);
ok
(
hr
==
S_OK
,
"Unexpected hr %#lx.
\n
"
,
hr
);
ds
->
lpVtbl
->
GetBackingStore
(
ds
,
0
,
&
ds_desc
);
ok
(
!
ds_desc
.
StencilEnable
,
"Got unexpected StencilEnable %#x.
\n
"
,
ds_desc
.
StencilEnable
);
f
[
0
]
=
NAN
;
hr
=
g_var
->
lpVtbl
->
SetFloatVector
(
g_var
,
f
);
ok
(
hr
==
S_OK
,
"Unexpected hr %#lx.
\n
"
,
hr
);
ds
->
lpVtbl
->
GetBackingStore
(
ds
,
0
,
&
ds_desc
);
ok
(
ds_desc
.
StencilEnable
==
0xffffffff
,
"Got unexpected StencilEnable %#x.
\n
"
,
ds_desc
.
StencilEnable
);
effect
->
lpVtbl
->
Release
(
effect
);
refcount
=
ID3D10Device_Release
(
device
);
...
...
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