apple: disable delay frame swapping, libretro: set base_width/height to 640x480, use gl 3.2 on macOS
This commit is contained in:
parent
281a04837f
commit
d7bc1f0f77
|
@ -77,7 +77,11 @@ if(NINTENDO_SWITCH)
|
|||
|
||||
elseif(LIBRETRO)
|
||||
add_library(${PROJECT_NAME} SHARED core/emulator.cpp)
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined")
|
||||
if(APPLE)
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-undefined,error")
|
||||
else()
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined")
|
||||
endif()
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME "flycast_libretro")
|
||||
set(CMAKE_SHARED_LIBRARY_PREFIX "")
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
|
@ -90,7 +94,9 @@ elseif(LIBRETRO)
|
|||
target_link_libraries(${PROJECT_NAME} PRIVATE "-lGLESv2")
|
||||
else()
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_OPENGL)
|
||||
if(NOT APPLE)
|
||||
if(APPLE)
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-framework,OpenGL")
|
||||
else()
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_OIT)
|
||||
endif()
|
||||
if(WIN32)
|
||||
|
@ -1154,9 +1160,9 @@ if(NOT LIBRETRO)
|
|||
MACOSX_BUNDLE_INFO_STRING ""
|
||||
MACOSX_BUNDLE_GUI_IDENTIFIER "com.flyinghead.Flycast"
|
||||
MACOSX_BUNDLE_BUNDLE_NAME "com.flyinghead.Flycast"
|
||||
MACOSX_BUNDLE_LONG_VERSION_STRING "1.0"
|
||||
MACOSX_BUNDLE_SHORT_VERSION_STRING "1.0"
|
||||
MACOSX_BUNDLE_BUNDLE_VERSION "1"
|
||||
MACOSX_BUNDLE_LONG_VERSION_STRING "${GIT_VERSION}"
|
||||
MACOSX_BUNDLE_SHORT_VERSION_STRING "${GIT_VERSION}"
|
||||
MACOSX_BUNDLE_BUNDLE_VERSION ""
|
||||
MACOSX_BUNDLE_COPYRIGHT "Copyright © 2021 Flycast contributors. All rights reserved."
|
||||
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/shell/apple/emulator-ios/plist.in
|
||||
|
||||
|
@ -1218,7 +1224,9 @@ if(NOT LIBRETRO)
|
|||
MACOSX_BUNDLE_INFO_STRING ""
|
||||
MACOSX_BUNDLE_ICON_FILE "AppIcon"
|
||||
MACOSX_BUNDLE_GUI_IDENTIFIER "com.flyinghead.Flycast"
|
||||
MACOSX_BUNDLE_LONG_VERSION_STRING ""
|
||||
MACOSX_BUNDLE_LONG_VERSION_STRING "${GIT_VERSION}"
|
||||
MACOSX_BUNDLE_SHORT_VERSION_STRING "${GIT_VERSION}"
|
||||
MACOSX_BUNDLE_BUNDLE_VERSION ""
|
||||
MACOSX_BUNDLE_BUNDLE_NAME "Flycast"
|
||||
MACOSX_BUNDLE_SHORT_VERSION_STRING "1.0"
|
||||
MACOSX_BUNDLE_BUNDLE_VERSION "1"
|
||||
|
|
|
@ -77,7 +77,11 @@ Option<bool> Fog("rend.Fog", true);
|
|||
Option<bool> FloatVMUs("rend.FloatVMUs");
|
||||
Option<bool> Rotate90("rend.Rotate90");
|
||||
Option<bool> PerStripSorting("rend.PerStripSorting");
|
||||
#ifdef __APPLE__
|
||||
Option<bool> DelayFrameSwapping("rend.DelayFrameSwapping", false);
|
||||
#else
|
||||
Option<bool> DelayFrameSwapping("rend.DelayFrameSwapping", true);
|
||||
#endif
|
||||
Option<bool> WidescreenGameHacks("rend.WidescreenGameHacks");
|
||||
std::array<Option<int>, 4> CrosshairColor {
|
||||
Option<int>("rend.CrossHairColor1"),
|
||||
|
|
|
@ -122,7 +122,7 @@ double os_GetSeconds()
|
|||
return a.tv_sec-tvs_base+a.tv_usec/1000000.0;
|
||||
}
|
||||
|
||||
#if !defined(__unix__)
|
||||
#if !defined(__unix__) && !defined(LIBRETRO)
|
||||
void os_DebugBreak()
|
||||
{
|
||||
__builtin_trap();
|
||||
|
|
|
@ -417,8 +417,9 @@ static void setGameGeometry(retro_game_geometry& geometry)
|
|||
geometry.aspect_ratio = 1 / geometry.aspect_ratio;
|
||||
geometry.max_width = std::max(framebufferHeight * 16 / 9, framebufferWidth);
|
||||
geometry.max_height = geometry.max_width;
|
||||
geometry.base_width = framebufferWidth;
|
||||
geometry.base_height = framebufferHeight;
|
||||
// Avoid gigantic window size at startup
|
||||
geometry.base_width = 640;
|
||||
geometry.base_height = 480;
|
||||
}
|
||||
|
||||
static void setAVInfo(retro_system_av_info& avinfo)
|
||||
|
@ -1440,6 +1441,9 @@ static bool set_opengl_hw_render(u32 preferred)
|
|||
#endif
|
||||
params.imm_vbo_draw = NULL;
|
||||
params.imm_vbo_disable = NULL;
|
||||
#if defined(__APPLE__) && defined(HAVE_OPENGL)
|
||||
preferred = RETRO_HW_CONTEXT_OPENGL_CORE;
|
||||
#endif
|
||||
#ifdef HAVE_OIT
|
||||
if (config::RendererType == RenderType::OpenGL_OIT)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue