Compare commits
7 Commits
20.2
...
core-conte
Author | SHA1 | Date | |
---|---|---|---|
|
85e97b18e0 | ||
|
f2c8a8f550 | ||
|
631566bd77 | ||
|
7027b53956 | ||
|
b0396f5d7b | ||
|
cbc6974330 | ||
|
f7a395f970 |
@@ -90,19 +90,17 @@ _mesa_glsl_parse_state::_mesa_glsl_parse_state(struct gl_context *_ctx,
|
||||
*/
|
||||
this->Const.GLSL_100ES = (ctx->API == API_OPENGLES2)
|
||||
|| ctx->Extensions.ARB_ES2_compatibility;
|
||||
this->Const.GLSL_110 = (ctx->API == API_OPENGL);
|
||||
this->Const.GLSL_120 = (ctx->API == API_OPENGL)
|
||||
&& (ctx->Const.GLSLVersion >= 120);
|
||||
this->Const.GLSL_130 = (ctx->API == API_OPENGL)
|
||||
&& (ctx->Const.GLSLVersion >= 130);
|
||||
this->Const.GLSL_140 = (ctx->API == API_OPENGL)
|
||||
&& (ctx->Const.GLSLVersion >= 140);
|
||||
bool is_desktop_gl = IS_CTX_DESKTOP_GL(ctx);
|
||||
this->Const.GLSL_110 = is_desktop_gl;
|
||||
this->Const.GLSL_120 = is_desktop_gl && (ctx->Const.GLSLVersion >= 120);
|
||||
this->Const.GLSL_130 = is_desktop_gl && (ctx->Const.GLSLVersion >= 130);
|
||||
this->Const.GLSL_140 = is_desktop_gl && (ctx->Const.GLSLVersion >= 140);
|
||||
|
||||
const unsigned lowest_version =
|
||||
(ctx->API == API_OPENGLES2) || ctx->Extensions.ARB_ES2_compatibility
|
||||
? 100 : 110;
|
||||
const unsigned highest_version =
|
||||
(ctx->API == API_OPENGL) ? ctx->Const.GLSLVersion : 100;
|
||||
is_desktop_gl ? ctx->Const.GLSLVersion : 100;
|
||||
char *supported = ralloc_strdup(this, "");
|
||||
|
||||
for (unsigned ver = lowest_version; ver <= highest_version; ver += 10) {
|
||||
|
@@ -1848,7 +1848,7 @@ meta_glsl_clear_init(struct gl_context *ctx, struct clear_state *clear)
|
||||
clear->ColorLocation = _mesa_GetUniformLocationARB(clear->ShaderProg,
|
||||
"color");
|
||||
|
||||
if (ctx->API == API_OPENGL && ctx->Const.GLSLVersion >= 130) {
|
||||
if (IS_CTX_DESKTOP_GL(ctx) && ctx->Const.GLSLVersion >= 130) {
|
||||
vs = compile_shader_with_debug(ctx, GL_VERTEX_SHADER, vs_int_source);
|
||||
fs = compile_shader_with_debug(ctx, GL_FRAGMENT_SHADER, fs_int_source);
|
||||
|
||||
|
@@ -44,7 +44,7 @@ intelInitExtensions(struct gl_context *ctx)
|
||||
|
||||
ctx->Extensions.ARB_draw_elements_base_vertex = true;
|
||||
ctx->Extensions.ARB_explicit_attrib_location = true;
|
||||
if (ctx->API == API_OPENGL)
|
||||
if (IS_CTX_DESKTOP_GL(ctx))
|
||||
ctx->Extensions.ARB_framebuffer_object = true;
|
||||
ctx->Extensions.ARB_half_float_pixel = true;
|
||||
ctx->Extensions.ARB_map_buffer_range = true;
|
||||
|
@@ -120,7 +120,7 @@
|
||||
* \param exec dispatch table.
|
||||
*/
|
||||
struct _glapi_table *
|
||||
_mesa_create_exec_table(void)
|
||||
_mesa_create_exec_table(struct gl_context *ctx)
|
||||
{
|
||||
struct _glapi_table *exec;
|
||||
|
||||
@@ -133,7 +133,10 @@ _mesa_create_exec_table(void)
|
||||
#endif
|
||||
|
||||
/* load the dispatch slots we understand */
|
||||
SET_AlphaFunc(exec, _mesa_AlphaFunc);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
SET_AlphaFunc(exec, _mesa_AlphaFunc);
|
||||
}
|
||||
|
||||
SET_BlendFunc(exec, _mesa_BlendFunc);
|
||||
SET_Clear(exec, _mesa_Clear);
|
||||
SET_ClearColor(exec, _mesa_ClearColor);
|
||||
@@ -149,42 +152,62 @@ _mesa_create_exec_table(void)
|
||||
SET_Finish(exec, _mesa_Finish);
|
||||
SET_Flush(exec, _mesa_Flush);
|
||||
SET_FrontFace(exec, _mesa_FrontFace);
|
||||
SET_Frustum(exec, _mesa_Frustum);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
SET_Frustum(exec, _mesa_Frustum);
|
||||
}
|
||||
SET_GetError(exec, _mesa_GetError);
|
||||
SET_GetFloatv(exec, _mesa_GetFloatv);
|
||||
SET_GetString(exec, _mesa_GetString);
|
||||
SET_LineStipple(exec, _mesa_LineStipple);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
SET_LineStipple(exec, _mesa_LineStipple);
|
||||
}
|
||||
SET_LineWidth(exec, _mesa_LineWidth);
|
||||
SET_LoadIdentity(exec, _mesa_LoadIdentity);
|
||||
SET_LoadMatrixf(exec, _mesa_LoadMatrixf);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
SET_LoadIdentity(exec, _mesa_LoadIdentity);
|
||||
SET_LoadMatrixf(exec, _mesa_LoadMatrixf);
|
||||
}
|
||||
SET_LogicOp(exec, _mesa_LogicOp);
|
||||
SET_MatrixMode(exec, _mesa_MatrixMode);
|
||||
SET_MultMatrixf(exec, _mesa_MultMatrixf);
|
||||
SET_Ortho(exec, _mesa_Ortho);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
SET_MatrixMode(exec, _mesa_MatrixMode);
|
||||
SET_MultMatrixf(exec, _mesa_MultMatrixf);
|
||||
SET_Ortho(exec, _mesa_Ortho);
|
||||
}
|
||||
SET_PixelStorei(exec, _mesa_PixelStorei);
|
||||
SET_PopMatrix(exec, _mesa_PopMatrix);
|
||||
SET_PushMatrix(exec, _mesa_PushMatrix);
|
||||
SET_Rotatef(exec, _mesa_Rotatef);
|
||||
SET_Scalef(exec, _mesa_Scalef);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
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);
|
||||
SET_ShadeModel(exec, _mesa_ShadeModel);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
SET_ShadeModel(exec, _mesa_ShadeModel);
|
||||
}
|
||||
SET_StencilFunc(exec, _mesa_StencilFunc);
|
||||
SET_StencilMask(exec, _mesa_StencilMask);
|
||||
SET_StencilOp(exec, _mesa_StencilOp);
|
||||
SET_TexEnvfv(exec, _mesa_TexEnvfv);
|
||||
SET_TexEnvi(exec, _mesa_TexEnvi);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
SET_TexEnvfv(exec, _mesa_TexEnvfv);
|
||||
SET_TexEnvi(exec, _mesa_TexEnvi);
|
||||
}
|
||||
SET_TexImage2D(exec, _mesa_TexImage2D);
|
||||
SET_TexParameteri(exec, _mesa_TexParameteri);
|
||||
SET_Translatef(exec, _mesa_Translatef);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
SET_Translatef(exec, _mesa_Translatef);
|
||||
}
|
||||
SET_Viewport(exec, _mesa_Viewport);
|
||||
|
||||
_mesa_init_accum_dispatch(exec);
|
||||
_mesa_init_dlist_dispatch(exec);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
_mesa_init_accum_dispatch(exec);
|
||||
_mesa_init_dlist_dispatch(exec);
|
||||
}
|
||||
|
||||
SET_ClearDepth(exec, _mesa_ClearDepth);
|
||||
SET_ClearIndex(exec, _mesa_ClearIndex);
|
||||
SET_ClipPlane(exec, _mesa_ClipPlane);
|
||||
SET_ColorMaterial(exec, _mesa_ColorMaterial);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
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);
|
||||
SET_DepthRange(exec, _mesa_DepthRange);
|
||||
@@ -192,43 +215,53 @@ _mesa_create_exec_table(void)
|
||||
_mesa_init_drawpix_dispatch(exec);
|
||||
_mesa_init_feedback_dispatch(exec);
|
||||
|
||||
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_CORE) {
|
||||
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);
|
||||
}
|
||||
SET_GetBooleanv(exec, _mesa_GetBooleanv);
|
||||
SET_GetDoublev(exec, _mesa_GetDoublev);
|
||||
SET_GetIntegerv(exec, _mesa_GetIntegerv);
|
||||
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_OPENGL_CORE) {
|
||||
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);
|
||||
}
|
||||
SET_GetTexLevelParameterfv(exec, _mesa_GetTexLevelParameterfv);
|
||||
SET_GetTexLevelParameteriv(exec, _mesa_GetTexLevelParameteriv);
|
||||
SET_GetTexParameterfv(exec, _mesa_GetTexParameterfv);
|
||||
SET_GetTexParameteriv(exec, _mesa_GetTexParameteriv);
|
||||
SET_GetTexImage(exec, _mesa_GetTexImage);
|
||||
SET_Hint(exec, _mesa_Hint);
|
||||
SET_IndexMask(exec, _mesa_IndexMask);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
SET_IndexMask(exec, _mesa_IndexMask);
|
||||
}
|
||||
SET_IsEnabled(exec, _mesa_IsEnabled);
|
||||
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);
|
||||
SET_Lighti(exec, _mesa_Lighti);
|
||||
SET_Lightiv(exec, _mesa_Lightiv);
|
||||
SET_LoadMatrixd(exec, _mesa_LoadMatrixd);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
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);
|
||||
SET_Lighti(exec, _mesa_Lighti);
|
||||
SET_Lightiv(exec, _mesa_Lightiv);
|
||||
SET_LoadMatrixd(exec, _mesa_LoadMatrixd);
|
||||
}
|
||||
|
||||
_mesa_init_eval_dispatch(exec);
|
||||
|
||||
SET_MultMatrixd(exec, _mesa_MultMatrixd);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
SET_MultMatrixd(exec, _mesa_MultMatrixd);
|
||||
}
|
||||
|
||||
_mesa_init_pixel_dispatch(exec);
|
||||
|
||||
@@ -236,17 +269,21 @@ _mesa_create_exec_table(void)
|
||||
SET_PointSize(exec, _mesa_PointSize);
|
||||
SET_PolygonMode(exec, _mesa_PolygonMode);
|
||||
SET_PolygonOffset(exec, _mesa_PolygonOffset);
|
||||
SET_PolygonStipple(exec, _mesa_PolygonStipple);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
SET_PolygonStipple(exec, _mesa_PolygonStipple);
|
||||
}
|
||||
|
||||
_mesa_init_attrib_dispatch(exec);
|
||||
_mesa_init_rastpos_dispatch(exec);
|
||||
|
||||
SET_ReadPixels(exec, _mesa_ReadPixels);
|
||||
SET_Rotated(exec, _mesa_Rotated);
|
||||
SET_Scaled(exec, _mesa_Scaled);
|
||||
SET_SecondaryColorPointerEXT(exec, _mesa_SecondaryColorPointerEXT);
|
||||
SET_TexEnvf(exec, _mesa_TexEnvf);
|
||||
SET_TexEnviv(exec, _mesa_TexEnviv);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
SET_Rotated(exec, _mesa_Rotated);
|
||||
SET_Scaled(exec, _mesa_Scaled);
|
||||
SET_SecondaryColorPointerEXT(exec, _mesa_SecondaryColorPointerEXT);
|
||||
SET_TexEnvf(exec, _mesa_TexEnvf);
|
||||
SET_TexEnviv(exec, _mesa_TexEnviv);
|
||||
}
|
||||
|
||||
_mesa_init_texgen_dispatch(exec);
|
||||
|
||||
@@ -254,32 +291,42 @@ _mesa_create_exec_table(void)
|
||||
SET_TexParameterf(exec, _mesa_TexParameterf);
|
||||
SET_TexParameterfv(exec, _mesa_TexParameterfv);
|
||||
SET_TexParameteriv(exec, _mesa_TexParameteriv);
|
||||
SET_Translated(exec, _mesa_Translated);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
SET_Translated(exec, _mesa_Translated);
|
||||
}
|
||||
|
||||
/* 1.1 */
|
||||
SET_BindTexture(exec, _mesa_BindTexture);
|
||||
SET_DeleteTextures(exec, _mesa_DeleteTextures);
|
||||
SET_GenTextures(exec, _mesa_GenTextures);
|
||||
#if _HAVE_FULL_GL
|
||||
SET_AreTexturesResident(exec, _mesa_AreTexturesResident);
|
||||
SET_ColorPointer(exec, _mesa_ColorPointer);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
SET_AreTexturesResident(exec, _mesa_AreTexturesResident);
|
||||
SET_ColorPointer(exec, _mesa_ColorPointer);
|
||||
}
|
||||
SET_CopyTexImage1D(exec, _mesa_CopyTexImage1D);
|
||||
SET_CopyTexImage2D(exec, _mesa_CopyTexImage2D);
|
||||
SET_CopyTexSubImage1D(exec, _mesa_CopyTexSubImage1D);
|
||||
SET_CopyTexSubImage2D(exec, _mesa_CopyTexSubImage2D);
|
||||
SET_DisableClientState(exec, _mesa_DisableClientState);
|
||||
SET_EdgeFlagPointer(exec, _mesa_EdgeFlagPointer);
|
||||
SET_EnableClientState(exec, _mesa_EnableClientState);
|
||||
SET_GetPointerv(exec, _mesa_GetPointerv);
|
||||
SET_IndexPointer(exec, _mesa_IndexPointer);
|
||||
SET_InterleavedArrays(exec, _mesa_InterleavedArrays);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
SET_DisableClientState(exec, _mesa_DisableClientState);
|
||||
SET_EdgeFlagPointer(exec, _mesa_EdgeFlagPointer);
|
||||
SET_EnableClientState(exec, _mesa_EnableClientState);
|
||||
SET_GetPointerv(exec, _mesa_GetPointerv);
|
||||
SET_IndexPointer(exec, _mesa_IndexPointer);
|
||||
SET_InterleavedArrays(exec, _mesa_InterleavedArrays);
|
||||
}
|
||||
SET_IsTexture(exec, _mesa_IsTexture);
|
||||
SET_NormalPointer(exec, _mesa_NormalPointer);
|
||||
SET_PrioritizeTextures(exec, _mesa_PrioritizeTextures);
|
||||
SET_TexCoordPointer(exec, _mesa_TexCoordPointer);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
SET_NormalPointer(exec, _mesa_NormalPointer);
|
||||
SET_PrioritizeTextures(exec, _mesa_PrioritizeTextures);
|
||||
SET_TexCoordPointer(exec, _mesa_TexCoordPointer);
|
||||
}
|
||||
SET_TexSubImage1D(exec, _mesa_TexSubImage1D);
|
||||
SET_TexSubImage2D(exec, _mesa_TexSubImage2D);
|
||||
SET_VertexPointer(exec, _mesa_VertexPointer);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
SET_VertexPointer(exec, _mesa_VertexPointer);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 1.2 */
|
||||
@@ -327,31 +374,37 @@ _mesa_create_exec_table(void)
|
||||
|
||||
/* 11. GL_EXT_histogram */
|
||||
#if 0
|
||||
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);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
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
|
||||
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);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
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 _HAVE_FULL_GL
|
||||
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);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
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);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 37. GL_EXT_blend_minmax */
|
||||
@@ -483,10 +536,12 @@ _mesa_create_exec_table(void)
|
||||
|
||||
/* ARB 3. GL_ARB_transpose_matrix */
|
||||
#if _HAVE_FULL_GL
|
||||
SET_LoadTransposeMatrixdARB(exec, _mesa_LoadTransposeMatrixdARB);
|
||||
SET_LoadTransposeMatrixfARB(exec, _mesa_LoadTransposeMatrixfARB);
|
||||
SET_MultTransposeMatrixdARB(exec, _mesa_MultTransposeMatrixdARB);
|
||||
SET_MultTransposeMatrixfARB(exec, _mesa_MultTransposeMatrixfARB);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
SET_LoadTransposeMatrixdARB(exec, _mesa_LoadTransposeMatrixdARB);
|
||||
SET_LoadTransposeMatrixfARB(exec, _mesa_LoadTransposeMatrixfARB);
|
||||
SET_MultTransposeMatrixdARB(exec, _mesa_MultTransposeMatrixdARB);
|
||||
SET_MultTransposeMatrixfARB(exec, _mesa_MultTransposeMatrixfARB);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* ARB 5. GL_ARB_multisample */
|
||||
|
@@ -28,12 +28,13 @@
|
||||
|
||||
|
||||
struct _glapi_table;
|
||||
struct gl_context;
|
||||
|
||||
extern struct _glapi_table *
|
||||
_mesa_alloc_dispatch_table(int size);
|
||||
|
||||
extern struct _glapi_table *
|
||||
_mesa_create_exec_table(void);
|
||||
_mesa_create_exec_table(struct gl_context *ctx);
|
||||
|
||||
extern struct _glapi_table *
|
||||
_mesa_create_exec_table_es1(void);
|
||||
|
@@ -128,6 +128,7 @@ check_valid_to_render(struct gl_context *ctx, const char *function)
|
||||
|
||||
#if FEATURE_GL
|
||||
case API_OPENGL:
|
||||
case API_OPENGL_CORE:
|
||||
{
|
||||
const struct gl_shader_program *vsProg =
|
||||
ctx->Shader.CurrentVertexProgram;
|
||||
|
@@ -431,7 +431,7 @@ one_time_init( struct gl_context *ctx )
|
||||
* when an app is linked to libGLES*, there are not enough dynamic
|
||||
* entries.
|
||||
*/
|
||||
if (ctx->API == API_OPENGL)
|
||||
if (IS_CTX_DESKTOP_GL(ctx))
|
||||
_mesa_init_remap_table();
|
||||
}
|
||||
|
||||
@@ -626,7 +626,7 @@ _mesa_init_constants(struct gl_context *ctx)
|
||||
#endif
|
||||
|
||||
/* Shading language version */
|
||||
if (ctx->API == API_OPENGL) {
|
||||
if (IS_CTX_DESKTOP_GL(ctx)) {
|
||||
ctx->Const.GLSLVersion = 120;
|
||||
_mesa_override_glsl_version(ctx);
|
||||
}
|
||||
@@ -962,7 +962,8 @@ _mesa_initialize_context(struct gl_context *ctx,
|
||||
switch (ctx->API) {
|
||||
#if FEATURE_GL
|
||||
case API_OPENGL:
|
||||
ctx->Exec = _mesa_create_exec_table();
|
||||
case API_OPENGL_CORE:
|
||||
ctx->Exec = _mesa_create_exec_table(ctx);
|
||||
break;
|
||||
#endif
|
||||
#if FEATURE_ES1
|
||||
@@ -1007,6 +1008,7 @@ _mesa_initialize_context(struct gl_context *ctx,
|
||||
|
||||
switch (ctx->API) {
|
||||
case API_OPENGL:
|
||||
case API_OPENGL_CORE:
|
||||
#if FEATURE_dlist
|
||||
ctx->Save = _mesa_create_save_table();
|
||||
if (!ctx->Save) {
|
||||
|
@@ -41,7 +41,9 @@
|
||||
|
||||
enum {
|
||||
DISABLE = 0,
|
||||
GL = 1 << API_OPENGL,
|
||||
GLL = 1 << API_OPENGL,
|
||||
GLC = 1 << API_OPENGL_CORE,
|
||||
GL = (1 << API_OPENGL) | (1 << API_OPENGL_CORE),
|
||||
ES1 = 1 << API_OPENGLES,
|
||||
ES2 = 1 << API_OPENGLES2,
|
||||
};
|
||||
|
@@ -164,10 +164,10 @@ get_framebuffer_target(struct gl_context *ctx, GLenum target)
|
||||
{
|
||||
switch (target) {
|
||||
case GL_DRAW_FRAMEBUFFER:
|
||||
return ctx->Extensions.EXT_framebuffer_blit && ctx->API == API_OPENGL
|
||||
return ctx->Extensions.EXT_framebuffer_blit && IS_CTX_DESKTOP_GL(ctx)
|
||||
? ctx->DrawBuffer : NULL;
|
||||
case GL_READ_FRAMEBUFFER:
|
||||
return ctx->Extensions.EXT_framebuffer_blit && ctx->API == API_OPENGL
|
||||
return ctx->Extensions.EXT_framebuffer_blit && IS_CTX_DESKTOP_GL(ctx)
|
||||
? ctx->ReadBuffer : NULL;
|
||||
case GL_FRAMEBUFFER_EXT:
|
||||
return ctx->DrawBuffer;
|
||||
@@ -221,7 +221,7 @@ _mesa_get_attachment(struct gl_context *ctx, struct gl_framebuffer *fb,
|
||||
}
|
||||
return &fb->Attachment[BUFFER_COLOR0 + i];
|
||||
case GL_DEPTH_STENCIL_ATTACHMENT:
|
||||
if (ctx->API != API_OPENGL)
|
||||
if (!IS_CTX_DESKTOP_GL(ctx))
|
||||
return NULL;
|
||||
/* fall-through */
|
||||
case GL_DEPTH_ATTACHMENT_EXT:
|
||||
@@ -817,7 +817,7 @@ _mesa_test_framebuffer_completeness(struct gl_context *ctx,
|
||||
}
|
||||
|
||||
#if FEATURE_GL
|
||||
if (ctx->API == API_OPENGL && !ctx->Extensions.ARB_ES2_compatibility) {
|
||||
if (IS_CTX_DESKTOP_GL(ctx) && !ctx->Extensions.ARB_ES2_compatibility) {
|
||||
/* Check that all DrawBuffers are present */
|
||||
for (j = 0; j < ctx->Const.MaxDrawBuffers; j++) {
|
||||
if (fb->ColorDrawBuffer[j] != GL_NONE) {
|
||||
@@ -2289,7 +2289,7 @@ _mesa_GetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment,
|
||||
ASSERT_OUTSIDE_BEGIN_END(ctx);
|
||||
|
||||
/* The error differs in GL and GLES. */
|
||||
err = ctx->API == API_OPENGL ? GL_INVALID_OPERATION : GL_INVALID_ENUM;
|
||||
err = IS_CTX_DESKTOP_GL(ctx) ? GL_INVALID_OPERATION : GL_INVALID_ENUM;
|
||||
|
||||
buffer = get_framebuffer_target(ctx, target);
|
||||
if (!buffer) {
|
||||
@@ -2309,7 +2309,7 @@ _mesa_GetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment,
|
||||
* OES_framebuffer_object spec refers to the EXT_framebuffer_object
|
||||
* spec.
|
||||
*/
|
||||
if (ctx->API != API_OPENGL || !ctx->Extensions.ARB_framebuffer_object) {
|
||||
if (!IS_CTX_DESKTOP_GL(ctx) || !ctx->Extensions.ARB_framebuffer_object) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||
"glGetFramebufferAttachmentParameteriv(bound FBO = 0)");
|
||||
return;
|
||||
@@ -2357,7 +2357,7 @@ _mesa_GetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment,
|
||||
}
|
||||
else {
|
||||
assert(att->Type == GL_NONE);
|
||||
if (ctx->API == API_OPENGL) {
|
||||
if (IS_CTX_DESKTOP_GL(ctx)) {
|
||||
*params = 0;
|
||||
} else {
|
||||
_mesa_error(ctx, GL_INVALID_ENUM,
|
||||
|
@@ -391,6 +391,7 @@ extra_NV_read_buffer_api_gl[] = {
|
||||
#define API_OPENGL_BIT (1 << API_OPENGL)
|
||||
#define API_OPENGLES_BIT (1 << API_OPENGLES)
|
||||
#define API_OPENGLES2_BIT (1 << API_OPENGLES2)
|
||||
#define API_OPENGL_CORE_BIT (1 << API_OPENGL_CORE)
|
||||
|
||||
/* This is the big table describing all the enums we accept in
|
||||
* glGet*v(). The table is partitioned into six parts: enums
|
||||
@@ -405,7 +406,9 @@ extra_NV_read_buffer_api_gl[] = {
|
||||
static const struct value_desc values[] = {
|
||||
/* Enums shared between OpenGL, GLES1 and GLES2 */
|
||||
{ 0, 0, TYPE_API_MASK,
|
||||
API_OPENGL_BIT | API_OPENGLES_BIT | API_OPENGLES2_BIT, NO_EXTRA},
|
||||
API_OPENGL_BIT | API_OPENGLES_BIT |API_OPENGLES2_BIT |
|
||||
API_OPENGL_CORE_BIT,
|
||||
NO_EXTRA},
|
||||
{ GL_ALPHA_BITS, BUFFER_INT(Visual.alphaBits), extra_new_buffers },
|
||||
{ GL_BLEND, CONTEXT_BIT0(Color.BlendEnabled), NO_EXTRA },
|
||||
{ GL_BLEND_SRC, CONTEXT_ENUM(Color.Blend[0].SrcRGB), NO_EXTRA },
|
||||
@@ -534,7 +537,7 @@ static const struct value_desc values[] = {
|
||||
|
||||
#if FEATURE_GL || FEATURE_ES1
|
||||
/* Enums in OpenGL and GLES1 */
|
||||
{ 0, 0, TYPE_API_MASK, API_OPENGL_BIT | API_OPENGLES_BIT, NO_EXTRA },
|
||||
{ 0, 0, TYPE_API_MASK, API_OPENGL_BIT | API_OPENGLES_BIT | API_OPENGL_CORE_BIT, NO_EXTRA },
|
||||
{ GL_MAX_LIGHTS, CONTEXT_INT(Const.MaxLights), NO_EXTRA },
|
||||
{ GL_LIGHT0, CONTEXT_BOOL(Light.Light[0].Enabled), NO_EXTRA },
|
||||
{ GL_LIGHT1, CONTEXT_BOOL(Light.Light[1].Enabled), NO_EXTRA },
|
||||
@@ -796,7 +799,7 @@ static const struct value_desc values[] = {
|
||||
|
||||
#if FEATURE_GL
|
||||
/* Remaining enums are only in OpenGL */
|
||||
{ 0, 0, TYPE_API_MASK, API_OPENGL_BIT, NO_EXTRA },
|
||||
{ 0, 0, TYPE_API_MASK, API_OPENGL_BIT | API_OPENGL_CORE_BIT, NO_EXTRA },
|
||||
{ GL_ACCUM_RED_BITS, BUFFER_INT(Visual.accumRedBits), NO_EXTRA },
|
||||
{ GL_ACCUM_GREEN_BITS, BUFFER_INT(Visual.accumGreenBits), NO_EXTRA },
|
||||
{ GL_ACCUM_BLUE_BITS, BUFFER_INT(Visual.accumBlueBits), NO_EXTRA },
|
||||
@@ -1887,7 +1890,7 @@ check_extra(struct gl_context *ctx, const char *func, const struct value_desc *d
|
||||
}
|
||||
break;
|
||||
case EXTRA_API_GL:
|
||||
if (ctx->API == API_OPENGL) {
|
||||
if (IS_CTX_DESKTOP_GL(ctx)) {
|
||||
total++;
|
||||
enabled++;
|
||||
}
|
||||
|
@@ -41,6 +41,7 @@ shading_language_version(struct gl_context *ctx)
|
||||
{
|
||||
switch (ctx->API) {
|
||||
case API_OPENGL:
|
||||
case API_OPENGL_CORE:
|
||||
if (!ctx->Extensions.ARB_shader_objects) {
|
||||
_mesa_error(ctx, GL_INVALID_ENUM, "glGetString");
|
||||
return (const GLubyte *) 0;
|
||||
|
@@ -3336,9 +3336,14 @@ typedef enum
|
||||
{
|
||||
API_OPENGL,
|
||||
API_OPENGLES,
|
||||
API_OPENGLES2
|
||||
API_OPENGLES2,
|
||||
API_OPENGL_CORE,
|
||||
} gl_api;
|
||||
|
||||
#define IS_CTX_IN2(ctx, api1, api2) ((ctx->API == api1) || (ctx->API == api2))
|
||||
#define IS_CTX_DESKTOP_GL(ctx) IS_CTX_IN2(ctx, API_OPENGL, API_OPENGL_CORE)
|
||||
#define IS_CTX_GLES(ctx) IS_CTX_IN2(ctx, API_OPENGLES, API_OPENGLES2)
|
||||
|
||||
/**
|
||||
* Driver-specific state flags.
|
||||
*
|
||||
|
@@ -895,7 +895,7 @@ _mesa_choose_tex_format( struct gl_context *ctx, GLint internalFormat,
|
||||
}
|
||||
/* GL_BGRA can be an internal format *only* in OpenGL ES (1.x or 2.0).
|
||||
*/
|
||||
if (ctx->API != API_OPENGL) {
|
||||
if (IS_CTX_GLES(ctx)) {
|
||||
switch (internalFormat) {
|
||||
case GL_BGRA:
|
||||
RETURN_IF_SUPPORTED(MESA_FORMAT_ARGB8888);
|
||||
|
@@ -130,7 +130,7 @@ _mesa_base_tex_format( struct gl_context *ctx, GLint internalFormat )
|
||||
|
||||
/* GL_BGRA can be an internal format *only* in OpenGL ES (1.x or 2.0).
|
||||
*/
|
||||
if (ctx->API != API_OPENGL) {
|
||||
if (IS_CTX_GLES(ctx)) {
|
||||
switch (internalFormat) {
|
||||
case GL_BGRA:
|
||||
return GL_RGBA;
|
||||
|
@@ -92,7 +92,7 @@ type_to_bit(const struct gl_context *ctx, GLenum type)
|
||||
case GL_DOUBLE:
|
||||
return DOUBLE_BIT;
|
||||
case GL_FIXED:
|
||||
return ctx->API == API_OPENGL ? FIXED_GL_BIT : FIXED_ES_BIT;
|
||||
return (IS_CTX_DESKTOP_GL(ctx)) ? FIXED_GL_BIT : FIXED_ES_BIT;
|
||||
case GL_UNSIGNED_INT_2_10_10_10_REV:
|
||||
return UNSIGNED_INT_2_10_10_10_REV_BIT;
|
||||
case GL_INT_2_10_10_10_REV:
|
||||
|
@@ -315,6 +315,7 @@ _mesa_compute_version(struct gl_context *ctx)
|
||||
|
||||
switch (ctx->API) {
|
||||
case API_OPENGL:
|
||||
case API_OPENGL_CORE:
|
||||
compute_version(ctx);
|
||||
break;
|
||||
case API_OPENGLES:
|
||||
|
@@ -45,57 +45,64 @@
|
||||
* API dispatch table.
|
||||
*/
|
||||
static void
|
||||
install_vtxfmt( struct _glapi_table *tab, const GLvertexformat *vfmt )
|
||||
install_vtxfmt(struct gl_context *ctx, struct _glapi_table *tab,
|
||||
const GLvertexformat *vfmt)
|
||||
{
|
||||
_mesa_install_arrayelt_vtxfmt(tab, vfmt);
|
||||
|
||||
SET_Color3f(tab, vfmt->Color3f);
|
||||
SET_Color3fv(tab, vfmt->Color3fv);
|
||||
SET_Color4f(tab, vfmt->Color4f);
|
||||
SET_Color4fv(tab, vfmt->Color4fv);
|
||||
SET_EdgeFlag(tab, vfmt->EdgeFlag);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
SET_Color3f(tab, vfmt->Color3f);
|
||||
SET_Color3fv(tab, vfmt->Color3fv);
|
||||
SET_Color4f(tab, vfmt->Color4f);
|
||||
SET_Color4fv(tab, vfmt->Color4fv);
|
||||
SET_EdgeFlag(tab, vfmt->EdgeFlag);
|
||||
}
|
||||
|
||||
_mesa_install_eval_vtxfmt(tab, vfmt);
|
||||
|
||||
SET_FogCoordfEXT(tab, vfmt->FogCoordfEXT);
|
||||
SET_FogCoordfvEXT(tab, vfmt->FogCoordfvEXT);
|
||||
SET_Indexf(tab, vfmt->Indexf);
|
||||
SET_Indexfv(tab, vfmt->Indexfv);
|
||||
SET_Materialfv(tab, vfmt->Materialfv);
|
||||
SET_MultiTexCoord1fARB(tab, vfmt->MultiTexCoord1fARB);
|
||||
SET_MultiTexCoord1fvARB(tab, vfmt->MultiTexCoord1fvARB);
|
||||
SET_MultiTexCoord2fARB(tab, vfmt->MultiTexCoord2fARB);
|
||||
SET_MultiTexCoord2fvARB(tab, vfmt->MultiTexCoord2fvARB);
|
||||
SET_MultiTexCoord3fARB(tab, vfmt->MultiTexCoord3fARB);
|
||||
SET_MultiTexCoord3fvARB(tab, vfmt->MultiTexCoord3fvARB);
|
||||
SET_MultiTexCoord4fARB(tab, vfmt->MultiTexCoord4fARB);
|
||||
SET_MultiTexCoord4fvARB(tab, vfmt->MultiTexCoord4fvARB);
|
||||
SET_Normal3f(tab, vfmt->Normal3f);
|
||||
SET_Normal3fv(tab, vfmt->Normal3fv);
|
||||
SET_SecondaryColor3fEXT(tab, vfmt->SecondaryColor3fEXT);
|
||||
SET_SecondaryColor3fvEXT(tab, vfmt->SecondaryColor3fvEXT);
|
||||
SET_TexCoord1f(tab, vfmt->TexCoord1f);
|
||||
SET_TexCoord1fv(tab, vfmt->TexCoord1fv);
|
||||
SET_TexCoord2f(tab, vfmt->TexCoord2f);
|
||||
SET_TexCoord2fv(tab, vfmt->TexCoord2fv);
|
||||
SET_TexCoord3f(tab, vfmt->TexCoord3f);
|
||||
SET_TexCoord3fv(tab, vfmt->TexCoord3fv);
|
||||
SET_TexCoord4f(tab, vfmt->TexCoord4f);
|
||||
SET_TexCoord4fv(tab, vfmt->TexCoord4fv);
|
||||
SET_Vertex2f(tab, vfmt->Vertex2f);
|
||||
SET_Vertex2fv(tab, vfmt->Vertex2fv);
|
||||
SET_Vertex3f(tab, vfmt->Vertex3f);
|
||||
SET_Vertex3fv(tab, vfmt->Vertex3fv);
|
||||
SET_Vertex4f(tab, vfmt->Vertex4f);
|
||||
SET_Vertex4fv(tab, vfmt->Vertex4fv);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
SET_FogCoordfEXT(tab, vfmt->FogCoordfEXT);
|
||||
SET_FogCoordfvEXT(tab, vfmt->FogCoordfvEXT);
|
||||
SET_Indexf(tab, vfmt->Indexf);
|
||||
SET_Indexfv(tab, vfmt->Indexfv);
|
||||
SET_Materialfv(tab, vfmt->Materialfv);
|
||||
SET_MultiTexCoord1fARB(tab, vfmt->MultiTexCoord1fARB);
|
||||
SET_MultiTexCoord1fvARB(tab, vfmt->MultiTexCoord1fvARB);
|
||||
SET_MultiTexCoord2fARB(tab, vfmt->MultiTexCoord2fARB);
|
||||
SET_MultiTexCoord2fvARB(tab, vfmt->MultiTexCoord2fvARB);
|
||||
SET_MultiTexCoord3fARB(tab, vfmt->MultiTexCoord3fARB);
|
||||
SET_MultiTexCoord3fvARB(tab, vfmt->MultiTexCoord3fvARB);
|
||||
SET_MultiTexCoord4fARB(tab, vfmt->MultiTexCoord4fARB);
|
||||
SET_MultiTexCoord4fvARB(tab, vfmt->MultiTexCoord4fvARB);
|
||||
SET_Normal3f(tab, vfmt->Normal3f);
|
||||
SET_Normal3fv(tab, vfmt->Normal3fv);
|
||||
SET_SecondaryColor3fEXT(tab, vfmt->SecondaryColor3fEXT);
|
||||
SET_SecondaryColor3fvEXT(tab, vfmt->SecondaryColor3fvEXT);
|
||||
SET_TexCoord1f(tab, vfmt->TexCoord1f);
|
||||
SET_TexCoord1fv(tab, vfmt->TexCoord1fv);
|
||||
SET_TexCoord2f(tab, vfmt->TexCoord2f);
|
||||
SET_TexCoord2fv(tab, vfmt->TexCoord2fv);
|
||||
SET_TexCoord3f(tab, vfmt->TexCoord3f);
|
||||
SET_TexCoord3fv(tab, vfmt->TexCoord3fv);
|
||||
SET_TexCoord4f(tab, vfmt->TexCoord4f);
|
||||
SET_TexCoord4fv(tab, vfmt->TexCoord4fv);
|
||||
SET_Vertex2f(tab, vfmt->Vertex2f);
|
||||
SET_Vertex2fv(tab, vfmt->Vertex2fv);
|
||||
SET_Vertex3f(tab, vfmt->Vertex3f);
|
||||
SET_Vertex3fv(tab, vfmt->Vertex3fv);
|
||||
SET_Vertex4f(tab, vfmt->Vertex4f);
|
||||
SET_Vertex4fv(tab, vfmt->Vertex4fv);
|
||||
}
|
||||
|
||||
_mesa_install_dlist_vtxfmt(tab, vfmt); /* glCallList / glCallLists */
|
||||
|
||||
SET_Begin(tab, vfmt->Begin);
|
||||
SET_End(tab, vfmt->End);
|
||||
SET_PrimitiveRestartNV(tab, vfmt->PrimitiveRestartNV);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
SET_Begin(tab, vfmt->Begin);
|
||||
SET_End(tab, vfmt->End);
|
||||
SET_PrimitiveRestartNV(tab, vfmt->PrimitiveRestartNV);
|
||||
|
||||
SET_Rectf(tab, vfmt->Rectf);
|
||||
SET_Rectf(tab, vfmt->Rectf);
|
||||
}
|
||||
|
||||
SET_DrawArrays(tab, vfmt->DrawArrays);
|
||||
SET_DrawElements(tab, vfmt->DrawElements);
|
||||
@@ -154,42 +161,44 @@ install_vtxfmt( struct _glapi_table *tab, const GLvertexformat *vfmt )
|
||||
SET_VertexAttribI3uivEXT(tab, vfmt->VertexAttribI3uiv);
|
||||
SET_VertexAttribI4uivEXT(tab, vfmt->VertexAttribI4uiv);
|
||||
|
||||
/* GL_ARB_vertex_type_10_10_10_2_rev / GL 3.3 */
|
||||
SET_VertexP2ui(tab, vfmt->VertexP2ui);
|
||||
SET_VertexP2uiv(tab, vfmt->VertexP2uiv);
|
||||
SET_VertexP3ui(tab, vfmt->VertexP3ui);
|
||||
SET_VertexP3uiv(tab, vfmt->VertexP3uiv);
|
||||
SET_VertexP4ui(tab, vfmt->VertexP4ui);
|
||||
SET_VertexP4uiv(tab, vfmt->VertexP4uiv);
|
||||
if (ctx->API != API_OPENGL_CORE) {
|
||||
/* GL_ARB_vertex_type_10_10_10_2_rev / GL 3.3 */
|
||||
SET_VertexP2ui(tab, vfmt->VertexP2ui);
|
||||
SET_VertexP2uiv(tab, vfmt->VertexP2uiv);
|
||||
SET_VertexP3ui(tab, vfmt->VertexP3ui);
|
||||
SET_VertexP3uiv(tab, vfmt->VertexP3uiv);
|
||||
SET_VertexP4ui(tab, vfmt->VertexP4ui);
|
||||
SET_VertexP4uiv(tab, vfmt->VertexP4uiv);
|
||||
|
||||
SET_TexCoordP1ui(tab, vfmt->TexCoordP1ui);
|
||||
SET_TexCoordP1uiv(tab, vfmt->TexCoordP1uiv);
|
||||
SET_TexCoordP2ui(tab, vfmt->TexCoordP2ui);
|
||||
SET_TexCoordP2uiv(tab, vfmt->TexCoordP2uiv);
|
||||
SET_TexCoordP3ui(tab, vfmt->TexCoordP3ui);
|
||||
SET_TexCoordP3uiv(tab, vfmt->TexCoordP3uiv);
|
||||
SET_TexCoordP4ui(tab, vfmt->TexCoordP4ui);
|
||||
SET_TexCoordP4uiv(tab, vfmt->TexCoordP4uiv);
|
||||
SET_TexCoordP1ui(tab, vfmt->TexCoordP1ui);
|
||||
SET_TexCoordP1uiv(tab, vfmt->TexCoordP1uiv);
|
||||
SET_TexCoordP2ui(tab, vfmt->TexCoordP2ui);
|
||||
SET_TexCoordP2uiv(tab, vfmt->TexCoordP2uiv);
|
||||
SET_TexCoordP3ui(tab, vfmt->TexCoordP3ui);
|
||||
SET_TexCoordP3uiv(tab, vfmt->TexCoordP3uiv);
|
||||
SET_TexCoordP4ui(tab, vfmt->TexCoordP4ui);
|
||||
SET_TexCoordP4uiv(tab, vfmt->TexCoordP4uiv);
|
||||
|
||||
SET_MultiTexCoordP1ui(tab, vfmt->MultiTexCoordP1ui);
|
||||
SET_MultiTexCoordP2ui(tab, vfmt->MultiTexCoordP2ui);
|
||||
SET_MultiTexCoordP3ui(tab, vfmt->MultiTexCoordP3ui);
|
||||
SET_MultiTexCoordP4ui(tab, vfmt->MultiTexCoordP4ui);
|
||||
SET_MultiTexCoordP1uiv(tab, vfmt->MultiTexCoordP1uiv);
|
||||
SET_MultiTexCoordP2uiv(tab, vfmt->MultiTexCoordP2uiv);
|
||||
SET_MultiTexCoordP3uiv(tab, vfmt->MultiTexCoordP3uiv);
|
||||
SET_MultiTexCoordP4uiv(tab, vfmt->MultiTexCoordP4uiv);
|
||||
SET_MultiTexCoordP1ui(tab, vfmt->MultiTexCoordP1ui);
|
||||
SET_MultiTexCoordP2ui(tab, vfmt->MultiTexCoordP2ui);
|
||||
SET_MultiTexCoordP3ui(tab, vfmt->MultiTexCoordP3ui);
|
||||
SET_MultiTexCoordP4ui(tab, vfmt->MultiTexCoordP4ui);
|
||||
SET_MultiTexCoordP1uiv(tab, vfmt->MultiTexCoordP1uiv);
|
||||
SET_MultiTexCoordP2uiv(tab, vfmt->MultiTexCoordP2uiv);
|
||||
SET_MultiTexCoordP3uiv(tab, vfmt->MultiTexCoordP3uiv);
|
||||
SET_MultiTexCoordP4uiv(tab, vfmt->MultiTexCoordP4uiv);
|
||||
|
||||
SET_NormalP3ui(tab, vfmt->NormalP3ui);
|
||||
SET_NormalP3uiv(tab, vfmt->NormalP3uiv);
|
||||
SET_NormalP3ui(tab, vfmt->NormalP3ui);
|
||||
SET_NormalP3uiv(tab, vfmt->NormalP3uiv);
|
||||
|
||||
SET_ColorP3ui(tab, vfmt->ColorP3ui);
|
||||
SET_ColorP4ui(tab, vfmt->ColorP4ui);
|
||||
SET_ColorP3uiv(tab, vfmt->ColorP3uiv);
|
||||
SET_ColorP4uiv(tab, vfmt->ColorP4uiv);
|
||||
SET_ColorP3ui(tab, vfmt->ColorP3ui);
|
||||
SET_ColorP4ui(tab, vfmt->ColorP4ui);
|
||||
SET_ColorP3uiv(tab, vfmt->ColorP3uiv);
|
||||
SET_ColorP4uiv(tab, vfmt->ColorP4uiv);
|
||||
|
||||
SET_SecondaryColorP3ui(tab, vfmt->SecondaryColorP3ui);
|
||||
SET_SecondaryColorP3uiv(tab, vfmt->SecondaryColorP3uiv);
|
||||
SET_SecondaryColorP3ui(tab, vfmt->SecondaryColorP3ui);
|
||||
SET_SecondaryColorP3uiv(tab, vfmt->SecondaryColorP3uiv);
|
||||
}
|
||||
|
||||
SET_VertexAttribP1ui(tab, vfmt->VertexAttribP1ui);
|
||||
SET_VertexAttribP2ui(tab, vfmt->VertexAttribP2ui);
|
||||
@@ -209,8 +218,8 @@ install_vtxfmt( struct _glapi_table *tab, const GLvertexformat *vfmt )
|
||||
void
|
||||
_mesa_install_exec_vtxfmt(struct gl_context *ctx, const GLvertexformat *vfmt)
|
||||
{
|
||||
if (ctx->API == API_OPENGL)
|
||||
install_vtxfmt( ctx->Exec, vfmt );
|
||||
if (IS_CTX_DESKTOP_GL(ctx))
|
||||
install_vtxfmt( ctx, ctx->Exec, vfmt );
|
||||
}
|
||||
|
||||
|
||||
@@ -221,8 +230,8 @@ _mesa_install_exec_vtxfmt(struct gl_context *ctx, const GLvertexformat *vfmt)
|
||||
void
|
||||
_mesa_install_save_vtxfmt(struct gl_context *ctx, const GLvertexformat *vfmt)
|
||||
{
|
||||
if (ctx->API == API_OPENGL)
|
||||
install_vtxfmt( ctx->Save, vfmt );
|
||||
if (IS_CTX_DESKTOP_GL(ctx))
|
||||
install_vtxfmt( ctx, ctx->Save, vfmt );
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user