OSDN Git Service
Gareth Hughes [Sun, 11 Mar 2001 18:49:11 +0000 (18:49 +0000)]
Support for swappable tnl modules.
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).
Gareth Hughes [Sat, 10 Mar 2001 02:50:42 +0000 (02:50 +0000)]
Add a couple of missing functions.
Gareth Hughes [Fri, 9 Mar 2001 16:08:13 +0000 (16:08 +0000)]
More generic vtxfmt template, useful for creating neutral tnl module as
well as fallback functions for driver tnl modules.
Brian Paul [Thu, 8 Mar 2001 22:27:41 +0000 (22:27 +0000)]
fixed RBGA ifdef typo
Brian Paul [Thu, 8 Mar 2001 17:33:33 +0000 (17:33 +0000)]
do fog interpolation if INTERP_FOG is defined, not when INTERP_Z is defined
Brian Paul [Thu, 8 Mar 2001 17:17:28 +0000 (17:17 +0000)]
processed by indent to improve readability
Brian Paul [Thu, 8 Mar 2001 17:15:01 +0000 (17:15 +0000)]
changed bincoeff var to GLfloat, fixes bug introduced in previous check-in
Brian Paul [Thu, 8 Mar 2001 15:24:18 +0000 (15:24 +0000)]
test 16-bit/channel rendering
Brian Paul [Thu, 8 Mar 2001 15:23:46 +0000 (15:23 +0000)]
More g++ warning fixes. Fixes for CHAN_BITS==16, it seems to work.
Brian Paul [Wed, 7 Mar 2001 23:22:08 +0000 (23:22 +0000)]
added an assertion in the init code, just to be safe
Jon Taylor [Wed, 7 Mar 2001 20:42:14 +0000 (20:42 +0000)]
Misc build fixes
Gareth Hughes [Wed, 7 Mar 2001 18:16:40 +0000 (18:16 +0000)]
Add missing copy in _mesa_noop_Color4fv().
Brian Paul [Wed, 7 Mar 2001 05:06:11 +0000 (05:06 +0000)]
fixed a bunch of g++ warnings/errors. Compiling with g++ can help find lots of potential problems
Brian Paul [Wed, 7 Mar 2001 04:50:49 +0000 (04:50 +0000)]
_MinMagThresh[] should be GLfloat
Brian Paul [Wed, 7 Mar 2001 03:20:38 +0000 (03:20 +0000)]
added some casts in the 16-bit GLchan macros, just to be safe
Brian Paul [Wed, 7 Mar 2001 00:21:32 +0000 (00:21 +0000)]
added Driver.BlendColor() function, for completeness
Brian Paul [Mon, 5 Mar 2001 22:40:10 +0000 (22:40 +0000)]
fixed segfaults when tex unit 1 enabled, but not unit 0 (conform)
Brian Paul [Mon, 5 Mar 2001 22:18:23 +0000 (22:18 +0000)]
added missing ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH() macros
Keith Whitwell [Mon, 5 Mar 2001 19:54:03 +0000 (19:54 +0000)]
DO_POINT renamed DO_POINTS
Keith Whitwell [Mon, 5 Mar 2001 18:52:18 +0000 (18:52 +0000)]
Changes for ffb
Keith Whitwell [Mon, 5 Mar 2001 18:04:38 +0000 (18:04 +0000)]
Fix typo
Brian Paul [Mon, 5 Mar 2001 17:50:35 +0000 (17:50 +0000)]
GL_EXT_secondary_color test
Brian Paul [Mon, 5 Mar 2001 17:31:57 +0000 (17:31 +0000)]
GL_EXT_fog_coord test
Keith Whitwell [Mon, 5 Mar 2001 16:41:47 +0000 (16:41 +0000)]
Add missing cases for viewport transform. Remove INVALIDATE_STORED_VERTICS
macro
Brian Paul [Mon, 5 Mar 2001 15:57:59 +0000 (15:57 +0000)]
replaced gl_test_os_katmai*() with _mesa_test_os_katmai*()
Brian Paul [Sat, 3 Mar 2001 21:11:32 +0000 (21:11 +0000)]
more clean-ups
Brian Paul [Sat, 3 Mar 2001 20:59:06 +0000 (20:59 +0000)]
used indent to clean-up the code
Brian Paul [Sat, 3 Mar 2001 20:56:59 +0000 (20:56 +0000)]
more namespace clean-ups
Brian Paul [Sat, 3 Mar 2001 20:33:27 +0000 (20:33 +0000)]
lots of gl_*() to _mesa_*() namespace clean-up
Brian Paul [Sat, 3 Mar 2001 00:37:27 +0000 (00:37 +0000)]
optimized lambda calculation (Klaus Niederkrueger)
Brian Paul [Sat, 3 Mar 2001 00:12:47 +0000 (00:12 +0000)]
changed AlphaFunc() ref from GLclampf to GLchan
Brian Paul [Fri, 2 Mar 2001 16:01:22 +0000 (16:01 +0000)]
fixed _mesa_getenv() weirdness
Brian Paul [Thu, 1 Mar 2001 18:30:47 +0000 (18:30 +0000)]
fixed mistake in alpha buffer clear test
Keith Whitwell [Thu, 1 Mar 2001 18:18:05 +0000 (18:18 +0000)]
Uncomment some defaults.
Keith Whitwell [Thu, 1 Mar 2001 17:40:14 +0000 (17:40 +0000)]
Bugfixes for vertex format, templates
Brian Paul [Thu, 1 Mar 2001 00:05:05 +0000 (00:05 +0000)]
added s/w alpha buffer clearing
Brian Paul [Wed, 28 Feb 2001 19:31:39 +0000 (19:31 +0000)]
removed some bogus error checks
Brian Paul [Wed, 28 Feb 2001 18:41:50 +0000 (18:41 +0000)]
Now there's four possible display modes:
1. normal, shadowed rendering
2. display depth texture image
3. display depth texture mapped onto scene
4. render grayscale scene where gray level = distance from light source
Keith Whitwell [Wed, 28 Feb 2001 18:19:27 +0000 (18:19 +0000)]
Templates are in working order.
Brian Paul [Wed, 28 Feb 2001 00:27:48 +0000 (00:27 +0000)]
GLvisual inside GLframebuffer is no longer a pointer, copy the struct instead.
Added context/drawbuffer visual config sanity checking in _mesa_make_current2().
Added some 'const' keywords.
Brian Paul [Tue, 27 Feb 2001 22:33:59 +0000 (22:33 +0000)]
fixed glitches in error checking of imaging extensions
Brian Paul [Tue, 27 Feb 2001 22:16:27 +0000 (22:16 +0000)]
signal _NEW_TEXTURE in all teximage functions
Brian Paul [Tue, 27 Feb 2001 21:58:59 +0000 (21:58 +0000)]
added fog coord clamping
Brian Paul [Tue, 27 Feb 2001 16:42:01 +0000 (16:42 +0000)]
colortable w/ size=0 wasn't handled correctly
Keith Whitwell [Tue, 27 Feb 2001 16:14:35 +0000 (16:14 +0000)]
Initialize Line._Width
Brian Paul [Tue, 27 Feb 2001 00:13:25 +0000 (00:13 +0000)]
more tweaks
Brian Paul [Tue, 27 Feb 2001 00:05:27 +0000 (00:05 +0000)]
minor extension tweaks
Brian Paul [Mon, 26 Feb 2001 23:58:12 +0000 (23:58 +0000)]
Disable most extensions by default. Drivers should enable them as needed.
Renamed gl_*() functions as _mesa_*().
Brian Paul [Mon, 26 Feb 2001 22:07:03 +0000 (22:07 +0000)]
fixed extension checking in _mesa_BlendEquation()
Brian Paul [Mon, 26 Feb 2001 18:26:32 +0000 (18:26 +0000)]
added filtering option, compute shadow tex size from window size
Brian Paul [Mon, 26 Feb 2001 18:25:25 +0000 (18:25 +0000)]
tiny change to a gl_problem() call
Brian Paul [Mon, 26 Feb 2001 18:24:55 +0000 (18:24 +0000)]
added a cube map error check
Brian Paul [Mon, 26 Feb 2001 18:24:37 +0000 (18:24 +0000)]
bilinear sampling of depth textures
Keith Whitwell [Sat, 24 Feb 2001 18:25:52 +0000 (18:25 +0000)]
Template work
Brian Paul [Fri, 23 Feb 2001 23:14:11 +0000 (23:14 +0000)]
another fix in _mesa_stencil_and_ztest_pixels() for hardware fallbacks
Brian Paul [Fri, 23 Feb 2001 20:08:29 +0000 (20:08 +0000)]
fixed bug in _mesa_stencil_and_ztest_pixels() found w/ DRI mga driver
Brian Paul [Thu, 22 Feb 2001 17:59:24 +0000 (17:59 +0000)]
improvements to regions_overlap() function
Brian Paul [Thu, 22 Feb 2001 17:50:13 +0000 (17:50 +0000)]
removed some bogus code
Jouk Jansen [Thu, 22 Feb 2001 08:52:30 +0000 (08:52 +0000)]
Committing in .
Modified Files:
Mesa/src/descrip.mms
old files removed/ new files included in VMS makefile
----------------------------------------------------------------------
Brian Paul [Wed, 21 Feb 2001 16:02:27 +0000 (16:02 +0000)]
fixed GL_LUMINANCE_ALPHA bug in fetch_2d_texel()
Keith Whitwell [Tue, 20 Feb 2001 18:28:52 +0000 (18:28 +0000)]
Added GLvector4chan type, removed lots of CHAN_TYPE ifdefs.
Brian Paul [Tue, 20 Feb 2001 17:08:55 +0000 (17:08 +0000)]
more 3.5 updates
Brian Paul [Tue, 20 Feb 2001 17:06:35 +0000 (17:06 +0000)]
added extension #ifdef/#endifs
Brian Paul [Tue, 20 Feb 2001 17:05:04 +0000 (17:05 +0000)]
added shadow extensions
Brian Paul [Tue, 20 Feb 2001 17:04:52 +0000 (17:04 +0000)]
added shadowtex
Brian Paul [Tue, 20 Feb 2001 16:43:50 +0000 (16:43 +0000)]
demo of GL_SGIX_shadow
Brian Paul [Tue, 20 Feb 2001 16:42:25 +0000 (16:42 +0000)]
Implemented GL_SGIX_shadow and GL_SGIX_shadow_texture.
Added some const keywords in the s/w texturing code.
Brian Paul [Mon, 19 Feb 2001 20:14:57 +0000 (20:14 +0000)]
plug in fallback teximage DD functions
Brian Paul [Mon, 19 Feb 2001 20:01:41 +0000 (20:01 +0000)]
Updated Driver.CopyTexImage[12]D and Driver.CopyTexSubImage[123]D functions
so they work like the other teximage functions. Added fallback routines to
texstore.c for drivers to use.
Brian Paul [Mon, 19 Feb 2001 18:28:59 +0000 (18:28 +0000)]
added a bunch of extensions (Ray Tice)
Brian Paul [Sat, 17 Feb 2001 18:41:01 +0000 (18:41 +0000)]
Changed FetchTexel() function pointer arguments.
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.
Brian Paul [Sat, 17 Feb 2001 00:17:31 +0000 (00:17 +0000)]
added MESA_GLX_FORCE_CI env var (useful for conformance testing)
Brian Paul [Sat, 17 Feb 2001 00:15:39 +0000 (00:15 +0000)]
Work in glGetTexImage() to return GL_COLOR_INDEX images.
Prototype code for GL_SGIX_depth_texture / more flexible teximage code.
Brian Paul [Fri, 16 Feb 2001 23:29:14 +0000 (23:29 +0000)]
moved depth/index/stencil span packing into image.c
Brian Paul [Fri, 16 Feb 2001 21:48:16 +0000 (21:48 +0000)]
added n-key to toggle nice fog, other minor clean-ups
Keith Whitwell [Fri, 16 Feb 2001 18:56:46 +0000 (18:56 +0000)]
Fix state bitmasks for invalidating line,tri,point functions. (won't fix
the fog problem, I don't think)
Keith Whitwell [Fri, 16 Feb 2001 18:14:41 +0000 (18:14 +0000)]
Allow swrast to cope (fairly) cleanly with GL_SEPERATE_SPECULAR when
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.
Keith Whitwell [Fri, 16 Feb 2001 00:35:34 +0000 (00:35 +0000)]
Fixed conform problems with recent material tracking change.
Remove redundant 'update_materials' stage.
Fix conform segfault with seperate specular colors in mustpass.c. These
tests still fail, however.
Brian Paul [Thu, 15 Feb 2001 22:59:01 +0000 (22:59 +0000)]
minor scissor optimizations (Klaus Niederkrueger)
Keith Whitwell [Thu, 15 Feb 2001 01:33:52 +0000 (01:33 +0000)]
Fix propogation of material values in VB's that don't reach the lighting
stage. (Materials now treated more like colors, etc.).
Continue whipping the dd templates into shape.
Remove old NormalLength code; may come back as a driver helper, but not
useful for, eg. hardware t&l drivers.
Brian Paul [Wed, 14 Feb 2001 23:00:42 +0000 (23:00 +0000)]
fixed a CI-mode spot light conformance failure, but still not clear why
Brian Paul [Wed, 14 Feb 2001 22:59:50 +0000 (22:59 +0000)]
updated with 3.4 and 3.4.1 entries
Brian Paul [Wed, 14 Feb 2001 22:40:21 +0000 (22:40 +0000)]
removed a misplaced _mesa_logicop_ci_span() call
Brian Paul [Tue, 13 Feb 2001 23:59:34 +0000 (23:59 +0000)]
fixed a CI mode segfault, minor clean-ups
Brian Paul [Tue, 13 Feb 2001 23:58:38 +0000 (23:58 +0000)]
fixed an assertion
Brian Paul [Tue, 13 Feb 2001 23:57:48 +0000 (23:57 +0000)]
fixed a few CI mode span bugs and a dither bug
Brian Paul [Tue, 13 Feb 2001 23:55:30 +0000 (23:55 +0000)]
fixed bug in gl_validate_all_lighting_tables() found with CI mode conformance tests
Brian Paul [Tue, 13 Feb 2001 23:54:12 +0000 (23:54 +0000)]
removed bogus assertions
Brian Paul [Tue, 13 Feb 2001 23:51:34 +0000 (23:51 +0000)]
gl_error clean-ups
Brian Paul [Tue, 13 Feb 2001 23:50:25 +0000 (23:50 +0000)]
fixed GL_SET bug
Brian Paul [Mon, 12 Feb 2001 19:04:30 +0000 (19:04 +0000)]
added debug assertions to be sure drivers initialize all required function pointers
Brian Paul [Mon, 12 Feb 2001 18:32:26 +0000 (18:32 +0000)]
added ctx->Driver.ResetLineStipple, misc clean-up
Brian Paul [Mon, 12 Feb 2001 17:02:00 +0000 (17:02 +0000)]
fixed RGB over/underflow bug for tiny triangles (bug 128969)
Brian Paul [Fri, 9 Feb 2001 23:39:02 +0000 (23:39 +0000)]
minor updates to sync w/ XFree86 changes
Brian Paul [Fri, 9 Feb 2001 23:23:43 +0000 (23:23 +0000)]
minor changes from XFree86 (dawes)
Jouk Jansen [Fri, 9 Feb 2001 12:19:17 +0000 (12:19 +0000)]
Committing in .
Modified Files:
Mesa/src-glut/glut_event.c Mesa/src-glut/glut_get.c
Mesa/src-glut/glut_init.c Mesa/src-glut/glutint.h
Patch for compilation on very old VMS (version 6.2 and earlier)
----------------------------------------------------------------------
Brian Paul [Thu, 8 Feb 2001 23:52:29 +0000 (23:52 +0000)]
fixed bytesPerValue bug in OSMesaGetDepthBuffer()
Brian Paul [Thu, 8 Feb 2001 15:57:01 +0000 (15:57 +0000)]
fixed bugs in _mesa_clear_depth_buffer(), bug #131366
Brian Paul [Wed, 7 Feb 2001 19:02:23 +0000 (19:02 +0000)]
GLchan fixes
Brian Paul [Wed, 7 Feb 2001 18:59:45 +0000 (18:59 +0000)]
fixed texel indexing bug in _mesa_GetTexImage()