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
|
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. */
|
/** Unsigned normalized integer. */
|
||||||
VKD3D_SHADER_RESOURCE_DATA_UNORM = 0x1,
|
VKD3D_SHADER_RESOURCE_DATA_UNORM = 0x1,
|
||||||
/** Signed normalized integer. */
|
/** 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;
|
struct vkd3d_shader_descriptor_info1 *d;
|
||||||
|
|
||||||
if (!(d = vkd3d_shader_scan_add_descriptor(context, VKD3D_SHADER_DESCRIPTOR_TYPE_SAMPLER,
|
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;
|
return;
|
||||||
|
|
||||||
if (instruction->flags & VKD3DSI_SAMPLER_COMPARISON_MODE)
|
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)
|
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,
|
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,
|
vkd3d_shader_scan_add_descriptor(context, VKD3D_SHADER_DESCRIPTOR_TYPE_SRV, &semantic->resource.reg.reg,
|
||||||
&semantic->resource.range, semantic->resource_type, VKD3D_DATA_FLOAT);
|
&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;
|
return VKD3D_SHADER_RESOURCE_DATA_DOUBLE;
|
||||||
case VKD3D_DATA_CONTINUED:
|
case VKD3D_DATA_CONTINUED:
|
||||||
return VKD3D_SHADER_RESOURCE_DATA_CONTINUED;
|
return VKD3D_SHADER_RESOURCE_DATA_CONTINUED;
|
||||||
|
case VKD3D_DATA_UNUSED:
|
||||||
|
return VKD3D_SHADER_RESOURCE_DATA_NONE;
|
||||||
default:
|
default:
|
||||||
ERR("Invalid resource data type %#x.\n", data_type);
|
ERR("Invalid resource data type %#x.\n", data_type);
|
||||||
return VKD3D_SHADER_RESOURCE_DATA_FLOAT;
|
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->flags = src->flags;
|
||||||
dst->count = src->count;
|
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
|
if (context->api_version < VKD3D_SHADER_API_VERSION_1_3
|
||||||
&& dst->resource_data_type >= VKD3D_SHADER_RESOURCE_DATA_MIXED)
|
&& dst->resource_data_type >= VKD3D_SHADER_RESOURCE_DATA_MIXED)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user