Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1.  
  2. /*
  3.  * Mesa 3-D graphics library
  4.  *
  5.  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
  6.  *
  7.  * Permission is hereby granted, free of charge, to any person obtaining a
  8.  * copy of this software and associated documentation files (the "Software"),
  9.  * to deal in the Software without restriction, including without limitation
  10.  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  11.  * and/or sell copies of the Software, and to permit persons to whom the
  12.  * Software is furnished to do so, subject to the following conditions:
  13.  *
  14.  * The above copyright notice and this permission notice shall be included
  15.  * in all copies or substantial portions of the Software.
  16.  *
  17.  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  18.  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  19.  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
  20.  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
  21.  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
  22.  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  23.  * OTHER DEALINGS IN THE SOFTWARE.
  24.  */
  25.  
  26.  
  27. #ifndef API_VALIDATE_H
  28. #define API_VALIDATE_H
  29.  
  30. #include <stdbool.h>
  31. #include "glheader.h"
  32.  
  33. struct gl_buffer_object;
  34. struct gl_context;
  35. struct gl_transform_feedback_object;
  36.  
  37.  
  38. extern GLuint
  39. _mesa_max_buffer_index(struct gl_context *ctx, GLuint count, GLenum type,
  40.                        const void *indices,
  41.                        struct gl_buffer_object *elementBuf);
  42.  
  43.  
  44. extern bool
  45. _mesa_is_valid_prim_mode(struct gl_context *ctx, GLenum mode);
  46.  
  47. extern GLboolean
  48. _mesa_valid_prim_mode(struct gl_context *ctx, GLenum mode, const char *name);
  49.  
  50.  
  51. extern GLboolean
  52. _mesa_validate_DrawArrays(struct gl_context *ctx,
  53.                           GLenum mode, GLint start, GLsizei count);
  54.  
  55. extern GLboolean
  56. _mesa_validate_DrawElements(struct gl_context *ctx,
  57.                             GLenum mode, GLsizei count, GLenum type,
  58.                             const GLvoid *indices, GLint basevertex);
  59.  
  60. extern GLboolean
  61. _mesa_validate_MultiDrawElements(struct gl_context *ctx,
  62.                                  GLenum mode, const GLsizei *count,
  63.                                  GLenum type, const GLvoid * const *indices,
  64.                                  GLuint primcount, const GLint *basevertex);
  65.  
  66. extern GLboolean
  67. _mesa_validate_DrawRangeElements(struct gl_context *ctx, GLenum mode,
  68.                                  GLuint start, GLuint end,
  69.                                  GLsizei count, GLenum type,
  70.                                  const GLvoid *indices, GLint basevertex);
  71.  
  72.  
  73. extern GLboolean
  74. _mesa_validate_DrawArraysInstanced(struct gl_context *ctx, GLenum mode, GLint first,
  75.                                    GLsizei count, GLsizei primcount);
  76.  
  77. extern GLboolean
  78. _mesa_validate_DrawElementsInstanced(struct gl_context *ctx,
  79.                                      GLenum mode, GLsizei count, GLenum type,
  80.                                      const GLvoid *indices, GLsizei primcount,
  81.                                      GLint basevertex);
  82.  
  83. extern GLboolean
  84. _mesa_validate_DrawTransformFeedback(struct gl_context *ctx,
  85.                                      GLenum mode,
  86.                                      struct gl_transform_feedback_object *obj,
  87.                                      GLuint stream,
  88.                                      GLsizei numInstances);
  89.  
  90.  
  91. #endif
  92.