blob: 4f5a0bd7a3affcb53b898dbc6012da8c60171567 [file] [log] [blame]
Conformance Test
CTS_ARB_texture_filter_minmax
Contributors
Filip Demczewski, Mobica
Contacts
Filip Demczewski, Mobica (filip.demczewski 'at' mobica.com)
Status
In review
Version
November 17, 2016 (version 1)
Dependencies
OpenGL 3.3 is required.
ARB_texture_filter_minmax extension is required.
This specification is written against:
- ARB_texture_filter_minmax specification,
- OpenGL 4.5 (core) specification.
Overview
This tests verifies if functionality provided by ARB_texture_filter_minmax
works as expected:
* Verify if new texture and sampler parameter (TEXTURE_REDUCTION_MODE_ARB)
allows application to produce a filtered texel value by computing
component-wise minimum (MIN) or maximum (MAX).
* The filter parameters are used to identify the set of texels used to
produce a final filtered value. Verify if reduction mode identifies how
these texels are combined.
New Tests
New State Queries Test
* Test SamplerParameter{i f}{v},
SamplerParameterI{u}iv, GetSamplerParameter{i f}v,
GetSamplerParameterI{u}iv, TexParameter{i f}{v}, TexParameterI{u}iv,
GetTexParameter{i f}v, GetTexParameterI{u}iv, TextureParameter{i f}{v},
TextureParameterI{u}iv, GetTextureParameter{i f}v,
and GetTextureParameterI{u}iv queries for <pname>:
- TEXTURE_REDUCTION_MODE_ARB
Check default values and set manually.
Minification/Magnification Filtering Test
* Iterate through all supported targets and texture formats.
Iterate through TEXTURE_REDUCTION_MODE_ARB modes
(MIN, WEIGHTED_AVERAGE_ARB, MAX).
Compose texture where pixels have extreme values (0 and max).
Set LINEAR filtering.
Render polygon smaller or bigger than texture to a frame buffer.
Sum up pixel values - final result should increase with
each consecutive TEXTURE_REDUCTION_MODE_ARB mode.
When anisotropic texture filtering is enabled final filtered texel
value is computed by using implementation-dependent set of texels and
weights, so it cannot be tested.
Mipmap Minification Filtering Test
* Iterate through all supported targets
Iterate through TEXTURE_REDUCTION_MODE_ARB modes (MIN, MAX)
Iterate through filters (NEAREST_MIPMAP_LINEAR, LINEAR_MIPMAP_LINEAR)
Compose texture where pixels have extreme values (0 and max).
Set filtering.
Render polygon smaller than texture size to the frame buffer.
Sum up pixel values - final result should increase with
each consecutive TEXTURE_REDUCTION_MODE_ARB mode.
Support Test
* Test support for TEXTURE_REDUCTION_MODE_ARB by calling GetInternalFormat*
Support should be provided if:
- texture is not multisampled
- internal format of texture is GL_RED
- internal format of texture is GL_LUMINANCE
(if compatibility profile is supported)
- data type of texture is fixed- or floating-point
Revision History
Revision 1, 17 November, 2016 (Filip Demczewski)
- Intial version;
Revision 2, 22 November, 2016 (Filip Demczewski)
- Filtering tests change. Due to implementation-dependency the steps of
the test has been change to validate general differences between reduction
modes instead of validating each pixel separately.