vulkan_device: Enable float64 and int64 conditionally
Add Intel Xe support.
This commit is contained in:
parent
d093522fac
commit
99f2c31b64
|
@ -251,8 +251,8 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
|
||||||
.shaderStorageImageArrayDynamicIndexing = false,
|
.shaderStorageImageArrayDynamicIndexing = false,
|
||||||
.shaderClipDistance = true,
|
.shaderClipDistance = true,
|
||||||
.shaderCullDistance = true,
|
.shaderCullDistance = true,
|
||||||
.shaderFloat64 = true,
|
.shaderFloat64 = is_shader_float64_supported,
|
||||||
.shaderInt64 = true,
|
.shaderInt64 = is_shader_int64_supported,
|
||||||
.shaderInt16 = true,
|
.shaderInt16 = true,
|
||||||
.shaderResourceResidency = false,
|
.shaderResourceResidency = false,
|
||||||
.shaderResourceMinLod = false,
|
.shaderResourceMinLod = false,
|
||||||
|
@ -909,6 +909,8 @@ void Device::SetupFamilies(VkSurfaceKHR surface) {
|
||||||
void Device::SetupFeatures() {
|
void Device::SetupFeatures() {
|
||||||
const VkPhysicalDeviceFeatures features{physical.GetFeatures()};
|
const VkPhysicalDeviceFeatures features{physical.GetFeatures()};
|
||||||
is_formatless_image_load_supported = features.shaderStorageImageReadWithoutFormat;
|
is_formatless_image_load_supported = features.shaderStorageImageReadWithoutFormat;
|
||||||
|
is_shader_float64_supported = features.shaderFloat64;
|
||||||
|
is_shader_int64_supported = features.shaderInt64;
|
||||||
is_shader_storage_image_multisample = features.shaderStorageImageMultisample;
|
is_shader_storage_image_multisample = features.shaderStorageImageMultisample;
|
||||||
is_blit_depth_stencil_supported = TestDepthStencilBlits();
|
is_blit_depth_stencil_supported = TestDepthStencilBlits();
|
||||||
is_optimal_astc_supported = IsOptimalAstcSupported(features);
|
is_optimal_astc_supported = IsOptimalAstcSupported(features);
|
||||||
|
|
|
@ -314,6 +314,8 @@ private:
|
||||||
bool is_float16_supported{}; ///< Support for float16 arithmetics.
|
bool is_float16_supported{}; ///< Support for float16 arithmetics.
|
||||||
bool is_warp_potentially_bigger{}; ///< Host warp size can be bigger than guest.
|
bool is_warp_potentially_bigger{}; ///< Host warp size can be bigger than guest.
|
||||||
bool is_formatless_image_load_supported{}; ///< Support for shader image read without format.
|
bool is_formatless_image_load_supported{}; ///< Support for shader image read without format.
|
||||||
|
bool is_shader_float64_supported{}; ///< Support for float64.
|
||||||
|
bool is_shader_int64_supported{}; ///< Support for int64.
|
||||||
bool is_shader_storage_image_multisample{}; ///< Support for image operations on MSAA images.
|
bool is_shader_storage_image_multisample{}; ///< Support for image operations on MSAA images.
|
||||||
bool is_blit_depth_stencil_supported{}; ///< Support for blitting from and to depth stencil.
|
bool is_blit_depth_stencil_supported{}; ///< Support for blitting from and to depth stencil.
|
||||||
bool nv_viewport_swizzle{}; ///< Support for VK_NV_viewport_swizzle.
|
bool nv_viewport_swizzle{}; ///< Support for VK_NV_viewport_swizzle.
|
||||||
|
|
Reference in New Issue