gallium: Add context profile support to st_api.
authorChia-I Wu <olv@lunarg.com>
Fri, 10 Sep 2010 02:31:06 +0000 (10:31 +0800)
committerChia-I Wu <olv@lunarg.com>
Fri, 10 Sep 2010 07:37:43 +0000 (15:37 +0800)
commit4531356817ec8383ac35932903773de67af92e37
treebb9c6262af2ca8261db6b0d325622d122ef04c70
parentfcae8ca57512f84c51b7445456aab7ec92a21254
gallium: Add context profile support to st_api.

Add struct st_context_attribs to describe context profiles and
attributes.  Modify st_api::create_context to take the new struct
instead of an st_visual.

st_context_attribs can be used to support GLX_ARB_create_context_profile
and GLX_EXT_create_context_es2_profile in the future.  But the
motivation for doing it now is to be able to replace ST_API_OPENGL_ES1
and ST_API_OPENGL_ES2 by profiles.

Having 3 st_api's to provide OpenGL, OpenGL ES 1.1, and OpenGL ES 2.0 is
not a sane abstraction, since all of them share glapi for current
context/dispatch management.
src/gallium/include/state_tracker/st_api.h
src/gallium/state_trackers/dri/common/dri_context.c
src/gallium/state_trackers/egl/common/egl_g3d_api.c
src/gallium/state_trackers/glx/xlib/xm_api.c
src/gallium/state_trackers/vega/vg_manager.c
src/gallium/state_trackers/wgl/stw_context.c
src/mesa/main/version.c
src/mesa/state_tracker/st_manager.c