target-helpers: move the DRI specifics to the target
Rather than having all targets include the file, with only some defining the relevant guard macro, just move things where they are used. v2: rebase on top of virgl support. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Acked-by: Rob Clark <robclark@freedesktop.org>
This commit is contained in:
@@ -72,14 +72,6 @@ static char* driver_name = NULL;
|
||||
#if defined(DRI_TARGET)
|
||||
#if defined(HAVE_LIBDRM)
|
||||
|
||||
const __DRIextension **__driDriverGetExtensions_kms_swrast(void);
|
||||
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_kms_swrast(void)
|
||||
{
|
||||
globalDriverAPI = &dri_kms_driver_api;
|
||||
return galliumdrm_driver_extensions;
|
||||
}
|
||||
|
||||
struct pipe_screen *
|
||||
kms_swrast_create_screen(int fd)
|
||||
{
|
||||
@@ -98,16 +90,6 @@ kms_swrast_create_screen(int fd)
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_I915)
|
||||
#if defined(DRI_TARGET)
|
||||
|
||||
const __DRIextension **__driDriverGetExtensions_i915(void);
|
||||
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_i915(void)
|
||||
{
|
||||
globalDriverAPI = &galliumdrm_driver_api;
|
||||
return galliumdrm_driver_extensions;
|
||||
}
|
||||
#endif
|
||||
|
||||
static struct pipe_screen *
|
||||
pipe_i915_create_screen(int fd)
|
||||
@@ -125,16 +107,6 @@ pipe_i915_create_screen(int fd)
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_ILO)
|
||||
#if defined(DRI_TARGET)
|
||||
|
||||
const __DRIextension **__driDriverGetExtensions_i965(void);
|
||||
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_i965(void)
|
||||
{
|
||||
globalDriverAPI = &galliumdrm_driver_api;
|
||||
return galliumdrm_driver_extensions;
|
||||
}
|
||||
#endif
|
||||
|
||||
static struct pipe_screen *
|
||||
pipe_ilo_create_screen(int fd)
|
||||
@@ -152,16 +124,6 @@ pipe_ilo_create_screen(int fd)
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_NOUVEAU)
|
||||
#if defined(DRI_TARGET)
|
||||
|
||||
const __DRIextension **__driDriverGetExtensions_nouveau(void);
|
||||
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_nouveau(void)
|
||||
{
|
||||
globalDriverAPI = &galliumdrm_driver_api;
|
||||
return galliumdrm_driver_extensions;
|
||||
}
|
||||
#endif
|
||||
|
||||
static struct pipe_screen *
|
||||
pipe_nouveau_create_screen(int fd)
|
||||
@@ -174,16 +136,6 @@ pipe_nouveau_create_screen(int fd)
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_R300)
|
||||
#if defined(DRI_TARGET)
|
||||
|
||||
const __DRIextension **__driDriverGetExtensions_r300(void);
|
||||
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_r300(void)
|
||||
{
|
||||
globalDriverAPI = &galliumdrm_driver_api;
|
||||
return galliumdrm_driver_extensions;
|
||||
}
|
||||
#endif
|
||||
|
||||
static struct pipe_screen *
|
||||
pipe_r300_create_screen(int fd)
|
||||
@@ -196,16 +148,6 @@ pipe_r300_create_screen(int fd)
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_R600)
|
||||
#if defined(DRI_TARGET)
|
||||
|
||||
const __DRIextension **__driDriverGetExtensions_r600(void);
|
||||
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_r600(void)
|
||||
{
|
||||
globalDriverAPI = &galliumdrm_driver_api;
|
||||
return galliumdrm_driver_extensions;
|
||||
}
|
||||
#endif
|
||||
|
||||
static struct pipe_screen *
|
||||
pipe_r600_create_screen(int fd)
|
||||
@@ -218,16 +160,6 @@ pipe_r600_create_screen(int fd)
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_RADEONSI)
|
||||
#if defined(DRI_TARGET)
|
||||
|
||||
const __DRIextension **__driDriverGetExtensions_radeonsi(void);
|
||||
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_radeonsi(void)
|
||||
{
|
||||
globalDriverAPI = &galliumdrm_driver_api;
|
||||
return galliumdrm_driver_extensions;
|
||||
}
|
||||
#endif
|
||||
|
||||
static struct pipe_screen *
|
||||
pipe_radeonsi_create_screen(int fd)
|
||||
@@ -245,16 +177,6 @@ pipe_radeonsi_create_screen(int fd)
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_VMWGFX)
|
||||
#if defined(DRI_TARGET)
|
||||
|
||||
const __DRIextension **__driDriverGetExtensions_vmwgfx(void);
|
||||
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_vmwgfx(void)
|
||||
{
|
||||
globalDriverAPI = &galliumdrm_driver_api;
|
||||
return galliumdrm_driver_extensions;
|
||||
}
|
||||
#endif
|
||||
|
||||
static struct pipe_screen *
|
||||
pipe_vmwgfx_create_screen(int fd)
|
||||
@@ -272,24 +194,6 @@ pipe_vmwgfx_create_screen(int fd)
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_FREEDRENO)
|
||||
#if defined(DRI_TARGET)
|
||||
|
||||
const __DRIextension **__driDriverGetExtensions_msm(void);
|
||||
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_msm(void)
|
||||
{
|
||||
globalDriverAPI = &galliumdrm_driver_api;
|
||||
return galliumdrm_driver_extensions;
|
||||
}
|
||||
|
||||
const __DRIextension **__driDriverGetExtensions_kgsl(void);
|
||||
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_kgsl(void)
|
||||
{
|
||||
globalDriverAPI = &galliumdrm_driver_api;
|
||||
return galliumdrm_driver_extensions;
|
||||
}
|
||||
#endif
|
||||
|
||||
static struct pipe_screen *
|
||||
pipe_freedreno_create_screen(int fd)
|
||||
@@ -302,16 +206,6 @@ pipe_freedreno_create_screen(int fd)
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_VIRGL)
|
||||
#if defined(DRI_TARGET)
|
||||
|
||||
const __DRIextension **__driDriverGetExtensions_virtio_gpu(void);
|
||||
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_virtio_gpu(void)
|
||||
{
|
||||
globalDriverAPI = &galliumdrm_driver_api;
|
||||
return galliumdrm_driver_extensions;
|
||||
}
|
||||
#endif
|
||||
|
||||
static struct pipe_screen *
|
||||
pipe_virgl_create_screen(int fd)
|
||||
@@ -329,36 +223,6 @@ pipe_virgl_create_screen(int fd)
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_VC4)
|
||||
#if defined(DRI_TARGET)
|
||||
|
||||
const __DRIextension **__driDriverGetExtensions_vc4(void);
|
||||
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_vc4(void)
|
||||
{
|
||||
globalDriverAPI = &galliumdrm_driver_api;
|
||||
return galliumdrm_driver_extensions;
|
||||
}
|
||||
|
||||
#if defined(USE_VC4_SIMULATOR)
|
||||
const __DRIextension **__driDriverGetExtensions_i965(void);
|
||||
|
||||
/**
|
||||
* When building using the simulator (on x86), we advertise ourselves as the
|
||||
* i965 driver so that you can just make a directory with a link from
|
||||
* i965_dri.so to the built vc4_dri.so, and point LIBGL_DRIVERS_PATH to that
|
||||
* on your i965-using host to run the driver under simulation.
|
||||
*
|
||||
* This is, of course, incompatible with building with the ilo driver, but you
|
||||
* shouldn't be building that anyway.
|
||||
*/
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_i965(void)
|
||||
{
|
||||
globalDriverAPI = &galliumdrm_driver_api;
|
||||
return galliumdrm_driver_extensions;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
static struct pipe_screen *
|
||||
pipe_vc4_create_screen(int fd)
|
||||
|
||||
@@ -73,15 +73,6 @@ sw_screen_create(struct sw_winsys *winsys)
|
||||
#if defined(DRI_TARGET)
|
||||
#include "target-helpers/inline_debug_helper.h"
|
||||
#include "sw/dri/dri_sw_winsys.h"
|
||||
#include "dri_screen.h"
|
||||
|
||||
const __DRIextension **__driDriverGetExtensions_swrast(void);
|
||||
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_swrast(void)
|
||||
{
|
||||
globalDriverAPI = &galliumsw_driver_api;
|
||||
return galliumsw_driver_extensions;
|
||||
}
|
||||
|
||||
inline struct pipe_screen *
|
||||
drisw_create_screen(struct drisw_loader_funcs *lf)
|
||||
@@ -103,7 +94,6 @@ drisw_create_screen(struct drisw_loader_funcs *lf)
|
||||
return screen;
|
||||
}
|
||||
#endif // DRI_TARGET
|
||||
|
||||
#endif // GALLIUM_SOFTPIPE
|
||||
|
||||
|
||||
|
||||
@@ -34,6 +34,9 @@
|
||||
* for createImage/destroyImage similar to DRI2 getBuffers.
|
||||
*/
|
||||
|
||||
/* XXX: Temporary hack, until we get rid of drisw_create_screen() */
|
||||
#define DRI_TARGET
|
||||
|
||||
#include "util/u_format.h"
|
||||
#include "util/u_memory.h"
|
||||
#include "util/u_inlines.h"
|
||||
|
||||
@@ -35,7 +35,7 @@ endif
|
||||
|
||||
LOCAL_SRC_FILES := target.c
|
||||
|
||||
LOCAL_CFLAGS := -DDRI_TARGET
|
||||
LOCAL_CFLAGS :=
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
libdl \
|
||||
|
||||
@@ -10,7 +10,6 @@ AM_CFLAGS = \
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
$(DEFINES) \
|
||||
-DDRI_TARGET \
|
||||
-DGALLIUM_DDEBUG \
|
||||
-DGALLIUM_NOOP \
|
||||
-DGALLIUM_RBUG \
|
||||
|
||||
@@ -30,7 +30,6 @@ env.PkgUseModules('DRM')
|
||||
env.Append(CPPDEFINES = [
|
||||
'GALLIUM_VMWGFX',
|
||||
'GALLIUM_SOFTPIPE',
|
||||
'DRI_TARGET',
|
||||
])
|
||||
|
||||
env.Prepend(LIBS = [
|
||||
|
||||
@@ -1,2 +1,164 @@
|
||||
#include "target-helpers/inline_drm_helper.h"
|
||||
#include "target-helpers/inline_sw_helper.h"
|
||||
|
||||
#include "dri_screen.h"
|
||||
|
||||
#if defined(GALLIUM_SOFTPIPE)
|
||||
|
||||
const __DRIextension **__driDriverGetExtensions_swrast(void);
|
||||
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_swrast(void)
|
||||
{
|
||||
globalDriverAPI = &galliumsw_driver_api;
|
||||
return galliumsw_driver_extensions;
|
||||
}
|
||||
|
||||
#if defined(HAVE_LIBDRM)
|
||||
|
||||
const __DRIextension **__driDriverGetExtensions_kms_swrast(void);
|
||||
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_kms_swrast(void)
|
||||
{
|
||||
globalDriverAPI = &dri_kms_driver_api;
|
||||
return galliumdrm_driver_extensions;
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_I915)
|
||||
|
||||
const __DRIextension **__driDriverGetExtensions_i915(void);
|
||||
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_i915(void)
|
||||
{
|
||||
globalDriverAPI = &galliumdrm_driver_api;
|
||||
return galliumdrm_driver_extensions;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_ILO)
|
||||
|
||||
const __DRIextension **__driDriverGetExtensions_i965(void);
|
||||
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_i965(void)
|
||||
{
|
||||
globalDriverAPI = &galliumdrm_driver_api;
|
||||
return galliumdrm_driver_extensions;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_NOUVEAU)
|
||||
|
||||
const __DRIextension **__driDriverGetExtensions_nouveau(void);
|
||||
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_nouveau(void)
|
||||
{
|
||||
globalDriverAPI = &galliumdrm_driver_api;
|
||||
return galliumdrm_driver_extensions;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_R300)
|
||||
|
||||
const __DRIextension **__driDriverGetExtensions_r300(void);
|
||||
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_r300(void)
|
||||
{
|
||||
globalDriverAPI = &galliumdrm_driver_api;
|
||||
return galliumdrm_driver_extensions;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_R600)
|
||||
|
||||
const __DRIextension **__driDriverGetExtensions_r600(void);
|
||||
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_r600(void)
|
||||
{
|
||||
globalDriverAPI = &galliumdrm_driver_api;
|
||||
return galliumdrm_driver_extensions;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_RADEONSI)
|
||||
|
||||
const __DRIextension **__driDriverGetExtensions_radeonsi(void);
|
||||
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_radeonsi(void)
|
||||
{
|
||||
globalDriverAPI = &galliumdrm_driver_api;
|
||||
return galliumdrm_driver_extensions;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_VMWGFX)
|
||||
|
||||
const __DRIextension **__driDriverGetExtensions_vmwgfx(void);
|
||||
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_vmwgfx(void)
|
||||
{
|
||||
globalDriverAPI = &galliumdrm_driver_api;
|
||||
return galliumdrm_driver_extensions;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_FREEDRENO)
|
||||
|
||||
const __DRIextension **__driDriverGetExtensions_msm(void);
|
||||
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_msm(void)
|
||||
{
|
||||
globalDriverAPI = &galliumdrm_driver_api;
|
||||
return galliumdrm_driver_extensions;
|
||||
}
|
||||
|
||||
const __DRIextension **__driDriverGetExtensions_kgsl(void);
|
||||
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_kgsl(void)
|
||||
{
|
||||
globalDriverAPI = &galliumdrm_driver_api;
|
||||
return galliumdrm_driver_extensions;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_VIRGL)
|
||||
|
||||
const __DRIextension **__driDriverGetExtensions_virtio_gpu(void);
|
||||
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_virtio_gpu(void)
|
||||
{
|
||||
globalDriverAPI = &galliumdrm_driver_api;
|
||||
return galliumdrm_driver_extensions;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_VC4)
|
||||
|
||||
const __DRIextension **__driDriverGetExtensions_vc4(void);
|
||||
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_vc4(void)
|
||||
{
|
||||
globalDriverAPI = &galliumdrm_driver_api;
|
||||
return galliumdrm_driver_extensions;
|
||||
}
|
||||
|
||||
#if defined(USE_VC4_SIMULATOR)
|
||||
const __DRIextension **__driDriverGetExtensions_i965(void);
|
||||
|
||||
/**
|
||||
* When building using the simulator (on x86), we advertise ourselves as the
|
||||
* i965 driver so that you can just make a directory with a link from
|
||||
* i965_dri.so to the built vc4_dri.so, and point LIBGL_DRIVERS_PATH to that
|
||||
* on your i965-using host to run the driver under simulation.
|
||||
*
|
||||
* This is, of course, incompatible with building with the ilo driver, but you
|
||||
* shouldn't be building that anyway.
|
||||
*/
|
||||
PUBLIC const __DRIextension **__driDriverGetExtensions_i965(void)
|
||||
{
|
||||
globalDriverAPI = &galliumdrm_driver_api;
|
||||
return galliumdrm_driver_extensions;
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user