diff --git a/src/discover/language.c b/src/discover/language.c index 5204164939..7d967d7f3d 100644 --- a/src/discover/language.c +++ b/src/discover/language.c @@ -135,8 +135,12 @@ static const ext_entry_t EXT_TABLE[] = { {".F95", CBM_LANG_FORTRAN}, /* GLSL */ + {".comp", CBM_LANG_GLSL}, {".frag", CBM_LANG_GLSL}, + {".geom", CBM_LANG_GLSL}, {".glsl", CBM_LANG_GLSL}, + {".tesc", CBM_LANG_GLSL}, + {".tese", CBM_LANG_GLSL}, {".vert", CBM_LANG_GLSL}, /* Go */ diff --git a/tests/test_language.c b/tests/test_language.c index 6dc2c0d22a..1ed72a0a21 100644 --- a/tests/test_language.c +++ b/tests/test_language.c @@ -500,6 +500,15 @@ TEST(lang_ext_vert) { ASSERT_EQ(cbm_language_for_extension(".vert"), CBM_LANG_GLSL); PASS(); } +/* Compute, geometry and tessellation stages are GLSL too (glslang naming). */ +TEST(lang_ext_glsl_other_stages) { + ASSERT_EQ(cbm_language_for_extension(".comp"), CBM_LANG_GLSL); + ASSERT_EQ(cbm_language_for_extension(".geom"), CBM_LANG_GLSL); + ASSERT_EQ(cbm_language_for_extension(".tesc"), CBM_LANG_GLSL); + ASSERT_EQ(cbm_language_for_extension(".tese"), CBM_LANG_GLSL); + PASS(); +} + TEST(lang_ext_frag) { ASSERT_EQ(cbm_language_for_extension(".frag"), CBM_LANG_GLSL); PASS(); @@ -1654,6 +1663,7 @@ SUITE(language) { RUN_TEST(lang_ext_glsl); RUN_TEST(lang_ext_vert); RUN_TEST(lang_ext_frag); + RUN_TEST(lang_ext_glsl_other_stages); RUN_TEST(lang_ext_ini); RUN_TEST(lang_ext_cfg); RUN_TEST(lang_ext_conf);