blob: 2dc33096b0d6b91a6140a0055a31b5450a65d711 [file] [log] [blame]
-------------------------------------------------------------------------
drawElements Quality Program Test Specification
-----------------------------------------------
Copyright 2014 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-------------------------------------------------------------------------
Texture gather tests
Tests:
+ dEQP-GLES31.functional.texture.gather.*
Includes:
+ textureGather, textureGatherOffset and textureGatherOffsets tests
- Also dynamic-offset variant of textureGatherOffset
+ All supported texture types
- 2D
- 2D array
- Cube map for offset-less variant only (not defined for others)
+ rgba8 unorm, uint and int color formats
+ depth32f format for shadow variants
- LESS and GREATER comparison functions
+ For color textures, test each value (0 to 3) for the color component
argument, as well as no argument (implicit 0)
+ Power-of-two and non-power-of-two texture sizes
- Test each wrap mode (clamp to edge, repeat, mirrored repeat) for both S and
T coordinates
+ Texture swizzle (for color formats)
- Test each swizzle source for each color component
+ Test that filter modes have no effect (assuming texture is still complete)
+ Base level
+ For color textures, test gathering from incomplete texture
+ For offset(s) variants, test various offsets from both the spec-required
minimum range as well as implementation's range
Excludes:
+ Rest of texture formats
+ Rest of depth comparison functions
+ Negative tests
Description:
The texture gather test group contains tests for the textureGather* group of
functions.
Each test case creates and sets up a 2d, 2d array or cube texture with unorm,
int, uint or depth format. A shader program is created that uses the appropriate
textureGather* on that texture in the fragment shader, and outputs the resulting
color as a fragment output. A framebuffer object with a renderbuffer object as
its color attachment is used; the renderbuffer's format matches that of the
texture (except for depth formats, for which rgba8 is used). The resulting image
is read with glReadPixels(), and verified with routines that take coordinate
imprecisions into account. Multiple shaders and rendering iterations are used,
so that different color component and/or offset arguments to the textureGather*
function can be tested.
The textureGatherOffsets functions, as well as textureGatherOffset with dynamic
offset, are tested if the GL_EXT_gpu_shader5 extension is supported.