Tim Evans
64e32ffb6e
swrast: fix incorrect specular highlights on backfaces
...
See bug 28577 for details.
NOTE: this is a candidate for the 7.8 branch.
Signed-off-by: Brian Paul <brianp@vmware.com >
2010-06-21 17:19:59 -06:00
Ian Romanick
e650c07f47
swrast_setup: Remove more color-index rendering support
...
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com >
2010-03-03 12:37:04 -08:00
Michal Krol
355e9bb45c
swrast: Silence compiler warnings, give better structure to the code as a result.
2009-03-19 10:39:57 +01:00
Brian Paul
bbd287103d
mesa: prefix a bunch of #include lines with "main/".
...
This is another step toward removing a whole bunch of -I flags from
the cc commands. Still need to address driver code...
2008-09-18 12:26:54 -06:00
Brian
256115bd5e
simplify update two-side lighting test (follow-on to previous front/back-face changes)
2007-12-18 16:24:19 -07:00
Brian
fcd7c37fd3
fix broken two-sided stencil
2007-11-30 13:01:57 -07:00
Brian
9e8a961dd7
Overhaul/simplify SWvertex and SWspan attribute handling.
...
Instead of separate fog/specular/texcoord/varying code, just treat all of
them as generic attributes. Simplifies the point/line/triangle functions.
2007-05-20 12:27:39 -06:00
Brian
10b5895597
Implement gl_FrontFacing for fragment shaders.
...
For the time being, we put the gl_FrontFacing value in the FOGC.Y input
register. Combining FOGC and FrontFacing in one register is a bit of a
hack and may need to be changed someday.
2007-03-10 11:30:19 -07:00
Brian Paul
42c34efd23
OpenGL 2.0's two-sided stencil feature wasn't implemented correctly.
...
See comment near top of stencil.c for info about OpenGL 2.0 vs.
GL_EXT_stencil_two_side.
2005-09-13 02:59:53 +00:00
Keith Whitwell
3d38361b71
Rename the various function types in t_context.h to include a tnl_ prefix.
2004-07-01 13:14:05 +00:00
Brian Paul
bdd15b5749
Fix minor warnings found with g++.
2004-05-04 15:11:06 +00:00
Brian Paul
6d460af6af
Added ctx->Vertex/FragmentProgram._Enable flags. Set when vertex/fragment
...
program is enabled AND the currently bound program is valid.
Check _Enable instead of Enable to prevent things from blowing up
when someone calls glEnable(GL_VERTEX_PROGRAM_ARB) without actually
defining a program.
2004-04-23 14:16:46 +00:00
Brian Paul
867fa0b572
another tweak to two-sided detection test
2004-02-04 03:34:30 +00:00
Brian Paul
609f35274c
fix two-sided lighting / vertex program bug ( #887330 )
2004-02-04 03:00:42 +00:00
Keith Whitwell
ae0eaf93e0
Merge vtx-0-2-branch
2003-11-24 15:23:18 +00:00
Brian Paul
29b4076f9a
Move away from using the ctx->_TriangleCaps bitfield.
...
New macros in context.h for testing state: NEED_SECONDARY_COLOR
and NEED_TWO_SIDED_LIGHTING.
2003-09-18 23:21:08 +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
46b3f97654
fix culling problem (bug 630649)
2002-10-29 22:25:57 +00:00
Brian Paul
05a4b37707
updated email addresses
2002-10-29 20:28:36 +00:00
Brian Paul
f782b8189e
multiple GL_POINTS can now be rendered together into one fragment span
2002-10-04 17:37:45 +00:00
Brian Paul
be99e845bd
finished up GL_EXT_stencil_two_side
2002-10-02 23:24:04 +00:00
Brian Paul
641b2307ec
removed ctx->Polygon._OffsetAny - not really needed
2002-10-02 21:44:08 +00:00
Keith Whitwell
5356031129
Lighting now emits colors as CHAN_TYPE, as it used to. This will require
...
minor adjustments in the dri drivers for twosided lighting to work again.
2001-07-17 19:39:32 +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
51c0c71811
Support for floating point color representation in tnl module.
2001-04-28 08:39:17 +00:00
Gareth Hughes
22144ab755
Consistent copyright info (version number, date) across all files.
2001-03-12 00:48:37 +00:00
Brian Paul
01915e90e6
More g++ warning fixes. Fixes for CHAN_BITS==16, it seems to work.
2001-03-08 15:23:46 +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
Brian Paul
b6bcae5698
Replaced struct gl_visual with struct __GLcontextModesRec from glcore.h.
...
Replace "RGBAMode" with "rgbMode", etc.
Other minor clean-ups.
2001-01-23 23:39:36 +00:00
Keith Whitwell
d43a5943d8
Fix several conformance problems. Hack solution to line stipple problem.
2001-01-16 05:29:42 +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
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
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
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
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
Keith Whitwell
1e1aac034c
Cleanup of derived state calculation prior to seperating software T&L
...
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.
2000-11-13 20:02:56 +00:00
Keith Whitwell
7c20642b10
A new module to provide RasterSetup and advanced triangle/line/point
...
functionality layered on top of the software rasterizer.
An example entrypoint:
void _swsetup_Triangle( GLcontext, GLuint, GLuint, GLuint, GLuint )
will coerce the software rasterizer to draw flat, twoside-lit,
unfilled and offset triangles (including decomposition to points or lines).
2000-11-05 18:20:18 +00:00