Commit Graph

68 Commits

Author SHA1 Message Date
Brian Paul
db07de057f added some casts 2002-04-19 00:23:08 +00:00
Brian Paul
8c598cfd82 fixes for corrected GL_DOT3_RGB[A]_EXT token values 2002-04-12 21:17:28 +00:00
Brian Paul
636b2801d9 Test implementation of proposed GL_EXT_shadow_funcs extension. This just
generalizes the R/texture comparision operators to include all eight of
the depth test comparisons.
2002-03-23 16:33:53 +00:00
Brian Paul
8334c89e70 removed temporary ARB_texture enum defs 2002-03-23 01:48:18 +00:00
Brian Paul
4182cf60d9 Finished up GL_ARB_depth_texture and GL_ARB_shadow. 2002-02-15 16:32:06 +00:00
Brian Paul
0c5c1392ab fixed int->float conversion bug in _mesa_TexEnviv() 2002-01-09 02:14:29 +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
c3209d45ad call FLUSH_VERTICES() in _mesaTexParameterfv() (bug 491832) 2001-12-13 16:02:11 +00:00
Brian Paul
014ec1ac5e prototype implementation of GL_ARB_depth_texture, GL_ARB_shadow, GL_ARB_shadow_ambient 2001-12-04 23:44:55 +00:00
Brian Paul
87c964d388 added missing GL_MAX_TEXTURE_LOD_BIAS_EXT query 2001-11-06 15:53:00 +00:00
Brian Paul
e11f089f82 added GL_ARB_texture_mirrored_repeat 2001-10-17 13:31:07 +00:00
Karl Schultz
7b9fe820a3 more compiler warning fixes 2001-09-18 23:06:14 +00:00
Brian Paul
ac6daf97e1 better error messages 2001-08-20 16:43:02 +00:00
Brian Paul
ae40b2281d rename ERROR macro to TE_ERROR (Gerk Huisma) 2001-07-23 16:10:03 +00:00
Brian Paul
1b25898946 Consolidated source files. Since the re-org a number of source files
only had one or two functions left in them.
2001-06-18 17:26:08 +00:00
Brian Paul
cd1cefae91 Allow different max texture sizes for 1/2D, 3D and cube maps. 2001-06-13 14:56:14 +00:00
Brian Paul
ae47121fa3 removed old, redundant CurrentTransformUnit state var 2001-06-12 22:08:41 +00:00
Brian Paul
3893e638e6 initial support for GL_SGIS_generate_mipmap extension 2001-05-21 16:41:03 +00:00
Brian Paul
ca78774fc7 fixed a bad error string in ClientActiveTexture() 2001-05-18 22:10:49 +00:00
Brian Paul
569b5f32b9 fixed two GL error calls 2001-05-17 21:33:14 +00:00
Brian Paul
3bfd0e6f9f minor simplification in glGetTexLevelParameter 2001-04-25 15:41:22 +00:00
Brian Paul
8753bd8900 fixed problems with texel component size queries in glGetTexLevelParameter() 2001-04-24 16:11:35 +00:00
Brian Paul
b570a180da Minor fixes for Win32 (Karl Schultz). 2001-04-20 19:21:41 +00:00
Brian Paul
5ff4075a69 bug fixes, added missing state query cases 2001-04-19 22:39:50 +00:00
Brian Paul
bcfe3936a8 Fixed a number of minor GL_ARB_texture_env_combine/dot3 issues. 2001-04-17 21:25:53 +00:00
Brian Paul
a2ade36eb1 added missing 'break' in _mesa_TexEnvfv(), better error messages 2001-04-16 21:06:54 +00:00
Brian Paul
67f7554232 querying proxy texture image info was segfaulting because of NULL TexFormat pointer 2001-03-30 21:14:30 +00:00
Gareth Hughes
16a8e986ce - Restore texImage->IntFormat.
- Fix FX driver texture image conversions.
2001-03-28 21:36:31 +00:00
Gareth Hughes
38f28665bf More texture format updates. Drivers now need only plug an appropriate
format into texImage->TexFormat, the rest is handled by core Mesa.
2001-03-28 20:40:51 +00:00
Brian Paul
2bb04cad14 added GL_ARB_texture_border_clamp 2001-03-26 19:42:40 +00:00
Brian Paul
1a59875367 added GL_ARB_texture_env_combine, GL_ARB_texture_env_dot3 2001-03-22 04:54:58 +00:00
Gareth Hughes
2c3d34c905 - Port 3.4 texture utils, texture format work to 3.5 (including new
FetchTexel routines).
- Initial hooks for GL_EXT_texture_filter_anisotropic.
2001-03-18 08:53:49 +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
0883634178 lots of gl_*() to _mesa_*() namespace clean-up 2001-03-03 20:33:27 +00:00
Brian Paul
b4203c1c49 removed some bogus error checks 2001-02-28 19:31:39 +00:00
Brian Paul
c499ce31ba Implemented GL_SGIX_shadow and GL_SGIX_shadow_texture.
Added some const keywords in the s/w texturing code.
2001-02-20 16:42:25 +00:00
Brian Paul
e75d2424e5 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.
2001-02-17 18:41:01 +00:00
Brian Paul
f7e1dfeaef Work in glGetTexImage() to return GL_COLOR_INDEX images.
Prototype code for GL_SGIX_depth_texture / more flexible teximage code.
2001-02-17 00:15:39 +00:00
Brian Paul
8e39ad2cd6 Overhaul of texture image handling.
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-06 21:42:48 +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
Gareth Hughes
ba8f6172bd Implementation of GL_EXT_texture_env_dot3. 2001-01-06 22:46:13 +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
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
a852378a62 Replaced Texture.CurrentD[] with separate Texture.Current1/2/3D vars.
Completely removed the dirty texture object list.  Set texObj->Complete
to GL_FALSE to indicate dirty.
Made point/line/triangle/quad SWvertex parameters const.
Minor code clean-ups.
2000-11-19 23:10:25 +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
14940c4ffe - Changes for new software rasterizer modules
- Remove support for choosing software fallbacks from core code
- Remove partial fallback code from vbrender.c -- drivers are now
  expected to be able to find a triangle/quad function for every state,
  even if they have to use _swsetup_Triangle or _swsetup_Quad.
- Marked derived variables in the GLcontext struct with a leading
  underscore '_'.
2000-11-05 18:40:57 +00:00
Keith Whitwell
724abeb058 Moved the software rasterizer to a new directory. 2000-10-31 18:09:44 +00:00
Keith Whitwell
a96308c37d Replace the flags Mesa was using for ctx->NewState with a new set
based on the GL attribute groups.

Introduced constants describing the circumstances under which some
key derived values can change:
	_SWRAST_NEW_RASTERMASK -- ctx->RasterMask
	_SWRAST_NEW_TRIANGLE   -- The software rasterizer's triangle
	                          function
	_DD_NEW_FEEDBACK -- the 'DD_FEEDBACK' bit in ctx->TriangleCaps

These are helpful in deciding whether you need to recalculate state if your
recalculation involves reference to a derived value.
2000-10-30 13:31:59 +00:00