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 = " ";
|
indent_str = " ";
|
||||||
else
|
else
|
||||||
indent_str = "";
|
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;
|
buffer = &compiler.buffer;
|
||||||
vkd3d_string_buffer_init(buffer);
|
vkd3d_string_buffer_init(buffer);
|
||||||
@@ -2281,15 +2285,11 @@ enum vkd3d_result d3d_asm_compile(const struct vsir_program *program,
|
|||||||
shader_get_type_prefix(shader_version->type), shader_version->major,
|
shader_get_type_prefix(shader_version->type), shader_version->major,
|
||||||
shader_version->minor, compiler.colours.reset);
|
shader_version->minor, compiler.colours.reset);
|
||||||
|
|
||||||
/* The signatures we emit only make sense for DXBC shaders. D3DBC
|
if (compiler.flags & VSIR_ASM_FLAG_DUMP_SIGNATURES
|
||||||
* doesn't even have an explicit concept of signature. */
|
&& (result = dump_dxbc_signatures(&compiler, program)) < 0)
|
||||||
if (formatting & VKD3D_SHADER_COMPILE_OPTION_FORMATTING_IO_SIGNATURES && shader_version->major >= 4)
|
|
||||||
{
|
{
|
||||||
if ((result = dump_dxbc_signatures(&compiler, program)) < 0)
|
vkd3d_string_buffer_cleanup(buffer);
|
||||||
{
|
return result;
|
||||||
vkd3d_string_buffer_cleanup(buffer);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
indent = 0;
|
indent = 0;
|
||||||
@@ -2417,7 +2417,8 @@ static void trace_io_declarations(const struct vsir_program *program)
|
|||||||
|
|
||||||
void vsir_program_trace(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;
|
struct vkd3d_shader_code code;
|
||||||
const char *p, *q, *end;
|
const char *p, *q, *end;
|
||||||
|
|
||||||
|
@@ -1564,6 +1564,7 @@ enum vsir_asm_flags
|
|||||||
VSIR_ASM_FLAG_NONE = 0,
|
VSIR_ASM_FLAG_NONE = 0,
|
||||||
VSIR_ASM_FLAG_DUMP_TYPES = 0x1,
|
VSIR_ASM_FLAG_DUMP_TYPES = 0x1,
|
||||||
VSIR_ASM_FLAG_DUMP_ALL_INDICES = 0x2,
|
VSIR_ASM_FLAG_DUMP_ALL_INDICES = 0x2,
|
||||||
|
VSIR_ASM_FLAG_DUMP_SIGNATURES = 0x4,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum vkd3d_result d3d_asm_compile(const struct vsir_program *program,
|
enum vkd3d_result d3d_asm_compile(const struct vsir_program *program,
|
||||||
|
Reference in New Issue
Block a user