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