[Mesa-dev] [PATCH] st/dri: Fix driver loading if swrast isn't built
Aaron Watry
awatry at gmail.com
Sat Aug 2 14:21:16 PDT 2014
If building hardware drivers only, then kms_swrast_create_screen
won't be defined in inline_drm_helper.h and hardware drivers will
fail to dlopen as a result.
Copy the #if guards from inline_drm_helper.h to dri_kms_init_screen
to make the definition/use of the function match.
Fixes radeonsi_dri.so dlopen with the following configure:
./configure --with-dri-drivers= --with-dri-driverdir=/usr/local/lib/dri/ \
--enable-gbm --enable-gallium-gbm --enable-debug --enable-opencl \
--enable-opencl-icd --with-gallium-drivers=radeonsi \
--with-egl-platforms=drm --enable-glx-tls --enable-texture-float \
--enable-omx
Signed-off-by: Aaron Watry <awatry at gmail.com>
---
src/gallium/state_trackers/dri/dri2.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/gallium/state_trackers/dri/dri2.c b/src/gallium/state_trackers/dri/dri2.c
index ef192e3..c466de7 100644
--- a/src/gallium/state_trackers/dri/dri2.c
+++ b/src/gallium/state_trackers/dri/dri2.c
@@ -1322,6 +1322,8 @@ static const __DRIconfig **
dri_kms_init_screen(__DRIscreen * sPriv)
{
#if GALLIUM_STATIC_TARGETS
+#if defined(GALLIUM_SOFTPIPE)
+#if defined(DRI_TARGET)
const __DRIconfig **configs;
struct dri_screen *screen;
struct pipe_screen *pscreen = NULL;
@@ -1352,6 +1354,8 @@ dri_kms_init_screen(__DRIscreen * sPriv)
fail:
dri_destroy_screen_helper(screen);
FREE(screen);
+#endif // DRI_TARGET
+#endif // GALLIUM_SOFTPIPE
#endif // GALLIUM_STATIC_TARGETS
return NULL;
}
--
1.9.1
More information about the mesa-dev
mailing list