mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
vkd3d-dxbc: Print section offsets.
This commit is contained in:
parent
1006e8cbd4
commit
6743439e97
Notes:
Alexandre Julliard
2023-10-02 22:33:01 +02:00
Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/380
@ -323,7 +323,8 @@ static void dump_data(const struct colours *colours, const char *prefix, const s
|
|||||||
printf("%s%s%08zx%s\n", prefix, colours->offset, data->size, colours->reset);
|
printf("%s%s%08zx%s\n", prefix, colours->offset, data->size, colours->reset);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dump_dxbc(const struct vkd3d_shader_dxbc_desc *dxbc_desc, const struct options *options)
|
static void dump_dxbc(const struct vkd3d_shader_code *dxbc, const struct vkd3d_shader_dxbc_desc *dxbc_desc,
|
||||||
|
const struct options *options)
|
||||||
{
|
{
|
||||||
const struct colours *colours = &options->colours;
|
const struct colours *colours = &options->colours;
|
||||||
struct vkd3d_shader_dxbc_section_desc *section;
|
struct vkd3d_shader_dxbc_section_desc *section;
|
||||||
@ -341,17 +342,24 @@ static void dump_dxbc(const struct vkd3d_shader_dxbc_desc *dxbc_desc, const stru
|
|||||||
printf(" %ssize%s: %#zx (%zu) bytes\n", colours->label, colours->reset, dxbc_desc->size, dxbc_desc->size);
|
printf(" %ssize%s: %#zx (%zu) bytes\n", colours->label, colours->reset, dxbc_desc->size, dxbc_desc->size);
|
||||||
printf(" %ssections%s: %zu\n\n", colours->label, colours->reset, dxbc_desc->section_count);
|
printf(" %ssections%s: %zu\n\n", colours->label, colours->reset, dxbc_desc->section_count);
|
||||||
|
|
||||||
printf(" %s#%s %stag%s %ssize%s\n",
|
printf(" %s#%s %stag%s %ssize (bytes)%s %soffset (bytes)%s\n",
|
||||||
|
colours->label, colours->reset,
|
||||||
colours->label, colours->reset,
|
colours->label, colours->reset,
|
||||||
colours->label, colours->reset,
|
colours->label, colours->reset,
|
||||||
colours->label, colours->reset);
|
colours->label, colours->reset);
|
||||||
for (i = 0; i < dxbc_desc->section_count; ++i)
|
for (i = 0; i < dxbc_desc->section_count; ++i)
|
||||||
{
|
{
|
||||||
|
char dec_size[32];
|
||||||
|
size_t offset;
|
||||||
|
|
||||||
section = &dxbc_desc->sections[i];
|
section = &dxbc_desc->sections[i];
|
||||||
printf("%s%2zu%s %08x (%.4s) 0x%08zx (%zu) bytes\n",
|
sprintf(dec_size, "(%zu)", section->data.size);
|
||||||
|
offset = (char *)section->data.code - (char *)dxbc->code;
|
||||||
|
printf("%s%2zu%s %08x (%.4s) 0x%08zx %-13s 0x%08zx (%zu)\n",
|
||||||
colours->index, i, colours->reset,
|
colours->index, i, colours->reset,
|
||||||
section->tag, dump_tag(tag, section->tag),
|
section->tag, dump_tag(tag, section->tag),
|
||||||
section->data.size, section->data.size);
|
section->data.size, dec_size,
|
||||||
|
offset, offset);
|
||||||
|
|
||||||
if (!options->list_data)
|
if (!options->list_data)
|
||||||
continue;
|
continue;
|
||||||
@ -409,7 +417,7 @@ int main(int argc, char **argv)
|
|||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
if (options.list || options.list_data)
|
if (options.list || options.list_data)
|
||||||
dump_dxbc(&dxbc_desc, &options);
|
dump_dxbc(&dxbc, &dxbc_desc, &options);
|
||||||
|
|
||||||
vkd3d_shader_free_dxbc(&dxbc_desc);
|
vkd3d_shader_free_dxbc(&dxbc_desc);
|
||||||
vkd3d_shader_free_shader_code(&dxbc);
|
vkd3d_shader_free_shader_code(&dxbc);
|
||||||
|
Loading…
Reference in New Issue
Block a user