static uint32_t gfx_ctx_wgl_get_flags(void *data) { uint32_t flags = 0; BIT32_SET(flags, GFX_CTX_FLAGS_NONE); switch (win32_api) { case GFX_CTX_OPENGL_API: if (wgl_adaptive_vsync) { BIT32_SET(flags, GFX_CTX_FLAGS_ADAPTIVE_VSYNC); } if (win32_core_hw_context_enable) { BIT32_SET(flags, GFX_CTX_FLAGS_GL_CORE_CONTEXT); } if (string_is_equal(video_driver_get_ident(), "gl1")) { } else if (string_is_equal(video_driver_get_ident(), "glcore")) { } else { #ifdef HAVE_CG if (!win32_core_hw_context_enable) BIT32_SET(flags, GFX_CTX_FLAGS_SHADERS_CG); #endif #ifdef HAVE_GLSL BIT32_SET(flags, GFX_CTX_FLAGS_SHADERS_GLSL); #endif } break; case GFX_CTX_VULKAN_API: #ifdef HAVE_SLANG BIT32_SET(flags, GFX_CTX_FLAGS_SHADERS_SLANG); #endif break; case GFX_CTX_NONE: default: break; } return flags; }
static const char *win32_video_get_ident(void) { #ifdef HAVE_THREADS settings_t *settings = config_get_ptr(); if (settings->video.threaded) return rarch_threaded_video_get_ident(); #endif return video_driver_get_ident(); }
static bool shader_null_set_mvp(void *data, void *shader_data, const math_matrix_4x4 *mat) { #ifdef HAVE_OPENGL #ifndef NO_GL_FF_MATRIX if (string_is_equal(video_driver_get_ident(), "gl")) gl_ff_matrix(mat); #endif #endif return false; }
static bool shader_null_set_coords(void *handle_data, void *shader_data, const void *data) { #ifdef HAVE_OPENGL #ifndef NO_GL_FF_VERTEX if (string_is_equal(video_driver_get_ident(), "gl")) { const struct gfx_coords *coords = (const struct gfx_coords*)data; gl_ff_vertex(coords); } #endif #endif return false; }
static void sdl_grab_mouse(void *data, bool state) { #ifdef HAVE_SDL2 struct temp{ SDL_Window *w; }; if (!string_is_equal(video_driver_get_ident(), "sdl2")) return; /* First member of sdl2_video_t is the window */ SDL_SetWindowGrab(((struct temp*)video_driver_get_ptr(false))->w, state ? SDL_TRUE : SDL_FALSE); #endif }