Tested-by: Andriy.Khulap <andriy.khu...@globallogic.com> With the corresponding mesa patch (a553c54abf "mesa: add glsl version query (v4)") the test passes. Without that patch fails with error message: Unexpected GL error: GL_INVALID_ENUM 0x500 (Error at ***/piglit/tests/spec/gl-4.3/get_glsl_versions.c:43)
On Tue, Feb 13, 2018 at 10:26 PM, Brian Paul <bri...@vmware.com> wrote: > and glGetStringi(GL_SHADING_LANGUAGE_VERSION, i) queries in GL 4.3. > Until recently, these queries were not implemented in Mesa. > --- > tests/all.py | 5 +++ > tests/spec/CMakeLists.txt | 1 + > tests/spec/gl-4.3/CMakeLists.gl.txt | 13 ++++++ > tests/spec/gl-4.3/CMakeLists.txt | 1 + > tests/spec/gl-4.3/get_glsl_versions.c | 76 ++++++++++++++++++++++++++++++ > +++++ > 5 files changed, 96 insertions(+) > create mode 100644 tests/spec/gl-4.3/CMakeLists.gl.txt > create mode 100644 tests/spec/gl-4.3/CMakeLists.txt > create mode 100644 tests/spec/gl-4.3/get_glsl_versions.c > > diff --git a/tests/all.py b/tests/all.py > index 310161a..8236d5a 100644 > --- a/tests/all.py > +++ b/tests/all.py > @@ -1208,6 +1208,11 @@ with profile.test_list.group_manager( > > with profile.test_list.group_manager( > PiglitGLTest, > + grouptools.join('spec', '!opengl 4.3')) as g: > + g(['get_glsl_versions']) > + > +with profile.test_list.group_manager( > + PiglitGLTest, > grouptools.join('spec', '!opengl 4.4')) as g: > g(['tex-errors']) > > diff --git a/tests/spec/CMakeLists.txt b/tests/spec/CMakeLists.txt > index 1f9d810..e57e8d7 100644 > --- a/tests/spec/CMakeLists.txt > +++ b/tests/spec/CMakeLists.txt > @@ -134,6 +134,7 @@ add_subdirectory (gl-3.0) > add_subdirectory (gl-3.1) > add_subdirectory (gl-3.2) > add_subdirectory (gl-3.3) > +add_subdirectory (gl-4.3) > add_subdirectory (gl-4.4) > add_subdirectory (gl-4.5) > add_subdirectory (gles-2.0) > diff --git a/tests/spec/gl-4.3/CMakeLists.gl.txt b/tests/spec/gl-4.3/ > CMakeLists.gl.txt > new file mode 100644 > index 0000000..4d81c84 > --- /dev/null > +++ b/tests/spec/gl-4.3/CMakeLists.gl.txt > @@ -0,0 +1,13 @@ > +include_directories( > + ${GLEXT_INCLUDE_DIR} > + ${OPENGL_INCLUDE_PATH} > +) > + > +link_libraries ( > + piglitutil_${piglit_target_api} > + ${OPENGL_gl_LIBRARY} > +) > + > +piglit_add_executable (gl-4.3-get_glsl_versions get_glsl_versions.c) > + > +# vim: ft=cmake: > diff --git a/tests/spec/gl-4.3/CMakeLists.txt b/tests/spec/gl-4.3/ > CMakeLists.txt > new file mode 100644 > index 0000000..144a306 > --- /dev/null > +++ b/tests/spec/gl-4.3/CMakeLists.txt > @@ -0,0 +1 @@ > +piglit_include_target_api() > diff --git a/tests/spec/gl-4.3/get_glsl_versions.c > b/tests/spec/gl-4.3/get_glsl_versions.c > new file mode 100644 > index 0000000..4a6d42d > --- /dev/null > +++ b/tests/spec/gl-4.3/get_glsl_versions.c > @@ -0,0 +1,76 @@ > +/* > + * Copyright 2017 VMware, Inc. > + * > + * Permission is hereby granted, free of charge, to any person obtaining a > + * copy of this software and associated documentation files (the > "Software"), > + * to deal in the Software without restriction, including without > limitation > + * on the rights to use, copy, modify, merge, publish, distribute, sub > + * license, and/or sell copies of the Software, and to permit persons to > whom > + * the Software is furnished to do so, subject to the following > conditions: > + * > + * The above copyright notice and this permission notice (including the > next > + * paragraph) shall be included in all copies or substantial portions of > the > + * Software. > + * > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, > + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF > + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND > + * NON-INFRINGEMENT. IN NO EVENT SHALL AUTHORS AND/OR THEIR SUPPLIERS > + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN > + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN > + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE > + * SOFTWARE. > + */ > + > + > +#include "piglit-util-gl.h" > +#include "minmax-test.h" > + > + > +PIGLIT_GL_TEST_CONFIG_BEGIN > + config.supports_gl_core_version = 43; > + config.khr_no_error_support = PIGLIT_NO_ERRORS; > +PIGLIT_GL_TEST_CONFIG_END > + > + > +void > +piglit_init(int argc, char *argv[]) > +{ > + GLint num = -1; > + GLint i; > + > + glGetIntegerv(GL_NUM_SHADING_LANGUAGE_VERSIONS, &num); > + if (!piglit_check_gl_error(GL_NO_ERROR)) { > + piglit_report_result(PIGLIT_FAIL); > + } > + if (num < 1) { > + printf("Invalid number of shading language versions\n"); > + piglit_report_result(PIGLIT_FAIL); > + } > + > + for (i = 0; i < num; i++) { > + const GLubyte *v = glGetStringi(GL_SHADING_LANGUAGE_VERSION, > i); > + if (!v) { > + printf("Invalid glGetStringi(index=%d) result\n", > i); > + piglit_report_result(PIGLIT_FAIL); > + } > + if (v[0] != 0 && !(v[0] >= '1' && v[0] <= '9')) { > + printf("Invalid GLSL version string: %s\n", v); > + piglit_report_result(PIGLIT_FAIL); > + } > + //printf("%d: %s\n", i, (const char *) v); > + } > + > + if (!piglit_check_gl_error(GL_NO_ERROR)) { > + piglit_report_result(PIGLIT_FAIL); > + } > + > + piglit_report_result(PIGLIT_PASS); > +} > + > + > +enum piglit_result > +piglit_display(void) > +{ > + return PIGLIT_PASS; > +} > -- > 2.7.4 > >
_______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/piglit