summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/context.c
Commit message (Collapse)AuthorAgeFilesLines
* Committing in .Jouk Jansen2001-10-181-2/+3
| | | | | | | | | | | | 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) ----------------------------------------------------------------------
* more warning fixes (Karl Schultz)Brian Paul2001-09-151-10/+10
|
* fixes for proxy cube map texture imagesBrian Paul2001-07-261-2/+8
|
* Added Win32 memory debugging and fixed a few memory leaks (Gerk Huisma)Brian Paul2001-07-191-1/+11
|
* added GL_IBM_rasterpos_clip extensionBrian Paul2001-06-261-1/+2
|
* Allow different max texture sizes for 1/2D, 3D and cube maps.Brian Paul2001-06-131-3/+6
|
* removed old, redundant CurrentTransformUnit state varBrian Paul2001-06-121-2/+1
|
* Sparc optimized GLAPI dispatch table.davem692001-06-051-1/+7
|
* Add USE_SPARC_ASM diagnostics to print_info.davem692001-06-051-1/+6
|
* infrastructure for GL_ARB_multisampleBrian Paul2001-05-291-1/+9
|
* initial support for GL_SGIS_generate_mipmap extensionBrian Paul2001-05-211-1/+2
|
* set MRD to 1.0, fixes new Glean polygon offset failureBrian Paul2001-05-071-2/+2
|
* minor clean-ups and warning fixesBrian Paul2001-05-031-14/+2
|
* Support for floating point color representation in tnl module.Keith Whitwell2001-04-281-2/+22
|
* added _mesa_free_framebuffer_data()Brian Paul2001-04-271-23/+43
|
* fixed a potential tex obj reference count problem involving multi-textureBrian Paul2001-04-251-17/+10
|
* Updated bug report info in _mesa_problem()Brian Paul2001-04-041-2/+6
|
* New mechanism for thread-safe GL API dispatch. C-based dispatch is faster.Brian Paul2001-03-281-2/+1
| | | | | | Folded glapinoop.c code into glapi.c. Added code to glapitemp.h to fill in dispatch tables. Updated Makefiles.
* - Minor cleanups of ctx->Driver.Current*Primitive usage.Gareth Hughes2001-03-241-15/+1
| | | | - Remove unused gl_reduce_prim array.
* - Port 3.4 texture utils, texture format work to 3.5 (including newGareth Hughes2001-03-181-1/+2
| | | | | FetchTexel routines). - Initial hooks for GL_EXT_texture_filter_anisotropic.
* Add missing header file.Gareth Hughes2001-03-121-1/+2
|
* Clean up install, restore for exec vtxfmts.Gareth Hughes2001-03-111-1/+2
|
* Support for swappable tnl modules.Gareth Hughes2001-03-111-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
* lots of gl_*() to _mesa_*() namespace clean-upBrian Paul2001-03-031-14/+13
|
* GLvisual inside GLframebuffer is no longer a pointer, copy the struct instead.Brian Paul2001-02-281-9/+22
| | | | | Added context/drawbuffer visual config sanity checking in _mesa_make_current2(). Added some 'const' keywords.
* Initialize Line._WidthKeith Whitwell2001-02-271-1/+2
|
* Disable most extensions by default. Drivers should enable them as needed.Brian Paul2001-02-261-5/+5
| | | | Renamed gl_*() functions as _mesa_*().
* Changed FetchTexel() function pointer arguments.Brian Paul2001-02-171-6/+6
| | | | | | | 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.
* Overhaul of texture image handling.Brian Paul2001-02-061-2/+1
| | | | | | | | | | 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.
* removed the unused/broken GL_PGI_misc_hints extensionBrian Paul2001-01-241-5/+1
|
* Lots of GLchan datatype changes.Brian Paul2001-01-241-2/+2
| | | | | | | | | 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
* Replaced struct gl_visual with struct __GLcontextModesRec from glcore.h.Brian Paul2001-01-231-49/+52
| | | | | Replace "RGBAMode" with "rgbMode", etc. Other minor clean-ups.
* Add a 'RenderPrimitive' callback to t_vb_render.c. Helps out driversKeith Whitwell2001-01-081-2/+3
| | | | | | | | | | 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.
* various compilation/warning fixesKeith Whitwell2001-01-051-2/+2
|
* Major rework of tnl moduleKeith Whitwell2000-12-261-19/+10
| | | | | | | 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.
* set visual->MRD to 2.0Brian Paul2000-12-161-2/+2
|
* initialize convolution filters to zeroBrian Paul2000-12-091-1/+6
|
* Initial work on GL_MESA_sprite_point extension.Brian Paul2000-12-081-1/+2
| | | | Still need to resolve clipping issues, finalize the spec.
* Added MaxClipPlanes and MaxLights to gl_constants struct so T&LBrian Paul2000-11-271-1/+3
| | | | drivers can report non-default numbers of lights and clip planes.
* Support for swappable t&l modules, including an example one in the FXKeith Whitwell2000-11-241-66/+4
| | | | driver (enable with FX_ALLOW_VTXFMT=t).
* Committing in .Jouk Jansen2000-11-221-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. ----------------------------------------------------------------------
* Replaced Texture.CurrentD[] with separate Texture.Current1/2/3D vars.Brian Paul2000-11-191-33/+56
| | | | | | | 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.
* Move the transform and lighting code to two new directoriesKeith Whitwell2000-11-161-149/+101
| | | | | | | | | | | | | | | 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.
* Replaced ctx->Point.Size with ctx->Point._SizeBrian Paul2000-11-151-3/+3
| | | | Replaced ctx->Point.UserSize with ctx->Point.Size
* Cleanup of derived state calculation prior to seperating software T&LKeith Whitwell2000-11-131-9/+4
| | | | | | | | | | | | 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.
* - Changes for new software rasterizer modulesKeith Whitwell2000-11-051-44/+28
| | | | | | | | | - 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 '_'.
* Moved the software rasterizer to a new directory.Keith Whitwell2000-10-311-12/+10
|
* Rearrange VERT_* flags to support 4 texture units.Keith Whitwell2000-10-301-4/+5
|
* Removed UPDATE_IMAGE_TRANSFER_STATE, use _NEW_PIXEL flag instead.Brian Paul2000-10-301-2/+2
| | | | | More minor GLchan changes. Silence some compiler warnings in cva.[ch]
* Replace the flags Mesa was using for ctx->NewState with a new setKeith Whitwell2000-10-301-5/+6
| | | | | | | | | | | | | | based on the GL attribute groups. Introduced constants describing the circumstances under which some key derived values can change: _SWRAST_NEW_RASTERMASK -- ctx->RasterMask _SWRAST_NEW_TRIANGLE -- The software rasterizer's triangle function _DD_NEW_FEEDBACK -- the 'DD_FEEDBACK' bit in ctx->TriangleCaps These are helpful in deciding whether you need to recalculate state if your recalculation involves reference to a derived value.