[Piglit] [PATCH 00/21] Tests for ARB_internalformat_query2 extension

Alejandro Piñeiro apinheiro at igalia.com
Thu Mar 3 19:30:19 UTC 2016



On 03/03/16 19:44, Alejandro Piñeiro wrote:
> 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
                         ^ will fail

sorry for the noise.
> 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
>>>
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/piglit



More information about the Piglit mailing list