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,
|
||||
/** Boolean. */
|
||||
VKD3D_SHADER_COMPONENT_BOOL = 0x4,
|
||||
/** 64-bit IEEE floating-point. */
|
||||
VKD3D_SHADER_COMPONENT_DOUBLE = 0x5,
|
||||
|
||||
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:
|
||||
return vkd3d_spirv_get_op_type_bool(builder);
|
||||
break;
|
||||
case VKD3D_SHADER_COMPONENT_DOUBLE:
|
||||
return vkd3d_spirv_get_op_type_float(builder, 64);
|
||||
default:
|
||||
FIXME("Unhandled component type %#x.\n", component_type);
|
||||
return 0;
|
||||
|
@ -977,6 +977,8 @@ static inline enum vkd3d_shader_component_type vkd3d_component_type_from_data_ty
|
||||
return VKD3D_SHADER_COMPONENT_UINT;
|
||||
case VKD3D_DATA_INT:
|
||||
return VKD3D_SHADER_COMPONENT_INT;
|
||||
case VKD3D_DATA_DOUBLE:
|
||||
return VKD3D_SHADER_COMPONENT_DOUBLE;
|
||||
default:
|
||||
FIXME("Unhandled data type %#x.\n", data_type);
|
||||
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;
|
||||
case VKD3D_SHADER_COMPONENT_INT:
|
||||
return VKD3D_DATA_INT;
|
||||
case VKD3D_SHADER_COMPONENT_DOUBLE:
|
||||
return VKD3D_DATA_DOUBLE;
|
||||
default:
|
||||
FIXME("Unhandled component type %#x.\n", component_type);
|
||||
return VKD3D_DATA_FLOAT;
|
||||
|
Loading…
x
Reference in New Issue
Block a user