mirror of
https://github.com/libretro/RetroArch
synced 2025-03-05 19:13:45 +00:00
Backport DRM video driver
This commit is contained in:
parent
0775687008
commit
d53cbfbdfb
@ -677,7 +677,8 @@ OBJ += gfx/video_context_driver.o \
|
||||
|
||||
ifeq ($(HAVE_KMS), 1)
|
||||
HAVE_AND_WILL_USE_DRM = 1
|
||||
OBJ += gfx/drivers_context/drm_ctx.o
|
||||
OBJ += gfx/drivers_context/drm_ctx.o \
|
||||
gfx/drivers/drm_gfx.o
|
||||
DEFINES += $(GBM_CFLAGS) $(DRM_CFLAGS) $(EGL_CFLAGS)
|
||||
LIBS += $(GBM_LIBS) $(DRM_LIBS) $(EGL_LIBS)
|
||||
endif
|
||||
|
@ -29,6 +29,7 @@ enum
|
||||
{
|
||||
VIDEO_GL = 0,
|
||||
VIDEO_VULKAN,
|
||||
VIDEO_DRM,
|
||||
VIDEO_XVIDEO,
|
||||
VIDEO_SDL,
|
||||
VIDEO_SDL2,
|
||||
|
@ -183,6 +183,8 @@ const char *config_get_default_video(void)
|
||||
return "gl";
|
||||
case VIDEO_VULKAN:
|
||||
return "vulkan";
|
||||
case VIDEO_DRM:
|
||||
return "drm";
|
||||
case VIDEO_WII:
|
||||
return "gx";
|
||||
case VIDEO_XENON360:
|
||||
|
1004
gfx/drivers/drm_gfx.c
Normal file
1004
gfx/drivers/drm_gfx.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -199,6 +199,9 @@ static const video_driver_t *video_drivers[] = {
|
||||
#endif
|
||||
#ifdef HAVE_SUNXI
|
||||
&video_sunxi,
|
||||
#endif
|
||||
#ifdef HAVE_KMS
|
||||
&video_drm,
|
||||
#endif
|
||||
&video_null,
|
||||
NULL,
|
||||
|
@ -551,6 +551,7 @@ extern video_driver_t video_omap;
|
||||
extern video_driver_t video_exynos;
|
||||
extern video_driver_t video_dispmanx;
|
||||
extern video_driver_t video_sunxi;
|
||||
extern video_driver_t video_drm;
|
||||
extern video_driver_t video_xshm;
|
||||
extern video_driver_t video_null;
|
||||
|
||||
|
@ -278,6 +278,10 @@ VIDEO DRIVER
|
||||
#include "../gfx/drivers/vulkan.c"
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_KMS)
|
||||
#include "../gfx/drivers/drm_gfx.c"
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_OPENGL
|
||||
#include "../gfx/common/gl_common.c"
|
||||
#include "../gfx/drivers/gl.c"
|
||||
|
@ -305,6 +305,16 @@ int menu_hash_get_help_es(uint32_t hash, char *s, size_t len)
|
||||
"renderizados por software debería \n"
|
||||
"ser óptimo.");
|
||||
break;
|
||||
case MENU_LABEL_VIDEO_DRIVER_DRM:
|
||||
snprintf(s, len,
|
||||
"Controlador de vídeo de DRM simple. \n"
|
||||
" \n"
|
||||
"Este es un controlador de vídeo que \n"
|
||||
"usa libdrm para escalado por hardware \n"
|
||||
"mediante los overlays de la GPU. \n"
|
||||
" \n"
|
||||
"El blitting se hace por software.");
|
||||
break;
|
||||
case MENU_LABEL_VIDEO_DRIVER_SUNXI:
|
||||
snprintf(s, len,
|
||||
"Controlador de vídeo Sunxi-G2D. \n"
|
||||
|
@ -261,6 +261,14 @@ int menu_hash_get_help_us(uint32_t hash, char *s, size_t len)
|
||||
"Performance for software rendered cores \n"
|
||||
"should be optimal.");
|
||||
break;
|
||||
case MENU_LABEL_VIDEO_DRIVER_DRM:
|
||||
snprintf(s, len,
|
||||
"Plain DRM Video Driver. \n"
|
||||
" \n"
|
||||
"This is a low-level video driver using. \n"
|
||||
"libdrm for hardware scaling using \n"
|
||||
"GPU overlays.");
|
||||
break;
|
||||
case MENU_LABEL_VIDEO_DRIVER_SUNXI:
|
||||
snprintf(s, len,
|
||||
"Sunxi-G2D Video Driver. \n"
|
||||
|
@ -1032,6 +1032,7 @@ enum msg_hash_enums
|
||||
MENU_ENUM_LABEL_VIDEO_DRIVER_D3D,
|
||||
MENU_ENUM_LABEL_VIDEO_DRIVER_EXYNOS,
|
||||
MENU_ENUM_LABEL_VIDEO_DRIVER_SUNXI,
|
||||
MENU_ENUM_LABEL_VIDEO_DRIVER_DRM,
|
||||
|
||||
MENU_ENUM_LABEL_MENU_ENUM_DRIVER,
|
||||
MENU_ENUM_LABEL_VALUE_MENU_ENUM_DRIVER,
|
||||
@ -1968,6 +1969,7 @@ enum msg_hash_enums
|
||||
#define MENU_LABEL_VIDEO_DRIVER_D3D 0x0b886340U
|
||||
#define MENU_LABEL_VIDEO_DRIVER_EXYNOS 0xfc37c54bU
|
||||
#define MENU_LABEL_VIDEO_DRIVER_SUNXI 0x10620e3cU
|
||||
#define MENU_LABEL_VIDEO_DRIVER_DRM 0x61a89bfaU
|
||||
#define MENU_LABEL_VIDEO_ROTATION 0x4ce6882bU
|
||||
#define MENU_LABEL_VIDEO_SCALE 0x09835d63U
|
||||
#define MENU_LABEL_VIDEO_CROP_OVERSCAN 0x861f7a2fU
|
||||
|
Loading…
x
Reference in New Issue
Block a user