You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The OpenGL ES 3.2 spec, section 8.14.4 ("Manual Mipmap Generation") defines some additional requirements for GenerateMipmap() that the corresponding part of the OpenGL 4.6 compatibility spec doesn't include:
An INVALID_OPERATION error is generated if target is TEXTURE_-
CUBE_MAP or TEXTURE_CUBE_MAP_ARRAY, and the texture bound to target
is not cube complete or cube array complete, respectively.
There's no indication in section 8.14.4 that mipmap generation isn't supported for all formats (although with an undefined filtering function).
However, OpenGL 4.6 spec, section 22.3.1 also includes the MANUAL_GENERATE_MIPMAP query, that seems to allow implementations to report lacking support for some (if not all?) formats. However, the CTS does not check formats before testing if mipmapping works. The CTS also seems to assume that a box-filter, which isn't mandated by the spec (although it's recommended).
So, my questions are:
Is GenerateMipmap() supposed to to work for all core OpenGL 4.6 internal formats?
If "yes", when is the MANUAL_GENERATE_MIPMAP-query allowed to report NONE?
If "no", when is the MANUAL_GENERATE_MIPMAP-query required to report something else than NONE?
If "no", is it about time to add a list of required formats to the spec? Since the CTS currently assumes a set of supported formats, all conformant products should already support a specific set, no?
The text was updated successfully, but these errors were encountered:
There's no indication in section 8.14.4 that mipmap generation isn't supported for all formats (although with an undefined filtering function).
There are some format constraints for ES given this:
An INVALID_OPERATION error is generated if the level_base array was not specified with an unsized internal format from table 8.3 or a sized internal format that is both color-renderable and texture-filterable according to table 8.10.
That doesn't answer any of the questions for GL 4.6, though. It looks like MANUAL_GENERATE_MIPMAP was added in GL_ARB_internalformat_query2, but I haven't been able to dig up the discussion that led to that (and the spec doesn't say very much about what it means).
I haven't read it all, though this bit seems relevant (MIPMAPS was later renamed to MANUAL_GENERATE_MIPMAP):
MIPMAPS (do we have any texture formats that don't support mipmapping?)
Maybe not texture formats alone, but when you factor in you have cases where mipmapping is not supported (i.e. rectangle and multisample textures).
The OpenGL ES 3.2 spec, section 8.14.4 ("Manual Mipmap Generation") defines some additional requirements for
GenerateMipmap()
that the corresponding part of the OpenGL 4.6 compatibility spec doesn't include:There's no indication in section 8.14.4 that mipmap generation isn't supported for all formats (although with an undefined filtering function).
However, OpenGL 4.6 spec, section 22.3.1 also includes the
MANUAL_GENERATE_MIPMAP
query, that seems to allow implementations to report lacking support for some (if not all?) formats. However, the CTS does not check formats before testing if mipmapping works. The CTS also seems to assume that a box-filter, which isn't mandated by the spec (although it's recommended).So, my questions are:
GenerateMipmap()
supposed to to work for all core OpenGL 4.6 internal formats?MANUAL_GENERATE_MIPMAP
-query allowed to reportNONE
?MANUAL_GENERATE_MIPMAP
-query required to report something else thanNONE
?The text was updated successfully, but these errors were encountered: