vulkan_device: Enable float64 and int64 conditionally
Add Intel Xe support.
This commit is contained in:
		@@ -251,8 +251,8 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
 | 
			
		||||
            .shaderStorageImageArrayDynamicIndexing = false,
 | 
			
		||||
            .shaderClipDistance = true,
 | 
			
		||||
            .shaderCullDistance = true,
 | 
			
		||||
            .shaderFloat64 = true,
 | 
			
		||||
            .shaderInt64 = true,
 | 
			
		||||
            .shaderFloat64 = is_shader_float64_supported,
 | 
			
		||||
            .shaderInt64 = is_shader_int64_supported,
 | 
			
		||||
            .shaderInt16 = true,
 | 
			
		||||
            .shaderResourceResidency = false,
 | 
			
		||||
            .shaderResourceMinLod = false,
 | 
			
		||||
@@ -909,6 +909,8 @@ void Device::SetupFamilies(VkSurfaceKHR surface) {
 | 
			
		||||
void Device::SetupFeatures() {
 | 
			
		||||
    const VkPhysicalDeviceFeatures features{physical.GetFeatures()};
 | 
			
		||||
    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_blit_depth_stencil_supported = TestDepthStencilBlits();
 | 
			
		||||
    is_optimal_astc_supported = IsOptimalAstcSupported(features);
 | 
			
		||||
 
 | 
			
		||||
@@ -314,6 +314,8 @@ private:
 | 
			
		||||
    bool is_float16_supported{};                ///< Support for float16 arithmetics.
 | 
			
		||||
    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_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_blit_depth_stencil_supported{};     ///< Support for blitting from and to depth stencil.
 | 
			
		||||
    bool nv_viewport_swizzle{};                 ///< Support for VK_NV_viewport_swizzle.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user