Module: Mesa
Branch: main
Commit: ba5f0c203c5f232715306f15209047d9a00342e3
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ba5f0c203c5f232715306f15209047d9a00342e3

Author: Dmitry Baryshkov <[email protected]>
Date:   Tue Jul 18 20:02:29 2023 +0300

gallium: unbreak kmsro/freedreno case

In case the case of kmsro and freedreno driver, freedreno will fail to
with the xmlconfig errors as the kmsro declaration doesn't have defaults
for the freedreno options. Instead of directly using v3d_driconf for
kmsro, add native kmsro_driconf, which optionally includes v3d and
freedreno options.

Signed-off-by: Dmitry Baryshkov <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24218>

---

 src/gallium/auxiliary/target-helpers/drm_helper.h | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/gallium/auxiliary/target-helpers/drm_helper.h 
b/src/gallium/auxiliary/target-helpers/drm_helper.h
index ef32fb1f530..3d452825aa1 100644
--- a/src/gallium/auxiliary/target-helpers/drm_helper.h
+++ b/src/gallium/auxiliary/target-helpers/drm_helper.h
@@ -440,11 +440,15 @@ pipe_kmsro_create_screen(int fd, const struct 
pipe_screen_config *config)
    screen = kmsro_drm_screen_create(fd, config);
    return screen ? debug_screen_wrap(screen) : NULL;
 }
+const driOptionDescription kmsro_driconf[] = {
 #if defined(GALLIUM_VC4) || defined(GALLIUM_V3D)
-DRM_DRIVER_DESCRIPTOR(kmsro, v3d_driconf, ARRAY_SIZE(v3d_driconf))
-#else
-DRM_DRIVER_DESCRIPTOR(kmsro, NULL, 0)
+      #include "v3d/driinfo_v3d.h"
+#endif
+#ifdef GALLIUM_FREEDRENO
+      #include "freedreno/driinfo_freedreno.h"
 #endif
+};
+DRM_DRIVER_DESCRIPTOR(kmsro, kmsro_driconf, ARRAY_SIZE(kmsro_driconf))
 
 #else
 DRM_DRIVER_DESCRIPTOR_STUB(kmsro)

Reply via email to