Henri Verbeet
eaebef4265
vkd3d-shader/hlsl: Emit vsir from hlsl_emit_bytecode().
2025-07-28 16:10:15 +02:00
Henri Verbeet
4300e6c8b5
vkd3d-shader/ir: Allow source operands of shift operations to have different data types.
2025-07-28 16:10:15 +02:00
Henri Verbeet
b3e367b099
vkd3d-shader/tpf: Update the comment describing the data type mapping in init_sm4_lookup_tables().
...
"R", "S", and "U" were removed, and "*" was added.
2025-07-24 19:12:49 +02:00
Henri Verbeet
a4c25b81c5
vkd3d-shader/hlsl: Get rid of the "hlsl" argument to hlsl_compile_shader().
2025-07-23 17:25:19 +02:00
Henri Verbeet
f02405350e
vkd3d-shader/ir: Consistently use VSIR_DATA_U32 for resinfo_uint destination operands.
...
Much like we do for sample_info_uint.
2025-07-23 17:23:40 +02:00
Henri Verbeet
b88be5b92b
vkd3d-shader/ir: Consistently use VSIR_DATA_U32 for sample_info_uint destination operands.
...
The HLSL compiler already did this; the TPF and DXIL parsers did not.
Previously spirv_compiler_emit_sample_info() was unable to correctly
handle VSIR_DATA_U32 destinations; the new version is arguably simpler
as well.
2025-07-23 17:23:40 +02:00
Henri Verbeet
b8c73e4a2c
vkd3d-shader/spirv: Use spirv_compiler_error() to report unhandled resinfo flags.
2025-07-23 17:23:40 +02:00
Henri Verbeet
ed2a06af35
vkd3d-shader/spirv: Use spirv_compiler_error() to report unhandled sample_info flags.
2025-07-23 17:23:40 +02:00
Henri Verbeet
7295a8d0b5
vkd3d-shader/ir: Explicitly initialise the "resource_data_type" field in vsir_instruction_init().
...
This depended on VKD3D_DATA_FLOAT/VSIR_DATA_F32 being the first
enumeration value, but that's no longer the case.
shader_dump_instruction() compares this against VSIR_DATA_F32 to
determine whether to call shader_dump_resource_data_type().
2025-07-23 17:23:01 +02:00
Henri Verbeet
795211141f
vkd3d-shader/ir: Rename VKD3D_DATA_BOOL to VSIR_DATA_BOOL.
2025-07-23 17:19:28 +02:00
Henri Verbeet
aebe64ecac
vkd3d-shader/ir: Rename VKD3D_DATA_UNUSED to VSIR_DATA_UNUSED.
2025-07-23 17:19:28 +02:00
Henri Verbeet
f74b56622a
vkd3d-shader/ir: Rename VKD3D_DATA_CONTINUED to VSIR_DATA_CONTINUED.
2025-07-23 17:19:28 +02:00
Henri Verbeet
ca24aada9a
vkd3d-shader/ir: Rename VKD3D_DATA_MIXED to VSIR_DATA_MIXED.
2025-07-23 17:19:28 +02:00
Henri Verbeet
b055a16e03
vkd3d-shader/ir: Rename VKD3D_DATA_OPAQUE to VSIR_DATA_OPAQUE.
2025-07-23 17:19:28 +02:00
Henri Verbeet
ed695cc551
vkd3d-shader/ir: Rename VKD3D_DATA_SNORM to VSIR_DATA_SNORM.
2025-07-23 17:19:28 +02:00
Henri Verbeet
ed27427508
vkd3d-shader/ir: Rename VKD3D_DATA_UNORM to VSIR_DATA_UNORM.
2025-07-23 17:19:28 +02:00
Giovanni Mascellani
2f4be1dbb6
vkd3d-shader: Use size_t in the string buffer.
2025-07-23 17:16:47 +02:00
Giovanni Mascellani
17ffd21113
vkd3d-shader/ir: Use size_t in the instruction array.
2025-07-23 17:16:43 +02:00
Giovanni Mascellani
bb51b976df
vkd3d-shader/ir: Use size_t in the parameter allocator.
...
The idea is to, by default, use size_t for any quantity that is
a memory size or an array index.
2025-07-23 17:16:38 +02:00
Nikolay Sivov
83e54bdc0c
vkd3d-shader/hlsl: Handle HLSL_RESOURCE_SAMPLE_LOD in sm1_generate_vsir_instr_resource_load().
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=58063
2025-07-23 17:06:21 +02:00
Nikolay Sivov
969b6f5946
vkd3d-shader/ir: Handle TEXLDL instructions in vsir_program_lower_instructions().
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=58063
2025-07-23 17:02:05 +02:00
Anna (navi) Figueiredo Gomes
a7266284ee
vkd3d-shader/hlsl: Move hlsl_ir_function_decl->extern_vars to a local variable.
2025-07-23 16:56:06 +02:00
Anna (navi) Figueiredo Gomes
db80f09c7a
vkd3d-shader/hlsl: Don't create a temporary copy for a uniform if one already exists.
...
This can currently never happen, because we only ever process each uniform
once. However, this will change once we support compiling multiple shaders
in effects.
2025-07-23 16:37:54 +02:00
Anna (navi) Figueiredo Gomes
f4d95af91d
vkd3d-shader/hlsl: Add temporary variables to "dummy_scope" in prepend_uniform_copy().
...
These are not looked up by name, so we don't need them in a specific scope.
Moreover, since we generate the temporaries using the same storage
modifiers as the uniforms, hlsl_emit_bytecode() will treat them as new
uniforms if run multiple times. That function is currently only run
once, but this will change when compiling shaders in effects.
2025-07-23 16:33:35 +02:00
Anna (navi) Figueiredo Gomes
66895e2605
vkd3d-shader/hlsl: Reset "extern_vars" before processing "entry_func" in hlsl_emit_bytecode().
2025-07-23 16:32:34 +02:00