Keith Whitwell
ae0eaf93e0
Merge vtx-0-2-branch
2003-11-24 15:23:18 +00:00
Keith Whitwell
ff56908e09
Store material attributes in an Attrib[] style array. This is a
...
first step to reviving/rescuing the 'vtx' rework from the old mesa
tree.
2003-08-05 18:55:49 +00:00
Brian Paul
e53aa5022f
more docs (Klaus Niederkruger)
2003-05-01 22:45:57 +00:00
Brian Paul
c8f2f456f9
new comments (Klaus Niederkruger)
2003-04-28 14:56:24 +00:00
Brian Paul
05b2651066
reduce memory needed for vertex attributes (allocate on demand)
2003-03-31 18:19:56 +00:00
Brian Paul
8856cece54
minor clean-ups, comments, etc
2003-03-28 01:39:04 +00:00
Brian Paul
610d59981a
First batch of code for GL_NV_fragment_program.
...
Re-org of some GL_NV_vertex_program code.
Replace MAX_TEXTURE_UNITS with MAX_TEXTURE_COORD_UNITS and MAX_TEXTURE_IMAGE_UNITS.
2003-01-14 04:55:45 +00:00
Brian Paul
433a084130
removed old VERT_* defines, use VERT_BIT_* instead
2002-10-09 19:45:53 +00:00
Brian Paul
837bf6e2df
Added new bitfields to tnl_eval_store for NV_vertex_program evaluators
2002-06-23 02:32:39 +00:00
Brian Paul
05be7ae125
pass context pointer to _tnl_free_immediate(), removed backref pointer
2002-04-19 12:32:14 +00:00
Keith Whitwell
306d3fcdba
bring in changes from dri tcl branch
2002-04-09 16:56:50 +00:00
Karl Schultz
4d030ba651
casts to silence compiler warnings
2002-04-04 18:25:40 +00:00
Keith Whitwell
0cb28418d0
More suport for t&l drivers
...
Fix GLuint compare bugs
Fix RESET_STIPPLE calls
2002-02-13 00:53:19 +00:00
Brian Paul
4c8fadc6d9
Clean-up/renaming of the per-vertex attribute bits, specifically, the
...
VERT_BIT_* flags are new and used in many places (esp in T&L code).
Updated some comments for doxygen.
Various code clean-ups.
2002-01-22 14:35:16 +00:00
Brian Paul
363049160d
Another vertex program checkpoint: clean-up of vertex attribute storage
...
in vertex_buffer. Improved vertex program pipeline stage such that
output registers can be processed in a loop. Getting closer to where
we need to be in order to implement performance optimizations...
2002-01-06 03:54:12 +00:00
Brian Paul
bd1a9dacf6
Vertex program checkpoint commit: converted all vertex attributes (color,
...
normal, texcoords, fogcoord, secondary color, etc) to GLfloat[4] datatype.
Aliasing of glVertex, glNormal, glColor, glFogCoord, etc. to glVertexAttrib
now complete.
2002-01-05 20:51:12 +00:00
Brian Paul
30f51ae067
Replace old matrix stacks with new code based on struct matrix_stack.
...
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-18 04:06:44 +00:00
Brian Paul
86b842790b
vertex program check-in
2001-12-14 02:50:01 +00:00
Brian Paul
edf8c06270
more warning fixes (Karl Schultz)
2001-09-14 21:30:31 +00:00
Keith Whitwell
c618005dcf
Fix copying problem (light spots) on evaluated surfaces.
2001-08-01 05:10:42 +00:00
Keith Whitwell
1182ffeec3
Rename some of the tnl->Driver.* functions to tnl->Driver.Render.*, to make it
...
clear that these are owned by t_vb_render.c.
Make swrast_setup opaque - it now hooks itself directly into
tnl->Driver.Render.*. Add a _swsetup_Wakeup() call that does this.
Update X11 (tested), osmesa and FX drivers for this change.
FX compiles but is probably broken as the changes there are large. It was the
only remaining driver that used the internal _swsetup_ functions for
interp and copy_pv. This usage has been replaced with code from the DRI
tdfx driver.
2001-07-12 22:09:21 +00:00
Keith Whitwell
47a28c0b4d
restore normal length optimization in dlists
2001-06-28 17:34:14 +00:00
Keith Whitwell
51b36396ae
Adaptor code that lets tnl convert compiled (display list) cassettes back
...
to glVertex() type calls. Allows driver-supplied tnl modules to avoid
fallback on glCallList inside begin/end pairs.
Still a little buggy...
2001-06-04 16:09:28 +00:00
Brian Paul
a7de8b6776
added minor comments
2001-06-01 16:29:18 +00:00
Brian Paul
21f80baa35
swapped in/out arguments to interp_func. Improved comments
2001-05-31 23:03:05 +00:00
Keith Whitwell
dbd0dad580
fix for Jouk's glplanet bug
2001-05-16 09:28:32 +00:00
Keith Whitwell
6d1055c967
Clean up translation of array elements, copying of elts in pure-elt
...
cassettes. Fixes problem with isosurf/compiled-array-elt/strips.
2001-05-11 08:11:31 +00:00
Keith Whitwell
7954a0cafd
Replace PipelineStart, PipelineFinish with RunPipeline. Clean up
...
_tnl_run_pipeline() a little.
2001-05-10 12:18:38 +00:00
Keith Whitwell
0e14d6d68e
Lots more eval fixes
2001-04-30 21:08:51 +00:00
Keith Whitwell
51c0c71811
Support for floating point color representation in tnl module.
2001-04-28 08:39:17 +00:00
Keith Whitwell
908be619fd
first pass at eval fixes
2001-04-26 14:53:48 +00:00
Keith Whitwell
8a09c3a34b
Perform fixup on material values
2001-04-09 14:47:34 +00:00
Keith Whitwell
7098924599
Split driver struct into swrast/tnl/core components.
2001-03-19 02:25:35 +00:00
Gareth Hughes
22144ab755
Consistent copyright info (version number, date) across all files.
2001-03-12 00:48:37 +00:00
Brian Paul
b51b0a847d
fixed a bunch of g++ warnings/errors. Compiling with g++ can help find lots of potential problems
2001-03-07 05:06:11 +00:00
Keith Whitwell
4eebc90a17
Added GLvector4chan type, removed lots of CHAN_TYPE ifdefs.
2001-02-20 18:28:52 +00:00
Keith Whitwell
c6b2a92613
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.
2001-02-15 01:33:52 +00:00
Keith Whitwell
5c1e7fa6ee
Removed knowledge of swrast Clear/Bitmap/Accum/Draw/Read/CopyPixels
...
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-29 20:47:39 +00:00
Brian Paul
74b493a5e6
Lots of GLchan datatype changes.
...
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-24 00:04:58 +00:00
Keith Whitwell
3fd01320f1
Fixed conform feedback and drawelements tests.
...
Use correct pv when rasterizing unfilled polys.
2001-01-14 06:14:21 +00:00
Keith Whitwell
321f67c472
Fix crash in book/stencil.
...
Allow drivers to perform the perspective divide themselves. Assembly
to do cliptesting without perspective divide for size-4 vectors.
2001-01-13 05:48:25 +00:00
Keith Whitwell
58e9917053
Remove 'pv' parameter from Line/Tri/Point funcs. The provoking vertex
...
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.
2001-01-05 02:26:48 +00:00
Keith Whitwell
ae8ec0b30d
Fix evalpoints bug (samples/nurb)
2000-12-27 22:30:29 +00:00
Keith Whitwell
cab974cf6c
Major rework of tnl module
...
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-26 05:09:27 +00:00
Brian Paul
fb7899bfec
Compute attenuated point size in a new pipeline stage.
...
Store computed point size in the SWvertex struct.
2000-12-08 00:18:39 +00:00
Keith Whitwell
9aff6cfdc3
Fixed a couple of bugs that crept into last commit
...
- Eval not compiled correctly
- Material colors computed incorrectly
Reworked the VERT_TEX flags, now support upto 12 texture units in tnl.
2000-11-24 15:21:59 +00:00
Keith Whitwell
ad2ac216fa
Support for swappable t&l modules, including an example one in the FX
...
driver (enable with FX_ALLOW_VTXFMT=t).
2000-11-24 10:25:05 +00:00
Jouk Jansen
5e3bc0c2a2
Committing in .
...
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-22 07:32:16 +00:00
Keith Whitwell
2ac294e67f
fix lvalue cast on ctx->swtnl_im
2000-11-20 13:39:36 +00:00
Keith Whitwell
23caf20169
Move the transform and lighting code to two new directories
...
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-16 21:05:34 +00:00