aa032f31bb
vkd3d: Split Vulkan debug messages.
...
So that they do not get truncated if they're too long.
2025-03-03 17:53:17 +01:00
e76c596d56
vkd3d-shader/hlsl: Add a hlsl_block_add_simple_store() helper.
2025-03-03 17:48:03 +01:00
fc4f440245
vkd3d-shader/hlsl: Add a hlsl_block_add_store_index() helper.
2025-03-03 17:48:03 +01:00
eafc97bcb3
vkd3d-shader/hlsl: Pass the target block to hlsl_new_load_component().
2025-03-03 17:48:03 +01:00
d053f3665d
vkd3d-shader/hlsl: Pass a block to hlsl_new_void_expr().
2025-03-03 17:48:03 +01:00
662d60ad6b
vkd3d-shader/hlsl: Add a hlsl_block_add_expr() helper.
2025-03-03 17:48:03 +01:00
f24cc55c14
vkd3d-shader/hlsl: Remove lower_nonfloat_exprs().
...
The only purpose it has at this point is wrapping integer DIV in casts,
which can be moved to lower_division().
2025-03-03 17:47:42 +01:00
7cb1970952
vkd3d-shader/hlsl: Don't cast all expressions to float.
...
Instead, allow half, bool, int, and uint, expressions that map to the
same float op to reach sm1_generate_vsir_instr_expr().
2025-03-03 17:26:15 +01:00
8297ea9aa6
vkd3d/device: Require VK_KHR_zero_initialize_workgroup_memory when appropriate.
...
That extension (and the corresponding feature) must be enabled when
the Initializer operand is used for workgroup variables.
2025-02-26 16:11:50 +01:00
e746a4c12f
vkd3d-shader/fx: Improve state object nesting for the fx -> text output.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2025-02-24 16:19:07 +01:00
09226543fe
vkd3d-shader/fx: Implement parsing complex value and index expressions.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2025-02-24 16:19:07 +01:00
58aed8fd0d
vkd3d-shader/fx: Use vkd3d_string_buffer_print_f32() in parse_fx_4_numeric_value().
...
Instead of "%f". vkd3d_string_buffer_print_f32() will use sufficient
precision to represent the stored value exactly, and will use '.' as
decimal separator regardless of the current locale.
2025-02-24 16:19:07 +01:00
2989373212
vkd3d-shader/hlsl: Add a hlsl_block_add_binary_expr() helper.
2025-02-24 16:19:07 +01:00
858b6a3e0b
vkd3d-shader/hlsl: Add a hlsl_block_add_cast() helper.
2025-02-24 16:19:07 +01:00
2e09257d94
vkd3d-shader/hlsl: Add a hlsl_block_add_unary_expr() helper.
2025-02-24 16:19:07 +01:00
b7ea23303e
vkd3d-shader/hlsl: Add a hlsl_block_add_float_constant() helper.
2025-02-24 16:19:07 +01:00
e830cdee71
vkd3d-shader/hlsl: Inline add_pow_expr().
...
The helper is used in one place.
2025-02-24 16:19:07 +01:00
1fd89abcc3
vkd3d-shader: Enable DXIL support in the default configuration.
2025-02-24 15:10:08 +01:00
fe4143ad19
vkd3d-shader/dxil: Generate I/O signatures with 16-bit component types for native 16-bit shaders.
...
Which incidentally matches the I/O signatures from the DXBC container.
2025-02-24 15:10:08 +01:00
f5d702b09a
vkd3d-shader/dxbc: Validate component types in shader_parse_signature().
2025-02-24 15:10:08 +01:00
b8d740ebfc
vkd3d-shader/dxbc: Output messages for invalid semantic name references in shader_parse_signature().
2025-02-24 15:10:08 +01:00
3bcdb85ddc
vkd3d-shader/dxbc: Set the "elements_capacity" field as well in shader_parse_signature().
...
Leaving it as 0 mostly ends up doing the right thing in practice, but isn't
quite right.
2025-02-24 15:10:08 +01:00
2feb3a3bba
vkd3d: Take the root signature from shaders when creating graphics pipelines.
...
If the root signature wasn't explicitly specified.
This fixes a failure in The Touryst.
2025-02-20 16:00:55 +01:00
0796af7b4b
vkd3d: Avoid vkd3d_shader_parse_input_signature().
2025-02-20 15:57:26 +01:00
2e62e9ea7e
vkd3d-shader: Handle arrayed elements in vkd3d_shader_signature_from_shader_signature().
2025-02-20 15:57:26 +01:00