[Mesa-dev] [PATCH 0/5] ARB_internalformat_query2 support for OpenGL ES and other fixes

Alejandro Piñeiro apinheiro at igalia.com
Fri May 13 14:57:02 UTC 2016

Earlier this year the support for ARB_internalformat_query2 has landed
[1][2], initially only for desktop GL.

But looking more carefully to the spec [3], we found the following:


     OpenGL 2.0 or OpenGL ES 2.0 is required"

Note the *or*. Additionally the spec list other GL ES 2.0/3.0
dependencies. So that means that the extension can be also applied to
GL ES 2.0/3.0. FWIW, this mistake is common, as it also happens with
the khronos registry xml (khronos bug created [4]).

Fortunately, when the extension was initially implemented, we already
took into account most of the GL ES dependencies defined at the spec,
so we don't need a lot of changes on mesa now. There are more on the piglit
tests (I will send a series for piglit in short).

So this series include two patches that provides the support of this
extension in OpenGL ES:

 * [PATCH 4/5] mesa/glformats: add desktop gl checks on _mesa_base_tex_format
 * [PATCH 5/5] mesa/main: expose ARB_internalformat_query2 on ES2.

The other three patches are not related with OpenGL ES, but I think
that it is better/tidier to keep all the unreviewed patches for
ARB_internalformat_query2 on the same series. Two of those three were
sent at the beginning of the month [5] (so it is technically a

As mentioned, I will send in short a equivalent series for piglit. It
is worth to mention that with this series there will be two deqp tests
that will start to fail:
  * deqp-gles3 at functional@negative_api at state@get_internalformativ
  * deqp-gles31 at functional@debug at negative_coverage@get_error at state@get_internalformativ

And two warnings:
  * deqp-gles31 at functional@debug at negative_coverage@callbacks at state@get_internalformativ
  * deqp-gles31 at functional@debug at negative_coverage@log at state@get_internalformativ

This is caused because those tests are checking that
GetInternalformativ returns error for some pname/target/internalformat
that were wrong with query1 but are not anymore with query2. I
provided patches to solve this problem [6][7]

Best regards

[1] https://lists.freedesktop.org/archives/mesa-dev/2016-February/106397.html
[2] https://lists.freedesktop.org/archives/mesa-dev/2016-March/108956.html
[3] https://www.opengl.org/registry/specs/ARB/internalformat_query2.txt
[4] https://www.khronos.org/bugzilla/show_bug.cgi?id=1496
[5] https://lists.freedesktop.org/archives/mesa-dev/2016-May/115736.html
[6] https://android-review.googlesource.com/#/c/229484/
[7] https://android-review.googlesource.com/#/c/229485/

Alejandro Piñeiro (5):
  i965/formatquery: remove INTERNALFORMAT_PREFERRED implementation
  mesa/formatquery: add a comment to clarify INTERNALFORMAT_PREFERRED
  mesa/formatquery: expand NUM_SAMPLE_COUNTS OpenGL ES comment
  mesa/glformats: add desktop gl checks on _mesa_base_tex_format
  mesa/main: expose ARB_internalformat_query2 on ES2.

 src/mapi/glapi/gen/ARB_internalformat_query2.xml |  2 +-
 src/mesa/drivers/dri/i965/brw_formatquery.c      | 71 ----------------------
 src/mesa/main/extensions_table.h                 |  2 +-
 src/mesa/main/formatquery.c                      |  8 ++-
 src/mesa/main/glformats.c                        | 76 +++++++++++++++++++-----
 5 files changed, 71 insertions(+), 88 deletions(-)


More information about the mesa-dev mailing list