diff options
author | marha <marha@users.sourceforge.net> | 2012-11-07 08:02:14 +0100 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-11-07 08:02:14 +0100 |
commit | 2c345c9da4dedfafe791557ca3fcf891ce26249d (patch) | |
tree | 18dc73394bd3921415b57b5847f03a9753374e99 /mesalib/src/mesa/main/api_exec.c | |
parent | 7c531937cfab42f2fd3233c096c409ebdd5b59af (diff) | |
parent | 1cc98f5a48924d750fbef7ea6b05a1ba49c28589 (diff) | |
download | vcxsrv-2c345c9da4dedfafe791557ca3fcf891ce26249d.tar.gz vcxsrv-2c345c9da4dedfafe791557ca3fcf891ce26249d.tar.bz2 vcxsrv-2c345c9da4dedfafe791557ca3fcf891ce26249d.zip |
Merge remote-tracking branch 'origin/released'
* origin/released:
xserver mesa xkbcomp git update 5 nov 2012
Conflicts:
mesalib/src/glsl/.gitignore
mesalib/src/mesa/main/.gitignore
xorg-server/Xi/chgdctl.c
xorg-server/dix/getevents.c
xorg-server/hw/xwin/winprefs.c
xorg-server/os/utils.c
Diffstat (limited to 'mesalib/src/mesa/main/api_exec.c')
-rw-r--r-- | mesalib/src/mesa/main/api_exec.c | 260 |
1 files changed, 182 insertions, 78 deletions
diff --git a/mesalib/src/mesa/main/api_exec.c b/mesalib/src/mesa/main/api_exec.c index a670fba43..bc5f71f0d 100644 --- a/mesalib/src/mesa/main/api_exec.c +++ b/mesalib/src/mesa/main/api_exec.c @@ -49,9 +49,11 @@ #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" @@ -69,6 +71,7 @@ #include "pixelstore.h" #include "points.h" #include "polygon.h" +#include "querymatrix.h" #include "queryobj.h" #include "readpix.h" #include "samplerobj.h" @@ -128,12 +131,14 @@ _mesa_create_exec_table(struct gl_context *ctx) SET_Disable(exec, _mesa_Disable); if (ctx->API == API_OPENGL || ctx->API == API_OPENGL_CORE) SET_DrawBuffer(exec, _mesa_DrawBuffer); - SET_ReadBuffer(exec, _mesa_ReadBuffer); + 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_CORE && ctx->API != API_OPENGLES2) { + if (ctx->API == API_OPENGL) { SET_Frustum(exec, _mesa_Frustum); } SET_GetError(exec, _mesa_GetError); @@ -153,6 +158,8 @@ _mesa_create_exec_table(struct gl_context *ctx) 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); @@ -185,7 +192,7 @@ _mesa_create_exec_table(struct gl_context *ctx) _mesa_init_dlist_dispatch(exec); } - if (ctx->API != API_OPENGLES2) { + if (_mesa_is_desktop_gl(ctx)) { SET_ClearDepth(exec, _mesa_ClearDepth); } @@ -197,11 +204,11 @@ _mesa_create_exec_table(struct gl_context *ctx) SET_DepthFunc(exec, _mesa_DepthFunc); SET_DepthMask(exec, _mesa_DepthMask); - if (ctx->API != API_OPENGLES2) { + if (_mesa_is_desktop_gl(ctx)) { SET_DepthRange(exec, _mesa_DepthRange); } - if (ctx->API != API_OPENGLES2 && ctx->API != API_OPENGL_CORE) { + if (ctx->API == API_OPENGL) { _mesa_init_drawpix_dispatch(exec); } if (ctx->API == API_OPENGL) { @@ -210,33 +217,37 @@ _mesa_create_exec_table(struct gl_context *ctx) if (ctx->API == API_OPENGL) { SET_FogCoordPointerEXT(exec, _mesa_FogCoordPointerEXT); - SET_Fogf(exec, _mesa_Fogf); - SET_Fogfv(exec, _mesa_Fogfv); 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 (ctx->API != API_OPENGLES2) { + 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_GetLightiv(exec, _mesa_GetLightiv); SET_GetMaterialfv(exec, _mesa_GetMaterialfv); - SET_GetMaterialiv(exec, _mesa_GetMaterialiv); - SET_GetPolygonStipple(exec, _mesa_GetPolygonStipple); SET_GetTexEnvfv(exec, _mesa_GetTexEnvfv); SET_GetTexEnviv(exec, _mesa_GetTexEnviv); } - if (ctx->API != API_OPENGLES2) { + 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 (ctx->API != API_OPENGLES2) { + if (_mesa_is_desktop_gl(ctx)) { SET_GetTexImage(exec, _mesa_GetTexImage); } SET_Hint(exec, _mesa_Hint); @@ -247,10 +258,12 @@ _mesa_create_exec_table(struct gl_context *ctx) if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) { SET_LightModelf(exec, _mesa_LightModelf); SET_LightModelfv(exec, _mesa_LightModelfv); - SET_LightModeli(exec, _mesa_LightModeli); - SET_LightModeliv(exec, _mesa_LightModeliv); 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); @@ -263,10 +276,11 @@ _mesa_create_exec_table(struct gl_context *ctx) } if (ctx->API != API_OPENGLES2) { - SET_PixelStoref(exec, _mesa_PixelStoref); - SET_PointSize(exec, _mesa_PointSize); + } + if (_mesa_is_desktop_gl(ctx)) { + SET_PixelStoref(exec, _mesa_PixelStoref); SET_PolygonMode(exec, _mesa_PolygonMode); } @@ -278,19 +292,21 @@ _mesa_create_exec_table(struct gl_context *ctx) } SET_ReadPixels(exec, _mesa_ReadPixels); - if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) { + 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(exec); + _mesa_init_texgen_dispatch(ctx, exec); } - if (ctx->API != API_OPENGLES2) { + if (_mesa_is_desktop_gl(ctx)) { SET_TexImage1D(exec, _mesa_TexImage1D); } SET_TexParameterf(exec, _mesa_TexParameterf); @@ -306,9 +322,11 @@ _mesa_create_exec_table(struct gl_context *ctx) 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 (ctx->API != API_OPENGLES2) { + if (_mesa_is_desktop_gl(ctx)) { SET_CopyTexImage1D(exec, _mesa_CopyTexImage1D); SET_CopyTexSubImage1D(exec, _mesa_CopyTexSubImage1D); SET_TexSubImage1D(exec, _mesa_TexSubImage1D); @@ -320,29 +338,41 @@ _mesa_create_exec_table(struct gl_context *ctx) if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) { SET_DisableClientState(exec, _mesa_DisableClientState); - SET_EdgeFlagPointer(exec, _mesa_EdgeFlagPointer); 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_PrioritizeTextures(exec, _mesa_PrioritizeTextures); SET_TexCoordPointer(exec, _mesa_TexCoordPointer); SET_VertexPointer(exec, _mesa_VertexPointer); } + if (ctx->API == API_OPENGL) { + SET_PrioritizeTextures(exec, _mesa_PrioritizeTextures); + } /* 1.2 */ - SET_CopyTexSubImage3D(exec, _mesa_CopyTexSubImage3D); - SET_TexImage3D(exec, _mesa_TexImage3D); - SET_TexSubImage3D(exec, _mesa_TexSubImage3D); + 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 */ - SET_BlendColor(exec, _mesa_BlendColor); + if (ctx->API != API_OPENGLES) { + SET_BlendColor(exec, _mesa_BlendColor); + } SET_BlendEquation(exec, _mesa_BlendEquation); SET_BlendEquationSeparateEXT(exec, _mesa_BlendEquationSeparateEXT); @@ -353,9 +383,11 @@ _mesa_create_exec_table(struct gl_context *ctx) } /* OpenGL 2.0 */ - SET_StencilFuncSeparate(exec, _mesa_StencilFuncSeparate); - SET_StencilMaskSeparate(exec, _mesa_StencilMaskSeparate); - SET_StencilOpSeparate(exec, _mesa_StencilOpSeparate); + 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); @@ -446,7 +478,7 @@ _mesa_create_exec_table(struct gl_context *ctx) /* part of _mesa_init_rastpos_dispatch(exec); */ /* 200. GL_IBM_multimode_draw_arrays */ - if (ctx->API != API_OPENGLES2) { + if (_mesa_is_desktop_gl(ctx)) { SET_MultiModeDrawArraysIBM(exec, _mesa_MultiModeDrawArraysIBM); SET_MultiModeDrawElementsIBM(exec, _mesa_MultiModeDrawElementsIBM); } @@ -466,8 +498,10 @@ _mesa_create_exec_table(struct gl_context *ctx) SET_GenVertexArraysAPPLE(exec, _mesa_GenVertexArraysAPPLE); } /* Reused by ARB_vertex_array_object / OES_vertex_array_object */ - SET_DeleteVertexArraysAPPLE(exec, _mesa_DeleteVertexArraysAPPLE); - SET_IsVertexArrayAPPLE(exec, _mesa_IsVertexArrayAPPLE); + 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)) { @@ -481,23 +515,23 @@ _mesa_create_exec_table(struct gl_context *ctx) } /* 285. GL_NV_primitive_restart */ - if (ctx->API != API_OPENGLES2) { + if (_mesa_is_desktop_gl(ctx)) { SET_PrimitiveRestartIndexNV(exec, _mesa_PrimitiveRestartIndex); } /* ???. GL_EXT_depth_bounds_test */ - if (ctx->API != API_OPENGLES2) { + if (_mesa_is_desktop_gl(ctx)) { SET_DepthBoundsEXT(exec, _mesa_DepthBoundsEXT); } /* 352. GL_EXT_transform_feedback */ /* ARB 93. GL_ARB_transform_feedback2 */ - if (ctx->API != API_OPENGLES2 || _mesa_is_gles3(ctx)) { + if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) { _mesa_init_transform_feedback_dispatch(ctx, exec); } /* 364. GL_EXT_provoking_vertex */ - if (ctx->API != API_OPENGLES2) { + if (_mesa_is_desktop_gl(ctx)) { SET_ProvokingVertexEXT(exec, _mesa_ProvokingVertexEXT); } @@ -519,19 +553,23 @@ _mesa_create_exec_table(struct gl_context *ctx) SET_SampleCoverageARB(exec, _mesa_SampleCoverageARB); /* ARB 12. GL_ARB_texture_compression */ - if (ctx->API != API_OPENGLES2) { + if (_mesa_is_desktop_gl(ctx)) { SET_CompressedTexImage1DARB(exec, _mesa_CompressedTexImage1DARB); SET_CompressedTexSubImage1DARB(exec, _mesa_CompressedTexSubImage1DARB); SET_GetCompressedTexImageARB(exec, _mesa_GetCompressedTexImageARB); } - SET_CompressedTexImage3DARB(exec, _mesa_CompressedTexImage3DARB); + if (ctx->API != API_OPENGLES) { + SET_CompressedTexImage3DARB(exec, _mesa_CompressedTexImage3DARB); + } SET_CompressedTexImage2DARB(exec, _mesa_CompressedTexImage2DARB); - SET_CompressedTexSubImage3DARB(exec, _mesa_CompressedTexSubImage3DARB); + if (ctx->API != API_OPENGLES) { + SET_CompressedTexSubImage3DARB(exec, _mesa_CompressedTexSubImage3DARB); + } SET_CompressedTexSubImage2DARB(exec, _mesa_CompressedTexSubImage2DARB); /* ARB 104. GL_ARB_robustness */ - if (ctx->API != API_OPENGLES2) { + if (_mesa_is_desktop_gl(ctx)) { SET_GetnCompressedTexImageARB(exec, _mesa_GetnCompressedTexImageARB); } @@ -576,10 +614,12 @@ _mesa_create_exec_table(struct gl_context *ctx) /* glVertexAttrib4NivARB handled in api_loopback.c */ /* glVertexAttrib4NusvARB handled in api_loopback.c */ /* glVertexAttrib4NuivARB handled in api_loopback.c */ - SET_VertexAttribPointerARB(exec, _mesa_VertexAttribPointerARB); - SET_EnableVertexAttribArrayARB(exec, _mesa_EnableVertexAttribArrayARB); - SET_DisableVertexAttribArrayARB(exec, _mesa_DisableVertexAttribArrayARB); - if (ctx->API != API_OPENGLES2) { + 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 */ @@ -590,9 +630,11 @@ _mesa_create_exec_table(struct gl_context *ctx) SET_ProgramStringARB(exec, _mesa_ProgramStringARB); } - SET_GetVertexAttribfvARB(exec, _mesa_GetVertexAttribfvARB); - SET_GetVertexAttribivARB(exec, _mesa_GetVertexAttribivARB); - SET_GetVertexAttribPointervNV(exec, _mesa_GetVertexAttribPointervARB); + 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); @@ -614,25 +656,27 @@ _mesa_create_exec_table(struct gl_context *ctx) _mesa_init_bufferobj_dispatch(ctx, exec); /* ARB 29. GL_ARB_occlusion_query */ - if (ctx->API != API_OPENGLES2 || _mesa_is_gles3(ctx)) { + if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) { _mesa_init_queryobj_dispatch(ctx, exec); } /* ARB 37. GL_ARB_draw_buffers */ - SET_DrawBuffersARB(exec, _mesa_DrawBuffersARB); + if (ctx->API != API_OPENGLES) { + SET_DrawBuffersARB(exec, _mesa_DrawBuffersARB); + } /* ARB 66. GL_ARB_sync */ - if (ctx->API != API_OPENGLES2 || _mesa_is_gles3(ctx)) { + if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) { _mesa_init_sync_dispatch(exec); } /* ARB 104. GL_ARB_debug_output */ - if (ctx->API != API_OPENGLES2) { + if (_mesa_is_desktop_gl(ctx)) { _mesa_init_errors_dispatch(exec); } /* ARB 105. GL_ARB_robustness */ - if (ctx->API != API_OPENGLES2) { + if (_mesa_is_desktop_gl(ctx)) { SET_GetGraphicsResetStatusARB(exec, _mesa_GetGraphicsResetStatusARB); SET_GetnPolygonStippleARB(exec, _mesa_GetnPolygonStippleARB); SET_GetnTexImageARB(exec, _mesa_GetnTexImageARB); @@ -663,16 +707,18 @@ _mesa_create_exec_table(struct gl_context *ctx) SET_DeleteFramebuffersEXT(exec, _mesa_DeleteFramebuffersEXT); SET_GenFramebuffersEXT(exec, _mesa_GenFramebuffersEXT); SET_CheckFramebufferStatusEXT(exec, _mesa_CheckFramebufferStatusEXT); - if (ctx->API != API_OPENGLES2) { + if (_mesa_is_desktop_gl(ctx)) { SET_FramebufferTexture1DEXT(exec, _mesa_FramebufferTexture1DEXT); } SET_FramebufferTexture2DEXT(exec, _mesa_FramebufferTexture2DEXT); - SET_FramebufferTexture3DEXT(exec, _mesa_FramebufferTexture3DEXT); + 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 (ctx->API != API_OPENGLES2 || _mesa_is_gles3(ctx)) { + if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) { SET_BlitFramebufferEXT(exec, _mesa_BlitFramebufferEXT); } @@ -683,7 +729,7 @@ _mesa_create_exec_table(struct gl_context *ctx) } /* GL_MESA_texture_array / GL_EXT_texture_array */ - if (ctx->API != API_OPENGLES2 || _mesa_is_gles3(ctx)) { + if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) { SET_FramebufferTextureLayerEXT(exec, _mesa_FramebufferTextureLayerEXT); } @@ -695,7 +741,7 @@ _mesa_create_exec_table(struct gl_context *ctx) /* The ARB_fbo functions are the union of * GL_EXT_fbo, GL_EXT_framebuffer_blit, GL_EXT_texture_array */ - if (ctx->API != API_OPENGLES2 || _mesa_is_gles3(ctx)) { + if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) { SET_RenderbufferStorageMultisample(exec, _mesa_RenderbufferStorageMultisample); } @@ -704,13 +750,15 @@ _mesa_create_exec_table(struct gl_context *ctx) SET_FlushMappedBufferRange(exec, _mesa_FlushMappedBufferRange); /* GL_ARB_copy_buffer */ - if (ctx->API != API_OPENGLES2 || _mesa_is_gles3(ctx)) { + 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 */ - SET_BindVertexArray(exec, _mesa_BindVertexArray); - SET_GenVertexArrays(exec, _mesa_GenVertexArrays); + 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)) { @@ -725,7 +773,7 @@ _mesa_create_exec_table(struct gl_context *ctx) } /* GL_NV_conditional_render */ - if (ctx->API != API_OPENGLES2) { + if (_mesa_is_desktop_gl(ctx)) { SET_BeginConditionalRenderNV(exec, _mesa_BeginConditionalRender); SET_EndConditionalRenderNV(exec, _mesa_EndConditionalRender); } @@ -733,18 +781,13 @@ _mesa_create_exec_table(struct gl_context *ctx) SET_EGLImageTargetTexture2DOES(exec, _mesa_EGLImageTargetTexture2DOES); SET_EGLImageTargetRenderbufferStorageOES(exec, _mesa_EGLImageTargetRenderbufferStorageOES); - if (ctx->API != API_OPENGLES2) { + if (_mesa_is_desktop_gl(ctx)) { SET_ObjectPurgeableAPPLE(exec, _mesa_ObjectPurgeableAPPLE); SET_ObjectUnpurgeableAPPLE(exec, _mesa_ObjectUnpurgeableAPPLE); SET_GetObjectParameterivAPPLE(exec, _mesa_GetObjectParameterivAPPLE); } - if (ctx->API != API_OPENGLES2) { - SET_FramebufferTextureARB(exec, _mesa_FramebufferTextureARB); - SET_FramebufferTextureFaceARB(exec, _mesa_FramebufferTextureFaceARB); - } - - if (ctx->API != API_OPENGLES2) { + if (_mesa_is_desktop_gl(ctx)) { SET_ClampColorARB(exec, _mesa_ClampColorARB); } @@ -753,7 +796,7 @@ _mesa_create_exec_table(struct gl_context *ctx) SET_ClearColorIiEXT(exec, _mesa_ClearColorIiEXT); SET_ClearColorIuiEXT(exec, _mesa_ClearColorIuiEXT); } - if (ctx->API != API_OPENGLES2) { + if (_mesa_is_desktop_gl(ctx)) { SET_GetTexParameterIivEXT(exec, _mesa_GetTexParameterIiv); SET_GetTexParameterIuivEXT(exec, _mesa_GetTexParameterIuiv); SET_TexParameterIivEXT(exec, _mesa_TexParameterIiv); @@ -761,14 +804,14 @@ _mesa_create_exec_table(struct gl_context *ctx) } /* GL_EXT_gpu_shader4 / OpenGL 3.0 */ - if (ctx->API != API_OPENGLES2 || _mesa_is_gles3(ctx)) { + 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 (ctx->API != API_OPENGLES2 || _mesa_is_gles3(ctx)) { + 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); @@ -777,12 +820,12 @@ _mesa_create_exec_table(struct gl_context *ctx) } /* GL_ARB_instanced_arrays */ - if (ctx->API != API_OPENGLES2 || _mesa_is_gles3(ctx)) { + if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) { SET_VertexAttribDivisorARB(exec, _mesa_VertexAttribDivisor); } /* GL_ARB_draw_buffer_blend */ - if (ctx->API != API_OPENGLES2) { + if (_mesa_is_desktop_gl(ctx)) { SET_BlendFunciARB(exec, _mesa_BlendFunci); SET_BlendFuncSeparateiARB(exec, _mesa_BlendFuncSeparatei); SET_BlendEquationiARB(exec, _mesa_BlendEquationi); @@ -790,17 +833,17 @@ _mesa_create_exec_table(struct gl_context *ctx) } /* GL_NV_texture_barrier */ - if (ctx->API != API_OPENGLES2) { + if (_mesa_is_desktop_gl(ctx)) { SET_TextureBarrierNV(exec, _mesa_TextureBarrierNV); } /* GL_ARB_texture_buffer_object */ - if (ctx->API != API_OPENGLES2) { + if (_mesa_is_desktop_gl(ctx)) { SET_TexBufferARB(exec, _mesa_TexBuffer); } /* GL_ARB_texture_storage */ - if (ctx->API != API_OPENGLES2) { + if (_mesa_is_desktop_gl(ctx)) { SET_TexStorage1D(exec, _mesa_TexStorage1D); SET_TextureStorage1DEXT(exec, _mesa_TextureStorage1DEXT); } @@ -813,7 +856,7 @@ _mesa_create_exec_table(struct gl_context *ctx) SET_TextureStorage3DEXT(exec, _mesa_TextureStorage3DEXT); } - if (ctx->API != API_OPENGLES2 || _mesa_is_gles3(ctx)) { + if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) { _mesa_init_sampler_object_dispatch(ctx, exec); } @@ -827,5 +870,66 @@ _mesa_create_exec_table(struct gl_context *ctx) 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; } |