- remove patches that are in upstream - remove vdpau as upstream removed it - update version of dependencies - update rust libwrap filename - Update libclc to 22.1 has the 21.1.8 doesn't build on centos stream 9 - Fix python issues with 3.9 (Mesa requires 3.10) - Revert Freedreno tu_autotune to previous C implementation, as C++ implementation - Remove some kmsro driver on x86_64 Resolves: RHEL-135263 Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
100 lines
4.3 KiB
Diff
100 lines
4.3 KiB
Diff
From ab7adaf47f2606e6b85a46470a586718cd409517 Mon Sep 17 00:00:00 2001
|
|
From: Jocelyn Falempe <jfalempe@redhat.com>
|
|
Date: Fri, 26 Jun 2026 11:01:57 +0200
|
|
Subject: [PATCH 12/19] Revert "tu: Disable features using performance counter
|
|
for KGSL"
|
|
|
|
This reverts commit 18437c7a65a909044add3cb78c1e291bbf871743.
|
|
---
|
|
src/freedreno/vulkan/tu_autotune.cc | 3 +--
|
|
src/freedreno/vulkan/tu_device.cc | 2 +-
|
|
src/freedreno/vulkan/tu_device.h | 3 ---
|
|
src/freedreno/vulkan/tu_knl_drm_msm.cc | 2 --
|
|
src/freedreno/vulkan/tu_knl_drm_virtio.cc | 1 -
|
|
src/freedreno/vulkan/tu_knl_kgsl.cc | 3 ---
|
|
6 files changed, 2 insertions(+), 12 deletions(-)
|
|
|
|
diff --git a/src/freedreno/vulkan/tu_autotune.cc b/src/freedreno/vulkan/tu_autotune.cc
|
|
index c456c248cdb..439ac05a845 100644
|
|
--- a/src/freedreno/vulkan/tu_autotune.cc
|
|
+++ b/src/freedreno/vulkan/tu_autotune.cc
|
|
@@ -323,8 +323,7 @@ uint32_t
|
|
tu_autotune::get_supported_mod_flags(tu_device *device) const
|
|
{
|
|
uint32_t supported_mod_flags = (uint32_t) mod_flag::BIG_GMEM | (uint32_t) mod_flag::TUNE_SMALL;
|
|
- if (device->physical_device->info->props.max_draw_states > TU_DRAW_STATE_AT_WRITE_RP_HASH &&
|
|
- device->physical_device->is_perf_cntr_selectable) {
|
|
+ if (device->physical_device->info->props.max_draw_states > TU_DRAW_STATE_AT_WRITE_RP_HASH) {
|
|
supported_mod_flags |= (uint32_t) mod_flag::PREEMPT_OPTIMIZE;
|
|
}
|
|
return supported_mod_flags;
|
|
diff --git a/src/freedreno/vulkan/tu_device.cc b/src/freedreno/vulkan/tu_device.cc
|
|
index 25e11d45f8f..24ca3d2391c 100644
|
|
--- a/src/freedreno/vulkan/tu_device.cc
|
|
+++ b/src/freedreno/vulkan/tu_device.cc
|
|
@@ -212,7 +212,7 @@ get_device_extensions(const struct tu_physical_device *device,
|
|
.KHR_maintenance8 = tu_is_vk_1_1(device),
|
|
.KHR_map_memory2 = true,
|
|
.KHR_multiview = tu_has_multiview(device),
|
|
- .KHR_performance_query = (TU_DEBUG(PERFC) || TU_DEBUG(PERFCRAW)) && device->is_perf_cntr_selectable,
|
|
+ .KHR_performance_query = TU_DEBUG(PERFC) || TU_DEBUG(PERFCRAW),
|
|
.KHR_pipeline_executable_properties = true,
|
|
.KHR_pipeline_library = true,
|
|
#ifdef TU_USE_WSI_PLATFORM
|
|
diff --git a/src/freedreno/vulkan/tu_device.h b/src/freedreno/vulkan/tu_device.h
|
|
index b0ecf2f62ba..638ea404fa7 100644
|
|
--- a/src/freedreno/vulkan/tu_device.h
|
|
+++ b/src/freedreno/vulkan/tu_device.h
|
|
@@ -140,9 +140,6 @@ struct tu_physical_device
|
|
|
|
bool has_preemption;
|
|
|
|
- /* Whether performance counter selector registers can be written by userspace CSes. */
|
|
- bool is_perf_cntr_selectable;
|
|
-
|
|
struct {
|
|
uint32_t non_lazy_type_count;
|
|
uint32_t type_count;
|
|
diff --git a/src/freedreno/vulkan/tu_knl_drm_msm.cc b/src/freedreno/vulkan/tu_knl_drm_msm.cc
|
|
index 16e1cb40337..75a6e1a0250 100644
|
|
--- a/src/freedreno/vulkan/tu_knl_drm_msm.cc
|
|
+++ b/src/freedreno/vulkan/tu_knl_drm_msm.cc
|
|
@@ -1667,8 +1667,6 @@ tu_knl_drm_msm_load(struct tu_instance *instance,
|
|
|
|
device->has_preemption = tu_drm_has_preemption(device);
|
|
|
|
- device->is_perf_cntr_selectable = true;
|
|
-
|
|
/* Even if kernel is new enough, the GPU itself may not support it. */
|
|
device->has_cached_coherent_memory =
|
|
(device->msm_minor_version >= 8) &&
|
|
diff --git a/src/freedreno/vulkan/tu_knl_drm_virtio.cc b/src/freedreno/vulkan/tu_knl_drm_virtio.cc
|
|
index ea4d31ab665..9dbf9ee166d 100644
|
|
--- a/src/freedreno/vulkan/tu_knl_drm_virtio.cc
|
|
+++ b/src/freedreno/vulkan/tu_knl_drm_virtio.cc
|
|
@@ -1343,7 +1343,6 @@ tu_knl_drm_virtio_load(struct tu_instance *instance,
|
|
device->has_set_iova = true;
|
|
device->has_lazy_bos = true;
|
|
device->has_preemption = has_preemption;
|
|
- device->is_perf_cntr_selectable = true;
|
|
device->uche_trap_base = uche_trap_base;
|
|
|
|
device->ubwc_config.bank_swizzle_levels = bank_swizzle_levels;
|
|
diff --git a/src/freedreno/vulkan/tu_knl_kgsl.cc b/src/freedreno/vulkan/tu_knl_kgsl.cc
|
|
index c01160ea1f3..b960ef16673 100644
|
|
--- a/src/freedreno/vulkan/tu_knl_kgsl.cc
|
|
+++ b/src/freedreno/vulkan/tu_knl_kgsl.cc
|
|
@@ -1868,9 +1868,6 @@ tu_knl_kgsl_load(struct tu_instance *instance, int fd)
|
|
/* preemption is always supported on kgsl */
|
|
device->has_preemption = true;
|
|
|
|
- /* KGSL doesn't allow writing the perf counter selector as the expectation is to use the uAPI provided for this. */
|
|
- device->is_perf_cntr_selectable = false;
|
|
-
|
|
device->ubwc_config.highest_bank_bit = highest_bank_bit;
|
|
|
|
/* The other config values can be partially inferred from the UBWC version,
|
|
--
|
|
2.54.0
|
|
|