mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader: Describe the resource data types of samplers as NONE.
It used to be UINT before, but it doesn't make any sense.
This commit is contained in:
committed by
Henri Verbeet
parent
f02ea94c42
commit
869e6ef583
Notes:
Henri Verbeet
2025-04-16 16:52:04 +02:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1447
@@ -2076,6 +2076,11 @@ enum vkd3d_shader_resource_type
|
||||
*/
|
||||
enum vkd3d_shader_resource_data_type
|
||||
{
|
||||
/**
|
||||
* The descriptor has no relevant data type. This value is returned for
|
||||
* samplers. \since 1.16
|
||||
*/
|
||||
VKD3D_SHADER_RESOURCE_DATA_NONE = 0x0,
|
||||
/** Unsigned normalized integer. */
|
||||
VKD3D_SHADER_RESOURCE_DATA_UNORM = 0x1,
|
||||
/** Signed normalized integer. */
|
||||
|
@@ -1111,7 +1111,7 @@ static void vkd3d_shader_scan_sampler_declaration(struct vkd3d_shader_scan_conte
|
||||
struct vkd3d_shader_descriptor_info1 *d;
|
||||
|
||||
if (!(d = vkd3d_shader_scan_add_descriptor(context, VKD3D_SHADER_DESCRIPTOR_TYPE_SAMPLER,
|
||||
&sampler->src.reg, &sampler->range, VKD3D_SHADER_RESOURCE_NONE, VKD3D_DATA_UINT)))
|
||||
&sampler->src.reg, &sampler->range, VKD3D_SHADER_RESOURCE_NONE, VKD3D_DATA_UNUSED)))
|
||||
return;
|
||||
|
||||
if (instruction->flags & VKD3DSI_SAMPLER_COMPARISON_MODE)
|
||||
@@ -1122,7 +1122,7 @@ static void vkd3d_shader_scan_combined_sampler_declaration(
|
||||
struct vkd3d_shader_scan_context *context, const struct vkd3d_shader_semantic *semantic)
|
||||
{
|
||||
vkd3d_shader_scan_add_descriptor(context, VKD3D_SHADER_DESCRIPTOR_TYPE_SAMPLER, &semantic->resource.reg.reg,
|
||||
&semantic->resource.range, VKD3D_SHADER_RESOURCE_NONE, VKD3D_DATA_UINT);
|
||||
&semantic->resource.range, VKD3D_SHADER_RESOURCE_NONE, VKD3D_DATA_UNUSED);
|
||||
vkd3d_shader_scan_add_descriptor(context, VKD3D_SHADER_DESCRIPTOR_TYPE_SRV, &semantic->resource.reg.reg,
|
||||
&semantic->resource.range, semantic->resource_type, VKD3D_DATA_FLOAT);
|
||||
}
|
||||
@@ -1520,6 +1520,8 @@ static enum vkd3d_shader_resource_data_type vkd3d_resource_data_type_from_data_t
|
||||
return VKD3D_SHADER_RESOURCE_DATA_DOUBLE;
|
||||
case VKD3D_DATA_CONTINUED:
|
||||
return VKD3D_SHADER_RESOURCE_DATA_CONTINUED;
|
||||
case VKD3D_DATA_UNUSED:
|
||||
return VKD3D_SHADER_RESOURCE_DATA_NONE;
|
||||
default:
|
||||
ERR("Invalid resource data type %#x.\n", data_type);
|
||||
return VKD3D_SHADER_RESOURCE_DATA_FLOAT;
|
||||
@@ -1547,6 +1549,10 @@ static enum vkd3d_result convert_descriptor_info(struct vkd3d_shader_scan_contex
|
||||
dst->flags = src->flags;
|
||||
dst->count = src->count;
|
||||
|
||||
if (context->api_version <= VKD3D_SHADER_API_VERSION_1_15
|
||||
&& dst->type == VKD3D_SHADER_DESCRIPTOR_TYPE_SAMPLER)
|
||||
dst->resource_data_type = VKD3D_SHADER_RESOURCE_DATA_UINT;
|
||||
|
||||
if (context->api_version < VKD3D_SHADER_API_VERSION_1_3
|
||||
&& dst->resource_data_type >= VKD3D_SHADER_RESOURCE_DATA_MIXED)
|
||||
{
|
||||
|
Reference in New Issue
Block a user