52dc6f252c
vkd3d-shader/dxil: Read global constants in sm6_parser_globals_init().
...
These are needed for reading metadata.
2023-10-11 22:21:20 +02:00
df4e1b7393
vkd3d-shader/dxil: Read immediate constant arrays.
2023-10-11 22:21:19 +02:00
57280673e5
tests/shader-runner: Test shaders with dxcompiler.
...
The location of dxcompiler should be set during configuration with
'DXCOMPILER_LIBS=-L/path/to/dxcompiler', and then at runtime with
LD_LIBRARY_PATH, WINEPATH or PATH as applicable.
A new 'fail(sm<6)' decoration is needed on many shader declarations
because dxcompiler succeeds on many shaders which fail with fxc. The
opposite case is less common and is flagged with 'fail(sm>=6)'. A few
tests cause dxcompiler to crash or hang, so these are avoided using
[require], which now skips tests until reset instead of exiting. Also,
'todo(sm<6)' and 'todo(sm>=6)' are used to separate checking of results.
2023-10-11 22:21:14 +02:00
d211160b89
tests/shader-runner: Replace immediate shader type strings with an enum.
2023-10-11 22:21:14 +02:00
0ef0735999
tests/shader-runner: Do not exit if a 'require' directive is not met.
...
Tests are skipped until the next 'require' directive, which restores
the defaults before the new requirements are read.
2023-10-11 22:21:14 +02:00
192f4dcb2b
tests/shader-runner: Handle individual keywords in shader directives.
...
Matching all possible combinations of keywords becomes too complex
if more keywords are added.
2023-10-11 22:21:14 +02:00
9c6c7cb78f
vkd3d: Add partial implementation for CreateCommittedResource1().
2023-10-10 22:11:46 +02:00
72e8b6e0dc
include: Fix some confusingly structured documentation.
...
Fixes: 7a4ae434df
.
2023-10-10 22:11:37 +02:00
6a942581db
vkd3d-shader/ir: Translate TEX instructions to SAMPLE.
2023-10-09 21:58:40 +02:00
bd9eae6c22
vkd3d-shader: Scan combined sampler declarations.
...
This does not handle 1.x samplers yet.
2023-10-09 21:58:38 +02:00
7a4ae434df
include: Define an API for mapping sm1 samplers to the target environment.
2023-10-09 21:58:38 +02:00
2bcd6ea893
vkd3d-shader: Introduce a separate register type for combined samplers.
2023-10-09 21:58:38 +02:00
3af629cf8c
vkd3d-shader/tpf: Output interpolation modifiers for input declarations.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2023-10-09 21:58:31 +02:00
8479ceedfc
vkd3d-shader/hlsl: Propagate structure fields modifiers when copying shader inputs.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2023-10-09 21:58:29 +02:00
1930b51d97
vkd3d-shader/hlsl: Allow interpolation modifiers on structure fields.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2023-10-09 21:58:27 +02:00
de860c3cbf
vkd3d-shader/hlsl: Parse 'centroid' and 'noperspective' modifiers.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2023-10-09 21:58:24 +02:00
4b8a4809d1
tests: Add a test for interpolation modifiers specified on structure fields.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2023-10-09 21:58:24 +02:00
c5414fa92f
vkd3d-shader/tpf: Write 'continue' instruction.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2023-10-09 21:58:17 +02:00
e4b423d6b5
vkd3d-shader/hlsl: Handle 'continue' statements.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2023-10-09 21:58:14 +02:00
0e5749e78e
vkd3d-shader/hlsl: Allow 'break' instructions in loops.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2023-10-09 21:58:12 +02:00
89f493b900
tests: Add some tests for 'break'/'continue' in loops.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2023-10-09 21:58:12 +02:00
6ba75fd92f
vkd3d: Add partial implementation for CreateHeap1().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2023-10-09 21:58:07 +02:00
75c2af3640
vkd3d-shader/spirv: When declaring a CBV initialise the register with the register index range.
...
The declaration instruction register contains id, range first, and range
last. The backend includes range first in the variable name. After commit
e8b3561252
it was always zero, and since commit 67f0196c33
it is
UINT_MAX, so constant buffers are named, e.g., "%cb0_4294967295".
2023-10-09 21:58:01 +02:00
a4c5f3a798
vkd3d-shader/spirv: Add a debug name for the push constant buffer.
2023-10-09 21:57:53 +02:00
98d158d004
vkd3d-shader/tpf: Get rid of the output map.
...
Map output registers in the backend instead, as needed.
2023-10-09 21:57:46 +02:00