mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader/d3d-asm: Include the I/O signatures when tracing vsir code.
This commit is contained in:
committed by
Henri Verbeet
parent
24e61cf74e
commit
f4e10ea9d5
Notes:
Henri Verbeet
2025-04-14 22:03:34 +02:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1446
@@ -2271,6 +2271,10 @@ enum vkd3d_result d3d_asm_compile(const struct vsir_program *program,
|
||||
indent_str = " ";
|
||||
else
|
||||
indent_str = "";
|
||||
/* The signatures we emit only make sense for DXBC shaders. d3dbc doesn't
|
||||
* even have an explicit concept of signature. */
|
||||
if (formatting & VKD3D_SHADER_COMPILE_OPTION_FORMATTING_IO_SIGNATURES && shader_version->major >= 4)
|
||||
compiler.flags |= VSIR_ASM_FLAG_DUMP_SIGNATURES;
|
||||
|
||||
buffer = &compiler.buffer;
|
||||
vkd3d_string_buffer_init(buffer);
|
||||
@@ -2281,16 +2285,12 @@ enum vkd3d_result d3d_asm_compile(const struct vsir_program *program,
|
||||
shader_get_type_prefix(shader_version->type), shader_version->major,
|
||||
shader_version->minor, compiler.colours.reset);
|
||||
|
||||
/* The signatures we emit only make sense for DXBC shaders. D3DBC
|
||||
* doesn't even have an explicit concept of signature. */
|
||||
if (formatting & VKD3D_SHADER_COMPILE_OPTION_FORMATTING_IO_SIGNATURES && shader_version->major >= 4)
|
||||
{
|
||||
if ((result = dump_dxbc_signatures(&compiler, program)) < 0)
|
||||
if (compiler.flags & VSIR_ASM_FLAG_DUMP_SIGNATURES
|
||||
&& (result = dump_dxbc_signatures(&compiler, program)) < 0)
|
||||
{
|
||||
vkd3d_string_buffer_cleanup(buffer);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
indent = 0;
|
||||
for (i = 0; i < program->instructions.count; ++i)
|
||||
@@ -2417,7 +2417,8 @@ static void trace_io_declarations(const struct vsir_program *program)
|
||||
|
||||
void vsir_program_trace(const struct vsir_program *program)
|
||||
{
|
||||
const unsigned int flags = VSIR_ASM_FLAG_DUMP_TYPES | VSIR_ASM_FLAG_DUMP_ALL_INDICES;
|
||||
const unsigned int flags = VSIR_ASM_FLAG_DUMP_TYPES | VSIR_ASM_FLAG_DUMP_ALL_INDICES
|
||||
| VSIR_ASM_FLAG_DUMP_SIGNATURES;
|
||||
struct vkd3d_shader_code code;
|
||||
const char *p, *q, *end;
|
||||
|
||||
|
@@ -1564,6 +1564,7 @@ enum vsir_asm_flags
|
||||
VSIR_ASM_FLAG_NONE = 0,
|
||||
VSIR_ASM_FLAG_DUMP_TYPES = 0x1,
|
||||
VSIR_ASM_FLAG_DUMP_ALL_INDICES = 0x2,
|
||||
VSIR_ASM_FLAG_DUMP_SIGNATURES = 0x4,
|
||||
};
|
||||
|
||||
enum vkd3d_result d3d_asm_compile(const struct vsir_program *program,
|
||||
|
Reference in New Issue
Block a user