[Piglit] [PATCH 00/21] Tests for ARB_internalformat_query2 extension
Alejandro Piñeiro
apinheiro at igalia.com
Thu Mar 3 18:44:10 UTC 2016
On 02/03/16 09:49, Alejandro Piñeiro wrote:
> The series on mesa that implements the feature got a review, mostly
> accepting it, pending two small things:
>
> https://lists.freedesktop.org/archives/mesa-dev/2016-March/108956.html
>
> So here another ping for the piglit series, as it would be good to have
> the tests for the upcoming support on mesa.
And now the series was pushed on master. Note that means that query1
api-errors test will. That problem is managed by the first commit in
this series.
Best regards
> Thanks in advance
>
>
> On 22/01/16 17:05, Alejandro Piñeiro wrote:
>> This series provides the tests for the ARB_internalformat_query2
>> extension:
>>
>> https://www.opengl.org/registry/specs/ARB/internalformat_query2.txt
>>
>> The corresponding bug is being tracked at:
>>
>> https://bugs.freedesktop.org/show_bug.cgi?id=92687
>>
>> The difference with the RFC series that I sent at the beginning of the
>> week is that adds proper dependency checking and some minor
>> cleanups. I already marked as superseeded that series on patchwork.
>>
>> Notes:
>>
>> * It used arb_internalformat_query tests as a base.
>>
>> * The first commit removes the references to
>> ARB_internalformat_query2 on the ARB_internalformat_query
>> tests. query2 not only expands the possible attribute values
>> GetInternalformativ can receive, but also changes its behaviour, so
>> we concluded that it would be better to keep both test suites
>> independent.
>>
>> * common.c defines a test_data structure, which main purpose is
>> to abstract the fact that we have now two really similar methods
>> (GetInternalformativ and GetInternalformati64v) which only
>> difference is the type of the params parameter. So the tests would
>> not worry about castings or which specific method is being
>> called. One could argue that at this point it deserves a C++ class,
>> but we preferred to stick to C.
>>
>> * For several pnames there aren't too much to test, because after
>> all, we are talking about an specification that returns values that
>> depend on the current implementation/hw. For that reason several
>> pnames are handled by a generic test (generic-pname-checks) that
>> only ensures that the returned values are among the possible values
>> defined by the spec, or the defined unsupported response if that is
>> the case.
>>
>> * The dependencies are being managed somewhat different that in other
>> extensions. In most extensions, the dependencies with other
>> extensions are a "hard" dependency, so one given extension is
>> needed for a different extension. With ARB_internalformat_query2 we
>> have "soft" dependencies, in the sense that there are dependencies
>> with other extensions, but lacking those dependencies doesn't
>> prevent query2 to be supported, but just affects the returned value
>> for some pnames. For example:
>>
>> "Dependencies on EXT_texture_sRGB
>>
>> If EXT_texture_sRGB or equivalent functionality is not
>> supported, queries for the SRGB_READ <pname> and for sRGB
>> internalformats return the appropriate "unsupported" response."
>>
>> So in most cases, if some dependency is not fullfilled, instead of
>> skipping, it checks that it returns the unsupported response
>> defined for that pname.
>>
>> * All the 13 tests passes with the patch series that was proposed
>> this week for Mesa [1]. They were also run against NVIDIA
>> proprietary drivers (NVIDIA GeForce GTX 950 - NVIDIA 352.55). In
>> that case, the pass/fail ratio is 5/8. What is failing is explained
>> on the commit message.
>>
>> cheers,
>> Alejandro (on behalf of the team that worked on this)
>>
>> [1] http://lists.freedesktop.org/archives/mesa-dev/2016-January/105277.html
>>
>> Alejandro Piñeiro (18):
>> arb_internalformat_query: remove references to
>> arb_internalformat_query2
>> arb_internalformat_query2: query2 api-error check
>> arb_internalformat_query2: test for the most generic pname checks
>> arb_internalformat_query2: test for SAMPLES and NUM_SAMPLE_COUNTS
>> pnames
>> arb_internalformat_query2: test for INTERNALFORMAT_{X}_SIZE pnames
>> arb_internalformat_query2: test for INTERNALFORMAT_{X}_TYPE pnames
>> arb_internalformat_query2: IMAGE_FORMAT_COMPATIBILITY_TYPE test
>> arb_internalformat_query2: max dimensions related checks
>> arb_internalformat_query2: check returned max-dimensions values
>> against GetInteger
>> arb_internalformat_query2: add MAX_COMBINED_DIMENSIONS subtest to
>> max-dimensions
>> arb_internalformat_query2: add a generic check for
>> TEXTURE_IMAGE_FORMAT
>> arb_internalformat_query2: add a generic check for TEXTURE_IMAGE_TYPE
>> arb_internalformat_query2: add generic check for
>> GET_TEXTURE_IMAGE_FORMAT
>> arb_internalformat_query2: add generic check for
>> GET_TEXTURE_IMAGE_TYPE
>> arb_internalformat_query2: test for COLOR_ENCODING
>> arb_internalformat_query2: test for TEXTURE_COMPRESSED_BLOCK_<X>
>> arb_internalformat_query2: port of query1 minmax test to query2
>> arb_internalformat_query2: test for FILTER pname
>>
>> Antia Puentes (3):
>> arb_internalformat_query2: Check if the resource is supported in
>> max-dimensions
>> arb_internalformat_query2: Added tests for image textures
>> arb_internalformat_query2: Added tests for
>> {COLOR,DEPTH,STENCIL}_COMPONENTS
>>
>> tests/all.py | 17 +
>> tests/spec/CMakeLists.txt | 1 +
>> tests/spec/arb_internalformat_query/api-errors.c | 35 +-
>> tests/spec/arb_internalformat_query/minmax.c | 3 +
>> .../arb_internalformat_query2/CMakeLists.gl.txt | 25 +
>> .../spec/arb_internalformat_query2/CMakeLists.txt | 1 +
>> tests/spec/arb_internalformat_query2/api-errors.c | 179 ++++
>> .../arb_internalformat_query2/color-encoding.c | 209 +++++
>> tests/spec/arb_internalformat_query2/common.c | 909 +++++++++++++++++++++
>> tests/spec/arb_internalformat_query2/common.h | 362 ++++++++
>> tests/spec/arb_internalformat_query2/filter.c | 243 ++++++
>> .../arb_internalformat_query2/format-components.c | 281 +++++++
>> .../generic-pname-checks.c | 420 ++++++++++
>> .../image-format-compatibility-type.c | 172 ++++
>> .../spec/arb_internalformat_query2/image-texture.c | 209 +++++
>> .../internalformat-size-checks.c | 196 +++++
>> .../internalformat-type-checks.c | 212 +++++
>> .../arb_internalformat_query2/max-dimensions.c | 690 ++++++++++++++++
>> tests/spec/arb_internalformat_query2/minmax.c | 386 +++++++++
>> .../arb_internalformat_query2/samples-pnames.c | 300 +++++++
>> .../texture-compressed-block.c | 202 +++++
>> 21 files changed, 5020 insertions(+), 32 deletions(-)
>> create mode 100644 tests/spec/arb_internalformat_query2/CMakeLists.gl.txt
>> create mode 100644 tests/spec/arb_internalformat_query2/CMakeLists.txt
>> create mode 100644 tests/spec/arb_internalformat_query2/api-errors.c
>> create mode 100644 tests/spec/arb_internalformat_query2/color-encoding.c
>> create mode 100644 tests/spec/arb_internalformat_query2/common.c
>> create mode 100644 tests/spec/arb_internalformat_query2/common.h
>> create mode 100644 tests/spec/arb_internalformat_query2/filter.c
>> create mode 100644 tests/spec/arb_internalformat_query2/format-components.c
>> create mode 100644 tests/spec/arb_internalformat_query2/generic-pname-checks.c
>> create mode 100644 tests/spec/arb_internalformat_query2/image-format-compatibility-type.c
>> create mode 100644 tests/spec/arb_internalformat_query2/image-texture.c
>> create mode 100644 tests/spec/arb_internalformat_query2/internalformat-size-checks.c
>> create mode 100644 tests/spec/arb_internalformat_query2/internalformat-type-checks.c
>> create mode 100644 tests/spec/arb_internalformat_query2/max-dimensions.c
>> create mode 100644 tests/spec/arb_internalformat_query2/minmax.c
>> create mode 100644 tests/spec/arb_internalformat_query2/samples-pnames.c
>> create mode 100644 tests/spec/arb_internalformat_query2/texture-compressed-block.c
>>
More information about the Piglit
mailing list