Commit aec4a92b authored by Niklas Haas's avatar Niklas Haas

Revert "vulkan: brute force hack around (suspected) ANV bugs"

This reverts commit f8f90f5d.

Why are we even working around suspected driver bugs? It's really not
our issue, and I can't have this limit our release process. If users of
libplacebo want to work around such bugs, they still can.
parent e5201d26
Pipeline #9931 failed with stages
in 3 minutes and 3 seconds
......@@ -64,9 +64,6 @@ struct vk_ctx {
struct vk_cmdpool **pools; // command pools (one per queue family)
int num_pools;
// Quirks
bool disable_compute;
// Pointers into *pools
struct vk_cmdpool *pool_graphics; // required
struct vk_cmdpool *pool_compute; // optional
......@@ -498,7 +498,7 @@ static bool device_init(struct vk_ctx *vk, const struct pl_vulkan_params *params
int idx_gfx = -1, idx_comp = -1, idx_tf = -1;
idx_gfx = find_qf(qfs, qfnum, VK_QUEUE_GRAPHICS_BIT);
if (params->async_compute && !vk->disable_compute)
if (params->async_compute)
idx_comp = find_qf(qfs, qfnum, VK_QUEUE_COMPUTE_BIT);
if (params->async_transfer)
idx_tf = find_qf(qfs, qfnum, VK_QUEUE_TRANSFER_BIT);
......@@ -529,11 +529,6 @@ static bool device_init(struct vk_ctx *vk, const struct pl_vulkan_params *params
if (idx_comp < 0 && qfs[idx_gfx].queueFlags & VK_QUEUE_COMPUTE_BIT)
idx_comp = idx_gfx;
if (vk->disable_compute) {
PL_WARN(vk, "Disabling compute shaders (driver quirk)!");
idx_comp = -1;
// Cache the transfer queue alignment requirements
if (idx_tf >= 0)
vk->transfer_alignment = qfs[idx_tf].minImageTransferGranularity;
......@@ -697,15 +692,6 @@ const struct pl_vulkan *pl_vulkan_create(struct pl_context *ctx,
(int) VK_VERSION_MINOR(prop.apiVersion),
(int) VK_VERSION_PATCH(prop.apiVersion));
// Enable quirks based on the detected device name
if (prop.vendorID == 0x8086) { // Intel
// ANV currently deadlocks when using HDR peak detection shaders, work
// around by brute force disabling compute shaders on intel. We can
// probably restrict this to only old versions of mesa once a fix is
// debugged.
vk->disable_compute = true;
// Finally, initialize the logical device and the rest of the vk_ctx
if (!device_init(vk, params))
goto error;
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment