Luca Bacci 2023-03-27 17:53:11 +02:00 committed by Marge Bot
parent 7f7b2fc53a
commit 098342ce53
3 changed files with 12 additions and 5 deletions

View file

@ -75,8 +75,7 @@ d3d12_context_destroy(struct pipe_context *pctx)
mtx_unlock(&screen->submit_mutex);
#ifdef _WIN32
if (ctx->dxil_validator)
dxil_destroy_validator(ctx->dxil_validator);
dxil_destroy_validator(ctx->dxil_validator);
#endif
#ifndef _GAMING_XBOX

View file

@ -237,6 +237,9 @@ fail:
void
dxil_destroy_validator(struct dxil_validator *val)
{
if (!val)
return;
/* if we have a validator, we have these */
val->dxc_validator->Release();
FreeLibrary(val->dxil_mod);
@ -299,6 +302,9 @@ public:
bool
dxil_validate_module(struct dxil_validator *val, void *data, size_t size, char **error)
{
if (!val)
return false;
ShaderBlob source(data, size);
ComPtr<IDxcOperationResult> result;
@ -337,6 +343,9 @@ dxil_validate_module(struct dxil_validator *val, void *data, size_t size, char *
char *
dxil_disasm_module(struct dxil_validator *val, void *data, size_t size)
{
if (!val)
return NULL;
if (!val->dxc_compiler || !val->dxc_library) {
fprintf(stderr, "DXIL: disassembly requires IDxcLibrary and "
"IDxcCompiler from dxcompiler.dll\n");
@ -364,5 +373,5 @@ dxil_disasm_module(struct dxil_validator *val, void *data, size_t size)
enum dxil_validator_version
dxil_get_validator_version(struct dxil_validator *val)
{
return val->version;
return val ? val->version : NO_DXIL_VALIDATION;
}

View file

@ -219,8 +219,7 @@ dzn_instance_destroy(struct dzn_instance *instance, const VkAllocationCallbacks
vk_instance_finish(&instance->vk);
#ifdef _WIN32
if (instance->dxil_validator)
dxil_destroy_validator(instance->dxil_validator);
dxil_destroy_validator(instance->dxil_validator);
#endif
if (instance->factory)