diff options
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_pipeline_cache.cpp | 2 | ||||
| -rw-r--r-- | src/video_core/vulkan_common/vulkan_device.cpp | 3 | ||||
| -rw-r--r-- | src/video_core/vulkan_common/vulkan_device.h | 6 |
3 files changed, 9 insertions, 2 deletions
diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp index cec51cc77..2a2f166c8 100644 --- a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp | |||
| @@ -249,7 +249,7 @@ PipelineCache::PipelineCache(RasterizerVulkan& rasterizer_, Tegra::Engines::Maxw | |||
| 249 | .unified_descriptor_binding = true, | 249 | .unified_descriptor_binding = true, |
| 250 | .support_descriptor_aliasing = true, | 250 | .support_descriptor_aliasing = true, |
| 251 | .support_int8 = true, | 251 | .support_int8 = true, |
| 252 | .support_int16 = true, | 252 | .support_int16 = device.IsShaderInt16Supported(), |
| 253 | .support_vertex_instance_id = false, | 253 | .support_vertex_instance_id = false, |
| 254 | .support_float_controls = true, | 254 | .support_float_controls = true, |
| 255 | .support_separate_denorm_behavior = float_control.denormBehaviorIndependence == | 255 | .support_separate_denorm_behavior = float_control.denormBehaviorIndependence == |
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index 0a42efb6a..2b715baba 100644 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp | |||
| @@ -253,7 +253,7 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR | |||
| 253 | .shaderCullDistance = true, | 253 | .shaderCullDistance = true, |
| 254 | .shaderFloat64 = is_shader_float64_supported, | 254 | .shaderFloat64 = is_shader_float64_supported, |
| 255 | .shaderInt64 = is_shader_int64_supported, | 255 | .shaderInt64 = is_shader_int64_supported, |
| 256 | .shaderInt16 = true, | 256 | .shaderInt16 = is_shader_int16_supported, |
| 257 | .shaderResourceResidency = false, | 257 | .shaderResourceResidency = false, |
| 258 | .shaderResourceMinLod = false, | 258 | .shaderResourceMinLod = false, |
| 259 | .sparseBinding = false, | 259 | .sparseBinding = false, |
| @@ -912,6 +912,7 @@ void Device::SetupFeatures() { | |||
| 912 | is_formatless_image_load_supported = features.shaderStorageImageReadWithoutFormat; | 912 | is_formatless_image_load_supported = features.shaderStorageImageReadWithoutFormat; |
| 913 | is_shader_float64_supported = features.shaderFloat64; | 913 | is_shader_float64_supported = features.shaderFloat64; |
| 914 | is_shader_int64_supported = features.shaderInt64; | 914 | is_shader_int64_supported = features.shaderInt64; |
| 915 | is_shader_int16_supported = features.shaderInt16; | ||
| 915 | is_shader_storage_image_multisample = features.shaderStorageImageMultisample; | 916 | is_shader_storage_image_multisample = features.shaderStorageImageMultisample; |
| 916 | is_blit_depth_stencil_supported = TestDepthStencilBlits(); | 917 | is_blit_depth_stencil_supported = TestDepthStencilBlits(); |
| 917 | is_optimal_astc_supported = IsOptimalAstcSupported(features); | 918 | is_optimal_astc_supported = IsOptimalAstcSupported(features); |
diff --git a/src/video_core/vulkan_common/vulkan_device.h b/src/video_core/vulkan_common/vulkan_device.h index 1ab63ecd7..9bc1fb947 100644 --- a/src/video_core/vulkan_common/vulkan_device.h +++ b/src/video_core/vulkan_common/vulkan_device.h | |||
| @@ -159,6 +159,11 @@ public: | |||
| 159 | return is_formatless_image_load_supported; | 159 | return is_formatless_image_load_supported; |
| 160 | } | 160 | } |
| 161 | 161 | ||
| 162 | /// Returns true if shader int16 is supported. | ||
| 163 | bool IsShaderInt16Supported() const { | ||
| 164 | return is_shader_int16_supported; | ||
| 165 | } | ||
| 166 | |||
| 162 | // Returns true if depth bounds is supported. | 167 | // Returns true if depth bounds is supported. |
| 163 | bool IsDepthBoundsSupported() const { | 168 | bool IsDepthBoundsSupported() const { |
| 164 | return is_depth_bounds_supported; | 169 | return is_depth_bounds_supported; |
| @@ -322,6 +327,7 @@ private: | |||
| 322 | bool is_depth_bounds_supported{}; ///< Support for depth bounds. | 327 | bool is_depth_bounds_supported{}; ///< Support for depth bounds. |
| 323 | bool is_shader_float64_supported{}; ///< Support for float64. | 328 | bool is_shader_float64_supported{}; ///< Support for float64. |
| 324 | bool is_shader_int64_supported{}; ///< Support for int64. | 329 | bool is_shader_int64_supported{}; ///< Support for int64. |
| 330 | bool is_shader_int16_supported{}; ///< Support for int16. | ||
| 325 | bool is_shader_storage_image_multisample{}; ///< Support for image operations on MSAA images. | 331 | bool is_shader_storage_image_multisample{}; ///< Support for image operations on MSAA images. |
| 326 | bool is_blit_depth_stencil_supported{}; ///< Support for blitting from and to depth stencil. | 332 | bool is_blit_depth_stencil_supported{}; ///< Support for blitting from and to depth stencil. |
| 327 | bool nv_viewport_swizzle{}; ///< Support for VK_NV_viewport_swizzle. | 333 | bool nv_viewport_swizzle{}; ///< Support for VK_NV_viewport_swizzle. |