mirror of
https://github.com/skyline-emu/skyline.git
synced 2024-12-23 03:01:47 +01:00
Disable extended dynamic state on <r42 mali drivers
This commit is contained in:
parent
acf118155d
commit
750dfb8f00
@ -58,7 +58,7 @@ namespace skyline::gpu {
|
|||||||
EXT_SET("VK_KHR_uniform_buffer_standard_layout", supportsUniformBufferStandardLayout);
|
EXT_SET("VK_KHR_uniform_buffer_standard_layout", supportsUniformBufferStandardLayout);
|
||||||
EXT_SET("VK_EXT_primitive_topology_list_restart", hasPrimitiveTopologyListRestartExt);
|
EXT_SET("VK_EXT_primitive_topology_list_restart", hasPrimitiveTopologyListRestartExt);
|
||||||
EXT_SET("VK_EXT_transform_feedback", hasTransformFeedbackExt);
|
EXT_SET("VK_EXT_transform_feedback", hasTransformFeedbackExt);
|
||||||
EXT_SET("VK_EXT_extended_dynamic_state", hasExtendedDynamicStateExt);
|
EXT_SET_COND("VK_EXT_extended_dynamic_state", hasExtendedDynamicStateExt, !quirks.brokenDynamicStateVertexBindings);
|
||||||
EXT_SET("VK_EXT_robustness2", hasRobustness2Ext);
|
EXT_SET("VK_EXT_robustness2", hasRobustness2Ext);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -260,6 +260,10 @@ namespace skyline::gpu {
|
|||||||
}
|
}
|
||||||
|
|
||||||
case vk::DriverId::eArmProprietary: {
|
case vk::DriverId::eArmProprietary: {
|
||||||
|
if (deviceProperties.driverVersion < VK_MAKE_VERSION(42, 0, 0))
|
||||||
|
brokenDynamicStateVertexBindings = true;
|
||||||
|
|
||||||
|
vkImageMutableFormatCostly = true; // Disables AFBC in some cases
|
||||||
maxGlobalPriority = vk::QueueGlobalPriorityEXT::eHigh;
|
maxGlobalPriority = vk::QueueGlobalPriorityEXT::eHigh;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -78,6 +78,7 @@ namespace skyline::gpu {
|
|||||||
bool brokenMultithreadedPipelineCompilation{}; //!< [Qualcomm Proprietary] A bug that causes the shader compiler to crash when compiling pipelines on multiple threads simultaneously
|
bool brokenMultithreadedPipelineCompilation{}; //!< [Qualcomm Proprietary] A bug that causes the shader compiler to crash when compiling pipelines on multiple threads simultaneously
|
||||||
bool brokenSubgroupMaskExtractDynamic{}; //!< [Qualcomm Proprietary] A bug that causes shaders using OpVectorExtractDynamic on the subgroup mask builtins to fail to compile
|
bool brokenSubgroupMaskExtractDynamic{}; //!< [Qualcomm Proprietary] A bug that causes shaders using OpVectorExtractDynamic on the subgroup mask builtins to fail to compile
|
||||||
bool brokenSubgroupShuffle{}; //!< [Qualcomm Proprietary] A bug that causes shaders using OpSubgroupShuffle to do all sorts of weird things
|
bool brokenSubgroupShuffle{}; //!< [Qualcomm Proprietary] A bug that causes shaders using OpSubgroupShuffle to do all sorts of weird things
|
||||||
|
bool brokenDynamicStateVertexBindings{}; //!< [ARM Proprietary] A bug that causes VK_EXT_dynamic_state vertex bindings not to work correctly
|
||||||
|
|
||||||
u32 maxSubpassCount{std::numeric_limits<u32>::max()}; //!< The maximum amount of subpasses within a renderpass, this is limited to 64 on older Adreno proprietary drivers
|
u32 maxSubpassCount{std::numeric_limits<u32>::max()}; //!< The maximum amount of subpasses within a renderpass, this is limited to 64 on older Adreno proprietary drivers
|
||||||
vk::QueueGlobalPriorityEXT maxGlobalPriority{vk::QueueGlobalPriorityEXT::eMedium}; //!< The highest allowed global priority of the queue, drivers will not allow higher priorities to be set on queues
|
vk::QueueGlobalPriorityEXT maxGlobalPriority{vk::QueueGlobalPriorityEXT::eMedium}; //!< The highest allowed global priority of the queue, drivers will not allow higher priorities to be set on queues
|
||||||
|
Loading…
Reference in New Issue
Block a user