On 08/22/2016 08:06 AM, Marek Olšák wrote:
From: Marek Olšák <marek.ol...@amd.com>

This is required by and fixes GL45-CTS.compute_shader.api-indirect.

I know it's silly, but it's the path of least resistence.
---
  src/mesa/main/api_validate.c | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/mesa/main/api_validate.c b/src/mesa/main/api_validate.c
index 384a8858..27c17fa 100644
--- a/src/mesa/main/api_validate.c
+++ b/src/mesa/main/api_validate.c
@@ -1102,40 +1102,40 @@ _mesa_validate_DispatchCompute(struct gl_context *ctx,
     return GL_TRUE;
  }

  static GLboolean
  valid_dispatch_indirect(struct gl_context *ctx,
                          GLintptr indirect,
                          GLsizei size, const char *name)
  {
     const uint64_t end = (uint64_t) indirect + size;

-   if (!check_valid_to_compute(ctx, name))
-      return GL_FALSE;
-
     /* From the OpenGL 4.3 Core Specification, Chapter 19, Compute Shaders:
      *
      * "An INVALID_VALUE error is generated if indirect is negative or is not a
      *  multiple of four."
      */
     if (indirect & (sizeof(GLuint) - 1)) {
        _mesa_error(ctx, GL_INVALID_VALUE,
                    "%s(indirect is not aligned)", name);
        return GL_FALSE;
     }

     if (indirect < 0) {
        _mesa_error(ctx, GL_INVALID_VALUE,
                    "%s(indirect is less than zero)", name);
        return GL_FALSE;
     }

+   if (!check_valid_to_compute(ctx, name))
+      return GL_FALSE;
+
     /* From the OpenGL 4.3 Core Specification, Chapter 19, Compute Shaders:
      *
      * "An INVALID_OPERATION error is generated if no buffer is bound to the
      *  DRAW_INDIRECT_BUFFER binding, or if the command would source data
      *  beyond the end of the buffer object."
      */
     if (!_mesa_is_bufferobj(ctx->DispatchIndirectBuffer)) {
        _mesa_error(ctx, GL_INVALID_OPERATION,
                    "%s: no buffer bound to DISPATCH_INDIRECT_BUFFER", name);
        return GL_FALSE;


Reviewed-by: Brian Paul <bri...@vmware.com>

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to