summaryrefslogtreecommitdiff
path: root/src/video_core
diff options
context:
space:
mode:
authorNarr the Reg <juangerman-13@hotmail.com>2024-02-22 11:30:26 -0600
committerGitHub <noreply@github.com>2024-02-22 11:30:26 -0600
commit4f95ee52097762fcd53c135fcf07511898c48194 (patch)
tree1773373bf6c4b9b2556e7352b5de469bd9859695 /src/video_core
parent8bbc209950178ca7258bfc22a08101cb30c29a58 (diff)
parentf46dc31683737fabbb9b89ba85ca74242cdc405f (diff)
Merge pull request #13075 from liamwhite/mali-having-a-bad-time
shader_recompiler: throw on missing geometry streams in geometry shaders
Diffstat (limited to 'src/video_core')
-rw-r--r--src/video_core/renderer_vulkan/vk_pipeline_cache.cpp1
-rw-r--r--src/video_core/vulkan_common/vulkan_device.h5
2 files changed, 6 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
index 20f7a9702..d34b585d6 100644
--- a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
+++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
@@ -352,6 +352,7 @@ PipelineCache::PipelineCache(Tegra::MaxwellDeviceMemoryManager& device_memory_,
.support_native_ndc = device.IsExtDepthClipControlSupported(),
.support_scaled_attributes = !device.MustEmulateScaledFormats(),
.support_multi_viewport = device.SupportsMultiViewport(),
+ .support_geometry_streams = device.AreTransformFeedbackGeometryStreamsSupported(),
.warp_size_potentially_larger_than_guest = device.IsWarpSizePotentiallyBiggerThanGuest(),
diff --git a/src/video_core/vulkan_common/vulkan_device.h b/src/video_core/vulkan_common/vulkan_device.h
index a2ec26697..e3abe8ddf 100644
--- a/src/video_core/vulkan_common/vulkan_device.h
+++ b/src/video_core/vulkan_common/vulkan_device.h
@@ -499,6 +499,11 @@ public:
return extensions.transform_feedback;
}
+ /// Returns true if the device supports VK_EXT_transform_feedback properly.
+ bool AreTransformFeedbackGeometryStreamsSupported() const {
+ return features.transform_feedback.geometryStreams;
+ }
+
/// Returns true if the device supports VK_EXT_custom_border_color.
bool IsExtCustomBorderColorSupported() const {
return extensions.custom_border_color;