Conditionally build up shader list

This commit is contained in:
twinaphex 2018-02-26 18:56:56 +01:00
parent 4dc9c408d4
commit 88ab8ceb24

View File

@ -97,9 +97,8 @@ struct string_list *dir_list_new_special(const char *input_dir,
break; break;
case DIR_LIST_SHADERS: case DIR_LIST_SHADERS:
{ {
#if defined(HAVE_CG) || defined(HAVE_GLSL) || defined(HAVE_VULKAN)
union string_list_elem_attr attr; union string_list_elem_attr attr;
#endif 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)
@ -107,22 +106,26 @@ struct string_list *dir_list_new_special(const char *input_dir,
ext_shaders[0] = '\0'; ext_shaders[0] = '\0';
#if defined(HAVE_CG) || defined(HAVE_GLSL) || defined(HAVE_VULKAN)
attr.i = 0; attr.i = 0;
#endif
#ifdef HAVE_CG if (video_shader_is_supported(RARCH_SHADER_CG) &&
string_list_append(str_list, "cg", attr); video_shader_get_type_from_ext("cgp", &is_preset))
string_list_append(str_list, "cgp", attr); string_list_append(str_list, "cgp", attr);
#endif if (video_shader_is_supported(RARCH_SHADER_CG) &&
#ifdef HAVE_GLSL video_shader_get_type_from_ext("cg", &is_preset))
string_list_append(str_list, "glsl", attr); string_list_append(str_list, "cg", attr);
string_list_append(str_list, "glslp", attr); if (video_shader_is_supported(RARCH_SHADER_GLSL) &&
#endif video_shader_get_type_from_ext("glsl", &is_preset))
#ifdef HAVE_VULKAN string_list_append(str_list, "glsl", attr);
string_list_append(str_list, "slang", attr); if (video_shader_is_supported(RARCH_SHADER_GLSL) &&
string_list_append(str_list, "slangp", attr); video_shader_get_type_from_ext("glslp", &is_preset))
#endif string_list_append(str_list, "glslp", attr);
if (video_shader_is_supported(RARCH_SHADER_SLANG) &&
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))
string_list_append(str_list, "slangp", 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;