mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-01-28 13:05:02 -08:00
vkd3d-shader: Add sample count to struct vkd3d_shader_descriptor_info1.
This commit is contained in:
parent
ccedb7f711
commit
8c465c81cf
Notes:
Alexandre Julliard
2023-08-23 22:51:23 +02:00
Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/304
@ -815,8 +815,9 @@ static void vkd3d_shader_scan_sampler_declaration(struct vkd3d_shader_scan_conte
|
|||||||
|
|
||||||
static void vkd3d_shader_scan_resource_declaration(struct vkd3d_shader_scan_context *context,
|
static void vkd3d_shader_scan_resource_declaration(struct vkd3d_shader_scan_context *context,
|
||||||
const struct vkd3d_shader_resource *resource, enum vkd3d_shader_resource_type resource_type,
|
const struct vkd3d_shader_resource *resource, enum vkd3d_shader_resource_type resource_type,
|
||||||
enum vkd3d_shader_resource_data_type resource_data_type)
|
enum vkd3d_shader_resource_data_type resource_data_type, unsigned int sample_count)
|
||||||
{
|
{
|
||||||
|
struct vkd3d_shader_descriptor_info1 *d;
|
||||||
enum vkd3d_shader_descriptor_type type;
|
enum vkd3d_shader_descriptor_type type;
|
||||||
|
|
||||||
if (!context->scan_descriptor_info)
|
if (!context->scan_descriptor_info)
|
||||||
@ -826,8 +827,10 @@ static void vkd3d_shader_scan_resource_declaration(struct vkd3d_shader_scan_cont
|
|||||||
type = VKD3D_SHADER_DESCRIPTOR_TYPE_UAV;
|
type = VKD3D_SHADER_DESCRIPTOR_TYPE_UAV;
|
||||||
else
|
else
|
||||||
type = VKD3D_SHADER_DESCRIPTOR_TYPE_SRV;
|
type = VKD3D_SHADER_DESCRIPTOR_TYPE_SRV;
|
||||||
vkd3d_shader_scan_add_descriptor(context, type, &resource->reg.reg, &resource->range,
|
if (!(d = vkd3d_shader_scan_add_descriptor(context, type, &resource->reg.reg,
|
||||||
resource_type, resource_data_type);
|
&resource->range, resource_type, resource_data_type)))
|
||||||
|
return;
|
||||||
|
d->sample_count = sample_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void vkd3d_shader_scan_typed_resource_declaration(struct vkd3d_shader_scan_context *context,
|
static void vkd3d_shader_scan_typed_resource_declaration(struct vkd3d_shader_scan_context *context,
|
||||||
@ -886,7 +889,7 @@ static void vkd3d_shader_scan_typed_resource_declaration(struct vkd3d_shader_sca
|
|||||||
}
|
}
|
||||||
|
|
||||||
vkd3d_shader_scan_resource_declaration(context, &semantic->resource,
|
vkd3d_shader_scan_resource_declaration(context, &semantic->resource,
|
||||||
semantic->resource_type, resource_data_type);
|
semantic->resource_type, resource_data_type, semantic->sample_count);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void vkd3d_shader_scan_error(struct vkd3d_shader_scan_context *context,
|
static void vkd3d_shader_scan_error(struct vkd3d_shader_scan_context *context,
|
||||||
@ -920,12 +923,12 @@ static int vkd3d_shader_scan_instruction(struct vkd3d_shader_scan_context *conte
|
|||||||
case VKD3DSIH_DCL_RESOURCE_RAW:
|
case VKD3DSIH_DCL_RESOURCE_RAW:
|
||||||
case VKD3DSIH_DCL_UAV_RAW:
|
case VKD3DSIH_DCL_UAV_RAW:
|
||||||
vkd3d_shader_scan_resource_declaration(context, &instruction->declaration.raw_resource.resource,
|
vkd3d_shader_scan_resource_declaration(context, &instruction->declaration.raw_resource.resource,
|
||||||
VKD3D_SHADER_RESOURCE_BUFFER, VKD3D_SHADER_RESOURCE_DATA_UINT);
|
VKD3D_SHADER_RESOURCE_BUFFER, VKD3D_SHADER_RESOURCE_DATA_UINT, 0);
|
||||||
break;
|
break;
|
||||||
case VKD3DSIH_DCL_RESOURCE_STRUCTURED:
|
case VKD3DSIH_DCL_RESOURCE_STRUCTURED:
|
||||||
case VKD3DSIH_DCL_UAV_STRUCTURED:
|
case VKD3DSIH_DCL_UAV_STRUCTURED:
|
||||||
vkd3d_shader_scan_resource_declaration(context, &instruction->declaration.structured_resource.resource,
|
vkd3d_shader_scan_resource_declaration(context, &instruction->declaration.structured_resource.resource,
|
||||||
VKD3D_SHADER_RESOURCE_BUFFER, VKD3D_SHADER_RESOURCE_DATA_UINT);
|
VKD3D_SHADER_RESOURCE_BUFFER, VKD3D_SHADER_RESOURCE_DATA_UINT, 0);
|
||||||
break;
|
break;
|
||||||
case VKD3DSIH_IF:
|
case VKD3DSIH_IF:
|
||||||
cf_info = vkd3d_shader_scan_push_cf_info(context);
|
cf_info = vkd3d_shader_scan_push_cf_info(context);
|
||||||
|
@ -1122,6 +1122,7 @@ struct vkd3d_shader_descriptor_info1
|
|||||||
enum vkd3d_shader_resource_type resource_type;
|
enum vkd3d_shader_resource_type resource_type;
|
||||||
enum vkd3d_shader_resource_data_type resource_data_type;
|
enum vkd3d_shader_resource_data_type resource_data_type;
|
||||||
unsigned int flags;
|
unsigned int flags;
|
||||||
|
unsigned int sample_count;
|
||||||
unsigned int count;
|
unsigned int count;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user