---
.../bindbuffer-general-point.c | 1 +
.../arb_uniform_buffer_object/buffer-targets.c | 1 +
.../spec/arb_uniform_buffer_object/bufferstorage.c | 1 +
.../spec/arb_uniform_buffer_object/deletebuffers.c | 1 +
tests/spec/arb_uniform_buffer_object/dlist.c | 1 +
...tactiveuniformblockiv-uniform-block-data-size.c | 1 +
.../getactiveuniformblockname.c | 37 ++++++++-------
.../getactiveuniformname.c | 37 ++++++++-------
.../getactiveuniformsiv-uniform-array-stride.c | 1 +
.../getactiveuniformsiv-uniform-block-index.c | 1 +
.../getactiveuniformsiv-uniform-matrix-stride.c | 1 +
.../getactiveuniformsiv-uniform-type.c | 1 +
.../spec/arb_uniform_buffer_object/getintegeri_v.c | 11 +++--
.../spec/arb_uniform_buffer_object/getprogramiv.c | 1 +
.../getuniformblockindex.c | 17 ++++---
.../arb_uniform_buffer_object/getuniformindices.c | 54
++++++++++++----------
.../arb_uniform_buffer_object/getuniformlocation.c | 1 +
.../layout-std140-base-size-and-alignment.c | 1 +
.../link-mismatch-blocks.c | 1 +
tests/spec/arb_uniform_buffer_object/maxblocks.c | 1 +
.../maxuniformblocksize.c | 1 +
tests/spec/arb_uniform_buffer_object/minmax.c | 1 +
.../negative-bindbuffer-index.c | 1 +
.../negative-bindbuffer-target.c | 1 +
.../negative-bindbufferrange-range.c | 1 +
.../negative-getactiveuniformblockiv.c | 1 +
.../negative-getactiveuniformsiv.c | 1 +
.../referenced-by-shader.c | 1 +
.../arb_uniform_buffer_object/rendering-array.c | 1 +
.../spec/arb_uniform_buffer_object/rendering-dsa.c | 1 +
tests/spec/arb_uniform_buffer_object/rendering.c | 1 +
tests/spec/arb_uniform_buffer_object/row-major.c | 1 +
.../uniformblockbinding.c | 17 ++++---
33 files changed, 124 insertions(+), 76 deletions(-)
diff --git
a/tests/spec/arb_uniform_buffer_object/bindbuffer-general-point.c
b/tests/spec/arb_uniform_buffer_object/bindbuffer-general-point.c
index c9e81c2..5d8498b 100644
--- a/tests/spec/arb_uniform_buffer_object/bindbuffer-general-point.c
+++ b/tests/spec/arb_uniform_buffer_object/bindbuffer-general-point.c
@@ -26,20 +26,21 @@
* Tests that the glBindBuffer* entrypoints also bind to the general
* binding point.
*/
#include "piglit-util-gl.h"
PIGLIT_GL_TEST_CONFIG_BEGIN
config.supports_gl_compat_version = 10;
config.window_visual = PIGLIT_GL_VISUAL_RGBA |
PIGLIT_GL_VISUAL_DOUBLE;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
void
piglit_init(int argc, char **argv)
{
bool pass = true;
GLuint bo[2];
GLint binding;
diff --git a/tests/spec/arb_uniform_buffer_object/buffer-targets.c
b/tests/spec/arb_uniform_buffer_object/buffer-targets.c
index 28924bc..beb2055 100644
--- a/tests/spec/arb_uniform_buffer_object/buffer-targets.c
+++ b/tests/spec/arb_uniform_buffer_object/buffer-targets.c
@@ -34,20 +34,21 @@
*
* UNIFORM_BUFFER"
*/
#include "piglit-util-gl.h"
PIGLIT_GL_TEST_CONFIG_BEGIN
config.supports_gl_compat_version = 10;
config.window_visual = PIGLIT_GL_VISUAL_RGBA |
PIGLIT_GL_VISUAL_DOUBLE;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
void
piglit_init(int argc, char **argv)
{
bool pass = true;
GLuint bo;
uint8_t in_data[1] = {0xaa};
uint8_t out_data[1] = {0xd0};
diff --git a/tests/spec/arb_uniform_buffer_object/bufferstorage.c
b/tests/spec/arb_uniform_buffer_object/bufferstorage.c
index 52e20e0..e3e1383 100644
--- a/tests/spec/arb_uniform_buffer_object/bufferstorage.c
+++ b/tests/spec/arb_uniform_buffer_object/bufferstorage.c
@@ -28,20 +28,21 @@
* from UBOs. Same as rendering.c, except that the UBOs are
* persistently mapped.
*/
#include "piglit-util-gl.h"
PIGLIT_GL_TEST_CONFIG_BEGIN
config.supports_gl_compat_version = 20;
config.window_visual = PIGLIT_GL_VISUAL_DOUBLE |
PIGLIT_GL_VISUAL_RGBA;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
static const char vert_shader_text[] =
"#extension GL_ARB_uniform_buffer_object : require\n"
"\n"
"layout(std140) uniform;\n"
"uniform ub_pos_size { vec2 pos; float size; };\n"
"uniform ub_rot {float rotation; };\n"
"\n"
diff --git a/tests/spec/arb_uniform_buffer_object/deletebuffers.c
b/tests/spec/arb_uniform_buffer_object/deletebuffers.c
index 8dc249a..4cb7cce 100644
--- a/tests/spec/arb_uniform_buffer_object/deletebuffers.c
+++ b/tests/spec/arb_uniform_buffer_object/deletebuffers.c
@@ -27,20 +27,21 @@
* glBindBufferBase()/glBindBufferRange() bindings along with the
* usual glBindBuffer() binding.
*/
#include "piglit-util-gl.h"
PIGLIT_GL_TEST_CONFIG_BEGIN
config.supports_gl_compat_version = 10;
config.window_visual = PIGLIT_GL_VISUAL_RGBA |
PIGLIT_GL_VISUAL_DOUBLE;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
void
piglit_init(int argc, char **argv)
{
bool pass = true;
GLuint bo[2];
GLint binding;
diff --git a/tests/spec/arb_uniform_buffer_object/dlist.c
b/tests/spec/arb_uniform_buffer_object/dlist.c
index eb93d11..2ee61e6 100644
--- a/tests/spec/arb_uniform_buffer_object/dlist.c
+++ b/tests/spec/arb_uniform_buffer_object/dlist.c
@@ -52,20 +52,21 @@
* introduced by OpenGL 3.0, and those routines are already
* excluded, there's no additions to the display list exclusion
* list needed."
*/
PIGLIT_GL_TEST_CONFIG_BEGIN
config.supports_gl_compat_version = 10;
config.window_visual = PIGLIT_GL_VISUAL_DOUBLE |
PIGLIT_GL_VISUAL_RGBA;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
const char *source =
"#extension GL_ARB_uniform_buffer_object : enable\n"
"uniform A { float a; };\n"
"uniform B { float b; };\n"
"void main() {\n"
" gl_FragColor = vec4(a + b);\n"
"}\n";
diff --git
a/tests/spec/arb_uniform_buffer_object/getactiveuniformblockiv-uniform-block-data-size.c
b/tests/spec/arb_uniform_buffer_object/getactiveuniformblockiv-uniform-block-data-size.c
index a728040..bd0fbce 100644
---
a/tests/spec/arb_uniform_buffer_object/getactiveuniformblockiv-uniform-block-data-size.c
+++
b/tests/spec/arb_uniform_buffer_object/getactiveuniformblockiv-uniform-block-data-size.c
@@ -35,20 +35,21 @@
*/
#include "piglit-util-gl.h"
#include "uniform-types.h"
PIGLIT_GL_TEST_CONFIG_BEGIN
config.supports_gl_compat_version = 10;
config.supports_gl_core_version = 31;
config.window_visual = PIGLIT_GL_VISUAL_RGBA |
PIGLIT_GL_VISUAL_DOUBLE;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
static int
align(int v, int a)
{
return (v + a - 1) & ~(a - 1);
}
static bool
diff --git
a/tests/spec/arb_uniform_buffer_object/getactiveuniformblockname.c
b/tests/spec/arb_uniform_buffer_object/getactiveuniformblockname.c
index a967ff2..4f98528 100644
--- a/tests/spec/arb_uniform_buffer_object/getactiveuniformblockname.c
+++ b/tests/spec/arb_uniform_buffer_object/getactiveuniformblockname.c
@@ -63,20 +63,21 @@
* UniformBlockBinding if <uniformBlockIndex> is greater than or
* equal to ACTIVE_UNIFORM_BLOCKS."
*/
#include "piglit-util-gl.h"
PIGLIT_GL_TEST_CONFIG_BEGIN
config.supports_gl_compat_version = 10;
config.window_visual = PIGLIT_GL_VISUAL_RGBA |
PIGLIT_GL_VISUAL_DOUBLE;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
void
piglit_init(int argc, char **argv)
{
int i;
GLuint prog;
const char *source =
"#extension GL_ARB_uniform_buffer_object : enable\n"
@@ -169,37 +170,39 @@ piglit_init(int argc, char **argv)
NULL, name);
if (name[written_strlen] != fill_char) {
fprintf(stderr, "glGetActiveUniformName overflowed: "
"name[%d] = 0x%02x instead of 0x%02x\n",
written_strlen, name[written_strlen],
fill_char);
pass = false;
}
}
- no_write = fill_char;
- glGetActiveUniformBlockName(0xd0d0, 0, 1, NULL, &no_write);
- pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
- if (no_write != fill_char)
- pass = false;
-
- no_write = fill_char;
- glGetActiveUniformBlockName(prog, 0, -1, NULL, &no_write);
- pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
- if (no_write != fill_char)
- pass = false;
-
- no_write = fill_char;
- glGetActiveUniformBlockName(prog, blocks, 1, NULL, &no_write);
- pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
- if (no_write != fill_char)
- pass = false;
+ if (!piglit_khr_no_error) {
+ no_write = fill_char;
+ glGetActiveUniformBlockName(0xd0d0, 0, 1, NULL, &no_write);
+ pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
+ if (no_write != fill_char)
+ pass = false;
+
+ no_write = fill_char;
+ glGetActiveUniformBlockName(prog, 0, -1, NULL, &no_write);
+ pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
+ if (no_write != fill_char)
+ pass = false;
+
+ no_write = fill_char;
+ glGetActiveUniformBlockName(prog, blocks, 1, NULL, &no_write);
+ pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
+ if (no_write != fill_char)
+ pass = false;
+ }
glDeleteProgram(prog);
piglit_report_result(pass ? PIGLIT_PASS : PIGLIT_FAIL);
}
enum piglit_result piglit_display(void)
{
/* UNREACHED */
return PIGLIT_FAIL;
diff --git
a/tests/spec/arb_uniform_buffer_object/getactiveuniformname.c
b/tests/spec/arb_uniform_buffer_object/getactiveuniformname.c
index 955ca96..a83f61a 100644
--- a/tests/spec/arb_uniform_buffer_object/getactiveuniformname.c
+++ b/tests/spec/arb_uniform_buffer_object/getactiveuniformname.c
@@ -63,20 +63,21 @@
* The error INVALID_VALUE is generated by GetActiveUniformName if
* <uniformIndex> is greater than or equal to ACTIVE_UNIFORMS.
*/
#include "piglit-util-gl.h"
PIGLIT_GL_TEST_CONFIG_BEGIN
config.supports_gl_compat_version = 10;
config.window_visual = PIGLIT_GL_VISUAL_RGBA |
PIGLIT_GL_VISUAL_DOUBLE;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
void
piglit_init(int argc, char **argv)
{
unsigned int i;
GLuint prog;
const char *source =
"#extension GL_ARB_uniform_buffer_object : enable\n"
@@ -168,37 +169,39 @@ piglit_init(int argc, char **argv)
glGetActiveUniformName(prog, i, written_strlen, NULL, name);
if (name[written_strlen] != fill_char) {
fprintf(stderr, "glGetActiveUniformName overflowed: "
"name[%d] = 0x%02x instead of 0x%02x\n",
written_strlen, name[written_strlen],
fill_char);
pass = false;
}
}
- no_write = fill_char;
- glGetActiveUniformName(0xd0d0, 0, 1, NULL, &no_write);
- pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
- if (no_write != fill_char)
- pass = false;
-
- no_write = fill_char;
- glGetActiveUniformName(prog, 0, -1, NULL, &no_write);
- pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
- if (no_write != fill_char)
- pass = false;
-
- no_write = fill_char;
- glGetActiveUniformName(prog, uniforms, 1, NULL, &no_write);
- pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
- if (no_write != fill_char)
- pass = false;
+ if (!piglit_khr_no_error) {
+ no_write = fill_char;
+ glGetActiveUniformName(0xd0d0, 0, 1, NULL, &no_write);
+ pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
+ if (no_write != fill_char)
+ pass = false;
+
+ no_write = fill_char;
+ glGetActiveUniformName(prog, 0, -1, NULL, &no_write);
+ pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
+ if (no_write != fill_char)
+ pass = false;
+
+ no_write = fill_char;
+ glGetActiveUniformName(prog, uniforms, 1, NULL, &no_write);
+ pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
+ if (no_write != fill_char)
+ pass = false;
+ }
glDeleteProgram(prog);
piglit_report_result(pass ? PIGLIT_PASS : PIGLIT_FAIL);
}
enum piglit_result piglit_display(void)
{
/* UNREACHED */
return PIGLIT_FAIL;
diff --git
a/tests/spec/arb_uniform_buffer_object/getactiveuniformsiv-uniform-array-stride.c
b/tests/spec/arb_uniform_buffer_object/getactiveuniformsiv-uniform-array-stride.c
index d7641e0..cce8f26 100644
---
a/tests/spec/arb_uniform_buffer_object/getactiveuniformsiv-uniform-array-stride.c
+++
b/tests/spec/arb_uniform_buffer_object/getactiveuniformsiv-uniform-array-stride.c
@@ -26,20 +26,21 @@
* Tests that (std140 layout) uniform array strides are reported
* correctly through the API.
*/
#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;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
static const char fs_source[] =
"#extension GL_ARB_uniform_buffer_object : require\n"
"\n"
"layout(std140) uniform ub {\n"
" vec4 a;\n"
" vec4 b[2];\n"
" float c[2];\n"
diff --git
a/tests/spec/arb_uniform_buffer_object/getactiveuniformsiv-uniform-block-index.c
b/tests/spec/arb_uniform_buffer_object/getactiveuniformsiv-uniform-block-index.c
index 76283d0..a0dd549 100644
---
a/tests/spec/arb_uniform_buffer_object/getactiveuniformsiv-uniform-block-index.c
+++
b/tests/spec/arb_uniform_buffer_object/getactiveuniformsiv-uniform-block-index.c
@@ -28,20 +28,21 @@
* glGetUniformBlockIndex.()
*/
#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;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
static const char vs_source[] =
"#extension GL_ARB_uniform_buffer_object : require\n"
"\n"
"uniform ub_a { vec4 a; };\n"
"uniform ub_b { vec4 b; };\n"
"\n"
"void main()\n"
diff --git
a/tests/spec/arb_uniform_buffer_object/getactiveuniformsiv-uniform-matrix-stride.c
b/tests/spec/arb_uniform_buffer_object/getactiveuniformsiv-uniform-matrix-stride.c
index 41a5e47..e7d8df8 100644
---
a/tests/spec/arb_uniform_buffer_object/getactiveuniformsiv-uniform-matrix-stride.c
+++
b/tests/spec/arb_uniform_buffer_object/getactiveuniformsiv-uniform-matrix-stride.c
@@ -30,20 +30,21 @@
* get rounded up to the size of a vec4, MATRIX_STRIDE is either 16 or
* a non-matrix value.
*/
#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;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
static const char fs_source[] =
"#extension GL_ARB_uniform_buffer_object : require\n"
"\n"
"layout(std140) uniform ub {\n"
" vec4 v4;\n"
" mat4 m4;\n"
" mat3 m3;\n"
diff --git
a/tests/spec/arb_uniform_buffer_object/getactiveuniformsiv-uniform-type.c
b/tests/spec/arb_uniform_buffer_object/getactiveuniformsiv-uniform-type.c
index 9034446..a97dab4 100644
---
a/tests/spec/arb_uniform_buffer_object/getactiveuniformsiv-uniform-type.c
+++
b/tests/spec/arb_uniform_buffer_object/getactiveuniformsiv-uniform-type.c
@@ -28,20 +28,21 @@
*/
#include "piglit-util-gl.h"
#include "uniform-types.h"
PIGLIT_GL_TEST_CONFIG_BEGIN
config.supports_gl_compat_version = 10;
config.supports_gl_core_version = 31;
config.window_visual = PIGLIT_GL_VISUAL_DOUBLE |
PIGLIT_GL_VISUAL_RGBA;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
static bool
test_format(const struct uniform_type *type)
{
/* Using 140 to get unsigned ints. */
const char *fs_template =
"#version 140\n"
"layout(std140) uniform ubo {\n"
diff --git a/tests/spec/arb_uniform_buffer_object/getintegeri_v.c
b/tests/spec/arb_uniform_buffer_object/getintegeri_v.c
index 9ed5fcc..a91f3ea 100644
--- a/tests/spec/arb_uniform_buffer_object/getintegeri_v.c
+++ b/tests/spec/arb_uniform_buffer_object/getintegeri_v.c
@@ -34,20 +34,21 @@
* buffer object was bound, zero is returned. If no buffer object
* is bound to <index>, -1 is returned."
*/
#include "piglit-util-gl.h"
PIGLIT_GL_TEST_CONFIG_BEGIN
config.supports_gl_compat_version = 10;
config.window_visual = PIGLIT_GL_VISUAL_RGBA |
PIGLIT_GL_VISUAL_DOUBLE;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
static bool pass = true;
static void
test_index(int line, GLenum e, int index, int expected)
{
GLint val;
@@ -113,24 +114,26 @@ piglit_init(int argc, char **argv)
* spec ("The error INVALID_OPERATION is generated by
* BindBufferRange and BindBufferBase if <buffer> is not the
* name of a valid buffer object.", and glIsBuffer returns
* false for 0), but it seems obviously parallel to the rest
* of the GL API, including glBindBuffer(), to allow it
*/
glBindBufferBase(GL_UNIFORM_BUFFER, 0, 0);
test_range(__LINE__, 0, 0, 0, 0);
/* Test the error condition. */
- glGetIntegerv(GL_MAX_UNIFORM_BUFFER_BINDINGS, &max_bindings);
- glGetIntegeri_v(GL_UNIFORM_BUFFER_BINDING, max_bindings, &junk);
- if (!piglit_check_gl_error(GL_INVALID_VALUE))
- pass = false;
+ if (!piglit_khr_no_error) {
+ glGetIntegerv(GL_MAX_UNIFORM_BUFFER_BINDINGS, &max_bindings);
+ glGetIntegeri_v(GL_UNIFORM_BUFFER_BINDING, max_bindings, &junk);
+ if (!piglit_check_gl_error(GL_INVALID_VALUE))
+ pass = false;
+ }
piglit_report_result(pass ? PIGLIT_PASS : PIGLIT_FAIL);
}
enum piglit_result piglit_display(void)
{
/* UNREACHED */
return PIGLIT_FAIL;
}
diff --git a/tests/spec/arb_uniform_buffer_object/getprogramiv.c
b/tests/spec/arb_uniform_buffer_object/getprogramiv.c
index e032cbf..25fa425 100644
--- a/tests/spec/arb_uniform_buffer_object/getprogramiv.c
+++ b/tests/spec/arb_uniform_buffer_object/getprogramiv.c
@@ -32,20 +32,21 @@
* of the longest active uniform block name, including the null
* terminator, is returned."
*/
#include "piglit-util-gl.h"
PIGLIT_GL_TEST_CONFIG_BEGIN
config.supports_gl_compat_version = 10;
config.window_visual = PIGLIT_GL_VISUAL_RGBA |
PIGLIT_GL_VISUAL_DOUBLE;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
struct {
const char *source;
int blocks;
int namelen;
} tests[] = {
{
"#extension GL_ARB_uniform_buffer_object : enable\n"
diff --git
a/tests/spec/arb_uniform_buffer_object/getuniformblockindex.c
b/tests/spec/arb_uniform_buffer_object/getuniformblockindex.c
index 0dafc53..989ad51 100644
--- a/tests/spec/arb_uniform_buffer_object/getuniformblockindex.c
+++ b/tests/spec/arb_uniform_buffer_object/getuniformblockindex.c
@@ -28,20 +28,21 @@
* for active blocks.
*/
#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;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
static GLuint prog;
static const char frag_shader_text[] =
"#extension GL_ARB_uniform_buffer_object : require\n"
"\n"
"uniform ub_a { vec4 a; };\n"
"uniform ub_b { vec4 b; };\n"
@@ -107,27 +108,29 @@ piglit_init(int argc, char **argv)
/* From the GL_ARB_uniform_buffer_object spec:
*
* "The error INVALID_VALUE is generated by
* GetUniformIndices, GetActiveUniformsiv,
* GetActiveUniformName, GetUniformBlockIndex,
* GetActiveUniformBlockiv, GetActiveUniformBlockName,
* and UniformBlockBinding if <program> is not a value
* generated by GL.
*/
- index = glGetUniformBlockIndex(0xd0d0, "a");
- if (!piglit_check_gl_error(GL_INVALID_VALUE)) {
- pass = false;
- } else if (index != GL_INVALID_INDEX) {
- printf("Bad program uniform index: 0x%08x\n", index);
- printf(" Expected 0x%08x\n", GL_INVALID_INDEX);
- pass = false;
+ if (!piglit_khr_no_error) {
+ index = glGetUniformBlockIndex(0xd0d0, "a");
+ if (!piglit_check_gl_error(GL_INVALID_VALUE)) {
+ pass = false;
+ } else if (index != GL_INVALID_INDEX) {
+ printf("Bad program uniform index: 0x%08x\n", index);
+ printf(" Expected 0x%08x\n", GL_INVALID_INDEX);
+ pass = false;
+ }
}
piglit_report_result(pass ? PIGLIT_PASS : PIGLIT_FAIL);
}
enum piglit_result piglit_display(void)
{
/* UNREACHED */
return PIGLIT_FAIL;
}
diff --git a/tests/spec/arb_uniform_buffer_object/getuniformindices.c
b/tests/spec/arb_uniform_buffer_object/getuniformindices.c
index 43fbb2c..32442bb 100644
--- a/tests/spec/arb_uniform_buffer_object/getuniformindices.c
+++ b/tests/spec/arb_uniform_buffer_object/getuniformindices.c
@@ -27,20 +27,21 @@
* invalid uniform names, and consecutive indices starting from 0.
*/
#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;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
static GLuint prog;
static const char frag_shader_text[] =
"#extension GL_ARB_uniform_buffer_object : require\n"
"\n"
"uniform ub_a { vec4 a; vec4 b; };\n"
"uniform vec4 c;\n"
@@ -75,65 +76,70 @@ piglit_init(int argc, char **argv)
*
* ...
*
* The error INVALID_VALUE is generated by
GetUniformIndices and
* GetActiveUniformsiv if <uniformCount> is less than zero.
*
* ...
*
* "If an error occurs, nothing is written to
<uniformIndices>."
*/
- index = save_index;
- glGetUniformIndices(prog, -1, &one_uniform, &index);
- if (!piglit_check_gl_error(GL_INVALID_VALUE)) {
- pass = false;
- } else if (index != save_index) {
- printf("Bad program uniform index: 0x%08x\n", index);
- printf(" Expected 0x%08x\n", save_index);
- pass = false;
- }
+ if (!piglit_khr_no_error) {
+ index = save_index;
+ glGetUniformIndices(prog, -1, &one_uniform, &index);
+ if (!piglit_check_gl_error(GL_INVALID_VALUE)) {
+ pass = false;
+ } else if (index != save_index) {
+ printf("Bad program uniform index: 0x%08x\n", index);
+ printf(" Expected 0x%08x\n", save_index);
+ pass = false;
+ }
- index = save_index;
- glGetUniformIndices(0xd0d0, 1, &one_uniform, &index);
- if (!piglit_check_gl_error(GL_INVALID_VALUE)) {
- pass = false;
- } else if (index != save_index) {
- printf("Bad program uniform index: 0x%08x\n", index);
- printf(" Expected 0x%08x\n", save_index);
- pass = false;
+ index = save_index;
+ glGetUniformIndices(0xd0d0, 1, &one_uniform, &index);
+ if (!piglit_check_gl_error(GL_INVALID_VALUE)) {
+ pass = false;
+ } else if (index != save_index) {
+ printf("Bad program uniform index: 0x%08x\n", index);
+ printf(" Expected 0x%08x\n", save_index);
+ pass = false;
+ }
}
glGetUniformIndices(prog, 3, uniform_names, indices);
if (!piglit_check_gl_error(0))
piglit_report_result(PIGLIT_FAIL);
for (i = 0; i < 3; i++) {
printf("%s: index %d\n", uniform_names[i], indices[i]);
if (indices[i] > 2 || found_index[indices[i]]) {
printf("Expected consecutive numbers starting from 0\n");
pass = false;
}
found_index[indices[i]] = true;
}
/* "If a string in <uniformNames> is not the name of an
* active uniform, the value INVALID_INDEX will be
* written to the corresponding element of
* <uniformIndices>."
*/
- glGetUniformIndices(prog, 1, &bad_uniform, &index);
- if (!piglit_check_gl_error(0)) {
- pass = false;
- } else if (index != GL_INVALID_INDEX) {
- printf("Bad uniform index for %s: 0x%08x\n", bad_uniform,
index);
- printf(" Expected 0x%08x\n", GL_INVALID_INDEX);
- pass = false;
+ if (!piglit_khr_no_error) {
+ glGetUniformIndices(prog, 1, &bad_uniform, &index);
+ if (!piglit_check_gl_error(0)) {
+ pass = false;
+ } else if (index != GL_INVALID_INDEX) {
+ printf("Bad uniform index for %s: 0x%08x\n",
+ bad_uniform, index);
+ printf(" Expected 0x%08x\n", GL_INVALID_INDEX);
+ pass = false;
+ }
}
piglit_report_result(pass ? PIGLIT_PASS : PIGLIT_FAIL);
}
enum piglit_result piglit_display(void)
{
/* UNREACHED */
return PIGLIT_FAIL;
}
diff --git a/tests/spec/arb_uniform_buffer_object/getuniformlocation.c
b/tests/spec/arb_uniform_buffer_object/getuniformlocation.c
index 81b5c89..6a90dee 100644
--- a/tests/spec/arb_uniform_buffer_object/getuniformlocation.c
+++ b/tests/spec/arb_uniform_buffer_object/getuniformlocation.c
@@ -37,20 +37,21 @@
* <name> is associated with a named uniform block..."
*/
#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;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
static GLuint prog;
static const char fs_source[] =
"#extension GL_ARB_uniform_buffer_object : require\n"
"\n"
"uniform ub_a { vec4 a; };\n"
"uniform vec4 b;\n"
diff --git
a/tests/spec/arb_uniform_buffer_object/layout-std140-base-size-and-alignment.c
b/tests/spec/arb_uniform_buffer_object/layout-std140-base-size-and-alignment.c
index 8fdd624..e534900 100644
---
a/tests/spec/arb_uniform_buffer_object/layout-std140-base-size-and-alignment.c
+++
b/tests/spec/arb_uniform_buffer_object/layout-std140-base-size-and-alignment.c
@@ -29,20 +29,21 @@
*/
#include "piglit-util-gl.h"
#include "uniform-types.h"
PIGLIT_GL_TEST_CONFIG_BEGIN
config.supports_gl_compat_version = 10;
config.supports_gl_core_version = 31;
config.window_visual = PIGLIT_GL_VISUAL_DOUBLE |
PIGLIT_GL_VISUAL_RGBA;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
static int
align(int v, int a)
{
return (v + a - 1) & ~(a - 1);
}
static bool
diff --git
a/tests/spec/arb_uniform_buffer_object/link-mismatch-blocks.c
b/tests/spec/arb_uniform_buffer_object/link-mismatch-blocks.c
index 0b03fb9..e50216f 100644
--- a/tests/spec/arb_uniform_buffer_object/link-mismatch-blocks.c
+++ b/tests/spec/arb_uniform_buffer_object/link-mismatch-blocks.c
@@ -33,20 +33,21 @@
* as well as having the same member-wise layout qualification
* (see next section). Any mismatch will generate a link error. "
*/
#include "piglit-util-gl.h"
PIGLIT_GL_TEST_CONFIG_BEGIN
config.supports_gl_compat_version = 10;
config.window_visual = PIGLIT_GL_VISUAL_RGB |
PIGLIT_GL_VISUAL_DOUBLE;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
struct test {
const char *a_header;
const char *a_body;
const char *b_header;
const char *b_body;
};
diff --git a/tests/spec/arb_uniform_buffer_object/maxblocks.c
b/tests/spec/arb_uniform_buffer_object/maxblocks.c
index abe07cf..6417610 100644
--- a/tests/spec/arb_uniform_buffer_object/maxblocks.c
+++ b/tests/spec/arb_uniform_buffer_object/maxblocks.c
@@ -45,20 +45,21 @@
*/
#include "piglit-util-gl.h"
PIGLIT_GL_TEST_CONFIG_BEGIN
config.window_width = 800;
config.window_height = 100;
config.supports_gl_compat_version = 10;
config.window_visual = PIGLIT_GL_VISUAL_RGBA |
PIGLIT_GL_VISUAL_DOUBLE;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
static char *
get_shader(GLenum target, const char *block_prefix, int blocks)
{
char *shader = NULL;
const char *vs_source =
"#extension GL_ARB_uniform_buffer_object : enable\n"
"\n"
diff --git
a/tests/spec/arb_uniform_buffer_object/maxuniformblocksize.c
b/tests/spec/arb_uniform_buffer_object/maxuniformblocksize.c
index ea2d7cd..ce7126f 100644
--- a/tests/spec/arb_uniform_buffer_object/maxuniformblocksize.c
+++ b/tests/spec/arb_uniform_buffer_object/maxuniformblocksize.c
@@ -32,20 +32,21 @@
* "fsexceed" arguments.
*/
#include "piglit-util-gl.h"
PIGLIT_GL_TEST_CONFIG_BEGIN
config.supports_gl_compat_version = 10;
config.window_visual = PIGLIT_GL_VISUAL_RGBA |
PIGLIT_GL_VISUAL_DOUBLE;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
static enum {
VS,
VS_EXCEED,
FS,
FS_EXCEED,
} mode;
diff --git a/tests/spec/arb_uniform_buffer_object/minmax.c
b/tests/spec/arb_uniform_buffer_object/minmax.c
index 6d70efa..311a4a8 100644
--- a/tests/spec/arb_uniform_buffer_object/minmax.c
+++ b/tests/spec/arb_uniform_buffer_object/minmax.c
@@ -27,20 +27,21 @@
*/
#include "piglit-util-gl.h"
#include "minmax-test.h"
PIGLIT_GL_TEST_CONFIG_BEGIN
config.supports_gl_compat_version = 10;
config.window_visual = PIGLIT_GL_VISUAL_DOUBLE |
PIGLIT_GL_VISUAL_RGBA;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
enum piglit_result
piglit_display(void)
{
/* UNREACHED */
return PIGLIT_FAIL;
}
diff --git
a/tests/spec/arb_uniform_buffer_object/negative-bindbuffer-index.c
b/tests/spec/arb_uniform_buffer_object/negative-bindbuffer-index.c
index f387b8c..2c31df8 100644
--- a/tests/spec/arb_uniform_buffer_object/negative-bindbuffer-index.c
+++ b/tests/spec/arb_uniform_buffer_object/negative-bindbuffer-index.c
@@ -50,20 +50,21 @@
#include "piglit-util-gl.h"
#include "uniform-types.h"
PIGLIT_GL_TEST_CONFIG_BEGIN
config.supports_gl_compat_version = 10;
config.window_width = 10;
config.window_height = 10;
config.window_visual = PIGLIT_GL_VISUAL_RGBA |
PIGLIT_GL_VISUAL_DOUBLE;
+ config.khr_no_error_support = PIGLIT_HAS_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
void
piglit_init(int argc, char **argv)
{
bool pass = true;
const char *fs_source =
"#extension GL_ARB_uniform_buffer_object : require\n"
"uniform ubo {\n"
diff --git
a/tests/spec/arb_uniform_buffer_object/referenced-by-shader.c
b/tests/spec/arb_uniform_buffer_object/referenced-by-shader.c
index 6f5cf6e..1d3723a 100644
--- a/tests/spec/arb_uniform_buffer_object/referenced-by-shader.c
+++ b/tests/spec/arb_uniform_buffer_object/referenced-by-shader.c
@@ -34,20 +34,21 @@
* fragment programming stage of <program>, respectively, is
* returned."
*/
#include "piglit-util-gl.h"
PIGLIT_GL_TEST_CONFIG_BEGIN
config.supports_gl_compat_version = 10;
config.supports_gl_core_version = 31;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
void
piglit_init(int argc, char **argv)
{
bool pass = true;
unsigned int i;
GLuint vs, gs, fs, prog;
const char *vs_source =
diff --git a/tests/spec/arb_uniform_buffer_object/rendering-array.c
b/tests/spec/arb_uniform_buffer_object/rendering-array.c
index 1535e92..d508635 100644
--- a/tests/spec/arb_uniform_buffer_object/rendering-array.c
+++ b/tests/spec/arb_uniform_buffer_object/rendering-array.c
@@ -27,20 +27,21 @@
* We draw four squares with different positions, sizes, rotations
and colors
* where those parameters come from an array in a UBO. Each draw
command
* indexes into a different element of that array.
*/
#include "piglit-util-gl.h"
PIGLIT_GL_TEST_CONFIG_BEGIN
config.supports_gl_compat_version = 20;
config.window_visual = PIGLIT_GL_VISUAL_DOUBLE |
PIGLIT_GL_VISUAL_RGBA;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
static const char vert_shader_text[] =
"#extension GL_ARB_uniform_buffer_object : require\n"
"\n"
"layout(std140) uniform;\n"
"uniform ub_info { \n"
" struct { \n"
" vec2 pos; \n"
diff --git a/tests/spec/arb_uniform_buffer_object/rendering-dsa.c
b/tests/spec/arb_uniform_buffer_object/rendering-dsa.c
index a0cb5f7..599a6c3 100644
--- a/tests/spec/arb_uniform_buffer_object/rendering-dsa.c
+++ b/tests/spec/arb_uniform_buffer_object/rendering-dsa.c
@@ -26,20 +26,21 @@
* Test rendering with UBOs. We draw four squares with different
positions,
* sizes, rotations and colors where those parameters come from UBOs.
*/
#include "piglit-util-gl.h"
PIGLIT_GL_TEST_CONFIG_BEGIN
config.supports_gl_core_version = 31;
config.window_visual = PIGLIT_GL_VISUAL_DOUBLE |
PIGLIT_GL_VISUAL_RGBA;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
static const char vert_shader_text[] =
"#version 140\n"
"in vec4 piglit_vertex;\n"
"layout(std140) uniform;\n"
"uniform ub_pos_size { vec2 pos; float size; };\n"
"uniform ub_rot {float rotation; };\n"
"\n"
diff --git a/tests/spec/arb_uniform_buffer_object/rendering.c
b/tests/spec/arb_uniform_buffer_object/rendering.c
index 20c86b2..f5b1e7f 100644
--- a/tests/spec/arb_uniform_buffer_object/rendering.c
+++ b/tests/spec/arb_uniform_buffer_object/rendering.c
@@ -26,20 +26,21 @@
* Test rendering with UBOs. We draw four squares with different
positions,
* sizes, rotations and colors where those parameters come from UBOs.
*/
#include "piglit-util-gl.h"
PIGLIT_GL_TEST_CONFIG_BEGIN
config.supports_gl_compat_version = 20;
config.window_visual = PIGLIT_GL_VISUAL_DOUBLE |
PIGLIT_GL_VISUAL_RGBA;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
static const char vert_shader_text[] =
"#extension GL_ARB_uniform_buffer_object : require\n"
"\n"
"layout(std140) uniform;\n"
"uniform ub_pos_size { vec2 pos; float size; };\n"
"uniform ub_rot {float rotation; };\n"
"\n"
diff --git a/tests/spec/arb_uniform_buffer_object/row-major.c
b/tests/spec/arb_uniform_buffer_object/row-major.c
index c7388c6..e6ec7d9 100644
--- a/tests/spec/arb_uniform_buffer_object/row-major.c
+++ b/tests/spec/arb_uniform_buffer_object/row-major.c
@@ -47,20 +47,21 @@
*
* results in the qualification being column_major."
*/
#include "piglit-util-gl.h"
PIGLIT_GL_TEST_CONFIG_BEGIN
config.supports_gl_compat_version = 10;
config.window_visual = PIGLIT_GL_VISUAL_RGBA |
PIGLIT_GL_VISUAL_DOUBLE;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
static const char *source =
"#extension GL_ARB_uniform_buffer_object : enable\n"
"\n"
"/* Use std140 to avoid needing to ref every single uniform */\n"
"layout(std140) uniform;\n"
"\n"
"layout(column_major) uniform a {\n"
diff --git
a/tests/spec/arb_uniform_buffer_object/uniformblockbinding.c
b/tests/spec/arb_uniform_buffer_object/uniformblockbinding.c
index 9676826..8ae47d1 100644
--- a/tests/spec/arb_uniform_buffer_object/uniformblockbinding.c
+++ b/tests/spec/arb_uniform_buffer_object/uniformblockbinding.c
@@ -58,20 +58,21 @@
#include "piglit-util-gl.h"
PIGLIT_GL_TEST_CONFIG_BEGIN
config.supports_gl_compat_version = 10;
config.window_width = 10;
config.window_height = 10;
config.window_visual = PIGLIT_GL_VISUAL_RGBA |
PIGLIT_GL_VISUAL_DOUBLE;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
void
piglit_init(int argc, char **argv)
{
int i;
GLuint prog;
const char *source =
"#extension GL_ARB_uniform_buffer_object : enable\n"
@@ -128,29 +129,31 @@ piglit_init(int argc, char **argv)
if (binding != 0) {
fprintf(stderr,
"Relinked program should have binding[%d] = %d, "
"saw %d\n",
i, 0, binding);
pass = false;
}
}
- glUniformBlockBinding(prog, blocks, 0);
- pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
+ if (!piglit_khr_no_error) {
+ glUniformBlockBinding(prog, blocks, 0);
+ pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
- glGetIntegerv(GL_MAX_UNIFORM_BUFFER_BINDINGS, &max_bindings);
- glUniformBlockBinding(prog, 0, max_bindings);
- pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
+ glGetIntegerv(GL_MAX_UNIFORM_BUFFER_BINDINGS, &max_bindings);
+ glUniformBlockBinding(prog, 0, max_bindings);
+ pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
- glUniformBlockBinding(0xd0d0, 0, 0);
- pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
+ glUniformBlockBinding(0xd0d0, 0, 0);
+ pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass;
+ }
glDeleteProgram(prog);
piglit_report_result(pass ? PIGLIT_PASS : PIGLIT_FAIL);
}
enum piglit_result piglit_display(void)
{
/* UNREACHED */
return PIGLIT_FAIL;