On 08/08/2012 02:41 PM, Kenneth Graunke wrote:
On 08/08/2012 10:38 AM, Ian Romanick wrote:
From: Ian Romanick <ian.d.roman...@intel.com>
Signed-off-by: Ian Romanick <ian.d.roman...@intel.com>
Two small mistakes, noted below.
diff --git a/src/mesa/main/api_exec.c b/src/mesa/main/api_exec.c
index 81be46d..67f17a4 100644
--- a/src/mesa/main/api_exec.c
+++ b/src/mesa/main/api_exec.c
@@ -158,7 +158,7 @@ _mesa_create_exec_table(struct gl_context *ctx)
SET_GetError(exec, _mesa_GetError);
SET_GetFloatv(exec, _mesa_GetFloatv);
SET_GetString(exec, _mesa_GetString);
- if (ctx->API != API_OPENGL_CORE) {
+ if (ctx->API == API_OPENGL) {
SET_LineStipple(exec, _mesa_LineStipple);
}
SET_LineWidth(exec, _mesa_LineWidth);
@@ -197,13 +197,13 @@ _mesa_create_exec_table(struct gl_context *ctx)
}
SET_Viewport(exec, _mesa_Viewport);
- if (ctx->API != API_OPENGL_CORE) {
+ if (ctx->API == API_OPENGL) {
_mesa_init_accum_dispatch(exec);
_mesa_init_dlist_dispatch(exec);
}
SET_ClearDepth(exec, _mesa_ClearDepth);
- if (ctx->API != API_OPENGL_CORE) {
+ if (ctx->API == API_OPENGL) {
SET_ClearIndex(exec, _mesa_ClearIndex);
SET_ClipPlane(exec, _mesa_ClipPlane);
glClipPlane is allowed in ES 1.1. The rest in this block are not.
This code is currently only used for desktop GL (core and classic) and
ES2. ES1 still has it's own separate path.
SET_ColorMaterial(exec, _mesa_ColorMaterial);
@@ -213,9 +213,11 @@ _mesa_create_exec_table(struct gl_context *ctx)
SET_DepthRange(exec, _mesa_DepthRange);
_mesa_init_drawpix_dispatch(exec);
- _mesa_init_feedback_dispatch(exec);
+ if (ctx->API == API_OPENGL) {
+ _mesa_init_feedback_dispatch(exec);
+ }
- if (ctx->API != API_OPENGL_CORE) {
+ if (ctx->API == API_OPENGL) {
SET_FogCoordPointerEXT(exec, _mesa_FogCoordPointerEXT);
SET_Fogf(exec, _mesa_Fogf);
SET_Fogfv(exec, _mesa_Fogfv);
@@ -241,7 +243,7 @@ _mesa_create_exec_table(struct gl_context *ctx)
SET_GetTexParameteriv(exec, _mesa_GetTexParameteriv);
SET_GetTexImage(exec, _mesa_GetTexImage);
SET_Hint(exec, _mesa_Hint);
- if (ctx->API != API_OPENGL_CORE) {
+ if (ctx->API == API_OPENGL) {
SET_IndexMask(exec, _mesa_IndexMask);
}
Oddly, the ES 2.0.24 spec mentions "just as for IndexMask" and includes
IndexMask in the spec's index (no pun intended). This seems to be an
error, however, since it never actually defines what the function does.
So I think this hunk is correct.
SET_IsEnabled(exec, _mesa_IsEnabled);
@@ -257,24 +259,22 @@ _mesa_create_exec_table(struct gl_context *ctx)
SET_LoadMatrixd(exec, _mesa_LoadMatrixd);
}
- _mesa_init_eval_dispatch(exec);
-
- if (ctx->API != API_OPENGL_CORE) {
+ if (ctx->API == API_OPENGL) {
+ _mesa_init_eval_dispatch(exec);
SET_MultMatrixd(exec, _mesa_MultMatrixd);
+ _mesa_init_pixel_dispatch(exec);
}
- _mesa_init_pixel_dispatch(exec);
-
SET_PixelStoref(exec, _mesa_PixelStoref);
SET_PointSize(exec, _mesa_PointSize);
SET_PolygonMode(exec, _mesa_PolygonMode);
SET_PolygonOffset(exec, _mesa_PolygonOffset);
- if (ctx->API != API_OPENGL_CORE) {
+ if (ctx->API == API_OPENGL) {
SET_PolygonStipple(exec, _mesa_PolygonStipple);
- }
- _mesa_init_attrib_dispatch(exec);
- _mesa_init_rastpos_dispatch(exec);
+ _mesa_init_attrib_dispatch(exec);
+ _mesa_init_rastpos_dispatch(exec);
+ }
SET_ReadPixels(exec, _mesa_ReadPixels);
if (ctx->API != API_OPENGL_CORE) {
@@ -285,13 +285,15 @@ _mesa_create_exec_table(struct gl_context *ctx)
SET_TexEnviv(exec, _mesa_TexEnviv);
}
- _mesa_init_texgen_dispatch(exec);
+ if (ctx->API != API_OPENGL_CORE) {
+ _mesa_init_texgen_dispatch(exec);
+ }
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_CORE) {
+ if (ctx->API == API_OPENGL) {
SET_Translated(exec, _mesa_Translated);
}
@@ -300,7 +302,7 @@ _mesa_create_exec_table(struct gl_context *ctx)
SET_DeleteTextures(exec, _mesa_DeleteTextures);
SET_GenTextures(exec, _mesa_GenTextures);
#if _HAVE_FULL_GL
- if (ctx->API != API_OPENGL_CORE) {
+ if (ctx->API == API_OPENGL) {
SET_AreTexturesResident(exec, _mesa_AreTexturesResident);
SET_ColorPointer(exec, _mesa_ColorPointer);
glColorPointer is allowed in ES 1.1.
Otherwise, looks good! With those fixed,
Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev