Beispiel #1
0
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;
}
Beispiel #2
0
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();
}
Beispiel #3
0
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;
}
Beispiel #4
0
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;
}
Beispiel #5
0
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
}