[Mesa-dev] [PATCH v2] mesa: Fix GLES2 OES float texture framebuffer rendering.

Nick Kreeger nick.kreeger at gmail.com
Wed Dec 12 03:08:10 UTC 2018


Please ignore this patch - I accidentally had my conditionals backwards for
half/float float extension checking.

The V3 patch is the main one.

On Tue, Dec 11, 2018 at 7:02 PM Nick Kreeger <nick.kreeger at gmail.com> wrote:

> This change enables GLES2 to render float/half-float textures to a
> framebuffer when the appropriate OES extensions are available.
>
> This commit regressed OES GLES2 float texture rendering:
>
> https://gitlab.freedesktop.org/mesa/mesa/commit/e333035c47a6a4cc88f0f9ca2bced500538bebae
> ---
>  src/mesa/main/fbobject.c | 20 +++++++++++---------
>  1 file changed, 11 insertions(+), 9 deletions(-)
>
> diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
> index 23e4939619..8b83297a12 100644
> --- a/src/mesa/main/fbobject.c
> +++ b/src/mesa/main/fbobject.c
> @@ -869,15 +869,17 @@ test_attachment_completeness(const struct gl_context
> *ctx, GLenum format,
>              return;
>           }
>
> -         /* OES_texture_float allows creation and use of floating point
> -          * textures with GL_FLOAT, GL_HALF_FLOAT but it does not allow
> -          * these textures to be used as a render target, this is done via
> -          * GL_EXT_color_buffer(_half)_float with set of new sized types.
> -          */
> -         if (_mesa_is_gles(ctx) && (texObj->_IsFloat ||
> texObj->_IsHalfFloat)) {
> -            att_incomplete("bad internal format");
> -            att->Complete = GL_FALSE;
> -            return;
> +         if (_mesa_is_gles(ctx)) {
> +           /**
> +            * GL ES 2 will allow GL_FLOAT and GL_HALF_FLOAT to render as a
> +            * target when the appropriate OES_* extensions are available.
> +            */
> +           if ((texObj->_IsFloat &&
> !_mesa_has_OES_texture_half_float(ctx)) ||
> +               (texObj->_IsHalfFloat &&
> !_mesa_has_OES_texture_float(ctx))) {
> +             att_incomplete("bad internal format");
> +             att->Complete = GL_FALSE;
> +             return;
> +           }
>           }
>        }
>        else if (format == GL_DEPTH) {
> --
> 2.17.1
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20181211/7d1be926/attachment.html>


More information about the mesa-dev mailing list