diff options
author | Ian Romanick <ian.d.romanick@intel.com> | 2014-08-26 19:08:25 -0700 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2014-09-17 15:17:38 -0400 |
commit | 2fe226435fa0c77a7c3ddd93bbb3d88f90f73b73 (patch) | |
tree | 43b8e1ab81eab1049176f4f11d285e7e2bb69620 | |
parent | 77877fb679721a89bf0724534be3da8d3a9f195d (diff) |
arb_uniform_buffer_object: Remove now redundant layout-std140 test
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
-rw-r--r-- | tests/all.py | 1 | ||||
-rw-r--r-- | tests/spec/arb_uniform_buffer_object/CMakeLists.gl.txt | 1 | ||||
-rw-r--r-- | tests/spec/arb_uniform_buffer_object/layout-std140.c | 220 |
3 files changed, 0 insertions, 222 deletions
diff --git a/tests/all.py b/tests/all.py index f7ee7340b..2732eb615 100644 --- a/tests/all.py +++ b/tests/all.py @@ -3239,7 +3239,6 @@ arb_uniform_buffer_object['getprogramiv'] = concurrent_test('arb_uniform_buffer_ arb_uniform_buffer_object['getuniformblockindex'] = concurrent_test('arb_uniform_buffer_object-getuniformblockindex') arb_uniform_buffer_object['getuniformindices'] = concurrent_test('arb_uniform_buffer_object-getuniformindices') arb_uniform_buffer_object['getuniformlocation'] = concurrent_test('arb_uniform_buffer_object-getuniformlocation') -arb_uniform_buffer_object['layout-std140'] = concurrent_test('arb_uniform_buffer_object-layout-std140') arb_uniform_buffer_object['layout-std140-base-size-and-alignment'] = concurrent_test('arb_uniform_buffer_object-layout-std140-base-size-and-alignment') arb_uniform_buffer_object['link-mismatch-blocks'] = concurrent_test('arb_uniform_buffer_object-link-mismatch-blocks') arb_uniform_buffer_object['maxblocks'] = concurrent_test('arb_uniform_buffer_object-maxblocks') diff --git a/tests/spec/arb_uniform_buffer_object/CMakeLists.gl.txt b/tests/spec/arb_uniform_buffer_object/CMakeLists.gl.txt index 81fe2530c..cefddb069 100644 --- a/tests/spec/arb_uniform_buffer_object/CMakeLists.gl.txt +++ b/tests/spec/arb_uniform_buffer_object/CMakeLists.gl.txt @@ -27,7 +27,6 @@ piglit_add_executable (arb_uniform_buffer_object-getprogramiv getprogramiv.c) piglit_add_executable (arb_uniform_buffer_object-getuniformblockindex getuniformblockindex.c) piglit_add_executable (arb_uniform_buffer_object-getuniformindices getuniformindices.c) piglit_add_executable (arb_uniform_buffer_object-getuniformlocation getuniformlocation.c) -piglit_add_executable (arb_uniform_buffer_object-layout-std140 layout-std140.c) piglit_add_executable (arb_uniform_buffer_object-layout-std140-base-size-and-alignment layout-std140-base-size-and-alignment.c uniform-types.c) piglit_add_executable (arb_uniform_buffer_object-link-mismatch-blocks link-mismatch-blocks.c) piglit_add_executable (arb_uniform_buffer_object-maxblocks maxblocks.c) diff --git a/tests/spec/arb_uniform_buffer_object/layout-std140.c b/tests/spec/arb_uniform_buffer_object/layout-std140.c deleted file mode 100644 index cb3cff363..000000000 --- a/tests/spec/arb_uniform_buffer_object/layout-std140.c +++ /dev/null @@ -1,220 +0,0 @@ -/* - * Copyright © 2011 Intel Corporation - * Copyright © 2011 Vincent Lejeune - * - * 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 - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * 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 NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS 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. - */ - -/** @file layout-std140.c - * - * This test checks the conformance of offset and size returned by - * glGetActiveUniformsiv for uniform in a UBO whose layout is mandated - * by the std140 layout qualifier - * - * The example shader and expected values for offset and size are - * taken from the spec: - * - * http://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt - */ - -#include "piglit-util-gl.h" - -PIGLIT_GL_TEST_CONFIG_BEGIN - - config.supports_gl_compat_version = 10; - - config.window_visual = PIGLIT_GL_VISUAL_DOUBLE | PIGLIT_GL_VISUAL_RGBA; - -PIGLIT_GL_TEST_CONFIG_END - -static GLuint prog; - -static const struct result { - const char *name; - GLint offset; - GLint size; -} expected_result[] = { - { "a", 0, 1 }, - { "b", 8, 1 }, - { "c", 16, 1 }, - { "f.d", 32, 1}, - { "f.e", 40, 1}, - { "g", 48, 1}, - { "h", 64, 2}, - { "i", 96, 1}, - { "o[0].j", 128, 1 }, - { "o[0].k", 144, 1 }, - { "o[0].l", 160, 2 }, - { "o[0].m", 192, 1 }, - { "o[0].n", 208, 2 }, - { "o[1].j", 304, 1 }, - { "o[1].k", 320, 1 }, - { "o[1].l", 336, 2 }, - { "o[1].m", 368, 1 }, - { "o[1].n", 384, 2 }, - - /* Section 2.11.4 (Uniform Variables), subsection Standard Uniform - * Block Layout, of the OpenGL 3.1 spec says (emphasis mine): - * - * "(9) If the member is a structure, the base alignment of the - * structure is <N>, where <N> is the largest base alignment value - * of any of its members, and *rounded up to the base alignment of - * a vec4*. The individual members of this sub-structure are then - * assigned offsets by applying this set of rules recursively, - * where the base offset of the first member of the sub-structure - * is equal to the aligned offset of the structure. The structure - * may have padding at the end; the base offset of the member - * following the sub-structure is rounded up to the next multiple - * of the base alignment of the structure." - */ - { "s.s1.r", 0, 1 }, - { "s.s2.g", 16, 1 }, - { "s.s2.b", 20, 1 }, - { "s.s2.a", 24, 1 }, -}; - -static const char frag_shader_text[] = - "#version 130\n" - "#extension GL_ARB_uniform_buffer_object : enable \n" - "\n" - "struct f_struct {\n" - " int d;\n" - " bvec2 e;\n" - "};\n" - "\n" - "struct o_struct {\n" - " uvec3 j;\n" - " vec2 k;\n" - " float l[2];\n" - " vec2 m;\n" - " mat3 n[2];\n" - "};\n" - "\n" - "layout(std140) uniform test_ubo { \n" - " float a;\n" - " vec2 b;\n" - " vec3 c;\n" - " f_struct f;\n" - " float g;\n" - " float h[2];\n" - " mat2x3 i;\n" - " o_struct o[2];\n" - "};\n" - "\n" - "struct S1 {\n" - " float r;\n" - "};\n" - "\n" - "struct S2 {\n" - " float g;\n" - " float b;\n" - " float a;\n" - "};\n" - "\n" - "struct S {\n" - " S1 s1;\n" - " S2 s2;\n" - "};\n" - "\n" - "layout(std140) uniform ubo1 {\n" - " S s;\n" - "};\n" - "\n" - "void main()\n" - "{\n" - " gl_FragColor = vec4(a + b.x + c.x + float(f.d) + g + h[0] + i[0].x + o[1].k.x + s.s1.r + s.s2.g + s.s2.b + s.s2.a);\n" - "}\n"; - -static void -init(void) -{ - piglit_require_GLSL_version(130); - piglit_require_extension("GL_ARB_uniform_buffer_object"); - - prog = piglit_build_simple_program(NULL, frag_shader_text); - - glUseProgram(prog); -} - -static void -validate_offset_and_size() -{ - unsigned i, index; - GLint offset, size; - bool pass = true; - - printf("%8s%17s%10s%15s%8s\n", - "uniform", - "expected offset", - "offset", - "expected size", - "size"); - - for(i = 0; i < ARRAY_SIZE(expected_result); i++) { - glGetUniformIndices(prog, 1, - (const GLchar **)&expected_result[i].name, - &index); - if (index == GL_INVALID_INDEX) { - pass = false; - printf("%8s%17d%10s%15d%8s INACTIVE\n", - expected_result[i].name, - expected_result[i].offset, - "", - expected_result[i].size, - ""); - continue; - } - - glGetActiveUniformsiv(prog, 1, &index, GL_UNIFORM_OFFSET, &offset); - glGetActiveUniformsiv(prog, 1, &index, GL_UNIFORM_SIZE, &size); - - if (offset != expected_result[i].offset || - size != expected_result[i].size) { - pass = false; - printf("%8s%17d%10d%15d%8d FAIL\n", - expected_result[i].name, - expected_result[i].offset, - offset, - expected_result[i].size, - size); - } else { - printf("%8s%17d%10d%15d%8d PASS\n", - expected_result[i].name, - expected_result[i].offset, - offset, - expected_result[i].size, - size); - } - } - - piglit_report_result(pass ? PIGLIT_PASS : PIGLIT_FAIL); -} - -void -piglit_init(int argc, char **argv) -{ - init(); - validate_offset_and_size(); -} - -enum piglit_result piglit_display(void) -{ - return PIGLIT_FAIL; -} |