Mesa (master): mesa: allow xfb to be active in GLES when geometry shader is enabled.

Ilia Mirkin imirkin at kemper.freedesktop.org
Tue May 24 00:04:52 UTC 2016


Module: Mesa
Branch: master
Commit: 2dabd4970477e956dd353be1a24e81aa1f0c5901
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2dabd4970477e956dd353be1a24e81aa1f0c5901

Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Sat May 21 19:43:42 2016 -0400

mesa: allow xfb to be active in GLES when geometry shader is enabled.

OES_geometry_shader has wording to allow xfb when using Draw*Indirect
and DrawElements.

Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>

---

 src/mesa/main/api_validate.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/mesa/main/api_validate.c b/src/mesa/main/api_validate.c
index a714c0a..c7625c3 100644
--- a/src/mesa/main/api_validate.c
+++ b/src/mesa/main/api_validate.c
@@ -391,7 +391,8 @@ validate_DrawElements_common(struct gl_context *ctx,
     *   DrawElementsInstanced, and DrawRangeElements while transform feedback
     *   is active and not paused, regardless of mode.
     */
-   if (_mesa_is_gles3(ctx) && _mesa_is_xfb_active_and_unpaused(ctx)) {
+   if (_mesa_is_gles3(ctx) && !ctx->Extensions.OES_geometry_shader &&
+       _mesa_is_xfb_active_and_unpaused(ctx)) {
       _mesa_error(ctx, GL_INVALID_OPERATION,
                   "%s(transform feedback active)", caller);
       return false;
@@ -741,7 +742,8 @@ valid_draw_indirect(struct gl_context *ctx,
     *      "An INVALID_OPERATION error is generated if
     *      transform feedback is active and not paused."
     */
-   if (_mesa_is_gles31(ctx) && _mesa_is_xfb_active_and_unpaused(ctx)) {
+   if (_mesa_is_gles31(ctx) && !ctx->Extensions.OES_geometry_shader &&
+       _mesa_is_xfb_active_and_unpaused(ctx)) {
       _mesa_error(ctx, GL_INVALID_OPERATION,
                   "%s(TransformFeedback is active and not paused)", name);
    }




More information about the mesa-commit mailing list