From 6c0d433d191143409e034b58a62b39e8592958a8 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Tue, 25 Jan 2022 19:15:26 -0500 Subject: [PATCH] panfrost: Centralize our model list Replaces panfrost-quirks.h Signed-off-by: Alyssa Rosenzweig Part-of: --- src/gallium/drivers/panfrost/pan_assemble.c | 1 - src/gallium/drivers/panfrost/pan_cmdstream.c | 3 +- src/gallium/drivers/panfrost/pan_compute.c | 1 - src/gallium/drivers/panfrost/pan_context.c | 1 - src/gallium/drivers/panfrost/pan_job.c | 1 - src/gallium/drivers/panfrost/pan_resource.c | 1 - src/gallium/drivers/panfrost/pan_screen.c | 3 +- src/panfrost/include/panfrost-quirks.h | 83 -------------------- src/panfrost/lib/pan_blitter.c | 1 - src/panfrost/lib/pan_cs.c | 3 +- src/panfrost/lib/pan_device.h | 31 +++++++- src/panfrost/lib/pan_encoder.h | 3 +- src/panfrost/lib/pan_indirect_dispatch.c | 1 - src/panfrost/lib/pan_indirect_draw.c | 1 - src/panfrost/lib/pan_props.c | 54 ++++++++++++- src/panfrost/lib/pan_texture.c | 1 - src/panfrost/lib/pan_tiler.c | 1 - src/panfrost/lib/pan_util.c | 1 - src/panfrost/midgard/midgard_compile.c | 1 - src/panfrost/util/pan_lower_framebuffer.c | 1 - src/panfrost/vulkan/panvk_cmd_buffer.c | 1 - src/panfrost/vulkan/panvk_cs.c | 1 - src/panfrost/vulkan/panvk_device.c | 1 - src/panfrost/vulkan/panvk_image.c | 1 - src/panfrost/vulkan/panvk_pipeline.c | 1 - src/panfrost/vulkan/panvk_shader.c | 1 - src/panfrost/vulkan/panvk_vX_cmd_buffer.c | 3 +- src/panfrost/vulkan/panvk_vX_cs.c | 1 - src/panfrost/vulkan/panvk_vX_image.c | 1 - src/panfrost/vulkan/panvk_vX_pipeline.c | 1 - src/panfrost/vulkan/panvk_vX_shader.c | 1 - 31 files changed, 86 insertions(+), 120 deletions(-) delete mode 100644 src/panfrost/include/panfrost-quirks.h diff --git a/src/gallium/drivers/panfrost/pan_assemble.c b/src/gallium/drivers/panfrost/pan_assemble.c index 7dce4dde980..28976317449 100644 --- a/src/gallium/drivers/panfrost/pan_assemble.c +++ b/src/gallium/drivers/panfrost/pan_assemble.c @@ -30,7 +30,6 @@ #include "pan_context.h" #include "pan_shader.h" #include "pan_util.h" -#include "panfrost-quirks.h" #include "compiler/nir/nir.h" #include "nir/tgsi_to_nir.h" diff --git a/src/gallium/drivers/panfrost/pan_cmdstream.c b/src/gallium/drivers/panfrost/pan_cmdstream.c index f59146e87e1..569492e8816 100644 --- a/src/gallium/drivers/panfrost/pan_cmdstream.c +++ b/src/gallium/drivers/panfrost/pan_cmdstream.c @@ -33,7 +33,6 @@ #include "pipe/p_state.h" #include "gallium/auxiliary/util/u_blend.h" -#include "panfrost-quirks.h" #include "genxml/gen_macros.h" #include "pan_pool.h" @@ -3738,7 +3737,7 @@ batch_get_polygon_list(struct panfrost_batch *batch) /* Create the BO as invisible if we can. In the non-hierarchical tiler case, * we need to write the polygon list manually because there's not WRITE_VALUE * job in the chain (maybe we should add one...). */ - bool init_polygon_list = !has_draws && (dev->quirks & MIDGARD_NO_HIER_TILING); + bool init_polygon_list = !has_draws && dev->model->quirks.no_hierarchical_tiling; batch->tiler_ctx.midgard.polygon_list = panfrost_batch_create_bo(batch, size, init_polygon_list ? 0 : PAN_BO_INVISIBLE, diff --git a/src/gallium/drivers/panfrost/pan_compute.c b/src/gallium/drivers/panfrost/pan_compute.c index 8b1a4265fda..844016ee948 100644 --- a/src/gallium/drivers/panfrost/pan_compute.c +++ b/src/gallium/drivers/panfrost/pan_compute.c @@ -27,7 +27,6 @@ */ #include "pan_context.h" -#include "panfrost-quirks.h" #include "pan_bo.h" #include "pan_shader.h" #include "util/u_memory.h" diff --git a/src/gallium/drivers/panfrost/pan_context.c b/src/gallium/drivers/panfrost/pan_context.c index 69bbc43f826..f7089c4cbc5 100644 --- a/src/gallium/drivers/panfrost/pan_context.c +++ b/src/gallium/drivers/panfrost/pan_context.c @@ -31,7 +31,6 @@ #include "pan_bo.h" #include "pan_context.h" #include "pan_minmax_cache.h" -#include "panfrost-quirks.h" #include "util/macros.h" #include "util/format/u_format.h" diff --git a/src/gallium/drivers/panfrost/pan_job.c b/src/gallium/drivers/panfrost/pan_job.c index d0a4516879f..d8e56dd0274 100644 --- a/src/gallium/drivers/panfrost/pan_job.c +++ b/src/gallium/drivers/panfrost/pan_job.c @@ -38,7 +38,6 @@ #include "util/u_framebuffer.h" #include "pan_util.h" #include "decode.h" -#include "panfrost-quirks.h" #define foreach_batch(ctx, idx) \ BITSET_FOREACH_SET(idx, ctx->batches.active, PAN_MAX_BATCHES) diff --git a/src/gallium/drivers/panfrost/pan_resource.c b/src/gallium/drivers/panfrost/pan_resource.c index 8e1e70c4fc8..f473f71099e 100644 --- a/src/gallium/drivers/panfrost/pan_resource.c +++ b/src/gallium/drivers/panfrost/pan_resource.c @@ -50,7 +50,6 @@ #include "pan_util.h" #include "pan_tiling.h" #include "decode.h" -#include "panfrost-quirks.h" static bool panfrost_should_checksum(const struct panfrost_device *dev, const struct panfrost_resource *pres); diff --git a/src/gallium/drivers/panfrost/pan_screen.c b/src/gallium/drivers/panfrost/pan_screen.c index 9386c9e467f..fc72f7c9d86 100644 --- a/src/gallium/drivers/panfrost/pan_screen.c +++ b/src/gallium/drivers/panfrost/pan_screen.c @@ -52,7 +52,6 @@ #include "decode.h" #include "pan_context.h" -#include "panfrost-quirks.h" static const struct debug_named_value panfrost_debug_options[] = { {"perf", PAN_DBG_PERF, "Enable performance warnings"}, @@ -137,7 +136,7 @@ panfrost_get_param(struct pipe_screen *screen, enum pipe_cap param) return true; case PIPE_CAP_ANISOTROPIC_FILTER: - return !!(dev->quirks & HAS_ANISOTROPIC); + return dev->revision >= dev->model->min_rev_anisotropic; /* Compile side is done for Bifrost, Midgard TODO. Needs some kernel * work to turn on, since CYCLE_COUNT_START needs to be issued. In diff --git a/src/panfrost/include/panfrost-quirks.h b/src/panfrost/include/panfrost-quirks.h deleted file mode 100644 index e7fc45fd6e0..00000000000 --- a/src/panfrost/include/panfrost-quirks.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright (C) 2019 Collabora, Ltd. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#ifndef __PANFROST_QUIRKS_H -#define __PANFROST_QUIRKS_H - -/* Model-specific quirks requiring workarounds/etc. Quirks may be errata - * requiring a workaround, or features. We're trying to be quirk-positive - * here; quirky is the best! */ - -/* Whether the GPU lacks the capability for hierarchical tiling, without an - * "Advanced Tiling Unit", instead requiring a single bin size for the entire - * framebuffer be selected by the driver */ - -#define MIDGARD_NO_HIER_TILING (1 << 0) - -/* bit 1-6 unused */ - -/* Whether this GPU lacks support for any typed loads, requiring packing */ -#define MIDGARD_NO_TYPED_BLEND_LOADS (1 << 7) - -/* bits 8-10 unused */ - -/* Does this GPU support anisotropic filtering? */ -#define HAS_ANISOTROPIC (1 << 11) - -static inline unsigned -panfrost_get_quirks(unsigned gpu_id, unsigned gpu_revision) -{ - switch (gpu_id) { - case 0x600: - case 0x620: - return MIDGARD_NO_TYPED_BLEND_LOADS; - - case 0x720: - case 0x820: - case 0x830: - return MIDGARD_NO_HIER_TILING; - - case 0x750: - case 0x860: - case 0x880: - return 0; - - case 0x6000: /* G71 */ - return 0; - - case 0x6221: /* G72 */ - /* Anisotropic filtering is supported from r0p3 onwards */ - return (gpu_revision >= 0x30 ? HAS_ANISOTROPIC : 0); - - case 0x7093: /* G31 */ - case 0x7211: /* G76 */ - case 0x7212: /* G52 */ - case 0x7402: /* G52r1 */ - return HAS_ANISOTROPIC; - - default: - unreachable("Unknown Panfrost GPU ID"); - } -} - -#endif diff --git a/src/panfrost/lib/pan_blitter.c b/src/panfrost/lib/pan_blitter.c index fce7a2c01ef..afa8a8b5a68 100644 --- a/src/panfrost/lib/pan_blitter.c +++ b/src/panfrost/lib/pan_blitter.c @@ -35,7 +35,6 @@ #include "pan_shader.h" #include "pan_scoreboard.h" #include "pan_texture.h" -#include "panfrost-quirks.h" #include "compiler/nir/nir_builder.h" #include "util/u_math.h" diff --git a/src/panfrost/lib/pan_cs.c b/src/panfrost/lib/pan_cs.c index def4b27bfb9..0af49dbe823 100644 --- a/src/panfrost/lib/pan_cs.c +++ b/src/panfrost/lib/pan_cs.c @@ -27,7 +27,6 @@ #include "util/macros.h" -#include "panfrost-quirks.h" #include "pan_cs.h" #include "pan_encoder.h" @@ -498,7 +497,7 @@ pan_emit_midgard_tiler(const struct panfrost_device *dev, const struct pan_tiler_context *tiler_ctx, void *out) { - bool hierarchy = !(dev->quirks & MIDGARD_NO_HIER_TILING); + bool hierarchy = !dev->model->quirks.no_hierarchical_tiling; assert(tiler_ctx->midgard.polygon_list->ptr.gpu); diff --git a/src/panfrost/lib/pan_device.h b/src/panfrost/lib/pan_device.h index 67cf6519438..a334a194081 100644 --- a/src/panfrost/lib/pan_device.h +++ b/src/panfrost/lib/pan_device.h @@ -148,6 +148,32 @@ struct panfrost_tiler_features { unsigned max_levels; }; +struct panfrost_model { + /* GPU ID */ + uint32_t gpu_id; + + /* Marketing name for the GPU, used as the GL_RENDERER */ + const char *name; + + /* Set of associated performance counters */ + const char *performance_counters; + + /* Minimum GPU revision required for anisotropic filtering. ~0 and 0 + * means "no revisions support anisotropy" and "all revisions support + * anistropy" respectively -- so checking for anisotropy is simply + * comparing the reivsion. + */ + uint32_t min_rev_anisotropic; + + struct { + /* The GPU lacks the capability for hierarchical tiling, without + * an "Advanced Tiling Unit", instead requiring a single bin + * size for the entire framebuffer be selected by the driver + */ + bool no_hierarchical_tiling; + } quirks; +}; + struct panfrost_device { /* For ralloc */ void *memctx; @@ -157,10 +183,11 @@ struct panfrost_device { /* Properties of the GPU in use */ unsigned arch; unsigned gpu_id; + unsigned revision; unsigned core_count; unsigned thread_tls_alloc; struct panfrost_tiler_features tiler_features; - unsigned quirks; + const struct panfrost_model *model; bool has_afbc; /* Table of formats, indexed by a PIPE format */ @@ -257,6 +284,8 @@ pan_is_bifrost(const struct panfrost_device *dev) return dev->arch >= 6 && dev->arch <= 7; } +const struct panfrost_model * panfrost_get_model(uint32_t gpu_id); + #if defined(__cplusplus) } // extern "C" #endif diff --git a/src/panfrost/lib/pan_encoder.h b/src/panfrost/lib/pan_encoder.h index 20dc84fe2c2..e893601f7af 100644 --- a/src/panfrost/lib/pan_encoder.h +++ b/src/panfrost/lib/pan_encoder.h @@ -28,7 +28,6 @@ #define __PAN_ENCODER_H #include "util/macros.h" -#include "panfrost-quirks.h" #include #include "util/format/u_format.h" @@ -58,7 +57,7 @@ panfrost_tiler_get_polygon_list_size(const struct panfrost_device *dev, if (!has_draws) return MALI_MIDGARD_TILER_MINIMUM_HEADER_SIZE + 4; - bool hierarchy = !(dev->quirks & MIDGARD_NO_HIER_TILING); + bool hierarchy = !dev->model->quirks.no_hierarchical_tiling; unsigned hierarchy_mask = panfrost_choose_hierarchy_mask(fb_width, fb_height, 1, hierarchy); diff --git a/src/panfrost/lib/pan_indirect_dispatch.c b/src/panfrost/lib/pan_indirect_dispatch.c index 4c33ae16d49..ce62ea1d5cc 100644 --- a/src/panfrost/lib/pan_indirect_dispatch.c +++ b/src/panfrost/lib/pan_indirect_dispatch.c @@ -30,7 +30,6 @@ #include "pan_indirect_dispatch.h" #include "pan_pool.h" #include "pan_util.h" -#include "panfrost-quirks.h" #include "compiler/nir/nir_builder.h" #include "util/u_memory.h" #include "util/macros.h" diff --git a/src/panfrost/lib/pan_indirect_draw.c b/src/panfrost/lib/pan_indirect_draw.c index 099e1b120ca..048babfe201 100644 --- a/src/panfrost/lib/pan_indirect_draw.c +++ b/src/panfrost/lib/pan_indirect_draw.c @@ -30,7 +30,6 @@ #include "pan_indirect_draw.h" #include "pan_pool.h" #include "pan_util.h" -#include "panfrost-quirks.h" #include "compiler/nir/nir_builder.h" #include "util/u_memory.h" #include "util/macros.h" diff --git a/src/panfrost/lib/pan_props.c b/src/panfrost/lib/pan_props.c index de723f4ed36..7ba2ca3a7e0 100644 --- a/src/panfrost/lib/pan_props.c +++ b/src/panfrost/lib/pan_props.c @@ -33,12 +33,60 @@ #include "drm-uapi/panfrost_drm.h" #include "pan_encoder.h" #include "pan_device.h" -#include "panfrost-quirks.h" #include "pan_bo.h" #include "pan_texture.h" #include "wrap.h" #include "pan_util.h" +/* Fixed "minimum revisions" */ +#define NO_ANISO (~0) +#define HAS_ANISO (0) + +#define MODEL(gpu_id_, shortname, counters_, min_rev_anisotropic_, quirks_) \ + { \ + .gpu_id = gpu_id_, \ + .name = "Mali-" shortname " (Panfrost)", \ + .performance_counters = counters_, \ + .min_rev_anisotropic = min_rev_anisotropic_, \ + .quirks = quirks_, \ + } + +/* Table of supported Mali GPUs */ +const struct panfrost_model panfrost_model_list[] = { + MODEL(0x720, "T720", "T72x", NO_ANISO, { .no_hierarchical_tiling = true }), + MODEL(0x750, "T760", "T76x", NO_ANISO, {}), + MODEL(0x820, "T820", "T82x", NO_ANISO, { .no_hierarchical_tiling = true }), + MODEL(0x830, "T830", "T83x", NO_ANISO, { .no_hierarchical_tiling = true }), + MODEL(0x860, "T860", "T86x", NO_ANISO, {}), + MODEL(0x880, "T880", "T88x", NO_ANISO, {}), + + MODEL(0x6000, "G71", "TMIx", NO_ANISO, {}), + MODEL(0x6221, "G72", "THEx", 0x0030 /* r0p3 */, {}), + MODEL(0x7093, "G31", "TDVx", HAS_ANISO, {}), + MODEL(0x7211, "G76", "TNOx", HAS_ANISO, {}), + MODEL(0x7212, "G52", "TGOx", HAS_ANISO, {}), + MODEL(0x7402, "G52 r1", "TGOx", HAS_ANISO, {}), +}; + +#undef NO_ANISO +#undef HAS_ANISO +#undef MODEL + +/* + * Look up a supported model by its GPU ID, or return NULL if the model is not + * supported at this time. + */ +const struct panfrost_model * +panfrost_get_model(uint32_t gpu_id) +{ + for (unsigned i = 0; i < ARRAY_SIZE(panfrost_model_list); ++i) { + if (panfrost_model_list[i].gpu_id == gpu_id) + return &panfrost_model_list[i]; + } + + return NULL; +} + /* Abstraction over the raw drm_panfrost_get_param ioctl for fetching * information about devices */ @@ -238,8 +286,8 @@ panfrost_open_device(void *memctx, int fd, struct panfrost_device *dev) dev->core_count = panfrost_query_core_count(fd); dev->thread_tls_alloc = panfrost_query_thread_tls_alloc(fd, dev->arch); dev->kernel_version = drmGetVersion(fd); - unsigned revision = panfrost_query_gpu_revision(fd); - dev->quirks = panfrost_get_quirks(dev->gpu_id, revision); + dev->revision = panfrost_query_gpu_revision(fd); + dev->model = panfrost_get_model(dev->gpu_id); dev->compressed_formats = panfrost_query_compressed_formats(fd); dev->tiler_features = panfrost_query_tiler_features(fd); dev->has_afbc = panfrost_query_afbc(fd, dev->arch); diff --git a/src/panfrost/lib/pan_texture.c b/src/panfrost/lib/pan_texture.c index 08678bdef35..95a01f8df53 100644 --- a/src/panfrost/lib/pan_texture.c +++ b/src/panfrost/lib/pan_texture.c @@ -28,7 +28,6 @@ #include "util/macros.h" #include "util/u_math.h" #include "pan_texture.h" -#include "panfrost-quirks.h" #ifndef PAN_ARCH diff --git a/src/panfrost/lib/pan_tiler.c b/src/panfrost/lib/pan_tiler.c index a4c1ef9504a..e8bce5e2a60 100644 --- a/src/panfrost/lib/pan_tiler.c +++ b/src/panfrost/lib/pan_tiler.c @@ -28,7 +28,6 @@ #include "util/macros.h" #include "pan_device.h" #include "pan_encoder.h" -#include "panfrost-quirks.h" /* Mali GPUs are tiled-mode renderers, rather than immediate-mode. * Conceptually, the screen is divided into 16x16 tiles. Vertex shaders run. diff --git a/src/panfrost/lib/pan_util.c b/src/panfrost/lib/pan_util.c index 2746ada1491..4f56a828e68 100644 --- a/src/panfrost/lib/pan_util.c +++ b/src/panfrost/lib/pan_util.c @@ -23,7 +23,6 @@ #include #include "pan_texture.h" -#include "panfrost-quirks.h" /* Translate a PIPE swizzle quad to a 12-bit Mali swizzle code. PIPE * swizzles line up with Mali swizzles for the XYZW01, but PIPE swizzles have diff --git a/src/panfrost/midgard/midgard_compile.c b/src/panfrost/midgard/midgard_compile.c index 1caac7e948f..2a0bee92f6a 100644 --- a/src/panfrost/midgard/midgard_compile.c +++ b/src/panfrost/midgard/midgard_compile.c @@ -47,7 +47,6 @@ #include "helpers.h" #include "compiler.h" #include "midgard_quirks.h" -#include "panfrost-quirks.h" #include "panfrost/util/pan_lower_framebuffer.h" #include "disassemble.h" diff --git a/src/panfrost/util/pan_lower_framebuffer.c b/src/panfrost/util/pan_lower_framebuffer.c index 01d28de666b..7f0de066eec 100644 --- a/src/panfrost/util/pan_lower_framebuffer.c +++ b/src/panfrost/util/pan_lower_framebuffer.c @@ -52,7 +52,6 @@ #include "compiler/nir/nir_format_convert.h" #include "util/format/u_format.h" #include "pan_lower_framebuffer.h" -#include "panfrost-quirks.h" /* Determines the unpacked type best suiting a given format, so the rest of the * pipeline may be adjusted accordingly */ diff --git a/src/panfrost/vulkan/panvk_cmd_buffer.c b/src/panfrost/vulkan/panvk_cmd_buffer.c index 898786888c6..eeb0c7b55cb 100644 --- a/src/panfrost/vulkan/panvk_cmd_buffer.c +++ b/src/panfrost/vulkan/panvk_cmd_buffer.c @@ -27,7 +27,6 @@ */ #include "panvk_private.h" -#include "panfrost-quirks.h" #include "pan_encoder.h" diff --git a/src/panfrost/vulkan/panvk_cs.c b/src/panfrost/vulkan/panvk_cs.c index 46186e224a0..cf1915b9287 100644 --- a/src/panfrost/vulkan/panvk_cs.c +++ b/src/panfrost/vulkan/panvk_cs.c @@ -24,7 +24,6 @@ #include "util/macros.h" #include "compiler/shader_enums.h" -#include "panfrost-quirks.h" #include "pan_cs.h" #include "pan_pool.h" diff --git a/src/panfrost/vulkan/panvk_device.c b/src/panfrost/vulkan/panvk_device.c index 8941c4b3592..bf2164ca167 100644 --- a/src/panfrost/vulkan/panvk_device.c +++ b/src/panfrost/vulkan/panvk_device.c @@ -28,7 +28,6 @@ #include "panvk_private.h" -#include "panfrost-quirks.h" #include "pan_bo.h" #include "pan_encoder.h" #include "pan_util.h" diff --git a/src/panfrost/vulkan/panvk_image.c b/src/panfrost/vulkan/panvk_image.c index 739d6fccae1..3581e35d7b8 100644 --- a/src/panfrost/vulkan/panvk_image.c +++ b/src/panfrost/vulkan/panvk_image.c @@ -27,7 +27,6 @@ */ #include "panvk_private.h" -#include "panfrost-quirks.h" #include "util/debug.h" #include "util/u_atomic.h" diff --git a/src/panfrost/vulkan/panvk_pipeline.c b/src/panfrost/vulkan/panvk_pipeline.c index d62fd2df41b..4dd16761ede 100644 --- a/src/panfrost/vulkan/panvk_pipeline.c +++ b/src/panfrost/vulkan/panvk_pipeline.c @@ -40,7 +40,6 @@ #include "vk_format.h" #include "vk_util.h" -#include "panfrost-quirks.h" VkResult panvk_CreateComputePipelines(VkDevice _device, diff --git a/src/panfrost/vulkan/panvk_shader.c b/src/panfrost/vulkan/panvk_shader.c index fe4374e4bcf..ab17724c025 100644 --- a/src/panfrost/vulkan/panvk_shader.c +++ b/src/panfrost/vulkan/panvk_shader.c @@ -31,7 +31,6 @@ #include "spirv/nir_spirv.h" #include "util/mesa-sha1.h" -#include "panfrost-quirks.h" #include "pan_shader.h" #include "vk_util.h" diff --git a/src/panfrost/vulkan/panvk_vX_cmd_buffer.c b/src/panfrost/vulkan/panvk_vX_cmd_buffer.c index 5eaf7e49cf7..66265ed814c 100644 --- a/src/panfrost/vulkan/panvk_vX_cmd_buffer.c +++ b/src/panfrost/vulkan/panvk_vX_cmd_buffer.c @@ -30,7 +30,6 @@ #include "panvk_cs.h" #include "panvk_private.h" -#include "panfrost-quirks.h" #include "pan_blitter.h" #include "pan_cs.h" @@ -72,7 +71,7 @@ panvk_per_arch(cmd_get_polygon_list)(struct panvk_cmd_buffer *cmdbuf, /* Create the BO as invisible if we can. In the non-hierarchical tiler case, * we need to write the polygon list manually because there's not WRITE_VALUE * job in the chain. */ - bool init_polygon_list = !has_draws && (pdev->quirks & MIDGARD_NO_HIER_TILING); + bool init_polygon_list = !has_draws && pdev->model->quirks.no_hierarchical_tiling; batch->tiler.ctx.midgard.polygon_list = panfrost_bo_create(pdev, size, init_polygon_list ? 0 : PAN_BO_INVISIBLE, diff --git a/src/panfrost/vulkan/panvk_vX_cs.c b/src/panfrost/vulkan/panvk_vX_cs.c index a9c7b901c3c..7431061d27d 100644 --- a/src/panfrost/vulkan/panvk_vX_cs.c +++ b/src/panfrost/vulkan/panvk_vX_cs.c @@ -28,7 +28,6 @@ #include "vk_util.h" -#include "panfrost-quirks.h" #include "pan_cs.h" #include "pan_encoder.h" #include "pan_pool.h" diff --git a/src/panfrost/vulkan/panvk_vX_image.c b/src/panfrost/vulkan/panvk_vX_image.c index 7684cd29c5a..f11c2f4b5fe 100644 --- a/src/panfrost/vulkan/panvk_vX_image.c +++ b/src/panfrost/vulkan/panvk_vX_image.c @@ -28,7 +28,6 @@ #include "genxml/gen_macros.h" #include "panvk_private.h" -#include "panfrost-quirks.h" #include "util/debug.h" #include "util/u_atomic.h" diff --git a/src/panfrost/vulkan/panvk_vX_pipeline.c b/src/panfrost/vulkan/panvk_vX_pipeline.c index 566dab779bf..844cbb7ce62 100644 --- a/src/panfrost/vulkan/panvk_vX_pipeline.c +++ b/src/panfrost/vulkan/panvk_vX_pipeline.c @@ -42,7 +42,6 @@ #include "panfrost/util/pan_lower_framebuffer.h" -#include "panfrost-quirks.h" struct panvk_pipeline_builder { diff --git a/src/panfrost/vulkan/panvk_vX_shader.c b/src/panfrost/vulkan/panvk_vX_shader.c index c0bb1d2f953..3cd507df042 100644 --- a/src/panfrost/vulkan/panvk_vX_shader.c +++ b/src/panfrost/vulkan/panvk_vX_shader.c @@ -34,7 +34,6 @@ #include "spirv/nir_spirv.h" #include "util/mesa-sha1.h" -#include "panfrost-quirks.h" #include "pan_shader.h" #include "util/pan_lower_framebuffer.h"