[Piglit] [PATCH] shader_runner: Don't try to use more clipplanes than supported.
Fabian Bieler
fabianbieler at fastmail.fm
Tue Mar 18 13:54:52 PDT 2014
Test the clip plane number against the implementation dependent value of
GL_MAX_CLIP_PLANES rather than the enum directly.
Signed-off-by: Fabian Bieler <fabianbieler at fastmail.fm>
---
tests/shaders/shader_runner.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/tests/shaders/shader_runner.c b/tests/shaders/shader_runner.c
index 304ec61..dd506e8 100644
--- a/tests/shaders/shader_runner.c
+++ b/tests/shaders/shader_runner.c
@@ -91,6 +91,7 @@ static struct component_version glsl_version;
static struct component_version glsl_req_version;
static int gl_max_fragment_uniform_components;
static int gl_max_vertex_uniform_components;
+static int gl_max_clip_planes;
const char *path = NULL;
const char *test_start = NULL;
@@ -1747,7 +1748,7 @@ piglit_display(void)
} else if (sscanf(line,
"clip plane %d %lf %lf %lf %lf",
&x, &d[0], &d[1], &d[2], &d[3])) {
- if (x < 0 || x >= GL_MAX_CLIP_PLANES) {
+ if (x < 0 || x >= gl_max_clip_planes) {
printf("clip plane id %d out of range\n", x);
piglit_report_result(PIGLIT_FAIL);
}
@@ -2017,6 +2018,7 @@ piglit_init(int argc, char **argv)
&gl_max_fragment_uniform_components);
glGetIntegerv(GL_MAX_VERTEX_UNIFORM_COMPONENTS,
&gl_max_vertex_uniform_components);
+ glGetIntegerv(GL_MAX_CLIP_PLANES, &gl_max_clip_planes);
#else
glGetIntegerv(GL_MAX_FRAGMENT_UNIFORM_VECTORS,
&gl_max_fragment_uniform_components);
@@ -2024,6 +2026,7 @@ piglit_init(int argc, char **argv)
&gl_max_vertex_uniform_components);
gl_max_fragment_uniform_components *= 4;
gl_max_vertex_uniform_components *= 4;
+ gl_max_clip_planes = 0;
#endif
if (argc > 2) {
path = argv[2];
--
1.8.3.2
More information about the Piglit
mailing list