Filter system features

This commit is contained in:
libretroadmin 2024-12-20 20:41:59 +01:00
parent 8212bf60ef
commit 8571847fda
5 changed files with 214 additions and 8 deletions

View File

@ -74,6 +74,36 @@
#define SUPPORTS_OPENGL false
#endif
#ifdef HAVE_D3D8
#define SUPPORTS_D3D8 true
#else
#define SUPPORTS_D3D8 false
#endif
#ifdef HAVE_D3D9
#define SUPPORTS_D3D9 true
#else
#define SUPPORTS_D3D9 false
#endif
#ifdef HAVE_D3D10
#define SUPPORTS_D3D10 true
#else
#define SUPPORTS_D3D10 false
#endif
#ifdef HAVE_D3D11
#define SUPPORTS_D3D11 true
#else
#define SUPPORTS_D3D11 false
#endif
#ifdef HAVE_D3D12
#define SUPPORTS_D3D12 true
#else
#define SUPPORTS_D3D12 false
#endif
#ifdef HAVE_VULKAN
#define SUPPORTS_VULKAN true
#else
@ -134,6 +164,12 @@
#define SUPPORTS_XVIDEO false
#endif
#ifdef HAVE_SLANG
#define SUPPORTS_SLANG true
#else
#define SUPPORTS_SLANG false
#endif
#ifdef HAVE_ALSA
#define SUPPORTS_ALSA true
#else
@ -320,6 +356,12 @@
#define SUPPORTS_QT false
#endif
#ifdef HAVE_QT6
#define SUPPORTS_QT6 true
#else
#define SUPPORTS_QT6 false
#endif
#ifdef HAVE_RPNG
#define SUPPORTS_RPNG true
#else

View File

@ -730,6 +730,26 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_SDL2_SUPPORT,
"SDL 2 Support"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_D3D8_SUPPORT,
"Direct3D 8 Support"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_D3D9_SUPPORT,
"Direct3D 9 Support"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_D3D10_SUPPORT,
"Direct3D 10 Support"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_D3D11_SUPPORT,
"Direct3D 11 Support"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_D3D12_SUPPORT,
"Direct3D 12 Support"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_VULKAN_SUPPORT,
"Vulkan Support"
@ -2676,11 +2696,11 @@ MSG_HASH(
"Viewport Anchor Bias Y"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_VIDEO_VIEWPORT_BIAS_X,
MENU_ENUM_SUBLABEL_VIDEO_VIEWPORT_BIAS_X,
"Custom viewport bias used to offset the viewport horizontally (if wider than content height). 0.0 means far left and 1.0 means far right."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_VIDEO_VIEWPORT_BIAS_Y,
MENU_ENUM_SUBLABEL_VIDEO_VIEWPORT_BIAS_Y,
"Custom viewport bias used to offset the viewport vertically (if taller than content height). 0.0 means top and 1.0 means bottom."
)
#if defined(RARCH_MOBILE)
@ -2701,11 +2721,11 @@ MSG_HASH(
"Viewport Anchor Bias Y (Portrait Orientation)"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_VIDEO_VIEWPORT_BIAS_PORTRAIT_X,
MENU_ENUM_SUBLABEL_VIDEO_VIEWPORT_BIAS_PORTRAIT_X,
"Custom viewport bias used to offset the viewport horizontally (if wider than content height). 0.0 means far left and 1.0 means far right. (Portrait Orientation)"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_VIDEO_VIEWPORT_BIAS_PORTRAIT_Y,
MENU_ENUM_SUBLABEL_VIDEO_VIEWPORT_BIAS_PORTRAIT_Y,
"Custom viewport bias used to offset the viewport vertically (if taller than content height). 0.0 means top and 1.0 means bottom. (Portrait Orientation)"
)
#endif
@ -3380,11 +3400,11 @@ MSG_HASH(
MSG_HASH(
MENU_ENUM_LABEL_VALUE_INPUT_REMAP_SORT_BY_CONTROLLER_ENABLE,
"Sort Remaps By Gamepad"
)
)
MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_REMAP_SORT_BY_CONTROLLER_ENABLE,
"Remaps will only apply to the active gamepad in which they were saved."
)
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE,
"Autoconfig"

View File

@ -2261,8 +2261,12 @@ static unsigned menu_displaylist_parse_system_info(file_list_t *list)
#ifdef HAVE_COMMAND
{SUPPORTS_COMMAND, MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_COMMAND_IFACE_SUPPORT},
#endif
#ifdef HAVE_NETWORK_CMD
{SUPPORTS_NETWORK_COMMAND, MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_NETWORK_COMMAND_IFACE_SUPPORT},
#endif
#ifdef HAVE_NETWORKGAMEPAD
{SUPPORTS_NETWORK_GAMEPAD, MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_NETWORK_REMOTE_SUPPORT},
#endif
#ifdef HAVE_COCOA
{SUPPORTS_COCOA , MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_COCOA_SUPPORT},
#endif
@ -2278,10 +2282,27 @@ static unsigned menu_displaylist_parse_system_info(file_list_t *list)
#ifdef HAVE_RTGA
{SUPPORTS_RTGA , MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_RTGA_SUPPORT},
#endif
#ifdef HAVE_SDL
{SUPPORTS_SDL , MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_SDL_SUPPORT},
#endif
#ifdef HAVE_SDL2
{SUPPORTS_SDL2 , MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_SDL2_SUPPORT},
#endif
#ifdef HAVE_D3D8
{SUPPORTS_D3D8 , MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_D3D8_SUPPORT},
#endif
#ifdef HAVE_D3D9
{SUPPORTS_D3D9 , MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_D3D9_SUPPORT},
#endif
#ifdef HAVE_D3D10
{SUPPORTS_D3D10 , MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_D3D10_SUPPORT},
#endif
#ifdef HAVE_D3D11
{SUPPORTS_D3D11 , MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_D3D11_SUPPORT},
#endif
#ifdef HAVE_D3D12
{SUPPORTS_D3D12 , MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_D3D12_SUPPORT},
#endif
#ifdef HAVE_VULKAN
{SUPPORTS_VULKAN , MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_VULKAN_SUPPORT},
#endif
@ -2375,6 +2396,9 @@ static unsigned menu_displaylist_parse_system_info(file_list_t *list)
#ifdef HAVE_HLSL
{SUPPORTS_HLSL , MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_HLSL_SUPPORT},
#endif
#ifdef HAVE_SLANG
{SUPPORTS_SLANG , MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_SLANG_SUPPORT},
#endif
#ifdef HAVE_SDL_IMAGE
{SUPPORTS_SDL_IMAGE , MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_SDL_IMAGE_SUPPORT},
#endif
@ -2393,7 +2417,7 @@ static unsigned menu_displaylist_parse_system_info(file_list_t *list)
#ifdef HAVE_STB_FONT
{SUPPORTS_STBFONT , MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_STB_TRUETYPE_SUPPORT},
#endif
#ifdef HAVE_NETPLAY
#ifdef HAVE_NETWORKING
{SUPPORTS_NETPLAY , MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_NETPLAY_SUPPORT},
#endif
#ifdef HAVE_V4L2

View File

@ -3508,6 +3508,11 @@ enum msg_hash_enums
MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_RPNG_SUPPORT,
MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_SDL_SUPPORT,
MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_SDL2_SUPPORT,
MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_D3D8_SUPPORT,
MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_D3D9_SUPPORT,
MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_D3D10_SUPPORT,
MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_D3D11_SUPPORT,
MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_D3D12_SUPPORT,
MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_VULKAN_SUPPORT,
MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_METAL_SUPPORT,
MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_OPENGL_SUPPORT,

View File

@ -6107,55 +6107,170 @@ static void retroarch_print_features(void)
frontend_driver_attach_console();
_len = strlcpy(buf, "Features:\n", sizeof(buf));
#ifdef HAVE_LIBRETRODB
_len += _PSUPP_BUF(buf, _len, SUPPORTS_LIBRETRODB, "LibretroDB", "LibretroDB support");
#endif
#ifdef HAVE_COMMAND
_len += _PSUPP_BUF(buf, _len, SUPPORTS_COMMAND, "Command", "Command interface support");
#endif
_len += _PSUPP_BUF(buf, _len, SUPPORTS_NETWORK_COMMAND, "Network Command", "Network Command interface support");
_len += _PSUPP_BUF(buf, _len, SUPPORTS_SDL, "SDL", "SDL input/audio/video drivers");
#ifdef HAVE_SDL
_len += _PSUPP_BUF(buf, _len, SUPPORTS_SDL, "SDL1", "SDL1 input/audio/video drivers");
#endif
#ifdef HAVE_SDL2
_len += _PSUPP_BUF(buf, _len, SUPPORTS_SDL2, "SDL2", "SDL2 input/audio/video drivers");
#endif
#ifdef HAVE_X11
_len += _PSUPP_BUF(buf, _len, SUPPORTS_X11, "X11", "X11 input/video drivers");
#endif
#ifdef HAVE_UDEV
_len += _PSUPP_BUF(buf, _len, SUPPORTS_UDEV, "UDEV", "UDEV/EVDEV input driver");
#endif
#ifdef HAVE_WAYLAND
_len += _PSUPP_BUF(buf, _len, SUPPORTS_WAYLAND, "Wayland", "Wayland input/video drivers");
#endif
#ifdef HAVE_THREADS
_len += _PSUPP_BUF(buf, _len, SUPPORTS_THREAD, "Threads", "Threading support");
#endif
#ifdef HAVE_D3D8
_len += _PSUPP_BUF(buf, _len, SUPPORTS_D3D8, "Direct3D 8", "Video driver");
#endif
#ifdef HAVE_D3D9
_len += _PSUPP_BUF(buf, _len, SUPPORTS_D3D9, "Direct3D 9", "Video driver");
#endif
#ifdef HAVE_D3D10
_len += _PSUPP_BUF(buf, _len, SUPPORTS_D3D10, "Direct3D 10", "Video driver");
#endif
#ifdef HAVE_D3D11
_len += _PSUPP_BUF(buf, _len, SUPPORTS_D3D11, "Direct3D 11", "Video driver");
#endif
#ifdef HAVE_D3D12
_len += _PSUPP_BUF(buf, _len, SUPPORTS_D3D12, "Direct3D 12", "Video driver");
#endif
#ifdef HAVE_VULKAN
_len += _PSUPP_BUF(buf, _len, SUPPORTS_VULKAN, "Vulkan", "Video driver");
#endif
#ifdef HAVE_METAL
_len += _PSUPP_BUF(buf, _len, SUPPORTS_METAL, "Metal", "Video driver");
#endif
#if defined(HAVE_OPENGL) || defined(HAVE_OPENGL1) || defined(HAVE_OPENGL_CORE)
_len += _PSUPP_BUF(buf, _len, SUPPORTS_OPENGL, "OpenGL", "Video driver");
#endif
#if defined(HAVE_OPENGLES) || defined(HAVE_OPENGLES2) || defined(HAVE_OPENGLES3) || defined(HAVE_OPENGLES3_1) || defined(HAVE_OPENGLES3_2)
_len += _PSUPP_BUF(buf, _len, SUPPORTS_OPENGLES, "OpenGLES", "Video driver");
#endif
#ifdef HAVE_XVIDEO
_len += _PSUPP_BUF(buf, _len, SUPPORTS_XVIDEO, "XVideo", "Video driver");
#endif
#ifdef HAVE_EGL
_len += _PSUPP_BUF(buf, _len, SUPPORTS_EGL, "EGL", "Video context driver");
#endif
#ifdef HAVE_KMS
_len += _PSUPP_BUF(buf, _len, SUPPORTS_KMS, "KMS", "Video context driver");
#endif
#ifdef HAVE_VG
_len += _PSUPP_BUF(buf, _len, SUPPORTS_VG, "OpenVG", "Video context driver");
#endif
#ifdef HAVE_COREAUDIO
_len += _PSUPP_BUF(buf, _len, SUPPORTS_COREAUDIO, "CoreAudio", "Audio driver");
#endif
#ifdef HAVE_COREAUDIO3
_len += _PSUPP_BUF(buf, _len, SUPPORTS_COREAUDIO3, "CoreAudioV3", "Audio driver");
#endif
#ifdef HAVE_ALSA
_len += _PSUPP_BUF(buf, _len, SUPPORTS_ALSA, "ALSA", "Audio driver");
#endif
#ifdef HAVE_PIPEWIRE
_len += _PSUPP_BUF(buf, _len, SUPPORTS_PIPEWIRE, "PipeWire", "Audio driver");
#endif
#ifdef HAVE_OSS
_len += _PSUPP_BUF(buf, _len, SUPPORTS_OSS, "OSS", "Audio driver");
#endif
#ifdef HAVE_JACK
_len += _PSUPP_BUF(buf, _len, SUPPORTS_JACK, "Jack", "Audio driver");
#endif
#ifdef HAVE_RSOUND
_len += _PSUPP_BUF(buf, _len, SUPPORTS_RSOUND, "RSound", "Audio driver");
#endif
#ifdef HAVE_ROAR
_len += _PSUPP_BUF(buf, _len, SUPPORTS_ROAR, "RoarAudio", "Audio driver");
#endif
#ifdef HAVE_PULSE
_len += _PSUPP_BUF(buf, _len, SUPPORTS_PULSE, "PulseAudio", "Audio driver");
#endif
#ifdef HAVE_DSOUND
_len += _PSUPP_BUF(buf, _len, SUPPORTS_DSOUND, "DirectSound", "Audio driver");
#endif
#ifdef HAVE_WASAPI
_len += _PSUPP_BUF(buf, _len, SUPPORTS_WASAPI, "WASAPI", "Audio driver");
#endif
#ifdef HAVE_XAUDIO
_len += _PSUPP_BUF(buf, _len, SUPPORTS_XAUDIO, "XAudio2", "Audio driver");
#endif
#ifdef HAVE_AL
_len += _PSUPP_BUF(buf, _len, SUPPORTS_AL, "OpenAL", "Audio driver");
#endif
#ifdef HAVE_SL
_len += _PSUPP_BUF(buf, _len, SUPPORTS_SL, "OpenSL", "Audio driver");
#endif
#ifdef HAVE_7ZIP
_len += _PSUPP_BUF(buf, _len, SUPPORTS_7ZIP, "7zip", "7zip extraction support");
#endif
#ifdef HAVE_ZLIB
_len += _PSUPP_BUF(buf, _len, SUPPORTS_ZLIB, "zlib", "zip extraction support");
#endif
#ifdef HAVE_DYLIB
_len += _PSUPP_BUF(buf, _len, SUPPORTS_DYLIB, "External", "External filter and plugin support");
#endif
#ifdef HAVE_CG
_len += _PSUPP_BUF(buf, _len, SUPPORTS_CG, "Cg", "Fragment/vertex shader driver");
#endif
#ifdef HAVE_GLSL
_len += _PSUPP_BUF(buf, _len, SUPPORTS_GLSL, "GLSL", "Fragment/vertex shader driver");
#endif
#ifdef HAVE_HLSL
_len += _PSUPP_BUF(buf, _len, SUPPORTS_HLSL, "HLSL", "Fragment/vertex shader driver");
#endif
#ifdef HAVE_SLANG
_len += _PSUPP_BUF(buf, _len, SUPPORTS_SLANG, "glslang", "Fragment/vertex shader driver");
#endif
#ifdef HAVE_SDL_IMAGE
_len += _PSUPP_BUF(buf, _len, SUPPORTS_SDL_IMAGE, "SDL_image", "SDL_image image loading");
#endif
#ifdef HAVE_RPNG
_len += _PSUPP_BUF(buf, _len, SUPPORTS_RPNG, "rpng", "PNG image loading/encoding");
#endif
#ifdef HAVE_RJPEG
_len += _PSUPP_BUF(buf, _len, SUPPORTS_RJPEG, "rjpeg", "JPEG image loading");
#endif
_len += _PSUPP_BUF(buf, _len, SUPPORTS_DYNAMIC, "Dynamic", "Dynamic run-time loading of libretro library");
#ifdef HAVE_FFMPEG
_len += _PSUPP_BUF(buf, _len, SUPPORTS_FFMPEG, "FFmpeg", "On-the-fly recording of gameplay with libavcodec");
#endif
#ifdef HAVE_FREETYPE
_len += _PSUPP_BUF(buf, _len, SUPPORTS_FREETYPE, "FreeType", "TTF font rendering driver");
#endif
#ifdef HAVE_CORETEXT
_len += _PSUPP_BUF(buf, _len, SUPPORTS_CORETEXT, "CoreText", "TTF font rendering driver");
#endif
#ifdef HAVE_NETWORKING
_len += _PSUPP_BUF(buf, _len, SUPPORTS_NETPLAY, "Netplay", "Peer-to-peer netplay");
#endif
#ifdef HAVE_LIBUSB
_len += _PSUPP_BUF(buf, _len, SUPPORTS_LIBUSB, "Libusb", "Libusb support");
#endif
#ifdef HAVE_COCOA
_len += _PSUPP_BUF(buf, _len, SUPPORTS_COCOA, "Cocoa", "Cocoa UI companion support (for OSX and/or iOS)");
#endif
#ifdef HAVE_QT
_len += _PSUPP_BUF(buf, _len, SUPPORTS_QT, "Qt", "Qt UI companion support");
#endif
#ifdef HAVE_QT6
_len += _PSUPP_BUF(buf, _len, SUPPORTS_QT6, "Qt6", "Qt 6.x support");
#endif
#ifdef HAVE_V4L2
_PSUPP_BUF(buf, _len, SUPPORTS_V4L2, "Video4Linux2", "Camera driver");
#endif
fputs(buf, stdout);
}