13464ebd5Sriastradh/* 23464ebd5Sriastradh * Mesa 3-D graphics library 33464ebd5Sriastradh * 43464ebd5Sriastradh * Copyright (C) 2010 VMware, Inc. All Rights Reserved. 53464ebd5Sriastradh * 63464ebd5Sriastradh * Permission is hereby granted, free of charge, to any person obtaining a 73464ebd5Sriastradh * copy of this software and associated documentation files (the "Software"), 83464ebd5Sriastradh * to deal in the Software without restriction, including without limitation 93464ebd5Sriastradh * the rights to use, copy, modify, merge, publish, distribute, sublicense, 103464ebd5Sriastradh * and/or sell copies of the Software, and to permit persons to whom the 113464ebd5Sriastradh * Software is furnished to do so, subject to the following conditions: 123464ebd5Sriastradh * 133464ebd5Sriastradh * The above copyright notice and this permission notice shall be included 143464ebd5Sriastradh * in all copies or substantial portions of the Software. 153464ebd5Sriastradh * 163464ebd5Sriastradh * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 173464ebd5Sriastradh * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 183464ebd5Sriastradh * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 19af69d88dSmrg * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20af69d88dSmrg * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21af69d88dSmrg * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22af69d88dSmrg * OTHER DEALINGS IN THE SOFTWARE. 233464ebd5Sriastradh */ 243464ebd5Sriastradh 253464ebd5Sriastradh 263464ebd5Sriastradh#ifndef UNIFORMS_H 273464ebd5Sriastradh#define UNIFORMS_H 283464ebd5Sriastradh 2901e04c3fSmrg#include "main/glheader.h" 3001e04c3fSmrg#include "compiler/glsl_types.h" 3101e04c3fSmrg#include "compiler/glsl/ir_uniform.h" 323464ebd5Sriastradh#include "program/prog_parameter.h" 333464ebd5Sriastradh 34af69d88dSmrg#ifdef __cplusplus 35af69d88dSmrgextern "C" { 36af69d88dSmrg#endif 373464ebd5Sriastradh 383464ebd5Sriastradh 39af69d88dSmrgstruct gl_program; 40af69d88dSmrgstruct _glapi_table; 413464ebd5Sriastradh 42af69d88dSmrgvoid GLAPIENTRY 43af69d88dSmrg_mesa_Uniform1f(GLint, GLfloat); 44af69d88dSmrgvoid GLAPIENTRY 45af69d88dSmrg_mesa_Uniform2f(GLint, GLfloat, GLfloat); 46af69d88dSmrgvoid GLAPIENTRY 47af69d88dSmrg_mesa_Uniform3f(GLint, GLfloat, GLfloat, GLfloat); 48af69d88dSmrgvoid GLAPIENTRY 49af69d88dSmrg_mesa_Uniform4f(GLint, GLfloat, GLfloat, GLfloat, GLfloat); 50af69d88dSmrgvoid GLAPIENTRY 51af69d88dSmrg_mesa_Uniform1i(GLint, GLint); 52af69d88dSmrgvoid GLAPIENTRY 53af69d88dSmrg_mesa_Uniform2i(GLint, GLint, GLint); 54af69d88dSmrgvoid GLAPIENTRY 55af69d88dSmrg_mesa_Uniform3i(GLint, GLint, GLint, GLint); 56af69d88dSmrgvoid GLAPIENTRY 57af69d88dSmrg_mesa_Uniform4i(GLint, GLint, GLint, GLint, GLint); 58af69d88dSmrgvoid GLAPIENTRY 59af69d88dSmrg_mesa_Uniform1fv(GLint, GLsizei, const GLfloat *); 60af69d88dSmrgvoid GLAPIENTRY 61af69d88dSmrg_mesa_Uniform2fv(GLint, GLsizei, const GLfloat *); 62af69d88dSmrgvoid GLAPIENTRY 63af69d88dSmrg_mesa_Uniform3fv(GLint, GLsizei, const GLfloat *); 64af69d88dSmrgvoid GLAPIENTRY 65af69d88dSmrg_mesa_Uniform4fv(GLint, GLsizei, const GLfloat *); 66af69d88dSmrgvoid GLAPIENTRY 67af69d88dSmrg_mesa_Uniform1iv(GLint, GLsizei, const GLint *); 68af69d88dSmrgvoid GLAPIENTRY 69af69d88dSmrg_mesa_Uniform2iv(GLint, GLsizei, const GLint *); 70af69d88dSmrgvoid GLAPIENTRY 71af69d88dSmrg_mesa_Uniform3iv(GLint, GLsizei, const GLint *); 72af69d88dSmrgvoid GLAPIENTRY 73af69d88dSmrg_mesa_Uniform4iv(GLint, GLsizei, const GLint *); 74af69d88dSmrgvoid GLAPIENTRY 753464ebd5Sriastradh_mesa_Uniform1ui(GLint location, GLuint v0); 76af69d88dSmrgvoid GLAPIENTRY 773464ebd5Sriastradh_mesa_Uniform2ui(GLint location, GLuint v0, GLuint v1); 78af69d88dSmrgvoid GLAPIENTRY 793464ebd5Sriastradh_mesa_Uniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2); 80af69d88dSmrgvoid GLAPIENTRY 813464ebd5Sriastradh_mesa_Uniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); 82af69d88dSmrgvoid GLAPIENTRY 833464ebd5Sriastradh_mesa_Uniform1uiv(GLint location, GLsizei count, const GLuint *value); 84af69d88dSmrgvoid GLAPIENTRY 853464ebd5Sriastradh_mesa_Uniform2uiv(GLint location, GLsizei count, const GLuint *value); 86af69d88dSmrgvoid GLAPIENTRY 873464ebd5Sriastradh_mesa_Uniform3uiv(GLint location, GLsizei count, const GLuint *value); 88af69d88dSmrgvoid GLAPIENTRY 893464ebd5Sriastradh_mesa_Uniform4uiv(GLint location, GLsizei count, const GLuint *value); 90af69d88dSmrgvoid GLAPIENTRY 91af69d88dSmrg_mesa_UniformMatrix2fv(GLint, GLsizei, GLboolean, const GLfloat *); 92af69d88dSmrgvoid GLAPIENTRY 93af69d88dSmrg_mesa_UniformMatrix3fv(GLint, GLsizei, GLboolean, const GLfloat *); 94af69d88dSmrgvoid GLAPIENTRY 95af69d88dSmrg_mesa_UniformMatrix4fv(GLint, GLsizei, GLboolean, const GLfloat *); 96af69d88dSmrgvoid GLAPIENTRY 973464ebd5Sriastradh_mesa_UniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, 983464ebd5Sriastradh const GLfloat *value); 99af69d88dSmrgvoid GLAPIENTRY 1003464ebd5Sriastradh_mesa_UniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, 1013464ebd5Sriastradh const GLfloat *value); 102af69d88dSmrgvoid GLAPIENTRY 1033464ebd5Sriastradh_mesa_UniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, 1043464ebd5Sriastradh const GLfloat *value); 105af69d88dSmrgvoid GLAPIENTRY 1063464ebd5Sriastradh_mesa_UniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, 1073464ebd5Sriastradh const GLfloat *value); 108af69d88dSmrgvoid GLAPIENTRY 1093464ebd5Sriastradh_mesa_UniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, 1103464ebd5Sriastradh const GLfloat *value); 111af69d88dSmrgvoid GLAPIENTRY 1123464ebd5Sriastradh_mesa_UniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, 1133464ebd5Sriastradh const GLfloat *value); 1143464ebd5Sriastradh 11501e04c3fSmrgvoid GLAPIENTRY 11601e04c3fSmrg_mesa_UniformHandleui64ARB(GLint location, GLuint64 value); 11701e04c3fSmrgvoid GLAPIENTRY 11801e04c3fSmrg_mesa_UniformHandleui64vARB(GLint location, GLsizei count, 11901e04c3fSmrg const GLuint64 *value); 12001e04c3fSmrgvoid GLAPIENTRY 12101e04c3fSmrg_mesa_ProgramUniformHandleui64ARB(GLuint program, GLint location, 12201e04c3fSmrg GLuint64 value); 12301e04c3fSmrgvoid GLAPIENTRY 12401e04c3fSmrg_mesa_ProgramUniformHandleui64vARB(GLuint program, GLint location, 12501e04c3fSmrg GLsizei count, const GLuint64 *values); 12601e04c3fSmrg 127af69d88dSmrgvoid GLAPIENTRY 128af69d88dSmrg_mesa_ProgramUniform1f(GLuint program, GLint, GLfloat); 129af69d88dSmrgvoid GLAPIENTRY 130af69d88dSmrg_mesa_ProgramUniform2f(GLuint program, GLint, GLfloat, GLfloat); 131af69d88dSmrgvoid GLAPIENTRY 132af69d88dSmrg_mesa_ProgramUniform3f(GLuint program, GLint, GLfloat, GLfloat, GLfloat); 133af69d88dSmrgvoid GLAPIENTRY 134af69d88dSmrg_mesa_ProgramUniform4f(GLuint program, GLint, GLfloat, GLfloat, GLfloat, GLfloat); 135af69d88dSmrgvoid GLAPIENTRY 136af69d88dSmrg_mesa_ProgramUniform1i(GLuint program, GLint, GLint); 137af69d88dSmrgvoid GLAPIENTRY 138af69d88dSmrg_mesa_ProgramUniform2i(GLuint program, GLint, GLint, GLint); 139af69d88dSmrgvoid GLAPIENTRY 140af69d88dSmrg_mesa_ProgramUniform3i(GLuint program, GLint, GLint, GLint, GLint); 141af69d88dSmrgvoid GLAPIENTRY 142af69d88dSmrg_mesa_ProgramUniform4i(GLuint program, GLint, GLint, GLint, GLint, GLint); 143af69d88dSmrgvoid GLAPIENTRY 144af69d88dSmrg_mesa_ProgramUniform1fv(GLuint program, GLint, GLsizei, const GLfloat *); 145af69d88dSmrgvoid GLAPIENTRY 146af69d88dSmrg_mesa_ProgramUniform2fv(GLuint program, GLint, GLsizei, const GLfloat *); 147af69d88dSmrgvoid GLAPIENTRY 148af69d88dSmrg_mesa_ProgramUniform3fv(GLuint program, GLint, GLsizei, const GLfloat *); 149af69d88dSmrgvoid GLAPIENTRY 150af69d88dSmrg_mesa_ProgramUniform4fv(GLuint program, GLint, GLsizei, const GLfloat *); 151af69d88dSmrgvoid GLAPIENTRY 152af69d88dSmrg_mesa_ProgramUniform1iv(GLuint program, GLint, GLsizei, const GLint *); 153af69d88dSmrgvoid GLAPIENTRY 154af69d88dSmrg_mesa_ProgramUniform2iv(GLuint program, GLint, GLsizei, const GLint *); 155af69d88dSmrgvoid GLAPIENTRY 156af69d88dSmrg_mesa_ProgramUniform3iv(GLuint program, GLint, GLsizei, const GLint *); 157af69d88dSmrgvoid GLAPIENTRY 158af69d88dSmrg_mesa_ProgramUniform4iv(GLuint program, GLint, GLsizei, const GLint *); 159af69d88dSmrgvoid GLAPIENTRY 160af69d88dSmrg_mesa_ProgramUniform1ui(GLuint program, GLint location, GLuint v0); 161af69d88dSmrgvoid GLAPIENTRY 162af69d88dSmrg_mesa_ProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1); 163af69d88dSmrgvoid GLAPIENTRY 164af69d88dSmrg_mesa_ProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, 165af69d88dSmrg GLuint v2); 166af69d88dSmrgvoid GLAPIENTRY 167af69d88dSmrg_mesa_ProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, 168af69d88dSmrg GLuint v2, GLuint v3); 169af69d88dSmrgvoid GLAPIENTRY 170af69d88dSmrg_mesa_ProgramUniform1uiv(GLuint program, GLint location, GLsizei count, 171af69d88dSmrg const GLuint *value); 172af69d88dSmrgvoid GLAPIENTRY 173af69d88dSmrg_mesa_ProgramUniform2uiv(GLuint program, GLint location, GLsizei count, 174af69d88dSmrg const GLuint *value); 175af69d88dSmrgvoid GLAPIENTRY 176af69d88dSmrg_mesa_ProgramUniform3uiv(GLuint program, GLint location, GLsizei count, 177af69d88dSmrg const GLuint *value); 178af69d88dSmrgvoid GLAPIENTRY 179af69d88dSmrg_mesa_ProgramUniform4uiv(GLuint program, GLint location, GLsizei count, 180af69d88dSmrg const GLuint *value); 181af69d88dSmrgvoid GLAPIENTRY 182af69d88dSmrg_mesa_ProgramUniformMatrix2fv(GLuint program, GLint, GLsizei, GLboolean, 183af69d88dSmrg const GLfloat *); 184af69d88dSmrgvoid GLAPIENTRY 185af69d88dSmrg_mesa_ProgramUniformMatrix3fv(GLuint program, GLint, GLsizei, GLboolean, 186af69d88dSmrg const GLfloat *); 187af69d88dSmrgvoid GLAPIENTRY 188af69d88dSmrg_mesa_ProgramUniformMatrix4fv(GLuint program, GLint, GLsizei, GLboolean, 189af69d88dSmrg const GLfloat *); 190af69d88dSmrgvoid GLAPIENTRY 191af69d88dSmrg_mesa_ProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, 192af69d88dSmrg GLboolean transpose, const GLfloat *value); 193af69d88dSmrgvoid GLAPIENTRY 194af69d88dSmrg_mesa_ProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, 195af69d88dSmrg GLboolean transpose, const GLfloat *value); 196af69d88dSmrgvoid GLAPIENTRY 197af69d88dSmrg_mesa_ProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, 198af69d88dSmrg GLboolean transpose, const GLfloat *value); 199af69d88dSmrgvoid GLAPIENTRY 200af69d88dSmrg_mesa_ProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, 201af69d88dSmrg GLboolean transpose, const GLfloat *value); 202af69d88dSmrgvoid GLAPIENTRY 203af69d88dSmrg_mesa_ProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, 204af69d88dSmrg GLboolean transpose, const GLfloat *value); 205af69d88dSmrgvoid GLAPIENTRY 206af69d88dSmrg_mesa_ProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, 207af69d88dSmrg GLboolean transpose, const GLfloat *value); 208af69d88dSmrg 209af69d88dSmrgvoid GLAPIENTRY 210af69d88dSmrg_mesa_GetnUniformfvARB(GLuint, GLint, GLsizei, GLfloat *); 211af69d88dSmrgvoid GLAPIENTRY 212af69d88dSmrg_mesa_GetUniformfv(GLuint, GLint, GLfloat *); 213af69d88dSmrgvoid GLAPIENTRY 214af69d88dSmrg_mesa_GetnUniformivARB(GLuint, GLint, GLsizei, GLint *); 215af69d88dSmrgvoid GLAPIENTRY 216af69d88dSmrg_mesa_GetUniformuiv(GLuint, GLint, GLuint *); 217af69d88dSmrgvoid GLAPIENTRY 218af69d88dSmrg_mesa_GetnUniformuivARB(GLuint, GLint, GLsizei, GLuint *); 219af69d88dSmrgvoid GLAPIENTRY 220af69d88dSmrg_mesa_GetUniformuiv(GLuint program, GLint location, GLuint *params); 221af69d88dSmrgvoid GLAPIENTRY 222af69d88dSmrg_mesa_GetnUniformdvARB(GLuint, GLint, GLsizei, GLdouble *); 223af69d88dSmrgvoid GLAPIENTRY 224af69d88dSmrg_mesa_GetUniformdv(GLuint, GLint, GLdouble *); 2257ec681f3SmrgGLint 2267ec681f3Smrg_mesa_GetUniformLocation_impl(GLuint, const GLcharARB *, bool glthread); 227af69d88dSmrgGLint GLAPIENTRY 228af69d88dSmrg_mesa_GetUniformLocation(GLuint, const GLcharARB *); 22901e04c3fSmrgGLint GLAPIENTRY 23001e04c3fSmrg_mesa_GetUniformLocation_no_error(GLuint, const GLcharARB *); 231af69d88dSmrgGLuint GLAPIENTRY 232af69d88dSmrg_mesa_GetUniformBlockIndex(GLuint program, 233af69d88dSmrg const GLchar *uniformBlockName); 234af69d88dSmrgvoid GLAPIENTRY 235af69d88dSmrg_mesa_GetUniformIndices(GLuint program, 236af69d88dSmrg GLsizei uniformCount, 237af69d88dSmrg const GLchar * const *uniformNames, 238af69d88dSmrg GLuint *uniformIndices); 23901e04c3fSmrg 24001e04c3fSmrgvoid GLAPIENTRY 24101e04c3fSmrg_mesa_UniformBlockBinding_no_error(GLuint program, GLuint uniformBlockIndex, 24201e04c3fSmrg GLuint uniformBlockBinding); 24301e04c3fSmrg 244af69d88dSmrgvoid GLAPIENTRY 245af69d88dSmrg_mesa_UniformBlockBinding(GLuint program, 246af69d88dSmrg GLuint uniformBlockIndex, 247af69d88dSmrg GLuint uniformBlockBinding); 24801e04c3fSmrg 24901e04c3fSmrgvoid GLAPIENTRY 25001e04c3fSmrg_mesa_ShaderStorageBlockBinding_no_error(GLuint program, 25101e04c3fSmrg GLuint shaderStorageBlockIndex, 25201e04c3fSmrg GLuint shaderStorageBlockBinding); 25301e04c3fSmrg 25401e04c3fSmrgvoid GLAPIENTRY 25501e04c3fSmrg_mesa_ShaderStorageBlockBinding(GLuint program, 25601e04c3fSmrg GLuint shaderStorageBlockIndex, 25701e04c3fSmrg GLuint shaderStorageBlockBinding); 258af69d88dSmrgvoid GLAPIENTRY 259af69d88dSmrg_mesa_GetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, 260af69d88dSmrg GLenum pname, GLint *params); 261af69d88dSmrgvoid GLAPIENTRY 262af69d88dSmrg_mesa_GetActiveUniformBlockiv(GLuint program, 263af69d88dSmrg GLuint uniformBlockIndex, 264af69d88dSmrg GLenum pname, 265af69d88dSmrg GLint *params); 266af69d88dSmrgvoid GLAPIENTRY 267af69d88dSmrg_mesa_GetActiveUniformBlockName(GLuint program, 268af69d88dSmrg GLuint uniformBlockIndex, 269af69d88dSmrg GLsizei bufSize, 270af69d88dSmrg GLsizei *length, 271af69d88dSmrg GLchar *uniformBlockName); 272af69d88dSmrgvoid GLAPIENTRY 273af69d88dSmrg_mesa_GetActiveUniformName(GLuint program, GLuint uniformIndex, 274af69d88dSmrg GLsizei bufSize, GLsizei *length, 275af69d88dSmrg GLchar *uniformName); 2767ec681f3Smrgvoid 2777ec681f3Smrg_mesa_GetActiveUniform_impl(GLuint, GLuint, GLsizei, GLsizei *, 2787ec681f3Smrg GLint *, GLenum *, GLcharARB *, 2797ec681f3Smrg bool glthread); 280af69d88dSmrgvoid GLAPIENTRY 281af69d88dSmrg_mesa_GetActiveUniform(GLuint, GLuint, GLsizei, GLsizei *, 282af69d88dSmrg GLint *, GLenum *, GLcharARB *); 283af69d88dSmrgvoid GLAPIENTRY 284af69d88dSmrg_mesa_GetActiveUniformsiv(GLuint program, 285af69d88dSmrg GLsizei uniformCount, 286af69d88dSmrg const GLuint *uniformIndices, 287af69d88dSmrg GLenum pname, 288af69d88dSmrg GLint *params); 289af69d88dSmrgvoid GLAPIENTRY 290af69d88dSmrg_mesa_GetUniformiv(GLuint, GLint, GLint *); 291af69d88dSmrg 29201e04c3fSmrgvoid GLAPIENTRY 29301e04c3fSmrg_mesa_Uniform1d(GLint, GLdouble); 29401e04c3fSmrgvoid GLAPIENTRY 29501e04c3fSmrg_mesa_Uniform2d(GLint, GLdouble, GLdouble); 29601e04c3fSmrgvoid GLAPIENTRY 29701e04c3fSmrg_mesa_Uniform3d(GLint, GLdouble, GLdouble, GLdouble); 29801e04c3fSmrgvoid GLAPIENTRY 29901e04c3fSmrg_mesa_Uniform4d(GLint, GLdouble, GLdouble, GLdouble, GLdouble); 30001e04c3fSmrg 30101e04c3fSmrgvoid GLAPIENTRY 30201e04c3fSmrg_mesa_Uniform1dv(GLint, GLsizei, const GLdouble *); 30301e04c3fSmrgvoid GLAPIENTRY 30401e04c3fSmrg_mesa_Uniform2dv(GLint, GLsizei, const GLdouble *); 30501e04c3fSmrgvoid GLAPIENTRY 30601e04c3fSmrg_mesa_Uniform3dv(GLint, GLsizei, const GLdouble *); 30701e04c3fSmrgvoid GLAPIENTRY 30801e04c3fSmrg_mesa_Uniform4dv(GLint, GLsizei, const GLdouble *); 30901e04c3fSmrg 31001e04c3fSmrgvoid GLAPIENTRY 31101e04c3fSmrg_mesa_GetUniformi64vARB(GLuint, GLint, GLint64 *); 31201e04c3fSmrgvoid GLAPIENTRY 31301e04c3fSmrg_mesa_GetUniformui64vARB(GLuint, GLint, GLuint64 *); 31401e04c3fSmrg 31501e04c3fSmrgvoid GLAPIENTRY 31601e04c3fSmrg_mesa_GetnUniformi64vARB(GLuint, GLint, GLsizei, GLint64 *); 31701e04c3fSmrgvoid GLAPIENTRY 31801e04c3fSmrg_mesa_GetnUniformui64vARB(GLuint, GLint, GLsizei, GLuint64 *); 31901e04c3fSmrg 32001e04c3fSmrgvoid GLAPIENTRY 32101e04c3fSmrg_mesa_UniformMatrix2dv(GLint, GLsizei, GLboolean, const GLdouble *); 32201e04c3fSmrgvoid GLAPIENTRY 32301e04c3fSmrg_mesa_UniformMatrix3dv(GLint, GLsizei, GLboolean, const GLdouble *); 32401e04c3fSmrgvoid GLAPIENTRY 32501e04c3fSmrg_mesa_UniformMatrix4dv(GLint, GLsizei, GLboolean, const GLdouble *); 32601e04c3fSmrgvoid GLAPIENTRY 32701e04c3fSmrg_mesa_UniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, 32801e04c3fSmrg const GLdouble *value); 32901e04c3fSmrgvoid GLAPIENTRY 33001e04c3fSmrg_mesa_UniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, 33101e04c3fSmrg const GLdouble *value); 33201e04c3fSmrgvoid GLAPIENTRY 33301e04c3fSmrg_mesa_UniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, 33401e04c3fSmrg const GLdouble *value); 33501e04c3fSmrgvoid GLAPIENTRY 33601e04c3fSmrg_mesa_UniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, 33701e04c3fSmrg const GLdouble *value); 33801e04c3fSmrgvoid GLAPIENTRY 33901e04c3fSmrg_mesa_UniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, 34001e04c3fSmrg const GLdouble *value); 34101e04c3fSmrgvoid GLAPIENTRY 34201e04c3fSmrg_mesa_UniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, 34301e04c3fSmrg const GLdouble *value); 34401e04c3fSmrg 34501e04c3fSmrgvoid GLAPIENTRY 34601e04c3fSmrg_mesa_ProgramUniform1d(GLuint program, GLint, GLdouble); 34701e04c3fSmrgvoid GLAPIENTRY 34801e04c3fSmrg_mesa_ProgramUniform2d(GLuint program, GLint, GLdouble, GLdouble); 34901e04c3fSmrgvoid GLAPIENTRY 35001e04c3fSmrg_mesa_ProgramUniform3d(GLuint program, GLint, GLdouble, GLdouble, GLdouble); 35101e04c3fSmrgvoid GLAPIENTRY 35201e04c3fSmrg_mesa_ProgramUniform4d(GLuint program, GLint, GLdouble, GLdouble, GLdouble, GLdouble); 35301e04c3fSmrg 35401e04c3fSmrgvoid GLAPIENTRY 35501e04c3fSmrg_mesa_ProgramUniform1dv(GLuint program, GLint, GLsizei, const GLdouble *); 35601e04c3fSmrgvoid GLAPIENTRY 35701e04c3fSmrg_mesa_ProgramUniform2dv(GLuint program, GLint, GLsizei, const GLdouble *); 35801e04c3fSmrgvoid GLAPIENTRY 35901e04c3fSmrg_mesa_ProgramUniform3dv(GLuint program, GLint, GLsizei, const GLdouble *); 36001e04c3fSmrgvoid GLAPIENTRY 36101e04c3fSmrg_mesa_ProgramUniform4dv(GLuint program, GLint, GLsizei, const GLdouble *); 36201e04c3fSmrg 36301e04c3fSmrgvoid GLAPIENTRY 36401e04c3fSmrg_mesa_ProgramUniformMatrix2dv(GLuint program, GLint, GLsizei, GLboolean, 36501e04c3fSmrg const GLdouble *); 36601e04c3fSmrgvoid GLAPIENTRY 36701e04c3fSmrg_mesa_ProgramUniformMatrix3dv(GLuint program, GLint, GLsizei, GLboolean, 36801e04c3fSmrg const GLdouble *); 36901e04c3fSmrgvoid GLAPIENTRY 37001e04c3fSmrg_mesa_ProgramUniformMatrix4dv(GLuint program, GLint, GLsizei, GLboolean, 37101e04c3fSmrg const GLdouble *); 37201e04c3fSmrgvoid GLAPIENTRY 37301e04c3fSmrg_mesa_ProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, 37401e04c3fSmrg GLboolean transpose, const GLdouble *value); 37501e04c3fSmrgvoid GLAPIENTRY 37601e04c3fSmrg_mesa_ProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, 37701e04c3fSmrg GLboolean transpose, const GLdouble *value); 37801e04c3fSmrgvoid GLAPIENTRY 37901e04c3fSmrg_mesa_ProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, 38001e04c3fSmrg GLboolean transpose, const GLdouble *value); 38101e04c3fSmrgvoid GLAPIENTRY 38201e04c3fSmrg_mesa_ProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, 38301e04c3fSmrg GLboolean transpose, const GLdouble *value); 38401e04c3fSmrgvoid GLAPIENTRY 38501e04c3fSmrg_mesa_ProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, 38601e04c3fSmrg GLboolean transpose, const GLdouble *value); 38701e04c3fSmrgvoid GLAPIENTRY 38801e04c3fSmrg_mesa_ProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, 38901e04c3fSmrg GLboolean transpose, const GLdouble *value); 39001e04c3fSmrg 39101e04c3fSmrgvoid GLAPIENTRY 39201e04c3fSmrg_mesa_Uniform1i64ARB(GLint, GLint64); 39301e04c3fSmrgvoid GLAPIENTRY 39401e04c3fSmrg_mesa_Uniform2i64ARB(GLint, GLint64, GLint64); 39501e04c3fSmrgvoid GLAPIENTRY 39601e04c3fSmrg_mesa_Uniform3i64ARB(GLint, GLint64, GLint64, GLint64); 39701e04c3fSmrgvoid GLAPIENTRY 39801e04c3fSmrg_mesa_Uniform4i64ARB(GLint, GLint64, GLint64, GLint64, GLint64); 39901e04c3fSmrg 40001e04c3fSmrgvoid GLAPIENTRY 40101e04c3fSmrg_mesa_Uniform1i64vARB(GLint, GLsizei, const GLint64 *); 40201e04c3fSmrgvoid GLAPIENTRY 40301e04c3fSmrg_mesa_Uniform2i64vARB(GLint, GLsizei, const GLint64 *); 40401e04c3fSmrgvoid GLAPIENTRY 40501e04c3fSmrg_mesa_Uniform3i64vARB(GLint, GLsizei, const GLint64 *); 40601e04c3fSmrgvoid GLAPIENTRY 40701e04c3fSmrg_mesa_Uniform4i64vARB(GLint, GLsizei, const GLint64 *); 40801e04c3fSmrg 40901e04c3fSmrgvoid GLAPIENTRY 41001e04c3fSmrg_mesa_Uniform1ui64ARB(GLint, GLuint64); 41101e04c3fSmrgvoid GLAPIENTRY 41201e04c3fSmrg_mesa_Uniform2ui64ARB(GLint, GLuint64, GLuint64); 41301e04c3fSmrgvoid GLAPIENTRY 41401e04c3fSmrg_mesa_Uniform3ui64ARB(GLint, GLuint64, GLuint64, GLuint64); 41501e04c3fSmrgvoid GLAPIENTRY 41601e04c3fSmrg_mesa_Uniform4ui64ARB(GLint, GLuint64, GLuint64, GLuint64, GLuint64); 41701e04c3fSmrg 41801e04c3fSmrgvoid GLAPIENTRY 41901e04c3fSmrg_mesa_Uniform1ui64vARB(GLint, GLsizei, const GLuint64 *); 42001e04c3fSmrgvoid GLAPIENTRY 42101e04c3fSmrg_mesa_Uniform2ui64vARB(GLint, GLsizei, const GLuint64 *); 42201e04c3fSmrgvoid GLAPIENTRY 42301e04c3fSmrg_mesa_Uniform3ui64vARB(GLint, GLsizei, const GLuint64 *); 42401e04c3fSmrgvoid GLAPIENTRY 42501e04c3fSmrg_mesa_Uniform4ui64vARB(GLint, GLsizei, const GLuint64 *); 42601e04c3fSmrg 42701e04c3fSmrgvoid GLAPIENTRY 42801e04c3fSmrg_mesa_ProgramUniform1i64ARB(GLuint, GLint, GLint64); 42901e04c3fSmrgvoid GLAPIENTRY 43001e04c3fSmrg_mesa_ProgramUniform2i64ARB(GLuint, GLint, GLint64, GLint64); 43101e04c3fSmrgvoid GLAPIENTRY 43201e04c3fSmrg_mesa_ProgramUniform3i64ARB(GLuint, GLint, GLint64, GLint64, GLint64); 43301e04c3fSmrgvoid GLAPIENTRY 43401e04c3fSmrg_mesa_ProgramUniform4i64ARB(GLuint, GLint, GLint64, GLint64, GLint64, GLint64); 435af69d88dSmrg 43601e04c3fSmrgvoid GLAPIENTRY 43701e04c3fSmrg_mesa_ProgramUniform1i64vARB(GLuint, GLint, GLsizei, const GLint64 *); 43801e04c3fSmrgvoid GLAPIENTRY 43901e04c3fSmrg_mesa_ProgramUniform2i64vARB(GLuint, GLint, GLsizei, const GLint64 *); 44001e04c3fSmrgvoid GLAPIENTRY 44101e04c3fSmrg_mesa_ProgramUniform3i64vARB(GLuint, GLint, GLsizei, const GLint64 *); 44201e04c3fSmrgvoid GLAPIENTRY 44301e04c3fSmrg_mesa_ProgramUniform4i64vARB(GLuint, GLint, GLsizei, const GLint64 *); 44401e04c3fSmrg 44501e04c3fSmrgvoid GLAPIENTRY 44601e04c3fSmrg_mesa_ProgramUniform1ui64ARB(GLuint, GLint, GLuint64); 44701e04c3fSmrgvoid GLAPIENTRY 44801e04c3fSmrg_mesa_ProgramUniform2ui64ARB(GLuint, GLint, GLuint64, GLuint64); 44901e04c3fSmrgvoid GLAPIENTRY 45001e04c3fSmrg_mesa_ProgramUniform3ui64ARB(GLuint, GLint, GLuint64, GLuint64, GLuint64); 45101e04c3fSmrgvoid GLAPIENTRY 45201e04c3fSmrg_mesa_ProgramUniform4ui64ARB(GLuint, GLint, GLuint64, GLuint64, GLuint64, GLuint64); 45301e04c3fSmrg 45401e04c3fSmrgvoid GLAPIENTRY 45501e04c3fSmrg_mesa_ProgramUniform1ui64vARB(GLuint, GLint, GLsizei, const GLuint64 *); 45601e04c3fSmrgvoid GLAPIENTRY 45701e04c3fSmrg_mesa_ProgramUniform2ui64vARB(GLuint, GLint, GLsizei, const GLuint64 *); 45801e04c3fSmrgvoid GLAPIENTRY 45901e04c3fSmrg_mesa_ProgramUniform3ui64vARB(GLuint, GLint, GLsizei, const GLuint64 *); 46001e04c3fSmrgvoid GLAPIENTRY 46101e04c3fSmrg_mesa_ProgramUniform4ui64vARB(GLuint, GLint, GLsizei, const GLuint64 *); 4623464ebd5Sriastradh 4633464ebd5Sriastradhvoid 46401e04c3fSmrg_mesa_uniform(GLint location, GLsizei count, const GLvoid *values, 46501e04c3fSmrg struct gl_context *, struct gl_shader_program *, 46601e04c3fSmrg enum glsl_base_type basicType, unsigned src_components); 4673464ebd5Sriastradh 4683464ebd5Sriastradhvoid 46901e04c3fSmrg_mesa_uniform_matrix(GLint location, GLsizei count, 47001e04c3fSmrg GLboolean transpose, const void *values, 47101e04c3fSmrg struct gl_context *, struct gl_shader_program *, 47201e04c3fSmrg GLuint cols, GLuint rows, enum glsl_base_type basicType); 47301e04c3fSmrg 47401e04c3fSmrgvoid 47501e04c3fSmrg_mesa_uniform_handle(GLint location, GLsizei count, const GLvoid *values, 47601e04c3fSmrg struct gl_context *, struct gl_shader_program *); 4773464ebd5Sriastradh 478af69d88dSmrgvoid 479af69d88dSmrg_mesa_get_uniform(struct gl_context *ctx, GLuint program, GLint location, 480af69d88dSmrg GLsizei bufSize, enum glsl_base_type returnType, 481af69d88dSmrg GLvoid *paramsOut); 482af69d88dSmrg 483af69d88dSmrgextern void 484af69d88dSmrg_mesa_uniform_attach_driver_storage(struct gl_uniform_storage *, 485af69d88dSmrg unsigned element_stride, 486af69d88dSmrg unsigned vector_stride, 487af69d88dSmrg enum gl_uniform_driver_format format, 488af69d88dSmrg void *data); 489af69d88dSmrg 4903464ebd5Sriastradhextern void 491af69d88dSmrg_mesa_uniform_detach_all_driver_storage(struct gl_uniform_storage *uni); 4923464ebd5Sriastradh 493af69d88dSmrgextern void 494af69d88dSmrg_mesa_propagate_uniforms_to_driver_storage(struct gl_uniform_storage *uni, 495af69d88dSmrg unsigned array_index, 496af69d88dSmrg unsigned count); 4973464ebd5Sriastradh 4983464ebd5Sriastradhextern void 499af69d88dSmrg_mesa_update_shader_textures_used(struct gl_shader_program *shProg, 500af69d88dSmrg struct gl_program *prog); 501af69d88dSmrg 502af69d88dSmrgextern bool 503af69d88dSmrg_mesa_sampler_uniforms_are_valid(const struct gl_shader_program *shProg, 504af69d88dSmrg char *errMsg, size_t errMsgLength); 505af69d88dSmrgextern bool 506af69d88dSmrg_mesa_sampler_uniforms_pipeline_are_valid(struct gl_pipeline_object *); 507af69d88dSmrg 508af69d88dSmrgextern void 50901e04c3fSmrg_mesa_flush_vertices_for_uniforms(struct gl_context *ctx, 51001e04c3fSmrg const struct gl_uniform_storage *uni); 5113464ebd5Sriastradh 5123464ebd5Sriastradhstruct gl_builtin_uniform_element { 5133464ebd5Sriastradh const char *field; 51401e04c3fSmrg gl_state_index16 tokens[STATE_LENGTH]; 5153464ebd5Sriastradh int swizzle; 5163464ebd5Sriastradh}; 5173464ebd5Sriastradh 5183464ebd5Sriastradhstruct gl_builtin_uniform_desc { 5193464ebd5Sriastradh const char *name; 520af69d88dSmrg const struct gl_builtin_uniform_element *elements; 5213464ebd5Sriastradh unsigned int num_elements; 5223464ebd5Sriastradh}; 5233464ebd5Sriastradh 524af69d88dSmrg#ifdef __cplusplus 525af69d88dSmrg} 526af69d88dSmrg#endif 527af69d88dSmrg 5283464ebd5Sriastradh 5293464ebd5Sriastradh#endif /* UNIFORMS_H */ 530