summaryrefslogtreecommitdiff
path: root/src/mesa/main/context.c
AgeCommit message (Collapse)Author
2001-12-18Replace old matrix stacks with new code based on struct matrix_stack.Brian Paul
Moved vertex program hash table into shared context state. Implemented reference counting for vertex programs. Replaced tnl "ProjectedClip" with "Ndc" (normalized device coordinates).
2001-12-17disable prototype matrix stack codeBrian Paul
2001-12-14vertex program check-inBrian Paul
2001-11-06added missing GL_MAX_TEXTURE_LOD_BIAS_EXT queryBrian Paul
2001-10-18 Committing in .Jouk Jansen
Modified Files: Mesa/src/context.c Initializing ctx->Driver.CurrentExecPrimitive to 0, just after the allocation of the context. I hope this solved a very rare crash of the molecule mode of xlockmore on my VMS-machine. (I have not seen any crash the last week. Normally it crashed at least once in the 3 days) ----------------------------------------------------------------------
2001-09-15more warning fixes (Karl Schultz)Brian Paul
2001-07-26fixes for proxy cube map texture imagesBrian Paul
2001-07-19Added Win32 memory debugging and fixed a few memory leaks (Gerk Huisma)Brian Paul
2001-06-26added GL_IBM_rasterpos_clip extensionBrian Paul
2001-06-13Allow different max texture sizes for 1/2D, 3D and cube maps.Brian Paul
2001-06-12removed old, redundant CurrentTransformUnit state varBrian Paul
2001-06-05Sparc optimized GLAPI dispatch table.davem69
2001-06-05Add USE_SPARC_ASM diagnostics to print_info.davem69
2001-05-29infrastructure for GL_ARB_multisampleBrian Paul
2001-05-21initial support for GL_SGIS_generate_mipmap extensionBrian Paul
2001-05-07set MRD to 1.0, fixes new Glean polygon offset failureBrian Paul
2001-05-03minor clean-ups and warning fixesBrian Paul
2001-04-28Support for floating point color representation in tnl module.Keith Whitwell
2001-04-27added _mesa_free_framebuffer_data()Brian Paul
2001-04-25fixed a potential tex obj reference count problem involving multi-textureBrian Paul
2001-04-04Updated bug report info in _mesa_problem()Brian Paul
2001-03-28New mechanism for thread-safe GL API dispatch. C-based dispatch is faster.Brian Paul
Folded glapinoop.c code into glapi.c. Added code to glapitemp.h to fill in dispatch tables. Updated Makefiles.
2001-03-24- Minor cleanups of ctx->Driver.Current*Primitive usage.Gareth Hughes
- Remove unused gl_reduce_prim array.
2001-03-18- Port 3.4 texture utils, texture format work to 3.5 (including newGareth Hughes
FetchTexel routines). - Initial hooks for GL_EXT_texture_filter_anisotropic.
2001-03-12Add missing header file.Gareth Hughes
2001-03-11Clean up install, restore for exec vtxfmts.Gareth Hughes
2001-03-11Support for swappable tnl modules.Gareth Hughes
Core Mesa provides a neutral tnl module that verifies the currently module before installing the tnl function pointers in a lazy fashion. It also records which tnl functions have been swapped out, and only restores these when tnl modules themselves are swapped. Fallback strategies: Drivers set a bitmask of dangerous stage changes. When such a state change occurs, the driver should restore the neutral tnl module via _mesa_restore_exec_vtxfmt(). The neutral tnl module will call _mesa_update_state(), followed by ctx->Driver.ValidateTnlModule() if the validation bitmask matches the new state bitmask. The driver should call _tnl_wakeup_exec() if it can no longer handle the current state, which will revert to the default tnl module. In this case, previous vertices should be replayed as required (depending on the current primitive) after the new tnl module is installed. If the driver uses chooser functions for any part of the tnl module, these should generally be reinstalled as part of the fallback to the neutral tnl module. For example, if the lighting state changes, a driver might fall back to the neutral tnl module, verify that the current lighting state can be handled, and use the chooser function to pick the most efficient implementation of the current lighting state. It is up to the drivers to detect and handle fallback cases caused by tnl function calls themselves (such as glTexCoord4f* if the current tnl module can't handle projected textures, for example).
2001-03-03lots of gl_*() to _mesa_*() namespace clean-upBrian Paul
2001-02-28GLvisual inside GLframebuffer is no longer a pointer, copy the struct instead.Brian Paul
Added context/drawbuffer visual config sanity checking in _mesa_make_current2(). Added some 'const' keywords.
2001-02-27Initialize Line._WidthKeith Whitwell
2001-02-26Disable most extensions by default. Drivers should enable them as needed.Brian Paul
Renamed gl_*() functions as _mesa_*().
2001-02-17Changed FetchTexel() function pointer arguments.Brian Paul
Implemented glGetTexImage(format=GL_COLOR_INDEX). Changed _mesa_unpack_depth_span() args. Minor changes/clean-ups in mtypes.h. Histogram counter component sizes were wrong.
2001-02-06Overhaul of texture image handling.Brian Paul
1. gl_texture_image struct's Data pointer points to images in driver's format. 2. Added FetchTexel() function pointer to struct gl_texture_image. 3. Changed Driver Tex[Sub]Image functions, return void now. 4. Texture storage/fetch code in new texstore.c file. 5. Removed texture.[ch] - functions moved to state.c Note: FX driver updates not finished yet.
2001-01-24removed the unused/broken GL_PGI_misc_hints extensionBrian Paul
2001-01-24Lots of GLchan datatype changes.Brian Paul
Added GLvector4us datatype in math/m_vector.[ch] Added _math_trans_4us() in math/m_translate.[ch] Choose GLvector4ub, GLvector4us, GLvector4f at compile time based on CHAN_BITS. Made Driver.ClearColor() and Driver.ClearIndex() optional driver functions. Changed args to Driver.ClearColor(), updated drivers. Reordered files in Makefile.X11
2001-01-23Replaced struct gl_visual with struct __GLcontextModesRec from glcore.h.Brian Paul
Replace "RGBAMode" with "rgbMode", etc. Other minor clean-ups.
2001-01-08Add a 'RenderPrimitive' callback to t_vb_render.c. Helps out driversKeith Whitwell
that used to require a 'ReducedPrimitiveChange' callback. Various compilation fixes for XFree86. Reverted to the older version of glcore.h used internally in XFree86, and moved it to 'Mesa/include/GL/internal/glcore.h', for compatibility with XFree86.
2001-01-05various compilation/warning fixesKeith Whitwell
2000-12-26Major rework of tnl moduleKeith Whitwell
New array_cache module Support 8 texture units in core mesa (now support 8 everywhere) Rework core mesa statechange operations to avoid flushing on many noop statechanges.
2000-12-16set visual->MRD to 2.0Brian Paul
2000-12-09initialize convolution filters to zeroBrian Paul
2000-12-08Initial work on GL_MESA_sprite_point extension.Brian Paul
Still need to resolve clipping issues, finalize the spec.
2000-11-27Added MaxClipPlanes and MaxLights to gl_constants struct so T&LBrian Paul
drivers can report non-default numbers of lights and clip planes.
2000-11-24Support for swappable t&l modules, including an example one in the FXKeith Whitwell
driver (enable with FX_ALLOW_VTXFMT=t).
2000-11-22 Committing in .Jouk Jansen
Modified Files: Mesa/macos/gli_api/gliapi1.h Mesa/macos/gli_api/gliapi2.h Mesa/macos/gli_api/gliapiext.h Mesa/macos/src-gli/fxgli.c Mesa/macos/src-gli/fxgli.h Mesa/macos/src-gli/fxgli2.c Mesa/macos/src-gli/fxgli_tridebug.c Mesa/src/accum.c Mesa/src/accum.h Mesa/src/all.h Mesa/src/alpha.c Mesa/src/alpha.h Mesa/src/attrib.c Mesa/src/attrib.h Mesa/src/bitmap.c Mesa/src/bitmap.h Mesa/src/blend.c Mesa/src/blend.h Mesa/src/buffers.c Mesa/src/buffers.h Mesa/src/clip.c Mesa/src/clip.h Mesa/src/colortab.h Mesa/src/config.c Mesa/src/context.c Mesa/src/context.h Mesa/src/convolve.c Mesa/src/convolve.h Mesa/src/copypix.c Mesa/src/copypix.h Mesa/src/debug.c Mesa/src/depth.c Mesa/src/depth.h Mesa/src/dlist.c Mesa/src/dlist.h Mesa/src/drawpix.c Mesa/src/drawpix.h Mesa/src/enable.c Mesa/src/enable.h Mesa/src/eval.c Mesa/src/eval.h Mesa/src/extensions.c Mesa/src/extensions.h Mesa/src/feedback.c Mesa/src/feedback.h Mesa/src/fog.c Mesa/src/fog.h Mesa/src/get.c Mesa/src/get.h Mesa/src/glapi.c Mesa/src/glthread.h Mesa/src/highpc.c Mesa/src/hint.h Mesa/src/histogram.h Mesa/src/image.c Mesa/src/image.h Mesa/src/imports.c Mesa/src/light.c Mesa/src/light.h Mesa/src/lines.c Mesa/src/lines.h Mesa/src/logic.c Mesa/src/logic.h Mesa/src/masking.c Mesa/src/masking.h Mesa/src/matrix.c Mesa/src/matrix.h Mesa/src/pixel.c Mesa/src/pixel.h Mesa/src/points.c Mesa/src/points.h Mesa/src/polygon.c Mesa/src/polygon.h Mesa/src/rastpos.c Mesa/src/readpix.c Mesa/src/scissor.c Mesa/src/scissor.h Mesa/src/state.c Mesa/src/state.h Mesa/src/stencil.c Mesa/src/stencil.h Mesa/src/teximage.c Mesa/src/teximage.h Mesa/src/texobj.c Mesa/src/texobj.h Mesa/src/texstate.c Mesa/src/texstate.h Mesa/src/texture.c Mesa/src/texture.h Mesa/src/texutil.c Mesa/src/texutil.h Mesa/src/varray.c Mesa/src/varray.h Mesa/src/X/fakeglx.c Mesa/src/X/xm_api.c Mesa/src/X/xm_dd.c Mesa/src/X/xm_line.c Mesa/src/X/xm_span.c Mesa/src/X/xm_tri.c Mesa/src/swrast/s_aaline.c Mesa/src/swrast/s_aaline.h Mesa/src/swrast/s_aatriangle.h Mesa/src/swrast/s_accum.h Mesa/src/swrast/s_alpha.h Mesa/src/swrast/s_alphabuf.h Mesa/src/swrast/s_blend.h Mesa/src/swrast/s_context.c Mesa/src/swrast/s_context.h Mesa/src/swrast/s_depth.h Mesa/src/swrast/s_drawpix.h Mesa/src/swrast/s_feedback.h Mesa/src/swrast/s_fog.h Mesa/src/swrast/s_histogram.h Mesa/src/swrast/s_lines.h Mesa/src/swrast/s_logic.h Mesa/src/swrast/s_masking.h Mesa/src/swrast/s_pb.h Mesa/src/swrast/s_pixeltex.h Mesa/src/swrast/s_points.h Mesa/src/swrast/s_quads.c Mesa/src/swrast/s_quads.h Mesa/src/swrast/s_scissor.h Mesa/src/swrast/s_span.h Mesa/src/swrast/s_stencil.h Mesa/src/swrast/s_texture.h Mesa/src/swrast/s_triangle.h Mesa/src/swrast/s_zoom.h Mesa/src/swrast/swrast.h Mesa/src/swrast_setup/ss_context.h Mesa/src/swrast_setup/ss_triangle.c Mesa/src/swrast_setup/ss_triangle.h Mesa/src/swrast_setup/ss_vb.h Mesa/src/tnl/t_clip.c Mesa/src/tnl/t_clip.h Mesa/src/tnl/t_context.c Mesa/src/tnl/t_context.h Mesa/src/tnl/t_cva.c Mesa/src/tnl/t_cva.h Mesa/src/tnl/t_debug.c Mesa/src/tnl/t_debug.h Mesa/src/tnl/t_dlist.h Mesa/src/tnl/t_eval.c Mesa/src/tnl/t_eval.h Mesa/src/tnl/t_fog.c Mesa/src/tnl/t_fog.h Mesa/src/tnl/t_light.c Mesa/src/tnl/t_light.h Mesa/src/tnl/t_pipeline.c Mesa/src/tnl/t_pipeline.h Mesa/src/tnl/t_shade.c Mesa/src/tnl/t_shade.h Mesa/src/tnl/t_stages.c Mesa/src/tnl/t_stages.h Mesa/src/tnl/t_texture.c Mesa/src/tnl/t_texture.h Mesa/src/tnl/t_trans_elt.c Mesa/src/tnl/t_trans_elt.h Mesa/src/tnl/t_varray.c Mesa/src/tnl/t_varray.h Mesa/src/tnl/t_vb.c Mesa/src/tnl/t_vb.h Mesa/src/tnl/t_vbcull.c Mesa/src/tnl/t_vbcull.h Mesa/src/tnl/t_vbfill.c Mesa/src/tnl/t_vbfill.h Mesa/src/tnl/t_vbindirect.c Mesa/src/tnl/t_vbindirect.h Mesa/src/tnl/t_vbrender.c Mesa/src/tnl/t_vbrender.h Mesa/src/tnl/t_vbxform.c Mesa/src/tnl/t_vbxform.h Mesa/src/tnl/tnl.h Added Files: Mesa/src/mtypes.h Removed Files: Mesa/src/types.h Changed Mesa/src/types to Mesa/src/mtypes.h to avoid conflicts while compiling on a VMS system. ----------------------------------------------------------------------
2000-11-19Replaced Texture.CurrentD[] with separate Texture.Current1/2/3D vars.Brian Paul
Completely removed the dirty texture object list. Set texObj->Complete to GL_FALSE to indicate dirty. Made point/line/triangle/quad SWvertex parameters const. Minor code clean-ups.
2000-11-16Move the transform and lighting code to two new directoriesKeith Whitwell
math: Provides basic matrix and vector functionality that might be useful to multiple software t&l implementations, and is used by core mesa to manage the Model, Project, etc matrices. tnl: The real transform & lighting code from core mesa, including everything from glVertex3f through vertex buffer handling, transformation, clipping, lighting and handoff to a driver for rasterization. The interfaces of these can be further tightened up, but the basic splitting up of state and code move is done.
2000-11-15Replaced ctx->Point.Size with ctx->Point._SizeBrian Paul
Replaced ctx->Point.UserSize with ctx->Point.Size
2000-11-13Cleanup of derived state calculation prior to seperating software T&LKeith Whitwell
into a new directory. Specifically the handling of changes to lighting lighting space (light in model vs. light in eye) have been revamped. Moved several derived values used only by swrast into that directory. Removed direct calls to swrast_flush() from vbrender.c -- pushed into ctx->Driver.RenderFinish. Optimized flat-shading case in swrast_setup.
2000-11-05- Changes for new software rasterizer modulesKeith Whitwell
- Remove support for choosing software fallbacks from core code - Remove partial fallback code from vbrender.c -- drivers are now expected to be able to find a triangle/quad function for every state, even if they have to use _swsetup_Triangle or _swsetup_Quad. - Marked derived variables in the GLcontext struct with a leading underscore '_'.