mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-12-15 08:03:30 -08:00
vkd3d-shader/d3d-asm: Resolve SSA values when outputting SM<6 assembly.
In particular, since commit eaebef4265 we
may receive vsir generated from HLSL sources, which typically contains
SSA values.
This commit is contained in:
Notes:
Henri Verbeet
2025-08-13 16:27:46 +02:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1678
@@ -1816,6 +1816,7 @@ static int vsir_program_compile(struct vsir_program *program, const struct vkd3d
|
||||
{
|
||||
struct vkd3d_shader_scan_combined_resource_sampler_info combined_sampler_info;
|
||||
struct vkd3d_shader_compile_info scan_info;
|
||||
enum vsir_asm_flags asm_flags;
|
||||
int ret;
|
||||
|
||||
scan_info = *compile_info;
|
||||
@@ -1825,7 +1826,11 @@ static int vsir_program_compile(struct vsir_program *program, const struct vkd3d
|
||||
case VKD3D_SHADER_TARGET_D3D_ASM:
|
||||
if ((ret = vsir_program_scan(program, &scan_info, message_context, true)) < 0)
|
||||
return ret;
|
||||
ret = d3d_asm_compile(program, compile_info, out, VSIR_ASM_FLAG_NONE);
|
||||
asm_flags = VSIR_ASM_FLAG_NONE;
|
||||
if (program->shader_version.major < 6 && compile_info->source_type != VKD3D_SHADER_SOURCE_DXBC_TPF
|
||||
&& compile_info->source_type != VKD3D_SHADER_SOURCE_D3D_BYTECODE)
|
||||
asm_flags |= VSIR_ASM_FLAG_ALLOCATE_TEMPS;
|
||||
ret = d3d_asm_compile(program, compile_info, out, asm_flags, message_context);
|
||||
break;
|
||||
|
||||
case VKD3D_SHADER_TARGET_D3D_BYTECODE:
|
||||
|
||||
Reference in New Issue
Block a user