Replace more instances of get_type_from_ext

This commit is contained in:
twinaphex 2019-03-13 20:12:32 +01:00
parent 456452f1b7
commit 190e6316e3
3 changed files with 83 additions and 72 deletions

View File

@ -99,7 +99,6 @@ struct string_list *dir_list_new_special(const char *input_dir,
case DIR_LIST_SHADERS: case DIR_LIST_SHADERS:
{ {
union string_list_elem_attr attr; union string_list_elem_attr attr;
bool is_preset = false;
struct string_list *str_list = string_list_new(); struct string_list *str_list = string_list_new();
if (!str_list) if (!str_list)
@ -109,24 +108,33 @@ struct string_list *dir_list_new_special(const char *input_dir,
attr.i = 0; attr.i = 0;
if (video_shader_is_supported(RARCH_SHADER_CG) && {
video_shader_get_type_from_ext("cgp", &is_preset)) gfx_ctx_flags_t flags;
if (video_driver_get_all_flags(&flags, GFX_CTX_FLAGS_SHADERS_CG))
{
string_list_append(str_list, "cgp", attr); string_list_append(str_list, "cgp", attr);
if (video_shader_is_supported(RARCH_SHADER_CG) &&
video_shader_get_type_from_ext("cg", &is_preset))
string_list_append(str_list, "cg", attr); string_list_append(str_list, "cg", attr);
if (video_shader_is_supported(RARCH_SHADER_GLSL) && }
video_shader_get_type_from_ext("glsl", &is_preset)) }
string_list_append(str_list, "glsl", attr);
if (video_shader_is_supported(RARCH_SHADER_GLSL) && {
video_shader_get_type_from_ext("glslp", &is_preset)) gfx_ctx_flags_t flags;
if (video_driver_get_all_flags(&flags, GFX_CTX_FLAGS_SHADERS_GLSL))
{
string_list_append(str_list, "glslp", attr); string_list_append(str_list, "glslp", attr);
if (video_shader_is_supported(RARCH_SHADER_SLANG) && string_list_append(str_list, "glsl", attr);
video_shader_get_type_from_ext("slang", &is_preset)) }
string_list_append(str_list, "slang", attr); }
if (video_shader_is_supported(RARCH_SHADER_SLANG) &&
video_shader_get_type_from_ext("slangp", &is_preset)) {
gfx_ctx_flags_t flags;
if (video_driver_get_all_flags(&flags, GFX_CTX_FLAGS_SHADERS_SLANG))
{
string_list_append(str_list, "slangp", attr); string_list_append(str_list, "slangp", attr);
string_list_append(str_list, "slang", attr);
}
}
string_list_join_concat(ext_shaders, sizeof(ext_shaders), str_list, "|"); string_list_join_concat(ext_shaders, sizeof(ext_shaders), str_list, "|");
string_list_free(str_list); string_list_free(str_list);
exts = ext_shaders; exts = ext_shaders;

View File

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

View File

@ -494,15 +494,13 @@ void ShaderParamsDialog::onShaderPassMoveUpClicked()
void ShaderParamsDialog::onShaderLoadPresetClicked() void ShaderParamsDialog::onShaderLoadPresetClicked()
{ {
QString path; QString path, filter;
QString filter;
QByteArray pathArray; QByteArray pathArray;
struct video_shader *menu_shader = NULL; struct video_shader *menu_shader = NULL;
struct video_shader *video_shader = NULL; struct video_shader *video_shader = NULL;
const char *pathData = NULL; const char *pathData = NULL;
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
enum rarch_shader_type type = RARCH_SHADER_NONE; enum rarch_shader_type type = RARCH_SHADER_NONE;
bool is_preset = false;
if (!settings) if (!settings)
return; return;
@ -515,20 +513,23 @@ void ShaderParamsDialog::onShaderLoadPresetClicked()
filter = "Shader Preset ("; filter = "Shader Preset (";
/* NOTE: Maybe we should have a way to get a list of all shader types instead of hard-coding this? */ /* NOTE: Maybe we should have a way to get a list of all shader types instead of hard-coding this? */
if (video_shader_is_supported(RARCH_SHADER_CG) && {
video_shader_get_type_from_ext(file_path_str(FILE_PATH_CGP_EXTENSION), &is_preset) gfx_ctx_flags_t flags;
!= RARCH_SHADER_NONE) if (video_driver_get_all_flags(&flags, GFX_CTX_FLAGS_SHADERS_CG))
filter += QLatin1Literal("*") + file_path_str(FILE_PATH_CGP_EXTENSION); filter += QLatin1Literal("*") + file_path_str(FILE_PATH_CGP_EXTENSION);
}
if (video_shader_is_supported(RARCH_SHADER_GLSL) && {
video_shader_get_type_from_ext(file_path_str(FILE_PATH_GLSLP_EXTENSION), &is_preset) gfx_ctx_flags_t flags;
!= RARCH_SHADER_NONE) if (video_driver_get_all_flags(&flags, GFX_CTX_FLAGS_SHADERS_GLSL))
filter += QLatin1Literal("*") + file_path_str(FILE_PATH_GLSLP_EXTENSION); filter += QLatin1Literal("*") + file_path_str(FILE_PATH_GLSLP_EXTENSION);
}
if (video_shader_is_supported(RARCH_SHADER_SLANG) && {
video_shader_get_type_from_ext(file_path_str(FILE_PATH_SLANGP_EXTENSION), &is_preset) gfx_ctx_flags_t flags;
!= RARCH_SHADER_NONE) if (video_driver_get_all_flags(&flags, GFX_CTX_FLAGS_SHADERS_SLANG))
filter += QLatin1Literal("*") + file_path_str(FILE_PATH_SLANGP_EXTENSION); filter += QLatin1Literal("*") + file_path_str(FILE_PATH_SLANGP_EXTENSION);
}
filter += ")"; filter += ")";
@ -635,15 +636,13 @@ void ShaderParamsDialog::onShaderResetAllPasses()
void ShaderParamsDialog::onShaderAddPassClicked() void ShaderParamsDialog::onShaderAddPassClicked()
{ {
QString path; QString path, filter;
QString filter;
QByteArray pathArray; QByteArray pathArray;
struct video_shader *menu_shader = NULL; struct video_shader *menu_shader = NULL;
struct video_shader *video_shader = NULL; struct video_shader *video_shader = NULL;
struct video_shader_pass *shader_pass = NULL; struct video_shader_pass *shader_pass = NULL;
const char *pathData = NULL; const char *pathData = NULL;
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
bool is_preset = false;
if (!settings) if (!settings)
return; return;
@ -656,20 +655,23 @@ void ShaderParamsDialog::onShaderAddPassClicked()
filter = "Shader ("; filter = "Shader (";
/* NOTE: Maybe we should have a way to get a list of all shader types instead of hard-coding this? */ /* NOTE: Maybe we should have a way to get a list of all shader types instead of hard-coding this? */
if (video_shader_is_supported(RARCH_SHADER_CG) && {
video_shader_get_type_from_ext(".cg", &is_preset) gfx_ctx_flags_t flags;
!= RARCH_SHADER_NONE) if (video_driver_get_all_flags(&flags, GFX_CTX_FLAGS_SHADERS_CG))
filter += QLatin1Literal("*.cg"); filter += QLatin1Literal("*.cg");
}
if (video_shader_is_supported(RARCH_SHADER_GLSL) && {
video_shader_get_type_from_ext(".glsl", &is_preset) gfx_ctx_flags_t flags;
!= RARCH_SHADER_NONE) if (video_driver_get_all_flags(&flags, GFX_CTX_FLAGS_SHADERS_GLSL))
filter += QLatin1Literal("*.glsl"); filter += QLatin1Literal("*.glsl");
}
if (video_shader_is_supported(RARCH_SHADER_SLANG) && {
video_shader_get_type_from_ext(".slang", &is_preset) gfx_ctx_flags_t flags;
!= RARCH_SHADER_NONE) if (video_driver_get_all_flags(&flags, GFX_CTX_FLAGS_SHADERS_SLANG))
filter += QLatin1Literal("*.slang"); filter += QLatin1Literal("*.slang");
}
filter += ")"; filter += ")";