Reimplement shader extension filtering

This commit is contained in:
twinaphex 2019-03-13 19:50:59 +01:00
parent 97247dbaec
commit 456452f1b7

View File

@ -8054,30 +8054,32 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist
{
char new_exts[PATH_MAX_LENGTH];
union string_list_elem_attr attr;
struct string_list *str_list = NULL;
bool is_preset = false;
struct string_list *str_list = string_list_new();
attr.i = 0;
new_exts[0] = '\0';
str_list = string_list_new();
filebrowser_clear_type();
info->type_default = FILE_TYPE_SHADER_PRESET;
if (video_shader_is_supported(RARCH_SHADER_CG) &&
video_shader_get_type_from_ext("cgp", &is_preset)
!= RARCH_SHADER_NONE)
string_list_append(str_list, "cgp", attr);
{
gfx_ctx_flags_t flags;
if (video_driver_get_all_flags(&flags, GFX_CTX_FLAGS_SHADERS_CG))
string_list_append(str_list, "cgp", attr);
}
if (video_shader_is_supported(RARCH_SHADER_GLSL) &&
video_shader_get_type_from_ext("glslp", &is_preset)
!= RARCH_SHADER_NONE)
string_list_append(str_list, "glslp", attr);
{
gfx_ctx_flags_t flags;
if (video_driver_get_all_flags(&flags, GFX_CTX_FLAGS_SHADERS_GLSL))
string_list_append(str_list, "glslp", attr);
}
{
gfx_ctx_flags_t flags;
if (video_driver_get_all_flags(&flags, GFX_CTX_FLAGS_SHADERS_SLANG))
string_list_append(str_list, "slangp", attr);
}
if (video_shader_is_supported(RARCH_SHADER_SLANG) &&
video_shader_get_type_from_ext("slangp", &is_preset)
!= RARCH_SHADER_NONE)
string_list_append(str_list, "slangp", attr);
string_list_join_concat(new_exts, sizeof(new_exts), str_list, "|");
if (!string_is_empty(info->exts))
free(info->exts);