## Name

glPatchParameter — specifies the parameters for patch primitives

## C Specification

`void glPatchParameteri(` | GLenum pname,
| GLint value`)`;

`void glPatchParameterfv(` | GLenum pname,
| const GLfloat *values`)`;

## Parameters

`pname`

  Specifies the name of the parameter to set. The symbolc constants `GL_PATCH_VERTICES`, `GL_PATCH_DEFAULT_OUTER_LEVEL`, and `GL_PATCH_DEFAULT_INNER_LEVEL` are accepted.

`value`

  Specifies the new value for the parameter given by `pname`.

`values`

  Specifies the address of an array containing the new values for the parameter given by `pname`.

## Description

`glPatchParameter` specifies the parameters that will be used for patch primitives. `pname` specifies the parameter to modify and must be either `GL_PATCH_VERTICES`, `GL_PATCH_DEFAULT_OUTER_LEVEL` or `GL_PATCH_DEFAULT_INNER_LEVEL`. For `glPatchParameteri`, `value` specifies the new value for the parameter specified by `pname`. For `glPatchParameterfv`, `values` specifies the address of an array containing the new values for the parameter specified by `pname`.

When `pname` is `GL_PATCH_VERTICES`, `value` specifies the number of vertices that will be used to make up a single patch primitive. Patch primitives are consumed by the tessellation control shader (if present) and subsequently used for tessellation. When primitives are specified using glDrawArrays or a similar function, each patch will be made from `parameter` control points, each represented by a vertex taken from the enabeld vertex arrays. `parameter` must be greater than zero, and less than or equal to the value of `GL_MAX_PATCH_VERTICES`.

When `pname` is `GL_PATCH_DEFAULT_OUTER_LEVEL` or `GL_PATCH_DEFAULT_INNER_LEVEL`, `values` contains the address of an array contiaining the default outer or inner tessellation levels, respectively, to be used when no tessellation control shader is present.

## Errors

`GL_INVALID_ENUM` is generated if `pname` is not an accepted value.

`GL_INVALID_VALUE` is generated if `pname` is `GL_PATCH_VERTICES` and `value` is less than or equal to zero, or greater than the value of `GL_MAX_PATCH_VERTICES`.

## See Also

glDrawArrays, glDrawArraysInstanced, glDrawElements, glDrawRangeElements,

## Copyright

Copyright © 2010 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.