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@gmail.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
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;
fail:
dri_destroy_screen_helper(screen);
FREE(screen);
+#endif // DRI_TARGET
+#endif // GALLIUM_SOFTPIPE
#endif // GALLIUM_STATIC_TARGETS
return NULL;
}