From 56358be5429812b372200e0c39a4414de6c8ef3b Mon Sep 17 00:00:00 2001 From: flyinghead Date: Sat, 9 Sep 2023 16:09:59 +0200 Subject: [PATCH] lr: opengl OIT renderer not enabled at startup default renderer on windows is now dx11, which confuses the lr opengl graphics context creation. Issue #1191 --- shell/libretro/libretro.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/shell/libretro/libretro.cpp b/shell/libretro/libretro.cpp index 7e15ee7c0..708c133cc 100644 --- a/shell/libretro/libretro.cpp +++ b/shell/libretro/libretro.cpp @@ -344,6 +344,8 @@ void retro_init() #if defined(__APPLE__) || (defined(__GNUC__) && defined(__linux__) && !defined(__ANDROID__)) if (!emuInited) +#else + (void)emuInited; #endif emu.init(); emuInited = true; @@ -1696,18 +1698,19 @@ static bool set_opengl_hw_render(u32 preferred) preferred = RETRO_HW_CONTEXT_OPENGL_CORE; #endif #ifdef HAVE_OIT - if (config::RendererType == RenderType::OpenGL_OIT) + if (config::RendererType == RenderType::OpenGL_OIT || config::RendererType == RenderType::DirectX11_OIT || config::RendererType == RenderType::Vulkan_OIT) { - params.context_type = (retro_hw_context_type)preferred; + config::RendererType = RenderType::OpenGL_OIT; + params.context_type = (retro_hw_context_type)preferred; if (preferred == RETRO_HW_CONTEXT_OPENGL) { // There are some weirdness with RA's gl context's versioning : // - any value above 3.0 won't provide a valid context, while the GLSM_CTL_STATE_CONTEXT_INIT call returns true... // - the only way to overwrite previously set version with zero values is to set them directly in hw_render, otherwise they are ignored (see glsm_state_ctx_init logic) // FIXME what's the point of this? - retro_hw_render_callback hw_render; - hw_render.version_major = 3; - hw_render.version_minor = 0; + //retro_hw_render_callback hw_render; + //hw_render.version_major = 3; + //hw_render.version_minor = 0; } else {