Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions .github/workflows/Linux-Headless.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: CI Linux Headless [No Menu] (i686)

on:
push:
pull_request:
repository_dispatch:
types: [run_build]

permissions:
contents: read

env:
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true

jobs:
build:
runs-on: ubuntu-latest
container:
image: git.libretro.com:5050/libretro-infrastructure/libretro-build-i386-ubuntu:xenial-gcc9
options: --user root

steps:
- name: Check Out Repo
uses: taiki-e/checkout-action@v1

- name: Configure Build
run: |
./configure --disable-qt --disable-menu --enable-xdelta

- name: Compile RA
run: |
make -j$(getconf _NPROCESSORS_ONLN) clean
make -j$(getconf _NPROCESSORS_ONLN) info all

- name: Get short SHA
id: slug
run: echo "::set-output name=sha8::$(echo ${GITHUB_SHA} | cut -c1-8)"
10 changes: 2 additions & 8 deletions Makefile.common
Original file line number Diff line number Diff line change
Expand Up @@ -341,15 +341,12 @@ OBJ += \
gfx/video_driver.o \
gfx/gfx_display.o \
gfx/gfx_animation.o \
gfx/gfx_thumbnail.o \
configuration.o \
$(LIBRETRO_COMM_DIR)/dynamic/dylib.o \
cores/dynamic_dummy.o \
$(LIBRETRO_COMM_DIR)/queues/message_queue.o

ifeq ($(HAVE_MENU), 1)
OBJ += gfx/gfx_thumbnail.o
endif

ifeq ($(HAVE_MICROPHONE), 1)
DEFINES += -DHAVE_MICROPHONE
endif
Expand Down Expand Up @@ -2306,6 +2303,7 @@ ifeq ($(HAVE_NETWORKING), 1)
network/natt.o \
tasks/task_netplay_lan_scan.o \
tasks/task_netplay_nat_traversal.o \
tasks/task_pl_thumbnail_download.o \
tasks/task_netplay_find_content.o

ifeq ($(HAVE_EMSCRIPTEN), 1)
Expand All @@ -2314,10 +2312,6 @@ ifeq ($(HAVE_NETWORKING), 1)
OBJ += tasks/task_http.o
endif

ifeq ($(HAVE_MENU), 1)
OBJ += tasks/task_pl_thumbnail_download.o
endif

ifeq ($(HAVE_MENU_COMMON), 1)
OBJ += tasks/task_core_updater.o
endif
Expand Down
4 changes: 4 additions & 0 deletions audio/audio_driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -1573,7 +1573,9 @@ void audio_driver_load_system_sounds(void)
const char *path_cancel = NULL;
const char *path_notice = NULL;
const char *path_notice_back = NULL;
#if defined(HAVE_MENU)
const char *path_bgm = NULL;
#endif
const char *path_cheevo_unlock = NULL;
const char *path_up = NULL;
const char *path_down = NULL;
Expand Down Expand Up @@ -1643,8 +1645,10 @@ void audio_driver_load_system_sounds(void)
path_notice = path;
else if (string_is_equal_noncase(basename_noext, "notice_back"))
path_notice_back = path;
#if defined(HAVE_MENU)
else if (string_is_equal_noncase(basename_noext, "bgm"))
path_bgm = path;
#endif
else if (string_is_equal_noncase(basename_noext, "unlock"))
path_cheevo_unlock = path;
else if (string_is_equal_noncase(basename_noext, "up"))
Expand Down
1 change: 1 addition & 0 deletions cheevos/cheevos_menu.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@

#include <features/features_cpu.h>
#include <retro_assert.h>
#include <compat/strl.h>

#include "cheevos_locals.h"
#include "cheevos_client.h"
Expand Down
1 change: 1 addition & 0 deletions frontend/drivers/platform_ctr.c
Original file line number Diff line number Diff line change
Expand Up @@ -635,6 +635,7 @@ frontend_ctx_driver_t frontend_ctx_ctr =
NULL, /* is_narrator_running */
NULL, /* accessibility_speak */
NULL, /* set_gamemode */
NULL, /* get_display_type */
"ctr", /* ident */
NULL /* get_video_driver */
};
1 change: 1 addition & 0 deletions frontend/drivers/platform_darwin.m
Original file line number Diff line number Diff line change
Expand Up @@ -1096,6 +1096,7 @@ static void frontend_darwin_content_loaded(void)
frontend_darwin_is_narrator_running, /* is_narrator_running */
frontend_darwin_accessibility_speak, /* accessibility_speak */
NULL, /* set_gamemode */
NULL, /* get_display_type */
"darwin", /* ident */
NULL /* get_video_driver */
};
1 change: 1 addition & 0 deletions frontend/drivers/platform_dos.c
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,7 @@ frontend_ctx_driver_t frontend_ctx_dos = {
NULL, /* is_narrator_running */
NULL, /* accessibility_speak */
NULL, /* set_gamemode */
NULL, /* get_display_type */
"dos", /* ident */
NULL /* get_video_driver */
};
1 change: 1 addition & 0 deletions frontend/drivers/platform_emscripten.c
Original file line number Diff line number Diff line change
Expand Up @@ -1094,6 +1094,7 @@ frontend_ctx_driver_t frontend_ctx_emscripten = {
NULL, /* is_narrator_running */
NULL, /* accessibility_speak */
NULL, /* set_gamemode */
NULL, /* get_display_type */
"emscripten", /* ident */
NULL /* get_video_driver */
};
1 change: 1 addition & 0 deletions frontend/drivers/platform_gx.c
Original file line number Diff line number Diff line change
Expand Up @@ -602,6 +602,7 @@ frontend_ctx_driver_t frontend_ctx_gx = {
NULL, /* is_narrator_running */
NULL, /* accessibility_speak */
NULL, /* set_gamemode */
NULL, /* get_display_type */
"gx", /* ident */
NULL /* get_video_driver */
};
1 change: 1 addition & 0 deletions frontend/drivers/platform_orbis.c
Original file line number Diff line number Diff line change
Expand Up @@ -356,6 +356,7 @@ frontend_ctx_driver_t frontend_ctx_orbis = {
NULL, /* is_narrator_running */
NULL, /* accessibility_speak */
NULL, /* set_gamemode */
NULL, /* get_display_type */
"orbis", /* ident */
NULL /* get_video_driver */
};
1 change: 1 addition & 0 deletions frontend/drivers/platform_ps2.c
Original file line number Diff line number Diff line change
Expand Up @@ -585,6 +585,7 @@ frontend_ctx_driver_t frontend_ctx_ps2 = {
NULL, /* is_narrator_running */
NULL, /* accessibility_speak */
NULL, /* set_gamemode */
NULL, /* get_display_type */
"ps2", /* ident */
NULL /* get_video_driver */
};
1 change: 1 addition & 0 deletions frontend/drivers/platform_ps3.c
Original file line number Diff line number Diff line change
Expand Up @@ -687,6 +687,7 @@ frontend_ctx_driver_t frontend_ctx_ps3 = {
NULL, /* is_narrator_running */
NULL, /* accessibility_speak */
NULL, /* set_gamemode */
NULL, /* get_display_type */
"ps3", /* ident */
NULL /* get_video_driver */
};
2 changes: 2 additions & 0 deletions frontend/drivers/platform_psp.c
Original file line number Diff line number Diff line change
Expand Up @@ -624,12 +624,14 @@ frontend_ctx_driver_t frontend_ctx_psp = {
NULL, /* is_narrator_running */
NULL, /* accessibility_speak */
NULL, /* set_gamemode */
NULL, /* get_display_type */
"vita", /* ident */
#else
NULL, /* get_user_language */
NULL, /* is_narrator_running */
NULL, /* accessibility_speak */
NULL, /* set_gamemode */
NULL, /* get_display_type */
"psp", /* ident */
#endif
NULL /* get_video_driver */
Expand Down
1 change: 1 addition & 0 deletions frontend/drivers/platform_qnx.c
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,7 @@ frontend_ctx_driver_t frontend_ctx_qnx = {
NULL, /* is_narrator_running */
NULL, /* accessibility_speak */
NULL, /* set_gamemode */
NULL, /* get_display_type */
"qnx", /* ident */
NULL /* get_video_driver */
};
1 change: 1 addition & 0 deletions frontend/drivers/platform_switch.c
Original file line number Diff line number Diff line change
Expand Up @@ -807,6 +807,7 @@ frontend_ctx_driver_t frontend_ctx_switch =
NULL, /* is_narrator_running */
NULL, /* accessibility_speak */
NULL, /* set_gamemode */
NULL, /* get_display_type */
"switch", /* ident */
NULL /* get_video_driver */
};
16 changes: 16 additions & 0 deletions frontend/drivers/platform_unix.c
Original file line number Diff line number Diff line change
Expand Up @@ -3320,6 +3320,21 @@ static bool accessibility_speak_android(int speed,
}
#endif

static enum rarch_display_type frontend_unix_get_display_type(void)
{
#if defined(ANDROID)
return RARCH_DISPLAY_NONE;
#elif defined(HAVE_WAYLAND)
if (getenv("WAYLAND_DISPLAY"))
return RARCH_DISPLAY_WAYLAND;
#endif
#if defined(HAVE_X11)
if (getenv("DISPLAY"))
return RARCH_DISPLAY_X11;
#endif
return RARCH_DISPLAY_NONE;
}

frontend_ctx_driver_t frontend_ctx_unix = {
frontend_unix_get_env, /* get_env */
frontend_unix_init, /* init */
Expand Down Expand Up @@ -3384,6 +3399,7 @@ frontend_ctx_driver_t frontend_ctx_unix = {
#else
NULL,
#endif
frontend_unix_get_display_type,
#ifdef ANDROID
"android", /* ident */
#else
Expand Down
1 change: 1 addition & 0 deletions frontend/drivers/platform_uwp.c
Original file line number Diff line number Diff line change
Expand Up @@ -367,6 +367,7 @@ frontend_ctx_driver_t frontend_ctx_uwp = {
NULL, /* is_narrator_running */
NULL, /* accessibility_speak */
NULL, /* set_gamemode */
NULL, /* get_display_type */
"uwp", /* ident */
NULL /* get_video_driver */
};
1 change: 1 addition & 0 deletions frontend/drivers/platform_wiiu.c
Original file line number Diff line number Diff line change
Expand Up @@ -358,6 +358,7 @@ frontend_ctx_driver_t frontend_ctx_wiiu =
NULL, /* is_narrator_running */
NULL, /* accessibility_speak */
NULL, /* set_gamemode */
NULL, /* get_display_type */
"wiiu", /* ident */
NULL /* get_video_driver */
};
Expand Down
6 changes: 6 additions & 0 deletions frontend/drivers/platform_win32.c
Original file line number Diff line number Diff line change
Expand Up @@ -1311,6 +1311,11 @@ static bool accessibility_speak_windows(int speed,
}
#endif

static enum rarch_display_type frontend_win32_get_display_type(void)
{
return RARCH_DISPLAY_WIN32;
}

frontend_ctx_driver_t frontend_ctx_win32 = {
frontend_win32_env_get, /* env_get */
frontend_win32_init, /* init */
Expand Down Expand Up @@ -1357,6 +1362,7 @@ frontend_ctx_driver_t frontend_ctx_win32 = {
NULL, /* accessibility_speak */
#endif
NULL, /* set_gamemode */
frontend_win32_get_display_type,
"win32", /* ident */
NULL /* get_video_driver */
};
1 change: 1 addition & 0 deletions frontend/drivers/platform_xdk.c
Original file line number Diff line number Diff line change
Expand Up @@ -434,6 +434,7 @@ frontend_ctx_driver_t frontend_ctx_xdk = {
NULL, /* is_narrator_running */
NULL, /* accessibility_speak */
NULL, /* set_gamemode */
NULL, /* get_display_type */
"xdk", /* ident */
NULL /* get_video_driver */
};
1 change: 1 addition & 0 deletions frontend/drivers/platform_xenon.c
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ frontend_ctx_driver_t frontend_ctx_qnx = {
NULL, /* is_narrator_running */
NULL, /* accessibility_speak */
NULL, /* set_gamemode */
NULL, /* get_display_type */
"xenon", /* ident */
NULL /* get_video_driver */
};
1 change: 1 addition & 0 deletions frontend/frontend_driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ static frontend_ctx_driver_t frontend_ctx_null = {
NULL, /* is_narrator_running */
NULL, /* accessibility_speak */
NULL, /* set_gamemode */
NULL, /* get_display_type */
"null",
NULL, /* get_video_driver */
};
Expand Down
3 changes: 3 additions & 0 deletions frontend/frontend_driver.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
#include <lists/string_list.h>

#include <libretro.h>
#include "../gfx/video_defines.h"

RETRO_BEGIN_DECLS

Expand Down Expand Up @@ -114,6 +115,8 @@ typedef struct frontend_ctx_driver
const char* speak_text, int priority);
bool (*set_gamemode)(bool on);

enum rarch_display_type (*get_display_type)(void);

const char *ident;

const struct video_driver *(*get_video_driver)(void);
Expand Down
15 changes: 15 additions & 0 deletions gfx/common/vulkan_common.c
Original file line number Diff line number Diff line change
Expand Up @@ -2326,7 +2326,19 @@ bool vulkan_create_swapchain(gfx_ctx_vulkan_data_t *vk,
info.compositeAlpha = composite;
info.presentMode = swapchain_present_mode;
info.clipped = VK_TRUE;

/* TODO/FIXME:
* Weird shenanigans necessary for Apple otherwise the following happens:
* The menu sometimes refuses to display, but still responds to input.
* This happens about 1/5 times on macOS but 100% in the quick menu on iOS
*/
#ifdef __APPLE__
info.oldSwapchain = NULL;
if (old_swapchain != VK_NULL_HANDLE)
vkDestroySwapchainKHR(vk->context.device, old_swapchain, NULL);
#else
info.oldSwapchain = old_swapchain;
#endif

#ifdef VK_USE_PLATFORM_WIN32_KHR
if (vk->fse_supported)
Expand All @@ -2349,8 +2361,11 @@ bool vulkan_create_swapchain(gfx_ctx_vulkan_data_t *vk,
}
}

/* See TODO/FIXME note above - part of the same rubber bandaid hack 'fix' */
#ifndef __APPLE__
if (old_swapchain != VK_NULL_HANDLE)
vkDestroySwapchainKHR(vk->context.device, old_swapchain, NULL);
#endif

vk->context.swapchain_width = swapchain_size.width;
vk->context.swapchain_height = swapchain_size.height;
Expand Down
Loading
Loading