Commit Graph

233 Commits

Author SHA1 Message Date
Keith Whitwell
07bb9884a5 FRONT_AND_BACK culling 2002-06-25 08:44:27 +00:00
Brian Paul
8afe7de8de Implemented GL_NV_texture_rectangle extension.
Replace struct gl_texure_object's Dimension w/ Target field.
Added _EnabledUnits to struct gl_texture_attrib - the _ReallyEnabled
  field is obsolete, but still present for now.  This effectively
  removes the 8-texture units limit, 32 units now possible, but unlikely!
New TEXTURE_1D/2D/3D/CUBE/RECT_BIT tokens for unit->_ReallyEnabled field.
Updated device drivers to use ctx->Texture._EnabledUnits.
2002-06-15 03:03:06 +00:00
Brian Paul
4753d60dd0 Added ctx parameter to _mesa_debug()
Added _mesa_printf()
Updated SetDrawBuffer() function in all drivers (ala 4.0.3)
Import 4.0.3/DRI changes.
2002-06-15 02:38:15 +00:00
Brian Paul
9a33a11d71 New _mesa_debug() function to replace fprintf() calls.
Some source files updated to call _mesa_debug(), but not finished.
Added __GLimports as a parameter to _mesa_create/init_context() and
updated drivers accordingly.
Fleshed-out more of the __GLimports and __GLexports functionality.
Removed run-time config file support (config.c)
2002-06-13 04:28:29 +00:00
Brian Paul
bf80e1ed62 Allocate a sw_span struct in the swrast context instead of allocating it
on the stack frame in the point/line/triangle functions. (Klaus Niederkrueger)
This should solve the performance problem Karl found on Windows.
2002-04-19 14:05:50 +00:00
Brian Paul
01dc182ee8 added OSMesaGetProcAddress() 2002-04-04 16:58:04 +00:00
Brian Paul
02ee456248 call _mesa_ResizeBuffersMESA() in OSMesaMakeCurrent() to reconcile buffer size changes 2002-04-04 00:54:02 +00:00
Brian Paul
23d319fc7d use _glapi_get_context() instead of GET_CURRENT_CONTEXT(ctx); in buffer_size() 2002-03-29 17:20:48 +00:00
Brian Paul
18a285a5e2 Lots of changes related to framebuffer/window buffer resizing. Basically,
instead of passing a GLcontext* to ResizeBuffers(), pass a GLframebuffer*.
The idea is that a window can be resized without it being bound to a rendering
context.  This makes for a nice clean-up in the XFree86 server-side GLX code.
Renamed ctx->Driver.ResizeBuffersMESA() to ctx->Driver.ResizeBuffers().
2002-03-16 00:53:15 +00:00
Brian Paul
09a0cb464d updated comments for CHAN_BITS=16 or 32 2002-03-01 04:23:36 +00:00
Brian Paul
1cefc83a88 return GL_RENDERER = Mesa Offscreen16/32 when CHAN_BITS = 16 or 32 2002-01-30 16:53:03 +00:00
Brian Paul
10f30eb438 first checkpoint commit of Klaus's new span code (struct sw_span) 2001-12-17 04:54:35 +00:00
Keith Whitwell
31c40f0905 use correct vertex for flatshading 2001-09-25 17:38:11 +00:00
Brian Paul
2427575c21 [rgba]shift values weren't always correct, only effected blended lines 2001-09-23 21:17:03 +00:00
Karl Schultz
05ba9becc3 Make osmesa a DLL instead of a static lib (Windows). This is more
consistent with the other modules and platforms.  It also makes the
API and linkage on Windows more consistent.
2001-09-21 21:32:14 +00:00
Karl Schultz
4742735a5c compiler warnings 2001-09-18 16:51:45 +00:00
Brian Paul
e79f4b08d5 hook compressed texture functions into driver 2001-09-12 03:30:02 +00:00
Brian Paul
30230a9cd1 fixed s/w alpha bug 458411 2001-09-10 18:53:45 +00:00
Brian Paul
a0037ad8b3 added OSMESA_MAX_WIDTH/HEIGHT queries 2001-08-28 23:12:37 +00:00
Brian Paul
2a88946f9a OpenGL 1.3 support 2001-08-28 22:46:22 +00:00
Brian Paul
96385fa155 more work on float colors (still not finished) 2001-07-14 17:53:04 +00:00
Brian Paul
f431a3fb4d assorted changes for supporting GLfloat color channels (not done) 2001-07-13 20:07:37 +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
Brian Paul
5233ca8d30 fixed logic error in OSMesaMakeCurrent() for 565 pixel support (Lars Andersson) 2001-07-05 15:12:13 +00:00
Brian Paul
206eda8b69 support for RGB_565 pixels (Lars Andersson), untested 2001-06-27 13:56:17 +00:00
Brian Paul
65c6ca9179 replace 255 with CHAN_MAX 2001-06-15 13:41:12 +00:00
Brian Paul
2db44ffe9d fixed a comment 2001-06-14 18:30:14 +00:00
Brian Paul
e715c4a62d fixed s/w alpha channel bug 2001-05-31 19:25:25 +00:00
Brian Paul
9bf68ad963 New triangle rasterization code. Store per-span initial/step values in the
new triangle_span struct.  Much cleaner code and possibilities for future
optimizations.
2001-05-14 16:23:04 +00:00
Keith Whitwell
bc69de5f21 Driver interface changes 2001-05-10 12:22:32 +00:00
Brian Paul
7d58f44f73 More texture image changes.
1. Added ctx->Driver.ChooseTextureFormat() function.  Examines user's
   internalFormat, format, type params and returns a gl_texture_format.
2. _mesa_store_teximage[123]d() calls ctx->Driver.ChooseTextureFormat(),
   allocates storage and transfers the image into the desired format.
3. _mesa_transfer_teximage() now takes a gl_texture_format to describe
   the destination format.  Any combination of input format/type and
   output gl_texture_format is accepted.  Uses optimized _mesa_convert_-
   texsubimage[123]d() functions when possible.
3. DRI driver's TexImage[123]D functions should be a lot simpler now.
2001-04-04 21:54:20 +00:00
Brian Paul
2780ed4b97 silence a compiler warning 2001-03-29 17:15:21 +00:00
Keith Whitwell
7098924599 Split driver struct into swrast/tnl/core components. 2001-03-19 02:25:35 +00:00
Brian Paul
95e02a210e do fog interpolation if INTERP_FOG is defined, not when INTERP_Z is defined 2001-03-08 17:33:33 +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
0883634178 lots of gl_*() to _mesa_*() namespace clean-up 2001-03-03 20:33:27 +00:00
Brian Paul
2aadbf41df 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.
2001-02-19 20:01:41 +00:00
Brian Paul
a81b3532f7 added ctx->Driver.ResetLineStipple, misc clean-up 2001-02-12 18:32:26 +00:00
Brian Paul
9db3f95ace fixed bytesPerValue bug in OSMesaGetDepthBuffer() 2001-02-08 23:52:29 +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
d98fdad3bf Update implementations of Driver.Clear(). 2001-01-29 20:56:32 +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
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
Brian Paul
547bbcabff updated ctx->Driver functions for s/w setup 2001-01-16 21:16:56 +00:00
Brian Paul
3f9ee180a8 initialize Driver.RenderPrimitive to _swsetup_RenderPrimNoop 2001-01-12 22:34:27 +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
Brian Paul
3041d05bbc Removed fixed.h (GLfixed now in mtypes.h, fixed-pt macros in mmath.h)
Clean-up of color conversion macros.
New mmath.h macros (IROUND, IFLOOR, ICEIL, FRAC) used in various places.
2001-01-02 22:02:51 +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
dbd1e2b599 Modified Files:
Mesa/src/Allegro/amesa.c Mesa/src/DOS/dosmesa.c
 	Mesa/src/FX/fxdd.c Mesa/src/FX/fxdrv.h
 	Mesa/src/FX/fxfastpath.c
 	Mesa/src/GGI/include/ggi/mesa/ggimesa.h
 	Mesa/src/OSmesa/osmesa.c Mesa/src/SVGA/svgamesa.c
 	Mesa/src/Trace/tr_control.c Mesa/src/Windows/wgl.c
 	Mesa/src/X/xmesaP.h Mesa/src/X86/3dnow.c Mesa/src/X86/katmai.c
 	Mesa/src/X86/x86.c
 Removed Files:
 	Mesa/src/mms_depend

 Oops,... all files containing Caps in directory name or file name were
 missing in my types->mtypes commit.

----------------------------------------------------------------------
2000-11-22 08:55:51 +00:00