diff --git a/Makefile.switch b/Makefile.switch index 09aac65dadc6f0c99621d2506d95660acedd33d4..601ae04b8eab627b2b292782ace79d2fe5d52754 100644 --- a/Makefile.switch +++ b/Makefile.switch @@ -89,7 +89,8 @@ APP_AUTHOR := M4xw, Credit: Reswitched, libretro #--------------------------------------------------------------------------------- # options for code generation #--------------------------------------------------------------------------------- -ARCH := -march=armv8-a -mtune=cortex-a57 -mtp=soft -fPIE +ARCH := -march=armv8-a -mtune=cortex-a57 -mtp=soft -fPIE -mcpu=cortex-a57+crc+fp+simd + CFLAGS := -g -Wall -O3 -ffast-math -ffunction-sections \ $(ARCH) $(DEFINES) -Ideps -Ideps/libz -Ilibretro-common/include -Ideps/stb -I$(LIBNX)/include -include $(LIBNX)/include/switch.h $(shell $(DEVKITPRO)/portlibs/switch/bin/freetype-config --cflags) diff --git a/gfx/drivers/switch_gfx.c b/gfx/drivers/switch_gfx.c index 41be5857f4eaf7f11080e8814bb20b18042b94d3..a8f255be0a0fe949b93585ac5f234861de9895b7 100644 --- a/gfx/drivers/switch_gfx.c +++ b/gfx/drivers/switch_gfx.c @@ -316,13 +316,15 @@ static bool switch_frame(void *data, const void *frame, unsigned width, unsigned height, uint64_t frame_count, unsigned pitch, const char *msg, video_frame_info_t *video_info) - { unsigned x, y; uint32_t *out_buffer = NULL; switch_video_t *sw = data; bool ffwd_mode = video_info->input_driver_nonblock_state; + if (!frame) + return; + if (ffwd_mode && !sw->is_threaded) { // render every 4th frame when in ffwd mode and not threaded