diff options
Diffstat (limited to 'src/screen')
| -rw-r--r-- | src/screen/screen.c | 40 | ||||
| -rw-r--r-- | src/screen/screen.h | 2 |
2 files changed, 21 insertions, 21 deletions
diff --git a/src/screen/screen.c b/src/screen/screen.c index f6833dd..701b39e 100644 --- a/src/screen/screen.c +++ b/src/screen/screen.c @@ -47,7 +47,7 @@ static void do_resize(struct camu_screen *scr, u32 width, u32 height) camu_view_calculate(&video->view, scr->width, scr->height); } // No buffers resize. - al_atomic_add(u32)(&scr->force_refresh, 1, AL_ATOMIC_RELAXED); + atomic_add(u32)(&scr->force_refresh, 1, AL_ATOMIC_RELAXED); } static void resize_callback(void *userdata, u32 width, u32 height) @@ -400,7 +400,7 @@ static bool key_callback(void *userdata, u8 state, u16 button) log_info("Background solid."); } // Force refresh for if there's no video buffer. - al_atomic_add(u32)(&scr->force_refresh, 1, AL_ATOMIC_RELAXED); + atomic_add(u32)(&scr->force_refresh, 1, AL_ATOMIC_RELAXED); return true; case STELA_KEY_V: { if (SCREEN_MOD1(scr)) { @@ -469,7 +469,7 @@ static void key_immediate_callback(void *userdata, u8 state, u16 button) bool camu_screen_init(struct camu_screen *scr) { - al_atomic_store(s32)(&scr->state, CAMU_SCREEN_PAUSED, AL_ATOMIC_RELAXED); + atomic_store(s32)(&scr->state, CAMU_SCREEN_PAUSED, AL_ATOMIC_RELAXED); scr->window = stl_window_create(); scr->window->render_callback = render_callback; scr->window->resize_callback = resize_callback; @@ -482,7 +482,7 @@ bool camu_screen_init(struct camu_screen *scr) scr->window->should_close_callback = should_close_callback; scr->window->userdata = scr; scr->renderer = NULL; - al_atomic_store(u32)(&scr->force_refresh, 1, AL_ATOMIC_RELAXED); + atomic_store(u32)(&scr->force_refresh, 1, AL_ATOMIC_RELAXED); scr->flags = CAMU_SCREEN_ZOOM_PAN_SIMPLE; scr->scaling_disabled = false; scr->transparent_background = false; @@ -502,7 +502,7 @@ bool camu_screen_init(struct camu_screen *scr) #ifdef CAMU_SCREEN_THREADED al_array_init(scr->add_queue); al_array_init(scr->rem_queue); - al_atomic_store(u8)(&scr->queued, 0, AL_ATOMIC_RELAXED); + atomic_store(bool)(&scr->queued, false, AL_ATOMIC_RELAXED); nn_mutex_init(&scr->mutex); #endif return true; @@ -584,7 +584,7 @@ static void add_buffer_internal(struct camu_screen *scr, struct camu_video_buffe } camu_view_calculate(&video.view, scr->width, scr->height); #ifdef CAMU_SCREEN_THREADED - al_atomic_store(u8)(&buf->ref, 1, AL_ATOMIC_RELAXED); + atomic_store(bool)(&buf->ref, true, AL_ATOMIC_RELAXED); #endif al_array_push(scr->videos, video); } @@ -596,7 +596,7 @@ static void remove_buffer_internal(struct camu_screen *scr, struct camu_video_bu if (video->buf == buf) { buf->view = video->view; #ifdef CAMU_SCREEN_THREADED - al_atomic_store(u8)(&buf->ref, 0, AL_ATOMIC_RELAXED); + atomic_store(bool)(&buf->ref, false, AL_ATOMIC_RELAXED); #endif al_array_remove_at(scr->videos, i); break; @@ -639,14 +639,14 @@ void camu_screen_add_buffer(struct camu_screen *scr, struct camu_video_buffer *b al_array_remove_at(scr->rem_queue, i); bool queue_empty = scr->add_queue.count + scr->rem_queue.count == 0; if (queue_empty) { - al_atomic_store(u8)(&scr->queued, 0, AL_ATOMIC_RELAXED); + atomic_store(bool)(&scr->queued, false, AL_ATOMIC_RELAXED); } nn_mutex_unlock(&scr->mutex); return; } } al_array_push(scr->add_queue, buf); - al_atomic_store(u8)(&scr->queued, 1, AL_ATOMIC_RELAXED); + atomic_store(bool)(&scr->queued, true, AL_ATOMIC_RELAXED); nn_mutex_unlock(&scr->mutex); #else add_buffer_internal(scr, buf); @@ -670,14 +670,14 @@ void camu_screen_remove_buffer(struct camu_screen *scr, struct camu_video_buffer al_array_remove_at(scr->add_queue, i); bool queue_empty = scr->add_queue.count + scr->rem_queue.count == 0; if (queue_empty) { - al_atomic_store(u8)(&scr->queued, 0, AL_ATOMIC_RELAXED); + atomic_store(bool)(&scr->queued, false, AL_ATOMIC_RELAXED); } nn_mutex_unlock(&scr->mutex); return; } } al_array_push(scr->rem_queue, buf); - al_atomic_store(u8)(&scr->queued, 1, AL_ATOMIC_RELAXED); + atomic_store(bool)(&scr->queued, true, AL_ATOMIC_RELAXED); nn_mutex_unlock(&scr->mutex); #else remove_buffer_internal(scr, buf); @@ -690,7 +690,7 @@ void camu_screen_run_queue(struct camu_screen *scr) { nn_mutex_lock(&scr->mutex); run_queue_internal(scr); - al_atomic_store(u8)(&scr->queued, 0, AL_ATOMIC_RELAXED); + atomic_store(bool)(&scr->queued, false, AL_ATOMIC_RELAXED); nn_mutex_unlock(&scr->mutex); } @@ -700,7 +700,7 @@ void camu_screen_clear(struct camu_screen *scr) struct camu_screen_video *video; al_array_foreach_ptr(scr->videos, i, video) { struct camu_video_buffer *buf = video->buf; - al_atomic_store(u8)(&buf->ref, 0, AL_ATOMIC_RELAXED); + atomic_store(bool)(&buf->ref, false, AL_ATOMIC_RELAXED); } nn_mutex_unlock(&scr->mutex); } @@ -711,15 +711,15 @@ void camu_screen_set_state(struct camu_screen *scr, s32 state) // If state = PAUSED, remove_buffer() relies on screen_wake(). // Unlike mixer_pause() there are no special considerations needed for // the buffer queue at the point we set state to PAUSED. - al_atomic_store(s32)(&scr->state, state, AL_ATOMIC_RELEASE); + atomic_store(s32)(&scr->state, state, AL_ATOMIC_RELEASE); if (state == CAMU_SCREEN_PAUSED) { - al_atomic_add(u32)(&scr->force_refresh, 1, AL_ATOMIC_RELAXED); + atomic_add(u32)(&scr->force_refresh, 1, AL_ATOMIC_RELAXED); } } void camu_screen_force_refresh(struct camu_screen *scr) { - al_atomic_add(u32)(&scr->force_refresh, 1, AL_ATOMIC_RELAXED); + atomic_add(u32)(&scr->force_refresh, 1, AL_ATOMIC_RELAXED); camu_screen_wake(scr); } @@ -746,17 +746,17 @@ bool camu_screen_poll(struct camu_screen *scr, bool block) bool camu_screen_tick(struct camu_screen *scr, bool *force) { - s32 state = al_atomic_load(s32)(&scr->state, AL_ATOMIC_RELAXED); - u32 force_refresh = al_atomic_load(u32)(&scr->force_refresh, AL_ATOMIC_ACQUIRE); + s32 state = atomic_load(s32)(&scr->state, AL_ATOMIC_RELAXED); + u32 force_refresh = atomic_load(u32)(&scr->force_refresh, AL_ATOMIC_ACQUIRE); bool paused = !scr->vr_emulation && state == CAMU_SCREEN_PAUSED && force_refresh == 0; bool do_render = camu_screen_poll(scr, paused) || !paused; // Should be AL_ATOMIC_ACQ_REL. - force_refresh = al_atomic_load(u32)(&scr->force_refresh, AL_ATOMIC_ACQUIRE); + force_refresh = atomic_load(u32)(&scr->force_refresh, AL_ATOMIC_ACQUIRE); do_render |= force_refresh > 0; *force = force_refresh > 0; log_trace("tick (do_render: %s, force_refresh: %u).", BOOLSTR(do_render), force_refresh); if (force_refresh > 0) { - al_atomic_sub(u32)(&scr->force_refresh, 1, AL_ATOMIC_RELEASE); + atomic_sub(u32)(&scr->force_refresh, 1, AL_ATOMIC_RELEASE); } return do_render; } diff --git a/src/screen/screen.h b/src/screen/screen.h index e12d0ae..aded49c 100644 --- a/src/screen/screen.h +++ b/src/screen/screen.h @@ -86,7 +86,7 @@ struct camu_screen { #ifdef CAMU_SCREEN_THREADED array(struct camu_video_buffer *) add_queue; array(struct camu_video_buffer *) rem_queue; - atomic(u8) queued; + atomic(bool) queued; struct nn_mutex mutex; #endif void (*callback)(void *, u8, void *); |