diff options
| author | 2021-01-15 01:17:00 -0500 | |
|---|---|---|
| committer | 2021-01-15 01:17:00 -0500 | |
| commit | 76b465f3ef6e83f42f51f38b432d50a84233d834 (patch) | |
| tree | e0ee58f86c78e9689d03bbc61c6a0af16e4ba2b1 /src | |
| parent | Merge pull request #5348 from ReinUsesLisp/astc-robustness (diff) | |
| parent | vulkan_device: Enable shaderStorageImageMultisample conditionally (diff) | |
| download | yuzu-76b465f3ef6e83f42f51f38b432d50a84233d834.tar.gz yuzu-76b465f3ef6e83f42f51f38b432d50a84233d834.tar.xz yuzu-76b465f3ef6e83f42f51f38b432d50a84233d834.zip | |
Merge pull request #5349 from ReinUsesLisp/anv-fix
vulkan_device: Enable shaderStorageImageMultisample conditionally
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/vulkan_common/vulkan_device.cpp | 3 | ||||
| -rw-r--r-- | src/video_core/vulkan_common/vulkan_device.h | 35 |
2 files changed, 20 insertions, 18 deletions
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index d6f603b99..b51d6ec3c 100644 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp | |||
| @@ -256,7 +256,7 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR | |||
| 256 | .shaderTessellationAndGeometryPointSize = false, | 256 | .shaderTessellationAndGeometryPointSize = false, |
| 257 | .shaderImageGatherExtended = true, | 257 | .shaderImageGatherExtended = true, |
| 258 | .shaderStorageImageExtendedFormats = false, | 258 | .shaderStorageImageExtendedFormats = false, |
| 259 | .shaderStorageImageMultisample = true, | 259 | .shaderStorageImageMultisample = is_shader_storage_image_multisample, |
| 260 | .shaderStorageImageReadWithoutFormat = is_formatless_image_load_supported, | 260 | .shaderStorageImageReadWithoutFormat = is_formatless_image_load_supported, |
| 261 | .shaderStorageImageWriteWithoutFormat = true, | 261 | .shaderStorageImageWriteWithoutFormat = true, |
| 262 | .shaderUniformBufferArrayDynamicIndexing = false, | 262 | .shaderUniformBufferArrayDynamicIndexing = false, |
| @@ -803,6 +803,7 @@ void Device::SetupFamilies(VkSurfaceKHR surface) { | |||
| 803 | void Device::SetupFeatures() { | 803 | void Device::SetupFeatures() { |
| 804 | const auto supported_features{physical.GetFeatures()}; | 804 | const auto supported_features{physical.GetFeatures()}; |
| 805 | is_formatless_image_load_supported = supported_features.shaderStorageImageReadWithoutFormat; | 805 | is_formatless_image_load_supported = supported_features.shaderStorageImageReadWithoutFormat; |
| 806 | is_shader_storage_image_multisample = supported_features.shaderStorageImageMultisample; | ||
| 806 | is_blit_depth_stencil_supported = TestDepthStencilBlits(); | 807 | is_blit_depth_stencil_supported = TestDepthStencilBlits(); |
| 807 | is_optimal_astc_supported = IsOptimalAstcSupported(supported_features); | 808 | is_optimal_astc_supported = IsOptimalAstcSupported(supported_features); |
| 808 | } | 809 | } |
diff --git a/src/video_core/vulkan_common/vulkan_device.h b/src/video_core/vulkan_common/vulkan_device.h index a973c3ce4..4b66dba7a 100644 --- a/src/video_core/vulkan_common/vulkan_device.h +++ b/src/video_core/vulkan_common/vulkan_device.h | |||
| @@ -272,23 +272,24 @@ private: | |||
| 272 | bool is_optimal_astc_supported{}; ///< Support for native ASTC. | 272 | bool is_optimal_astc_supported{}; ///< Support for native ASTC. |
| 273 | bool is_float16_supported{}; ///< Support for float16 arithmetics. | 273 | bool is_float16_supported{}; ///< Support for float16 arithmetics. |
| 274 | bool is_warp_potentially_bigger{}; ///< Host warp size can be bigger than guest. | 274 | bool is_warp_potentially_bigger{}; ///< Host warp size can be bigger than guest. |
| 275 | bool is_formatless_image_load_supported{}; ///< Support for shader image read without format. | 275 | bool is_formatless_image_load_supported{}; ///< Support for shader image read without format. |
| 276 | bool is_blit_depth_stencil_supported{}; ///< Support for blitting from and to depth stencil. | 276 | bool is_shader_storage_image_multisample{}; ///< Support for image operations on MSAA images. |
| 277 | bool nv_viewport_swizzle{}; ///< Support for VK_NV_viewport_swizzle. | 277 | bool is_blit_depth_stencil_supported{}; ///< Support for blitting from and to depth stencil. |
| 278 | bool khr_uniform_buffer_standard_layout{}; ///< Support for std430 on UBOs. | 278 | bool nv_viewport_swizzle{}; ///< Support for VK_NV_viewport_swizzle. |
| 279 | bool ext_index_type_uint8{}; ///< Support for VK_EXT_index_type_uint8. | 279 | bool khr_uniform_buffer_standard_layout{}; ///< Support for std430 on UBOs. |
| 280 | bool ext_sampler_filter_minmax{}; ///< Support for VK_EXT_sampler_filter_minmax. | 280 | bool ext_index_type_uint8{}; ///< Support for VK_EXT_index_type_uint8. |
| 281 | bool ext_depth_range_unrestricted{}; ///< Support for VK_EXT_depth_range_unrestricted. | 281 | bool ext_sampler_filter_minmax{}; ///< Support for VK_EXT_sampler_filter_minmax. |
| 282 | bool ext_shader_viewport_index_layer{}; ///< Support for VK_EXT_shader_viewport_index_layer. | 282 | bool ext_depth_range_unrestricted{}; ///< Support for VK_EXT_depth_range_unrestricted. |
| 283 | bool ext_tooling_info{}; ///< Support for VK_EXT_tooling_info. | 283 | bool ext_shader_viewport_index_layer{}; ///< Support for VK_EXT_shader_viewport_index_layer. |
| 284 | bool ext_transform_feedback{}; ///< Support for VK_EXT_transform_feedback. | 284 | bool ext_tooling_info{}; ///< Support for VK_EXT_tooling_info. |
| 285 | bool ext_custom_border_color{}; ///< Support for VK_EXT_custom_border_color. | 285 | bool ext_transform_feedback{}; ///< Support for VK_EXT_transform_feedback. |
| 286 | bool ext_extended_dynamic_state{}; ///< Support for VK_EXT_extended_dynamic_state. | 286 | bool ext_custom_border_color{}; ///< Support for VK_EXT_custom_border_color. |
| 287 | bool ext_robustness2{}; ///< Support for VK_EXT_robustness2. | 287 | bool ext_extended_dynamic_state{}; ///< Support for VK_EXT_extended_dynamic_state. |
| 288 | bool ext_shader_stencil_export{}; ///< Support for VK_EXT_shader_stencil_export. | 288 | bool ext_robustness2{}; ///< Support for VK_EXT_robustness2. |
| 289 | bool nv_device_diagnostics_config{}; ///< Support for VK_NV_device_diagnostics_config. | 289 | bool ext_shader_stencil_export{}; ///< Support for VK_EXT_shader_stencil_export. |
| 290 | bool has_renderdoc{}; ///< Has RenderDoc attached | 290 | bool nv_device_diagnostics_config{}; ///< Support for VK_NV_device_diagnostics_config. |
| 291 | bool has_nsight_graphics{}; ///< Has Nsight Graphics attached | 291 | bool has_renderdoc{}; ///< Has RenderDoc attached |
| 292 | bool has_nsight_graphics{}; ///< Has Nsight Graphics attached | ||
| 292 | 293 | ||
| 293 | // Asynchronous Graphics Pipeline setting | 294 | // Asynchronous Graphics Pipeline setting |
| 294 | bool use_asynchronous_shaders{}; ///< Setting to use asynchronous shaders/graphics pipeline | 295 | bool use_asynchronous_shaders{}; ///< Setting to use asynchronous shaders/graphics pipeline |