Mesa (main): panfrost: Remove MIDGARD_SFBD quirk
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Jan 26 02:01:50 UTC 2022
Module: Mesa
Branch: main
Commit: d4575bcc79aeb735eb3db7b9066e3c3bcbf8bd4d
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d4575bcc79aeb735eb3db7b9066e3c3bcbf8bd4d
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Tue Jan 25 17:49:08 2022 -0500
panfrost: Remove MIDGARD_SFBD quirk
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14724>
---
src/gallium/drivers/panfrost/pan_screen.c | 6 +++---
src/panfrost/include/panfrost-quirks.h | 9 +++------
src/panfrost/vulkan/panvk_device.c | 2 +-
3 files changed, 7 insertions(+), 10 deletions(-)
diff --git a/src/gallium/drivers/panfrost/pan_screen.c b/src/gallium/drivers/panfrost/pan_screen.c
index 8abe47255c4..9386c9e467f 100644
--- a/src/gallium/drivers/panfrost/pan_screen.c
+++ b/src/gallium/drivers/panfrost/pan_screen.c
@@ -98,8 +98,8 @@ panfrost_get_param(struct pipe_screen *screen, enum pipe_cap param)
/* Our GL 3.x implementation is WIP */
bool is_gl3 = dev->debug & (PAN_DBG_GL3 | PAN_DBG_DEQP);
- /* Don't expose MRT related CAPs on GPUs that don't implement them */
- bool has_mrt = !(dev->quirks & MIDGARD_SFBD);
+ /* Native MRT is introduced with v5 */
+ bool has_mrt = (dev->arch >= 5);
/* Only kernel drivers >= 1.1 can allocate HEAP BOs */
bool has_heap = dev->kernel_version->version_major > 1 ||
@@ -551,7 +551,7 @@ panfrost_is_format_supported( struct pipe_screen *screen,
return false;
/* Z16 causes dEQP failures on t720 */
- if (format == PIPE_FORMAT_Z16_UNORM && dev->quirks & MIDGARD_SFBD)
+ if (format == PIPE_FORMAT_Z16_UNORM && dev->arch <= 4)
return false;
/* Check we support the format with the given bind */
diff --git a/src/panfrost/include/panfrost-quirks.h b/src/panfrost/include/panfrost-quirks.h
index def79e183a9..2b871ecab2b 100644
--- a/src/panfrost/include/panfrost-quirks.h
+++ b/src/panfrost/include/panfrost-quirks.h
@@ -34,10 +34,7 @@
#define MIDGARD_NO_HIER_TILING (1 << 0)
-/* Whether this GPU lacks native multiple render target support and accordingly
- * needs SFBDs instead, with complex lowering with ES3 */
-
-#define MIDGARD_SFBD (1 << 1)
+/* bit 1 unused */
/* Whether fp16 is broken in the compiler. Hopefully this quirk will go away
* over time */
@@ -80,12 +77,12 @@ panfrost_get_quirks(unsigned gpu_id, unsigned gpu_revision)
switch (gpu_id) {
case 0x600:
case 0x620:
- return MIDGARD_QUIRKS | MIDGARD_SFBD
+ return MIDGARD_QUIRKS
| MIDGARD_NO_TYPED_BLEND_LOADS
| NO_BLEND_PACKS | NO_TILE_ENABLE_MAP;
case 0x720:
- return MIDGARD_QUIRKS | MIDGARD_SFBD | MIDGARD_NO_HIER_TILING
+ return MIDGARD_QUIRKS | MIDGARD_NO_HIER_TILING
| NO_TILE_ENABLE_MAP;
case 0x820:
diff --git a/src/panfrost/vulkan/panvk_device.c b/src/panfrost/vulkan/panvk_device.c
index 516c7501c2a..8941c4b3592 100644
--- a/src/panfrost/vulkan/panvk_device.c
+++ b/src/panfrost/vulkan/panvk_device.c
@@ -314,7 +314,7 @@ panvk_physical_device_init(struct panvk_physical_device *device,
panfrost_open_device(NULL, fd, &device->pdev);
fd = -1;
- if (device->pdev.quirks & MIDGARD_SFBD) {
+ if (device->pdev.arch < 5) {
result = vk_errorf(instance, VK_ERROR_INCOMPATIBLE_DRIVER,
"%s not supported",
panfrost_model_name(device->pdev.gpu_id));
More information about the mesa-commit
mailing list