vkd3d-shader: Add debug log callback to DXIL.

Allows us to capture dxil compiler messages in log.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
This commit is contained in:
Hans-Kristian Arntzen 2020-11-18 14:30:11 +01:00
parent a950191008
commit 27f91b99b0
2 changed files with 24 additions and 1 deletions

View File

@ -369,6 +369,27 @@ static dxil_spv_bool dxil_cbv_remap(void *userdata, const dxil_spv_d3d_binding *
VKD3D_SHADER_BINDING_FLAG_BUFFER);
}
static void vkd3d_dxil_log_callback(void *userdata, dxil_spv_log_level level, const char *msg)
{
/* msg already has a newline. */
(void)userdata;
switch (level)
{
case DXIL_SPV_LOG_LEVEL_ERROR:
ERR("dxil-spirv: %s", msg);
break;
case DXIL_SPV_LOG_LEVEL_WARN:
WARN("dxil-spirv: %s", msg);
break;
default:
case DXIL_SPV_LOG_LEVEL_DEBUG:
TRACE("dxil-spirv: %s", msg);
break;
}
}
int vkd3d_shader_compile_dxil(const struct vkd3d_shader_code *dxbc,
struct vkd3d_shader_code *spirv,
const struct vkd3d_shader_interface_info *shader_interface_info,
@ -388,6 +409,8 @@ int vkd3d_shader_compile_dxil(const struct vkd3d_shader_code *dxbc,
int ret = VKD3D_OK;
void *code;
dxil_spv_set_thread_log_callback(vkd3d_dxil_log_callback, NULL);
hash = vkd3d_shader_hash(dxbc);
spirv->meta.replaced = false;
spirv->meta.hash = hash;

@ -1 +1 @@
Subproject commit 6310e750e648559a1eebf099c44e01fa59274413
Subproject commit 3ae4339d80e43abfc17cb53d23416eff694f237e