Module: vkd3d Branch: master Commit: 988cf2154b80ba3ae8adcbd49b5dadb0d82bd5e7 URL: https://source.winehq.org/git/vkd3d.git/?a=commit;h=988cf2154b80ba3ae8adcbd4...
Author: Józef Kucia jkucia@codeweavers.com Date: Tue Jun 5 13:52:56 2018 +0200
libs/vkd3d-shader: Factor out shader_dump_version().
Signed-off-by: Józef Kucia jkucia@codeweavers.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
libs/vkd3d-shader/trace.c | 58 +++++++++++++++++++++++++---------------------- 1 file changed, 31 insertions(+), 27 deletions(-)
diff --git a/libs/vkd3d-shader/trace.c b/libs/vkd3d-shader/trace.c index faa009e..ce8db46 100644 --- a/libs/vkd3d-shader/trace.c +++ b/libs/vkd3d-shader/trace.c @@ -1234,58 +1234,62 @@ static void shader_dump_interpolation_mode(struct vkd3d_string_buffer *buffer, } }
-void vkd3d_shader_trace(void *data) +static void shader_dump_version(struct vkd3d_string_buffer *buffer, + const struct vkd3d_shader_version *shader_version) { - struct vkd3d_shader_version shader_version; - struct vkd3d_string_buffer buffer; - const char *type_prefix; - const char *p, *q; - const DWORD *ptr; - DWORD i; + const char *prefix;
- if (!string_buffer_init(&buffer)) - { - ERR("Failed to initialize string buffer.\n"); - return; - } - - shader_sm4_read_header(data, &ptr, &shader_version); - - TRACE("Parsing %p.\n", ptr); - - switch (shader_version.type) + switch (shader_version->type) { case VKD3D_SHADER_TYPE_VERTEX: - type_prefix = "vs"; + prefix = "vs"; break;
case VKD3D_SHADER_TYPE_HULL: - type_prefix = "hs"; + prefix = "hs"; break;
case VKD3D_SHADER_TYPE_DOMAIN: - type_prefix = "ds"; + prefix = "ds"; break;
case VKD3D_SHADER_TYPE_GEOMETRY: - type_prefix = "gs"; + prefix = "gs"; break;
case VKD3D_SHADER_TYPE_PIXEL: - type_prefix = "ps"; + prefix = "ps"; break;
case VKD3D_SHADER_TYPE_COMPUTE: - type_prefix = "cs"; + prefix = "cs"; break;
default: - FIXME("Unhandled shader type %#x.\n", shader_version.type); - type_prefix = "unknown"; + FIXME("Unhandled shader type %#x.\n", shader_version->type); + prefix = "unknown"; break; }
- shader_addline(&buffer, "%s_%u_%u\n", type_prefix, shader_version.major, shader_version.minor); + shader_addline(buffer, "%s_%u_%u\n", prefix, shader_version->major, shader_version->minor); +} + +void vkd3d_shader_trace(void *data) +{ + struct vkd3d_shader_version shader_version; + struct vkd3d_string_buffer buffer; + const char *p, *q; + const DWORD *ptr; + DWORD i; + + if (!string_buffer_init(&buffer)) + { + ERR("Failed to initialize string buffer.\n"); + return; + } + + shader_sm4_read_header(data, &ptr, &shader_version); + shader_dump_version(&buffer, &shader_version);
while (!shader_sm4_is_end(data, &ptr)) {