1
0
Fork 0

cogl/gles: Use a premul required format for opaque fp16 Cogl formats

The opaque fp16 Cogl format variants need a required format that is
already premultiplied whereas the fp16 formats with an alpha channel can
be either straight or premult.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3914>

(cherry picked from commit d820fe030a)
This commit is contained in:
Sebastian Wick 2024-07-31 17:49:47 +02:00 committed by Robert Mader
parent eecec5a699
commit 66156236e2

View file

@ -349,7 +349,6 @@ _cogl_driver_pixel_format_to_gl (CoglContext *context,
&gltype);
break;
case COGL_PIXEL_FORMAT_RGBX_FP_16161616:
case COGL_PIXEL_FORMAT_RGBA_FP_16161616:
case COGL_PIXEL_FORMAT_RGBA_FP_16161616_PRE:
if (cogl_has_feature (context, COGL_FEATURE_ID_TEXTURE_HALF_FLOAT))
@ -364,14 +363,23 @@ _cogl_driver_pixel_format_to_gl (CoglContext *context,
}
break;
case COGL_PIXEL_FORMAT_RGBX_FP_16161616:
case COGL_PIXEL_FORMAT_BGRX_FP_16161616:
case COGL_PIXEL_FORMAT_BGRA_FP_16161616:
case COGL_PIXEL_FORMAT_XRGB_FP_16161616:
case COGL_PIXEL_FORMAT_ARGB_FP_16161616:
case COGL_PIXEL_FORMAT_XBGR_FP_16161616:
case COGL_PIXEL_FORMAT_ABGR_FP_16161616:
required_format =
_cogl_driver_pixel_format_to_gl (context,
COGL_PIXEL_FORMAT_RGBA_FP_16161616_PRE,
&glintformat,
&glformat,
&gltype);
break;
case COGL_PIXEL_FORMAT_BGRA_FP_16161616:
case COGL_PIXEL_FORMAT_BGRA_FP_16161616_PRE:
case COGL_PIXEL_FORMAT_ARGB_FP_16161616:
case COGL_PIXEL_FORMAT_ARGB_FP_16161616_PRE:
case COGL_PIXEL_FORMAT_ABGR_FP_16161616:
case COGL_PIXEL_FORMAT_ABGR_FP_16161616_PRE:
required_format =
_cogl_driver_pixel_format_to_gl (context,