mirror of
https://github.com/libretro/RetroArch
synced 2025-01-29 09:32:52 +00:00
Update check_window - we no longer need runloop.h inside context driver
This commit is contained in:
parent
4ea31e99aa
commit
6247d6ea1d
@ -633,7 +633,8 @@ bool x11_alive(void *data)
|
||||
}
|
||||
|
||||
void x11_check_window(void *data, bool *quit,
|
||||
bool *resize, unsigned *width, unsigned *height)
|
||||
bool *resize, unsigned *width, unsigned *height,
|
||||
bool is_shutdown)
|
||||
{
|
||||
unsigned new_width = *width;
|
||||
unsigned new_height = *height;
|
||||
|
@ -72,7 +72,7 @@ bool x11_get_metrics(void *data,
|
||||
enum display_metric_types type, float *value);
|
||||
|
||||
void x11_check_window(void *data, bool *quit,
|
||||
bool *resize, unsigned *width, unsigned *height);
|
||||
bool *resize, unsigned *width, unsigned *height, bool is_shutdown);
|
||||
|
||||
void x11_get_video_size(void *data, unsigned *width, unsigned *height);
|
||||
|
||||
|
@ -38,8 +38,6 @@
|
||||
|
||||
#include "../../frontend/drivers/platform_linux.h"
|
||||
|
||||
#include "../../runloop.h"
|
||||
|
||||
static enum gfx_ctx_api android_api = GFX_CTX_NONE;
|
||||
|
||||
/* forward declaration */
|
||||
@ -230,7 +228,8 @@ static void android_gfx_ctx_get_video_size(void *data,
|
||||
}
|
||||
|
||||
static void android_gfx_ctx_check_window(void *data, bool *quit,
|
||||
bool *resize, unsigned *width, unsigned *height)
|
||||
bool *resize, unsigned *width, unsigned *height,
|
||||
bool is_shutdown)
|
||||
{
|
||||
unsigned new_width = 0;
|
||||
unsigned new_height = 0;
|
||||
@ -271,7 +270,7 @@ static void android_gfx_ctx_check_window(void *data, bool *quit,
|
||||
}
|
||||
|
||||
/* Check if we are exiting. */
|
||||
if (runloop_ctl(RUNLOOP_CTL_IS_SHUTDOWN, NULL))
|
||||
if (is_shutdown)
|
||||
*quit = true;
|
||||
}
|
||||
|
||||
|
@ -77,7 +77,7 @@ static void gfx_ctx_cgl_get_video_size(void *data, unsigned *width, unsigned *he
|
||||
}
|
||||
|
||||
static void gfx_ctx_cgl_check_window(void *data, bool *quit,
|
||||
bool *resize, unsigned *width, unsigned *height)
|
||||
bool *resize, unsigned *width, unsigned *height, bool is_shutdown)
|
||||
{
|
||||
unsigned new_width = 0;
|
||||
unsigned new_height = 0;
|
||||
|
@ -558,7 +558,7 @@ CFStringRef)BOXSTRING(symbol_name)
|
||||
}
|
||||
|
||||
static void cocoagl_gfx_ctx_check_window(void *data, bool *quit,
|
||||
bool *resize, unsigned *width, unsigned *height)
|
||||
bool *resize, unsigned *width, unsigned *height, bool is_shutdown)
|
||||
{
|
||||
unsigned new_width, new_height;
|
||||
|
||||
|
@ -125,7 +125,7 @@ static void gfx_ctx_d3d_show_mouse(void *data, bool state)
|
||||
|
||||
static void gfx_ctx_d3d_check_window(void *data, bool *quit,
|
||||
bool *resize, unsigned *width,
|
||||
unsigned *height)
|
||||
unsigned *height, bool is_shutdown)
|
||||
{
|
||||
win32_check_window(quit, resize, width, height);
|
||||
}
|
||||
|
@ -138,7 +138,7 @@ static void gfx_ctx_drm_swap_interval(void *data, unsigned interval)
|
||||
}
|
||||
|
||||
static void gfx_ctx_drm_check_window(void *data, bool *quit,
|
||||
bool *resize, unsigned *width, unsigned *height)
|
||||
bool *resize, unsigned *width, unsigned *height, bool is_shutdown)
|
||||
{
|
||||
(void)data;
|
||||
(void)width;
|
||||
|
@ -52,7 +52,7 @@ static void gfx_ctx_emscripten_swap_interval(void *data, unsigned interval)
|
||||
}
|
||||
|
||||
static void gfx_ctx_emscripten_check_window(void *data, bool *quit,
|
||||
bool *resize, unsigned *width, unsigned *height)
|
||||
bool *resize, unsigned *width, unsigned *height, bool is_shutdown)
|
||||
{
|
||||
int input_width;
|
||||
int input_height;
|
||||
|
@ -64,7 +64,7 @@ static void setup_gdi_pixel_format(HDC hdc)
|
||||
}
|
||||
|
||||
static void gfx_ctx_gdi_check_window(void *data, bool *quit,
|
||||
bool *resize, unsigned *width, unsigned *height)
|
||||
bool *resize, unsigned *width, unsigned *height, bool is_shutdown)
|
||||
{
|
||||
win32_check_window(quit, resize, width, height);
|
||||
}
|
||||
|
@ -25,7 +25,7 @@ static void gfx_ctx_null_swap_interval(void *data, unsigned interval)
|
||||
}
|
||||
|
||||
static void gfx_ctx_null_check_window(void *data, bool *quit,
|
||||
bool *resize, unsigned *width, unsigned *height)
|
||||
bool *resize, unsigned *width, unsigned *height, bool is_shutdown)
|
||||
{
|
||||
(void)data;
|
||||
(void)quit;
|
||||
|
@ -17,7 +17,6 @@
|
||||
#include "../../config.h"
|
||||
#endif
|
||||
|
||||
#include "../../runloop.h"
|
||||
#include "../../frontend/frontend_driver.h"
|
||||
#include "../common/vulkan_common.h"
|
||||
|
||||
@ -74,7 +73,7 @@ error:
|
||||
}
|
||||
|
||||
static void gfx_ctx_khr_display_check_window(void *data, bool *quit,
|
||||
bool *resize, unsigned *width, unsigned *height)
|
||||
bool *resize, unsigned *width, unsigned *height, bool is_shutdown)
|
||||
{
|
||||
khr_display_ctx_data_t *khr = (khr_display_ctx_data_t*)data;
|
||||
|
||||
@ -87,7 +86,7 @@ static void gfx_ctx_khr_display_check_window(void *data, bool *quit,
|
||||
*resize = true;
|
||||
}
|
||||
|
||||
if (runloop_ctl(RUNLOOP_CTL_IS_SHUTDOWN, NULL) || (bool)frontend_driver_get_signal_handler_state())
|
||||
if (is_shutdown || (bool)frontend_driver_get_signal_handler_state())
|
||||
*quit = true;
|
||||
}
|
||||
|
||||
|
@ -130,7 +130,7 @@ error:
|
||||
}
|
||||
|
||||
static void gfx_ctx_mali_fbdev_check_window(void *data, bool *quit,
|
||||
bool *resize, unsigned *width, unsigned *height)
|
||||
bool *resize, unsigned *width, unsigned *height, bool is_shutdown)
|
||||
{
|
||||
unsigned new_width, new_height;
|
||||
|
||||
|
@ -112,7 +112,7 @@ static void gfx_ctx_opendingux_get_video_size(void *data,
|
||||
}
|
||||
|
||||
static void gfx_ctx_opendingux_check_window(void *data, bool *quit,
|
||||
bool *resize, unsigned *width, unsigned *height)
|
||||
bool *resize, unsigned *width, unsigned *height, bool is_shutdown)
|
||||
{
|
||||
unsigned new_width, new_height;
|
||||
opendingux_ctx_data_t *viv = (opendingux_ctx_data_t*)data;
|
||||
|
@ -308,7 +308,7 @@ static void osmesa_ctx_get_video_size(void *data,
|
||||
|
||||
static void osmesa_ctx_check_window(void *data, bool *quit,
|
||||
bool *resize,unsigned *width,
|
||||
unsigned *height)
|
||||
unsigned *height, bool is_shutdown)
|
||||
{
|
||||
gfx_ctx_osmesa_data_t *osmesa = (gfx_ctx_osmesa_data_t*)data;
|
||||
|
||||
|
@ -148,12 +148,13 @@ static void gfx_ctx_ps3_set_swap_interval(void *data, unsigned interval)
|
||||
}
|
||||
|
||||
static void gfx_ctx_ps3_check_window(void *data, bool *quit,
|
||||
bool *resize, unsigned *width, unsigned *height)
|
||||
bool *resize, unsigned *width, unsigned *height,
|
||||
bool is_shutdown)
|
||||
{
|
||||
gl_t *gl = data;
|
||||
|
||||
*quit = false;
|
||||
*resize = false;
|
||||
*quit = false;
|
||||
*resize = false;
|
||||
|
||||
if (gl->should_resize)
|
||||
*resize = true;
|
||||
|
@ -45,7 +45,6 @@
|
||||
#endif
|
||||
|
||||
#include "../../configuration.h"
|
||||
#include "../../runloop.h"
|
||||
|
||||
#define WINDOW_BUFFERS 2
|
||||
|
||||
@ -284,7 +283,8 @@ static void gfx_ctx_qnx_get_video_size(void *data,
|
||||
}
|
||||
|
||||
static void gfx_ctx_qnx_check_window(void *data, bool *quit,
|
||||
bool *resize, unsigned *width, unsigned *height)
|
||||
bool *resize, unsigned *width, unsigned *height,
|
||||
bool is_shutdown)
|
||||
{
|
||||
unsigned new_width, new_height;
|
||||
qnx_ctx_data_t *qnx = (qnx_ctx_data_t*)data;
|
||||
@ -303,7 +303,7 @@ static void gfx_ctx_qnx_check_window(void *data, bool *quit,
|
||||
}
|
||||
|
||||
/* Check if we are exiting. */
|
||||
if (runloop_ctl(RUNLOOP_CTL_IS_SHUTDOWN, NULL))
|
||||
if (is_shutdown)
|
||||
*quit = true;
|
||||
}
|
||||
|
||||
|
@ -285,8 +285,10 @@ static void sdl_ctx_update_title(void *data, video_frame_info_t *video_info)
|
||||
#endif
|
||||
}
|
||||
|
||||
static void sdl_ctx_check_window(void *data, bool *quit, bool *resize,unsigned *width,
|
||||
unsigned *height)
|
||||
static void sdl_ctx_check_window(void *data, bool *quit,
|
||||
bool *resize,unsigned *width,
|
||||
unsigned *height,
|
||||
bool is_shutdown)
|
||||
{
|
||||
SDL_Event event;
|
||||
gfx_ctx_sdl_data_t *sdl = (gfx_ctx_sdl_data_t*)data;
|
||||
|
@ -86,7 +86,8 @@ static INLINE bool gfx_ctx_vc_egl_query_extension(vc_ctx_data_t *vc, const char
|
||||
}
|
||||
|
||||
static void gfx_ctx_vc_check_window(void *data, bool *quit,
|
||||
bool *resize, unsigned *width, unsigned *height)
|
||||
bool *resize, unsigned *width, unsigned *height,
|
||||
bool is_shutdown)
|
||||
{
|
||||
(void)data;
|
||||
(void)width;
|
||||
|
@ -117,7 +117,8 @@ static void gfx_ctx_vivante_get_video_size(void *data,
|
||||
}
|
||||
|
||||
static void gfx_ctx_vivante_check_window(void *data, bool *quit,
|
||||
bool *resize, unsigned *width, unsigned *height)
|
||||
bool *resize, unsigned *width, unsigned *height,
|
||||
bool is_shutdown)
|
||||
{
|
||||
unsigned new_width, new_height;
|
||||
vivante_ctx_data_t *viv = (vivante_ctx_data_t*)data;
|
||||
|
@ -642,7 +642,8 @@ static void flush_wayland_fd(gfx_ctx_wayland_data_t *wl)
|
||||
}
|
||||
|
||||
static void gfx_ctx_wl_check_window(void *data, bool *quit,
|
||||
bool *resize, unsigned *width, unsigned *height)
|
||||
bool *resize, unsigned *width, unsigned *height,
|
||||
bool is_shutdown)
|
||||
{
|
||||
unsigned new_width, new_height;
|
||||
gfx_ctx_wayland_data_t *wl = (gfx_ctx_wayland_data_t*)data;
|
||||
|
@ -311,7 +311,8 @@ static void gfx_ctx_wgl_swap_interval(void *data, unsigned interval)
|
||||
}
|
||||
|
||||
static void gfx_ctx_wgl_check_window(void *data, bool *quit,
|
||||
bool *resize, unsigned *width, unsigned *height)
|
||||
bool *resize, unsigned *width, unsigned *height,
|
||||
bool is_shutdown)
|
||||
{
|
||||
win32_check_window(quit, resize, width, height);
|
||||
|
||||
|
@ -347,9 +347,11 @@ static void gfx_ctx_x_swap_buffers(void *data, video_frame_info_t *video_info)
|
||||
}
|
||||
|
||||
static void gfx_ctx_x_check_window(void *data, bool *quit,
|
||||
bool *resize, unsigned *width, unsigned *height)
|
||||
bool *resize, unsigned *width, unsigned *height,
|
||||
bool is_shutdown)
|
||||
{
|
||||
x11_check_window(data, quit, resize, width, height);
|
||||
x11_check_window(data, quit, resize, width, height,
|
||||
is_shutdown);
|
||||
|
||||
switch (x_api)
|
||||
{
|
||||
@ -787,8 +789,10 @@ static bool gfx_ctx_x_set_video_mode(void *data,
|
||||
#ifdef HAVE_VULKAN
|
||||
{
|
||||
bool quit, resize;
|
||||
bool shutdown = false;
|
||||
unsigned width = 0, height = 0;
|
||||
x11_check_window(x, &quit, &resize, &width, &height);
|
||||
x11_check_window(x, &quit, &resize, &width, &height,
|
||||
shutdown);
|
||||
|
||||
/* Use XCB surface since it's the most supported WSI.
|
||||
* We can obtain the XCB connection directly from X11. */
|
||||
|
@ -27,6 +27,7 @@
|
||||
#endif
|
||||
|
||||
#include "../configuration.h"
|
||||
#include "../runloop.h"
|
||||
#include "../verbosity.h"
|
||||
|
||||
static const gfx_ctx_driver_t *gfx_ctx_drivers[] = {
|
||||
@ -278,11 +279,13 @@ bool video_context_driver_check_window(gfx_ctx_size_t *size_data)
|
||||
&& current_video_context
|
||||
&& current_video_context->check_window)
|
||||
{
|
||||
bool is_shutdown = runloop_ctl(RUNLOOP_CTL_IS_SHUTDOWN, NULL);
|
||||
current_video_context->check_window(video_context_data,
|
||||
size_data->quit,
|
||||
size_data->resize,
|
||||
size_data->width,
|
||||
size_data->height);
|
||||
size_data->height,
|
||||
is_shutdown);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -106,7 +106,7 @@ typedef struct gfx_ctx_driver
|
||||
/* Queries for resize and quit events.
|
||||
* Also processes events. */
|
||||
void (*check_window)(void*, bool*, bool*,
|
||||
unsigned*, unsigned*);
|
||||
unsigned*, unsigned*, bool);
|
||||
|
||||
/* Acknowledge a resize event. This is needed for some APIs.
|
||||
* Most backends will ignore this. */
|
||||
|
Loading…
x
Reference in New Issue
Block a user