Conor McCarthy
5082893e5d
vkd3d-shader/spirv: Always use a 64-bit write mask for IMMCONST64 src params.
...
There is no way to tell in spirv_compiler_emit_load_reg() if the write
mask is 64-bit. All loads are 32-bit except for IMMCONST64 and SSA, and
the latter ignores the mask, so the only issue lies with IMMCONST64.
2024-03-06 23:04:12 +01:00
Conor McCarthy
13143700b7
tests/shader-runner: Add raw UAV tests.
2024-03-06 23:04:11 +01:00
Francisco Casas
58c456ff2b
vkd3d-shader/d3dbc: Implement bool to float cast as MOV.
...
In SM1, bools are always represented as either 0.0f or 1.0f at runtime.
2024-03-06 23:04:07 +01:00
Francisco Casas
747511131d
vkd3d-shader/hlsl: Lower non-float operators for SM1.
2024-03-06 23:04:05 +01:00
Francisco Casas
a3319339e4
vkd3d-shader/hlsl: Lower casts to int using REINTERPRET instead.
...
I realized that it is better to lower casts to int to FLOOR+REINTERPET
instead of appending a FLOOR to all casts to int and assuming that this
is the case for all of them in d3dbc.c.
This in case we introduce new passes in the future that add casts that
we forget to lower, after the lower_casts_to_bool pass.
2024-03-06 23:04:04 +01:00
Nikolay Sivov
937d76507d
vkd3d-shader/hlsl: Implement ternary operator for older vertex profiles.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56333
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-06 23:03:59 +01:00
Henri Verbeet
f866fb95ad
Release 1.11.
2024-03-05 20:39:45 +01:00
Henri Verbeet
22d5e24bad
vkd3d-shader: Update the chained structure list for vkd3d_shader_compile().
2024-03-05 20:39:45 +01:00
Henri Verbeet
f80ae7aef1
vkd3d-shader: Document the newly supported transformations for d3dbc and HLSL sources.
2024-03-05 20:39:45 +01:00
Henri Verbeet
0885bf3082
vkd3d-utils: Restore the \since 1.11 command on D3DReflect().
...
This was effectively dropped by 8c6f5b847b
.
2024-03-05 20:39:40 +01:00
Zebediah Figura
9177df883e
vkd3d-shader/hlsl: Write the SFI0 section and "REQUIRES_ROVS" flag when ROVs are used.
2024-03-04 22:34:46 +01:00
Henri Verbeet
5c637d68da
tests/shader_runner: Set the SPIR-V feature flags based on the runner caps.
2024-03-04 22:34:38 +01:00
Henri Verbeet
015fde5e23
tests/shader_runner: Set the vkd3d-shader API version in the Vulkan runner.
2024-03-04 22:34:37 +01:00
Henri Verbeet
5552be552b
vkd3d-compiler: Compile SPIR-V shaders with the int64 and float64 features.
2024-03-04 22:34:30 +01:00
Henri Verbeet
6acca1f85e
vkd3d-shader: Add documentation for the INT64 and FLOAT64 feature flags.
2024-03-04 22:34:24 +01:00
Giovanni Mascellani
500b61c383
tests: Test how constant folding works on SM1.
2024-02-26 23:04:08 +01:00
Henri Verbeet
0914561f85
vkd3d: Store a D3D12_RESOURCE_DESC structure in struct vkd3d_image_resource_create_info.
...
Like we did before commit 6d4782ed7f
. That
commit somehow managed to change the "desc" field from
D3D12_RESOURCE_DESC to D3D12_RESOURCE_DESC1, but that breaks the ABI.
2024-02-26 23:04:05 +01:00
Victor Chiletto
7e27ae73af
vkd3d-shader/hlsl: Fix hlsl_ir_resource_store::resource cleanup.
2024-02-26 23:03:51 +01:00
Conor McCarthy
c083b1d0fc
vkd3d-shader/dxil: Implement DX intrinsic GetDimensions.
2024-02-26 23:03:48 +01:00
Conor McCarthy
292bbdefbf
vkd3d-shader/dxil: Move the resource kind helper functions up.
2024-02-26 23:03:46 +01:00
Henri Verbeet
d65f331efc
configure: Build with -Wwrite-strings.
...
libs/vkd3d-shader/hlsl.c: In function ‘declare_predefined_types’:
libs/vkd3d-shader/hlsl.c:3408:10: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
{"technique", 9},
^~~~~~~~~~~
...
programs/vkd3d-compiler/main.c: In function ‘parse_formatting’:
programs/vkd3d-compiler/main.c:303:10: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
{"colour", VKD3D_SHADER_COMPILE_OPTION_FORMATTING_COLOUR},
^~~~~~~~
...
macOS tigetstr() takes a non-const char *, so account for that as well.
2024-02-22 22:46:29 +01:00
Henri Verbeet
7029d821be
configure: Build with -Wtype-limits.
...
libs/vkd3d-shader/tpf.c: In function ‘write_sm4_unary_op_with_two_destinations’:
libs/vkd3d-shader/tpf.c:4489:24: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
assert(1 - dst_idx >= 0);
^~
libs/vkd3d-shader/tpf.c: In function ‘write_sm4_binary_op_with_two_destinations’:
libs/vkd3d-shader/tpf.c:4549:24: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
assert(1 - dst_idx >= 0);
^~
2024-02-22 22:46:22 +01:00
Henri Verbeet
d155071f22
configure: Build with -Wshift-overflow=2.
2024-02-22 22:46:16 +01:00
Henri Verbeet
1ed4767765
configure: Build with -Wempty-body.
2024-02-22 22:46:11 +01:00
Henri Verbeet
773f02d82f
vkd3d: Disable "robustBufferAccess2" as well when we disable "robustBufferAccess".
...
From the validation layers: "If robustBufferAccess2 is enabled then
robustBufferAccess must also be enabled
(https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-VkPhysicalDeviceRobustness2FeaturesEXT-robustBufferAccess2-04000 )"
2024-02-22 22:45:46 +01:00
Conor McCarthy
ba4bd651e5
vkd3d-shader/dxil: Implement DX intrinsics SampleCmp and SampleCmpLevelZero.
2024-02-22 22:45:36 +01:00
Conor McCarthy
2330ffdeda
vkd3d-shader/dxil: Implement DX intrinsics SampleBias and SampleLevel.
2024-02-22 22:45:34 +01:00
Zebediah Figura
87b1de94da
vkd3d-shader/hlsl: Check the resource format for UAVs also in hlsl_types_are_equal().
...
Spotted by Henri Verbeet.
2024-02-22 22:45:31 +01:00
Nikolay Sivov
5474d91804
vkd3d-shader/fx: Write DepthStencilView types.
2024-02-22 22:45:27 +01:00
Nikolay Sivov
371be3b60a
vkd3d-shader/hlsl: Add DepthStencilView object type.
2024-02-22 22:45:26 +01:00
Nikolay Sivov
9632adaaec
vkd3d-shader/fx: Handle fx_4+ UAV types.
2024-02-22 22:45:24 +01:00
Nikolay Sivov
e5f4f60214
vkd3d-shader/fx: Handle fx_4+ texture types.
2024-02-22 22:45:23 +01:00
Nikolay Sivov
a6057a1365
vkd3d-shader/fx: Add initial support for writing object variables.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-02-22 22:45:22 +01:00
Nikolay Sivov
c2b1714c5c
vkd3d-shader/hlsl: Add RenderTargetView object type.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-02-22 22:45:21 +01:00
Giovanni Mascellani
9c678532a7
vkd3d-shader/ir: Dump the domination relationship.
2024-02-22 22:45:16 +01:00
Giovanni Mascellani
04c2852c1a
vkd3d-shader/ir: Compute the domination relationship.
2024-02-22 22:45:15 +01:00
Giovanni Mascellani
2573d86ccf
vkd3d-shader/ir: Dump the control flow graph in the GraphViz format.
2024-02-22 22:45:14 +01:00
Giovanni Mascellani
da037b61ba
vkd3d-shader/ir: Build a representation of the control flow graph.
2024-02-22 22:45:13 +01:00
Conor McCarthy
1dffc281c9
vkd3d-shader/dxil: Implement DX intrinsic RawBufferStore.
2024-02-22 22:45:08 +01:00
Conor McCarthy
cab8b781ab
vkd3d-shader/dxil: Handle raw and structured buffers in sm6_parser_emit_dx_buffer_store().
2024-02-22 22:45:07 +01:00
Conor McCarthy
ce1875c435
vkd3d-shader/dxil: Implement DX intrinsic BufferStore.
2024-02-22 22:45:06 +01:00
Conor McCarthy
b447a725ec
tests/shader-runner: Add a test for a signed int structured buffer UAV.
...
Check for backend type mismatches resulting from the absence of
signedness in SM 6.
2024-02-22 22:45:05 +01:00
Conor McCarthy
9180ea6591
tests/shader-runner: Add a test for a signed int typed buffer UAV.
...
Check for backend type mismatches resulting from the absence of
signedness in SM 6.
2024-02-22 22:45:04 +01:00
Conor McCarthy
081c9dbc96
tests/shader-runner: Support structured buffer UAVs.
2024-02-22 22:45:02 +01:00
Henri Verbeet
edc8e38bd9
ci: Enable colour output for the tests.
...
Autodetection doesn't work, but gitlab does in fact support colour
output. Perhaps more importantly, the "Scroll to next failure" feature
essentially scans the output for red text.
2024-02-21 23:23:34 +01:00
Petrichor Park
02a3667822
vkd3d-shader/hlsl: Implement atan and atan2.
...
Also narrows some more todos on the tests.
2024-02-21 23:23:13 +01:00
Petrichor Park
69294c290b
vkd3d-shader/hlsl: Implement acos and asin trig intrinsics.
...
Tests have already been implemented in 92044d5e; this commit also reduces
the scope of some of the todos (because now they're implemented!).
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55154
2024-02-21 23:23:11 +01:00
Henri Verbeet
d4223a03c8
vkd3d-shader/hlsl: Replace HLSL_MODIFIER_RASTERIZER_ORDERED with a hlsl_type.e.resource flag.
2024-02-21 23:23:08 +01:00
Henri Verbeet
49d14613a5
vkd3d-shader/hlsl: Introduce hlsl_type.e.resource.
2024-02-21 23:23:06 +01:00
Conor McCarthy
d9c68ee481
vkd3d-shader/dxil: Handle resource descriptor additional tag/value pairs.
...
These are tag/value pairs, and the current code only works if an element
type or element stride pair is present at index zero.
2024-02-20 22:50:19 +01:00