target-helpers: remove inline_drm_helper.h
As of earlier all the targets use the non inline version. Don't forget to remove the function prototypes/declarations. 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:
@@ -1,371 +0,0 @@
|
||||
#ifndef INLINE_DRM_HELPER_H
|
||||
#define INLINE_DRM_HELPER_H
|
||||
|
||||
#include "state_tracker/drm_driver.h"
|
||||
#include "target-helpers/inline_debug_helper.h"
|
||||
#include "loader.h"
|
||||
|
||||
#if GALLIUM_SOFTPIPE
|
||||
#include "target-helpers/inline_sw_helper.h"
|
||||
#include "sw/kms-dri/kms_dri_sw_winsys.h"
|
||||
#endif
|
||||
|
||||
#if GALLIUM_I915
|
||||
#include "i915/drm/i915_drm_public.h"
|
||||
#include "i915/i915_public.h"
|
||||
#endif
|
||||
|
||||
#if GALLIUM_ILO
|
||||
#include "intel/drm/intel_drm_public.h"
|
||||
#include "ilo/ilo_public.h"
|
||||
#endif
|
||||
|
||||
#if GALLIUM_NOUVEAU
|
||||
#include "nouveau/drm/nouveau_drm_public.h"
|
||||
#endif
|
||||
|
||||
#if GALLIUM_R300
|
||||
#include "radeon/radeon_winsys.h"
|
||||
#include "radeon/drm/radeon_drm_public.h"
|
||||
#include "r300/r300_public.h"
|
||||
#endif
|
||||
|
||||
#if GALLIUM_R600
|
||||
#include "radeon/radeon_winsys.h"
|
||||
#include "radeon/drm/radeon_drm_public.h"
|
||||
#include "r600/r600_public.h"
|
||||
#endif
|
||||
|
||||
#if GALLIUM_RADEONSI
|
||||
#include "radeon/radeon_winsys.h"
|
||||
#include "radeon/drm/radeon_drm_public.h"
|
||||
#include "amdgpu/drm/amdgpu_public.h"
|
||||
#include "radeonsi/si_public.h"
|
||||
#endif
|
||||
|
||||
#if GALLIUM_VMWGFX
|
||||
#include "svga/drm/svga_drm_public.h"
|
||||
#include "svga/svga_public.h"
|
||||
#endif
|
||||
|
||||
#if GALLIUM_FREEDRENO
|
||||
#include "freedreno/drm/freedreno_drm_public.h"
|
||||
#endif
|
||||
|
||||
#if GALLIUM_VC4
|
||||
#include "vc4/drm/vc4_drm_public.h"
|
||||
#endif
|
||||
|
||||
#if GALLIUM_VIRGL
|
||||
#include "virgl/drm/virgl_drm_public.h"
|
||||
#include "virgl/virgl_public.h"
|
||||
#endif
|
||||
|
||||
static char* driver_name = NULL;
|
||||
|
||||
/* XXX: We need to teardown the winsys if *screen_create() fails. */
|
||||
|
||||
#if defined(GALLIUM_I915)
|
||||
|
||||
static struct pipe_screen *
|
||||
pipe_i915_create_screen(int fd)
|
||||
{
|
||||
struct i915_winsys *iws;
|
||||
struct pipe_screen *screen;
|
||||
|
||||
iws = i915_drm_winsys_create(fd);
|
||||
if (!iws)
|
||||
return NULL;
|
||||
|
||||
screen = i915_screen_create(iws);
|
||||
return screen ? debug_screen_wrap(screen) : NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_ILO)
|
||||
|
||||
static struct pipe_screen *
|
||||
pipe_ilo_create_screen(int fd)
|
||||
{
|
||||
struct intel_winsys *iws;
|
||||
struct pipe_screen *screen;
|
||||
|
||||
iws = intel_winsys_create_for_fd(fd);
|
||||
if (!iws)
|
||||
return NULL;
|
||||
|
||||
screen = ilo_screen_create(iws);
|
||||
return screen ? debug_screen_wrap(screen) : NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_NOUVEAU)
|
||||
|
||||
static struct pipe_screen *
|
||||
pipe_nouveau_create_screen(int fd)
|
||||
{
|
||||
struct pipe_screen *screen;
|
||||
|
||||
screen = nouveau_drm_screen_create(fd);
|
||||
return screen ? debug_screen_wrap(screen) : NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_R300)
|
||||
|
||||
static struct pipe_screen *
|
||||
pipe_r300_create_screen(int fd)
|
||||
{
|
||||
struct radeon_winsys *rw;
|
||||
|
||||
rw = radeon_drm_winsys_create(fd, r300_screen_create);
|
||||
return rw ? debug_screen_wrap(rw->screen) : NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_R600)
|
||||
|
||||
static struct pipe_screen *
|
||||
pipe_r600_create_screen(int fd)
|
||||
{
|
||||
struct radeon_winsys *rw;
|
||||
|
||||
rw = radeon_drm_winsys_create(fd, r600_screen_create);
|
||||
return rw ? debug_screen_wrap(rw->screen) : NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_RADEONSI)
|
||||
|
||||
static struct pipe_screen *
|
||||
pipe_radeonsi_create_screen(int fd)
|
||||
{
|
||||
struct radeon_winsys *rw;
|
||||
|
||||
/* First, try amdgpu. */
|
||||
rw = amdgpu_winsys_create(fd, radeonsi_screen_create);
|
||||
|
||||
if (!rw)
|
||||
rw = radeon_drm_winsys_create(fd, radeonsi_screen_create);
|
||||
|
||||
return rw ? debug_screen_wrap(rw->screen) : NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_VMWGFX)
|
||||
|
||||
static struct pipe_screen *
|
||||
pipe_vmwgfx_create_screen(int fd)
|
||||
{
|
||||
struct svga_winsys_screen *sws;
|
||||
struct pipe_screen *screen;
|
||||
|
||||
sws = svga_drm_winsys_screen_create(fd);
|
||||
if (!sws)
|
||||
return NULL;
|
||||
|
||||
screen = svga_screen_create(sws);
|
||||
return screen ? debug_screen_wrap(screen) : NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_FREEDRENO)
|
||||
|
||||
static struct pipe_screen *
|
||||
pipe_freedreno_create_screen(int fd)
|
||||
{
|
||||
struct pipe_screen *screen;
|
||||
|
||||
screen = fd_drm_screen_create(fd);
|
||||
return screen ? debug_screen_wrap(screen) : NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_VIRGL)
|
||||
|
||||
static struct pipe_screen *
|
||||
pipe_virgl_create_screen(int fd)
|
||||
{
|
||||
struct virgl_winsys *vws;
|
||||
struct pipe_screen *screen;
|
||||
|
||||
vws = virgl_drm_winsys_create(fd);
|
||||
if (!vws)
|
||||
return NULL;
|
||||
|
||||
screen = virgl_create_screen(vws);
|
||||
return screen ? debug_screen_wrap(screen) : NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(GALLIUM_VC4)
|
||||
|
||||
static struct pipe_screen *
|
||||
pipe_vc4_create_screen(int fd)
|
||||
{
|
||||
struct pipe_screen *screen;
|
||||
|
||||
screen = vc4_drm_screen_create(fd);
|
||||
return screen ? debug_screen_wrap(screen) : NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
inline struct pipe_screen *
|
||||
dd_create_screen(int fd)
|
||||
{
|
||||
driver_name = loader_get_driver_for_fd(fd, _LOADER_GALLIUM);
|
||||
if (!driver_name)
|
||||
return NULL;
|
||||
|
||||
#if defined(GALLIUM_I915)
|
||||
if (strcmp(driver_name, "i915") == 0)
|
||||
return pipe_i915_create_screen(fd);
|
||||
else
|
||||
#endif
|
||||
#if defined(GALLIUM_ILO)
|
||||
if (strcmp(driver_name, "i965") == 0)
|
||||
return pipe_ilo_create_screen(fd);
|
||||
else
|
||||
#endif
|
||||
#if defined(GALLIUM_NOUVEAU)
|
||||
if (strcmp(driver_name, "nouveau") == 0)
|
||||
return pipe_nouveau_create_screen(fd);
|
||||
else
|
||||
#endif
|
||||
#if defined(GALLIUM_R300)
|
||||
if (strcmp(driver_name, "r300") == 0)
|
||||
return pipe_r300_create_screen(fd);
|
||||
else
|
||||
#endif
|
||||
#if defined(GALLIUM_R600)
|
||||
if (strcmp(driver_name, "r600") == 0)
|
||||
return pipe_r600_create_screen(fd);
|
||||
else
|
||||
#endif
|
||||
#if defined(GALLIUM_RADEONSI)
|
||||
if (strcmp(driver_name, "radeonsi") == 0)
|
||||
return pipe_radeonsi_create_screen(fd);
|
||||
else
|
||||
#endif
|
||||
#if defined(GALLIUM_VMWGFX)
|
||||
if (strcmp(driver_name, "vmwgfx") == 0)
|
||||
return pipe_vmwgfx_create_screen(fd);
|
||||
else
|
||||
#endif
|
||||
#if defined(GALLIUM_FREEDRENO)
|
||||
if ((strcmp(driver_name, "kgsl") == 0) || (strcmp(driver_name, "msm") == 0))
|
||||
return pipe_freedreno_create_screen(fd);
|
||||
else
|
||||
#endif
|
||||
#if defined(GALLIUM_VIRGL)
|
||||
if ((strcmp(driver_name, "virtio_gpu") == 0))
|
||||
return pipe_virgl_create_screen(fd);
|
||||
else
|
||||
#endif
|
||||
#if defined(GALLIUM_VC4)
|
||||
if (strcmp(driver_name, "vc4") == 0)
|
||||
return pipe_vc4_create_screen(fd);
|
||||
else
|
||||
#if defined(USE_VC4_SIMULATOR)
|
||||
if (strcmp(driver_name, "i965") == 0)
|
||||
return pipe_vc4_create_screen(fd);
|
||||
else
|
||||
#endif
|
||||
#endif
|
||||
return NULL;
|
||||
}
|
||||
|
||||
inline const char *
|
||||
dd_driver_name(void)
|
||||
{
|
||||
return driver_name;
|
||||
}
|
||||
|
||||
static const struct drm_conf_ret throttle_ret = {
|
||||
DRM_CONF_INT,
|
||||
{2},
|
||||
};
|
||||
|
||||
static const struct drm_conf_ret share_fd_ret = {
|
||||
DRM_CONF_BOOL,
|
||||
{true},
|
||||
};
|
||||
|
||||
static inline const struct drm_conf_ret *
|
||||
configuration_query(enum drm_conf conf)
|
||||
{
|
||||
switch (conf) {
|
||||
case DRM_CONF_THROTTLE:
|
||||
return &throttle_ret;
|
||||
case DRM_CONF_SHARE_FD:
|
||||
return &share_fd_ret;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
inline const struct drm_conf_ret *
|
||||
dd_configuration(enum drm_conf conf)
|
||||
{
|
||||
if (!driver_name)
|
||||
return NULL;
|
||||
|
||||
#if defined(GALLIUM_I915)
|
||||
if (strcmp(driver_name, "i915") == 0)
|
||||
return configuration_query(conf);
|
||||
else
|
||||
#endif
|
||||
#if defined(GALLIUM_ILO)
|
||||
if (strcmp(driver_name, "i965") == 0)
|
||||
return configuration_query(conf);
|
||||
else
|
||||
#endif
|
||||
#if defined(GALLIUM_NOUVEAU)
|
||||
if (strcmp(driver_name, "nouveau") == 0)
|
||||
return configuration_query(conf);
|
||||
else
|
||||
#endif
|
||||
#if defined(GALLIUM_R300)
|
||||
if (strcmp(driver_name, "r300") == 0)
|
||||
return configuration_query(conf);
|
||||
else
|
||||
#endif
|
||||
#if defined(GALLIUM_R600)
|
||||
if (strcmp(driver_name, "r600") == 0)
|
||||
return configuration_query(conf);
|
||||
else
|
||||
#endif
|
||||
#if defined(GALLIUM_RADEONSI)
|
||||
if (strcmp(driver_name, "radeonsi") == 0)
|
||||
return configuration_query(conf);
|
||||
else
|
||||
#endif
|
||||
#if defined(GALLIUM_VMWGFX)
|
||||
if (strcmp(driver_name, "vmwgfx") == 0)
|
||||
return configuration_query(conf);
|
||||
else
|
||||
#endif
|
||||
#if defined(GALLIUM_FREEDRENO)
|
||||
if ((strcmp(driver_name, "kgsl") == 0) || (strcmp(driver_name, "msm") == 0))
|
||||
return configuration_query(conf);
|
||||
else
|
||||
#endif
|
||||
#if defined(GALLIUM_VIRGL)
|
||||
if ((strcmp(driver_name, "virtio_gpu") == 0))
|
||||
return configuration_query(conf);
|
||||
else
|
||||
#endif
|
||||
#if defined(GALLIUM_VC4)
|
||||
if (strcmp(driver_name, "vc4") == 0)
|
||||
return configuration_query(conf);
|
||||
else
|
||||
#if defined(USE_VC4_SIMULATOR)
|
||||
if (strcmp(driver_name, "i965") == 0)
|
||||
return configuration_query(conf);
|
||||
else
|
||||
#endif
|
||||
#endif
|
||||
return NULL;
|
||||
}
|
||||
#endif /* INLINE_DRM_HELPER_H */
|
||||
@@ -117,10 +117,4 @@ struct drm_driver_descriptor driver_descriptor = { \
|
||||
.configuration = (conf), \
|
||||
};
|
||||
|
||||
extern struct pipe_screen *dd_create_screen(int fd);
|
||||
|
||||
extern const char *dd_driver_name(void);
|
||||
|
||||
extern const struct drm_conf_ret *dd_configuration(enum drm_conf conf);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user