summaryrefslogtreecommitdiff
path: root/src/mesa/drivers
AgeCommit message (Collapse)Author
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-08fixed RBGA ifdef typoBrian Paul
2001-03-08do fog interpolation if INTERP_FOG is defined, not when INTERP_Z is definedBrian Paul
2001-03-08More g++ warning fixes. Fixes for CHAN_BITS==16, it seems to work.Brian Paul
2001-03-07added an assertion in the init code, just to be safeBrian Paul
2001-03-07Misc build fixesJon Taylor
2001-03-07fixed a bunch of g++ warnings/errors. Compiling with g++ can help find lots ↵Brian Paul
of potential problems
2001-03-05fixed segfaults when tex unit 1 enabled, but not unit 0 (conform)Brian Paul
2001-03-05DO_POINT renamed DO_POINTSKeith Whitwell
2001-03-05Changes for ffbKeith Whitwell
2001-03-05Fix typoKeith Whitwell
2001-03-05Add missing cases for viewport transform. Remove INVALIDATE_STORED_VERTICSKeith Whitwell
macro
2001-03-03used indent to clean-up the codeBrian Paul
2001-03-03lots of gl_*() to _mesa_*() namespace clean-upBrian Paul
2001-03-01fixed mistake in alpha buffer clear testBrian Paul
2001-03-01Uncomment some defaults.Keith Whitwell
2001-03-01Bugfixes for vertex format, templatesKeith Whitwell
2001-03-01added s/w alpha buffer clearingBrian Paul
2001-02-28Templates are in working order.Keith Whitwell
2001-02-27minor extension tweaksBrian Paul
2001-02-26Disable most extensions by default. Drivers should enable them as needed.Brian Paul
Renamed gl_*() functions as _mesa_*().
2001-02-24Template workKeith Whitwell
2001-02-22removed some bogus codeBrian Paul
2001-02-19plug in fallback teximage DD functionsBrian Paul
2001-02-19Updated Driver.CopyTexImage[12]D and Driver.CopyTexSubImage[123]D functionsBrian Paul
so they work like the other teximage functions. Added fallback routines to texstore.c for drivers to use.
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-17added MESA_GLX_FORCE_CI env var (useful for conformance testing)Brian Paul
2001-02-16Allow swrast to cope (fairly) cleanly with GL_SEPERATE_SPECULAR whenKeith Whitwell
texturing is not enabled, and without requiring the two colors be added externally. As a part of this, collapsed the decomposition of quads into triangles inside swrast to be hardwired into _swrast_Quad; removed s_quads.[ch]. Removed checks on texture state from t_vb_light.c, which was previously required by swrast. Moved the t_dd_ templates to a new directory.
2001-02-13fixed a few CI mode span bugs and a dither bugBrian Paul
2001-02-12added ctx->Driver.ResetLineStipple, misc clean-upBrian Paul
2001-02-08fixed bytesPerValue bug in OSMesaGetDepthBuffer()Brian Paul
2001-02-07new texture image routines work nowBrian Paul
2001-02-06updated texture image handling - STILL UNTESTEDBrian Paul
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-02-06Use a lookup table to compute exponents in tnl fogging code. SlightlyKeith Whitwell
clean up the shine table lookup macro.
2001-02-06misc updates to match latest device driver changesBrian Paul
2001-01-29fixed inverted Y coord for dithering in write_span_DITHER_5R6G5B_ximage()Brian Paul
2001-01-29Update implementations of Driver.Clear().Keith Whitwell
2001-01-29Removed knowledge of swrast Clear/Bitmap/Accum/Draw/Read/CopyPixelsKeith Whitwell
functions from core mesa -- if drivers need these fallbacks they must now call them themselves. Introduced hooks for clip-vertex-interpolation and the rendering of clipped lines and polygons. Allows drivers to interpolate their hardware-format vertices directly. Used in dri drivers to replace fastpath code. Slight optimizations to pipeline build/run routines.
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-16updated ctx->Driver functions for s/w setupBrian Paul
2001-01-16Fix several conformance problems. Hack solution to line stipple problem.Keith Whitwell
2001-01-12initialize Driver.RenderPrimitive to _swsetup_RenderPrimNoopBrian Paul
2001-01-08Fixed 'IRound' to 'IROUND' in mmath.hKeith Whitwell
Fixed fallback path for drawarrays/_tnl_hard_begin. Removed disabled debug code.
2001-01-08revert XMesaCreateContext changesKeith Whitwell
2001-01-08Bring the FX driver into line with core mesa changes.Keith Whitwell
2001-01-08Modify X11 driver and fake glx to store a GLcontextKeith Whitwell
(ie a 'struct __GLcontextRec *') instead of an 'XMesaContext'. This is to fix conflicts in XFree86 where both the indirect XMesaContext and the GLcontext were calling themselves __GLcontextRec's.
2001-01-05Remove 'pv' parameter from Line/Tri/Point funcs. The provoking vertexKeith Whitwell
is always the last vertex parameter. Modify clipping to preserve pv colors. Modify swrast and X11 driver to expect the pv in the last vertex (was looking in the first vertex previously). Remove all handling of flatshading from swrast_setup. Allow drivers to override the unclipped render tabs in tnl_render_stage directly. (Like in 3.4). Removed fxsimplerender stage. Modified t_vb_rendertmp.h to remove the need for 'parity' arguments in RENDER_TRI macros.