panfrost: Remove MIDGARD_SFBD quirk

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14724>
This commit is contained in:
Alyssa Rosenzweig 2022-01-25 17:49:08 -05:00 committed by Marge Bot
parent 47a7e26954
commit d4575bcc79
3 changed files with 7 additions and 10 deletions

View file

@ -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 */

View file

@ -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:

View file

@ -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));