summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar LC2021-01-15 01:17:00 -0500
committerGravatar GitHub2021-01-15 01:17:00 -0500
commit76b465f3ef6e83f42f51f38b432d50a84233d834 (patch)
treee0ee58f86c78e9689d03bbc61c6a0af16e4ba2b1 /src
parentMerge pull request #5348 from ReinUsesLisp/astc-robustness (diff)
parentvulkan_device: Enable shaderStorageImageMultisample conditionally (diff)
downloadyuzu-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.cpp3
-rw-r--r--src/video_core/vulkan_common/vulkan_device.h35
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) {
803void Device::SetupFeatures() { 803void 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