mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-03 16:39:01 -06:00 
			
		
		
		
	vulkan: Conditionally use shaderInt16
Add support for Polaris AMD devices.
This commit is contained in:
		@@ -249,7 +249,7 @@ PipelineCache::PipelineCache(RasterizerVulkan& rasterizer_, Tegra::Engines::Maxw
 | 
			
		||||
        .unified_descriptor_binding = true,
 | 
			
		||||
        .support_descriptor_aliasing = true,
 | 
			
		||||
        .support_int8 = true,
 | 
			
		||||
        .support_int16 = true,
 | 
			
		||||
        .support_int16 = device.IsShaderInt16Supported(),
 | 
			
		||||
        .support_vertex_instance_id = false,
 | 
			
		||||
        .support_float_controls = true,
 | 
			
		||||
        .support_separate_denorm_behavior = float_control.denormBehaviorIndependence ==
 | 
			
		||||
 
 | 
			
		||||
@@ -253,7 +253,7 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
 | 
			
		||||
            .shaderCullDistance = true,
 | 
			
		||||
            .shaderFloat64 = is_shader_float64_supported,
 | 
			
		||||
            .shaderInt64 = is_shader_int64_supported,
 | 
			
		||||
            .shaderInt16 = true,
 | 
			
		||||
            .shaderInt16 = is_shader_int16_supported,
 | 
			
		||||
            .shaderResourceResidency = false,
 | 
			
		||||
            .shaderResourceMinLod = false,
 | 
			
		||||
            .sparseBinding = false,
 | 
			
		||||
@@ -912,6 +912,7 @@ void Device::SetupFeatures() {
 | 
			
		||||
    is_formatless_image_load_supported = features.shaderStorageImageReadWithoutFormat;
 | 
			
		||||
    is_shader_float64_supported = features.shaderFloat64;
 | 
			
		||||
    is_shader_int64_supported = features.shaderInt64;
 | 
			
		||||
    is_shader_int16_supported = features.shaderInt16;
 | 
			
		||||
    is_shader_storage_image_multisample = features.shaderStorageImageMultisample;
 | 
			
		||||
    is_blit_depth_stencil_supported = TestDepthStencilBlits();
 | 
			
		||||
    is_optimal_astc_supported = IsOptimalAstcSupported(features);
 | 
			
		||||
 
 | 
			
		||||
@@ -159,6 +159,11 @@ public:
 | 
			
		||||
        return is_formatless_image_load_supported;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// Returns true if shader int16 is supported.
 | 
			
		||||
    bool IsShaderInt16Supported() const {
 | 
			
		||||
        return is_shader_int16_supported;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Returns true if depth bounds is supported.
 | 
			
		||||
    bool IsDepthBoundsSupported() const {
 | 
			
		||||
        return is_depth_bounds_supported;
 | 
			
		||||
@@ -322,6 +327,7 @@ private:
 | 
			
		||||
    bool is_depth_bounds_supported{};           ///< Support for depth bounds.
 | 
			
		||||
    bool is_shader_float64_supported{};         ///< Support for float64.
 | 
			
		||||
    bool is_shader_int64_supported{};           ///< Support for int64.
 | 
			
		||||
    bool is_shader_int16_supported{};           ///< Support for int16.
 | 
			
		||||
    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