ReactOS  0.4.12-dev-75-g00dd17e
gl_context Struct Reference

#include <mtypes.h>

Collaboration diagram for gl_context:

Public Attributes

struct gl_shared_stateShared
 
struct gl_config Visual
 
struct gl_framebufferDrawBuffer
 
struct gl_framebufferReadBuffer
 
struct gl_framebufferWinSysDrawBuffer
 
struct gl_framebufferWinSysReadBuffer
 
struct dd_function_table Driver
 
voidDriverCtx
 
struct gl_constants Const
 
GLmatrix _ModelProjectMatrix
 
struct gl_meta_stateMeta
 
struct gl_renderbufferCurrentRenderbuffer
 
GLenum ErrorValue
 
const charErrorDebugFmtString
 
GLuint ErrorDebugCount
 
GLenum RenderMode
 
GLbitfield NewState
 
GLboolean ViewportInitialized
 
struct gl_list_extensionsListExt
 
GLboolean TextureFormatSupported [MESA_FORMAT_COUNT]
 
GLboolean mvp_with_dp4
 
GLboolean RasterDiscard
 
API function pointer tables
struct _glapi_table * Save
 
struct _glapi_table * Exec
 
struct _glapi_table * CurrentDispatch
 
The various 4x4 matrix stacks
struct gl_matrix_stack ModelviewMatrixStack
 
struct gl_matrix_stack ProjectionMatrixStack
 
struct gl_matrix_stack TextureMatrixStack
 
struct gl_matrix_stackCurrentStack
 
Display lists
struct gl_dlist_state ListState
 
GLboolean ExecuteFlag
 
GLboolean CompileFlag
 
struct gl_extensions Extensions
 
GLuint VersionMajor
 
GLuint VersionMinor
 
charVersionString
 
State attribute stack (for glPush/PopAttrib)
GLuint AttribStackDepth
 
struct gl_attrib_nodeAttribStack [MAX_ATTRIB_STACK_DEPTH]
 
Renderer attribute groups

We define a struct for each attribute group to make pushing and popping attributes easy. Also it's a good organization.

struct gl_accum_attrib Accum
 
struct gl_colorbuffer_attrib Color
 
struct gl_current_attrib Current
 
struct gl_depthbuffer_attrib Depth
 
struct gl_eval_attrib Eval
 
struct gl_fog_attrib Fog
 
struct gl_hint_attrib Hint
 
struct gl_light_attrib Light
 
struct gl_line_attrib Line
 
struct gl_list_attrib List
 
struct gl_multisample_attrib Multisample
 
struct gl_pixel_attrib Pixel
 
struct gl_point_attrib Point
 
struct gl_polygon_attrib Polygon
 
GLuint PolygonStipple [32]
 
struct gl_scissor_attrib Scissor
 
struct gl_stencil_attrib Stencil
 
struct gl_texture_attrib Texture
 
struct gl_transform_attrib Transform
 
struct gl_viewport_attrib Viewport
 
Client attribute stack
GLuint ClientAttribStackDepth
 
struct gl_attrib_nodeClientAttribStack [MAX_CLIENT_ATTRIB_STACK_DEPTH]
 
Client attribute groups
struct gl_array_attrib Array
 
struct gl_pixelstore_attrib Pack
 
struct gl_pixelstore_attrib Unpack
 
struct gl_pixelstore_attrib DefaultPacking
 
Other assorted state (not pushed/popped on attribute stack)
struct gl_pixelmaps PixelMaps
 
struct gl_evaluators EvalMap
 
struct gl_feedback Feedback
 
struct gl_selection Select
 
Derived state
GLbitfield _TriangleCaps
 
GLbitfield _ImageTransferState
 
GLfloat _EyeZDir [3]
 
GLfloat _ModelViewInvScale
 
GLboolean _NeedEyeCoords
 
GLboolean _ForceEyeCoords
 
GLuint TextureStateTimestamp
 
struct gl_shine_tab_ShineTable [2]
 
struct gl_shine_tab_ShineTabList
 
For debugging/development only
GLboolean FirstTimeCurrent
 
Hooks for module contexts.

These will eventually live in the driver or elsewhere.

voidswrast_context
 
voidswsetup_context
 
voidswtnl_context
 
voidswtnl_im
 
struct st_context * st
 
voidaelt_context
 

Detailed Description

Mesa rendering context.

This is the central context data structure for Mesa. Almost all OpenGL state is contained in this structure. Think of this as a base class from which device drivers will derive sub classes.

The struct gl_context typedef names this structure.

Definition at line 1752 of file mtypes.h.

Member Data Documentation

◆ _EyeZDir

GLfloat gl_context::_EyeZDir[3]

Definition at line 1886 of file mtypes.h.

Referenced by compute_light_positions(), light_rgba(), light_rgba_spec(), and shade_rastpos().

◆ _ForceEyeCoords

GLboolean gl_context::_ForceEyeCoords

◆ _ImageTransferState

GLbitfield gl_context::_ImageTransferState

◆ _ModelProjectMatrix

GLmatrix gl_context::_ModelProjectMatrix

Combined modelview and projection matrix

Definition at line 1789 of file mtypes.h.

Referenced by _mesa_free_matrix_data(), _mesa_init_matrix(), calculate_model_project_matrix(), and run_vertex_stage().

◆ _ModelViewInvScale

GLfloat gl_context::_ModelViewInvScale

◆ _NeedEyeCoords

◆ _ShineTable

◆ _ShineTabList

struct gl_shine_tab* gl_context::_ShineTabList

MRU list of inactive shine tables

Definition at line 1894 of file mtypes.h.

Referenced by _mesa_free_lighting_data(), _mesa_init_lighting(), and validate_shine_table().

◆ _TriangleCaps

GLbitfield gl_context::_TriangleCaps

Bitwise-or of DD_* flags. Note that this bitfield may be used before state validation so they need to always be current.

Definition at line 1884 of file mtypes.h.

Referenced by _mesa_set_enable(), choose_copy_pv_func(), choose_interp_func(), and update_polygon().

◆ Accum

struct gl_accum_attrib gl_context::Accum

Accum buffer attributes

Definition at line 1816 of file mtypes.h.

Referenced by _mesa_destroy_context(), and _mesa_init_accum().

◆ aelt_context

void* gl_context::aelt_context

◆ Array

◆ AttribStack

struct gl_attrib_node* gl_context::AttribStack[MAX_ATTRIB_STACK_DEPTH]

Definition at line 1807 of file mtypes.h.

Referenced by _mesa_free_attrib_data().

◆ AttribStackDepth

GLuint gl_context::AttribStackDepth

Definition at line 1806 of file mtypes.h.

Referenced by _mesa_free_attrib_data(), and _mesa_init_attrib().

◆ ClientAttribStack

struct gl_attrib_node* gl_context::ClientAttribStack[MAX_CLIENT_ATTRIB_STACK_DEPTH]

Definition at line 1841 of file mtypes.h.

◆ ClientAttribStackDepth

GLuint gl_context::ClientAttribStackDepth

Definition at line 1840 of file mtypes.h.

Referenced by _mesa_init_attrib().

◆ Color

◆ CompileFlag

GLboolean gl_context::CompileFlag

Compile GL commands into display list?

Definition at line 1795 of file mtypes.h.

Referenced by _mesa_init_display_list(), and find_custom_value().

◆ Const

◆ Current

◆ CurrentDispatch

struct _glapi_table* gl_context::CurrentDispatch

== Save or Exec !!

Definition at line 1761 of file mtypes.h.

Referenced by _mesa_get_dispatch(), and _mesa_initialize_context().

◆ CurrentRenderbuffer

struct gl_renderbuffer* gl_context::CurrentRenderbuffer

Definition at line 1864 of file mtypes.h.

◆ CurrentStack

struct gl_matrix_stack* gl_context::CurrentStack

Points to one of the above stacks

Definition at line 1785 of file mtypes.h.

Referenced by _mesa_init_matrix(), and find_custom_value().

◆ DefaultPacking

struct gl_pixelstore_attrib gl_context::DefaultPacking

Default params

Definition at line 1849 of file mtypes.h.

Referenced by _mesa_get_fallback_texture(), _mesa_init_pixelstore(), and _mesa_meta_begin().

◆ Depth

◆ DrawBuffer

◆ Driver

struct dd_function_table gl_context::Driver

Device driver function pointer table

Definition at line 1773 of file mtypes.h.

Referenced by _mesa_alloc_shared_state(), _mesa_choose_texture_format(), _mesa_clear_texture_image(), _mesa_delete_texture_image(), _mesa_delete_texture_object(), _mesa_finish(), _mesa_flush(), _mesa_free_texture_data(), _mesa_get_fallback_texture(), _mesa_get_proxy_tex_image(), _mesa_get_tex_image(), _mesa_initialize_context(), _mesa_light(), _mesa_max_buffer_index(), _mesa_notifySwapBuffers(), _mesa_PolygonMode(), _mesa_record_error(), _mesa_reference_buffer_object_(), _mesa_resizebuffers(), _mesa_set_enable(), _mesa_set_scissor(), _mesa_set_viewport(), _mesa_store_teximage1d(), _mesa_store_teximage2d(), _mesa_update_state_locked(), _mesa_update_tnl_spaces(), _swrast_clear_depth_buffer(), _swrast_clear_stencil_buffer(), _swrast_CopyPixels(), alloc_proxy_textures(), bind_buffer_object(), bind_indices(), bind_inputs(), clear_rgba_buffer(), client_state(), copy_tex_sub_image(), copyteximage(), copytexsubimage(), copytexture_error_check(), delete_bufferobj_cb(), delete_texture_cb(), fast_draw_generic_pixels(), fast_draw_rgb_ubyte_pixels(), fast_draw_rgba_ubyte_pixels(), fast_read_depth_pixels(), fast_read_rgba_pixels_memcpy(), free_shared_state(), get_tex_depth(), get_tex_memcpy(), get_tex_rgba_uncompressed(), get_tex_ycbcr(), initialize_framebuffer_size(), map_attachment(), map_readbuffer(), print_draw_arrays(), read_depth_pixels(), read_stencil_pixels(), replay_finish(), replay_init(), setup_texstorage(), slow_read_rgba_pixels(), store_texsubimage(), swrast_fast_copy_pixels(), teximage(), texsubimage(), texture_error_check(), unmap_attachment(), unmap_vbos(), vbo_exec_BeginVertices(), vbo_exec_DrawArrays(), vbo_exec_fixup_vertex(), vbo_exec_FlushVertices(), vbo_exec_init(), vbo_exec_vtx_destroy(), vbo_exec_wrap_upgrade_vertex(), vbo_get_minmax_index(), and vbo_use_buffer_objects().

◆ DriverCtx

void* gl_context::DriverCtx

Points to device driver context/state

Definition at line 1775 of file mtypes.h.

Referenced by _mesa_initialize_context().

◆ ErrorDebugCount

GLuint gl_context::ErrorDebugCount

Definition at line 1872 of file mtypes.h.

Referenced by _mesa_error(), and flush_delayed_errors().

◆ ErrorDebugFmtString

const char* gl_context::ErrorDebugFmtString

Recognize and silence repeated error debug messages in buggy apps.

Definition at line 1871 of file mtypes.h.

Referenced by _mesa_error().

◆ ErrorValue

GLenum gl_context::ErrorValue

Last error code

Definition at line 1866 of file mtypes.h.

Referenced by _mesa_error(), _mesa_record_error(), flush_delayed_errors(), and init_attrib_groups().

◆ Eval

struct gl_eval_attrib gl_context::Eval

Eval attributes

Definition at line 1820 of file mtypes.h.

Referenced by _mesa_destroy_context(), _mesa_init_eval(), _mesa_set_enable(), find_custom_value(), and vbo_exec_eval_update().

◆ EvalMap

struct gl_evaluators gl_context::EvalMap

All evaluators

Definition at line 1856 of file mtypes.h.

Referenced by _mesa_free_eval_data(), _mesa_init_eval(), and vbo_exec_eval_update().

◆ Exec

struct _glapi_table* gl_context::Exec

Execute functions

Definition at line 1760 of file mtypes.h.

Referenced by _mesa_free_context_data(), _mesa_initialize_context(), and _mesa_install_exec_vtxfmt().

◆ ExecuteFlag

GLboolean gl_context::ExecuteFlag

Execute GL commands?

Definition at line 1794 of file mtypes.h.

Referenced by _mesa_init_display_list(), and find_custom_value().

◆ Extensions

◆ Feedback

struct gl_feedback gl_context::Feedback

Feedback

Definition at line 1857 of file mtypes.h.

Referenced by _mesa_init_feedback(), and _mesa_meta_begin().

◆ FirstTimeCurrent

GLboolean gl_context::FirstTimeCurrent

Definition at line 1901 of file mtypes.h.

Referenced by _mesa_initialize_context().

◆ Fog

◆ Hint

◆ Light

◆ Line

◆ List

struct gl_list_attrib gl_context::List

List attributes

Definition at line 1825 of file mtypes.h.

Referenced by _mesa_destroy_context(), and _mesa_init_display_list().

◆ ListExt

struct gl_list_extensions* gl_context::ListExt

driver dlist extensions

Definition at line 1897 of file mtypes.h.

Referenced by _mesa_free_display_list_data(), and _mesa_init_display_list().

◆ ListState

struct gl_dlist_state gl_context::ListState

Definition at line 1792 of file mtypes.h.

Referenced by _mesa_init_display_list(), _mesa_initialize_context(), and find_custom_value().

◆ Meta

struct gl_meta_state* gl_context::Meta

for "meta" operations

Definition at line 1861 of file mtypes.h.

Referenced by _mesa_meta_begin(), _mesa_meta_end(), _mesa_meta_free(), _mesa_meta_in_progress(), and _mesa_meta_init().

◆ ModelviewMatrixStack

◆ Multisample

struct gl_multisample_attrib gl_context::Multisample

Definition at line 1826 of file mtypes.h.

Referenced by _mesa_init_multisample(), _mesa_set_enable(), and smooth_point().

◆ mvp_with_dp4

GLboolean gl_context::mvp_with_dp4

Use dp4 (rather than mul/mad) instructions for position transformation?

Definition at line 1910 of file mtypes.h.

Referenced by _mesa_set_mvp_with_dp4().

◆ NewState

◆ Pack

◆ Pixel

◆ PixelMaps

◆ Point

◆ Polygon

◆ PolygonStipple

GLuint gl_context::PolygonStipple[32]

Polygon stipple

Definition at line 1830 of file mtypes.h.

Referenced by _mesa_destroy_context(), _mesa_init_polygon(), _mesa_PolygonMode(), and stipple_polygon_span().

◆ ProjectionMatrixStack

◆ RasterDiscard

GLboolean gl_context::RasterDiscard

GL_RASTERIZER_DISCARD

Definition at line 1912 of file mtypes.h.

Referenced by _mesa_meta_begin().

◆ ReadBuffer

◆ RenderMode

◆ Save

struct _glapi_table* gl_context::Save

Display list save functions

Definition at line 1759 of file mtypes.h.

Referenced by _mesa_free_context_data(), _mesa_initialize_context(), and _mesa_install_save_vtxfmt().

◆ Scissor

◆ Select

struct gl_selection gl_context::Select

Selection

Definition at line 1858 of file mtypes.h.

Referenced by _mesa_init_feedback(), and _mesa_meta_begin().

◆ Shared

◆ st

struct st_context* gl_context::st

Definition at line 1924 of file mtypes.h.

◆ Stencil

◆ swrast_context

void* gl_context::swrast_context

◆ swsetup_context

void* gl_context::swsetup_context

Definition at line 1921 of file mtypes.h.

Referenced by _swsetup_CreateContext(), and _swsetup_DestroyContext().

◆ swtnl_context

void* gl_context::swtnl_context

Definition at line 1922 of file mtypes.h.

Referenced by _tnl_CreateContext(), and _tnl_DestroyContext().

◆ swtnl_im

void* gl_context::swtnl_im

Definition at line 1923 of file mtypes.h.

Referenced by _vbo_CreateContext(), _vbo_DestroyContext(), and vbo_context().

◆ Texture

◆ TextureFormatSupported

GLboolean gl_context::TextureFormatSupported[MESA_FORMAT_COUNT]

Definition at line 1904 of file mtypes.h.

Referenced by _mesa_initialize_context().

◆ TextureMatrixStack

◆ TextureStateTimestamp

GLuint gl_context::TextureStateTimestamp

detect changes to shared state

Definition at line 1891 of file mtypes.h.

Referenced by _mesa_lock_context_textures(), and _mesa_unlock_context_textures().

◆ Transform

◆ Unpack

◆ VersionMajor

◆ VersionMinor

GLuint gl_context::VersionMinor

Definition at line 1801 of file mtypes.h.

Referenced by check_extra(), and compute_version().

◆ VersionString

char* gl_context::VersionString

Definition at line 1802 of file mtypes.h.

Referenced by _mesa_free_context_data(), and compute_version().

◆ Viewport

◆ ViewportInitialized

GLboolean gl_context::ViewportInitialized

has viewport size been initialized?

Definition at line 1877 of file mtypes.h.

Referenced by _mesa_check_init_viewport().

◆ Visual

struct gl_config gl_context::Visual

◆ WinSysDrawBuffer

struct gl_framebuffer* gl_context::WinSysDrawBuffer

set with MakeCurrent

Definition at line 1767 of file mtypes.h.

Referenced by _mesa_free_context_data(), _mesa_initialize_context(), _mesa_make_current(), and _mesa_resizebuffers().

◆ WinSysReadBuffer

struct gl_framebuffer* gl_context::WinSysReadBuffer

set with MakeCurrent

Definition at line 1768 of file mtypes.h.

Referenced by _mesa_free_context_data(), _mesa_initialize_context(), _mesa_make_current(), and _mesa_resizebuffers().


The documentation for this struct was generated from the following file: