X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fmain%2Fcontext.h;h=c3be1063f86ff16c599e8e55726f41a13f34a740;hb=419ae5a48339795d369a41d66312246b2e19f201;hp=e7e0fda72ead811d259d178b2741ae337961dd78;hpb=6a3fdc3a1ea6c306d9543791bf172dd1052d7382;p=mesa.git diff --git a/src/mesa/main/context.h b/src/mesa/main/context.h index e7e0fda72ea..c3be1063f86 100644 --- a/src/mesa/main/context.h +++ b/src/mesa/main/context.h @@ -49,11 +49,13 @@ #define CONTEXT_H -#include "glapi.h" #include "imports.h" #include "mtypes.h" +struct _glapi_table; + + /** \name Visual-related functions */ /*@{*/ @@ -114,6 +116,9 @@ _mesa_initialize_context( GLcontext *ctx, const struct dd_function_table *driverFunctions, void *driverContext ); +extern void +_mesa_initialize_context_extra(GLcontext *ctx); + extern void _mesa_free_context_data( GLcontext *ctx ); @@ -126,6 +131,9 @@ _mesa_copy_context(const GLcontext *src, GLcontext *dst, GLuint mask); extern void +_mesa_check_init_viewport(GLcontext *ctx, GLuint width, GLuint height); + +extern GLboolean _mesa_make_current( GLcontext *ctx, GLframebuffer *drawBuffer, GLframebuffer *readBuffer ); @@ -138,58 +146,37 @@ _mesa_get_current_context(void); /*@}*/ -/** \name OpenGL SI-style export functions */ -/*@{*/ +extern void +_mesa_notifySwapBuffers(__GLcontext *gc); -extern GLboolean -_mesa_destroyContext(__GLcontext *gc); -extern GLboolean -_mesa_loseCurrent(__GLcontext *gc); +extern struct _glapi_table * +_mesa_get_dispatch(GLcontext *ctx); -extern GLboolean -_mesa_makeCurrent(__GLcontext *gc); -extern GLboolean -_mesa_shareContext(__GLcontext *gc, __GLcontext *gcShare); +void +_mesa_set_mvp_with_dp4( GLcontext *ctx, + GLboolean flag ); -extern GLboolean -_mesa_copyContext(__GLcontext *dst, const __GLcontext *src, GLuint mask); extern GLboolean -_mesa_forceCurrent(__GLcontext *gc); +_mesa_valid_to_render(GLcontext *ctx, const char *where); -extern GLboolean -_mesa_notifyResize(__GLcontext *gc); -extern void -_mesa_notifyDestroy(__GLcontext *gc); + +/** \name Miscellaneous */ +/*@{*/ extern void -_mesa_notifySwapBuffers(__GLcontext *gc); +_mesa_record_error( GLcontext *ctx, GLenum error ); -extern struct __GLdispatchStateRec * -_mesa_dispatchExec(__GLcontext *gc); extern void -_mesa_beginDispatchOverride(__GLcontext *gc); +_mesa_finish(GLcontext *ctx); extern void -_mesa_endDispatchOverride(__GLcontext *gc); - -/*@}*/ - - -extern struct _glapi_table * -_mesa_get_dispatch(GLcontext *ctx); - - +_mesa_flush(GLcontext *ctx); -/** \name Miscellaneous */ -/*@{*/ - -extern void -_mesa_record_error( GLcontext *ctx, GLenum error ); extern void GLAPIENTRY _mesa_Finish( void ); @@ -200,7 +187,6 @@ _mesa_Flush( void ); /*@}*/ - /** * \name Macros for flushing buffered rendering commands before state changes, * checking if inside glBegin/glEnd, etc. @@ -310,10 +296,12 @@ do { \ (((CTX)->Light.Enabled && \ (CTX)->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR) \ || (CTX)->Fog.ColorSumEnabled \ - || ((CTX)->VertexProgram._Enabled && \ - ((CTX)->VertexProgram.Current->Base.InputsRead & VERT_BIT_COLOR1)) \ - || ((CTX)->FragmentProgram._Enabled && \ - ((CTX)->FragmentProgram.Current->Base.InputsRead & FRAG_BIT_COL1)) \ + || ((CTX)->VertexProgram._Current && \ + ((CTX)->VertexProgram._Current != (CTX)->VertexProgram._TnlProgram) && \ + ((CTX)->VertexProgram._Current->Base.InputsRead & VERT_BIT_COLOR1)) \ + || ((CTX)->FragmentProgram._Current && \ + ((CTX)->FragmentProgram._Current != (CTX)->FragmentProgram._TexEnvProgram) && \ + ((CTX)->FragmentProgram._Current->Base.InputsRead & FRAG_BIT_COL1)) \ )