summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2016-06-10 12:57:06 -0600
committerBrian Paul <brianp@vmware.com>2016-06-14 16:39:49 -0600
commit99f88d030bbe4859255596c248a68625fc3a2afa (patch)
tree525baaebac1d008a974591afebbb186171e15999
parente4a3f0b28c5c02ee6c7c4a889e2675c26521b60a (diff)
arb_texture_view-targets: query GL_MAX_COLOR_TEXTURE_SAMPLES
Pass the result to glTexStorage2D/3DMultisample() instead of using hard-coded values. This allows the test to fully pass with llvmpipe where GL_MAX_COLOR_TEXTURE_SAMPLES=1. Signed-off-by: Brian Paul <brianp@vmware.com>
-rw-r--r--tests/spec/arb_texture_view/targets.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/tests/spec/arb_texture_view/targets.c b/tests/spec/arb_texture_view/targets.c
index bbaa7366e..ec28e0e97 100644
--- a/tests/spec/arb_texture_view/targets.c
+++ b/tests/spec/arb_texture_view/targets.c
@@ -107,11 +107,15 @@ test_target_errors(GLenum target)
GL_TEXTURE_2D_MULTISAMPLE,
GL_TEXTURE_2D_MULTISAMPLE_ARRAY
};
-
- if (piglit_is_extension_supported("GL_ARB_texture_storage_multisample"))
+ GLsizei texSamples;
+
+ if (piglit_is_extension_supported("GL_ARB_texture_storage_multisample")) {
numIllegalTargets = ARRAY_SIZE(illegalTargets);
- else
+ glGetIntegerv(GL_MAX_COLOR_TEXTURE_SAMPLES, &texSamples);
+ } else {
numIllegalTargets = ARRAY_SIZE(illegalTargets) -2;
+ texSamples = 1;
+ }
glGenTextures(1, &tex); /* orig tex */
glBindTexture(target, tex);
@@ -167,16 +171,16 @@ test_target_errors(GLenum target)
GL_TEXTURE_CUBE_MAP_ARRAY, 0);
break;
case GL_TEXTURE_2D_MULTISAMPLE:
- glTexStorage2DMultisample(target, 2, GL_RGBA8, width, height,
- GL_TRUE);
+ glTexStorage2DMultisample(target, texSamples, GL_RGBA8,
+ width, height, GL_TRUE);
numTargets = update_valid_arrays(legalTargets, illegalTargets,
numIllegalTargets,
GL_TEXTURE_2D_MULTISAMPLE,
GL_TEXTURE_2D_MULTISAMPLE_ARRAY, 0);
break;
case GL_TEXTURE_2D_MULTISAMPLE_ARRAY:
- glTexStorage3DMultisample(target, 4, GL_RGBA8, width, height,
- depth, GL_TRUE);
+ glTexStorage3DMultisample(target, texSamples, GL_RGBA8,
+ width, height, depth, GL_TRUE);
numTargets = update_valid_arrays(legalTargets, illegalTargets,
numIllegalTargets,
GL_TEXTURE_2D_MULTISAMPLE,