mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-01-28 13:05:02 -08:00
vkd3d-shader: Enable Float64 capability if flagged in DXBC.
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
1a542a4bba
commit
d027ac4c15
@ -5128,6 +5128,12 @@ static void vkd3d_dxbc_compiler_emit_dcl_global_flags(struct vkd3d_dxbc_compiler
|
|||||||
flags &= ~VKD3DSGF_FORCE_EARLY_DEPTH_STENCIL;
|
flags &= ~VKD3DSGF_FORCE_EARLY_DEPTH_STENCIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (flags & (VKD3DSGF_ENABLE_DOUBLE_PRECISION_FLOAT_OPS | VKD3DSGF_ENABLE_11_1_DOUBLE_EXTENSIONS))
|
||||||
|
{
|
||||||
|
vkd3d_spirv_enable_capability(&compiler->spirv_builder, SpvCapabilityFloat64);
|
||||||
|
flags &= ~(VKD3DSGF_ENABLE_DOUBLE_PRECISION_FLOAT_OPS | VKD3DSGF_ENABLE_11_1_DOUBLE_EXTENSIONS);
|
||||||
|
}
|
||||||
|
|
||||||
if (flags & ~(VKD3DSGF_REFACTORING_ALLOWED | VKD3DSGF_ENABLE_RAW_AND_STRUCTURED_BUFFERS))
|
if (flags & ~(VKD3DSGF_REFACTORING_ALLOWED | VKD3DSGF_ENABLE_RAW_AND_STRUCTURED_BUFFERS))
|
||||||
FIXME("Unhandled global flags %#x.\n", flags);
|
FIXME("Unhandled global flags %#x.\n", flags);
|
||||||
else
|
else
|
||||||
|
@ -486,10 +486,12 @@ enum vkd3d_shader_interpolation_mode
|
|||||||
enum vkd3d_shader_global_flags
|
enum vkd3d_shader_global_flags
|
||||||
{
|
{
|
||||||
VKD3DSGF_REFACTORING_ALLOWED = 0x01,
|
VKD3DSGF_REFACTORING_ALLOWED = 0x01,
|
||||||
|
VKD3DSGF_ENABLE_DOUBLE_PRECISION_FLOAT_OPS = 0x02,
|
||||||
VKD3DSGF_FORCE_EARLY_DEPTH_STENCIL = 0x04,
|
VKD3DSGF_FORCE_EARLY_DEPTH_STENCIL = 0x04,
|
||||||
VKD3DSGF_ENABLE_RAW_AND_STRUCTURED_BUFFERS = 0x08,
|
VKD3DSGF_ENABLE_RAW_AND_STRUCTURED_BUFFERS = 0x08,
|
||||||
VKD3DSGF_SKIP_OPTIMIZATION = 0x10,
|
VKD3DSGF_SKIP_OPTIMIZATION = 0x10,
|
||||||
VKD3DSGF_ENABLE_MINIMUM_PRECISION = 0x20
|
VKD3DSGF_ENABLE_MINIMUM_PRECISION = 0x20,
|
||||||
|
VKD3DSGF_ENABLE_11_1_DOUBLE_EXTENSIONS = 0x40,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum vkd3d_shader_sync_flags
|
enum vkd3d_shader_sync_flags
|
||||||
|
Loading…
x
Reference in New Issue
Block a user