Michal Krol
a2ea606377
Add ARB_vertex_shader stage just before render stage.
...
If enabled, all other stages, except render, are disabled.
2006-02-13 11:23:36 +00:00
Keith Whitwell
f4fbda35b0
Add a NotifyInputChanges() callback so that drivers (particularly tnl
...
drivers) can track when the sizes or strides of incoming VB->AttribPtr
arrays have changed.
2005-11-01 17:29:46 +00:00
Keith Whitwell
81032030ff
Store compiled vertex program representations in a pointer in the
...
vertex_program struct.
Allow switching between regular and vertex_program implementations
of fixed function TNL with the MESA_TNL_PROG environment var
(previously this required recompilation).
Ensure program compilation only references program data, not the
wider context. This means that compiled programs only need to be
invalidated when the program string changes, not on other state
changes.
2005-06-09 14:55:34 +00:00
Keith Whitwell
2b2bd08589
Remove old t_vertex.c codegen infrastructure, tie in new code.
...
Currently disabled, can enable with MESA_EXPERIMENTAL=t.
2005-05-18 15:26:48 +00:00
Keith Whitwell
a661654a33
Move the call to _tnl_UpdateFixedFunctionProgram to make
...
it easier for hardware drivers to test this out.
2005-04-22 13:02:04 +00:00
Keith Whitwell
6f973f3367
Simplify the pipeline_stage structure
...
- remove input/output fields, input tracking removed.
- remove state fields, the validate function now called
on every statechange.
- add an explicit 'create' function.
Add in code to build vertex program to implement current t&l state. Still
disabled, but turn on with a #define in t_vp_build.h.
2005-04-22 12:51:19 +00:00
Keith Whitwell
b97e478fe9
mesa-tnl-0-to-NULL.patch from Jeff Muizelaar
2005-02-10 10:57:22 +00:00
Brian Paul
1e71d2af5e
minor #ifdef fix
2004-01-31 19:49:10 +00:00
Keith Whitwell
790734045b
Re-commit t_vertex.[ch] changes to fd.o server.
2004-01-05 09:43:42 +00:00
Brian Paul
b305028464
Port over changes from XFree86/Mesa 5.0.2, mostly to silence compiler warnings.
2003-12-04 03:19:46 +00:00
Keith Whitwell
ae0eaf93e0
Merge vtx-0-2-branch
2003-11-24 15:23:18 +00:00
Ian Romanick
9ac51f57ef
Removed all RCS / CVS tags (Id, Header, Date, etc.) from everything.
2003-06-05 00:50:18 +00:00
Brian Paul
27558a160a
Killed mmath.[ch]. Moved low-level functions/assembly code into imports.[ch]
...
Moved type conversion and interpolation macros into macros.h
Updated all the files that used to include mmath.h
2003-03-01 01:50:20 +00:00
Brian Paul
05a4b37707
updated email addresses
2002-10-29 20:28:36 +00:00
Brian Paul
3c63452e64
Header file clean-up:
...
1. Remove all.h and PC_HEADER junk.
2. Rolled mem.c and mem.h into imports.c and imports.h
3. Include imports.h instead of mem.h
Restore _mesa_create/initialize_context() to be like they were in 4.0.4
New wrappers for a few std C functions: _mesa_atoi(), _mesa_strstr(), etc.
2002-10-24 23:57:19 +00:00
Brian Paul
8dfc5b9863
surround vertex program code with #if FEATURE_NV_vertex_program/#endif
2002-10-16 17:57:51 +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
c3d90f3211
disable debug printf's, fix a crash
2001-12-15 02:13:32 +00:00
Brian Paul
86b842790b
vertex program check-in
2001-12-14 02:50:01 +00:00
Gareth Hughes
e7e38a47a8
Initial commit of cliptest work. More to come shortly.
...
- Add debug, benchmark code.
- Change linux/x86 FAST_MATH code to GCC/x86, and clear FP exceptions
before exiting the fast math block.
- Remove divide-by-zero test in x86 cliptest, and set clipped vertices
to [0,0,0,1] instead of leaving them uninitialized.
2001-05-21 16:33:41 +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
16837e4219
Restore optimization for cva glArrayElement operation.
2001-04-30 09:04:00 +00:00
Keith Whitwell
3004bf8fd7
Remove values from VB->importable_data as those arrays are removed
...
from the VB.
2001-04-19 12:23:07 +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
Keith Whitwell
2448fc7dee
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.
2001-02-16 00:35:34 +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
Keith Whitwell
c0bcd2ca99
Fixes for performance bug on compiled array element paths.
2001-01-17 02:49:38 +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
ce656b6a0a
Fixed 'IRound' to 'IROUND' in mmath.h
...
Fixed fallback path for drawarrays/_tnl_hard_begin.
Removed disabled debug code.
2001-01-08 21:55:59 +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
Jouk Jansen
33b2dcf0da
Modified Files:
...
Mesa/src/tnl/t_context.c Mesa/src/tnl/t_debug.c
Mesa/src/tnl/t_pipeline.c
Some updates to silence warnings on my VMS-machine
----------------------------------------------------------------------
2000-11-27 09:05:52 +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
Brian Paul
189476f265
minor multi-tex changes, changed MAX_TEXTURE_UNITS to 4
2000-11-20 18:06:11 +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