Subversion Repositories Kolibri OS

Rev

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 bool
  39. _mesa_is_valid_prim_mode(struct gl_context *ctx, GLenum mode);
  40.  
  41. extern GLboolean
  42. _mesa_valid_prim_mode(struct gl_context *ctx, GLenum mode, const char *name);
  43.  
  44.  
  45. extern GLboolean
  46. _mesa_validate_DrawArrays(struct gl_context *ctx, GLenum mode, GLsizei count);
  47.  
  48. extern GLboolean
  49. _mesa_validate_DrawElements(struct gl_context *ctx,
  50.                             GLenum mode, GLsizei count, GLenum type,
  51.                             const GLvoid *indices);
  52.  
  53. extern GLboolean
  54. _mesa_validate_MultiDrawElements(struct gl_context *ctx,
  55.                                  GLenum mode, const GLsizei *count,
  56.                                  GLenum type, const GLvoid * const *indices,
  57.                                  GLuint primcount);
  58.  
  59. extern GLboolean
  60. _mesa_validate_DrawRangeElements(struct gl_context *ctx, GLenum mode,
  61.                                  GLuint start, GLuint end,
  62.                                  GLsizei count, GLenum type,
  63.                                  const GLvoid *indices);
  64.  
  65.  
  66. extern GLboolean
  67. _mesa_validate_DrawArraysInstanced(struct gl_context *ctx, GLenum mode, GLint first,
  68.                                    GLsizei count, GLsizei primcount);
  69.  
  70. extern GLboolean
  71. _mesa_validate_DrawElementsInstanced(struct gl_context *ctx,
  72.                                      GLenum mode, GLsizei count, GLenum type,
  73.                                      const GLvoid *indices, GLsizei primcount);
  74.  
  75. extern GLboolean
  76. _mesa_validate_DrawTransformFeedback(struct gl_context *ctx,
  77.                                      GLenum mode,
  78.                                      struct gl_transform_feedback_object *obj,
  79.                                      GLuint stream,
  80.                                      GLsizei numInstances);
  81.  
  82. extern GLboolean
  83. _mesa_validate_DrawArraysIndirect(struct gl_context *ctx,
  84.                                   GLenum mode,
  85.                                   const GLvoid *indirect);
  86.  
  87. extern GLboolean
  88. _mesa_validate_DrawElementsIndirect(struct gl_context *ctx,
  89.                                     GLenum mode,
  90.                                     GLenum type,
  91.                                     const GLvoid *indirect);
  92.  
  93. extern GLboolean
  94. _mesa_validate_MultiDrawArraysIndirect(struct gl_context *ctx,
  95.                                        GLenum mode,
  96.                                        const GLvoid *indirect,
  97.                                        GLsizei primcount,
  98.                                        GLsizei stride);
  99.  
  100. extern GLboolean
  101. _mesa_validate_MultiDrawElementsIndirect(struct gl_context *ctx,
  102.                                          GLenum mode,
  103.                                          GLenum type,
  104.                                          const GLvoid *indirect,
  105.                                          GLsizei primcount,
  106.                                          GLsizei stride);
  107.  
  108.  
  109. #endif
  110.