mirror of
https://github.com/libretro/RetroArch
synced 2025-02-21 00:40:09 +00:00
Move video_active to gfx/video_driver.c
This commit is contained in:
parent
12e301825b
commit
b62738465c
3
driver.c
3
driver.c
@ -273,11 +273,10 @@ void driver_set_nonblock_state(void)
|
|||||||
{
|
{
|
||||||
settings_t *settings = config_get_ptr();
|
settings_t *settings = config_get_ptr();
|
||||||
rarch_system_info_t *system = rarch_system_info_get_ptr();
|
rarch_system_info_t *system = rarch_system_info_get_ptr();
|
||||||
driver_t *driver = driver_get_ptr();
|
|
||||||
bool enable = input_driver_ctl(RARCH_INPUT_CTL_IS_NONBLOCK_STATE, NULL);
|
bool enable = input_driver_ctl(RARCH_INPUT_CTL_IS_NONBLOCK_STATE, NULL);
|
||||||
|
|
||||||
/* Only apply non-block-state for video if we're using vsync. */
|
/* Only apply non-block-state for video if we're using vsync. */
|
||||||
if (driver->video_active && video_driver_get_ptr(false))
|
if (video_driver_ctl(RARCH_DISPLAY_CTL_IS_ACTIVE, NULL) && video_driver_get_ptr(false))
|
||||||
{
|
{
|
||||||
bool video_nonblock = enable;
|
bool video_nonblock = enable;
|
||||||
|
|
||||||
|
1
driver.h
1
driver.h
@ -216,7 +216,6 @@ typedef struct driver
|
|||||||
void *netplay_data;
|
void *netplay_data;
|
||||||
void *ui_companion_data;
|
void *ui_companion_data;
|
||||||
|
|
||||||
bool video_active;
|
|
||||||
bool camera_active;
|
bool camera_active;
|
||||||
bool location_active;
|
bool location_active;
|
||||||
bool osk_enable;
|
bool osk_enable;
|
||||||
|
@ -75,6 +75,8 @@ typedef struct video_pixel_scaler
|
|||||||
void *scaler_out;
|
void *scaler_out;
|
||||||
} video_pixel_scaler_t;
|
} video_pixel_scaler_t;
|
||||||
|
|
||||||
|
static bool video_active;
|
||||||
|
|
||||||
/* Last message given to the video driver */
|
/* Last message given to the video driver */
|
||||||
static char current_msg[PATH_MAX_LENGTH];
|
static char current_msg[PATH_MAX_LENGTH];
|
||||||
|
|
||||||
@ -1653,6 +1655,14 @@ bool video_driver_ctl(enum rarch_display_ctl_state state, void *data)
|
|||||||
break;
|
break;
|
||||||
case RARCH_DISPLAY_CTL_IS_VIDEO_CACHE_CONTEXT_ACK:
|
case RARCH_DISPLAY_CTL_IS_VIDEO_CACHE_CONTEXT_ACK:
|
||||||
return video_cache_context_ack;
|
return video_cache_context_ack;
|
||||||
|
case RARCH_DISPLAY_CTL_SET_ACTIVE:
|
||||||
|
video_active = true;
|
||||||
|
break;
|
||||||
|
case RARCH_DISPLAY_CTL_UNSET_ACTIVE:
|
||||||
|
video_active = false;
|
||||||
|
break;
|
||||||
|
case RARCH_DISPLAY_CTL_IS_ACTIVE:
|
||||||
|
return video_active;
|
||||||
case RARCH_DISPLAY_CTL_NONE:
|
case RARCH_DISPLAY_CTL_NONE:
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@ -1813,11 +1823,10 @@ void video_frame(const void *data, unsigned width,
|
|||||||
unsigned output_height = 0;
|
unsigned output_height = 0;
|
||||||
unsigned output_pitch = 0;
|
unsigned output_pitch = 0;
|
||||||
const char *msg = NULL;
|
const char *msg = NULL;
|
||||||
driver_t *driver = driver_get_ptr();
|
|
||||||
global_t *global = global_get_ptr();
|
global_t *global = global_get_ptr();
|
||||||
settings_t *settings = config_get_ptr();
|
settings_t *settings = config_get_ptr();
|
||||||
|
|
||||||
if (!driver->video_active)
|
if (!video_active)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (video_pixel_frame_scale(data, width, height, pitch))
|
if (video_pixel_frame_scale(data, width, height, pitch))
|
||||||
@ -1861,7 +1870,7 @@ void video_frame(const void *data, unsigned width,
|
|||||||
if (!current_video->frame(
|
if (!current_video->frame(
|
||||||
video_data, data, width, height, *frame_count,
|
video_data, data, width, height, *frame_count,
|
||||||
pitch, current_msg))
|
pitch, current_msg))
|
||||||
driver->video_active = false;
|
video_active = false;
|
||||||
|
|
||||||
*frame_count = *frame_count + 1;
|
*frame_count = *frame_count + 1;
|
||||||
}
|
}
|
||||||
|
@ -322,7 +322,10 @@ enum rarch_display_ctl_state
|
|||||||
RARCH_DISPLAY_CTL_IS_VIDEO_CACHE_CONTEXT,
|
RARCH_DISPLAY_CTL_IS_VIDEO_CACHE_CONTEXT,
|
||||||
RARCH_DISPLAY_CTL_SET_VIDEO_CACHE_CONTEXT_ACK,
|
RARCH_DISPLAY_CTL_SET_VIDEO_CACHE_CONTEXT_ACK,
|
||||||
RARCH_DISPLAY_CTL_UNSET_VIDEO_CACHE_CONTEXT_ACK,
|
RARCH_DISPLAY_CTL_UNSET_VIDEO_CACHE_CONTEXT_ACK,
|
||||||
RARCH_DISPLAY_CTL_IS_VIDEO_CACHE_CONTEXT_ACK
|
RARCH_DISPLAY_CTL_IS_VIDEO_CACHE_CONTEXT_ACK,
|
||||||
|
RARCH_DISPLAY_CTL_SET_ACTIVE,
|
||||||
|
RARCH_DISPLAY_CTL_UNSET_ACTIVE,
|
||||||
|
RARCH_DISPLAY_CTL_IS_ACTIVE
|
||||||
};
|
};
|
||||||
|
|
||||||
bool video_driver_ctl(enum rarch_display_ctl_state state, void *data);
|
bool video_driver_ctl(enum rarch_display_ctl_state state, void *data);
|
||||||
|
@ -1025,11 +1025,7 @@ static void rarch_init_savefile_paths(void)
|
|||||||
|
|
||||||
static bool init_state(void)
|
static bool init_state(void)
|
||||||
{
|
{
|
||||||
driver_t *driver = driver_get_ptr();
|
video_driver_ctl(RARCH_DISPLAY_CTL_SET_ACTIVE, NULL);
|
||||||
if (!driver)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
driver->video_active = true;
|
|
||||||
audio_driver_ctl(RARCH_AUDIO_CTL_SET_ACTIVE, NULL);
|
audio_driver_ctl(RARCH_AUDIO_CTL_SET_ACTIVE, NULL);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user