GLVALIDATEPROGRAMPIP(3G)

okay bestie, this is GLVALIDATEPROGRAMPIP(3G) β€” the manual page for glValidateProgramPipeline, and it's literally the glow-up/checkup moment for your program pipeline 🫢✨

🌸 NAME 🌸

glValidateProgramPipeline β€” validate a program pipeline object against the current GL state, no cap. This is the function that gives your pipeline its little validation vibe check.

✨ C SPECIFICATION ✨

void glValidateProgramPipeline(GLuint pipeline);

πŸŽ€ PARAMETERS πŸŽ€

  • pipeline β€” Specifies the name of a program pipeline object to validate. That's the one getting the vibe check.

πŸ’– DESCRIPTION πŸ’–

glValidateProgramPipeline instructs the implementation to validate the shader executables contained in pipeline against the current GL state. The implementation may use this as an opportunity to perform any internal shader modifications that may be required to ensure correct operation of the installed shaders given the current GL state. Like, it's allowed to do its little internal tweaks if it needs to, iykyk.

After a program pipeline has been validated, its validation status is set to GL_TRUE. You can query the validation status of a program pipeline object by calling glGetProgramPipeline() with parameter GL_VALIDATE_STATUS.

If pipeline is a name previously returned from a call to glGenProgramPipelines() but that has not yet been bound by a call to glBindProgramPipeline(), a new program pipeline object is created with name pipeline and the default state vector. So yes, it can create a fresh pipeline object in that situation β€” that's the tea. β˜•

πŸ’€ ERRORS πŸ’€

GL_INVALID_OPERATION is generated if pipeline is not a name previously returned from a call to glGenProgramPipelines() or if such a name has been deleted by a call to glDeleteProgramPipelines(). So don't be out here validating a ghost name; the GL is gonna be like "bestie, no" 😭.

πŸ” ASSOCIATED GETS πŸ”

  • glGetProgramPipeline() with parameter GL_VALIDATE_STATUS.

πŸ‘‘ VERSION SUPPORT πŸ‘‘

The table is headed Function / Feature Name vs. OpenGL Version, and for glValidateProgramPipeline the row is exactly this:

  • OpenGL version 2.0: -
  • OpenGL version 2.1: -
  • OpenGL version 3.0: -
  • OpenGL version 3.1: -
  • OpenGL version 3.2: -
  • OpenGL version 3.3: -
  • OpenGL version 4.0: -
  • OpenGL version 4.1: βœ”
  • OpenGL version 4.2: βœ”
  • OpenGL version 4.3: βœ”
  • OpenGL version 4.4: βœ”
  • OpenGL version 4.5: βœ”

🌈 SEE ALSO 🌈

  • glGenProgramPipelines()
  • glBindProgramPipeline()
  • glDeleteProgramPipelines()

Copyright Β© 2010-2014 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/.

Copyright Β© 2010-2014 Khronos Group


mwah πŸ’‹ β€” source/version: [FIXME: source]; date: 08/09/2021; manual: GLVALIDATEPROGRAMPIP(3G).

πŸ“¦ where this page comes from