Zebediah Figura
a597dc8755
vkd3d-shader/hlsl: Define lit() in HLSL.
2023-08-30 22:49:03 +02:00
Nikolay Sivov
c39c5b3907
vkd3d-shader/hlsl: Add texCUBE() function.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-08-29 22:07:56 +02:00
Nikolay Sivov
269747dbf3
tests: Enable compiler backwards compatibility mode only for shaders that require it.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-08-28 20:40:06 +02:00
Nikolay Sivov
18c1477464
vkd3d-shader/hlsl: Ignore 'inline' modifier for functions.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-08-28 20:39:53 +02:00
Nikolay Sivov
30be83f911
tests: Add some 'inline' function modifier tests.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-08-28 20:39:53 +02:00
Evan Tang
f374934281
tests: Test CopyResource depth to color.
2023-08-24 21:43:59 +02:00
Nikolay Sivov
1153f6bb34
vkd3d-shader/hlsl: Parse "if" statement attributes.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-08-24 21:43:49 +02:00
Nikolay Sivov
9605993af3
tests: Add some tests for "if" statement attributes.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-08-24 21:43:49 +02:00
Zebediah Figura
926575a6f3
vkd3d-shader/hlsl: Force sm1 inputs to be 4-component only for vertex shaders.
...
Pixel shaders still have an appropriate writemask.
2023-08-24 21:43:44 +02:00
Nikolay Sivov
4f2e07a45d
vkd3d-shader/hlsl: Allow 'const' modifier without initializer in the global scope.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-08-15 21:51:50 +02:00
Nikolay Sivov
7fd10bb6bc
tests: Add some tests for a 'const' modifier.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-08-15 21:51:50 +02:00
Francisco Casas
37cfbe47d7
vkd3d-shader/hlsl: Sort synthetic separated samplers first for SM4.
2023-08-15 21:51:31 +02:00
Francisco Casas
948c4145f5
tests: Test texture allocation ordering in complex scenarios.
2023-08-15 21:51:26 +02:00
Nikolay Sivov
25ff56769b
vkd3d-shader: Add constant folding for the 'dot' operation.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-08-14 18:38:15 +02:00
Zebediah Figura
bad72d1874
vkd3d-shader/d3dbc: Make sure all inter-stage varyings have a unique register index.
...
spirv will need this.
2023-08-03 21:20:22 +09:00
Zebediah Figura
b4bb3931c5
vkd3d-shader/preproc: Append spaces between tokens in macro invocations.
2023-08-02 20:19:21 +09:00
Zebediah Figura
250a24bd3f
vkd3d-shader/preproc: Strip whitespace when stringifying.
2023-08-02 20:19:20 +09:00
Zebediah Figura
6fc3ae2b5c
vkd3d-shader/preproc: Stringify text immediately in macro invocations.
2023-08-02 20:19:19 +09:00
Zebediah Figura
3a235b57f6
vkd3d-shader/preproc: Expand macro arguments in macro invocations.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55361
2023-08-02 20:19:17 +09:00
Zebediah Figura
9b98489155
vkd3d-shader/preproc: Parse hash marks as two separate tokens when not in stringification contexts.
2023-08-02 20:19:15 +09:00
Conor McCarthy
1e178efa01
tests/d3d12: Add tests for GetResourceTiling().
...
Based on vkd3d-proton patches by Philip Rebohle and
Hans-Kristian Arntzen.
2023-07-31 21:07:56 +09:00
Nikolay Sivov
bfdd5c142d
vkd3d-shader/tpf: Add support for writing 'resinfo' instruction.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-07-31 21:07:50 +09:00
Nikolay Sivov
18731d71a6
tests: Add some tests for GetDimensions().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-07-31 21:07:46 +09:00
Nikolay Sivov
0b77b5f99e
tests: Add some tests for matrix packing compiler options.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-07-24 22:41:10 +02:00
Nikolay Sivov
01faf6ad9e
tests: Add test file syntax to specify compiler options.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-07-24 22:41:09 +02:00
Conor McCarthy
31ff1fa9b6
tests: Test releasing the command signature immediately after use.
...
D3D12 docs are silent on a required lifetime and immediate release
works in Windows.
2023-07-24 22:40:54 +02:00
Conor McCarthy
9014183100
vkd3d: Return a null handle from GetGPUDescriptorHandleForHeapStart() for non-shader-visible heaps.
2023-07-20 22:33:17 +02:00
Conor McCarthy
981034e6e4
tests: Test GetGPUDescriptorHandleForHeapStart() on a non-shader-visible heap.
2023-07-20 22:33:07 +02:00
Zebediah Figura
d077562f79
vkd3d-shader/d3dbc: Scan descriptors for constant register sets.
2023-07-17 22:56:39 +02:00
Nikolay Sivov
a18ace731d
tests: Add a test for side effects of ternary operator.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-07-17 22:56:32 +02:00
Zebediah Figura
a55973d695
vkd3d-shader/hlsl: Lower combined samplers to separate sampler and texture objects for SM4.
...
Co-authored-by: Francisco Casas <fcasas@codeweavers.com>
2023-07-17 22:55:51 +02:00
Francisco Casas
b8a85c6ad5
tests: Add lowering combined samplers tests.
2023-07-17 22:55:43 +02:00
Francisco Casas
ab37b27a7d
tests: Pass D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY when compiling with the shader-runner.
2023-07-17 22:55:43 +02:00
Francisco Casas
c58d666d1b
vkd3d-shader/hlsl: Handle resource components individually for SM 5.0.
2023-07-17 22:55:40 +02:00
Zebediah Figura
d4b5e79c8b
vkd3d-shader/hlsl: Skip unallocated variables when looking for reservation conflicts.
2023-07-13 23:00:03 +02:00
Nikolay Sivov
06040d2a30
vkd3d-shader/hlsl: Disallow certain instruction types from constant expressions.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-07-04 22:39:57 +02:00
Nikolay Sivov
a65c0b0e22
vkd3d-shader/hlsl: Support evaluated expressions for sample count in multisampled textures declarations.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-07-04 22:39:55 +02:00
Francisco Casas
01800942a9
vkd3d-shader/hlsl: Declare vars individually when parsing struct declarations.
...
A struct declaration with variables is now absorbed into the 'declaration'
rule, like any other variable declaration.
A struct declaration without variables is now reduced to the
'struct_declaration_without_vars' rule.
They both are reduced to a 'declaration_statement' in the end.
2023-07-04 22:39:24 +02:00
Francisco Casas
62c891b796
vkd3d-shader/hlsl: Declare vars individually when parsing regular declarations.
...
In a declaration with multiple variables, the variables must be created
before the initializer of the next variable is parsed. This is required
for initializers such as:
float a = 1, b = a, c = b + 1;
A requisite for this is that the type information is parsed in the same
rule as the first variable (as a variable_def_typed) so it is
immediately available to declare the first variable. Then, the next
untyped variable declaration is parsed, and the type from the first
variable can be used to declare the second, before the third is parsed,
and so on.
2023-07-04 22:39:21 +02:00
Francisco Casas
396edae281
tests: Test multiple variable initializers.
2023-07-04 22:39:18 +02:00
Francisco Casas
d8e6a1066d
tests: Test semantics in uniform variables.
2023-07-04 22:39:18 +02:00
Francisco Casas
e4d94d955c
vkd3d-shader/hlsl: Support fine derivates.
2023-07-04 22:39:12 +02:00
Francisco Casas
ff31284f8d
vkd3d-shader/hlsl: Support coarse derivates.
2023-07-04 22:39:10 +02:00
Francisco Casas
dc84afe73a
tests: Quantize regular and coarse derivate test results.
...
Co-authored-by: Giovanni Mascellani <gmascellani@codeweavers.com>
2023-07-04 22:39:07 +02:00
Francisco Casas
f0584cad62
tests: Make ddx() and ddy() test behave correctly for shader models < 4.
2023-07-04 22:39:07 +02:00
Francisco Casas
62e9b86697
tests: Test coarse and fine derivates.
...
Co-authored-by: Giovanni Mascellani <gmascellani@codeweavers.com>
2023-07-04 22:39:04 +02:00
Zebediah Figura
0d2f2e1860
tests: Move HLSL tests to a subdirectory.
2023-06-28 21:40:32 +02:00
Nikolay Sivov
3aee386e2f
tests: Add another test for register reservation.
2023-06-27 22:34:42 +02:00
Zebediah Figura
69ecfdfb0b
tests: Use compare_uint() in compare_float().
...
Comparing the result of abs() is broken in the case that x - y == INT_MIN.
2023-06-27 22:34:37 +02:00
Nikolay Sivov
861078d63a
vkd3d-shader/hlsl: Handle 'texkill' discard type for sm4+.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-06-27 22:33:50 +02:00