aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa
diff options
context:
space:
mode:
Diffstat (limited to 'mesalib/src/mesa')
-rw-r--r--mesalib/src/mesa/Android.gen.mk7
-rw-r--r--mesalib/src/mesa/SConscript8
-rw-r--r--mesalib/src/mesa/drivers/common/meta.c65
-rw-r--r--mesalib/src/mesa/main/.gitignore1
-rw-r--r--mesalib/src/mesa/main/accum.c10
-rw-r--r--mesalib/src/mesa/main/accum.h5
-rw-r--r--mesalib/src/mesa/main/api_exec.c935
-rw-r--r--mesalib/src/mesa/main/api_loopback.c416
-rw-r--r--mesalib/src/mesa/main/api_loopback.h437
-rw-r--r--mesalib/src/mesa/main/atifragshader.c20
-rw-r--r--mesalib/src/mesa/main/atifragshader.h3
-rw-r--r--mesalib/src/mesa/main/attrib.c10
-rw-r--r--mesalib/src/mesa/main/attrib.h3
-rw-r--r--mesalib/src/mesa/main/bufferobj.c35
-rw-r--r--mesalib/src/mesa/main/bufferobj.h68
-rw-r--r--mesalib/src/mesa/main/colortab.c34
-rw-r--r--mesalib/src/mesa/main/colortab.h29
-rw-r--r--mesalib/src/mesa/main/context.c4
-rw-r--r--mesalib/src/mesa/main/convolve.c52
-rw-r--r--mesalib/src/mesa/main/convolve.h46
-rw-r--r--mesalib/src/mesa/main/dlist.c26
-rw-r--r--mesalib/src/mesa/main/dlist.h21
-rw-r--r--mesalib/src/mesa/main/drawpix.c15
-rw-r--r--mesalib/src/mesa/main/drawpix.h12
-rw-r--r--mesalib/src/mesa/main/errors.c8
-rw-r--r--mesalib/src/mesa/main/errors.h16
-rw-r--r--mesalib/src/mesa/main/es1_conversion.c4
-rw-r--r--mesalib/src/mesa/main/eval.c50
-rw-r--r--mesalib/src/mesa/main/eval.h42
-rw-r--r--mesalib/src/mesa/main/fbobject.c14
-rw-r--r--mesalib/src/mesa/main/feedback.c28
-rw-r--r--mesalib/src/mesa/main/feedback.h20
-rw-r--r--mesalib/src/mesa/main/ffvertex_prog.c2
-rw-r--r--mesalib/src/mesa/main/format_pack.c20
-rw-r--r--mesalib/src/mesa/main/get.c4
-rw-r--r--mesalib/src/mesa/main/histogram.c48
-rw-r--r--mesalib/src/mesa/main/histogram.h32
-rw-r--r--mesalib/src/mesa/main/imports.h2
-rw-r--r--mesalib/src/mesa/main/macros.h39
-rw-r--r--mesalib/src/mesa/main/matrix.c2
-rw-r--r--mesalib/src/mesa/main/pixel.c42
-rw-r--r--mesalib/src/mesa/main/pixel.h27
-rw-r--r--mesalib/src/mesa/main/queryobj.c28
-rw-r--r--mesalib/src/mesa/main/queryobj.h29
-rw-r--r--mesalib/src/mesa/main/rastpos.c152
-rw-r--r--mesalib/src/mesa/main/rastpos.h101
-rw-r--r--mesalib/src/mesa/main/samplerobj.c20
-rw-r--r--mesalib/src/mesa/main/samplerobj.h33
-rw-r--r--mesalib/src/mesa/main/texgen.c27
-rw-r--r--mesalib/src/mesa/main/texgen.h25
-rw-r--r--mesalib/src/mesa/main/texgetimage.c2
-rw-r--r--mesalib/src/mesa/main/texstorage.c2
-rw-r--r--mesalib/src/mesa/main/transformfeedback.c26
-rw-r--r--mesalib/src/mesa/main/transformfeedback.h4
-rw-r--r--mesalib/src/mesa/main/uniforms.c89
-rw-r--r--mesalib/src/mesa/main/uniforms.h182
-rw-r--r--mesalib/src/mesa/sources.mak2
-rw-r--r--mesalib/src/mesa/state_tracker/st_cb_fbo.c2
-rw-r--r--mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp2
-rw-r--r--mesalib/src/mesa/swrast/s_zoom.c4
-rw-r--r--mesalib/src/mesa/tnl/t_draw.c3
-rw-r--r--mesalib/src/mesa/vbo/vbo.h2
-rw-r--r--mesalib/src/mesa/vbo/vbo_attrib_tmp.h86
-rw-r--r--mesalib/src/mesa/vbo/vbo_context.h43
-rw-r--r--mesalib/src/mesa/vbo/vbo_exec.h1
-rw-r--r--mesalib/src/mesa/vbo/vbo_exec_api.c29
-rw-r--r--mesalib/src/mesa/vbo/vbo_exec_array.c2
-rw-r--r--mesalib/src/mesa/vbo/vbo_exec_draw.c7
-rw-r--r--mesalib/src/mesa/vbo/vbo_save.h2
-rw-r--r--mesalib/src/mesa/vbo/vbo_save_api.c12
-rw-r--r--mesalib/src/mesa/vbo/vbo_save_draw.c21
71 files changed, 1540 insertions, 2060 deletions
diff --git a/mesalib/src/mesa/Android.gen.mk b/mesalib/src/mesa/Android.gen.mk
index ffa36db4d..ce6d65bbd 100644
--- a/mesalib/src/mesa/Android.gen.mk
+++ b/mesalib/src/mesa/Android.gen.mk
@@ -32,6 +32,7 @@ intermediates := $(call local-intermediates-dir)
# This is the list of auto-generated files: sources and headers
sources := \
main/enums.c \
+ main/api_exec.c \
program/program_parse.tab.c \
program/lex.yy.c \
main/dispatch.h \
@@ -123,6 +124,12 @@ $(intermediates)/main/enums.c: PRIVATE_XML := -f $(glapi)/gl_and_es_API.xml
$(intermediates)/main/enums.c: $(dispatch_deps)
$(call es-gen)
+$(intermediates)/main/api_exec.c: PRIVATE_SCRIPT := $(MESA_PYTHON2) $(glapi)/gl_genexec.py
+$(intermediates)/main/api_exec.c: PRIVATE_XML := -f $(glapi)/gl_and_es_API.xml
+
+$(intermediates)/main/api_exec.c: $(dispatch_deps)
+ $(call es-gen)
+
GET_HASH_GEN := $(LOCAL_PATH)/main/get_hash_generator.py
GET_HASH_GEN_FLAGS := $(patsubst %,-a %,$(MESA_ENABLED_APIS))
diff --git a/mesalib/src/mesa/SConscript b/mesalib/src/mesa/SConscript
index 53e5ee8c2..11e034f84 100644
--- a/mesalib/src/mesa/SConscript
+++ b/mesalib/src/mesa/SConscript
@@ -441,6 +441,14 @@ env.CodeGenerate(
command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET'
)
+# The api_exec.c file is generated from the GL/ES API.xml file
+env.CodeGenerate(
+ target = 'main/api_exec.c',
+ script = GLAPI + 'gen/gl_genexec.py',
+ source = GLAPI + 'gen/gl_and_es_API.xml',
+ command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET'
+ )
+
# We also depend on the auto-generated GL API headers
env.Depends(mesa_sources, glapi_headers)
diff --git a/mesalib/src/mesa/drivers/common/meta.c b/mesalib/src/mesa/drivers/common/meta.c
index 24d8d485a..1f2a8a696 100644
--- a/mesalib/src/mesa/drivers/common/meta.c
+++ b/mesalib/src/mesa/drivers/common/meta.c
@@ -292,7 +292,6 @@ struct gen_mipmap_state
GLuint FBO;
GLuint Sampler;
GLuint ShaderProg;
- GLuint IntegerShaderProg;
struct glsl_sampler sampler_1d;
struct glsl_sampler sampler_2d;
struct glsl_sampler sampler_3d;
@@ -3047,27 +3046,6 @@ setup_glsl_generate_mipmap(struct gl_context *ctx,
};
struct glsl_sampler *sampler;
const char *vs_source;
-
- static const char *vs_int_source =
- "#version 130\n"
- "in vec2 position;\n"
- "in vec3 textureCoords;\n"
- "out vec3 texCoords;\n"
- "void main()\n"
- "{\n"
- " texCoords = textureCoords;\n"
- " gl_Position = gl_Vertex;\n"
- "}\n";
- static const char *fs_int_source =
- "#version 130\n"
- "uniform isampler2D tex2d;\n"
- "in vec3 texCoords;\n"
- "out ivec4 out_color;\n"
- "\n"
- "void main()\n"
- "{\n"
- " out_color = texture(tex2d, texCoords.xy);\n"
- "}\n";
char *fs_source;
GLuint vs, fs;
void *mem_ctx;
@@ -3162,26 +3140,6 @@ setup_glsl_generate_mipmap(struct gl_context *ctx,
link_program_with_debug(ctx, mipmap->ShaderProg);
sampler->shader_prog = mipmap->ShaderProg;
ralloc_free(mem_ctx);
-
- if ((_mesa_is_desktop_gl(ctx) && ctx->Const.GLSLVersion >= 130) ||
- _mesa_is_gles3(ctx)){
- vs = compile_shader_with_debug(ctx, GL_VERTEX_SHADER, vs_int_source);
- fs = compile_shader_with_debug(ctx, GL_FRAGMENT_SHADER, fs_int_source);
-
- mipmap->IntegerShaderProg = _mesa_CreateProgramObjectARB();
- _mesa_AttachShader(mipmap->IntegerShaderProg, fs);
- _mesa_DeleteObjectARB(fs);
- _mesa_AttachShader(mipmap->IntegerShaderProg, vs);
- _mesa_DeleteObjectARB(vs);
- _mesa_BindAttribLocationARB(mipmap->IntegerShaderProg, 0, "position");
- _mesa_BindAttribLocationARB(mipmap->IntegerShaderProg, 1, "texcoords");
-
- /* Note that user-defined out attributes get automatically assigned
- * locations starting from 0, so we don't need to explicitly
- * BindFragDataLocation to 0.
- */
- link_program_with_debug(ctx, mipmap->IntegerShaderProg);
- }
}
@@ -3209,11 +3167,6 @@ meta_glsl_generate_mipmap_cleanup(struct gl_context *ctx,
mipmap->sampler_cubemap.shader_prog = 0;
mipmap->sampler_1d_array.shader_prog = 0;
mipmap->sampler_2d_array.shader_prog = 0;
-
- if (mipmap->IntegerShaderProg) {
- _mesa_DeleteObjectARB(mipmap->IntegerShaderProg);
- mipmap->IntegerShaderProg = 0;
- }
}
@@ -3266,11 +3219,7 @@ _mesa_meta_GenerateMipmap(struct gl_context *ctx, GLenum target,
*/
if (use_glsl_version) {
setup_glsl_generate_mipmap(ctx, mipmap, target);
-
- if (texObj->_IsIntegerFormat)
- _mesa_UseProgramObjectARB(mipmap->IntegerShaderProg);
- else
- _mesa_UseProgramObjectARB(mipmap->ShaderProg);
+ _mesa_UseProgramObjectARB(mipmap->ShaderProg);
}
else {
setup_ff_generate_mipmap(ctx, mipmap);
@@ -3294,15 +3243,9 @@ _mesa_meta_GenerateMipmap(struct gl_context *ctx, GLenum target,
_mesa_GenSamplers(1, &mipmap->Sampler);
_mesa_BindSampler(ctx->Texture.CurrentUnit, mipmap->Sampler);
- if (use_glsl_version && texObj->_IsIntegerFormat)
- _mesa_SamplerParameteri(mipmap->Sampler,
- GL_TEXTURE_MIN_FILTER,
- GL_NEAREST_MIPMAP_NEAREST);
- else
- _mesa_SamplerParameteri(mipmap->Sampler,
- GL_TEXTURE_MIN_FILTER,
- GL_LINEAR_MIPMAP_LINEAR);
-
+ _mesa_SamplerParameteri(mipmap->Sampler,
+ GL_TEXTURE_MIN_FILTER,
+ GL_LINEAR_MIPMAP_LINEAR);
_mesa_SamplerParameteri(mipmap->Sampler, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
_mesa_SamplerParameteri(mipmap->Sampler, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
_mesa_SamplerParameteri(mipmap->Sampler, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
diff --git a/mesalib/src/mesa/main/.gitignore b/mesalib/src/mesa/main/.gitignore
index 12c88372a..b1b83f102 100644
--- a/mesalib/src/mesa/main/.gitignore
+++ b/mesalib/src/mesa/main/.gitignore
@@ -1,3 +1,4 @@
+api_exec.c
dispatch.h
enums.c
get_es1.c
diff --git a/mesalib/src/mesa/main/accum.c b/mesalib/src/mesa/main/accum.c
index e2d7726b5..6416ee860 100644
--- a/mesalib/src/mesa/main/accum.c
+++ b/mesalib/src/mesa/main/accum.c
@@ -55,7 +55,7 @@ _mesa_ClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha )
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_Accum( GLenum op, GLfloat value )
{
GET_CURRENT_CONTEXT(ctx);
@@ -106,14 +106,6 @@ _mesa_Accum( GLenum op, GLfloat value )
}
-void
-_mesa_init_accum_dispatch(struct _glapi_table *disp)
-{
- SET_Accum(disp, _mesa_Accum);
- SET_ClearAccum(disp, _mesa_ClearAccum);
-}
-
-
/**
* Clear the accumulation buffer by mapping the renderbuffer and
* writing the clear color to it. Called by the driver's implementation
diff --git a/mesalib/src/mesa/main/accum.h b/mesalib/src/mesa/main/accum.h
index 594a7687d..00c24b2db 100644
--- a/mesalib/src/mesa/main/accum.h
+++ b/mesalib/src/mesa/main/accum.h
@@ -46,9 +46,8 @@ struct gl_renderbuffer;
extern void GLAPIENTRY
_mesa_ClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
-
-extern void
-_mesa_init_accum_dispatch(struct _glapi_table *disp);
+void GLAPIENTRY
+_mesa_Accum( GLenum op, GLfloat value );
extern void
_mesa_accum(struct gl_context *ctx, GLenum op, GLfloat value);
diff --git a/mesalib/src/mesa/main/api_exec.c b/mesalib/src/mesa/main/api_exec.c
deleted file mode 100644
index bc5f71f0d..000000000
--- a/mesalib/src/mesa/main/api_exec.c
+++ /dev/null
@@ -1,935 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 7.1
- *
- * Copyright (C) 1999-2008 Brian Paul All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-
-/**
- * \file api_exec.c
- * Initialize dispatch table with the immidiate mode functions.
- */
-
-
-#include "mfeatures.h"
-#include "accum.h"
-#include "api_loopback.h"
-#include "api_exec.h"
-#include "arbprogram.h"
-#include "atifragshader.h"
-#include "attrib.h"
-#include "blend.h"
-#include "bufferobj.h"
-#include "arrayobj.h"
-#include "buffers.h"
-#include "clear.h"
-#include "clip.h"
-#include "colortab.h"
-#include "condrender.h"
-#include "context.h"
-#include "convolve.h"
-#include "depth.h"
-#include "dlist.h"
-#include "drawpix.h"
-#include "drawtex.h"
-#include "rastpos.h"
-#include "enable.h"
-#include "errors.h"
-#include "es1_conversion.h"
-#include "eval.h"
-#include "get.h"
-#include "feedback.h"
-#include "fog.h"
-#include "fbobject.h"
-#include "framebuffer.h"
-#include "hint.h"
-#include "histogram.h"
-#include "imports.h"
-#include "light.h"
-#include "lines.h"
-#include "matrix.h"
-#include "multisample.h"
-#include "pixel.h"
-#include "pixelstore.h"
-#include "points.h"
-#include "polygon.h"
-#include "querymatrix.h"
-#include "queryobj.h"
-#include "readpix.h"
-#include "samplerobj.h"
-#include "scissor.h"
-#include "stencil.h"
-#include "texenv.h"
-#include "texgetimage.h"
-#include "teximage.h"
-#include "texgen.h"
-#include "texobj.h"
-#include "texparam.h"
-#include "texstate.h"
-#include "texstorage.h"
-#include "texturebarrier.h"
-#include "transformfeedback.h"
-#include "mtypes.h"
-#include "varray.h"
-#include "viewport.h"
-#include "shaderapi.h"
-#include "uniforms.h"
-#include "syncobj.h"
-#include "main/dispatch.h"
-
-
-/**
- * Initialize a dispatch table with pointers to Mesa's immediate-mode
- * commands.
- *
- * Pointers to glBegin()/glEnd() object commands and a few others
- * are provided via the GLvertexformat interface.
- *
- * \param ctx GL context to which \c exec belongs.
- * \param exec dispatch table.
- */
-struct _glapi_table *
-_mesa_create_exec_table(struct gl_context *ctx)
-{
- struct _glapi_table *exec;
-
- exec = _mesa_alloc_dispatch_table(_gloffset_COUNT);
- if (exec == NULL)
- return NULL;
-
- _mesa_loopback_init_api_table(ctx, exec);
-
- /* load the dispatch slots we understand */
- if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) {
- SET_AlphaFunc(exec, _mesa_AlphaFunc);
- }
-
- SET_BlendFunc(exec, _mesa_BlendFunc);
- SET_Clear(exec, _mesa_Clear);
- SET_ClearColor(exec, _mesa_ClearColor);
- SET_ClearStencil(exec, _mesa_ClearStencil);
- SET_ColorMask(exec, _mesa_ColorMask);
- SET_CullFace(exec, _mesa_CullFace);
- SET_Disable(exec, _mesa_Disable);
- if (ctx->API == API_OPENGL || ctx->API == API_OPENGL_CORE)
- SET_DrawBuffer(exec, _mesa_DrawBuffer);
- if (ctx->API != API_OPENGLES) {
- SET_ReadBuffer(exec, _mesa_ReadBuffer);
- }
- SET_Enable(exec, _mesa_Enable);
- SET_Finish(exec, _mesa_Finish);
- SET_Flush(exec, _mesa_Flush);
- SET_FrontFace(exec, _mesa_FrontFace);
- if (ctx->API == API_OPENGL) {
- SET_Frustum(exec, _mesa_Frustum);
- }
- SET_GetError(exec, _mesa_GetError);
- SET_GetFloatv(exec, _mesa_GetFloatv);
- SET_GetString(exec, _mesa_GetString);
- if (ctx->API == API_OPENGL) {
- SET_LineStipple(exec, _mesa_LineStipple);
- }
- SET_LineWidth(exec, _mesa_LineWidth);
- if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) {
- SET_LoadIdentity(exec, _mesa_LoadIdentity);
- SET_LoadMatrixf(exec, _mesa_LoadMatrixf);
- }
- if (ctx->API != API_OPENGLES2) {
- SET_LogicOp(exec, _mesa_LogicOp);
- }
- if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) {
- SET_MatrixMode(exec, _mesa_MatrixMode);
- SET_MultMatrixf(exec, _mesa_MultMatrixf);
- }
- if (ctx->API == API_OPENGL) {
- SET_Ortho(exec, _mesa_Ortho);
- }
- SET_PixelStorei(exec, _mesa_PixelStorei);
- if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) {
- SET_PopMatrix(exec, _mesa_PopMatrix);
- SET_PushMatrix(exec, _mesa_PushMatrix);
- SET_Rotatef(exec, _mesa_Rotatef);
- SET_Scalef(exec, _mesa_Scalef);
- }
- SET_Scissor(exec, _mesa_Scissor);
- if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) {
- SET_ShadeModel(exec, _mesa_ShadeModel);
- }
- SET_StencilFunc(exec, _mesa_StencilFunc);
- SET_StencilMask(exec, _mesa_StencilMask);
- SET_StencilOp(exec, _mesa_StencilOp);
- if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) {
- SET_TexEnvfv(exec, _mesa_TexEnvfv);
- SET_TexEnvi(exec, _mesa_TexEnvi);
- }
- SET_TexImage2D(exec, _mesa_TexImage2D);
- SET_TexParameteri(exec, _mesa_TexParameteri);
- if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) {
- SET_Translatef(exec, _mesa_Translatef);
- }
- SET_Viewport(exec, _mesa_Viewport);
-
- if (ctx->API == API_OPENGL) {
- _mesa_init_accum_dispatch(exec);
- _mesa_init_dlist_dispatch(exec);
- }
-
- if (_mesa_is_desktop_gl(ctx)) {
- SET_ClearDepth(exec, _mesa_ClearDepth);
- }
-
- if (ctx->API == API_OPENGL) {
- SET_ClearIndex(exec, _mesa_ClearIndex);
- SET_ClipPlane(exec, _mesa_ClipPlane);
- SET_ColorMaterial(exec, _mesa_ColorMaterial);
- }
- SET_DepthFunc(exec, _mesa_DepthFunc);
- SET_DepthMask(exec, _mesa_DepthMask);
-
- if (_mesa_is_desktop_gl(ctx)) {
- SET_DepthRange(exec, _mesa_DepthRange);
- }
-
- if (ctx->API == API_OPENGL) {
- _mesa_init_drawpix_dispatch(exec);
- }
- if (ctx->API == API_OPENGL) {
- _mesa_init_feedback_dispatch(exec);
- }
-
- if (ctx->API == API_OPENGL) {
- SET_FogCoordPointerEXT(exec, _mesa_FogCoordPointerEXT);
- SET_Fogi(exec, _mesa_Fogi);
- SET_Fogiv(exec, _mesa_Fogiv);
- SET_GetClipPlane(exec, _mesa_GetClipPlane);
- }
- if (ctx->API == API_OPENGL || ctx->API == API_OPENGLES) {
- SET_Fogf(exec, _mesa_Fogf);
- SET_Fogfv(exec, _mesa_Fogfv);
- }
- SET_GetBooleanv(exec, _mesa_GetBooleanv);
- if (_mesa_is_desktop_gl(ctx)) {
- SET_GetDoublev(exec, _mesa_GetDoublev);
- }
- SET_GetIntegerv(exec, _mesa_GetIntegerv);
- if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) {
- SET_GetLightfv(exec, _mesa_GetLightfv);
- SET_GetMaterialfv(exec, _mesa_GetMaterialfv);
- SET_GetTexEnvfv(exec, _mesa_GetTexEnvfv);
- SET_GetTexEnviv(exec, _mesa_GetTexEnviv);
- }
- if (ctx->API == API_OPENGL) {
- SET_GetLightiv(exec, _mesa_GetLightiv);
- SET_GetMaterialiv(exec, _mesa_GetMaterialiv);
- SET_GetPolygonStipple(exec, _mesa_GetPolygonStipple);
- }
- if (_mesa_is_desktop_gl(ctx)) {
- SET_GetTexLevelParameterfv(exec, _mesa_GetTexLevelParameterfv);
- SET_GetTexLevelParameteriv(exec, _mesa_GetTexLevelParameteriv);
- }
- SET_GetTexParameterfv(exec, _mesa_GetTexParameterfv);
- SET_GetTexParameteriv(exec, _mesa_GetTexParameteriv);
- if (_mesa_is_desktop_gl(ctx)) {
- SET_GetTexImage(exec, _mesa_GetTexImage);
- }
- SET_Hint(exec, _mesa_Hint);
- if (ctx->API == API_OPENGL) {
- SET_IndexMask(exec, _mesa_IndexMask);
- }
- SET_IsEnabled(exec, _mesa_IsEnabled);
- if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) {
- SET_LightModelf(exec, _mesa_LightModelf);
- SET_LightModelfv(exec, _mesa_LightModelfv);
- SET_Lightf(exec, _mesa_Lightf);
- SET_Lightfv(exec, _mesa_Lightfv);
- }
- if (ctx->API == API_OPENGL) {
- SET_LightModeli(exec, _mesa_LightModeli);
- SET_LightModeliv(exec, _mesa_LightModeliv);
- SET_Lighti(exec, _mesa_Lighti);
- SET_Lightiv(exec, _mesa_Lightiv);
- SET_LoadMatrixd(exec, _mesa_LoadMatrixd);
- }
-
- if (ctx->API == API_OPENGL) {
- _mesa_init_eval_dispatch(exec);
- SET_MultMatrixd(exec, _mesa_MultMatrixd);
- _mesa_init_pixel_dispatch(exec);
- }
-
- if (ctx->API != API_OPENGLES2) {
- SET_PointSize(exec, _mesa_PointSize);
- }
-
- if (_mesa_is_desktop_gl(ctx)) {
- SET_PixelStoref(exec, _mesa_PixelStoref);
- SET_PolygonMode(exec, _mesa_PolygonMode);
- }
-
- SET_PolygonOffset(exec, _mesa_PolygonOffset);
- if (ctx->API == API_OPENGL) {
- SET_PolygonStipple(exec, _mesa_PolygonStipple);
- _mesa_init_attrib_dispatch(exec);
- _mesa_init_rastpos_dispatch(exec);
- }
-
- SET_ReadPixels(exec, _mesa_ReadPixels);
- if (ctx->API == API_OPENGL) {
- SET_Rotated(exec, _mesa_Rotated);
- SET_Scaled(exec, _mesa_Scaled);
- SET_SecondaryColorPointerEXT(exec, _mesa_SecondaryColorPointerEXT);
- }
- if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) {
- SET_TexEnvf(exec, _mesa_TexEnvf);
- SET_TexEnviv(exec, _mesa_TexEnviv);
- }
-
- if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) {
- _mesa_init_texgen_dispatch(ctx, exec);
- }
-
- if (_mesa_is_desktop_gl(ctx)) {
- SET_TexImage1D(exec, _mesa_TexImage1D);
- }
- SET_TexParameterf(exec, _mesa_TexParameterf);
- SET_TexParameterfv(exec, _mesa_TexParameterfv);
- SET_TexParameteriv(exec, _mesa_TexParameteriv);
- if (ctx->API == API_OPENGL) {
- SET_Translated(exec, _mesa_Translated);
- }
-
- /* 1.1 */
- SET_BindTexture(exec, _mesa_BindTexture);
- SET_DeleteTextures(exec, _mesa_DeleteTextures);
- SET_GenTextures(exec, _mesa_GenTextures);
- if (ctx->API == API_OPENGL) {
- SET_AreTexturesResident(exec, _mesa_AreTexturesResident);
- }
- if (ctx->API == API_OPENGL || ctx->API == API_OPENGLES) {
- SET_ColorPointer(exec, _mesa_ColorPointer);
- }
- if (_mesa_is_desktop_gl(ctx)) {
- SET_CopyTexImage1D(exec, _mesa_CopyTexImage1D);
- SET_CopyTexSubImage1D(exec, _mesa_CopyTexSubImage1D);
- SET_TexSubImage1D(exec, _mesa_TexSubImage1D);
- }
-
- SET_CopyTexImage2D(exec, _mesa_CopyTexImage2D);
- SET_CopyTexSubImage2D(exec, _mesa_CopyTexSubImage2D);
- SET_TexSubImage2D(exec, _mesa_TexSubImage2D);
-
- if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) {
- SET_DisableClientState(exec, _mesa_DisableClientState);
- SET_EnableClientState(exec, _mesa_EnableClientState);
- }
- if (ctx->API == API_OPENGL) {
- SET_EdgeFlagPointer(exec, _mesa_EdgeFlagPointer);
- SET_IndexPointer(exec, _mesa_IndexPointer);
- SET_InterleavedArrays(exec, _mesa_InterleavedArrays);
- }
- if (ctx->API != API_OPENGLES2) {
- /* Note glGetPointerv is deprecated in GL CORE 3.1 through 4.2, but
- * was re-added in GL CORE 4.3. We will just keep the function
- * around in all GL CORE contexts.
- */
- SET_GetPointerv(exec, _mesa_GetPointerv);
- }
- SET_IsTexture(exec, _mesa_IsTexture);
- if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) {
- SET_NormalPointer(exec, _mesa_NormalPointer);
- SET_TexCoordPointer(exec, _mesa_TexCoordPointer);
- SET_VertexPointer(exec, _mesa_VertexPointer);
- }
- if (ctx->API == API_OPENGL) {
- SET_PrioritizeTextures(exec, _mesa_PrioritizeTextures);
- }
-
- /* 1.2 */
- if (ctx->API != API_OPENGLES) {
- SET_CopyTexSubImage3D(exec, _mesa_CopyTexSubImage3D);
- SET_TexImage3D(exec, _mesa_TexImage3D);
- SET_TexSubImage3D(exec, _mesa_TexSubImage3D);
- }
-
- /* OpenGL 1.2 GL_ARB_imaging */
- if (ctx->API != API_OPENGLES) {
- SET_BlendColor(exec, _mesa_BlendColor);
- }
- SET_BlendEquation(exec, _mesa_BlendEquation);
- SET_BlendEquationSeparateEXT(exec, _mesa_BlendEquationSeparateEXT);
-
- if (ctx->API == API_OPENGL) {
- _mesa_init_colortable_dispatch(exec);
- _mesa_init_convolve_dispatch(exec);
- _mesa_init_histogram_dispatch(exec);
- }
-
- /* OpenGL 2.0 */
- if (ctx->API != API_OPENGLES) {
- SET_StencilFuncSeparate(exec, _mesa_StencilFuncSeparate);
- SET_StencilMaskSeparate(exec, _mesa_StencilMaskSeparate);
- SET_StencilOpSeparate(exec, _mesa_StencilOpSeparate);
- }
-
- _mesa_init_shader_dispatch(ctx, exec);
- _mesa_init_shader_uniform_dispatch(ctx, exec);
-
- /* 2. GL_EXT_blend_color */
-#if 0
-/* SET_BlendColorEXT(exec, _mesa_BlendColorEXT); */
-#endif
-
- /* 3. GL_EXT_polygon_offset */
- if (ctx->API == API_OPENGL) {
- SET_PolygonOffsetEXT(exec, _mesa_PolygonOffsetEXT);
- }
-
- /* 6. GL_EXT_texture3d */
-#if 0
-/* SET_CopyTexSubImage3DEXT(exec, _mesa_CopyTexSubImage3D); */
-/* SET_TexImage3DEXT(exec, _mesa_TexImage3DEXT); */
-/* SET_TexSubImage3DEXT(exec, _mesa_TexSubImage3D); */
-#endif
-
- /* 11. GL_EXT_histogram */
-#if 0
- if (ctx->API == API_OPENGL) {
- SET_GetHistogramEXT(exec, _mesa_GetHistogram);
- SET_GetHistogramParameterfvEXT(exec, _mesa_GetHistogramParameterfv);
- SET_GetHistogramParameterivEXT(exec, _mesa_GetHistogramParameteriv);
- SET_GetMinmaxEXT(exec, _mesa_GetMinmax);
- SET_GetMinmaxParameterfvEXT(exec, _mesa_GetMinmaxParameterfv);
- SET_GetMinmaxParameterivEXT(exec, _mesa_GetMinmaxParameteriv);
- }
-#endif
-
- /* 14. SGI_color_table */
-#if 0
- if (ctx->API == API_OPENGL) {
- SET_ColorTableSGI(exec, _mesa_ColorTable);
- SET_ColorSubTableSGI(exec, _mesa_ColorSubTable);
- SET_GetColorTableSGI(exec, _mesa_GetColorTable);
- SET_GetColorTableParameterfvSGI(exec, _mesa_GetColorTableParameterfv);
- SET_GetColorTableParameterivSGI(exec, _mesa_GetColorTableParameteriv);
- }
-#endif
-
- /* 30. GL_EXT_vertex_array */
- if (ctx->API == API_OPENGL) {
- SET_ColorPointerEXT(exec, _mesa_ColorPointerEXT);
- SET_EdgeFlagPointerEXT(exec, _mesa_EdgeFlagPointerEXT);
- SET_IndexPointerEXT(exec, _mesa_IndexPointerEXT);
- SET_NormalPointerEXT(exec, _mesa_NormalPointerEXT);
- SET_TexCoordPointerEXT(exec, _mesa_TexCoordPointerEXT);
- SET_VertexPointerEXT(exec, _mesa_VertexPointerEXT);
- }
-
- /* 37. GL_EXT_blend_minmax */
-#if 0
- SET_BlendEquationEXT(exec, _mesa_BlendEquationEXT);
-#endif
-
- /* 54. GL_EXT_point_parameters */
- if (ctx->API != API_OPENGLES2) {
- SET_PointParameterfEXT(exec, _mesa_PointParameterf);
- SET_PointParameterfvEXT(exec, _mesa_PointParameterfv);
- }
-
- /* 95. GL_ARB_ES2_compatibility */
- SET_ClearDepthf(exec, _mesa_ClearDepthf);
- SET_DepthRangef(exec, _mesa_DepthRangef);
-
- /* 97. GL_EXT_compiled_vertex_array */
- if (ctx->API == API_OPENGL) {
- SET_LockArraysEXT(exec, _mesa_LockArraysEXT);
- SET_UnlockArraysEXT(exec, _mesa_UnlockArraysEXT);
- }
-
- /* 148. GL_EXT_multi_draw_arrays */
- SET_MultiDrawArraysEXT(exec, _mesa_MultiDrawArraysEXT);
-
- /* 173. GL_INGR_blend_func_separate */
- SET_BlendFuncSeparateEXT(exec, _mesa_BlendFuncSeparateEXT);
-
- /* 196. GL_MESA_resize_buffers */
- if (_mesa_is_desktop_gl(ctx)) {
- SET_ResizeBuffersMESA(exec, _mesa_ResizeBuffersMESA);
- }
-
- /* 197. GL_MESA_window_pos */
- /* part of _mesa_init_rastpos_dispatch(exec); */
-
- /* 200. GL_IBM_multimode_draw_arrays */
- if (_mesa_is_desktop_gl(ctx)) {
- SET_MultiModeDrawArraysIBM(exec, _mesa_MultiModeDrawArraysIBM);
- SET_MultiModeDrawElementsIBM(exec, _mesa_MultiModeDrawElementsIBM);
- }
-
- /* 233. GL_NV_vertex_program */
- if (ctx->API == API_OPENGL) {
- SET_BindProgramNV(exec, _mesa_BindProgram);
- SET_DeleteProgramsNV(exec, _mesa_DeletePrograms);
- SET_GenProgramsNV(exec, _mesa_GenPrograms);
- SET_IsProgramNV(exec, _mesa_IsProgramARB);
- /* glVertexAttrib*NV functions handled in api_loopback.c */
- }
-
- /* 273. GL_APPLE_vertex_array_object */
- if (ctx->API == API_OPENGL) {
- SET_BindVertexArrayAPPLE(exec, _mesa_BindVertexArrayAPPLE);
- SET_GenVertexArraysAPPLE(exec, _mesa_GenVertexArraysAPPLE);
- }
- /* Reused by ARB_vertex_array_object / OES_vertex_array_object */
- if (ctx->API != API_OPENGLES) {
- SET_DeleteVertexArraysAPPLE(exec, _mesa_DeleteVertexArraysAPPLE);
- SET_IsVertexArrayAPPLE(exec, _mesa_IsVertexArrayAPPLE);
- }
-
- /* 262. GL_NV_point_sprite */
- if (_mesa_is_desktop_gl(ctx)) {
- SET_PointParameteriNV(exec, _mesa_PointParameteri);
- SET_PointParameterivNV(exec, _mesa_PointParameteriv);
- }
-
- /* 268. GL_EXT_stencil_two_side */
- if (ctx->API == API_OPENGL) {
- SET_ActiveStencilFaceEXT(exec, _mesa_ActiveStencilFaceEXT);
- }
-
- /* 285. GL_NV_primitive_restart */
- if (_mesa_is_desktop_gl(ctx)) {
- SET_PrimitiveRestartIndexNV(exec, _mesa_PrimitiveRestartIndex);
- }
-
- /* ???. GL_EXT_depth_bounds_test */
- if (_mesa_is_desktop_gl(ctx)) {
- SET_DepthBoundsEXT(exec, _mesa_DepthBoundsEXT);
- }
-
- /* 352. GL_EXT_transform_feedback */
- /* ARB 93. GL_ARB_transform_feedback2 */
- if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) {
- _mesa_init_transform_feedback_dispatch(ctx, exec);
- }
-
- /* 364. GL_EXT_provoking_vertex */
- if (_mesa_is_desktop_gl(ctx)) {
- SET_ProvokingVertexEXT(exec, _mesa_ProvokingVertexEXT);
- }
-
- /* ARB 1. GL_ARB_multitexture */
- SET_ActiveTextureARB(exec, _mesa_ActiveTextureARB);
- if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) {
- SET_ClientActiveTextureARB(exec, _mesa_ClientActiveTextureARB);
- }
-
- /* ARB 3. GL_ARB_transpose_matrix */
- if (ctx->API == API_OPENGL) {
- SET_LoadTransposeMatrixdARB(exec, _mesa_LoadTransposeMatrixdARB);
- SET_LoadTransposeMatrixfARB(exec, _mesa_LoadTransposeMatrixfARB);
- SET_MultTransposeMatrixdARB(exec, _mesa_MultTransposeMatrixdARB);
- SET_MultTransposeMatrixfARB(exec, _mesa_MultTransposeMatrixfARB);
- }
-
- /* ARB 5. GL_ARB_multisample */
- SET_SampleCoverageARB(exec, _mesa_SampleCoverageARB);
-
- /* ARB 12. GL_ARB_texture_compression */
- if (_mesa_is_desktop_gl(ctx)) {
- SET_CompressedTexImage1DARB(exec, _mesa_CompressedTexImage1DARB);
- SET_CompressedTexSubImage1DARB(exec, _mesa_CompressedTexSubImage1DARB);
- SET_GetCompressedTexImageARB(exec, _mesa_GetCompressedTexImageARB);
- }
-
- if (ctx->API != API_OPENGLES) {
- SET_CompressedTexImage3DARB(exec, _mesa_CompressedTexImage3DARB);
- }
- SET_CompressedTexImage2DARB(exec, _mesa_CompressedTexImage2DARB);
- if (ctx->API != API_OPENGLES) {
- SET_CompressedTexSubImage3DARB(exec, _mesa_CompressedTexSubImage3DARB);
- }
- SET_CompressedTexSubImage2DARB(exec, _mesa_CompressedTexSubImage2DARB);
-
- /* ARB 104. GL_ARB_robustness */
- if (_mesa_is_desktop_gl(ctx)) {
- SET_GetnCompressedTexImageARB(exec, _mesa_GetnCompressedTexImageARB);
- }
-
- /* ARB 14. GL_ARB_point_parameters */
- /* reuse EXT_point_parameters functions */
-
- /* ARB 26. GL_ARB_vertex_program */
- /* ARB 27. GL_ARB_fragment_program */
- /* glVertexAttrib1sARB aliases glVertexAttrib1sNV */
- /* glVertexAttrib1fARB aliases glVertexAttrib1fNV */
- /* glVertexAttrib1dARB aliases glVertexAttrib1dNV */
- /* glVertexAttrib2sARB aliases glVertexAttrib2sNV */
- /* glVertexAttrib2fARB aliases glVertexAttrib2fNV */
- /* glVertexAttrib2dARB aliases glVertexAttrib2dNV */
- /* glVertexAttrib3sARB aliases glVertexAttrib3sNV */
- /* glVertexAttrib3fARB aliases glVertexAttrib3fNV */
- /* glVertexAttrib3dARB aliases glVertexAttrib3dNV */
- /* glVertexAttrib4sARB aliases glVertexAttrib4sNV */
- /* glVertexAttrib4fARB aliases glVertexAttrib4fNV */
- /* glVertexAttrib4dARB aliases glVertexAttrib4dNV */
- /* glVertexAttrib4NubARB aliases glVertexAttrib4NubNV */
- /* glVertexAttrib1svARB aliases glVertexAttrib1svNV */
- /* glVertexAttrib1fvARB aliases glVertexAttrib1fvNV */
- /* glVertexAttrib1dvARB aliases glVertexAttrib1dvNV */
- /* glVertexAttrib2svARB aliases glVertexAttrib2svNV */
- /* glVertexAttrib2fvARB aliases glVertexAttrib2fvNV */
- /* glVertexAttrib2dvARB aliases glVertexAttrib2dvNV */
- /* glVertexAttrib3svARB aliases glVertexAttrib3svNV */
- /* glVertexAttrib3fvARB aliases glVertexAttrib3fvNV */
- /* glVertexAttrib3dvARB aliases glVertexAttrib3dvNV */
- /* glVertexAttrib4svARB aliases glVertexAttrib4svNV */
- /* glVertexAttrib4fvARB aliases glVertexAttrib4fvNV */
- /* glVertexAttrib4dvARB aliases glVertexAttrib4dvNV */
- /* glVertexAttrib4NubvARB aliases glVertexAttrib4NubvNV */
- /* glVertexAttrib4bvARB handled in api_loopback.c */
- /* glVertexAttrib4ivARB handled in api_loopback.c */
- /* glVertexAttrib4ubvARB handled in api_loopback.c */
- /* glVertexAttrib4usvARB handled in api_loopback.c */
- /* glVertexAttrib4uivARB handled in api_loopback.c */
- /* glVertexAttrib4NbvARB handled in api_loopback.c */
- /* glVertexAttrib4NsvARB handled in api_loopback.c */
- /* glVertexAttrib4NivARB handled in api_loopback.c */
- /* glVertexAttrib4NusvARB handled in api_loopback.c */
- /* glVertexAttrib4NuivARB handled in api_loopback.c */
- if (ctx->API != API_OPENGLES) {
- SET_VertexAttribPointerARB(exec, _mesa_VertexAttribPointerARB);
- SET_EnableVertexAttribArrayARB(exec, _mesa_EnableVertexAttribArrayARB);
- SET_DisableVertexAttribArrayARB(exec, _mesa_DisableVertexAttribArrayARB);
- }
- if (_mesa_is_desktop_gl(ctx)) {
- /* glBindProgramARB aliases glBindProgramNV */
- /* glDeleteProgramsARB aliases glDeleteProgramsNV */
- /* glGenProgramsARB aliases glGenProgramsNV */
- /* glIsProgramARB aliases glIsProgramNV */
- SET_GetVertexAttribdvARB(exec, _mesa_GetVertexAttribdvARB);
- }
- if (ctx->API == API_OPENGL) {
- SET_ProgramStringARB(exec, _mesa_ProgramStringARB);
- }
-
- if (ctx->API != API_OPENGLES) {
- SET_GetVertexAttribfvARB(exec, _mesa_GetVertexAttribfvARB);
- SET_GetVertexAttribivARB(exec, _mesa_GetVertexAttribivARB);
- SET_GetVertexAttribPointervNV(exec, _mesa_GetVertexAttribPointervARB);
- }
- if (ctx->API == API_OPENGL) {
- SET_ProgramEnvParameter4dARB(exec, _mesa_ProgramEnvParameter4dARB);
- SET_ProgramEnvParameter4dvARB(exec, _mesa_ProgramEnvParameter4dvARB);
- SET_ProgramEnvParameter4fARB(exec, _mesa_ProgramEnvParameter4fARB);
- SET_ProgramEnvParameter4fvARB(exec, _mesa_ProgramEnvParameter4fvARB);
- SET_ProgramLocalParameter4dARB(exec, _mesa_ProgramLocalParameter4dARB);
- SET_ProgramLocalParameter4dvARB(exec, _mesa_ProgramLocalParameter4dvARB);
- SET_ProgramLocalParameter4fARB(exec, _mesa_ProgramLocalParameter4fARB);
- SET_ProgramLocalParameter4fvARB(exec, _mesa_ProgramLocalParameter4fvARB);
- SET_GetProgramEnvParameterdvARB(exec, _mesa_GetProgramEnvParameterdvARB);
- SET_GetProgramEnvParameterfvARB(exec, _mesa_GetProgramEnvParameterfvARB);
- SET_GetProgramivARB(exec, _mesa_GetProgramivARB);
- SET_GetProgramLocalParameterdvARB(exec, _mesa_GetProgramLocalParameterdvARB);
- SET_GetProgramLocalParameterfvARB(exec, _mesa_GetProgramLocalParameterfvARB);
- SET_GetProgramStringARB(exec, _mesa_GetProgramStringARB);
- }
-
- /* ARB 28. GL_ARB_vertex_buffer_object */
- _mesa_init_bufferobj_dispatch(ctx, exec);
-
- /* ARB 29. GL_ARB_occlusion_query */
- if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) {
- _mesa_init_queryobj_dispatch(ctx, exec);
- }
-
- /* ARB 37. GL_ARB_draw_buffers */
- if (ctx->API != API_OPENGLES) {
- SET_DrawBuffersARB(exec, _mesa_DrawBuffersARB);
- }
-
- /* ARB 66. GL_ARB_sync */
- if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) {
- _mesa_init_sync_dispatch(exec);
- }
-
- /* ARB 104. GL_ARB_debug_output */
- if (_mesa_is_desktop_gl(ctx)) {
- _mesa_init_errors_dispatch(exec);
- }
-
- /* ARB 105. GL_ARB_robustness */
- if (_mesa_is_desktop_gl(ctx)) {
- SET_GetGraphicsResetStatusARB(exec, _mesa_GetGraphicsResetStatusARB);
- SET_GetnPolygonStippleARB(exec, _mesa_GetnPolygonStippleARB);
- SET_GetnTexImageARB(exec, _mesa_GetnTexImageARB);
- SET_ReadnPixelsARB(exec, _mesa_ReadnPixelsARB);
- }
-
- /* GL_ATI_fragment_shader */
- if (ctx->API == API_OPENGL) {
- _mesa_init_ati_fragment_shader_dispatch(exec);
- }
-
- /* GL_ATI_envmap_bumpmap */
- if (ctx->API == API_OPENGL) {
- SET_GetTexBumpParameterivATI(exec, _mesa_GetTexBumpParameterivATI);
- SET_GetTexBumpParameterfvATI(exec, _mesa_GetTexBumpParameterfvATI);
- SET_TexBumpParameterivATI(exec, _mesa_TexBumpParameterivATI);
- SET_TexBumpParameterfvATI(exec, _mesa_TexBumpParameterfvATI);
- }
-
- SET_IsRenderbufferEXT(exec, _mesa_IsRenderbufferEXT);
- SET_BindRenderbufferEXT(exec, _mesa_BindRenderbufferEXT);
- SET_DeleteRenderbuffersEXT(exec, _mesa_DeleteRenderbuffersEXT);
- SET_GenRenderbuffersEXT(exec, _mesa_GenRenderbuffersEXT);
- SET_RenderbufferStorageEXT(exec, _mesa_RenderbufferStorageEXT);
- SET_GetRenderbufferParameterivEXT(exec, _mesa_GetRenderbufferParameterivEXT);
- SET_IsFramebufferEXT(exec, _mesa_IsFramebufferEXT);
- SET_BindFramebufferEXT(exec, _mesa_BindFramebufferEXT);
- SET_DeleteFramebuffersEXT(exec, _mesa_DeleteFramebuffersEXT);
- SET_GenFramebuffersEXT(exec, _mesa_GenFramebuffersEXT);
- SET_CheckFramebufferStatusEXT(exec, _mesa_CheckFramebufferStatusEXT);
- if (_mesa_is_desktop_gl(ctx)) {
- SET_FramebufferTexture1DEXT(exec, _mesa_FramebufferTexture1DEXT);
- }
- SET_FramebufferTexture2DEXT(exec, _mesa_FramebufferTexture2DEXT);
- if (ctx->API != API_OPENGLES) {
- SET_FramebufferTexture3DEXT(exec, _mesa_FramebufferTexture3DEXT);
- }
- SET_FramebufferRenderbufferEXT(exec, _mesa_FramebufferRenderbufferEXT);
- SET_GetFramebufferAttachmentParameterivEXT(exec, _mesa_GetFramebufferAttachmentParameterivEXT);
- SET_GenerateMipmapEXT(exec, _mesa_GenerateMipmapEXT);
-
- if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) {
- SET_BlitFramebufferEXT(exec, _mesa_BlitFramebufferEXT);
- }
-
- /* GL_EXT_gpu_program_parameters */
- if (ctx->API == API_OPENGL) {
- SET_ProgramEnvParameters4fvEXT(exec, _mesa_ProgramEnvParameters4fvEXT);
- SET_ProgramLocalParameters4fvEXT(exec, _mesa_ProgramLocalParameters4fvEXT);
- }
-
- /* GL_MESA_texture_array / GL_EXT_texture_array */
- if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) {
- SET_FramebufferTextureLayerEXT(exec, _mesa_FramebufferTextureLayerEXT);
- }
-
- /* GL_ATI_separate_stencil */
- if (ctx->API == API_OPENGL) {
- SET_StencilFuncSeparateATI(exec, _mesa_StencilFuncSeparateATI);
- }
-
- /* The ARB_fbo functions are the union of
- * GL_EXT_fbo, GL_EXT_framebuffer_blit, GL_EXT_texture_array
- */
- if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) {
- SET_RenderbufferStorageMultisample(exec, _mesa_RenderbufferStorageMultisample);
- }
-
- /* GL_ARB_map_buffer_range / GL_EXT_map_buffer_range */
- SET_MapBufferRange(exec, _mesa_MapBufferRange);
- SET_FlushMappedBufferRange(exec, _mesa_FlushMappedBufferRange);
-
- /* GL_ARB_copy_buffer */
- if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) {
- SET_CopyBufferSubData(exec, _mesa_CopyBufferSubData);
- }
-
- /* GL_ARB_vertex_array_object / GL_OES_vertex_array_object */
- if (ctx->API != API_OPENGLES) {
- SET_BindVertexArray(exec, _mesa_BindVertexArray);
- SET_GenVertexArrays(exec, _mesa_GenVertexArrays);
- }
-
- /* GL_EXT_draw_buffers2 */
- if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) {
- SET_GetIntegerIndexedvEXT(exec, _mesa_GetIntegerIndexedv);
- }
- if (_mesa_is_desktop_gl(ctx)) {
- SET_ColorMaskIndexedEXT(exec, _mesa_ColorMaskIndexed);
- SET_GetBooleanIndexedvEXT(exec, _mesa_GetBooleanIndexedv);
- SET_EnableIndexedEXT(exec, _mesa_EnableIndexed);
- SET_DisableIndexedEXT(exec, _mesa_DisableIndexed);
- SET_IsEnabledIndexedEXT(exec, _mesa_IsEnabledIndexed);
- }
-
- /* GL_NV_conditional_render */
- if (_mesa_is_desktop_gl(ctx)) {
- SET_BeginConditionalRenderNV(exec, _mesa_BeginConditionalRender);
- SET_EndConditionalRenderNV(exec, _mesa_EndConditionalRender);
- }
-
- SET_EGLImageTargetTexture2DOES(exec, _mesa_EGLImageTargetTexture2DOES);
- SET_EGLImageTargetRenderbufferStorageOES(exec, _mesa_EGLImageTargetRenderbufferStorageOES);
-
- if (_mesa_is_desktop_gl(ctx)) {
- SET_ObjectPurgeableAPPLE(exec, _mesa_ObjectPurgeableAPPLE);
- SET_ObjectUnpurgeableAPPLE(exec, _mesa_ObjectUnpurgeableAPPLE);
- SET_GetObjectParameterivAPPLE(exec, _mesa_GetObjectParameterivAPPLE);
- }
-
- if (_mesa_is_desktop_gl(ctx)) {
- SET_ClampColorARB(exec, _mesa_ClampColorARB);
- }
-
- /* GL_EXT_texture_integer */
- if (_mesa_is_desktop_gl(ctx)) {
- SET_ClearColorIiEXT(exec, _mesa_ClearColorIiEXT);
- SET_ClearColorIuiEXT(exec, _mesa_ClearColorIuiEXT);
- }
- if (_mesa_is_desktop_gl(ctx)) {
- SET_GetTexParameterIivEXT(exec, _mesa_GetTexParameterIiv);
- SET_GetTexParameterIuivEXT(exec, _mesa_GetTexParameterIuiv);
- SET_TexParameterIivEXT(exec, _mesa_TexParameterIiv);
- SET_TexParameterIuivEXT(exec, _mesa_TexParameterIuiv);
- }
-
- /* GL_EXT_gpu_shader4 / OpenGL 3.0 */
- if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) {
- SET_GetVertexAttribIivEXT(exec, _mesa_GetVertexAttribIiv);
- SET_GetVertexAttribIuivEXT(exec, _mesa_GetVertexAttribIuiv);
- SET_VertexAttribIPointerEXT(exec, _mesa_VertexAttribIPointer);
- }
-
- /* GL 3.0 (functions not covered by other extensions) */
- if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) {
- SET_ClearBufferiv(exec, _mesa_ClearBufferiv);
- SET_ClearBufferuiv(exec, _mesa_ClearBufferuiv);
- SET_ClearBufferfv(exec, _mesa_ClearBufferfv);
- SET_ClearBufferfi(exec, _mesa_ClearBufferfi);
- SET_GetStringi(exec, _mesa_GetStringi);
- }
-
- /* GL_ARB_instanced_arrays */
- if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) {
- SET_VertexAttribDivisorARB(exec, _mesa_VertexAttribDivisor);
- }
-
- /* GL_ARB_draw_buffer_blend */
- if (_mesa_is_desktop_gl(ctx)) {
- SET_BlendFunciARB(exec, _mesa_BlendFunci);
- SET_BlendFuncSeparateiARB(exec, _mesa_BlendFuncSeparatei);
- SET_BlendEquationiARB(exec, _mesa_BlendEquationi);
- SET_BlendEquationSeparateiARB(exec, _mesa_BlendEquationSeparatei);
- }
-
- /* GL_NV_texture_barrier */
- if (_mesa_is_desktop_gl(ctx)) {
- SET_TextureBarrierNV(exec, _mesa_TextureBarrierNV);
- }
-
- /* GL_ARB_texture_buffer_object */
- if (_mesa_is_desktop_gl(ctx)) {
- SET_TexBufferARB(exec, _mesa_TexBuffer);
- }
-
- /* GL_ARB_texture_storage */
- if (_mesa_is_desktop_gl(ctx)) {
- SET_TexStorage1D(exec, _mesa_TexStorage1D);
- SET_TextureStorage1DEXT(exec, _mesa_TextureStorage1DEXT);
- }
- if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) {
- SET_TexStorage2D(exec, _mesa_TexStorage2D);
- SET_TexStorage3D(exec, _mesa_TexStorage3D);
- }
- if (_mesa_is_desktop_gl(ctx)) {
- SET_TextureStorage2DEXT(exec, _mesa_TextureStorage2DEXT);
- SET_TextureStorage3DEXT(exec, _mesa_TextureStorage3DEXT);
- }
-
- if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) {
- _mesa_init_sampler_object_dispatch(ctx, exec);
- }
-
- if (_mesa_is_desktop_gl(ctx)) {
- SET_InvalidateTexSubImage(exec, _mesa_InvalidateTexSubImage);
- SET_InvalidateTexImage(exec, _mesa_InvalidateTexImage);
- }
-
- if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) {
- SET_InvalidateSubFramebuffer(exec, _mesa_InvalidateSubFramebuffer);
- SET_InvalidateFramebuffer(exec, _mesa_InvalidateFramebuffer);
- }
-
-#if FEATURE_ES1
- if (ctx->API == API_OPENGLES) {
- SET_AlphaFuncxOES(exec, _es_AlphaFuncx);
- SET_ClearColorxOES(exec, _es_ClearColorx);
- SET_ClearDepthxOES(exec, _es_ClearDepthx);
- SET_ClipPlanefOES(exec, _es_ClipPlanef);
- SET_ClipPlanexOES(exec, _es_ClipPlanex);
- SET_Color4xOES(exec, _es_Color4x);
- SET_DepthRangexOES(exec, _es_DepthRangex);
- SET_DrawTexfOES(exec, _mesa_DrawTexf);
- SET_DrawTexfvOES(exec, _mesa_DrawTexfv);
- SET_DrawTexiOES(exec, _mesa_DrawTexi);
- SET_DrawTexivOES(exec, _mesa_DrawTexiv);
- SET_DrawTexsOES(exec, _mesa_DrawTexs);
- SET_DrawTexsvOES(exec, _mesa_DrawTexsv);
- SET_DrawTexxOES(exec, _es_DrawTexxOES);
- SET_DrawTexxvOES(exec, _es_DrawTexxvOES);
- SET_FogxOES(exec, _es_Fogx);
- SET_FogxvOES(exec, _es_Fogxv);
- SET_FrustumfOES(exec, _es_Frustumf);
- SET_FrustumxOES(exec, _es_Frustumx);
- SET_GetClipPlanefOES(exec, _es_GetClipPlanef);
- SET_GetClipPlanexOES(exec, _es_GetClipPlanex);
- SET_GetFixedvOES(exec, _mesa_GetFixedv);
- SET_GetLightxvOES(exec, _es_GetLightxv);
- SET_GetMaterialxvOES(exec, _es_GetMaterialxv);
- SET_GetTexEnvxvOES(exec, _es_GetTexEnvxv);
- SET_GetTexGenxvOES(exec, _check_GetTexGenxvOES);
- SET_GetTexParameterxvOES(exec, _es_GetTexParameterxv);
- SET_LightModelxOES(exec, _es_LightModelx);
- SET_LightModelxvOES(exec, _es_LightModelxv);
- SET_LightxOES(exec, _es_Lightx);
- SET_LightxvOES(exec, _es_Lightxv);
- SET_LineWidthxOES(exec, _es_LineWidthx);
- SET_LoadMatrixxOES(exec, _es_LoadMatrixx);
- SET_MaterialxOES(exec, _es_Materialx);
- SET_MaterialxvOES(exec, _es_Materialxv);
- SET_MultMatrixxOES(exec, _es_MultMatrixx);
- SET_MultiTexCoord4xOES(exec, _es_MultiTexCoord4x);
- SET_Normal3xOES(exec, _es_Normal3x);
- SET_OrthofOES(exec, _es_Orthof);
- SET_OrthoxOES(exec, _es_Orthox);
- SET_PointParameterxOES(exec, _es_PointParameterx);
- SET_PointParameterxvOES(exec, _es_PointParameterxv);
- SET_PointSizePointerOES(exec, _mesa_PointSizePointer);
- SET_PointSizexOES(exec, _es_PointSizex);
- SET_PolygonOffsetxOES(exec, _es_PolygonOffsetx);
- SET_QueryMatrixxOES(exec, _es_QueryMatrixxOES);
- SET_RotatexOES(exec, _es_Rotatex);
- SET_SampleCoveragexOES(exec, _es_SampleCoveragex);
- SET_ScalexOES(exec, _es_Scalex);
- SET_TexEnvxOES(exec, _es_TexEnvx);
- SET_TexEnvxvOES(exec, _es_TexEnvxv);
- SET_TexGenxOES(exec, _check_TexGenxOES);
- SET_TexGenxvOES(exec, _check_TexGenxvOES);
- SET_TexParameterxOES(exec, _es_TexParameterx);
- SET_TexParameterxvOES(exec, _es_TexParameterxv);
- SET_TranslatexOES(exec, _es_Translatex);
- }
-#endif
-
- return exec;
-}
diff --git a/mesalib/src/mesa/main/api_loopback.c b/mesalib/src/mesa/main/api_loopback.c
index 2d35f17ad..331553086 100644
--- a/mesalib/src/mesa/main/api_loopback.c
+++ b/mesalib/src/mesa/main/api_loopback.c
@@ -87,7 +87,7 @@
#define ATTRIBI_4UI(index,x,y,z,w) CALL_VertexAttribI4uiEXT(GET_DISPATCH(), (index,x,y,z,w))
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color3b_f( GLbyte red, GLbyte green, GLbyte blue )
{
COLORF( BYTE_TO_FLOAT(red),
@@ -96,41 +96,41 @@ loopback_Color3b_f( GLbyte red, GLbyte green, GLbyte blue )
1.0 );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color3d_f( GLdouble red, GLdouble green, GLdouble blue )
{
COLORF( (GLfloat) red, (GLfloat) green, (GLfloat) blue, 1.0 );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color3i_f( GLint red, GLint green, GLint blue )
{
COLORF( INT_TO_FLOAT(red), INT_TO_FLOAT(green),
INT_TO_FLOAT(blue), 1.0);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color3s_f( GLshort red, GLshort green, GLshort blue )
{
COLORF( SHORT_TO_FLOAT(red), SHORT_TO_FLOAT(green),
SHORT_TO_FLOAT(blue), 1.0);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color3ui_f( GLuint red, GLuint green, GLuint blue )
{
COLORF( UINT_TO_FLOAT(red), UINT_TO_FLOAT(green),
UINT_TO_FLOAT(blue), 1.0 );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color3us_f( GLushort red, GLushort green, GLushort blue )
{
COLORF( USHORT_TO_FLOAT(red), USHORT_TO_FLOAT(green),
USHORT_TO_FLOAT(blue), 1.0 );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color3ub_f( GLubyte red, GLubyte green, GLubyte blue )
{
COLORF( UBYTE_TO_FLOAT(red), UBYTE_TO_FLOAT(green),
@@ -138,48 +138,48 @@ loopback_Color3ub_f( GLubyte red, GLubyte green, GLubyte blue )
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color3bv_f( const GLbyte *v )
{
COLORF( BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]),
BYTE_TO_FLOAT(v[2]), 1.0 );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color3dv_f( const GLdouble *v )
{
COLORF( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 1.0 );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color3iv_f( const GLint *v )
{
COLORF( INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]),
INT_TO_FLOAT(v[2]), 1.0 );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color3sv_f( const GLshort *v )
{
COLORF( SHORT_TO_FLOAT(v[0]), SHORT_TO_FLOAT(v[1]),
SHORT_TO_FLOAT(v[2]), 1.0 );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color3uiv_f( const GLuint *v )
{
COLORF( UINT_TO_FLOAT(v[0]), UINT_TO_FLOAT(v[1]),
UINT_TO_FLOAT(v[2]), 1.0 );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color3usv_f( const GLushort *v )
{
COLORF( USHORT_TO_FLOAT(v[0]), USHORT_TO_FLOAT(v[1]),
USHORT_TO_FLOAT(v[2]), 1.0 );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color3ubv_f( const GLubyte *v )
{
COLORF( UBYTE_TO_FLOAT(v[0]), UBYTE_TO_FLOAT(v[1]),
@@ -187,7 +187,7 @@ loopback_Color3ubv_f( const GLubyte *v )
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color4b_f( GLbyte red, GLbyte green, GLbyte blue,
GLbyte alpha )
{
@@ -195,21 +195,21 @@ loopback_Color4b_f( GLbyte red, GLbyte green, GLbyte blue,
BYTE_TO_FLOAT(blue), BYTE_TO_FLOAT(alpha) );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color4d_f( GLdouble red, GLdouble green, GLdouble blue,
GLdouble alpha )
{
COLORF( (GLfloat) red, (GLfloat) green, (GLfloat) blue, (GLfloat) alpha );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color4i_f( GLint red, GLint green, GLint blue, GLint alpha )
{
COLORF( INT_TO_FLOAT(red), INT_TO_FLOAT(green),
INT_TO_FLOAT(blue), INT_TO_FLOAT(alpha) );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color4s_f( GLshort red, GLshort green, GLshort blue,
GLshort alpha )
{
@@ -217,21 +217,21 @@ loopback_Color4s_f( GLshort red, GLshort green, GLshort blue,
SHORT_TO_FLOAT(blue), SHORT_TO_FLOAT(alpha) );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color4ui_f( GLuint red, GLuint green, GLuint blue, GLuint alpha )
{
COLORF( UINT_TO_FLOAT(red), UINT_TO_FLOAT(green),
UINT_TO_FLOAT(blue), UINT_TO_FLOAT(alpha) );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color4us_f( GLushort red, GLushort green, GLushort blue, GLushort alpha )
{
COLORF( USHORT_TO_FLOAT(red), USHORT_TO_FLOAT(green),
USHORT_TO_FLOAT(blue), USHORT_TO_FLOAT(alpha) );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color4ub_f( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha )
{
COLORF( UBYTE_TO_FLOAT(red), UBYTE_TO_FLOAT(green),
@@ -239,7 +239,7 @@ loopback_Color4ub_f( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha )
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color4iv_f( const GLint *v )
{
COLORF( INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]),
@@ -247,21 +247,21 @@ loopback_Color4iv_f( const GLint *v )
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color4bv_f( const GLbyte *v )
{
COLORF( BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]),
BYTE_TO_FLOAT(v[2]), BYTE_TO_FLOAT(v[3]) );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color4dv_f( const GLdouble *v )
{
COLORF( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3] );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color4sv_f( const GLshort *v)
{
COLORF( SHORT_TO_FLOAT(v[0]), SHORT_TO_FLOAT(v[1]),
@@ -269,21 +269,21 @@ loopback_Color4sv_f( const GLshort *v)
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color4uiv_f( const GLuint *v)
{
COLORF( UINT_TO_FLOAT(v[0]), UINT_TO_FLOAT(v[1]),
UINT_TO_FLOAT(v[2]), UINT_TO_FLOAT(v[3]) );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color4usv_f( const GLushort *v)
{
COLORF( USHORT_TO_FLOAT(v[0]), USHORT_TO_FLOAT(v[1]),
USHORT_TO_FLOAT(v[2]), USHORT_TO_FLOAT(v[3]) );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Color4ubv_f( const GLubyte *v)
{
COLORF( UBYTE_TO_FLOAT(v[0]), UBYTE_TO_FLOAT(v[1]),
@@ -291,565 +291,565 @@ loopback_Color4ubv_f( const GLubyte *v)
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_FogCoorddEXT( GLdouble d )
{
FOGCOORDF( (GLfloat) d );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_FogCoorddvEXT( const GLdouble *v )
{
FOGCOORDF( (GLfloat) *v );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Indexd( GLdouble c )
{
INDEX( (GLfloat) c );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Indexi( GLint c )
{
INDEX( (GLfloat) c );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Indexs( GLshort c )
{
INDEX( (GLfloat) c );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Indexub( GLubyte c )
{
INDEX( (GLfloat) c );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Indexdv( const GLdouble *c )
{
INDEX( (GLfloat) *c );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Indexiv( const GLint *c )
{
INDEX( (GLfloat) *c );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Indexsv( const GLshort *c )
{
INDEX( (GLfloat) *c );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Indexubv( const GLubyte *c )
{
INDEX( (GLfloat) *c );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_EdgeFlagv(const GLboolean *flag)
{
CALL_EdgeFlag(GET_DISPATCH(), (*flag));
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Normal3b( GLbyte nx, GLbyte ny, GLbyte nz )
{
NORMAL( BYTE_TO_FLOAT(nx), BYTE_TO_FLOAT(ny), BYTE_TO_FLOAT(nz) );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Normal3d( GLdouble nx, GLdouble ny, GLdouble nz )
{
NORMAL((GLfloat) nx, (GLfloat) ny, (GLfloat) nz);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Normal3i( GLint nx, GLint ny, GLint nz )
{
NORMAL( INT_TO_FLOAT(nx), INT_TO_FLOAT(ny), INT_TO_FLOAT(nz) );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Normal3s( GLshort nx, GLshort ny, GLshort nz )
{
NORMAL( SHORT_TO_FLOAT(nx), SHORT_TO_FLOAT(ny), SHORT_TO_FLOAT(nz) );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Normal3bv( const GLbyte *v )
{
NORMAL( BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]), BYTE_TO_FLOAT(v[2]) );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Normal3dv( const GLdouble *v )
{
NORMAL( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Normal3iv( const GLint *v )
{
NORMAL( INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]), INT_TO_FLOAT(v[2]) );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Normal3sv( const GLshort *v )
{
NORMAL( SHORT_TO_FLOAT(v[0]), SHORT_TO_FLOAT(v[1]), SHORT_TO_FLOAT(v[2]) );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_TexCoord1d( GLdouble s )
{
TEXCOORD1((GLfloat) s);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_TexCoord1i( GLint s )
{
TEXCOORD1((GLfloat) s);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_TexCoord1s( GLshort s )
{
TEXCOORD1((GLfloat) s);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_TexCoord2d( GLdouble s, GLdouble t )
{
TEXCOORD2((GLfloat) s,(GLfloat) t);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_TexCoord2s( GLshort s, GLshort t )
{
TEXCOORD2((GLfloat) s,(GLfloat) t);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_TexCoord2i( GLint s, GLint t )
{
TEXCOORD2((GLfloat) s,(GLfloat) t);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_TexCoord3d( GLdouble s, GLdouble t, GLdouble r )
{
TEXCOORD3((GLfloat) s,(GLfloat) t,(GLfloat) r);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_TexCoord3i( GLint s, GLint t, GLint r )
{
TEXCOORD3((GLfloat) s,(GLfloat) t,(GLfloat) r);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_TexCoord3s( GLshort s, GLshort t, GLshort r )
{
TEXCOORD3((GLfloat) s,(GLfloat) t,(GLfloat) r);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_TexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q )
{
TEXCOORD4((GLfloat) s,(GLfloat) t,(GLfloat) r,(GLfloat) q);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_TexCoord4i( GLint s, GLint t, GLint r, GLint q )
{
TEXCOORD4((GLfloat) s,(GLfloat) t,(GLfloat) r,(GLfloat) q);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_TexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q )
{
TEXCOORD4((GLfloat) s,(GLfloat) t,(GLfloat) r,(GLfloat) q);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_TexCoord1dv( const GLdouble *v )
{
TEXCOORD1((GLfloat) v[0]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_TexCoord1iv( const GLint *v )
{
TEXCOORD1((GLfloat) v[0]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_TexCoord1sv( const GLshort *v )
{
TEXCOORD1((GLfloat) v[0]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_TexCoord2dv( const GLdouble *v )
{
TEXCOORD2((GLfloat) v[0],(GLfloat) v[1]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_TexCoord2iv( const GLint *v )
{
TEXCOORD2((GLfloat) v[0],(GLfloat) v[1]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_TexCoord2sv( const GLshort *v )
{
TEXCOORD2((GLfloat) v[0],(GLfloat) v[1]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_TexCoord3dv( const GLdouble *v )
{
TEXCOORD3((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_TexCoord3iv( const GLint *v )
{
TEXCOORD3((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_TexCoord3sv( const GLshort *v )
{
TEXCOORD3((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_TexCoord4dv( const GLdouble *v )
{
TEXCOORD4((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2],(GLfloat) v[3]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_TexCoord4iv( const GLint *v )
{
TEXCOORD4((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2],(GLfloat) v[3]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_TexCoord4sv( const GLshort *v )
{
TEXCOORD4((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2],(GLfloat) v[3]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Vertex2d( GLdouble x, GLdouble y )
{
VERTEX2( (GLfloat) x, (GLfloat) y );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Vertex2i( GLint x, GLint y )
{
VERTEX2( (GLfloat) x, (GLfloat) y );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Vertex2s( GLshort x, GLshort y )
{
VERTEX2( (GLfloat) x, (GLfloat) y );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Vertex3d( GLdouble x, GLdouble y, GLdouble z )
{
VERTEX3( (GLfloat) x, (GLfloat) y, (GLfloat) z );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Vertex3i( GLint x, GLint y, GLint z )
{
VERTEX3( (GLfloat) x, (GLfloat) y, (GLfloat) z );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Vertex3s( GLshort x, GLshort y, GLshort z )
{
VERTEX3( (GLfloat) x, (GLfloat) y, (GLfloat) z );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Vertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w )
{
VERTEX4( (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Vertex4i( GLint x, GLint y, GLint z, GLint w )
{
VERTEX4( (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Vertex4s( GLshort x, GLshort y, GLshort z, GLshort w )
{
VERTEX4( (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Vertex2dv( const GLdouble *v )
{
VERTEX2( (GLfloat) v[0], (GLfloat) v[1] );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Vertex2iv( const GLint *v )
{
VERTEX2( (GLfloat) v[0], (GLfloat) v[1] );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Vertex2sv( const GLshort *v )
{
VERTEX2( (GLfloat) v[0], (GLfloat) v[1] );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Vertex3dv( const GLdouble *v )
{
VERTEX3( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Vertex3iv( const GLint *v )
{
VERTEX3( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Vertex3sv( const GLshort *v )
{
VERTEX3( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Vertex4dv( const GLdouble *v )
{
VERTEX4( (GLfloat) v[0], (GLfloat) v[1],
(GLfloat) v[2], (GLfloat) v[3] );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Vertex4iv( const GLint *v )
{
VERTEX4( (GLfloat) v[0], (GLfloat) v[1],
(GLfloat) v[2], (GLfloat) v[3] );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Vertex4sv( const GLshort *v )
{
VERTEX4( (GLfloat) v[0], (GLfloat) v[1],
(GLfloat) v[2], (GLfloat) v[3] );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_MultiTexCoord1dARB(GLenum target, GLdouble s)
{
MULTI_TEXCOORD1( target, (GLfloat) s );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_MultiTexCoord1dvARB(GLenum target, const GLdouble *v)
{
MULTI_TEXCOORD1( target, (GLfloat) v[0] );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_MultiTexCoord1iARB(GLenum target, GLint s)
{
MULTI_TEXCOORD1( target, (GLfloat) s );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_MultiTexCoord1ivARB(GLenum target, const GLint *v)
{
MULTI_TEXCOORD1( target, (GLfloat) v[0] );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_MultiTexCoord1sARB(GLenum target, GLshort s)
{
MULTI_TEXCOORD1( target, (GLfloat) s );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_MultiTexCoord1svARB(GLenum target, const GLshort *v)
{
MULTI_TEXCOORD1( target, (GLfloat) v[0] );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_MultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t)
{
MULTI_TEXCOORD2( target, (GLfloat) s, (GLfloat) t );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_MultiTexCoord2dvARB(GLenum target, const GLdouble *v)
{
MULTI_TEXCOORD2( target, (GLfloat) v[0], (GLfloat) v[1] );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_MultiTexCoord2iARB(GLenum target, GLint s, GLint t)
{
MULTI_TEXCOORD2( target, (GLfloat) s, (GLfloat) t );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_MultiTexCoord2ivARB(GLenum target, const GLint *v)
{
MULTI_TEXCOORD2( target, (GLfloat) v[0], (GLfloat) v[1] );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_MultiTexCoord2sARB(GLenum target, GLshort s, GLshort t)
{
MULTI_TEXCOORD2( target, (GLfloat) s, (GLfloat) t );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_MultiTexCoord2svARB(GLenum target, const GLshort *v)
{
MULTI_TEXCOORD2( target, (GLfloat) v[0], (GLfloat) v[1] );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_MultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r)
{
MULTI_TEXCOORD3( target, (GLfloat) s, (GLfloat) t, (GLfloat) r );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_MultiTexCoord3dvARB(GLenum target, const GLdouble *v)
{
MULTI_TEXCOORD3( target, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_MultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r)
{
MULTI_TEXCOORD3( target, (GLfloat) s, (GLfloat) t, (GLfloat) r );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_MultiTexCoord3ivARB(GLenum target, const GLint *v)
{
MULTI_TEXCOORD3( target, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_MultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r)
{
MULTI_TEXCOORD3( target, (GLfloat) s, (GLfloat) t, (GLfloat) r );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_MultiTexCoord3svARB(GLenum target, const GLshort *v)
{
MULTI_TEXCOORD3( target, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_MultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q)
{
MULTI_TEXCOORD4( target, (GLfloat) s, (GLfloat) t,
(GLfloat) r, (GLfloat) q );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_MultiTexCoord4dvARB(GLenum target, const GLdouble *v)
{
MULTI_TEXCOORD4( target, (GLfloat) v[0], (GLfloat) v[1],
(GLfloat) v[2], (GLfloat) v[3] );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_MultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q)
{
MULTI_TEXCOORD4( target, (GLfloat) s, (GLfloat) t,
(GLfloat) r, (GLfloat) q );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_MultiTexCoord4ivARB(GLenum target, const GLint *v)
{
MULTI_TEXCOORD4( target, (GLfloat) v[0], (GLfloat) v[1],
(GLfloat) v[2], (GLfloat) v[3] );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_MultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q)
{
MULTI_TEXCOORD4( target, (GLfloat) s, (GLfloat) t,
(GLfloat) r, (GLfloat) q );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_MultiTexCoord4svARB(GLenum target, const GLshort *v)
{
MULTI_TEXCOORD4( target, (GLfloat) v[0], (GLfloat) v[1],
(GLfloat) v[2], (GLfloat) v[3] );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_EvalCoord2dv( const GLdouble *u )
{
EVALCOORD2( (GLfloat) u[0], (GLfloat) u[1] );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_EvalCoord2fv( const GLfloat *u )
{
EVALCOORD2( u[0], u[1] );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_EvalCoord2d( GLdouble u, GLdouble v )
{
EVALCOORD2( (GLfloat) u, (GLfloat) v );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_EvalCoord1dv( const GLdouble *u )
{
EVALCOORD1( (GLfloat) *u );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_EvalCoord1fv( const GLfloat *u )
{
EVALCOORD1( (GLfloat) *u );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_EvalCoord1d( GLdouble u )
{
EVALCOORD1( (GLfloat) u );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Materialf( GLenum face, GLenum pname, GLfloat param )
{
GLfloat fparam[4];
@@ -857,14 +857,14 @@ loopback_Materialf( GLenum face, GLenum pname, GLfloat param )
MATERIALFV( face, pname, fparam );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Materiali(GLenum face, GLenum pname, GLint param )
{
GLfloat p = (GLfloat) param;
MATERIALFV(face, pname, &p);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Materialiv(GLenum face, GLenum pname, const GLint *params )
{
GLfloat fparam[4];
@@ -894,49 +894,49 @@ loopback_Materialiv(GLenum face, GLenum pname, const GLint *params )
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Rectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2)
{
RECTF((GLfloat) x1, (GLfloat) y1, (GLfloat) x2, (GLfloat) y2);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Rectdv(const GLdouble *v1, const GLdouble *v2)
{
RECTF((GLfloat) v1[0], (GLfloat) v1[1], (GLfloat) v2[0], (GLfloat) v2[1]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Rectfv(const GLfloat *v1, const GLfloat *v2)
{
RECTF(v1[0], v1[1], v2[0], v2[1]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Recti(GLint x1, GLint y1, GLint x2, GLint y2)
{
RECTF((GLfloat) x1, (GLfloat) y1, (GLfloat) x2, (GLfloat) y2);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Rectiv(const GLint *v1, const GLint *v2)
{
RECTF((GLfloat) v1[0], (GLfloat) v1[1], (GLfloat) v2[0], (GLfloat) v2[1]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Rects(GLshort x1, GLshort y1, GLshort x2, GLshort y2)
{
RECTF((GLfloat) x1, (GLfloat) y1, (GLfloat) x2, (GLfloat) y2);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_Rectsv(const GLshort *v1, const GLshort *v2)
{
RECTF((GLfloat) v1[0], (GLfloat) v1[1], (GLfloat) v2[0], (GLfloat) v2[1]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_SecondaryColor3bEXT_f( GLbyte red, GLbyte green, GLbyte blue )
{
SECONDARYCOLORF( BYTE_TO_FLOAT(red),
@@ -944,13 +944,13 @@ loopback_SecondaryColor3bEXT_f( GLbyte red, GLbyte green, GLbyte blue )
BYTE_TO_FLOAT(blue) );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_SecondaryColor3dEXT_f( GLdouble red, GLdouble green, GLdouble blue )
{
SECONDARYCOLORF( (GLfloat) red, (GLfloat) green, (GLfloat) blue );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_SecondaryColor3iEXT_f( GLint red, GLint green, GLint blue )
{
SECONDARYCOLORF( INT_TO_FLOAT(red),
@@ -958,7 +958,7 @@ loopback_SecondaryColor3iEXT_f( GLint red, GLint green, GLint blue )
INT_TO_FLOAT(blue));
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_SecondaryColor3sEXT_f( GLshort red, GLshort green, GLshort blue )
{
SECONDARYCOLORF(SHORT_TO_FLOAT(red),
@@ -966,7 +966,7 @@ loopback_SecondaryColor3sEXT_f( GLshort red, GLshort green, GLshort blue )
SHORT_TO_FLOAT(blue));
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_SecondaryColor3uiEXT_f( GLuint red, GLuint green, GLuint blue )
{
SECONDARYCOLORF(UINT_TO_FLOAT(red),
@@ -974,7 +974,7 @@ loopback_SecondaryColor3uiEXT_f( GLuint red, GLuint green, GLuint blue )
UINT_TO_FLOAT(blue));
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_SecondaryColor3usEXT_f( GLushort red, GLushort green, GLushort blue )
{
SECONDARYCOLORF(USHORT_TO_FLOAT(red),
@@ -982,7 +982,7 @@ loopback_SecondaryColor3usEXT_f( GLushort red, GLushort green, GLushort blue )
USHORT_TO_FLOAT(blue));
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_SecondaryColor3ubEXT_f( GLubyte red, GLubyte green, GLubyte blue )
{
SECONDARYCOLORF(UBYTE_TO_FLOAT(red),
@@ -990,7 +990,7 @@ loopback_SecondaryColor3ubEXT_f( GLubyte red, GLubyte green, GLubyte blue )
UBYTE_TO_FLOAT(blue));
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_SecondaryColor3bvEXT_f( const GLbyte *v )
{
SECONDARYCOLORF(BYTE_TO_FLOAT(v[0]),
@@ -998,12 +998,12 @@ loopback_SecondaryColor3bvEXT_f( const GLbyte *v )
BYTE_TO_FLOAT(v[2]));
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_SecondaryColor3dvEXT_f( const GLdouble *v )
{
SECONDARYCOLORF( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_SecondaryColor3ivEXT_f( const GLint *v )
{
SECONDARYCOLORF(INT_TO_FLOAT(v[0]),
@@ -1011,7 +1011,7 @@ loopback_SecondaryColor3ivEXT_f( const GLint *v )
INT_TO_FLOAT(v[2]));
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_SecondaryColor3svEXT_f( const GLshort *v )
{
SECONDARYCOLORF(SHORT_TO_FLOAT(v[0]),
@@ -1019,7 +1019,7 @@ loopback_SecondaryColor3svEXT_f( const GLshort *v )
SHORT_TO_FLOAT(v[2]));
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_SecondaryColor3uivEXT_f( const GLuint *v )
{
SECONDARYCOLORF(UINT_TO_FLOAT(v[0]),
@@ -1027,7 +1027,7 @@ loopback_SecondaryColor3uivEXT_f( const GLuint *v )
UINT_TO_FLOAT(v[2]));
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_SecondaryColor3usvEXT_f( const GLushort *v )
{
SECONDARYCOLORF(USHORT_TO_FLOAT(v[0]),
@@ -1035,7 +1035,7 @@ loopback_SecondaryColor3usvEXT_f( const GLushort *v )
USHORT_TO_FLOAT(v[2]));
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_SecondaryColor3ubvEXT_f( const GLubyte *v )
{
SECONDARYCOLORF(UBYTE_TO_FLOAT(v[0]),
@@ -1050,111 +1050,111 @@ loopback_SecondaryColor3ubvEXT_f( const GLubyte *v )
* Note that attribute indexes DO alias conventional vertex attributes.
*/
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib1sNV(GLuint index, GLshort x)
{
ATTRIB1NV(index, (GLfloat) x);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib1dNV(GLuint index, GLdouble x)
{
ATTRIB1NV(index, (GLfloat) x);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib2sNV(GLuint index, GLshort x, GLshort y)
{
ATTRIB2NV(index, (GLfloat) x, y);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib2dNV(GLuint index, GLdouble x, GLdouble y)
{
ATTRIB2NV(index, (GLfloat) x, (GLfloat) y);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib3sNV(GLuint index, GLshort x, GLshort y, GLshort z)
{
ATTRIB3NV(index, (GLfloat) x, (GLfloat) y, (GLfloat) z);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib3dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z)
{
ATTRIB4NV(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib4sNV(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w)
{
ATTRIB4NV(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib4dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
ATTRIB4NV(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib4ubNV(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w)
{
ATTRIB4NV(index, UBYTE_TO_FLOAT(x), UBYTE_TO_FLOAT(y),
UBYTE_TO_FLOAT(z), UBYTE_TO_FLOAT(w));
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib1svNV(GLuint index, const GLshort *v)
{
ATTRIB1NV(index, (GLfloat) v[0]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib1dvNV(GLuint index, const GLdouble *v)
{
ATTRIB1NV(index, (GLfloat) v[0]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib2svNV(GLuint index, const GLshort *v)
{
ATTRIB2NV(index, (GLfloat) v[0], (GLfloat) v[1]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib2dvNV(GLuint index, const GLdouble *v)
{
ATTRIB2NV(index, (GLfloat) v[0], (GLfloat) v[1]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib3svNV(GLuint index, const GLshort *v)
{
ATTRIB3NV(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib3dvNV(GLuint index, const GLdouble *v)
{
ATTRIB3NV(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib4svNV(GLuint index, const GLshort *v)
{
ATTRIB4NV(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2],
(GLfloat)v[3]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib4dvNV(GLuint index, const GLdouble *v)
{
ATTRIB4NV(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib4ubvNV(GLuint index, const GLubyte *v)
{
ATTRIB4NV(index, UBYTE_TO_FLOAT(v[0]), UBYTE_TO_FLOAT(v[1]),
@@ -1162,7 +1162,7 @@ loopback_VertexAttrib4ubvNV(GLuint index, const GLubyte *v)
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttribs1svNV(GLuint index, GLsizei n, const GLshort *v)
{
GLint i;
@@ -1170,7 +1170,7 @@ loopback_VertexAttribs1svNV(GLuint index, GLsizei n, const GLshort *v)
loopback_VertexAttrib1svNV(index + i, v + i);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttribs1fvNV(GLuint index, GLsizei n, const GLfloat *v)
{
GLint i;
@@ -1178,7 +1178,7 @@ loopback_VertexAttribs1fvNV(GLuint index, GLsizei n, const GLfloat *v)
ATTRIB1NV(index + i, v[i]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttribs1dvNV(GLuint index, GLsizei n, const GLdouble *v)
{
GLint i;
@@ -1186,7 +1186,7 @@ loopback_VertexAttribs1dvNV(GLuint index, GLsizei n, const GLdouble *v)
loopback_VertexAttrib1dvNV(index + i, v + i);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttribs2svNV(GLuint index, GLsizei n, const GLshort *v)
{
GLint i;
@@ -1194,7 +1194,7 @@ loopback_VertexAttribs2svNV(GLuint index, GLsizei n, const GLshort *v)
loopback_VertexAttrib2svNV(index + i, v + 2 * i);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttribs2fvNV(GLuint index, GLsizei n, const GLfloat *v)
{
GLint i;
@@ -1202,7 +1202,7 @@ loopback_VertexAttribs2fvNV(GLuint index, GLsizei n, const GLfloat *v)
ATTRIB2NV(index + i, v[2 * i], v[2 * i + 1]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttribs2dvNV(GLuint index, GLsizei n, const GLdouble *v)
{
GLint i;
@@ -1210,7 +1210,7 @@ loopback_VertexAttribs2dvNV(GLuint index, GLsizei n, const GLdouble *v)
loopback_VertexAttrib2dvNV(index + i, v + 2 * i);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttribs3svNV(GLuint index, GLsizei n, const GLshort *v)
{
GLint i;
@@ -1218,7 +1218,7 @@ loopback_VertexAttribs3svNV(GLuint index, GLsizei n, const GLshort *v)
loopback_VertexAttrib3svNV(index + i, v + 3 * i);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttribs3fvNV(GLuint index, GLsizei n, const GLfloat *v)
{
GLint i;
@@ -1226,7 +1226,7 @@ loopback_VertexAttribs3fvNV(GLuint index, GLsizei n, const GLfloat *v)
ATTRIB3NV(index + i, v[3 * i], v[3 * i + 1], v[3 * i + 2]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttribs3dvNV(GLuint index, GLsizei n, const GLdouble *v)
{
GLint i;
@@ -1234,7 +1234,7 @@ loopback_VertexAttribs3dvNV(GLuint index, GLsizei n, const GLdouble *v)
loopback_VertexAttrib3dvNV(index + i, v + 3 * i);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttribs4svNV(GLuint index, GLsizei n, const GLshort *v)
{
GLint i;
@@ -1242,7 +1242,7 @@ loopback_VertexAttribs4svNV(GLuint index, GLsizei n, const GLshort *v)
loopback_VertexAttrib4svNV(index + i, v + 4 * i);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttribs4fvNV(GLuint index, GLsizei n, const GLfloat *v)
{
GLint i;
@@ -1250,7 +1250,7 @@ loopback_VertexAttribs4fvNV(GLuint index, GLsizei n, const GLfloat *v)
ATTRIB4NV(index + i, v[4 * i], v[4 * i + 1], v[4 * i + 2], v[4 * i + 3]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttribs4dvNV(GLuint index, GLsizei n, const GLdouble *v)
{
GLint i;
@@ -1258,7 +1258,7 @@ loopback_VertexAttribs4dvNV(GLuint index, GLsizei n, const GLdouble *v)
loopback_VertexAttrib4dvNV(index + i, v + 4 * i);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttribs4ubvNV(GLuint index, GLsizei n, const GLubyte *v)
{
GLint i;
@@ -1273,176 +1273,176 @@ loopback_VertexAttribs4ubvNV(GLuint index, GLsizei n, const GLubyte *v)
* Note that attribute indexes do NOT alias conventional attributes.
*/
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib1sARB(GLuint index, GLshort x)
{
ATTRIB1ARB(index, (GLfloat) x);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib1dARB(GLuint index, GLdouble x)
{
ATTRIB1ARB(index, (GLfloat) x);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib2sARB(GLuint index, GLshort x, GLshort y)
{
ATTRIB2ARB(index, (GLfloat) x, y);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib2dARB(GLuint index, GLdouble x, GLdouble y)
{
ATTRIB2ARB(index, (GLfloat) x, (GLfloat) y);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib3sARB(GLuint index, GLshort x, GLshort y, GLshort z)
{
ATTRIB3ARB(index, (GLfloat) x, (GLfloat) y, (GLfloat) z);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib3dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z)
{
ATTRIB4ARB(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib4sARB(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w)
{
ATTRIB4ARB(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib4dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
ATTRIB4ARB(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib1svARB(GLuint index, const GLshort *v)
{
ATTRIB1ARB(index, (GLfloat) v[0]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib1dvARB(GLuint index, const GLdouble *v)
{
ATTRIB1ARB(index, (GLfloat) v[0]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib2svARB(GLuint index, const GLshort *v)
{
ATTRIB2ARB(index, (GLfloat) v[0], (GLfloat) v[1]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib2dvARB(GLuint index, const GLdouble *v)
{
ATTRIB2ARB(index, (GLfloat) v[0], (GLfloat) v[1]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib3svARB(GLuint index, const GLshort *v)
{
ATTRIB3ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib3dvARB(GLuint index, const GLdouble *v)
{
ATTRIB3ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib4svARB(GLuint index, const GLshort *v)
{
ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2],
(GLfloat)v[3]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib4dvARB(GLuint index, const GLdouble *v)
{
ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib4bvARB(GLuint index, const GLbyte * v)
{
ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib4ivARB(GLuint index, const GLint * v)
{
ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib4ubvARB(GLuint index, const GLubyte * v)
{
ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib4usvARB(GLuint index, const GLushort * v)
{
ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib4uivARB(GLuint index, const GLuint * v)
{
ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib4NbvARB(GLuint index, const GLbyte * v)
{
ATTRIB4ARB(index, BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]),
BYTE_TO_FLOAT(v[2]), BYTE_TO_FLOAT(v[3]));
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib4NsvARB(GLuint index, const GLshort * v)
{
ATTRIB4ARB(index, SHORT_TO_FLOAT(v[0]), SHORT_TO_FLOAT(v[1]),
SHORT_TO_FLOAT(v[2]), SHORT_TO_FLOAT(v[3]));
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib4NivARB(GLuint index, const GLint * v)
{
ATTRIB4ARB(index, INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]),
INT_TO_FLOAT(v[2]), INT_TO_FLOAT(v[3]));
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib4NubARB(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w)
{
ATTRIB4ARB(index, UBYTE_TO_FLOAT(x), UBYTE_TO_FLOAT(y),
UBYTE_TO_FLOAT(z), UBYTE_TO_FLOAT(w));
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib4NubvARB(GLuint index, const GLubyte * v)
{
ATTRIB4ARB(index, UBYTE_TO_FLOAT(v[0]), UBYTE_TO_FLOAT(v[1]),
UBYTE_TO_FLOAT(v[2]), UBYTE_TO_FLOAT(v[3]));
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib4NusvARB(GLuint index, const GLushort * v)
{
ATTRIB4ARB(index, USHORT_TO_FLOAT(v[0]), USHORT_TO_FLOAT(v[1]),
USHORT_TO_FLOAT(v[2]), USHORT_TO_FLOAT(v[3]));
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttrib4NuivARB(GLuint index, const GLuint * v)
{
ATTRIB4ARB(index, UINT_TO_FLOAT(v[0]), UINT_TO_FLOAT(v[1]),
@@ -1456,37 +1456,37 @@ loopback_VertexAttrib4NuivARB(GLuint index, const GLuint * v)
* Note that attribute indexes do NOT alias conventional attributes.
*/
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttribI1iv(GLuint index, const GLint *v)
{
ATTRIBI_1I(index, v[0]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttribI1uiv(GLuint index, const GLuint *v)
{
ATTRIBI_1UI(index, v[0]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttribI4bv(GLuint index, const GLbyte *v)
{
ATTRIBI_4I(index, v[0], v[1], v[2], v[3]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttribI4sv(GLuint index, const GLshort *v)
{
ATTRIBI_4I(index, v[0], v[1], v[2], v[3]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttribI4ubv(GLuint index, const GLubyte *v)
{
ATTRIBI_4UI(index, v[0], v[1], v[2], v[3]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
loopback_VertexAttribI4usv(GLuint index, const GLushort *v)
{
ATTRIBI_4UI(index, v[0], v[1], v[2], v[3]);
diff --git a/mesalib/src/mesa/main/api_loopback.h b/mesalib/src/mesa/main/api_loopback.h
index 628d4f89e..879ad8995 100644
--- a/mesalib/src/mesa/main/api_loopback.h
+++ b/mesalib/src/mesa/main/api_loopback.h
@@ -29,6 +29,14 @@
#include "main/compiler.h"
#include "main/mfeatures.h"
+#include "main/glheader.h" // ?
+#include "main/macros.h" // ?
+#include "main/mtypes.h" // ?
+#include "glapi/glapi.h" // ?
+#include "glapi/glthread.h" // ?
+#include "main/dispatch.h" // ?
+#include "main/mfeatures.h" // ?
+#include "main/context.h" // ?
struct _glapi_table;
struct gl_context;
@@ -36,5 +44,434 @@ struct gl_context;
extern void
_mesa_loopback_init_api_table(const struct gl_context *ctx,
struct _glapi_table *dest);
+void GLAPIENTRY
+loopback_Color3b_f( GLbyte red, GLbyte green, GLbyte blue );
+void GLAPIENTRY
+loopback_Color3d_f( GLdouble red, GLdouble green, GLdouble blue );
+void GLAPIENTRY
+loopback_Color3i_f( GLint red, GLint green, GLint blue );
+void GLAPIENTRY
+loopback_Color3s_f( GLshort red, GLshort green, GLshort blue );
+void GLAPIENTRY
+loopback_Color3ui_f( GLuint red, GLuint green, GLuint blue );
+void GLAPIENTRY
+loopback_Color3us_f( GLushort red, GLushort green, GLushort blue );
+void GLAPIENTRY
+loopback_Color3ub_f( GLubyte red, GLubyte green, GLubyte blue );
+void GLAPIENTRY
+loopback_Color3bv_f( const GLbyte *v );
+void GLAPIENTRY
+loopback_Color3dv_f( const GLdouble *v );
+void GLAPIENTRY
+loopback_Color3iv_f( const GLint *v );
+void GLAPIENTRY
+loopback_Color3sv_f( const GLshort *v );
+void GLAPIENTRY
+loopback_Color3uiv_f( const GLuint *v );
+void GLAPIENTRY
+loopback_Color3usv_f( const GLushort *v );
+void GLAPIENTRY
+loopback_Color3ubv_f( const GLubyte *v );
+void GLAPIENTRY
+loopback_Color4b_f( GLbyte red, GLbyte green, GLbyte blue,
+ GLbyte alpha );
+void GLAPIENTRY
+loopback_Color4d_f( GLdouble red, GLdouble green, GLdouble blue,
+ GLdouble alpha );
+void GLAPIENTRY
+loopback_Color4i_f( GLint red, GLint green, GLint blue, GLint alpha );
+void GLAPIENTRY
+loopback_Color4s_f( GLshort red, GLshort green, GLshort blue,
+ GLshort alpha );
+void GLAPIENTRY
+loopback_Color4ui_f( GLuint red, GLuint green, GLuint blue, GLuint alpha );
+void GLAPIENTRY
+loopback_Color4us_f( GLushort red, GLushort green, GLushort blue,
+ GLushort alpha );
+void GLAPIENTRY
+loopback_Color4ub_f( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha );
+void GLAPIENTRY
+loopback_Color4iv_f( const GLint *v );
+void GLAPIENTRY
+loopback_Color4bv_f( const GLbyte *v );
+void GLAPIENTRY
+loopback_Color4dv_f( const GLdouble *v );
+void GLAPIENTRY
+loopback_Color4sv_f( const GLshort *v);
+void GLAPIENTRY
+loopback_Color4uiv_f( const GLuint *v);
+void GLAPIENTRY
+loopback_Color4usv_f( const GLushort *v);
+void GLAPIENTRY
+loopback_Color4ubv_f( const GLubyte *v);
+void GLAPIENTRY
+loopback_FogCoorddEXT( GLdouble d );
+void GLAPIENTRY
+loopback_FogCoorddvEXT( const GLdouble *v );
+void GLAPIENTRY
+loopback_Indexd( GLdouble c );
+void GLAPIENTRY
+loopback_Indexi( GLint c );
+void GLAPIENTRY
+loopback_Indexs( GLshort c );
+void GLAPIENTRY
+loopback_Indexub( GLubyte c );
+void GLAPIENTRY
+loopback_Indexdv( const GLdouble *c );
+void GLAPIENTRY
+loopback_Indexiv( const GLint *c );
+void GLAPIENTRY
+loopback_Indexsv( const GLshort *c );
+void GLAPIENTRY
+loopback_Indexubv( const GLubyte *c );
+void GLAPIENTRY
+loopback_EdgeFlagv(const GLboolean *flag);
+void GLAPIENTRY
+loopback_Normal3b( GLbyte nx, GLbyte ny, GLbyte nz );
+void GLAPIENTRY
+loopback_Normal3d( GLdouble nx, GLdouble ny, GLdouble nz );
+void GLAPIENTRY
+loopback_Normal3i( GLint nx, GLint ny, GLint nz );
+void GLAPIENTRY
+loopback_Normal3s( GLshort nx, GLshort ny, GLshort nz );
+void GLAPIENTRY
+loopback_Normal3bv( const GLbyte *v );
+void GLAPIENTRY
+loopback_Normal3dv( const GLdouble *v );
+void GLAPIENTRY
+loopback_Normal3iv( const GLint *v );
+void GLAPIENTRY
+loopback_Normal3sv( const GLshort *v );
+void GLAPIENTRY
+loopback_TexCoord1d( GLdouble s );
+void GLAPIENTRY
+loopback_TexCoord1i( GLint s );
+void GLAPIENTRY
+loopback_TexCoord1s( GLshort s );
+void GLAPIENTRY
+loopback_TexCoord2d( GLdouble s, GLdouble t );
+void GLAPIENTRY
+loopback_TexCoord2s( GLshort s, GLshort t );
+void GLAPIENTRY
+loopback_TexCoord2i( GLint s, GLint t );
+void GLAPIENTRY
+loopback_TexCoord3d( GLdouble s, GLdouble t, GLdouble r );
+void GLAPIENTRY
+loopback_TexCoord3i( GLint s, GLint t, GLint r );
+void GLAPIENTRY
+loopback_TexCoord3s( GLshort s, GLshort t, GLshort r );
+void GLAPIENTRY
+loopback_TexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q );
+void GLAPIENTRY
+loopback_TexCoord4i( GLint s, GLint t, GLint r, GLint q );
+void GLAPIENTRY
+loopback_TexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q );
+void GLAPIENTRY
+loopback_TexCoord1dv( const GLdouble *v );
+void GLAPIENTRY
+loopback_TexCoord1iv( const GLint *v );
+void GLAPIENTRY
+loopback_TexCoord1sv( const GLshort *v );
+void GLAPIENTRY
+loopback_TexCoord2dv( const GLdouble *v );
+void GLAPIENTRY
+loopback_TexCoord2iv( const GLint *v );
+void GLAPIENTRY
+loopback_TexCoord2sv( const GLshort *v );
+void GLAPIENTRY
+loopback_TexCoord3dv( const GLdouble *v );
+void GLAPIENTRY
+loopback_TexCoord3iv( const GLint *v );
+void GLAPIENTRY
+loopback_TexCoord3sv( const GLshort *v );
+void GLAPIENTRY
+loopback_TexCoord4dv( const GLdouble *v );
+void GLAPIENTRY
+loopback_TexCoord4iv( const GLint *v );
+void GLAPIENTRY
+loopback_TexCoord4sv( const GLshort *v );
+void GLAPIENTRY
+loopback_Vertex2d( GLdouble x, GLdouble y );
+void GLAPIENTRY
+loopback_Vertex2i( GLint x, GLint y );
+void GLAPIENTRY
+loopback_Vertex2s( GLshort x, GLshort y );
+void GLAPIENTRY
+loopback_Vertex3d( GLdouble x, GLdouble y, GLdouble z );
+void GLAPIENTRY
+loopback_Vertex3i( GLint x, GLint y, GLint z );
+void GLAPIENTRY
+loopback_Vertex3s( GLshort x, GLshort y, GLshort z );
+void GLAPIENTRY
+loopback_Vertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
+void GLAPIENTRY
+loopback_Vertex4i( GLint x, GLint y, GLint z, GLint w );
+void GLAPIENTRY
+loopback_Vertex4s( GLshort x, GLshort y, GLshort z, GLshort w );
+void GLAPIENTRY
+loopback_Vertex2dv( const GLdouble *v );
+void GLAPIENTRY
+loopback_Vertex2iv( const GLint *v );
+void GLAPIENTRY
+loopback_Vertex2sv( const GLshort *v );
+void GLAPIENTRY
+loopback_Vertex3dv( const GLdouble *v );
+void GLAPIENTRY
+loopback_Vertex3iv( const GLint *v );
+void GLAPIENTRY
+loopback_Vertex3sv( const GLshort *v );
+void GLAPIENTRY
+loopback_Vertex4dv( const GLdouble *v );
+void GLAPIENTRY
+loopback_Vertex4iv( const GLint *v );
+void GLAPIENTRY
+loopback_Vertex4sv( const GLshort *v );
+void GLAPIENTRY
+loopback_MultiTexCoord1dARB(GLenum target, GLdouble s);
+void GLAPIENTRY
+loopback_MultiTexCoord1dvARB(GLenum target, const GLdouble *v);
+void GLAPIENTRY
+loopback_MultiTexCoord1iARB(GLenum target, GLint s);
+void GLAPIENTRY
+loopback_MultiTexCoord1ivARB(GLenum target, const GLint *v);
+void GLAPIENTRY
+loopback_MultiTexCoord1sARB(GLenum target, GLshort s);
+void GLAPIENTRY
+loopback_MultiTexCoord1svARB(GLenum target, const GLshort *v);
+void GLAPIENTRY
+loopback_MultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t);
+void GLAPIENTRY
+loopback_MultiTexCoord2dvARB(GLenum target, const GLdouble *v);
+void GLAPIENTRY
+loopback_MultiTexCoord2iARB(GLenum target, GLint s, GLint t);
+void GLAPIENTRY
+loopback_MultiTexCoord2ivARB(GLenum target, const GLint *v);
+void GLAPIENTRY
+loopback_MultiTexCoord2sARB(GLenum target, GLshort s, GLshort t);
+void GLAPIENTRY
+loopback_MultiTexCoord2svARB(GLenum target, const GLshort *v);
+void GLAPIENTRY
+loopback_MultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r);
+void GLAPIENTRY
+loopback_MultiTexCoord3dvARB(GLenum target, const GLdouble *v);
+void GLAPIENTRY
+loopback_MultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r);
+void GLAPIENTRY
+loopback_MultiTexCoord3ivARB(GLenum target, const GLint *v);
+void GLAPIENTRY
+loopback_MultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r);
+void GLAPIENTRY
+loopback_MultiTexCoord3svARB(GLenum target, const GLshort *v);
+void GLAPIENTRY
+loopback_MultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r,
+ GLdouble q);
+void GLAPIENTRY
+loopback_MultiTexCoord4dvARB(GLenum target, const GLdouble *v);
+void GLAPIENTRY
+loopback_MultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q);
+void GLAPIENTRY
+loopback_MultiTexCoord4ivARB(GLenum target, const GLint *v);
+void GLAPIENTRY
+loopback_MultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r,
+ GLshort q);
+void GLAPIENTRY
+loopback_MultiTexCoord4svARB(GLenum target, const GLshort *v);
+void GLAPIENTRY
+loopback_EvalCoord2dv( const GLdouble *u );
+void GLAPIENTRY
+loopback_EvalCoord2fv( const GLfloat *u );
+void GLAPIENTRY
+loopback_EvalCoord2d( GLdouble u, GLdouble v );
+void GLAPIENTRY
+loopback_EvalCoord1dv( const GLdouble *u );
+void GLAPIENTRY
+loopback_EvalCoord1fv( const GLfloat *u );
+void GLAPIENTRY
+loopback_EvalCoord1d( GLdouble u );
+void GLAPIENTRY
+loopback_Materialf( GLenum face, GLenum pname, GLfloat param );
+void GLAPIENTRY
+loopback_Materiali(GLenum face, GLenum pname, GLint param );
+void GLAPIENTRY
+loopback_Materialiv(GLenum face, GLenum pname, const GLint *params );
+void GLAPIENTRY
+loopback_Rectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
+void GLAPIENTRY
+loopback_Rectdv(const GLdouble *v1, const GLdouble *v2);
+void GLAPIENTRY
+loopback_Rectfv(const GLfloat *v1, const GLfloat *v2);
+void GLAPIENTRY
+loopback_Recti(GLint x1, GLint y1, GLint x2, GLint y2);
+void GLAPIENTRY
+loopback_Rectiv(const GLint *v1, const GLint *v2);
+void GLAPIENTRY
+loopback_Rects(GLshort x1, GLshort y1, GLshort x2, GLshort y2);
+void GLAPIENTRY
+loopback_Rectsv(const GLshort *v1, const GLshort *v2);
+void GLAPIENTRY
+loopback_SecondaryColor3bEXT_f( GLbyte red, GLbyte green, GLbyte blue );
+void GLAPIENTRY
+loopback_SecondaryColor3dEXT_f( GLdouble red, GLdouble green, GLdouble blue );
+void GLAPIENTRY
+loopback_SecondaryColor3iEXT_f( GLint red, GLint green, GLint blue );
+void GLAPIENTRY
+loopback_SecondaryColor3sEXT_f( GLshort red, GLshort green, GLshort blue );
+void GLAPIENTRY
+loopback_SecondaryColor3uiEXT_f( GLuint red, GLuint green, GLuint blue );
+void GLAPIENTRY
+loopback_SecondaryColor3usEXT_f( GLushort red, GLushort green, GLushort blue );
+void GLAPIENTRY
+loopback_SecondaryColor3ubEXT_f( GLubyte red, GLubyte green, GLubyte blue );
+void GLAPIENTRY
+loopback_SecondaryColor3bvEXT_f( const GLbyte *v );
+void GLAPIENTRY
+loopback_SecondaryColor3dvEXT_f( const GLdouble *v );
+void GLAPIENTRY
+loopback_SecondaryColor3ivEXT_f( const GLint *v );
+void GLAPIENTRY
+loopback_SecondaryColor3svEXT_f( const GLshort *v );
+void GLAPIENTRY
+loopback_SecondaryColor3uivEXT_f( const GLuint *v );
+void GLAPIENTRY
+loopback_SecondaryColor3usvEXT_f( const GLushort *v );
+void GLAPIENTRY
+loopback_SecondaryColor3ubvEXT_f( const GLubyte *v );
+void GLAPIENTRY
+loopback_VertexAttrib1sNV(GLuint index, GLshort x);
+void GLAPIENTRY
+loopback_VertexAttrib1dNV(GLuint index, GLdouble x);
+void GLAPIENTRY
+loopback_VertexAttrib2sNV(GLuint index, GLshort x, GLshort y);
+void GLAPIENTRY
+loopback_VertexAttrib2dNV(GLuint index, GLdouble x, GLdouble y);
+void GLAPIENTRY
+loopback_VertexAttrib3sNV(GLuint index, GLshort x, GLshort y, GLshort z);
+void GLAPIENTRY
+loopback_VertexAttrib3dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z);
+void GLAPIENTRY
+loopback_VertexAttrib4sNV(GLuint index, GLshort x, GLshort y, GLshort z,
+ GLshort w);
+void GLAPIENTRY
+loopback_VertexAttrib4dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z,
+ GLdouble w);
+void GLAPIENTRY
+loopback_VertexAttrib4ubNV(GLuint index, GLubyte x, GLubyte y, GLubyte z,
+ GLubyte w);
+void GLAPIENTRY
+loopback_VertexAttrib1svNV(GLuint index, const GLshort *v);
+void GLAPIENTRY
+loopback_VertexAttrib1dvNV(GLuint index, const GLdouble *v);
+void GLAPIENTRY
+loopback_VertexAttrib2svNV(GLuint index, const GLshort *v);
+void GLAPIENTRY
+loopback_VertexAttrib2dvNV(GLuint index, const GLdouble *v);
+void GLAPIENTRY
+loopback_VertexAttrib3svNV(GLuint index, const GLshort *v);
+void GLAPIENTRY
+loopback_VertexAttrib3dvNV(GLuint index, const GLdouble *v);
+void GLAPIENTRY
+loopback_VertexAttrib4svNV(GLuint index, const GLshort *v);
+void GLAPIENTRY
+loopback_VertexAttrib4dvNV(GLuint index, const GLdouble *v);
+void GLAPIENTRY
+loopback_VertexAttrib4ubvNV(GLuint index, const GLubyte *v);
+void GLAPIENTRY
+loopback_VertexAttribs1svNV(GLuint index, GLsizei n, const GLshort *v);
+void GLAPIENTRY
+loopback_VertexAttribs1fvNV(GLuint index, GLsizei n, const GLfloat *v);
+void GLAPIENTRY
+loopback_VertexAttribs1dvNV(GLuint index, GLsizei n, const GLdouble *v);
+void GLAPIENTRY
+loopback_VertexAttribs2svNV(GLuint index, GLsizei n, const GLshort *v);
+void GLAPIENTRY
+loopback_VertexAttribs2fvNV(GLuint index, GLsizei n, const GLfloat *v);
+void GLAPIENTRY
+loopback_VertexAttribs2dvNV(GLuint index, GLsizei n, const GLdouble *v);
+void GLAPIENTRY
+loopback_VertexAttribs3svNV(GLuint index, GLsizei n, const GLshort *v);
+void GLAPIENTRY
+loopback_VertexAttribs3fvNV(GLuint index, GLsizei n, const GLfloat *v);
+void GLAPIENTRY
+loopback_VertexAttribs3dvNV(GLuint index, GLsizei n, const GLdouble *v);
+void GLAPIENTRY
+loopback_VertexAttribs4svNV(GLuint index, GLsizei n, const GLshort *v);
+void GLAPIENTRY
+loopback_VertexAttribs4fvNV(GLuint index, GLsizei n, const GLfloat *v);
+void GLAPIENTRY
+loopback_VertexAttribs4dvNV(GLuint index, GLsizei n, const GLdouble *v);
+void GLAPIENTRY
+loopback_VertexAttribs4ubvNV(GLuint index, GLsizei n, const GLubyte *v);
+void GLAPIENTRY
+loopback_VertexAttrib1sARB(GLuint index, GLshort x);
+void GLAPIENTRY
+loopback_VertexAttrib1dARB(GLuint index, GLdouble x);
+void GLAPIENTRY
+loopback_VertexAttrib2sARB(GLuint index, GLshort x, GLshort y);
+void GLAPIENTRY
+loopback_VertexAttrib2dARB(GLuint index, GLdouble x, GLdouble y);
+void GLAPIENTRY
+loopback_VertexAttrib3sARB(GLuint index, GLshort x, GLshort y, GLshort z);
+void GLAPIENTRY
+loopback_VertexAttrib3dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z);
+void GLAPIENTRY
+loopback_VertexAttrib4sARB(GLuint index, GLshort x, GLshort y, GLshort z,
+ GLshort w);
+void GLAPIENTRY
+loopback_VertexAttrib4dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z,
+ GLdouble w);
+void GLAPIENTRY
+loopback_VertexAttrib1svARB(GLuint index, const GLshort *v);
+void GLAPIENTRY
+loopback_VertexAttrib1dvARB(GLuint index, const GLdouble *v);
+void GLAPIENTRY
+loopback_VertexAttrib2svARB(GLuint index, const GLshort *v);
+void GLAPIENTRY
+loopback_VertexAttrib2dvARB(GLuint index, const GLdouble *v);
+void GLAPIENTRY
+loopback_VertexAttrib3svARB(GLuint index, const GLshort *v);
+void GLAPIENTRY
+loopback_VertexAttrib3dvARB(GLuint index, const GLdouble *v);
+void GLAPIENTRY
+loopback_VertexAttrib4svARB(GLuint index, const GLshort *v);
+void GLAPIENTRY
+loopback_VertexAttrib4dvARB(GLuint index, const GLdouble *v);
+void GLAPIENTRY
+loopback_VertexAttrib4bvARB(GLuint index, const GLbyte * v);
+void GLAPIENTRY
+loopback_VertexAttrib4ivARB(GLuint index, const GLint * v);
+void GLAPIENTRY
+loopback_VertexAttrib4ubvARB(GLuint index, const GLubyte * v);
+void GLAPIENTRY
+loopback_VertexAttrib4usvARB(GLuint index, const GLushort * v);
+void GLAPIENTRY
+loopback_VertexAttrib4uivARB(GLuint index, const GLuint * v);
+void GLAPIENTRY
+loopback_VertexAttrib4NbvARB(GLuint index, const GLbyte * v);
+void GLAPIENTRY
+loopback_VertexAttrib4NsvARB(GLuint index, const GLshort * v);
+void GLAPIENTRY
+loopback_VertexAttrib4NivARB(GLuint index, const GLint * v);
+void GLAPIENTRY
+loopback_VertexAttrib4NubARB(GLuint index, GLubyte x, GLubyte y, GLubyte z,
+ GLubyte w);
+void GLAPIENTRY
+loopback_VertexAttrib4NubvARB(GLuint index, const GLubyte * v);
+void GLAPIENTRY
+loopback_VertexAttrib4NusvARB(GLuint index, const GLushort * v);
+void GLAPIENTRY
+loopback_VertexAttrib4NuivARB(GLuint index, const GLuint * v);
+void GLAPIENTRY
+loopback_VertexAttribI1iv(GLuint index, const GLint *v);
+void GLAPIENTRY
+loopback_VertexAttribI1uiv(GLuint index, const GLuint *v);
+void GLAPIENTRY
+loopback_VertexAttribI4bv(GLuint index, const GLbyte *v);
+void GLAPIENTRY
+loopback_VertexAttribI4sv(GLuint index, const GLshort *v);
+void GLAPIENTRY
+loopback_VertexAttribI4ubv(GLuint index, const GLubyte *v);
+void GLAPIENTRY
+loopback_VertexAttribI4usv(GLuint index, const GLushort *v);
+
#endif /* API_LOOPBACK_H */
diff --git a/mesalib/src/mesa/main/atifragshader.c b/mesalib/src/mesa/main/atifragshader.c
index 32ddfb8bb..2a0790862 100644
--- a/mesalib/src/mesa/main/atifragshader.c
+++ b/mesalib/src/mesa/main/atifragshader.c
@@ -37,26 +37,6 @@
static struct ati_fragment_shader DummyShader;
-void
-_mesa_init_ati_fragment_shader_dispatch(struct _glapi_table *disp)
-{
- SET_GenFragmentShadersATI(disp, _mesa_GenFragmentShadersATI);
- SET_BindFragmentShaderATI(disp, _mesa_BindFragmentShaderATI);
- SET_DeleteFragmentShaderATI(disp, _mesa_DeleteFragmentShaderATI);
- SET_BeginFragmentShaderATI(disp, _mesa_BeginFragmentShaderATI);
- SET_EndFragmentShaderATI(disp, _mesa_EndFragmentShaderATI);
- SET_PassTexCoordATI(disp, _mesa_PassTexCoordATI);
- SET_SampleMapATI(disp, _mesa_SampleMapATI);
- SET_ColorFragmentOp1ATI(disp, _mesa_ColorFragmentOp1ATI);
- SET_ColorFragmentOp2ATI(disp, _mesa_ColorFragmentOp2ATI);
- SET_ColorFragmentOp3ATI(disp, _mesa_ColorFragmentOp3ATI);
- SET_AlphaFragmentOp1ATI(disp, _mesa_AlphaFragmentOp1ATI);
- SET_AlphaFragmentOp2ATI(disp, _mesa_AlphaFragmentOp2ATI);
- SET_AlphaFragmentOp3ATI(disp, _mesa_AlphaFragmentOp3ATI);
- SET_SetFragmentShaderConstantATI(disp, _mesa_SetFragmentShaderConstantATI);
-}
-
-
/**
* Allocate and initialize a new ATI fragment shader object.
*/
diff --git a/mesalib/src/mesa/main/atifragshader.h b/mesalib/src/mesa/main/atifragshader.h
index f5af5f15f..c47a7d56e 100644
--- a/mesalib/src/mesa/main/atifragshader.h
+++ b/mesalib/src/mesa/main/atifragshader.h
@@ -63,9 +63,6 @@ struct atifs_setupinst
};
-extern void
-_mesa_init_ati_fragment_shader_dispatch(struct _glapi_table *disp);
-
extern struct ati_fragment_shader *
_mesa_new_ati_fragment_shader(struct gl_context *ctx, GLuint id);
diff --git a/mesalib/src/mesa/main/attrib.c b/mesalib/src/mesa/main/attrib.c
index 48df7f16b..05db35b8e 100644
--- a/mesalib/src/mesa/main/attrib.c
+++ b/mesalib/src/mesa/main/attrib.c
@@ -1584,16 +1584,6 @@ _mesa_PopClientAttrib(void)
}
-void
-_mesa_init_attrib_dispatch(struct _glapi_table *disp)
-{
- SET_PopAttrib(disp, _mesa_PopAttrib);
- SET_PushAttrib(disp, _mesa_PushAttrib);
- SET_PopClientAttrib(disp, _mesa_PopClientAttrib);
- SET_PushClientAttrib(disp, _mesa_PushClientAttrib);
-}
-
-
/**
* Free any attribute state data that might be attached to the context.
*/
diff --git a/mesalib/src/mesa/main/attrib.h b/mesalib/src/mesa/main/attrib.h
index f75c3c5ce..1ecf3a591 100644
--- a/mesalib/src/mesa/main/attrib.h
+++ b/mesalib/src/mesa/main/attrib.h
@@ -45,9 +45,6 @@ _mesa_PushClientAttrib( GLbitfield mask );
extern void GLAPIENTRY
_mesa_PopClientAttrib( void );
-extern void
-_mesa_init_attrib_dispatch(struct _glapi_table *disp);
-
extern void
_mesa_init_attrib( struct gl_context *ctx );
diff --git a/mesalib/src/mesa/main/bufferobj.c b/mesalib/src/mesa/main/bufferobj.c
index 9697919fa..9dba99daf 100644
--- a/mesalib/src/mesa/main/bufferobj.c
+++ b/mesalib/src/mesa/main/bufferobj.c
@@ -2246,7 +2246,7 @@ _mesa_BindBufferBase(GLenum target, GLuint index, GLuint buffer)
}
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_InvalidateBufferSubData(GLuint buffer, GLintptr offset,
GLsizeiptr length)
{
@@ -2305,7 +2305,7 @@ _mesa_InvalidateBufferSubData(GLuint buffer, GLintptr offset,
return;
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_InvalidateBufferData(GLuint buffer)
{
GET_CURRENT_CONTEXT(ctx);
@@ -2337,34 +2337,3 @@ _mesa_InvalidateBufferData(GLuint buffer)
*/
return;
}
-
-void
-_mesa_init_bufferobj_dispatch(struct gl_context *ctx, struct _glapi_table *disp)
-{
- SET_BindBufferARB(disp, _mesa_BindBufferARB);
- SET_BufferDataARB(disp, _mesa_BufferDataARB);
- SET_BufferSubDataARB(disp, _mesa_BufferSubDataARB);
- SET_DeleteBuffersARB(disp, _mesa_DeleteBuffersARB);
- SET_GenBuffersARB(disp, _mesa_GenBuffersARB);
- SET_GetBufferParameterivARB(disp, _mesa_GetBufferParameterivARB);
- /* TODO: add GetBufferParameteri64v for desktop GL and GLES3 once tests
- * exist for it.
- */
- SET_GetBufferPointervARB(disp, _mesa_GetBufferPointervARB);
- if (_mesa_is_desktop_gl(ctx)) {
- SET_GetBufferSubDataARB(disp, _mesa_GetBufferSubDataARB);
- }
- SET_IsBufferARB(disp, _mesa_IsBufferARB);
- SET_MapBufferARB(disp, _mesa_MapBufferARB);
- SET_UnmapBufferARB(disp, _mesa_UnmapBufferARB);
-
- if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) {
- SET_BindBufferRangeEXT(disp, _mesa_BindBufferRange);
- SET_BindBufferBaseEXT(disp, _mesa_BindBufferBase);
- }
-
- if (_mesa_is_desktop_gl(ctx)) {
- SET_InvalidateBufferData(disp, _mesa_InvalidateBufferData);
- SET_InvalidateBufferSubData(disp, _mesa_InvalidateBufferSubData);
- }
-}
diff --git a/mesalib/src/mesa/main/bufferobj.h b/mesalib/src/mesa/main/bufferobj.h
index 4f1e61b63..4d5446ac0 100644
--- a/mesalib/src/mesa/main/bufferobj.h
+++ b/mesalib/src/mesa/main/bufferobj.h
@@ -100,72 +100,56 @@ _mesa_init_buffer_object_functions(struct dd_function_table *driver);
* API functions
*/
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_BindBufferARB(GLenum target, GLuint buffer);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_DeleteBuffersARB(GLsizei n, const GLuint * buffer);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_GenBuffersARB(GLsizei n, GLuint * buffer);
-
-extern GLboolean GLAPIENTRY
+GLboolean GLAPIENTRY
_mesa_IsBufferARB(GLuint buffer);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_BufferDataARB(GLenum target, GLsizeiptrARB size, const GLvoid * data, GLenum usage);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_BufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid * data);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, void * data);
-
-extern void * GLAPIENTRY
+void * GLAPIENTRY
_mesa_MapBufferARB(GLenum target, GLenum access);
-
-extern GLboolean GLAPIENTRY
+GLboolean GLAPIENTRY
_mesa_UnmapBufferARB(GLenum target);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetBufferParameterivARB(GLenum target, GLenum pname, GLint *params);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetBufferPointervARB(GLenum target, GLenum pname, GLvoid **params);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_CopyBufferSubData(GLenum readTarget, GLenum writeTarget,
GLintptr readOffset, GLintptr writeOffset,
GLsizeiptr size);
-
-extern void * GLAPIENTRY
+void * GLAPIENTRY
_mesa_MapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length,
GLbitfield access);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_FlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length);
-
-extern GLenum GLAPIENTRY
+GLenum GLAPIENTRY
_mesa_ObjectPurgeableAPPLE(GLenum objectType, GLuint name, GLenum option);
-
-extern GLenum GLAPIENTRY
+GLenum GLAPIENTRY
_mesa_ObjectUnpurgeableAPPLE(GLenum objectType, GLuint name, GLenum option);
-
-extern void GLAPIENTRY
-_mesa_GetObjectParameterivAPPLE(GLenum objectType, GLuint name, GLenum pname, GLint* params);
-
void GLAPIENTRY
-_mesa_BindBufferBase(GLenum target, GLuint index, GLuint buffer);
-
+_mesa_GetObjectParameterivAPPLE(GLenum objectType, GLuint name, GLenum pname,
+ GLint* params);
void GLAPIENTRY
_mesa_BindBufferRange(GLenum target, GLuint index,
GLuint buffer, GLintptr offset, GLsizeiptr size);
+void GLAPIENTRY
+_mesa_BindBufferBase(GLenum target, GLuint index, GLuint buffer);
+void GLAPIENTRY
+_mesa_InvalidateBufferSubData(GLuint buffer, GLintptr offset,
+ GLsizeiptr length);
+void GLAPIENTRY
+_mesa_InvalidateBufferData(GLuint buffer);
-extern void
-_mesa_init_bufferobj_dispatch(struct gl_context *ctx,
- struct _glapi_table *disp);
#endif
diff --git a/mesalib/src/mesa/main/colortab.c b/mesalib/src/mesa/main/colortab.c
index 5799c01f6..f1b3e585a 100644
--- a/mesalib/src/mesa/main/colortab.c
+++ b/mesalib/src/mesa/main/colortab.c
@@ -63,7 +63,7 @@ _mesa_ColorSubTable( GLenum target, GLsizei start,
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_CopyColorTable(GLenum target, GLenum internalformat,
GLint x, GLint y, GLsizei width)
{
@@ -74,7 +74,7 @@ _mesa_CopyColorTable(GLenum target, GLenum internalformat,
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_CopyColorSubTable(GLenum target, GLsizei start,
GLint x, GLint y, GLsizei width)
{
@@ -85,7 +85,7 @@ _mesa_CopyColorSubTable(GLenum target, GLsizei start,
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetnColorTableARB( GLenum target, GLenum format, GLenum type,
GLsizei bufSize, GLvoid *data )
{
@@ -95,7 +95,7 @@ _mesa_GetnColorTableARB( GLenum target, GLenum format, GLenum type,
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetColorTable( GLenum target, GLenum format,
GLenum type, GLvoid *data )
{
@@ -105,7 +105,7 @@ _mesa_GetColorTable( GLenum target, GLenum format,
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_ColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params)
{
/* no extensions use this function */
@@ -116,7 +116,7 @@ _mesa_ColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params)
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_ColorTableParameteriv(GLenum target, GLenum pname, const GLint *params)
{
/* no extensions use this function */
@@ -127,7 +127,7 @@ _mesa_ColorTableParameteriv(GLenum target, GLenum pname, const GLint *params)
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetColorTableParameterfv( GLenum target, GLenum pname, GLfloat *params )
{
GET_CURRENT_CONTEXT(ctx);
@@ -137,28 +137,10 @@ _mesa_GetColorTableParameterfv( GLenum target, GLenum pname, GLfloat *params )
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetColorTableParameteriv( GLenum target, GLenum pname, GLint *params )
{
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END(ctx);
_mesa_error(ctx, GL_INVALID_ENUM, "glGetColorTableParameteriv(target)");
}
-
-
-void
-_mesa_init_colortable_dispatch(struct _glapi_table *disp)
-{
- SET_ColorSubTable(disp, _mesa_ColorSubTable);
- SET_ColorTable(disp, _mesa_ColorTable);
- SET_ColorTableParameterfv(disp, _mesa_ColorTableParameterfv);
- SET_ColorTableParameteriv(disp, _mesa_ColorTableParameteriv);
- SET_CopyColorSubTable(disp, _mesa_CopyColorSubTable);
- SET_CopyColorTable(disp, _mesa_CopyColorTable);
- SET_GetColorTable(disp, _mesa_GetColorTable);
- SET_GetColorTableParameterfv(disp, _mesa_GetColorTableParameterfv);
- SET_GetColorTableParameteriv(disp, _mesa_GetColorTableParameteriv);
-
- /* GL_ARB_robustness */
- SET_GetnColorTableARB(disp, _mesa_GetnColorTableARB);
-}
diff --git a/mesalib/src/mesa/main/colortab.h b/mesalib/src/mesa/main/colortab.h
index 7b8df38a1..f25fbe8a5 100644
--- a/mesalib/src/mesa/main/colortab.h
+++ b/mesalib/src/mesa/main/colortab.h
@@ -33,18 +33,35 @@
struct _glapi_table;
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_ColorTable( GLenum target, GLenum internalformat,
GLsizei width, GLenum format, GLenum type,
const GLvoid *table );
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_ColorSubTable( GLenum target, GLsizei start,
GLsizei count, GLenum format, GLenum type,
const GLvoid *table );
-
-extern void
-_mesa_init_colortable_dispatch(struct _glapi_table *disp);
+void GLAPIENTRY
+_mesa_CopyColorTable(GLenum target, GLenum internalformat,
+ GLint x, GLint y, GLsizei width);
+void GLAPIENTRY
+_mesa_CopyColorSubTable(GLenum target, GLsizei start,
+ GLint x, GLint y, GLsizei width);
+void GLAPIENTRY
+_mesa_GetnColorTableARB( GLenum target, GLenum format, GLenum type,
+ GLsizei bufSize, GLvoid *data );
+void GLAPIENTRY
+_mesa_GetColorTable( GLenum target, GLenum format,
+ GLenum type, GLvoid *data );
+void GLAPIENTRY
+_mesa_ColorTableParameterfv(GLenum target, GLenum pname,
+ const GLfloat *params);
+void GLAPIENTRY
+_mesa_ColorTableParameteriv(GLenum target, GLenum pname, const GLint *params);
+void GLAPIENTRY
+_mesa_GetColorTableParameterfv( GLenum target, GLenum pname, GLfloat *params );
+void GLAPIENTRY
+_mesa_GetColorTableParameteriv( GLenum target, GLenum pname, GLint *params );
#endif /* COLORTAB_H */
diff --git a/mesalib/src/mesa/main/context.c b/mesalib/src/mesa/main/context.c
index a4dedeea2..0508378b7 100644
--- a/mesalib/src/mesa/main/context.c
+++ b/mesalib/src/mesa/main/context.c
@@ -706,9 +706,9 @@ check_context_limits(struct gl_context *ctx)
assert(MAX_TEXTURE_LEVELS >= MAX_CUBE_TEXTURE_LEVELS);
/* Max texture size should be <= max viewport size (render to texture) */
- assert((1 << (ctx->Const.MaxTextureLevels - 1))
+ assert((1U << (ctx->Const.MaxTextureLevels - 1))
<= ctx->Const.MaxViewportWidth);
- assert((1 << (ctx->Const.MaxTextureLevels - 1))
+ assert((1U << (ctx->Const.MaxTextureLevels - 1))
<= ctx->Const.MaxViewportHeight);
assert(ctx->Const.MaxDrawBuffers <= MAX_DRAW_BUFFERS);
diff --git a/mesalib/src/mesa/main/convolve.c b/mesalib/src/mesa/main/convolve.c
index cac8a9979..dfc1b9465 100644
--- a/mesalib/src/mesa/main/convolve.c
+++ b/mesalib/src/mesa/main/convolve.c
@@ -41,7 +41,7 @@
#include "main/dispatch.h"
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_ConvolutionFilter1D(GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid *image)
{
GET_CURRENT_CONTEXT(ctx);
@@ -49,7 +49,7 @@ _mesa_ConvolutionFilter1D(GLenum target, GLenum internalFormat, GLsizei width, G
_mesa_error(ctx, GL_INVALID_ENUM, "glConvolutionFilter1D");
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_ConvolutionFilter2D(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image)
{
GET_CURRENT_CONTEXT(ctx);
@@ -58,7 +58,7 @@ _mesa_ConvolutionFilter2D(GLenum target, GLenum internalFormat, GLsizei width, G
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_ConvolutionParameterf(GLenum target, GLenum pname, GLfloat param)
{
GET_CURRENT_CONTEXT(ctx);
@@ -67,7 +67,7 @@ _mesa_ConvolutionParameterf(GLenum target, GLenum pname, GLfloat param)
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_ConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params)
{
GET_CURRENT_CONTEXT(ctx);
@@ -76,7 +76,7 @@ _mesa_ConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params)
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_ConvolutionParameteri(GLenum target, GLenum pname, GLint param)
{
GET_CURRENT_CONTEXT(ctx);
@@ -85,7 +85,7 @@ _mesa_ConvolutionParameteri(GLenum target, GLenum pname, GLint param)
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_ConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params)
{
GET_CURRENT_CONTEXT(ctx);
@@ -94,7 +94,7 @@ _mesa_ConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params)
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_CopyConvolutionFilter1D(GLenum target, GLenum internalFormat, GLint x, GLint y, GLsizei width)
{
GET_CURRENT_CONTEXT(ctx);
@@ -103,7 +103,7 @@ _mesa_CopyConvolutionFilter1D(GLenum target, GLenum internalFormat, GLint x, GLi
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_CopyConvolutionFilter2D(GLenum target, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height)
{
GET_CURRENT_CONTEXT(ctx);
@@ -112,7 +112,7 @@ _mesa_CopyConvolutionFilter2D(GLenum target, GLenum internalFormat, GLint x, GLi
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetnConvolutionFilterARB(GLenum target, GLenum format, GLenum type,
GLsizei bufSize, GLvoid *image)
{
@@ -122,7 +122,7 @@ _mesa_GetnConvolutionFilterARB(GLenum target, GLenum format, GLenum type,
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetConvolutionFilter(GLenum target, GLenum format, GLenum type,
GLvoid *image)
{
@@ -130,7 +130,7 @@ _mesa_GetConvolutionFilter(GLenum target, GLenum format, GLenum type,
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params)
{
GET_CURRENT_CONTEXT(ctx);
@@ -139,7 +139,7 @@ _mesa_GetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params)
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params)
{
GET_CURRENT_CONTEXT(ctx);
@@ -148,7 +148,7 @@ _mesa_GetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params)
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetnSeparableFilterARB(GLenum target, GLenum format, GLenum type,
GLsizei rowBufSize, GLvoid *row,
GLsizei columnBufSize, GLvoid *column,
@@ -160,7 +160,7 @@ _mesa_GetnSeparableFilterARB(GLenum target, GLenum format, GLenum type,
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetSeparableFilter(GLenum target, GLenum format, GLenum type,
GLvoid *row, GLvoid *column, GLvoid *span)
{
@@ -169,32 +169,10 @@ _mesa_GetSeparableFilter(GLenum target, GLenum format, GLenum type,
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_SeparableFilter2D(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column)
{
GET_CURRENT_CONTEXT(ctx);
_mesa_error(ctx, GL_INVALID_ENUM, "glSeparableFilter2D");
}
-
-void
-_mesa_init_convolve_dispatch(struct _glapi_table *disp)
-{
- SET_ConvolutionFilter1D(disp, _mesa_ConvolutionFilter1D);
- SET_ConvolutionFilter2D(disp, _mesa_ConvolutionFilter2D);
- SET_ConvolutionParameterf(disp, _mesa_ConvolutionParameterf);
- SET_ConvolutionParameterfv(disp, _mesa_ConvolutionParameterfv);
- SET_ConvolutionParameteri(disp, _mesa_ConvolutionParameteri);
- SET_ConvolutionParameteriv(disp, _mesa_ConvolutionParameteriv);
- SET_CopyConvolutionFilter1D(disp, _mesa_CopyConvolutionFilter1D);
- SET_CopyConvolutionFilter2D(disp, _mesa_CopyConvolutionFilter2D);
- SET_GetConvolutionFilter(disp, _mesa_GetConvolutionFilter);
- SET_GetConvolutionParameterfv(disp, _mesa_GetConvolutionParameterfv);
- SET_GetConvolutionParameteriv(disp, _mesa_GetConvolutionParameteriv);
- SET_SeparableFilter2D(disp, _mesa_SeparableFilter2D);
- SET_GetSeparableFilter(disp, _mesa_GetSeparableFilter);
-
- /* GL_ARB_robustness */
- SET_GetnConvolutionFilterARB(disp, _mesa_GetnConvolutionFilterARB);
- SET_GetnSeparableFilterARB(disp, _mesa_GetnSeparableFilterARB);
-}
diff --git a/mesalib/src/mesa/main/convolve.h b/mesalib/src/mesa/main/convolve.h
index 2fbe3c7f5..812debd61 100644
--- a/mesalib/src/mesa/main/convolve.h
+++ b/mesalib/src/mesa/main/convolve.h
@@ -33,7 +33,49 @@
struct _glapi_table;
-extern void
-_mesa_init_convolve_dispatch(struct _glapi_table *disp);
+void GLAPIENTRY
+_mesa_ConvolutionFilter1D(GLenum target, GLenum internalFormat, GLsizei width,
+ GLenum format, GLenum type, const GLvoid *image);
+void GLAPIENTRY
+_mesa_ConvolutionFilter2D(GLenum target, GLenum internalFormat, GLsizei width,
+ GLsizei height, GLenum format, GLenum type,
+ const GLvoid *image);
+void GLAPIENTRY
+_mesa_ConvolutionParameterf(GLenum target, GLenum pname, GLfloat param);
+void GLAPIENTRY
+_mesa_ConvolutionParameterfv(GLenum target, GLenum pname,
+ const GLfloat *params);
+void GLAPIENTRY
+_mesa_ConvolutionParameteri(GLenum target, GLenum pname, GLint param);
+void GLAPIENTRY
+_mesa_ConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params);
+void GLAPIENTRY
+_mesa_CopyConvolutionFilter1D(GLenum target, GLenum internalFormat, GLint x,
+ GLint y, GLsizei width);
+void GLAPIENTRY
+_mesa_CopyConvolutionFilter2D(GLenum target, GLenum internalFormat, GLint x,
+ GLint y, GLsizei width, GLsizei height);
+void GLAPIENTRY
+_mesa_GetnConvolutionFilterARB(GLenum target, GLenum format, GLenum type,
+ GLsizei bufSize, GLvoid *image);
+void GLAPIENTRY
+_mesa_GetConvolutionFilter(GLenum target, GLenum format, GLenum type,
+ GLvoid *image);
+void GLAPIENTRY
+_mesa_GetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params);
+void GLAPIENTRY
+_mesa_GetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params);
+void GLAPIENTRY
+_mesa_GetnSeparableFilterARB(GLenum target, GLenum format, GLenum type,
+ GLsizei rowBufSize, GLvoid *row,
+ GLsizei columnBufSize, GLvoid *column,
+ GLvoid *span);
+void GLAPIENTRY
+_mesa_GetSeparableFilter(GLenum target, GLenum format, GLenum type,
+ GLvoid *row, GLvoid *column, GLvoid *span);
+void GLAPIENTRY
+_mesa_SeparableFilter2D(GLenum target, GLenum internalFormat, GLsizei width,
+ GLsizei height, GLenum format, GLenum type,
+ const GLvoid *row, const GLvoid *column);
#endif /* CONVOLVE_H */
diff --git a/mesalib/src/mesa/main/dlist.c b/mesalib/src/mesa/main/dlist.c
index c15043694..8bbead7c4 100644
--- a/mesalib/src/mesa/main/dlist.c
+++ b/mesalib/src/mesa/main/dlist.c
@@ -8580,7 +8580,7 @@ execute_list(struct gl_context *ctx, GLuint list)
/**
* Test if a display list number is valid.
*/
-static GLboolean GLAPIENTRY
+GLboolean GLAPIENTRY
_mesa_IsList(GLuint list)
{
GET_CURRENT_CONTEXT(ctx);
@@ -8593,7 +8593,7 @@ _mesa_IsList(GLuint list)
/**
* Delete a sequence of consecutive display lists.
*/
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_DeleteLists(GLuint list, GLsizei range)
{
GET_CURRENT_CONTEXT(ctx);
@@ -8615,7 +8615,7 @@ _mesa_DeleteLists(GLuint list, GLsizei range)
* Return a display list number, n, such that lists n through n+range-1
* are free.
*/
-static GLuint GLAPIENTRY
+GLuint GLAPIENTRY
_mesa_GenLists(GLsizei range)
{
GET_CURRENT_CONTEXT(ctx);
@@ -8655,7 +8655,7 @@ _mesa_GenLists(GLsizei range)
/**
* Begin a new display list.
*/
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_NewList(GLuint name, GLenum mode)
{
GET_CURRENT_CONTEXT(ctx);
@@ -8705,7 +8705,7 @@ _mesa_NewList(GLuint name, GLenum mode)
/**
* End definition of current display list.
*/
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_EndList(void)
{
GET_CURRENT_CONTEXT(ctx);
@@ -8841,7 +8841,7 @@ _mesa_CallLists(GLsizei n, GLenum type, const GLvoid * lists)
/**
* Set the offset added to list numbers in glCallLists.
*/
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_ListBase(GLuint base)
{
GET_CURRENT_CONTEXT(ctx);
@@ -10633,20 +10633,6 @@ _mesa_install_dlist_vtxfmt(struct _glapi_table *disp,
}
-void _mesa_init_dlist_dispatch(struct _glapi_table *disp)
-{
- SET_CallList(disp, _mesa_CallList);
- SET_CallLists(disp, _mesa_CallLists);
-
- SET_DeleteLists(disp, _mesa_DeleteLists);
- SET_EndList(disp, _mesa_EndList);
- SET_GenLists(disp, _mesa_GenLists);
- SET_IsList(disp, _mesa_IsList);
- SET_ListBase(disp, _mesa_ListBase);
- SET_NewList(disp, _mesa_NewList);
-}
-
-
/**
* Initialize display list state for given context.
*/
diff --git a/mesalib/src/mesa/main/dlist.h b/mesalib/src/mesa/main/dlist.h
index 137245161..9d4fc6899 100644
--- a/mesalib/src/mesa/main/dlist.h
+++ b/mesalib/src/mesa/main/dlist.h
@@ -43,9 +43,22 @@
(vfmt)->CallLists = impl ## CallLists; \
} while (0)
-extern void GLAPIENTRY _mesa_CallList( GLuint list );
-
-extern void GLAPIENTRY _mesa_CallLists( GLsizei n, GLenum type, const GLvoid *lists );
+GLboolean GLAPIENTRY
+_mesa_IsList(GLuint list);
+void GLAPIENTRY
+_mesa_DeleteLists(GLuint list, GLsizei range);
+GLuint GLAPIENTRY
+_mesa_GenLists(GLsizei range);
+void GLAPIENTRY
+_mesa_NewList(GLuint name, GLenum mode);
+void GLAPIENTRY
+_mesa_EndList(void);
+void GLAPIENTRY
+_mesa_CallList( GLuint list );
+void GLAPIENTRY
+_mesa_CallLists( GLsizei n, GLenum type, const GLvoid *lists );
+void GLAPIENTRY
+_mesa_ListBase(GLuint base);
extern void _mesa_compile_error( struct gl_context *ctx, GLenum error, const char *s );
@@ -66,8 +79,6 @@ extern struct _glapi_table *_mesa_create_save_table(const struct gl_context *);
extern void _mesa_install_dlist_vtxfmt(struct _glapi_table *disp,
const GLvertexformat *vfmt);
-extern void _mesa_init_dlist_dispatch(struct _glapi_table *disp);
-
extern void _mesa_init_display_list( struct gl_context * ctx );
extern void _mesa_free_display_list_data(struct gl_context *ctx);
diff --git a/mesalib/src/mesa/main/drawpix.c b/mesalib/src/mesa/main/drawpix.c
index 8836e0a0e..3d25ae52b 100644
--- a/mesalib/src/mesa/main/drawpix.c
+++ b/mesalib/src/mesa/main/drawpix.c
@@ -42,7 +42,7 @@
/*
* Execute glDrawPixels
*/
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_DrawPixels( GLsizei width, GLsizei height,
GLenum format, GLenum type, const GLvoid *pixels )
{
@@ -186,7 +186,7 @@ end:
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_CopyPixels( GLint srcx, GLint srcy, GLsizei width, GLsizei height,
GLenum type )
{
@@ -291,7 +291,7 @@ end:
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_Bitmap( GLsizei width, GLsizei height,
GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove,
const GLubyte *bitmap )
@@ -365,12 +365,3 @@ _mesa_Bitmap( GLsizei width, GLsizei height,
_mesa_flush(ctx);
}
}
-
-
-void
-_mesa_init_drawpix_dispatch(struct _glapi_table *disp)
-{
- SET_Bitmap(disp, _mesa_Bitmap);
- SET_CopyPixels(disp, _mesa_CopyPixels);
- SET_DrawPixels(disp, _mesa_DrawPixels);
-}
diff --git a/mesalib/src/mesa/main/drawpix.h b/mesalib/src/mesa/main/drawpix.h
index 971d258f1..087b3a8c9 100644
--- a/mesalib/src/mesa/main/drawpix.h
+++ b/mesalib/src/mesa/main/drawpix.h
@@ -32,8 +32,16 @@
struct _glapi_table;
-extern void
-_mesa_init_drawpix_dispatch(struct _glapi_table *disp);
+void GLAPIENTRY
+_mesa_DrawPixels( GLsizei width, GLsizei height,
+ GLenum format, GLenum type, const GLvoid *pixels );
+void GLAPIENTRY
+_mesa_CopyPixels( GLint srcx, GLint srcy, GLsizei width, GLsizei height,
+ GLenum type );
+void GLAPIENTRY
+_mesa_Bitmap( GLsizei width, GLsizei height,
+ GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove,
+ const GLubyte *bitmap );
#endif /* DRAWPIX_H */
diff --git a/mesalib/src/mesa/main/errors.c b/mesalib/src/mesa/main/errors.c
index 796b6beff..b692f3189 100644
--- a/mesalib/src/mesa/main/errors.c
+++ b/mesalib/src/mesa/main/errors.c
@@ -477,7 +477,7 @@ error:
return GL_FALSE;
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_DebugMessageInsertARB(GLenum source, GLenum type, GLuint id,
GLenum severity, GLint length,
const GLcharARB* buf)
@@ -501,7 +501,7 @@ _mesa_DebugMessageInsertARB(GLenum source, GLenum type, GLuint id,
_mesa_log_msg(ctx, source, type, id, severity, length, buf);
}
-static GLuint GLAPIENTRY
+GLuint GLAPIENTRY
_mesa_GetDebugMessageLogARB(GLuint count, GLsizei logSize, GLenum* sources,
GLenum* types, GLenum* ids, GLenum* severities,
GLsizei* lengths, GLcharARB* messageLog)
@@ -672,7 +672,7 @@ control_app_messages(struct gl_context *ctx, GLenum esource, GLenum etype,
control_app_messages_by_group(ctx, source, type, severity, enabled);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_DebugMessageControlARB(GLenum source, GLenum type, GLenum severity,
GLsizei count, const GLuint *ids,
GLboolean enabled)
@@ -717,7 +717,7 @@ _mesa_DebugMessageControlARB(GLenum source, GLenum type, GLenum severity,
}
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_DebugMessageCallbackARB(GLDEBUGPROCARB callback, const GLvoid *userParam)
{
GET_CURRENT_CONTEXT(ctx);
diff --git a/mesalib/src/mesa/main/errors.h b/mesalib/src/mesa/main/errors.h
index b4490fac9..c41d36811 100644
--- a/mesalib/src/mesa/main/errors.h
+++ b/mesalib/src/mesa/main/errors.h
@@ -71,6 +71,22 @@ _mesa_debug( const struct gl_context *ctx, const char *fmtString, ... ) PRINTFLI
extern void
_mesa_shader_debug( struct gl_context *ctx, GLenum type, GLuint id, const char *msg, int len );
+void GLAPIENTRY
+_mesa_DebugMessageInsertARB(GLenum source, GLenum type, GLuint id,
+ GLenum severity, GLint length,
+ const GLcharARB* buf);
+GLuint GLAPIENTRY
+_mesa_GetDebugMessageLogARB(GLuint count, GLsizei logSize, GLenum* sources,
+ GLenum* types, GLenum* ids, GLenum* severities,
+ GLsizei* lengths, GLcharARB* messageLog);
+void GLAPIENTRY
+_mesa_DebugMessageControlARB(GLenum source, GLenum type, GLenum severity,
+ GLsizei count, const GLuint *ids,
+ GLboolean enabled);
+void GLAPIENTRY
+_mesa_DebugMessageCallbackARB(GLDEBUGPROCARB callback,
+ const GLvoid *userParam);
+
#ifdef __cplusplus
}
#endif
diff --git a/mesalib/src/mesa/main/es1_conversion.c b/mesalib/src/mesa/main/es1_conversion.c
index 758fb1a66..993147c47 100644
--- a/mesalib/src/mesa/main/es1_conversion.c
+++ b/mesalib/src/mesa/main/es1_conversion.c
@@ -1,8 +1,6 @@
#include <stdbool.h>
#include "main/mfeatures.h"
-#if FEATURE_ES1
-
#include "api_loopback.h"
#include "api_exec.h"
#include "blend.h"
@@ -938,5 +936,3 @@ _es_Translatex(GLfixed x, GLfixed y, GLfixed z)
(GLfloat) (y / 65536.0f),
(GLfloat) (z / 65536.0f));
}
-
-#endif /* FEATURE_ES1 */
diff --git a/mesalib/src/mesa/main/eval.c b/mesalib/src/mesa/main/eval.c
index d6e45d6e8..59627cc43 100644
--- a/mesalib/src/mesa/main/eval.c
+++ b/mesalib/src/mesa/main/eval.c
@@ -368,7 +368,7 @@ map1(GLenum target, GLfloat u1, GLfloat u2, GLint ustride,
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_Map1f( GLenum target, GLfloat u1, GLfloat u2, GLint stride,
GLint order, const GLfloat *points )
{
@@ -376,7 +376,7 @@ _mesa_Map1f( GLenum target, GLfloat u1, GLfloat u2, GLint stride,
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_Map1d( GLenum target, GLdouble u1, GLdouble u2, GLint stride,
GLint order, const GLdouble *points )
{
@@ -467,7 +467,7 @@ map2( GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder,
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_Map2f( GLenum target,
GLfloat u1, GLfloat u2, GLint ustride, GLint uorder,
GLfloat v1, GLfloat v2, GLint vstride, GLint vorder,
@@ -478,7 +478,7 @@ _mesa_Map2f( GLenum target,
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_Map2d( GLenum target,
GLdouble u1, GLdouble u2, GLint ustride, GLint uorder,
GLdouble v1, GLdouble v2, GLint vstride, GLint vorder,
@@ -490,7 +490,7 @@ _mesa_Map2d( GLenum target,
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetnMapdvARB( GLenum target, GLenum query, GLsizei bufSize, GLdouble *v )
{
GET_CURRENT_CONTEXT(ctx);
@@ -576,13 +576,13 @@ overflow:
" but %d bytes are required)", bufSize, numBytes );
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetMapdv( GLenum target, GLenum query, GLdouble *v )
{
_mesa_GetnMapdvARB(target, query, INT_MAX, v);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetnMapfvARB( GLenum target, GLenum query, GLsizei bufSize, GLfloat *v )
{
GET_CURRENT_CONTEXT(ctx);
@@ -669,14 +669,14 @@ overflow:
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetMapfv( GLenum target, GLenum query, GLfloat *v )
{
_mesa_GetnMapfvARB(target, query, INT_MAX, v);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetnMapivARB( GLenum target, GLenum query, GLsizei bufSize, GLint *v )
{
GET_CURRENT_CONTEXT(ctx);
@@ -763,14 +763,14 @@ overflow:
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetMapiv( GLenum target, GLenum query, GLint *v )
{
_mesa_GetnMapivARB(target, query, INT_MAX, v);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_MapGrid1f( GLint un, GLfloat u1, GLfloat u2 )
{
GET_CURRENT_CONTEXT(ctx);
@@ -788,14 +788,14 @@ _mesa_MapGrid1f( GLint un, GLfloat u1, GLfloat u2 )
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_MapGrid1d( GLint un, GLdouble u1, GLdouble u2 )
{
_mesa_MapGrid1f( un, (GLfloat) u1, (GLfloat) u2 );
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_MapGrid2f( GLint un, GLfloat u1, GLfloat u2,
GLint vn, GLfloat v1, GLfloat v2 )
{
@@ -823,7 +823,7 @@ _mesa_MapGrid2f( GLint un, GLfloat u1, GLfloat u2,
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_MapGrid2d( GLint un, GLdouble u1, GLdouble u2,
GLint vn, GLdouble v1, GLdouble v2 )
{
@@ -848,28 +848,6 @@ _mesa_install_eval_vtxfmt(struct _glapi_table *disp,
}
-void
-_mesa_init_eval_dispatch(struct _glapi_table *disp)
-{
- SET_GetMapdv(disp, _mesa_GetMapdv);
- SET_GetMapfv(disp, _mesa_GetMapfv);
- SET_GetMapiv(disp, _mesa_GetMapiv);
- SET_Map1d(disp, _mesa_Map1d);
- SET_Map1f(disp, _mesa_Map1f);
- SET_Map2d(disp, _mesa_Map2d);
- SET_Map2f(disp, _mesa_Map2f);
- SET_MapGrid1d(disp, _mesa_MapGrid1d);
- SET_MapGrid1f(disp, _mesa_MapGrid1f);
- SET_MapGrid2d(disp, _mesa_MapGrid2d);
- SET_MapGrid2f(disp, _mesa_MapGrid2f);
-
- /* GL_ARB_robustness */
- SET_GetnMapdvARB(disp, _mesa_GetnMapdvARB);
- SET_GetnMapfvARB(disp, _mesa_GetnMapfvARB);
- SET_GetnMapivARB(disp, _mesa_GetnMapivARB);
-}
-
-
/**********************************************************************/
/***** Initialization *****/
/**********************************************************************/
diff --git a/mesalib/src/mesa/main/eval.h b/mesalib/src/mesa/main/eval.h
index 0649de052..1b6c704ca 100644
--- a/mesalib/src/mesa/main/eval.h
+++ b/mesalib/src/mesa/main/eval.h
@@ -78,11 +78,47 @@ extern void
_mesa_install_eval_vtxfmt(struct _glapi_table *disp,
const GLvertexformat *vfmt);
-extern void
-_mesa_init_eval_dispatch(struct _glapi_table *disp);
-
extern void _mesa_init_eval( struct gl_context *ctx );
extern void _mesa_free_eval_data( struct gl_context *ctx );
+void GLAPIENTRY
+_mesa_Map1f( GLenum target, GLfloat u1, GLfloat u2, GLint stride,
+ GLint order, const GLfloat *points );
+void GLAPIENTRY
+_mesa_Map1d( GLenum target, GLdouble u1, GLdouble u2, GLint stride,
+ GLint order, const GLdouble *points );
+void GLAPIENTRY
+_mesa_Map2f( GLenum target,
+ GLfloat u1, GLfloat u2, GLint ustride, GLint uorder,
+ GLfloat v1, GLfloat v2, GLint vstride, GLint vorder,
+ const GLfloat *points);
+void GLAPIENTRY
+_mesa_Map2d( GLenum target,
+ GLdouble u1, GLdouble u2, GLint ustride, GLint uorder,
+ GLdouble v1, GLdouble v2, GLint vstride, GLint vorder,
+ const GLdouble *points );
+void GLAPIENTRY
+_mesa_GetnMapdvARB( GLenum target, GLenum query, GLsizei bufSize,
+ GLdouble *v );
+void GLAPIENTRY
+_mesa_GetMapdv( GLenum target, GLenum query, GLdouble *v );
+void GLAPIENTRY
+_mesa_GetnMapfvARB( GLenum target, GLenum query, GLsizei bufSize, GLfloat *v );
+void GLAPIENTRY
+_mesa_GetMapfv( GLenum target, GLenum query, GLfloat *v );
+void GLAPIENTRY
+_mesa_GetnMapivARB( GLenum target, GLenum query, GLsizei bufSize, GLint *v );
+void GLAPIENTRY
+_mesa_GetMapiv( GLenum target, GLenum query, GLint *v );
+void GLAPIENTRY
+_mesa_MapGrid1f( GLint un, GLfloat u1, GLfloat u2 );
+void GLAPIENTRY
+_mesa_MapGrid1d( GLint un, GLdouble u1, GLdouble u2 );
+void GLAPIENTRY
+_mesa_MapGrid2f( GLint un, GLfloat u1, GLfloat u2,
+ GLint vn, GLfloat v1, GLfloat v2 );
+void GLAPIENTRY
+_mesa_MapGrid2d( GLint un, GLdouble u1, GLdouble u2,
+ GLint vn, GLdouble v1, GLdouble v2 );
#endif /* EVAL_H */
diff --git a/mesalib/src/mesa/main/fbobject.c b/mesalib/src/mesa/main/fbobject.c
index fc5681ccc..0758d5557 100644
--- a/mesalib/src/mesa/main/fbobject.c
+++ b/mesalib/src/mesa/main/fbobject.c
@@ -2059,7 +2059,8 @@ framebuffer_texture(struct gl_context *ctx, const char *caller, GLenum target,
}
else if ((texObj->Target == GL_TEXTURE_1D_ARRAY_EXT) ||
(texObj->Target == GL_TEXTURE_2D_ARRAY_EXT)) {
- if (zoffset < 0 || zoffset >= ctx->Const.MaxArrayTextureLayers) {
+ if (zoffset < 0 ||
+ zoffset >= (GLint) ctx->Const.MaxArrayTextureLayers) {
_mesa_error(ctx, GL_INVALID_VALUE,
"glFramebufferTexture%sEXT(layer)", caller);
return;
@@ -2637,6 +2638,15 @@ _mesa_GenerateMipmapEXT(GLenum target)
return;
}
+ if (_mesa_is_enum_format_integer(srcImage->InternalFormat) ||
+ _mesa_is_depthstencil_format(srcImage->InternalFormat) ||
+ _mesa_is_stencil_format(srcImage->InternalFormat)) {
+ _mesa_unlock_texture(ctx, texObj);
+ _mesa_error(ctx, GL_INVALID_OPERATION,
+ "glGenerateMipmap(invalid internal format)");
+ return;
+ }
+
if (target == GL_TEXTURE_CUBE_MAP) {
GLuint face;
for (face = 0; face < 6; face++)
@@ -3142,7 +3152,7 @@ invalidate_framebuffer_storage(GLenum target, GLsizei numAttachments,
case GL_COLOR_ATTACHMENT13:
case GL_COLOR_ATTACHMENT14:
case GL_COLOR_ATTACHMENT15: {
- const int k = attachments[i] - GL_COLOR_ATTACHMENT0;
+ unsigned k = attachments[i] - GL_COLOR_ATTACHMENT0;
if (k >= ctx->Const.MaxColorAttachments) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"%s(attachment >= max. color attachments)", name);
diff --git a/mesalib/src/mesa/main/feedback.c b/mesalib/src/mesa/main/feedback.c
index f45b823b1..128a12622 100644
--- a/mesalib/src/mesa/main/feedback.c
+++ b/mesalib/src/mesa/main/feedback.c
@@ -47,7 +47,7 @@
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_FeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer )
{
GET_CURRENT_CONTEXT(ctx);
@@ -96,7 +96,7 @@ _mesa_FeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer )
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_PassThrough( GLfloat token )
{
GET_CURRENT_CONTEXT(ctx);
@@ -159,7 +159,7 @@ _mesa_feedback_vertex(struct gl_context *ctx,
* Verifies we're not in selection mode, flushes the vertices and initialize
* the fields in __struct gl_contextRec::Select with the given buffer.
*/
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_SelectBuffer( GLsizei size, GLuint *buffer )
{
GET_CURRENT_CONTEXT(ctx);
@@ -271,7 +271,7 @@ write_hit_record(struct gl_context *ctx)
* the hit record data in gl_selection. Marks new render mode in
* __struct gl_contextRec::NewState.
*/
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_InitNames( void )
{
GET_CURRENT_CONTEXT(ctx);
@@ -302,7 +302,7 @@ _mesa_InitNames( void )
*
* sa __struct gl_contextRec::Select.
*/
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_LoadName( GLuint name )
{
GET_CURRENT_CONTEXT(ctx);
@@ -341,7 +341,7 @@ _mesa_LoadName( GLuint name )
*
* sa __struct gl_contextRec::Select.
*/
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_PushName( GLuint name )
{
GET_CURRENT_CONTEXT(ctx);
@@ -372,7 +372,7 @@ _mesa_PushName( GLuint name )
*
* sa __struct gl_contextRec::Select.
*/
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_PopName( void )
{
GET_CURRENT_CONTEXT(ctx);
@@ -494,20 +494,6 @@ _mesa_RenderMode( GLenum mode )
/*@}*/
-void
-_mesa_init_feedback_dispatch(struct _glapi_table *disp)
-{
- SET_InitNames(disp, _mesa_InitNames);
- SET_FeedbackBuffer(disp, _mesa_FeedbackBuffer);
- SET_LoadName(disp, _mesa_LoadName);
- SET_PassThrough(disp, _mesa_PassThrough);
- SET_PopName(disp, _mesa_PopName);
- SET_PushName(disp, _mesa_PushName);
- SET_SelectBuffer(disp, _mesa_SelectBuffer);
- SET_RenderMode(disp, _mesa_RenderMode);
-}
-
-
/**********************************************************************/
/** \name Initialization */
/*@{*/
diff --git a/mesalib/src/mesa/main/feedback.h b/mesalib/src/mesa/main/feedback.h
index cc4cf15a8..a697dc0d2 100644
--- a/mesalib/src/mesa/main/feedback.h
+++ b/mesalib/src/mesa/main/feedback.h
@@ -31,7 +31,21 @@
#include "main/mtypes.h"
-extern GLint GLAPIENTRY
+void GLAPIENTRY
+_mesa_FeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer );
+void GLAPIENTRY
+_mesa_PassThrough( GLfloat token );
+void GLAPIENTRY
+_mesa_SelectBuffer( GLsizei size, GLuint *buffer );
+void GLAPIENTRY
+_mesa_InitNames( void );
+void GLAPIENTRY
+_mesa_LoadName( GLuint name );
+void GLAPIENTRY
+_mesa_PushName( GLuint name );
+void GLAPIENTRY
+_mesa_PopName( void );
+GLint GLAPIENTRY
_mesa_RenderMode( GLenum mode );
extern void
@@ -56,10 +70,6 @@ _mesa_update_hitflag( struct gl_context *ctx, GLfloat z );
extern void
-_mesa_init_feedback_dispatch(struct _glapi_table *disp);
-
-
-extern void
_mesa_init_feedback( struct gl_context *ctx );
#endif /* FEEDBACK_H */
diff --git a/mesalib/src/mesa/main/ffvertex_prog.c b/mesalib/src/mesa/main/ffvertex_prog.c
index efdca015e..4cdec2166 100644
--- a/mesalib/src/mesa/main/ffvertex_prog.c
+++ b/mesalib/src/mesa/main/ffvertex_prog.c
@@ -160,6 +160,8 @@ static void make_state_key( struct gl_context *ctx, struct state_key *key )
key->need_eye_coords = ctx->_NeedEyeCoords;
+ /* Make sure fp->Base.InputsRead fits in a 12-bit field */
+ assert(fp->Base.InputsRead < (1 << 12));
key->fragprog_inputs_read = fp->Base.InputsRead;
key->varying_vp_inputs = ctx->varying_vp_inputs;
diff --git a/mesalib/src/mesa/main/format_pack.c b/mesalib/src/mesa/main/format_pack.c
index be6c026e8..051fb40b9 100644
--- a/mesalib/src/mesa/main/format_pack.c
+++ b/mesalib/src/mesa/main/format_pack.c
@@ -2248,7 +2248,7 @@ pack_uint_z_Z32_FLOAT(const GLuint *src, void *dst)
{
GLuint *d = ((GLuint *) dst);
const GLdouble scale = 1.0 / (GLdouble) 0xffffffff;
- *d = *src * scale;
+ *d = (GLuint) (*src * scale);
assert(*d >= 0.0f);
assert(*d <= 1.0f);
}
@@ -2258,7 +2258,7 @@ pack_uint_z_Z32_FLOAT_X24S8(const GLuint *src, void *dst)
{
GLfloat *d = ((GLfloat *) dst);
const GLdouble scale = 1.0 / (GLdouble) 0xffffffff;
- *d = *src * scale;
+ *d = (GLfloat) (*src * scale);
assert(*d >= 0.0f);
assert(*d <= 1.0f);
}
@@ -2473,7 +2473,7 @@ _mesa_pack_uint_z_row(gl_format format, GLuint n,
const GLdouble scale = 1.0 / (GLdouble) 0xffffffff;
GLuint i;
for (i = 0; i < n; i++) {
- d[i] = src[i] * scale;
+ d[i] = (GLuint) (src[i] * scale);
assert(d[i] >= 0.0f);
assert(d[i] <= 1.0f);
}
@@ -2485,7 +2485,7 @@ _mesa_pack_uint_z_row(gl_format format, GLuint n,
const GLdouble scale = 1.0 / (GLdouble) 0xffffffff;
GLuint i;
for (i = 0; i < n; i++) {
- d[i].z = src[i] * scale;
+ d[i].z = (GLfloat) (src[i] * scale);
assert(d[i].z >= 0.0f);
assert(d[i].z <= 1.0f);
}
@@ -2570,9 +2570,9 @@ _mesa_pack_uint_24_8_depth_stencil_row(gl_format format, GLuint n,
{
const GLdouble scale = 1.0 / (GLdouble) 0xffffff;
struct z32f_x24s8 *d = (struct z32f_x24s8 *) dst;
- GLint i;
+ GLuint i;
for (i = 0; i < n; i++) {
- GLfloat z = (src[i] >> 8) * scale;
+ GLfloat z = (GLfloat) ((src[i] >> 8) * scale);
d[i].z = z;
d[i].x24s8 = src[i];
}
@@ -2599,10 +2599,10 @@ _mesa_pack_colormask(gl_format format, const GLubyte colorMask[4], void *dst)
switch (_mesa_get_format_datatype(format)) {
case GL_UNSIGNED_NORMALIZED:
/* simple: 1.0 will convert to ~0 in the right bit positions */
- maskColor[0] = colorMask[0] ? 1.0 : 0.0;
- maskColor[1] = colorMask[1] ? 1.0 : 0.0;
- maskColor[2] = colorMask[2] ? 1.0 : 0.0;
- maskColor[3] = colorMask[3] ? 1.0 : 0.0;
+ maskColor[0] = colorMask[0] ? 1.0f : 0.0f;
+ maskColor[1] = colorMask[1] ? 1.0f : 0.0f;
+ maskColor[2] = colorMask[2] ? 1.0f : 0.0f;
+ maskColor[3] = colorMask[3] ? 1.0f : 0.0f;
_mesa_pack_float_rgba_row(format, 1,
(const GLfloat (*)[4]) maskColor, dst);
break;
diff --git a/mesalib/src/mesa/main/get.c b/mesalib/src/mesa/main/get.c
index c34d873f2..afae08932 100644
--- a/mesalib/src/mesa/main/get.c
+++ b/mesalib/src/mesa/main/get.c
@@ -1480,7 +1480,7 @@ _mesa_GetDoublev(GLenum pname, GLdouble *params)
}
static enum value_type
-find_value_indexed(const char *func, GLenum pname, int index, union value *v)
+find_value_indexed(const char *func, GLenum pname, GLuint index, union value *v)
{
GET_CURRENT_CONTEXT(ctx);
@@ -1686,7 +1686,6 @@ _mesa_GetInteger64Indexedv( GLenum pname, GLuint index, GLint64 *params )
}
}
-#if FEATURE_ES1
void GLAPIENTRY
_mesa_GetFixedv(GLenum pname, GLfixed *params)
{
@@ -1772,4 +1771,3 @@ _mesa_GetFixedv(GLenum pname, GLfixed *params)
break;
}
}
-#endif
diff --git a/mesalib/src/mesa/main/histogram.c b/mesalib/src/mesa/main/histogram.c
index d3dc7ddc4..fe454bcfb 100644
--- a/mesalib/src/mesa/main/histogram.c
+++ b/mesalib/src/mesa/main/histogram.c
@@ -37,11 +37,7 @@
*/
-/* this is defined below */
-static void GLAPIENTRY _mesa_ResetMinmax(GLenum target);
-
-
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetnMinmaxARB(GLenum target, GLboolean reset, GLenum format,
GLenum type, GLsizei bufSize, GLvoid *values)
{
@@ -51,7 +47,7 @@ _mesa_GetnMinmaxARB(GLenum target, GLboolean reset, GLenum format,
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type,
GLvoid *values)
{
@@ -59,7 +55,7 @@ _mesa_GetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type,
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetnHistogramARB(GLenum target, GLboolean reset, GLenum format,
GLenum type, GLsizei bufSize, GLvoid *values)
{
@@ -69,7 +65,7 @@ _mesa_GetnHistogramARB(GLenum target, GLboolean reset, GLenum format,
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type,
GLvoid *values)
{
@@ -77,7 +73,7 @@ _mesa_GetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type,
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params)
{
GET_CURRENT_CONTEXT(ctx);
@@ -86,7 +82,7 @@ _mesa_GetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params)
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetHistogramParameteriv(GLenum target, GLenum pname, GLint *params)
{
GET_CURRENT_CONTEXT(ctx);
@@ -95,7 +91,7 @@ _mesa_GetHistogramParameteriv(GLenum target, GLenum pname, GLint *params)
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params)
{
GET_CURRENT_CONTEXT(ctx);
@@ -104,7 +100,7 @@ _mesa_GetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params)
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params)
{
GET_CURRENT_CONTEXT(ctx);
@@ -113,7 +109,7 @@ _mesa_GetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params)
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_Histogram(GLenum target, GLsizei width, GLenum internalFormat, GLboolean sink)
{
GET_CURRENT_CONTEXT(ctx);
@@ -122,7 +118,7 @@ _mesa_Histogram(GLenum target, GLsizei width, GLenum internalFormat, GLboolean s
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_Minmax(GLenum target, GLenum internalFormat, GLboolean sink)
{
GET_CURRENT_CONTEXT(ctx);
@@ -131,7 +127,7 @@ _mesa_Minmax(GLenum target, GLenum internalFormat, GLboolean sink)
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_ResetHistogram(GLenum target)
{
GET_CURRENT_CONTEXT(ctx);
@@ -140,30 +136,10 @@ _mesa_ResetHistogram(GLenum target)
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_ResetMinmax(GLenum target)
{
GET_CURRENT_CONTEXT(ctx);
_mesa_error(ctx, GL_INVALID_OPERATION, "glResetMinmax");
}
-
-
-void
-_mesa_init_histogram_dispatch(struct _glapi_table *disp)
-{
- SET_GetHistogram(disp, _mesa_GetHistogram);
- SET_GetHistogramParameterfv(disp, _mesa_GetHistogramParameterfv);
- SET_GetHistogramParameteriv(disp, _mesa_GetHistogramParameteriv);
- SET_GetMinmax(disp, _mesa_GetMinmax);
- SET_GetMinmaxParameterfv(disp, _mesa_GetMinmaxParameterfv);
- SET_GetMinmaxParameteriv(disp, _mesa_GetMinmaxParameteriv);
- SET_Histogram(disp, _mesa_Histogram);
- SET_Minmax(disp, _mesa_Minmax);
- SET_ResetHistogram(disp, _mesa_ResetHistogram);
- SET_ResetMinmax(disp, _mesa_ResetMinmax);
-
- /* GL_ARB_robustness */
- SET_GetnHistogramARB(disp, _mesa_GetnHistogramARB);
- SET_GetnMinmaxARB(disp, _mesa_GetnMinmaxARB);
-}
diff --git a/mesalib/src/mesa/main/histogram.h b/mesalib/src/mesa/main/histogram.h
index a9c312152..06781e732 100644
--- a/mesalib/src/mesa/main/histogram.h
+++ b/mesalib/src/mesa/main/histogram.h
@@ -41,7 +41,35 @@
struct _glapi_table;
-extern void
-_mesa_init_histogram_dispatch(struct _glapi_table *disp);
+void GLAPIENTRY
+_mesa_GetnMinmaxARB(GLenum target, GLboolean reset, GLenum format,
+ GLenum type, GLsizei bufSize, GLvoid *values);
+void GLAPIENTRY
+_mesa_GetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type,
+ GLvoid *values);
+void GLAPIENTRY
+_mesa_GetnHistogramARB(GLenum target, GLboolean reset, GLenum format,
+ GLenum type, GLsizei bufSize, GLvoid *values);
+void GLAPIENTRY
+_mesa_GetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type,
+ GLvoid *values);
+void GLAPIENTRY
+_mesa_GetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params);
+void GLAPIENTRY
+_mesa_GetHistogramParameteriv(GLenum target, GLenum pname, GLint *params);
+void GLAPIENTRY
+_mesa_GetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params);
+void GLAPIENTRY
+_mesa_GetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params);
+void GLAPIENTRY
+_mesa_Histogram(GLenum target, GLsizei width, GLenum internalFormat,
+ GLboolean sink);
+void GLAPIENTRY
+_mesa_Minmax(GLenum target, GLenum internalFormat, GLboolean sink);
+void GLAPIENTRY
+_mesa_ResetHistogram(GLenum target);
+void GLAPIENTRY
+_mesa_ResetMinmax(GLenum target);
+
#endif /* HISTOGRAM_H */
diff --git a/mesalib/src/mesa/main/imports.h b/mesalib/src/mesa/main/imports.h
index a78d67966..40ba75785 100644
--- a/mesalib/src/mesa/main/imports.h
+++ b/mesalib/src/mesa/main/imports.h
@@ -81,7 +81,7 @@ extern "C" {
* these casts generate warnings.
* The following union typedef is used to solve that.
*/
-typedef union { GLfloat f; GLint i; } fi_type;
+typedef union { GLfloat f; GLint i; GLuint u; } fi_type;
diff --git a/mesalib/src/mesa/main/macros.h b/mesalib/src/mesa/main/macros.h
index 7b7fd1b6d..14a5d5fe1 100644
--- a/mesalib/src/mesa/main/macros.h
+++ b/mesalib/src/mesa/main/macros.h
@@ -171,6 +171,20 @@ extern GLfloat _mesa_ubyte_to_float_color_tab[256];
ub = ((GLubyte) F_TO_I((f) * 255.0F))
#endif
+static inline GLfloat INT_AS_FLT(GLint i)
+{
+ fi_type tmp;
+ tmp.i = i;
+ return tmp.f;
+}
+
+static inline GLfloat UINT_AS_FLT(GLuint u)
+{
+ fi_type tmp;
+ tmp.u = u;
+ return tmp.f;
+}
+
/*@}*/
@@ -573,6 +587,31 @@ do { \
/*@}*/
+/** Copy \p sz elements into a homegeneous (4-element) vector, giving
+ * default values to the remaining components.
+ * The default values are chosen based on \p type.
+ */
+static inline void
+COPY_CLEAN_4V_TYPE_AS_FLOAT(GLfloat dst[4], int sz, const GLfloat src[4],
+ GLenum type)
+{
+ switch (type) {
+ case GL_FLOAT:
+ ASSIGN_4V(dst, 0, 0, 0, 1);
+ break;
+ case GL_INT:
+ ASSIGN_4V(dst, INT_AS_FLT(0), INT_AS_FLT(0),
+ INT_AS_FLT(0), INT_AS_FLT(1));
+ break;
+ case GL_UNSIGNED_INT:
+ ASSIGN_4V(dst, UINT_AS_FLT(0), UINT_AS_FLT(0),
+ UINT_AS_FLT(0), UINT_AS_FLT(1));
+ break;
+ default:
+ ASSERT(0);
+ }
+ COPY_SZ_4V(dst, sz, src);
+}
/** \name Linear interpolation functions */
/*@{*/
diff --git a/mesalib/src/mesa/main/matrix.c b/mesalib/src/mesa/main/matrix.c
index 28c4e2b49..3c5968c85 100644
--- a/mesalib/src/mesa/main/matrix.c
+++ b/mesalib/src/mesa/main/matrix.c
@@ -746,7 +746,7 @@ void _mesa_free_matrix_data( struct gl_context *ctx )
*/
void _mesa_init_transform( struct gl_context *ctx )
{
- GLint i;
+ GLuint i;
/* Transformation group */
ctx->Transform.MatrixMode = GL_MODELVIEW;
diff --git a/mesalib/src/mesa/main/pixel.c b/mesalib/src/mesa/main/pixel.c
index f926c56a4..9940eda52 100644
--- a/mesalib/src/mesa/main/pixel.c
+++ b/mesalib/src/mesa/main/pixel.c
@@ -44,7 +44,7 @@
/***** glPixelZoom *****/
/**********************************************************************/
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_PixelZoom( GLfloat xfactor, GLfloat yfactor )
{
GET_CURRENT_CONTEXT(ctx);
@@ -177,7 +177,7 @@ validate_pbo_access(struct gl_context *ctx,
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_PixelMapfv( GLenum map, GLsizei mapsize, const GLfloat *values )
{
GET_CURRENT_CONTEXT(ctx);
@@ -219,7 +219,7 @@ _mesa_PixelMapfv( GLenum map, GLsizei mapsize, const GLfloat *values )
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_PixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values )
{
GLfloat fvalues[MAX_PIXEL_MAP_TABLE];
@@ -275,7 +275,7 @@ _mesa_PixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values )
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_PixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values )
{
GLfloat fvalues[MAX_PIXEL_MAP_TABLE];
@@ -331,7 +331,7 @@ _mesa_PixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values )
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetnPixelMapfvARB( GLenum map, GLsizei bufSize, GLfloat *values )
{
GET_CURRENT_CONTEXT(ctx);
@@ -376,13 +376,13 @@ _mesa_GetnPixelMapfvARB( GLenum map, GLsizei bufSize, GLfloat *values )
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetPixelMapfv( GLenum map, GLfloat *values )
{
_mesa_GetnPixelMapfvARB(map, INT_MAX, values);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetnPixelMapuivARB( GLenum map, GLsizei bufSize, GLuint *values )
{
GET_CURRENT_CONTEXT(ctx);
@@ -427,13 +427,13 @@ _mesa_GetnPixelMapuivARB( GLenum map, GLsizei bufSize, GLuint *values )
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetPixelMapuiv( GLenum map, GLuint *values )
{
_mesa_GetnPixelMapuivARB(map, INT_MAX, values);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetnPixelMapusvARB( GLenum map, GLsizei bufSize, GLushort *values )
{
GET_CURRENT_CONTEXT(ctx);
@@ -486,7 +486,7 @@ _mesa_GetnPixelMapusvARB( GLenum map, GLsizei bufSize, GLushort *values )
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetPixelMapusv( GLenum map, GLushort *values )
{
_mesa_GetnPixelMapusvARB(map, INT_MAX, values);
@@ -600,7 +600,7 @@ _mesa_PixelTransferf( GLenum pname, GLfloat param )
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_PixelTransferi( GLenum pname, GLint param )
{
_mesa_PixelTransferf( pname, (GLfloat) param );
@@ -647,26 +647,6 @@ void _mesa_update_pixel( struct gl_context *ctx, GLuint new_state )
}
-void
-_mesa_init_pixel_dispatch(struct _glapi_table *disp)
-{
- SET_GetPixelMapfv(disp, _mesa_GetPixelMapfv);
- SET_GetPixelMapuiv(disp, _mesa_GetPixelMapuiv);
- SET_GetPixelMapusv(disp, _mesa_GetPixelMapusv);
- SET_PixelMapfv(disp, _mesa_PixelMapfv);
- SET_PixelMapuiv(disp, _mesa_PixelMapuiv);
- SET_PixelMapusv(disp, _mesa_PixelMapusv);
- SET_PixelTransferf(disp, _mesa_PixelTransferf);
- SET_PixelTransferi(disp, _mesa_PixelTransferi);
- SET_PixelZoom(disp, _mesa_PixelZoom);
-
- /* GL_ARB_robustness */
- SET_GetnPixelMapfvARB(disp, _mesa_GetnPixelMapfvARB);
- SET_GetnPixelMapuivARB(disp, _mesa_GetnPixelMapuivARB);
- SET_GetnPixelMapusvARB(disp, _mesa_GetnPixelMapusvARB);
-}
-
-
/**********************************************************************/
/***** Initialization *****/
/**********************************************************************/
diff --git a/mesalib/src/mesa/main/pixel.h b/mesalib/src/mesa/main/pixel.h
index bfd76d934..433208cb6 100644
--- a/mesalib/src/mesa/main/pixel.h
+++ b/mesalib/src/mesa/main/pixel.h
@@ -41,15 +41,34 @@ struct _glapi_table;
struct gl_context;
-extern void GLAPIENTRY
+void GLAPIENTRY
+_mesa_PixelZoom( GLfloat xfactor, GLfloat yfactor );
+void GLAPIENTRY
+_mesa_PixelMapfv( GLenum map, GLsizei mapsize, const GLfloat *values );
+void GLAPIENTRY
+_mesa_PixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values );
+void GLAPIENTRY
+_mesa_PixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values );
+void GLAPIENTRY
+_mesa_GetnPixelMapfvARB( GLenum map, GLsizei bufSize, GLfloat *values );
+void GLAPIENTRY
+_mesa_GetPixelMapfv( GLenum map, GLfloat *values );
+void GLAPIENTRY
+_mesa_GetnPixelMapuivARB( GLenum map, GLsizei bufSize, GLuint *values );
+void GLAPIENTRY
+_mesa_GetPixelMapuiv( GLenum map, GLuint *values );
+void GLAPIENTRY
+_mesa_GetnPixelMapusvARB( GLenum map, GLsizei bufSize, GLushort *values );
+void GLAPIENTRY
+_mesa_GetPixelMapusv( GLenum map, GLushort *values );
+void GLAPIENTRY
_mesa_PixelTransferf(GLenum pname, GLfloat param);
+void GLAPIENTRY
+_mesa_PixelTransferi( GLenum pname, GLint param );
extern void
_mesa_update_pixel( struct gl_context *ctx, GLuint newstate );
-extern void
-_mesa_init_pixel_dispatch( struct _glapi_table * disp );
-
extern void
_mesa_init_pixel( struct gl_context * ctx );
diff --git a/mesalib/src/mesa/main/queryobj.c b/mesalib/src/mesa/main/queryobj.c
index 8bfd964ea..cb441e6fe 100644
--- a/mesalib/src/mesa/main/queryobj.c
+++ b/mesalib/src/mesa/main/queryobj.c
@@ -168,7 +168,7 @@ get_query_binding_point(struct gl_context *ctx, GLenum target)
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GenQueriesARB(GLsizei n, GLuint *ids)
{
GLuint first;
@@ -207,7 +207,7 @@ _mesa_GenQueriesARB(GLsizei n, GLuint *ids)
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_DeleteQueriesARB(GLsizei n, const GLuint *ids)
{
GLint i;
@@ -243,7 +243,7 @@ _mesa_DeleteQueriesARB(GLsizei n, const GLuint *ids)
}
-static GLboolean GLAPIENTRY
+GLboolean GLAPIENTRY
_mesa_IsQueryARB(GLuint id)
{
GET_CURRENT_CONTEXT(ctx);
@@ -279,7 +279,7 @@ query_error_check_index(struct gl_context *ctx, GLenum target, GLuint index)
return GL_TRUE;
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_BeginQueryIndexed(GLenum target, GLuint index, GLuint id)
{
struct gl_query_object *q, **bindpt;
@@ -356,7 +356,7 @@ _mesa_BeginQueryIndexed(GLenum target, GLuint index, GLuint id)
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_EndQueryIndexed(GLenum target, GLuint index)
{
struct gl_query_object *q, **bindpt;
@@ -402,19 +402,19 @@ _mesa_EndQueryIndexed(GLenum target, GLuint index)
ctx->Driver.EndQuery(ctx, q);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_BeginQueryARB(GLenum target, GLuint id)
{
_mesa_BeginQueryIndexed(target, 0, id);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_EndQueryARB(GLenum target)
{
_mesa_EndQueryIndexed(target, 0);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_QueryCounter(GLuint id, GLenum target)
{
struct gl_query_object *q;
@@ -471,7 +471,7 @@ _mesa_QueryCounter(GLuint id, GLenum target)
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetQueryIndexediv(GLenum target, GLuint index, GLenum pname,
GLint *params)
{
@@ -546,13 +546,13 @@ _mesa_GetQueryIndexediv(GLenum target, GLuint index, GLenum pname,
}
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetQueryivARB(GLenum target, GLenum pname, GLint *params)
{
_mesa_GetQueryIndexediv(target, 0, pname, params);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetQueryObjectivARB(GLuint id, GLenum pname, GLint *params)
{
struct gl_query_object *q = NULL;
@@ -603,7 +603,7 @@ _mesa_GetQueryObjectivARB(GLuint id, GLenum pname, GLint *params)
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetQueryObjectuivARB(GLuint id, GLenum pname, GLuint *params)
{
struct gl_query_object *q = NULL;
@@ -657,7 +657,7 @@ _mesa_GetQueryObjectuivARB(GLuint id, GLenum pname, GLuint *params)
/**
* New with GL_EXT_timer_query
*/
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64EXT *params)
{
struct gl_query_object *q = NULL;
@@ -698,7 +698,7 @@ _mesa_GetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64EXT *params)
/**
* New with GL_EXT_timer_query
*/
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64EXT *params)
{
struct gl_query_object *q = NULL;
diff --git a/mesalib/src/mesa/main/queryobj.h b/mesalib/src/mesa/main/queryobj.h
index 1e35185c7..f9e916cda 100644
--- a/mesalib/src/mesa/main/queryobj.h
+++ b/mesalib/src/mesa/main/queryobj.h
@@ -53,5 +53,34 @@ _mesa_init_queryobj(struct gl_context *ctx);
extern void
_mesa_free_queryobj_data(struct gl_context *ctx);
+void GLAPIENTRY
+_mesa_GenQueriesARB(GLsizei n, GLuint *ids);
+void GLAPIENTRY
+_mesa_DeleteQueriesARB(GLsizei n, const GLuint *ids);
+GLboolean GLAPIENTRY
+_mesa_IsQueryARB(GLuint id);
+void GLAPIENTRY
+_mesa_BeginQueryIndexed(GLenum target, GLuint index, GLuint id);
+void GLAPIENTRY
+_mesa_EndQueryIndexed(GLenum target, GLuint index);
+void GLAPIENTRY
+_mesa_BeginQueryARB(GLenum target, GLuint id);
+void GLAPIENTRY
+_mesa_EndQueryARB(GLenum target);
+void GLAPIENTRY
+_mesa_QueryCounter(GLuint id, GLenum target);
+void GLAPIENTRY
+_mesa_GetQueryIndexediv(GLenum target, GLuint index, GLenum pname,
+ GLint *params);
+void GLAPIENTRY
+_mesa_GetQueryivARB(GLenum target, GLenum pname, GLint *params);
+void GLAPIENTRY
+_mesa_GetQueryObjectivARB(GLuint id, GLenum pname, GLint *params);
+void GLAPIENTRY
+_mesa_GetQueryObjectuivARB(GLuint id, GLenum pname, GLuint *params);
+void GLAPIENTRY
+_mesa_GetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64EXT *params);
+void GLAPIENTRY
+_mesa_GetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64EXT *params);
#endif /* QUERYOBJ_H */
diff --git a/mesalib/src/mesa/main/rastpos.c b/mesalib/src/mesa/main/rastpos.c
index ab8e2c1a3..0ea95b594 100644
--- a/mesalib/src/mesa/main/rastpos.c
+++ b/mesalib/src/mesa/main/rastpos.c
@@ -63,147 +63,147 @@ rasterpos(GLfloat x, GLfloat y, GLfloat z, GLfloat w)
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_RasterPos2d(GLdouble x, GLdouble y)
{
rasterpos((GLfloat)x, (GLfloat)y, (GLfloat)0.0, (GLfloat)1.0);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_RasterPos2f(GLfloat x, GLfloat y)
{
rasterpos(x, y, 0.0F, 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_RasterPos2i(GLint x, GLint y)
{
rasterpos((GLfloat) x, (GLfloat) y, 0.0F, 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_RasterPos2s(GLshort x, GLshort y)
{
rasterpos(x, y, 0.0F, 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_RasterPos3d(GLdouble x, GLdouble y, GLdouble z)
{
rasterpos((GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_RasterPos3f(GLfloat x, GLfloat y, GLfloat z)
{
rasterpos(x, y, z, 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_RasterPos3i(GLint x, GLint y, GLint z)
{
rasterpos((GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_RasterPos3s(GLshort x, GLshort y, GLshort z)
{
rasterpos(x, y, z, 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_RasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
rasterpos((GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_RasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w)
{
rasterpos(x, y, z, w);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_RasterPos4i(GLint x, GLint y, GLint z, GLint w)
{
rasterpos((GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_RasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w)
{
rasterpos(x, y, z, w);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_RasterPos2dv(const GLdouble *v)
{
rasterpos((GLfloat) v[0], (GLfloat) v[1], 0.0F, 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_RasterPos2fv(const GLfloat *v)
{
rasterpos(v[0], v[1], 0.0F, 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_RasterPos2iv(const GLint *v)
{
rasterpos((GLfloat) v[0], (GLfloat) v[1], 0.0F, 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_RasterPos2sv(const GLshort *v)
{
rasterpos(v[0], v[1], 0.0F, 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_RasterPos3dv(const GLdouble *v)
{
rasterpos((GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_RasterPos3fv(const GLfloat *v)
{
rasterpos(v[0], v[1], v[2], 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_RasterPos3iv(const GLint *v)
{
rasterpos((GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_RasterPos3sv(const GLshort *v)
{
rasterpos(v[0], v[1], v[2], 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_RasterPos4dv(const GLdouble *v)
{
rasterpos((GLfloat) v[0], (GLfloat) v[1],
(GLfloat) v[2], (GLfloat) v[3]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_RasterPos4fv(const GLfloat *v)
{
rasterpos(v[0], v[1], v[2], v[3]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_RasterPos4iv(const GLint *v)
{
rasterpos((GLfloat) v[0], (GLfloat) v[1],
(GLfloat) v[2], (GLfloat) v[3]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_RasterPos4sv(const GLshort *v)
{
rasterpos(v[0], v[1], v[2], v[3]);
@@ -288,147 +288,147 @@ window_pos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w)
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_WindowPos2dMESA(GLdouble x, GLdouble y)
{
window_pos4f((GLfloat) x, (GLfloat) y, 0.0F, 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_WindowPos2fMESA(GLfloat x, GLfloat y)
{
window_pos4f(x, y, 0.0F, 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_WindowPos2iMESA(GLint x, GLint y)
{
window_pos4f((GLfloat) x, (GLfloat) y, 0.0F, 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_WindowPos2sMESA(GLshort x, GLshort y)
{
window_pos4f(x, y, 0.0F, 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_WindowPos3dMESA(GLdouble x, GLdouble y, GLdouble z)
{
window_pos4f((GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_WindowPos3fMESA(GLfloat x, GLfloat y, GLfloat z)
{
window_pos4f(x, y, z, 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_WindowPos3iMESA(GLint x, GLint y, GLint z)
{
window_pos4f((GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_WindowPos3sMESA(GLshort x, GLshort y, GLshort z)
{
window_pos4f(x, y, z, 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_WindowPos4dMESA(GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
window_pos4f((GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_WindowPos4fMESA(GLfloat x, GLfloat y, GLfloat z, GLfloat w)
{
window_pos4f(x, y, z, w);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_WindowPos4iMESA(GLint x, GLint y, GLint z, GLint w)
{
window_pos4f((GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_WindowPos4sMESA(GLshort x, GLshort y, GLshort z, GLshort w)
{
window_pos4f(x, y, z, w);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_WindowPos2dvMESA(const GLdouble *v)
{
window_pos4f((GLfloat) v[0], (GLfloat) v[1], 0.0F, 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_WindowPos2fvMESA(const GLfloat *v)
{
window_pos4f(v[0], v[1], 0.0F, 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_WindowPos2ivMESA(const GLint *v)
{
window_pos4f((GLfloat) v[0], (GLfloat) v[1], 0.0F, 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_WindowPos2svMESA(const GLshort *v)
{
window_pos4f(v[0], v[1], 0.0F, 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_WindowPos3dvMESA(const GLdouble *v)
{
window_pos4f((GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_WindowPos3fvMESA(const GLfloat *v)
{
window_pos4f(v[0], v[1], v[2], 1.0);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_WindowPos3ivMESA(const GLint *v)
{
window_pos4f((GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_WindowPos3svMESA(const GLshort *v)
{
window_pos4f(v[0], v[1], v[2], 1.0F);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_WindowPos4dvMESA(const GLdouble *v)
{
window_pos4f((GLfloat) v[0], (GLfloat) v[1],
(GLfloat) v[2], (GLfloat) v[3]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_WindowPos4fvMESA(const GLfloat *v)
{
window_pos4f(v[0], v[1], v[2], v[3]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_WindowPos4ivMESA(const GLint *v)
{
window_pos4f((GLfloat) v[0], (GLfloat) v[1],
(GLfloat) v[2], (GLfloat) v[3]);
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_WindowPos4svMESA(const GLshort *v)
{
window_pos4f(v[0], v[1], v[2], v[3]);
@@ -474,62 +474,6 @@ void glWindowPos4fMESA( GLfloat x, GLfloat y, GLfloat z, GLfloat w )
#endif
-void
-_mesa_init_rastpos_dispatch(struct _glapi_table *disp)
-{
- SET_RasterPos2f(disp, _mesa_RasterPos2f);
- SET_RasterPos2fv(disp, _mesa_RasterPos2fv);
- SET_RasterPos2i(disp, _mesa_RasterPos2i);
- SET_RasterPos2iv(disp, _mesa_RasterPos2iv);
- SET_RasterPos2d(disp, _mesa_RasterPos2d);
- SET_RasterPos2dv(disp, _mesa_RasterPos2dv);
- SET_RasterPos2s(disp, _mesa_RasterPos2s);
- SET_RasterPos2sv(disp, _mesa_RasterPos2sv);
- SET_RasterPos3d(disp, _mesa_RasterPos3d);
- SET_RasterPos3dv(disp, _mesa_RasterPos3dv);
- SET_RasterPos3f(disp, _mesa_RasterPos3f);
- SET_RasterPos3fv(disp, _mesa_RasterPos3fv);
- SET_RasterPos3i(disp, _mesa_RasterPos3i);
- SET_RasterPos3iv(disp, _mesa_RasterPos3iv);
- SET_RasterPos3s(disp, _mesa_RasterPos3s);
- SET_RasterPos3sv(disp, _mesa_RasterPos3sv);
- SET_RasterPos4d(disp, _mesa_RasterPos4d);
- SET_RasterPos4dv(disp, _mesa_RasterPos4dv);
- SET_RasterPos4f(disp, _mesa_RasterPos4f);
- SET_RasterPos4fv(disp, _mesa_RasterPos4fv);
- SET_RasterPos4i(disp, _mesa_RasterPos4i);
- SET_RasterPos4iv(disp, _mesa_RasterPos4iv);
- SET_RasterPos4s(disp, _mesa_RasterPos4s);
- SET_RasterPos4sv(disp, _mesa_RasterPos4sv);
-
- /* 197. GL_MESA_window_pos */
- SET_WindowPos2dMESA(disp, _mesa_WindowPos2dMESA);
- SET_WindowPos2dvMESA(disp, _mesa_WindowPos2dvMESA);
- SET_WindowPos2fMESA(disp, _mesa_WindowPos2fMESA);
- SET_WindowPos2fvMESA(disp, _mesa_WindowPos2fvMESA);
- SET_WindowPos2iMESA(disp, _mesa_WindowPos2iMESA);
- SET_WindowPos2ivMESA(disp, _mesa_WindowPos2ivMESA);
- SET_WindowPos2sMESA(disp, _mesa_WindowPos2sMESA);
- SET_WindowPos2svMESA(disp, _mesa_WindowPos2svMESA);
- SET_WindowPos3dMESA(disp, _mesa_WindowPos3dMESA);
- SET_WindowPos3dvMESA(disp, _mesa_WindowPos3dvMESA);
- SET_WindowPos3fMESA(disp, _mesa_WindowPos3fMESA);
- SET_WindowPos3fvMESA(disp, _mesa_WindowPos3fvMESA);
- SET_WindowPos3iMESA(disp, _mesa_WindowPos3iMESA);
- SET_WindowPos3ivMESA(disp, _mesa_WindowPos3ivMESA);
- SET_WindowPos3sMESA(disp, _mesa_WindowPos3sMESA);
- SET_WindowPos3svMESA(disp, _mesa_WindowPos3svMESA);
- SET_WindowPos4dMESA(disp, _mesa_WindowPos4dMESA);
- SET_WindowPos4dvMESA(disp, _mesa_WindowPos4dvMESA);
- SET_WindowPos4fMESA(disp, _mesa_WindowPos4fMESA);
- SET_WindowPos4fvMESA(disp, _mesa_WindowPos4fvMESA);
- SET_WindowPos4iMESA(disp, _mesa_WindowPos4iMESA);
- SET_WindowPos4ivMESA(disp, _mesa_WindowPos4ivMESA);
- SET_WindowPos4sMESA(disp, _mesa_WindowPos4sMESA);
- SET_WindowPos4svMESA(disp, _mesa_WindowPos4svMESA);
-}
-
-
/**********************************************************************/
/** \name Initialization */
/**********************************************************************/
diff --git a/mesalib/src/mesa/main/rastpos.h b/mesalib/src/mesa/main/rastpos.h
index 9bb04cc9c..90351e86b 100644
--- a/mesalib/src/mesa/main/rastpos.h
+++ b/mesalib/src/mesa/main/rastpos.h
@@ -38,12 +38,107 @@
struct _glapi_table;
struct gl_context;
-extern void
-_mesa_init_rastpos_dispatch(struct _glapi_table *disp);
-
extern void
_mesa_init_rastpos(struct gl_context *ctx);
+void GLAPIENTRY
+_mesa_RasterPos2d(GLdouble x, GLdouble y);
+void GLAPIENTRY
+_mesa_RasterPos2f(GLfloat x, GLfloat y);
+void GLAPIENTRY
+_mesa_RasterPos2i(GLint x, GLint y);
+void GLAPIENTRY
+_mesa_RasterPos2s(GLshort x, GLshort y);
+void GLAPIENTRY
+_mesa_RasterPos3d(GLdouble x, GLdouble y, GLdouble z);
+void GLAPIENTRY
+_mesa_RasterPos3f(GLfloat x, GLfloat y, GLfloat z);
+void GLAPIENTRY
+_mesa_RasterPos3i(GLint x, GLint y, GLint z);
+void GLAPIENTRY
+_mesa_RasterPos3s(GLshort x, GLshort y, GLshort z);
+void GLAPIENTRY
+_mesa_RasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+void GLAPIENTRY
+_mesa_RasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+void GLAPIENTRY
+_mesa_RasterPos4i(GLint x, GLint y, GLint z, GLint w);
+void GLAPIENTRY
+_mesa_RasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w);
+void GLAPIENTRY
+_mesa_RasterPos2dv(const GLdouble *v);
+void GLAPIENTRY
+_mesa_RasterPos2fv(const GLfloat *v);
+void GLAPIENTRY
+_mesa_RasterPos2iv(const GLint *v);
+void GLAPIENTRY
+_mesa_RasterPos2sv(const GLshort *v);
+void GLAPIENTRY
+_mesa_RasterPos3dv(const GLdouble *v);
+void GLAPIENTRY
+_mesa_RasterPos3fv(const GLfloat *v);
+void GLAPIENTRY
+_mesa_RasterPos3iv(const GLint *v);
+void GLAPIENTRY
+_mesa_RasterPos3sv(const GLshort *v);
+void GLAPIENTRY
+_mesa_RasterPos4dv(const GLdouble *v);
+void GLAPIENTRY
+_mesa_RasterPos4fv(const GLfloat *v);
+void GLAPIENTRY
+_mesa_RasterPos4iv(const GLint *v);
+void GLAPIENTRY
+_mesa_RasterPos4sv(const GLshort *v);
+void GLAPIENTRY
+_mesa_WindowPos2dMESA(GLdouble x, GLdouble y);
+void GLAPIENTRY
+_mesa_WindowPos2fMESA(GLfloat x, GLfloat y);
+void GLAPIENTRY
+_mesa_WindowPos2iMESA(GLint x, GLint y);
+void GLAPIENTRY
+_mesa_WindowPos2sMESA(GLshort x, GLshort y);
+void GLAPIENTRY
+_mesa_WindowPos3dMESA(GLdouble x, GLdouble y, GLdouble z);
+void GLAPIENTRY
+_mesa_WindowPos3fMESA(GLfloat x, GLfloat y, GLfloat z);
+void GLAPIENTRY
+_mesa_WindowPos3iMESA(GLint x, GLint y, GLint z);
+void GLAPIENTRY
+_mesa_WindowPos3sMESA(GLshort x, GLshort y, GLshort z);
+void GLAPIENTRY
+_mesa_WindowPos4dMESA(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+void GLAPIENTRY
+_mesa_WindowPos4fMESA(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+void GLAPIENTRY
+_mesa_WindowPos4iMESA(GLint x, GLint y, GLint z, GLint w);
+void GLAPIENTRY
+_mesa_WindowPos4sMESA(GLshort x, GLshort y, GLshort z, GLshort w);
+void GLAPIENTRY
+_mesa_WindowPos2dvMESA(const GLdouble *v);
+void GLAPIENTRY
+_mesa_WindowPos2fvMESA(const GLfloat *v);
+void GLAPIENTRY
+_mesa_WindowPos2ivMESA(const GLint *v);
+void GLAPIENTRY
+_mesa_WindowPos2svMESA(const GLshort *v);
+void GLAPIENTRY
+_mesa_WindowPos3dvMESA(const GLdouble *v);
+void GLAPIENTRY
+_mesa_WindowPos3fvMESA(const GLfloat *v);
+void GLAPIENTRY
+_mesa_WindowPos3ivMESA(const GLint *v);
+void GLAPIENTRY
+_mesa_WindowPos3svMESA(const GLshort *v);
+void GLAPIENTRY
+_mesa_WindowPos4dvMESA(const GLdouble *v);
+void GLAPIENTRY
+_mesa_WindowPos4fvMESA(const GLfloat *v);
+void GLAPIENTRY
+_mesa_WindowPos4ivMESA(const GLint *v);
+void GLAPIENTRY
+_mesa_WindowPos4svMESA(const GLshort *v);
+
+
/*@}*/
#endif /* RASTPOS_H */
diff --git a/mesalib/src/mesa/main/samplerobj.c b/mesalib/src/mesa/main/samplerobj.c
index 09cbd2939..3c3bfffd4 100644
--- a/mesalib/src/mesa/main/samplerobj.c
+++ b/mesalib/src/mesa/main/samplerobj.c
@@ -224,7 +224,7 @@ _mesa_DeleteSamplers(GLsizei count, const GLuint *samplers)
}
-static GLboolean GLAPIENTRY
+GLboolean GLAPIENTRY
_mesa_IsSampler(GLuint sampler)
{
struct gl_sampler_object *sampObj;
@@ -684,7 +684,7 @@ _mesa_SamplerParameteri(GLuint sampler, GLenum pname, GLint param)
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_SamplerParameterf(GLuint sampler, GLenum pname, GLfloat param)
{
struct gl_sampler_object *sampObj;
@@ -770,7 +770,7 @@ _mesa_SamplerParameterf(GLuint sampler, GLenum pname, GLfloat param)
}
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_SamplerParameteriv(GLuint sampler, GLenum pname, const GLint *params)
{
struct gl_sampler_object *sampObj;
@@ -862,7 +862,7 @@ _mesa_SamplerParameteriv(GLuint sampler, GLenum pname, const GLint *params)
}
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_SamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *params)
{
struct gl_sampler_object *sampObj;
@@ -949,7 +949,7 @@ _mesa_SamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *params)
}
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_SamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *params)
{
struct gl_sampler_object *sampObj;
@@ -1035,7 +1035,7 @@ _mesa_SamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *params)
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_SamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *params)
{
struct gl_sampler_object *sampObj;
@@ -1121,7 +1121,7 @@ _mesa_SamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *params)
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params)
{
struct gl_sampler_object *sampObj;
@@ -1199,7 +1199,7 @@ invalid_pname:
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params)
{
struct gl_sampler_object *sampObj;
@@ -1277,7 +1277,7 @@ invalid_pname:
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params)
{
struct gl_sampler_object *sampObj;
@@ -1356,7 +1356,7 @@ invalid_pname:
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params)
{
struct gl_sampler_object *sampObj;
diff --git a/mesalib/src/mesa/main/samplerobj.h b/mesalib/src/mesa/main/samplerobj.h
index bea4c2232..ecff032c9 100644
--- a/mesalib/src/mesa/main/samplerobj.h
+++ b/mesalib/src/mesa/main/samplerobj.h
@@ -80,16 +80,33 @@ extern void
_mesa_init_sampler_object_dispatch(const struct gl_context *ctx,
struct _glapi_table *disp);
-extern void GLAPIENTRY
-_mesa_BindSampler(GLuint unit, GLuint sampler);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_GenSamplers(GLsizei count, GLuint *samplers);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_DeleteSamplers(GLsizei count, const GLuint *samplers);
-
-extern void GLAPIENTRY
+GLboolean GLAPIENTRY
+_mesa_IsSampler(GLuint sampler);
+void GLAPIENTRY
+_mesa_BindSampler(GLuint unit, GLuint sampler);
+void GLAPIENTRY
_mesa_SamplerParameteri(GLuint sampler, GLenum pname, GLint param);
+void GLAPIENTRY
+_mesa_SamplerParameterf(GLuint sampler, GLenum pname, GLfloat param);
+void GLAPIENTRY
+_mesa_SamplerParameteriv(GLuint sampler, GLenum pname, const GLint *params);
+void GLAPIENTRY
+_mesa_SamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *params);
+void GLAPIENTRY
+_mesa_SamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *params);
+void GLAPIENTRY
+_mesa_SamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *params);
+void GLAPIENTRY
+_mesa_GetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params);
+void GLAPIENTRY
+_mesa_GetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params);
+void GLAPIENTRY
+_mesa_GetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params);
+void GLAPIENTRY
+_mesa_GetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params);
#endif /* SAMPLEROBJ_H */
diff --git a/mesalib/src/mesa/main/texgen.c b/mesalib/src/mesa/main/texgen.c
index c5a878644..7c9c2a760 100644
--- a/mesalib/src/mesa/main/texgen.c
+++ b/mesalib/src/mesa/main/texgen.c
@@ -186,7 +186,7 @@ _mesa_TexGenfv( GLenum coord, GLenum pname, const GLfloat *params )
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_TexGeniv(GLenum coord, GLenum pname, const GLint *params )
{
GLfloat p[4];
@@ -203,7 +203,7 @@ _mesa_TexGeniv(GLenum coord, GLenum pname, const GLint *params )
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_TexGend(GLenum coord, GLenum pname, GLdouble param )
{
GLfloat p[4];
@@ -212,7 +212,6 @@ _mesa_TexGend(GLenum coord, GLenum pname, GLdouble param )
_mesa_TexGenfv( coord, pname, p );
}
-#if FEATURE_ES1
void GLAPIENTRY
_es_GetTexGenfv(GLenum coord, GLenum pname, GLfloat *params)
@@ -250,9 +249,8 @@ _es_TexGenfv(GLenum coord, GLenum pname, const GLfloat *params)
_mesa_TexGenfv(GL_R, pname, params);
}
-#endif
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_TexGendv(GLenum coord, GLenum pname, const GLdouble *params )
{
GLfloat p[4];
@@ -290,7 +288,7 @@ _mesa_TexGeni( GLenum coord, GLenum pname, GLint param )
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetTexGendv( GLenum coord, GLenum pname, GLdouble *params )
{
struct gl_texture_unit *texUnit;
@@ -423,20 +421,3 @@ _mesa_GetTexGeniv( GLenum coord, GLenum pname, GLint *params )
_mesa_error( ctx, GL_INVALID_ENUM, "glGetTexGeniv(pname)" );
}
}
-
-
-void
-_mesa_init_texgen_dispatch(struct gl_context *ctx, struct _glapi_table *disp)
-{
- SET_GetTexGenfv(disp, _mesa_GetTexGenfv);
- SET_GetTexGeniv(disp, _mesa_GetTexGeniv);
- SET_TexGenf(disp, _mesa_TexGenf);
- SET_TexGenfv(disp, _mesa_TexGenfv);
- SET_TexGeni(disp, _mesa_TexGeni);
- SET_TexGeniv(disp, _mesa_TexGeniv);
- if (ctx->API == API_OPENGL) {
- SET_GetTexGendv(disp, _mesa_GetTexGendv);
- SET_TexGend(disp, _mesa_TexGend);
- SET_TexGendv(disp, _mesa_TexGendv);
- }
-}
diff --git a/mesalib/src/mesa/main/texgen.h b/mesalib/src/mesa/main/texgen.h
index 03dd49c61..97563a0f0 100644
--- a/mesalib/src/mesa/main/texgen.h
+++ b/mesalib/src/mesa/main/texgen.h
@@ -34,24 +34,25 @@
struct _glapi_table;
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_TexGenfv( GLenum coord, GLenum pname, const GLfloat *params );
-
-extern void GLAPIENTRY
+void GLAPIENTRY
+_mesa_TexGeniv(GLenum coord, GLenum pname, const GLint *params );
+void GLAPIENTRY
+_mesa_TexGend(GLenum coord, GLenum pname, GLdouble param );
+void GLAPIENTRY
+_mesa_TexGendv(GLenum coord, GLenum pname, const GLdouble *params );
+void GLAPIENTRY
_mesa_TexGenf( GLenum coord, GLenum pname, GLfloat param );
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_TexGeni( GLenum coord, GLenum pname, GLint param );
-
-extern void GLAPIENTRY
+void GLAPIENTRY
+_mesa_GetTexGendv( GLenum coord, GLenum pname, GLdouble *params );
+void GLAPIENTRY
_mesa_GetTexGenfv( GLenum coord, GLenum pname, GLfloat *params );
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetTexGeniv( GLenum coord, GLenum pname, GLint *params );
-extern void
-_mesa_init_texgen_dispatch(struct gl_context *ctx, struct _glapi_table *disp);
-
extern void GLAPIENTRY
_es_GetTexGenfv(GLenum coord, GLenum pname, GLfloat *params);
diff --git a/mesalib/src/mesa/main/texgetimage.c b/mesalib/src/mesa/main/texgetimage.c
index a3720699d..554c68b71 100644
--- a/mesalib/src/mesa/main/texgetimage.c
+++ b/mesalib/src/mesa/main/texgetimage.c
@@ -892,7 +892,7 @@ getcompressedteximage_error_check(struct gl_context *ctx, GLenum target,
if (!_mesa_is_bufferobj(ctx->Pack.BufferObj)) {
/* do bounds checking on writing to client memory */
- if (clientMemSize < compressedSize) {
+ if (clientMemSize < (GLsizei) compressedSize) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glGetnCompressedTexImageARB(out of bounds access:"
" bufSize (%d) is too small)", clientMemSize);
diff --git a/mesalib/src/mesa/main/texstorage.c b/mesalib/src/mesa/main/texstorage.c
index 283aefad3..968f6f904 100644
--- a/mesalib/src/mesa/main/texstorage.c
+++ b/mesalib/src/mesa/main/texstorage.c
@@ -292,7 +292,7 @@ tex_storage_error_check(struct gl_context *ctx, GLuint dims, GLenum target,
/* check levels against width/height/depth */
maxDim = MAX3(width, height, depth);
- if (levels > _mesa_logbase2(maxDim) + 1) {
+ if (levels > (GLint) _mesa_logbase2(maxDim) + 1) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glTexStorage%uD(too many levels for max texture dimension)",
dims);
diff --git a/mesalib/src/mesa/main/transformfeedback.c b/mesalib/src/mesa/main/transformfeedback.c
index 1afc0dccb..52cb065c2 100644
--- a/mesalib/src/mesa/main/transformfeedback.c
+++ b/mesalib/src/mesa/main/transformfeedback.c
@@ -245,28 +245,6 @@ _mesa_init_transform_feedback_functions(struct dd_function_table *driver)
}
-void
-_mesa_init_transform_feedback_dispatch(const struct gl_context *ctx,
- struct _glapi_table *disp)
-{
- /* EXT_transform_feedback */
- SET_BeginTransformFeedbackEXT(disp, _mesa_BeginTransformFeedback);
- SET_EndTransformFeedbackEXT(disp, _mesa_EndTransformFeedback);
- if (_mesa_is_desktop_gl(ctx)) {
- SET_BindBufferOffsetEXT(disp, _mesa_BindBufferOffsetEXT);
- }
- SET_TransformFeedbackVaryingsEXT(disp, _mesa_TransformFeedbackVaryings);
- SET_GetTransformFeedbackVaryingEXT(disp, _mesa_GetTransformFeedbackVarying);
- /* ARB_transform_feedback2 */
- SET_BindTransformFeedback(disp, _mesa_BindTransformFeedback);
- SET_DeleteTransformFeedbacks(disp, _mesa_DeleteTransformFeedbacks);
- SET_GenTransformFeedbacks(disp, _mesa_GenTransformFeedbacks);
- SET_IsTransformFeedback(disp, _mesa_IsTransformFeedback);
- SET_PauseTransformFeedback(disp, _mesa_PauseTransformFeedback);
- SET_ResumeTransformFeedback(disp, _mesa_ResumeTransformFeedback);
-}
-
-
/**
** Begin API functions
**/
@@ -599,7 +577,7 @@ _mesa_TransformFeedbackVaryings(GLuint program, GLsizei count,
}
/* free existing varyings, if any */
- for (i = 0; i < shProg->TransformFeedback.NumVarying; i++) {
+ for (i = 0; i < (GLint) shProg->TransformFeedback.NumVarying; i++) {
free(shProg->TransformFeedback.VaryingNames[i]);
}
free(shProg->TransformFeedback.VaryingNames);
@@ -614,7 +592,7 @@ _mesa_TransformFeedbackVaryings(GLuint program, GLsizei count,
}
/* Save the new names and the count */
- for (i = 0; i < (GLuint) count; i++) {
+ for (i = 0; i < count; i++) {
shProg->TransformFeedback.VaryingNames[i] = _mesa_strdup(varyings[i]);
}
shProg->TransformFeedback.NumVarying = count;
diff --git a/mesalib/src/mesa/main/transformfeedback.h b/mesalib/src/mesa/main/transformfeedback.h
index 6ff9c50b4..dec11ffa0 100644
--- a/mesalib/src/mesa/main/transformfeedback.h
+++ b/mesalib/src/mesa/main/transformfeedback.h
@@ -46,10 +46,6 @@ _mesa_validate_transform_feedback_buffers(struct gl_context *ctx);
extern void
_mesa_init_transform_feedback_functions(struct dd_function_table *driver);
-extern void
-_mesa_init_transform_feedback_dispatch(const struct gl_context *ctx,
- struct _glapi_table *disp);
-
/*** GL_EXT_transform_feedback ***/
diff --git a/mesalib/src/mesa/main/uniforms.c b/mesalib/src/mesa/main/uniforms.c
index 861601efd..2b7a564f0 100644
--- a/mesalib/src/mesa/main/uniforms.c
+++ b/mesalib/src/mesa/main/uniforms.c
@@ -535,7 +535,7 @@ _mesa_GetUniformLocationARB(GLhandleARB programObj, const GLcharARB *name)
return _mesa_uniform_merge_location_offset(index, offset);
}
-static GLuint GLAPIENTRY
+GLuint GLAPIENTRY
_mesa_GetUniformBlockIndex(GLuint program,
const GLchar *uniformBlockName)
{
@@ -561,7 +561,7 @@ _mesa_GetUniformBlockIndex(GLuint program,
return GL_INVALID_INDEX;
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetUniformIndices(GLuint program,
GLsizei uniformCount,
const GLchar * const *uniformNames,
@@ -594,7 +594,7 @@ _mesa_GetUniformIndices(GLuint program,
}
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_UniformBlockBinding(GLuint program,
GLuint uniformBlockIndex,
GLuint uniformBlockBinding)
@@ -644,7 +644,7 @@ _mesa_UniformBlockBinding(GLuint program,
}
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetActiveUniformBlockiv(GLuint program,
GLuint uniformBlockIndex,
GLenum pname,
@@ -720,7 +720,7 @@ _mesa_GetActiveUniformBlockiv(GLuint program,
}
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetActiveUniformBlockName(GLuint program,
GLuint uniformBlockIndex,
GLsizei bufSize,
@@ -762,7 +762,7 @@ _mesa_GetActiveUniformBlockName(GLuint program,
}
}
-static void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetActiveUniformName(GLuint program, GLuint uniformIndex,
GLsizei bufSize, GLsizei *length,
GLchar *uniformName)
@@ -799,80 +799,3 @@ _mesa_GetActiveUniformName(GLuint program, GLuint uniformIndex,
shProg->UniformStorage[uniformIndex].name);
}
}
-
-/**
- * Plug in shader uniform-related functions into API dispatch table.
- */
-void
-_mesa_init_shader_uniform_dispatch(const struct gl_context *ctx,
- struct _glapi_table *exec)
-{
-#if FEATURE_GL
- if (ctx->API != API_OPENGLES) {
- SET_Uniform1fARB(exec, _mesa_Uniform1fARB);
- SET_Uniform2fARB(exec, _mesa_Uniform2fARB);
- SET_Uniform3fARB(exec, _mesa_Uniform3fARB);
- SET_Uniform4fARB(exec, _mesa_Uniform4fARB);
- SET_Uniform1iARB(exec, _mesa_Uniform1iARB);
- SET_Uniform2iARB(exec, _mesa_Uniform2iARB);
- SET_Uniform3iARB(exec, _mesa_Uniform3iARB);
- SET_Uniform4iARB(exec, _mesa_Uniform4iARB);
- SET_Uniform1fvARB(exec, _mesa_Uniform1fvARB);
- SET_Uniform2fvARB(exec, _mesa_Uniform2fvARB);
- SET_Uniform3fvARB(exec, _mesa_Uniform3fvARB);
- SET_Uniform4fvARB(exec, _mesa_Uniform4fvARB);
- SET_Uniform1ivARB(exec, _mesa_Uniform1ivARB);
- SET_Uniform2ivARB(exec, _mesa_Uniform2ivARB);
- SET_Uniform3ivARB(exec, _mesa_Uniform3ivARB);
- SET_Uniform4ivARB(exec, _mesa_Uniform4ivARB);
- SET_UniformMatrix2fvARB(exec, _mesa_UniformMatrix2fvARB);
- SET_UniformMatrix3fvARB(exec, _mesa_UniformMatrix3fvARB);
- SET_UniformMatrix4fvARB(exec, _mesa_UniformMatrix4fvARB);
-
- SET_GetActiveUniformARB(exec, _mesa_GetActiveUniformARB);
- SET_GetUniformLocationARB(exec, _mesa_GetUniformLocationARB);
- SET_GetUniformfvARB(exec, _mesa_GetUniformfvARB);
- SET_GetUniformivARB(exec, _mesa_GetUniformivARB);
- }
-
- /* OpenGL 2.1 */
- if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) {
- SET_UniformMatrix2x3fv(exec, _mesa_UniformMatrix2x3fv);
- SET_UniformMatrix3x2fv(exec, _mesa_UniformMatrix3x2fv);
- SET_UniformMatrix2x4fv(exec, _mesa_UniformMatrix2x4fv);
- SET_UniformMatrix4x2fv(exec, _mesa_UniformMatrix4x2fv);
- SET_UniformMatrix3x4fv(exec, _mesa_UniformMatrix3x4fv);
- SET_UniformMatrix4x3fv(exec, _mesa_UniformMatrix4x3fv);
-
- /* OpenGL 3.0 */
- SET_Uniform1uiEXT(exec, _mesa_Uniform1ui);
- SET_Uniform2uiEXT(exec, _mesa_Uniform2ui);
- SET_Uniform3uiEXT(exec, _mesa_Uniform3ui);
- SET_Uniform4uiEXT(exec, _mesa_Uniform4ui);
- SET_Uniform1uivEXT(exec, _mesa_Uniform1uiv);
- SET_Uniform2uivEXT(exec, _mesa_Uniform2uiv);
- SET_Uniform3uivEXT(exec, _mesa_Uniform3uiv);
- SET_Uniform4uivEXT(exec, _mesa_Uniform4uiv);
- SET_GetUniformuivEXT(exec, _mesa_GetUniformuiv);
-
- /* GL_ARB_uniform_buffer_object / GL 3.1 */
- SET_GetUniformBlockIndex(exec, _mesa_GetUniformBlockIndex);
- SET_GetUniformIndices(exec, _mesa_GetUniformIndices);
- SET_GetActiveUniformsiv(exec, _mesa_GetActiveUniformsiv);
- SET_GetActiveUniformBlockiv(exec, _mesa_GetActiveUniformBlockiv);
- SET_GetActiveUniformBlockName(exec, _mesa_GetActiveUniformBlockName);
- SET_UniformBlockBinding(exec, _mesa_UniformBlockBinding);
- }
-
- if (_mesa_is_desktop_gl(ctx)) {
- /* GL_ARB_robustness */
- SET_GetnUniformfvARB(exec, _mesa_GetnUniformfvARB);
- SET_GetnUniformivARB(exec, _mesa_GetnUniformivARB);
- SET_GetnUniformuivARB(exec, _mesa_GetnUniformuivARB);
- SET_GetnUniformdvARB(exec, _mesa_GetnUniformdvARB);
-
- /* GL_ARB_uniform_buffer_object / GL 3.1 */
- SET_GetActiveUniformName(exec, _mesa_GetActiveUniformName);
- }
-#endif /* FEATURE_GL */
-}
diff --git a/mesalib/src/mesa/main/uniforms.h b/mesalib/src/mesa/main/uniforms.h
index 3fe7d4402..076bde3c8 100644
--- a/mesalib/src/mesa/main/uniforms.h
+++ b/mesalib/src/mesa/main/uniforms.h
@@ -38,151 +38,135 @@ extern "C" {
struct gl_program;
struct _glapi_table;
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_Uniform1fARB(GLint, GLfloat);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_Uniform2fARB(GLint, GLfloat, GLfloat);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_Uniform3fARB(GLint, GLfloat, GLfloat, GLfloat);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_Uniform4fARB(GLint, GLfloat, GLfloat, GLfloat, GLfloat);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_Uniform1iARB(GLint, GLint);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_Uniform2iARB(GLint, GLint, GLint);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_Uniform3iARB(GLint, GLint, GLint, GLint);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_Uniform4iARB(GLint, GLint, GLint, GLint, GLint);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_Uniform1fvARB(GLint, GLsizei, const GLfloat *);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_Uniform2fvARB(GLint, GLsizei, const GLfloat *);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_Uniform3fvARB(GLint, GLsizei, const GLfloat *);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_Uniform4fvARB(GLint, GLsizei, const GLfloat *);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_Uniform1ivARB(GLint, GLsizei, const GLint *);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_Uniform2ivARB(GLint, GLsizei, const GLint *);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_Uniform3ivARB(GLint, GLsizei, const GLint *);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_Uniform4ivARB(GLint, GLsizei, const GLint *);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_Uniform1ui(GLint location, GLuint v0);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_Uniform2ui(GLint location, GLuint v0, GLuint v1);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_Uniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_Uniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_Uniform1uiv(GLint location, GLsizei count, const GLuint *value);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_Uniform2uiv(GLint location, GLsizei count, const GLuint *value);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_Uniform3uiv(GLint location, GLsizei count, const GLuint *value);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_Uniform4uiv(GLint location, GLsizei count, const GLuint *value);
-
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_UniformMatrix2fvARB(GLint, GLsizei, GLboolean, const GLfloat *);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_UniformMatrix3fvARB(GLint, GLsizei, GLboolean, const GLfloat *);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_UniformMatrix4fvARB(GLint, GLsizei, GLboolean, const GLfloat *);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_UniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_UniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_UniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_UniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_UniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_UniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value);
-
-
-extern void GLAPIENTRY
+void GLAPIENTRY
+_mesa_GetnUniformfvARB(GLhandleARB, GLint, GLsizei, GLfloat *);
+void GLAPIENTRY
+_mesa_GetUniformfvARB(GLhandleARB, GLint, GLfloat *);
+void GLAPIENTRY
+_mesa_GetnUniformivARB(GLhandleARB, GLint, GLsizei, GLint *);
+void GLAPIENTRY
+_mesa_GetUniformuiv(GLhandleARB, GLint, GLuint *);
+void GLAPIENTRY
+_mesa_GetnUniformuivARB(GLhandleARB, GLint, GLsizei, GLuint *);
+void GLAPIENTRY
+_mesa_GetUniformuiv(GLhandleARB program, GLint location, GLuint *params);
+void GLAPIENTRY
+_mesa_GetnUniformdvARB(GLhandleARB, GLint, GLsizei, GLdouble *);
+void GLAPIENTRY
+_mesa_GetUniformdv(GLhandleARB, GLint, GLdouble *);
+GLint GLAPIENTRY
+_mesa_GetUniformLocationARB(GLhandleARB, const GLcharARB *);
+GLuint GLAPIENTRY
+_mesa_GetUniformBlockIndex(GLuint program,
+ const GLchar *uniformBlockName);
+void GLAPIENTRY
+_mesa_GetUniformIndices(GLuint program,
+ GLsizei uniformCount,
+ const GLchar * const *uniformNames,
+ GLuint *uniformIndices);
+void GLAPIENTRY
+_mesa_UniformBlockBinding(GLuint program,
+ GLuint uniformBlockIndex,
+ GLuint uniformBlockBinding);
+void GLAPIENTRY
+_mesa_GetActiveUniformBlockiv(GLuint program,
+ GLuint uniformBlockIndex,
+ GLenum pname,
+ GLint *params);
+void GLAPIENTRY
+_mesa_GetActiveUniformBlockName(GLuint program,
+ GLuint uniformBlockIndex,
+ GLsizei bufSize,
+ GLsizei *length,
+ GLchar *uniformBlockName);
+void GLAPIENTRY
+_mesa_GetActiveUniformName(GLuint program, GLuint uniformIndex,
+ GLsizei bufSize, GLsizei *length,
+ GLchar *uniformName);
+void GLAPIENTRY
_mesa_GetActiveUniformARB(GLhandleARB, GLuint, GLsizei, GLsizei *,
GLint *, GLenum *, GLcharARB *);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetActiveUniformsiv(GLuint program,
GLsizei uniformCount,
const GLuint *uniformIndices,
GLenum pname,
GLint *params);
-
-extern void GLAPIENTRY
-_mesa_GetUniformfvARB(GLhandleARB, GLint, GLfloat *);
-
-extern void GLAPIENTRY
-_mesa_GetnUniformfvARB(GLhandleARB, GLint, GLsizei, GLfloat *);
-
-extern void GLAPIENTRY
+void GLAPIENTRY
_mesa_GetUniformivARB(GLhandleARB, GLint, GLint *);
-extern void GLAPIENTRY
-_mesa_GetnUniformivARB(GLhandleARB, GLint, GLsizei, GLint *);
-
-extern void GLAPIENTRY
-_mesa_GetUniformuiv(GLhandleARB, GLint, GLuint *);
-
-extern void GLAPIENTRY
-_mesa_GetnUniformuivARB(GLhandleARB, GLint, GLsizei, GLuint *);
-
-extern void GLAPIENTRY
-_mesa_GetUniformdv(GLhandleARB, GLint, GLdouble *);
-
-extern void GLAPIENTRY
-_mesa_GetnUniformdvARB(GLhandleARB, GLint, GLsizei, GLdouble *);
-
-extern GLint GLAPIENTRY
-_mesa_GetUniformLocationARB(GLhandleARB, const GLcharARB *);
-
unsigned
_mesa_get_uniform_location(struct gl_context *ctx, struct gl_shader_program *shProg,
const GLchar *name, unsigned *offset);
@@ -226,10 +210,6 @@ extern bool
_mesa_sampler_uniforms_are_valid(const struct gl_shader_program *shProg,
char *errMsg, size_t errMsgLength);
-extern void
-_mesa_init_shader_uniform_dispatch(const struct gl_context *ctx,
- struct _glapi_table *exec);
-
extern const struct gl_program_parameter *
get_uniform_parameter(struct gl_shader_program *shProg, GLint index);
diff --git a/mesalib/src/mesa/sources.mak b/mesalib/src/mesa/sources.mak
index b4b58db6d..cfb24f318 100644
--- a/mesalib/src/mesa/sources.mak
+++ b/mesalib/src/mesa/sources.mak
@@ -9,7 +9,7 @@ MAIN_ES_FILES = \
MAIN_FILES = \
$(SRCDIR)main/api_arrayelt.c \
- $(SRCDIR)main/api_exec.c \
+ $(BUILDDIR)main/api_exec.c \
$(SRCDIR)main/api_loopback.c \
$(SRCDIR)main/api_validate.c \
$(SRCDIR)main/accum.c \
diff --git a/mesalib/src/mesa/state_tracker/st_cb_fbo.c b/mesalib/src/mesa/state_tracker/st_cb_fbo.c
index 882fb372b..adee00bd2 100644
--- a/mesalib/src/mesa/state_tracker/st_cb_fbo.c
+++ b/mesalib/src/mesa/state_tracker/st_cb_fbo.c
@@ -750,7 +750,7 @@ st_MapRenderbuffer(struct gl_context *ctx,
usage, x, y2, w, h, &strb->transfer);
if (map) {
if (invert) {
- *rowStrideOut = -strb->transfer->stride;
+ *rowStrideOut = -(int) strb->transfer->stride;
map += (h - 1) * strb->transfer->stride;
}
else {
diff --git a/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
index 14b72dc80..a70a08bf3 100644
--- a/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
+++ b/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
@@ -285,7 +285,7 @@ public:
st_src_reg return_reg;
};
-class glsl_to_tgsi_visitor : public ir_visitor {
+struct glsl_to_tgsi_visitor : public ir_visitor {
public:
glsl_to_tgsi_visitor();
~glsl_to_tgsi_visitor();
diff --git a/mesalib/src/mesa/swrast/s_zoom.c b/mesalib/src/mesa/swrast/s_zoom.c
index 24bfa22bf..828374f68 100644
--- a/mesalib/src/mesa/swrast/s_zoom.c
+++ b/mesalib/src/mesa/swrast/s_zoom.c
@@ -234,7 +234,7 @@ zoom_span( struct gl_context *ctx, GLint imgX, GLint imgY, const SWspan *span,
for (i = 0; i < zoomedWidth; i++) {
GLint j = unzoom_x(ctx->Pixel.ZoomX, imgX, x0 + i) - span->x;
ASSERT(j >= 0);
- ASSERT(j < span->end);
+ ASSERT(j < (GLint) span->end);
COPY_4V(zoomed.array->attribs[FRAG_ATTRIB_COL0][i], rgba[j]);
}
}
@@ -272,7 +272,7 @@ zoom_span( struct gl_context *ctx, GLint imgX, GLint imgY, const SWspan *span,
for (i = 0; i < zoomedWidth; i++) {
GLint j = unzoom_x(ctx->Pixel.ZoomX, imgX, x0 + i) - span->x;
ASSERT(j >= 0);
- ASSERT(j < span->end);
+ ASSERT(j < (GLint) span->end);
zoomed.array->attribs[FRAG_ATTRIB_COL0][i][0] = rgb[j][0];
zoomed.array->attribs[FRAG_ATTRIB_COL0][i][1] = rgb[j][1];
zoomed.array->attribs[FRAG_ATTRIB_COL0][i][2] = rgb[j][2];
diff --git a/mesalib/src/mesa/tnl/t_draw.c b/mesalib/src/mesa/tnl/t_draw.c
index 6a3c9662e..0631eb183 100644
--- a/mesalib/src/mesa/tnl/t_draw.c
+++ b/mesalib/src/mesa/tnl/t_draw.c
@@ -141,7 +141,8 @@ convert_fixed_to_float(const struct gl_client_array *input,
const GLubyte *ptr, GLfloat *fptr,
GLuint count)
{
- GLuint i, j;
+ GLuint i;
+ GLint j;
const GLint size = input->Size;
if (input->Normalized) {
diff --git a/mesalib/src/mesa/vbo/vbo.h b/mesalib/src/mesa/vbo/vbo.h
index e0584973f..04930b971 100644
--- a/mesalib/src/mesa/vbo/vbo.h
+++ b/mesalib/src/mesa/vbo/vbo.h
@@ -50,7 +50,7 @@ struct _mesa_prim {
GLuint start;
GLuint count;
GLint basevertex;
- GLsizei num_instances;
+ GLuint num_instances;
GLuint base_instance;
};
diff --git a/mesalib/src/mesa/vbo/vbo_attrib_tmp.h b/mesalib/src/mesa/vbo/vbo_attrib_tmp.h
index 884844535..6bc53bab3 100644
--- a/mesalib/src/mesa/vbo/vbo_attrib_tmp.h
+++ b/mesalib/src/mesa/vbo/vbo_attrib_tmp.h
@@ -26,38 +26,46 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
**************************************************************************/
/* float */
-#define ATTR1FV( A, V ) ATTR( A, 1, (V)[0], 0, 0, 1 )
-#define ATTR2FV( A, V ) ATTR( A, 2, (V)[0], (V)[1], 0, 1 )
-#define ATTR3FV( A, V ) ATTR( A, 3, (V)[0], (V)[1], (V)[2], 1 )
-#define ATTR4FV( A, V ) ATTR( A, 4, (V)[0], (V)[1], (V)[2], (V)[3] )
+#define ATTR1FV( A, V ) ATTR( A, 1, GL_FLOAT, (V)[0], 0, 0, 1 )
+#define ATTR2FV( A, V ) ATTR( A, 2, GL_FLOAT, (V)[0], (V)[1], 0, 1 )
+#define ATTR3FV( A, V ) ATTR( A, 3, GL_FLOAT, (V)[0], (V)[1], (V)[2], 1 )
+#define ATTR4FV( A, V ) ATTR( A, 4, GL_FLOAT, (V)[0], (V)[1], (V)[2], (V)[3] )
-#define ATTR1F( A, X ) ATTR( A, 1, X, 0, 0, 1 )
-#define ATTR2F( A, X, Y ) ATTR( A, 2, X, Y, 0, 1 )
-#define ATTR3F( A, X, Y, Z ) ATTR( A, 3, X, Y, Z, 1 )
-#define ATTR4F( A, X, Y, Z, W ) ATTR( A, 4, X, Y, Z, W )
+#define ATTR1F( A, X ) ATTR( A, 1, GL_FLOAT, X, 0, 0, 1 )
+#define ATTR2F( A, X, Y ) ATTR( A, 2, GL_FLOAT, X, Y, 0, 1 )
+#define ATTR3F( A, X, Y, Z ) ATTR( A, 3, GL_FLOAT, X, Y, Z, 1 )
+#define ATTR4F( A, X, Y, Z, W ) ATTR( A, 4, GL_FLOAT, X, Y, Z, W )
/* int */
-#define ATTR2IV( A, V ) ATTR( A, 2, (V)[0], (V)[1], 0, 1 )
-#define ATTR3IV( A, V ) ATTR( A, 3, (V)[0], (V)[1], (V)[2], 1 )
-#define ATTR4IV( A, V ) ATTR( A, 4, (V)[0], (V)[1], (V)[2], (V)[3] )
+#define ATTRI( A, N, X, Y, Z, W) ATTR( A, N, GL_INT, \
+ INT_AS_FLT(X), INT_AS_FLT(Y), \
+ INT_AS_FLT(Z), INT_AS_FLT(W) )
-#define ATTR1I( A, X ) ATTR( A, 1, X, 0, 0, 1 )
-#define ATTR2I( A, X, Y ) ATTR( A, 2, X, Y, 0, 1 )
-#define ATTR3I( A, X, Y, Z ) ATTR( A, 3, X, Y, Z, 1 )
-#define ATTR4I( A, X, Y, Z, W ) ATTR( A, 4, X, Y, Z, W )
+#define ATTR2IV( A, V ) ATTRI( A, 2, (V)[0], (V)[1], 0, 1 )
+#define ATTR3IV( A, V ) ATTRI( A, 3, (V)[0], (V)[1], (V)[2], 1 )
+#define ATTR4IV( A, V ) ATTRI( A, 4, (V)[0], (V)[1], (V)[2], (V)[3] )
+
+#define ATTR1I( A, X ) ATTRI( A, 1, X, 0, 0, 1 )
+#define ATTR2I( A, X, Y ) ATTRI( A, 2, X, Y, 0, 1 )
+#define ATTR3I( A, X, Y, Z ) ATTRI( A, 3, X, Y, Z, 1 )
+#define ATTR4I( A, X, Y, Z, W ) ATTRI( A, 4, X, Y, Z, W )
/* uint */
-#define ATTR2UIV( A, V ) ATTR( A, 2, (V)[0], (V)[1], 0, 1 )
-#define ATTR3UIV( A, V ) ATTR( A, 3, (V)[0], (V)[1], (V)[2], 1 )
-#define ATTR4UIV( A, V ) ATTR( A, 4, (V)[0], (V)[1], (V)[2], (V)[3] )
+#define ATTRUI( A, N, X, Y, Z, W) ATTR( A, N, GL_UNSIGNED_INT, \
+ UINT_AS_FLT(X), UINT_AS_FLT(Y), \
+ UINT_AS_FLT(Z), UINT_AS_FLT(W) )
+
+#define ATTR2UIV( A, V ) ATTRUI( A, 2, (V)[0], (V)[1], 0, 1 )
+#define ATTR3UIV( A, V ) ATTRUI( A, 3, (V)[0], (V)[1], (V)[2], 1 )
+#define ATTR4UIV( A, V ) ATTRUI( A, 4, (V)[0], (V)[1], (V)[2], (V)[3] )
-#define ATTR1UI( A, X ) ATTR( A, 1, X, 0, 0, 1 )
-#define ATTR2UI( A, X, Y ) ATTR( A, 2, X, Y, 0, 1 )
-#define ATTR3UI( A, X, Y, Z ) ATTR( A, 3, X, Y, Z, 1 )
-#define ATTR4UI( A, X, Y, Z, W ) ATTR( A, 4, X, Y, Z, W )
+#define ATTR1UI( A, X ) ATTRUI( A, 1, X, 0, 0, 1 )
+#define ATTR2UI( A, X, Y ) ATTRUI( A, 2, X, Y, 0, 1 )
+#define ATTR3UI( A, X, Y, Z ) ATTRUI( A, 3, X, Y, Z, 1 )
+#define ATTR4UI( A, X, Y, Z, W ) ATTRUI( A, 4, X, Y, Z, W )
-#define MAT_ATTR( A, N, V ) ATTR( A, N, (V)[0], (V)[1], (V)[2], (V)[3] )
+#define MAT_ATTR( A, N, V ) ATTR( A, N, GL_FLOAT, (V)[0], (V)[1], (V)[2], (V)[3] )
static inline float conv_ui10_to_norm_float(unsigned ui10)
{
@@ -69,20 +77,20 @@ static inline float conv_ui2_to_norm_float(unsigned ui2)
return ui2 / 3.0f;
}
-#define ATTRUI10_1( A, UI ) ATTR( A, 1, (UI) & 0x3ff, 0, 0, 1 )
-#define ATTRUI10_2( A, UI ) ATTR( A, 2, (UI) & 0x3ff, ((UI) >> 10) & 0x3ff, 0, 1 )
-#define ATTRUI10_3( A, UI ) ATTR( A, 3, (UI) & 0x3ff, ((UI) >> 10) & 0x3ff, ((UI) >> 20) & 0x3ff, 1 )
-#define ATTRUI10_4( A, UI ) ATTR( A, 4, (UI) & 0x3ff, ((UI) >> 10) & 0x3ff, ((UI) >> 20) & 0x3ff, ((UI) >> 30) & 0x3 )
+#define ATTRUI10_1( A, UI ) ATTR( A, 1, GL_FLOAT, (UI) & 0x3ff, 0, 0, 1 )
+#define ATTRUI10_2( A, UI ) ATTR( A, 2, GL_FLOAT, (UI) & 0x3ff, ((UI) >> 10) & 0x3ff, 0, 1 )
+#define ATTRUI10_3( A, UI ) ATTR( A, 3, GL_FLOAT, (UI) & 0x3ff, ((UI) >> 10) & 0x3ff, ((UI) >> 20) & 0x3ff, 1 )
+#define ATTRUI10_4( A, UI ) ATTR( A, 4, GL_FLOAT, (UI) & 0x3ff, ((UI) >> 10) & 0x3ff, ((UI) >> 20) & 0x3ff, ((UI) >> 30) & 0x3 )
-#define ATTRUI10N_1( A, UI ) ATTR( A, 1, conv_ui10_to_norm_float((UI) & 0x3ff), 0, 0, 1 )
-#define ATTRUI10N_2( A, UI ) ATTR( A, 2, \
+#define ATTRUI10N_1( A, UI ) ATTR( A, 1, GL_FLOAT, conv_ui10_to_norm_float((UI) & 0x3ff), 0, 0, 1 )
+#define ATTRUI10N_2( A, UI ) ATTR( A, 2, GL_FLOAT, \
conv_ui10_to_norm_float((UI) & 0x3ff), \
conv_ui10_to_norm_float(((UI) >> 10) & 0x3ff), 0, 1 )
-#define ATTRUI10N_3( A, UI ) ATTR( A, 3, \
+#define ATTRUI10N_3( A, UI ) ATTR( A, 3, GL_FLOAT, \
conv_ui10_to_norm_float((UI) & 0x3ff), \
conv_ui10_to_norm_float(((UI) >> 10) & 0x3ff), \
conv_ui10_to_norm_float(((UI) >> 20) & 0x3ff), 1 )
-#define ATTRUI10N_4( A, UI ) ATTR( A, 4, \
+#define ATTRUI10N_4( A, UI ) ATTR( A, 4, GL_FLOAT, \
conv_ui10_to_norm_float((UI) & 0x3ff), \
conv_ui10_to_norm_float(((UI) >> 10) & 0x3ff), \
conv_ui10_to_norm_float(((UI) >> 20) & 0x3ff), \
@@ -119,30 +127,30 @@ static inline float conv_i2_to_norm_float(int i2)
return (float)val.x;
}
-#define ATTRI10_1( A, I10 ) ATTR( A, 1, conv_i10_to_i((I10) & 0x3ff), 0, 0, 1 )
-#define ATTRI10_2( A, I10 ) ATTR( A, 2, \
+#define ATTRI10_1( A, I10 ) ATTR( A, 1, GL_FLOAT, conv_i10_to_i((I10) & 0x3ff), 0, 0, 1 )
+#define ATTRI10_2( A, I10 ) ATTR( A, 2, GL_FLOAT, \
conv_i10_to_i((I10) & 0x3ff), \
conv_i10_to_i(((I10) >> 10) & 0x3ff), 0, 1 )
-#define ATTRI10_3( A, I10 ) ATTR( A, 3, \
+#define ATTRI10_3( A, I10 ) ATTR( A, 3, GL_FLOAT, \
conv_i10_to_i((I10) & 0x3ff), \
conv_i10_to_i(((I10) >> 10) & 0x3ff), \
conv_i10_to_i(((I10) >> 20) & 0x3ff), 1 )
-#define ATTRI10_4( A, I10 ) ATTR( A, 4, \
+#define ATTRI10_4( A, I10 ) ATTR( A, 4, GL_FLOAT, \
conv_i10_to_i((I10) & 0x3ff), \
conv_i10_to_i(((I10) >> 10) & 0x3ff), \
conv_i10_to_i(((I10) >> 20) & 0x3ff), \
conv_i2_to_i(((I10) >> 30) & 0x3))
-#define ATTRI10N_1( A, I10 ) ATTR( A, 1, conv_i10_to_norm_float((I10) & 0x3ff), 0, 0, 1 )
-#define ATTRI10N_2( A, I10 ) ATTR( A, 2, \
+#define ATTRI10N_1( A, I10 ) ATTR( A, 1, GL_FLOAT, conv_i10_to_norm_float((I10) & 0x3ff), 0, 0, 1 )
+#define ATTRI10N_2( A, I10 ) ATTR( A, 2, GL_FLOAT, \
conv_i10_to_norm_float((I10) & 0x3ff), \
conv_i10_to_norm_float(((I10) >> 10) & 0x3ff), 0, 1 )
-#define ATTRI10N_3( A, I10 ) ATTR( A, 3, \
+#define ATTRI10N_3( A, I10 ) ATTR( A, 3, GL_FLOAT, \
conv_i10_to_norm_float((I10) & 0x3ff), \
conv_i10_to_norm_float(((I10) >> 10) & 0x3ff), \
conv_i10_to_norm_float(((I10) >> 20) & 0x3ff), 1 )
-#define ATTRI10N_4( A, I10 ) ATTR( A, 4, \
+#define ATTRI10N_4( A, I10 ) ATTR( A, 4, GL_FLOAT, \
conv_i10_to_norm_float((I10) & 0x3ff), \
conv_i10_to_norm_float(((I10) >> 10) & 0x3ff), \
conv_i10_to_norm_float(((I10) >> 20) & 0x3ff), \
diff --git a/mesalib/src/mesa/vbo/vbo_context.h b/mesalib/src/mesa/vbo/vbo_context.h
index c896f1196..1ff6ec000 100644
--- a/mesalib/src/mesa/vbo/vbo_context.h
+++ b/mesalib/src/mesa/vbo/vbo_context.h
@@ -147,4 +147,47 @@ vbo_draw_method(struct vbo_context *vbo, enum draw_method method)
}
}
+/**
+ * Return if format is integer. The immediate mode commands only emit floats
+ * for non-integer types, thus everything else is integer.
+ */
+static inline GLboolean
+vbo_attrtype_to_integer_flag(GLenum format)
+{
+ switch (format) {
+ case GL_FLOAT:
+ return GL_FALSE;
+ case GL_INT:
+ case GL_UNSIGNED_INT:
+ return GL_TRUE;
+ default:
+ ASSERT(0);
+ return GL_FALSE;
+ }
+}
+
+
+/**
+ * Return default component values for the given format.
+ * The return type is an array of floats, because that's how we declare
+ * the vertex storage despite the fact we sometimes store integers in there.
+ */
+static inline const GLfloat *
+vbo_get_default_vals_as_float(GLenum format)
+{
+ static const GLfloat default_float[4] = { 0, 0, 0, 1 };
+ static const GLint default_int[4] = { 0, 0, 0, 1 };
+
+ switch (format) {
+ case GL_FLOAT:
+ return default_float;
+ case GL_INT:
+ case GL_UNSIGNED_INT:
+ return (const GLfloat*)default_int;
+ default:
+ ASSERT(0);
+ return NULL;
+ }
+}
+
#endif
diff --git a/mesalib/src/mesa/vbo/vbo_exec.h b/mesalib/src/mesa/vbo/vbo_exec.h
index ef57a8199..96cf4c82b 100644
--- a/mesalib/src/mesa/vbo/vbo_exec.h
+++ b/mesalib/src/mesa/vbo/vbo_exec.h
@@ -101,6 +101,7 @@ struct vbo_exec_context
struct vbo_exec_copied_vtx copied;
GLubyte attrsz[VBO_ATTRIB_MAX];
+ GLenum attrtype[VBO_ATTRIB_MAX];
GLubyte active_sz[VBO_ATTRIB_MAX];
GLfloat *attrptr[VBO_ATTRIB_MAX];
diff --git a/mesalib/src/mesa/vbo/vbo_exec_api.c b/mesalib/src/mesa/vbo/vbo_exec_api.c
index 2ddb71588..75e549fc4 100644
--- a/mesalib/src/mesa/vbo/vbo_exec_api.c
+++ b/mesalib/src/mesa/vbo/vbo_exec_api.c
@@ -157,11 +157,13 @@ static void vbo_exec_copy_to_current( struct vbo_exec_context *exec )
GLfloat *current = (GLfloat *)vbo->currval[i].Ptr;
GLfloat tmp[4];
- COPY_CLEAN_4V(tmp,
- exec->vtx.attrsz[i],
- exec->vtx.attrptr[i]);
+ COPY_CLEAN_4V_TYPE_AS_FLOAT(tmp,
+ exec->vtx.attrsz[i],
+ exec->vtx.attrptr[i],
+ exec->vtx.attrtype[i]);
- if (memcmp(current, tmp, sizeof(tmp)) != 0) {
+ if (exec->vtx.attrtype[i] != vbo->currval[i].Type ||
+ memcmp(current, tmp, sizeof(tmp)) != 0) {
memcpy(current, tmp, sizeof(tmp));
/* Given that we explicitly state size here, there is no need
@@ -170,8 +172,10 @@ static void vbo_exec_copy_to_current( struct vbo_exec_context *exec )
* directly.
*/
vbo->currval[i].Size = exec->vtx.attrsz[i];
- assert(vbo->currval[i].Type == GL_FLOAT);
vbo->currval[i]._ElementSize = vbo->currval[i].Size * sizeof(GLfloat);
+ vbo->currval[i].Type = exec->vtx.attrtype[i];
+ vbo->currval[i].Integer =
+ vbo_attrtype_to_integer_flag(exec->vtx.attrtype[i]);
/* This triggers rather too much recalculation of Mesa state
* that doesn't get used (eg light positions).
@@ -324,7 +328,9 @@ vbo_exec_wrap_upgrade_vertex(struct vbo_exec_context *exec,
if (j == attr) {
if (oldSize) {
GLfloat tmp[4];
- COPY_CLEAN_4V(tmp, oldSize, data + old_offset);
+ COPY_CLEAN_4V_TYPE_AS_FLOAT(tmp, oldSize,
+ data + old_offset,
+ exec->vtx.attrtype[j]);
COPY_SZ_4V(dest + new_offset, newSize, tmp);
} else {
GLfloat *current = (GLfloat *)vbo->currval[j].Ptr;
@@ -365,8 +371,9 @@ vbo_exec_fixup_vertex(struct gl_context *ctx, GLuint attr, GLuint newSize)
vbo_exec_wrap_upgrade_vertex( exec, attr, newSize );
}
else if (newSize < exec->vtx.active_sz[attr]) {
- static const GLfloat id[4] = { 0, 0, 0, 1 };
GLuint i;
+ const GLfloat *id =
+ vbo_get_default_vals_as_float(exec->vtx.attrtype[attr]);
/* New size is smaller - just need to fill in some
* zeros. Don't need to flush or wrap.
@@ -390,7 +397,7 @@ vbo_exec_fixup_vertex(struct gl_context *ctx, GLuint attr, GLuint newSize)
* This macro is used to implement all the glVertex, glColor, glTexCoord,
* glVertexAttrib, etc functions.
*/
-#define ATTR( A, N, V0, V1, V2, V3 ) \
+#define ATTR( A, N, T, V0, V1, V2, V3 ) \
do { \
struct vbo_exec_context *exec = &vbo_context(ctx)->exec; \
\
@@ -406,6 +413,7 @@ do { \
if (N>1) dest[1] = V1; \
if (N>2) dest[2] = V2; \
if (N>3) dest[3] = V3; \
+ exec->vtx.attrtype[A] = T; \
} \
\
if ((A) == 0) { \
@@ -1119,6 +1127,8 @@ void vbo_exec_vtx_init( struct vbo_exec_context *exec )
for (i = 0 ; i < VBO_ATTRIB_MAX ; i++) {
ASSERT(i < Elements(exec->vtx.attrsz));
exec->vtx.attrsz[i] = 0;
+ ASSERT(i < Elements(exec->vtx.attrtype));
+ exec->vtx.attrtype[i] = GL_FLOAT;
ASSERT(i < Elements(exec->vtx.active_sz));
exec->vtx.active_sz[i] = 0;
}
@@ -1255,6 +1265,7 @@ static void reset_attrfv( struct vbo_exec_context *exec )
for (i = 0 ; i < VBO_ATTRIB_MAX ; i++) {
exec->vtx.attrsz[i] = 0;
+ exec->vtx.attrtype[i] = GL_FLOAT;
exec->vtx.active_sz[i] = 0;
}
@@ -1309,7 +1320,7 @@ VertexAttrib4f_nopos(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
{
GET_CURRENT_CONTEXT(ctx);
if (index < MAX_VERTEX_GENERIC_ATTRIBS)
- ATTR(VBO_ATTRIB_GENERIC0 + index, 4, x, y, z, w);
+ ATTR(VBO_ATTRIB_GENERIC0 + index, 4, GL_FLOAT, x, y, z, w);
else
ERROR(GL_INVALID_VALUE);
}
diff --git a/mesalib/src/mesa/vbo/vbo_exec_array.c b/mesalib/src/mesa/vbo/vbo_exec_array.c
index d857ac3e5..4b2c5298d 100644
--- a/mesalib/src/mesa/vbo/vbo_exec_array.c
+++ b/mesalib/src/mesa/vbo/vbo_exec_array.c
@@ -779,7 +779,7 @@ vbo_validated_drawrangeelements(struct gl_context *ctx, GLenum mode,
GLuint start, GLuint end,
GLsizei count, GLenum type,
const GLvoid *indices,
- GLint basevertex, GLint numInstances,
+ GLint basevertex, GLuint numInstances,
GLuint baseInstance)
{
struct vbo_context *vbo = vbo_context(ctx);
diff --git a/mesalib/src/mesa/vbo/vbo_exec_draw.c b/mesalib/src/mesa/vbo/vbo_exec_draw.c
index 817af4dd5..9529ce069 100644
--- a/mesalib/src/mesa/vbo/vbo_exec_draw.c
+++ b/mesalib/src/mesa/vbo/vbo_exec_draw.c
@@ -207,9 +207,6 @@ vbo_exec_bind_arrays( struct gl_context *ctx )
assert(0);
}
- /* Make all active attributes (including edgeflag) available as
- * arrays of floats.
- */
for (attr = 0; attr < VERT_ATTRIB_MAX ; attr++) {
const GLuint src = map[attr];
@@ -235,7 +232,9 @@ vbo_exec_bind_arrays( struct gl_context *ctx )
arrays[attr].Size = exec->vtx.attrsz[src];
arrays[attr].StrideB = exec->vtx.vertex_size * sizeof(GLfloat);
arrays[attr].Stride = exec->vtx.vertex_size * sizeof(GLfloat);
- arrays[attr].Type = GL_FLOAT;
+ arrays[attr].Type = exec->vtx.attrtype[src];
+ arrays[attr].Integer =
+ vbo_attrtype_to_integer_flag(exec->vtx.attrtype[src]);
arrays[attr].Format = GL_RGBA;
arrays[attr].Enabled = 1;
arrays[attr]._ElementSize = arrays[attr].Size * sizeof(GLfloat);
diff --git a/mesalib/src/mesa/vbo/vbo_save.h b/mesalib/src/mesa/vbo/vbo_save.h
index f33669670..750117b12 100644
--- a/mesalib/src/mesa/vbo/vbo_save.h
+++ b/mesalib/src/mesa/vbo/vbo_save.h
@@ -63,6 +63,7 @@ struct vbo_save_copied_vtx {
*/
struct vbo_save_vertex_list {
GLubyte attrsz[VBO_ATTRIB_MAX];
+ GLenum attrtype[VBO_ATTRIB_MAX];
GLuint vertex_size;
/* Copy of the final vertex from node->vertex_store->bufferobj.
@@ -127,6 +128,7 @@ struct vbo_save_context {
const struct gl_client_array *inputs[VBO_ATTRIB_MAX];
GLubyte attrsz[VBO_ATTRIB_MAX];
+ GLenum attrtype[VBO_ATTRIB_MAX];
GLubyte active_sz[VBO_ATTRIB_MAX];
GLuint vertex_size;
diff --git a/mesalib/src/mesa/vbo/vbo_save_api.c b/mesalib/src/mesa/vbo/vbo_save_api.c
index 89f09a8d8..75b8ca338 100644
--- a/mesalib/src/mesa/vbo/vbo_save_api.c
+++ b/mesalib/src/mesa/vbo/vbo_save_api.c
@@ -324,6 +324,7 @@ _save_compile_vertex_list(struct gl_context *ctx)
/* Duplicate our template, increment refcounts to the storage structs:
*/
memcpy(node->attrsz, save->attrsz, sizeof(node->attrsz));
+ memcpy(node->attrtype, save->attrtype, sizeof(node->attrtype));
node->vertex_size = save->vertex_size;
node->buffer_offset =
(save->buffer - save->vertex_store->buffer) * sizeof(GLfloat);
@@ -510,7 +511,8 @@ _save_copy_to_current(struct gl_context *ctx)
for (i = VBO_ATTRIB_POS + 1; i < VBO_ATTRIB_MAX; i++) {
if (save->attrsz[i]) {
save->currentsz[i][0] = save->attrsz[i];
- COPY_CLEAN_4V(save->current[i], save->attrsz[i], save->attrptr[i]);
+ COPY_CLEAN_4V_TYPE_AS_FLOAT(save->current[i], save->attrsz[i],
+ save->attrptr[i], save->attrtype[i]);
}
}
}
@@ -612,7 +614,8 @@ _save_upgrade_vertex(struct gl_context *ctx, GLuint attr, GLuint newsz)
if (save->attrsz[j]) {
if (j == attr) {
if (oldsz) {
- COPY_CLEAN_4V(dest, oldsz, data);
+ COPY_CLEAN_4V_TYPE_AS_FLOAT(dest, oldsz, data,
+ save->attrtype[j]);
data += oldsz;
dest += newsz;
}
@@ -649,8 +652,8 @@ save_fixup_vertex(struct gl_context *ctx, GLuint attr, GLuint sz)
_save_upgrade_vertex(ctx, attr, sz);
}
else if (sz < save->active_sz[attr]) {
- static GLfloat id[4] = { 0, 0, 0, 1 };
GLuint i;
+ const GLfloat *id = vbo_get_default_vals_as_float(save->attrtype[attr]);
/* New size is equal or smaller - just need to fill in some
* zeros.
@@ -688,7 +691,7 @@ _save_reset_vertex(struct gl_context *ctx)
* 3f version won't otherwise set color[3] to 1.0 -- this is the job
* of the chooser function when switching between Color4f and Color3f.
*/
-#define ATTR(A, N, V0, V1, V2, V3) \
+#define ATTR(A, N, T, V0, V1, V2, V3) \
do { \
struct vbo_save_context *save = &vbo_context(ctx)->save; \
\
@@ -701,6 +704,7 @@ do { \
if (N>1) dest[1] = V1; \
if (N>2) dest[2] = V2; \
if (N>3) dest[3] = V3; \
+ save->attrtype[A] = T; \
} \
\
if ((A) == 0) { \
diff --git a/mesalib/src/mesa/vbo/vbo_save_draw.c b/mesalib/src/mesa/vbo/vbo_save_draw.c
index 09b8b8ab2..efb386e5c 100644
--- a/mesalib/src/mesa/vbo/vbo_save_draw.c
+++ b/mesalib/src/mesa/vbo/vbo_save_draw.c
@@ -79,16 +79,20 @@ _playback_copy_to_current(struct gl_context *ctx,
GLfloat *current = (GLfloat *)vbo->currval[i].Ptr;
GLfloat tmp[4];
- COPY_CLEAN_4V(tmp,
- node->attrsz[i],
- data);
+ COPY_CLEAN_4V_TYPE_AS_FLOAT(tmp,
+ node->attrsz[i],
+ data,
+ node->attrtype[i]);
- if (memcmp(current, tmp, 4 * sizeof(GLfloat)) != 0) {
+ if (node->attrtype[i] != vbo->currval[i].Type ||
+ memcmp(current, tmp, 4 * sizeof(GLfloat)) != 0) {
memcpy(current, tmp, 4 * sizeof(GLfloat));
vbo->currval[i].Size = node->attrsz[i];
- assert(vbo->currval[i].Type == GL_FLOAT);
vbo->currval[i]._ElementSize = vbo->currval[i].Size * sizeof(GLfloat);
+ vbo->currval[i].Type = node->attrtype[i];
+ vbo->currval[i].Integer =
+ vbo_attrtype_to_integer_flag(node->attrtype[i]);
if (i >= VBO_ATTRIB_FIRST_MATERIAL &&
i <= VBO_ATTRIB_LAST_MATERIAL)
@@ -134,9 +138,11 @@ static void vbo_bind_vertex_list(struct gl_context *ctx,
const GLuint *map;
GLuint attr;
GLubyte node_attrsz[VBO_ATTRIB_MAX]; /* copy of node->attrsz[] */
+ GLenum node_attrtype[VBO_ATTRIB_MAX]; /* copy of node->attrtype[] */
GLbitfield64 varying_inputs = 0x0;
memcpy(node_attrsz, node->attrsz, sizeof(node->attrsz));
+ memcpy(node_attrtype, node->attrtype, sizeof(node->attrtype));
/* Install the default (ie Current) attributes first, then overlay
* all active ones.
@@ -170,6 +176,7 @@ static void vbo_bind_vertex_list(struct gl_context *ctx,
(ctx->VertexProgram._Current->Base.InputsRead & VERT_BIT_GENERIC0)) {
save->inputs[VERT_ATTRIB_GENERIC0] = save->inputs[0];
node_attrsz[VERT_ATTRIB_GENERIC0] = node_attrsz[0];
+ node_attrtype[VERT_ATTRIB_GENERIC0] = node_attrtype[0];
node_attrsz[0] = 0;
}
break;
@@ -188,7 +195,9 @@ static void vbo_bind_vertex_list(struct gl_context *ctx,
arrays[attr].Size = node_attrsz[src];
arrays[attr].StrideB = node->vertex_size * sizeof(GLfloat);
arrays[attr].Stride = node->vertex_size * sizeof(GLfloat);
- arrays[attr].Type = GL_FLOAT;
+ arrays[attr].Type = node_attrtype[src];
+ arrays[attr].Integer =
+ vbo_attrtype_to_integer_flag(node_attrtype[src]);
arrays[attr].Format = GL_RGBA;
arrays[attr].Enabled = 1;
arrays[attr]._ElementSize = arrays[attr].Size * sizeof(GLfloat);