mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-01-28 13:05:02 -08:00
vkd3d-shader: Handle a NULL descriptor info in vkd3d_shader_scan_add_descriptor().
This commit is contained in:
parent
ea554b91d7
commit
a668f1ce1c
Notes:
Alexandre Julliard
2023-10-31 22:38:48 +01:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/428
@ -784,6 +784,9 @@ static struct vkd3d_shader_descriptor_info1 *vkd3d_shader_scan_add_descriptor(st
|
||||
struct vkd3d_shader_scan_descriptor_info1 *info = context->scan_descriptor_info;
|
||||
struct vkd3d_shader_descriptor_info1 *d;
|
||||
|
||||
if (!info)
|
||||
return NULL;
|
||||
|
||||
if (!vkd3d_array_reserve((void **)&info->descriptors, &context->descriptors_size,
|
||||
info->descriptor_count + 1, sizeof(*info->descriptors)))
|
||||
{
|
||||
@ -811,9 +814,6 @@ static void vkd3d_shader_scan_constant_buffer_declaration(struct vkd3d_shader_sc
|
||||
const struct vkd3d_shader_constant_buffer *cb = &instruction->declaration.cb;
|
||||
struct vkd3d_shader_descriptor_info1 *d;
|
||||
|
||||
if (!context->scan_descriptor_info)
|
||||
return;
|
||||
|
||||
if (!(d = vkd3d_shader_scan_add_descriptor(context, VKD3D_SHADER_DESCRIPTOR_TYPE_CBV,
|
||||
&cb->src.reg, &cb->range, VKD3D_SHADER_RESOURCE_BUFFER, VKD3D_SHADER_RESOURCE_DATA_UINT)))
|
||||
return;
|
||||
@ -826,9 +826,6 @@ static void vkd3d_shader_scan_sampler_declaration(struct vkd3d_shader_scan_conte
|
||||
const struct vkd3d_shader_sampler *sampler = &instruction->declaration.sampler;
|
||||
struct vkd3d_shader_descriptor_info1 *d;
|
||||
|
||||
if (!context->scan_descriptor_info)
|
||||
return;
|
||||
|
||||
if (!(d = vkd3d_shader_scan_add_descriptor(context, VKD3D_SHADER_DESCRIPTOR_TYPE_SAMPLER,
|
||||
&sampler->src.reg, &sampler->range, VKD3D_SHADER_RESOURCE_NONE, VKD3D_SHADER_RESOURCE_DATA_UINT)))
|
||||
return;
|
||||
@ -854,9 +851,6 @@ static void vkd3d_shader_scan_resource_declaration(struct vkd3d_shader_scan_cont
|
||||
struct vkd3d_shader_descriptor_info1 *d;
|
||||
enum vkd3d_shader_descriptor_type type;
|
||||
|
||||
if (!context->scan_descriptor_info)
|
||||
return;
|
||||
|
||||
if (resource->reg.reg.type == VKD3DSPR_UAV)
|
||||
type = VKD3D_SHADER_DESCRIPTOR_TYPE_UAV;
|
||||
else
|
||||
|
Loading…
x
Reference in New Issue
Block a user