Add float texture formats
This implement step1 of what I outlined in #4232 - adding more GdkMemoryFormat
s and a gdk_texture_download_float()
function to get at the data.
Summary of what got done:
-
An internal
gdk_texture_download_texture()
was added that downloads a memory texture in any format. GL implements that by downloading the texture in the format GL keeps it in. -
That method was used to implement (a) fallbacks for GLES and (b)
gdk_gl_texture_release()
. -
gdk_gl_texture_download()
now usesglGetTexImage() instead of
glReadPixels()via
gdk_cairo_draw_from_gl()`. -
No Cairo is used by GdkGLTexture anymore now. Cairo GL functions are now deprecated.
-
gdk_texture_download_float()
was added to download HDR textures. -
6 new entries to
GdkMemoryFormat
were added: 16bit unsigned, 16bit half-float and 32bit float for RGB and premultiplied RGBA.