Set SHADERS_SLANG flag for D3D10/11/12 and query the video driver poke

interface's 'get flags' function before querying the video context
driver's 'get flags' function (D3D10/11/12/WiiU don't have a context
driver at all)
This commit is contained in:
twinaphex 2019-06-19 03:18:28 +02:00
parent a094d09802
commit 5d91af629e
7 changed files with 16 additions and 2 deletions

View File

@ -1712,6 +1712,9 @@ static uint32_t d3d10_get_flags(void *data)
uint32_t flags = 0;
BIT32_SET(flags, GFX_CTX_FLAGS_MENU_FRAME_FILTERING);
#if defined(HAVE_SLANG) && defined(HAVE_SPIRV_CROSS)
BIT32_SET(flags, GFX_CTX_FLAGS_SHADERS_SLANG);
#endif
return flags;
}

View File

@ -1780,6 +1780,9 @@ static uint32_t d3d11_get_flags(void *data)
uint32_t flags = 0;
BIT32_SET(flags, GFX_CTX_FLAGS_MENU_FRAME_FILTERING);
#if defined(HAVE_SLANG) && defined(HAVE_SPIRV_CROSS)
BIT32_SET(flags, GFX_CTX_FLAGS_SHADERS_SLANG);
#endif
return flags;
}

View File

@ -1796,6 +1796,9 @@ static uint32_t d3d12_get_flags(void *data)
uint32_t flags = 0;
BIT32_SET(flags, GFX_CTX_FLAGS_MENU_FRAME_FILTERING);
#if defined(HAVE_SLANG) && defined(HAVE_SPIRV_CROSS)
BIT32_SET(flags, GFX_CTX_FLAGS_SHADERS_SLANG);
#endif
return flags;
}

View File

@ -1717,6 +1717,9 @@ static uint32_t wiiu_gfx_get_flags(void *data)
uint32_t flags = 0;
BIT32_SET(flags, GFX_CTX_FLAGS_SCREENSHOTS_SUPPORTED);
#if defined(HAVE_SLANG) && defined(HAVE_SPIRV_CROSS)
BIT32_SET(flags, GFX_CTX_FLAGS_SHADERS_SLANG);
#endif
return flags;
}

View File

@ -1179,7 +1179,7 @@ bool video_shader_is_supported(enum rarch_shader_type type)
default:
return false;
}
video_driver_get_flags(&flags);
video_context_driver_get_flags(&flags);
return BIT32_GET(flags.flags, testflag);

View File

@ -10150,7 +10150,7 @@ bool video_context_driver_get_flags(gfx_ctx_flags_t *flags)
return true;
}
static bool video_driver_get_flags(gfx_ctx_flags_t *flags)
bool video_driver_get_flags(gfx_ctx_flags_t *flags)
{
if (!video_driver_poke || !video_driver_poke->get_flags)
return false;

View File

@ -2020,6 +2020,8 @@ bool video_driver_started_fullscreen(void);
bool video_driver_is_threaded(void);
bool video_driver_get_flags(gfx_ctx_flags_t *flags);
bool video_context_driver_get_flags(gfx_ctx_flags_t *flags);
bool video_driver_test_all_flags(enum display_flags testflag);