On 12/12/18 8:42 AM, Tapani Pälli wrote:
On 12/12/18 5:05 AM, Nick Kreeger 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
Which test/app got regressed? I'm curious because this commit also fixed
a failing conformance test that explicitly tests that the fbo with float
attachment should be marked incomplete.
I'm against this change because these same tests will start to fail if
we allow this:
https://mesa-ci.01.org/tpalli/builds/652/group/63a9f0ea7bb98050796b649e85481845
I believe the rule is that you should be able to render to sized formats
such as RGBA32F (with modern GLES) but not to unsized formats such as
GL_FLOAT.
---
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..cedfc3d81b 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->_IsHalfFloat &&
!_mesa_has_OES_texture_half_float(ctx)) ||
+ (texObj->_IsFloat &&
!_mesa_has_OES_texture_float(ctx))) {
+ att_incomplete("bad internal format");
+ att->Complete = GL_FALSE;
+ return;
+ }
}
}
else if (format == GL_DEPTH) {
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev