On 01.08.2017 00:15, Chris Wilson wrote:
Quoting Chris Wilson (2017-07-31 22:51:25)
Luminance/Intensity when converted to RGB should be replicated to fill
the RGB channels, but they differ on how the alpha channel is filled, as
luminance is set to 1 (unless alpha is supplied) and intensity is
replicated into alpha as well.

https://www.khronos.org/opengl/wiki/Image_Format:

     Legacy Image Formats

     Warning: This section describes legacy OpenGL APIs that have been
     removed from core OpenGL 3.1 and above (they are only deprecated in
     OpenGL 3.0). It is recommended that you not use this functionality in
     your programs.

     As with other deprecated functionality, it is advised that you not rely
     on these features.

     Luminance and intensity formats are color formats. They are one or two
     channel formats like RED or RG, but they specify particular behavior.

     When a GL_RED format is sampled in a shader, the resulting vec4 is (Red,
     0, 0, 1). When a GL_INTENSITY format is sampled, the resulting vec4 is
     (I, I, I, I). The single intensity value is read into all four
     components. For GL_LUMINANCE, the result is (L, L, L, 1). There is also
     a two-channel GL_LUMINANCE_ALPHA format, which gives (L, L, L, A).

v2: luminance -> xxx1, intensity -> xxxx, luminance_alpha -> xxxw

If that quote is the expected behaviour for glReadPixels and
glGetTexSubImage, there's a similar stanza to fix in texgetimage.c
(As well as the piglit tests to update.)

With a quick grep through VK-GL-CTS I didn't anything to refer to.

Is it even possible to have an L/I texture bound as a framebuffer? I would expect an attempt to do that to fail the color-renderability check.

Do you have a real application that tries to do this? If not, I'd rather we reject such attempts and maybe add a piglit test to that effect if it doesn't exist -- and then get rid of this code in readpix.c entirely.

I think you're right though that texgetimage.c needs to support this.

Cheers,
Nicolai


-Chris
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev



--
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to