mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-01-28 13:05:02 -08:00
vkd3d-shader: Add shader component type double.
Based on a vkd3d-proton patch by Joshua Ashton. Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
e6a676410a
commit
4b919a10ad
@ -1177,6 +1177,8 @@ enum vkd3d_shader_component_type
|
|||||||
VKD3D_SHADER_COMPONENT_FLOAT = 0x3,
|
VKD3D_SHADER_COMPONENT_FLOAT = 0x3,
|
||||||
/** Boolean. */
|
/** Boolean. */
|
||||||
VKD3D_SHADER_COMPONENT_BOOL = 0x4,
|
VKD3D_SHADER_COMPONENT_BOOL = 0x4,
|
||||||
|
/** 64-bit IEEE floating-point. */
|
||||||
|
VKD3D_SHADER_COMPONENT_DOUBLE = 0x5,
|
||||||
|
|
||||||
VKD3D_FORCE_32_BIT_ENUM(VKD3D_SHADER_COMPONENT_TYPE),
|
VKD3D_FORCE_32_BIT_ENUM(VKD3D_SHADER_COMPONENT_TYPE),
|
||||||
};
|
};
|
||||||
|
@ -1714,6 +1714,8 @@ static uint32_t vkd3d_spirv_get_type_id(struct vkd3d_spirv_builder *builder,
|
|||||||
case VKD3D_SHADER_COMPONENT_BOOL:
|
case VKD3D_SHADER_COMPONENT_BOOL:
|
||||||
return vkd3d_spirv_get_op_type_bool(builder);
|
return vkd3d_spirv_get_op_type_bool(builder);
|
||||||
break;
|
break;
|
||||||
|
case VKD3D_SHADER_COMPONENT_DOUBLE:
|
||||||
|
return vkd3d_spirv_get_op_type_float(builder, 64);
|
||||||
default:
|
default:
|
||||||
FIXME("Unhandled component type %#x.\n", component_type);
|
FIXME("Unhandled component type %#x.\n", component_type);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -977,6 +977,8 @@ static inline enum vkd3d_shader_component_type vkd3d_component_type_from_data_ty
|
|||||||
return VKD3D_SHADER_COMPONENT_UINT;
|
return VKD3D_SHADER_COMPONENT_UINT;
|
||||||
case VKD3D_DATA_INT:
|
case VKD3D_DATA_INT:
|
||||||
return VKD3D_SHADER_COMPONENT_INT;
|
return VKD3D_SHADER_COMPONENT_INT;
|
||||||
|
case VKD3D_DATA_DOUBLE:
|
||||||
|
return VKD3D_SHADER_COMPONENT_DOUBLE;
|
||||||
default:
|
default:
|
||||||
FIXME("Unhandled data type %#x.\n", data_type);
|
FIXME("Unhandled data type %#x.\n", data_type);
|
||||||
return VKD3D_SHADER_COMPONENT_UINT;
|
return VKD3D_SHADER_COMPONENT_UINT;
|
||||||
@ -994,6 +996,8 @@ static inline enum vkd3d_data_type vkd3d_data_type_from_component_type(
|
|||||||
return VKD3D_DATA_UINT;
|
return VKD3D_DATA_UINT;
|
||||||
case VKD3D_SHADER_COMPONENT_INT:
|
case VKD3D_SHADER_COMPONENT_INT:
|
||||||
return VKD3D_DATA_INT;
|
return VKD3D_DATA_INT;
|
||||||
|
case VKD3D_SHADER_COMPONENT_DOUBLE:
|
||||||
|
return VKD3D_DATA_DOUBLE;
|
||||||
default:
|
default:
|
||||||
FIXME("Unhandled component type %#x.\n", component_type);
|
FIXME("Unhandled component type %#x.\n", component_type);
|
||||||
return VKD3D_DATA_FLOAT;
|
return VKD3D_DATA_FLOAT;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user