mirror of
https://github.com/skyline-emu/skyline.git
synced 2024-12-29 14:55:28 +03:00
Disable compute shaders on mali
This will need to be debugged properly at some point but its fine for now.
This commit is contained in:
parent
d69c6851f3
commit
a16383fd4b
@ -28,6 +28,9 @@ namespace skyline::gpu::interconnect::kepler_compute {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void KeplerCompute::Dispatch(const QMD &qmd) {
|
void KeplerCompute::Dispatch(const QMD &qmd) {
|
||||||
|
if (ctx.gpu.traits.quirks.brokenComputeShaders)
|
||||||
|
return;
|
||||||
|
|
||||||
StateUpdateBuilder builder{*ctx.executor.allocator};
|
StateUpdateBuilder builder{*ctx.executor.allocator};
|
||||||
|
|
||||||
constantBuffers.Update(ctx, qmd);
|
constantBuffers.Update(ctx, qmd);
|
||||||
|
@ -239,6 +239,7 @@ namespace skyline::gpu {
|
|||||||
|
|
||||||
case vk::DriverId::eArmProprietary: {
|
case vk::DriverId::eArmProprietary: {
|
||||||
maxGlobalPriority = vk::QueueGlobalPriorityEXT::eHigh;
|
maxGlobalPriority = vk::QueueGlobalPriorityEXT::eHigh;
|
||||||
|
brokenComputeShaders = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,6 +64,7 @@ namespace skyline::gpu {
|
|||||||
bool relaxedRenderPassCompatibility{}; //!< [Adreno Proprietary/Freedreno] A relaxed version of Vulkan specification's render pass compatibility clause which allows for caching pipeline objects for multi-subpass renderpasses, this is intentionally disabled by default as it requires testing prior to enabling
|
bool relaxedRenderPassCompatibility{}; //!< [Adreno Proprietary/Freedreno] A relaxed version of Vulkan specification's render pass compatibility clause which allows for caching pipeline objects for multi-subpass renderpasses, this is intentionally disabled by default as it requires testing prior to enabling
|
||||||
bool brokenPushDescriptors{}; //!< [Adreno Proprietary] A bug that causes push descriptor updates to ignored by the driver in certain situations
|
bool brokenPushDescriptors{}; //!< [Adreno Proprietary] A bug that causes push descriptor updates to ignored by the driver in certain situations
|
||||||
bool brokenSpirvPositionInput{}; //!< [Adreno Proprietary] A bug that causes the shader compiler to fail on shaders with vertex position inputs not contained within a struct
|
bool brokenSpirvPositionInput{}; //!< [Adreno Proprietary] A bug that causes the shader compiler to fail on shaders with vertex position inputs not contained within a struct
|
||||||
|
bool brokenComputeShaders{}; //!< [ARM Proprietary] A bug that causes compute shaders in some games to crash the GPU
|
||||||
|
|
||||||
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