On 11/12/2011 02:11 PM, vlj wrote:
---
  src/mesa/main/api_exec.c          |    2 +
  src/mesa/main/bufferobj.c         |   48 +++++++++++++++++++++++++++++++++++++
  src/mesa/main/bufferobj.h         |   12 +++++++++
  src/mesa/main/transformfeedback.c |   22 ++++------------
  src/mesa/main/transformfeedback.h |    8 +++---
  5 files changed, 72 insertions(+), 20 deletions(-)

I think it would be cleaner if you simply relocated the functions from transformfeedback.c to bufferobj.c

Then, I'd do some minor re-org in those functions to put the transform feedback-specific checks in one place. For example, in _mesa_BindBufferRange():

   switch (target) {
   case GL_TRANSFORM_FEEDBACK_BUFFER:
      if (!ctx->Extensions.EXT_transform_feedback) {
         _mesa_error(GL_INVALID_ENUM);
        return;
      }
      if (ctx->TransformFeedback.CurrentObject->Active) {
         _mesa_error(ctx, GL_INVALID_OPERATION,
                     "glBindBufferRange(transform feedback active)");
         return;
      }
      break;
   /* XXX someday add:
   case GL_UNIFORM_BUFFER:
      do UBO error checks here.
      break;
   */
   default:
      _mesa_error(GL_INVALID_ENUM);
      return;
   }


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

Reply via email to