diff options
author | Marek Olšák <maraeo@gmail.com> | 2013-03-22 15:41:26 +0100 |
---|---|---|
committer | Marek Olšák <maraeo@gmail.com> | 2013-04-16 18:07:44 +0200 |
commit | f6befdb5f9d736287784b894b259bd5dc3d07fc4 (patch) | |
tree | 1af5a51afc75ac09adc7651154b9ee82444125fe /tests/util/piglit-framework-gl | |
parent | 6a531205d131f2496468eea6a0582edb86906d1c (diff) |
Rework the PIGLIT_GL_VISUAL flags, fix RGB vs RGBA vs ALPHA confusion
Changes:
- SINGLE is removed, because its value was 0
- ALPHA is removed, because it becomes redundant with this change
- RGB asks for an RGB visual
- RGBA asks for an RGBA visual
- if RGB and RGBA are unset, it asks for a visual without RGB(A)
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
v2: fix glut
Diffstat (limited to 'tests/util/piglit-framework-gl')
-rw-r--r-- | tests/util/piglit-framework-gl/piglit_glut_framework.c | 17 | ||||
-rw-r--r-- | tests/util/piglit-framework-gl/piglit_winsys_framework.c | 20 |
2 files changed, 28 insertions, 9 deletions
diff --git a/tests/util/piglit-framework-gl/piglit_glut_framework.c b/tests/util/piglit-framework-gl/piglit_glut_framework.c index ee5ac014b..cfadf770e 100644 --- a/tests/util/piglit-framework-gl/piglit_glut_framework.c +++ b/tests/util/piglit-framework-gl/piglit_glut_framework.c @@ -98,12 +98,27 @@ init_glut(void) const struct piglit_gl_test_config *test_config = glut_fw.gl_fw.test_config; char *argv[] = {"piglit"}; int argc = 1; + unsigned flags = GLUT_RGB; + + if (test_config->window_visual & PIGLIT_GL_VISUAL_RGBA) + flags |= GLUT_ALPHA; + if (test_config->window_visual & PIGLIT_GL_VISUAL_DEPTH) + flags |= GLUT_DEPTH; + if (test_config->window_visual & PIGLIT_GL_VISUAL_STENCIL) + flags |= GLUT_STENCIL; + if (test_config->window_visual & PIGLIT_GL_VISUAL_ACCUM) + flags |= GLUT_ACCUM; + + if (test_config->window_visual & PIGLIT_GL_VISUAL_DOUBLE) + flags |= GLUT_DOUBLE; + else + flags |= GLUT_SINGLE; glutInit(&argc, argv); glutInitWindowPosition(0, 0); glutInitWindowSize(test_config->window_width, test_config->window_height); - glutInitDisplayMode(test_config->window_visual); + glutInitDisplayMode(flags); glut_fw.window = glutCreateWindow("Piglit"); glutDisplayFunc(display); diff --git a/tests/util/piglit-framework-gl/piglit_winsys_framework.c b/tests/util/piglit-framework-gl/piglit_winsys_framework.c index 2564f81be..df74542c2 100644 --- a/tests/util/piglit-framework-gl/piglit_winsys_framework.c +++ b/tests/util/piglit-framework-gl/piglit_winsys_framework.c @@ -92,14 +92,18 @@ choose_config_attribs(const struct piglit_gl_test_config *test_config) static int32_t attrib_list[64]; int i = 0; - attrib_list[i++] = WAFFLE_RED_SIZE; - attrib_list[i++] = 1; - attrib_list[i++] = WAFFLE_GREEN_SIZE; - attrib_list[i++] = 1; - attrib_list[i++] = WAFFLE_BLUE_SIZE; - attrib_list[i++] = 1; - - if (test_config->window_visual & PIGLIT_GL_VISUAL_ALPHA) { + + if (test_config->window_visual & + (PIGLIT_GL_VISUAL_RGB | PIGLIT_GL_VISUAL_RGBA)) { + attrib_list[i++] = WAFFLE_RED_SIZE; + attrib_list[i++] = 1; + attrib_list[i++] = WAFFLE_GREEN_SIZE; + attrib_list[i++] = 1; + attrib_list[i++] = WAFFLE_BLUE_SIZE; + attrib_list[i++] = 1; + } + + if (test_config->window_visual & PIGLIT_GL_VISUAL_RGBA) { attrib_list[i++] = WAFFLE_ALPHA_SIZE; attrib_list[i++] = 1; } |