Commit graph

5600 commits

Author SHA1 Message Date
Eric Anholt
170a61ec00 Add support for HW stencil spans, mirroring the depth spans support. Used for
Rage 128 stencil support.
2005-10-27 06:01:50 +00:00
Eric Anholt
2d0c92d81b Bump driver date for recent extension adds. 2005-10-27 01:46:39 +00:00
Aapo Tahkola
03833ba2ca Cover my arse. 2005-10-26 18:02:37 +00:00
Aapo Tahkola
d240b29b95 Reduce stderr noise and fix some compiler warnings. 2005-10-26 17:55:28 +00:00
Aapo Tahkola
22605caea8 Remove few outdated r200 files. 2005-10-26 17:04:15 +00:00
Aapo Tahkola
4dc3249f0d Sync with my local tree.
Changes to current operation:
-Elts are no longer converted to 16-bit format
-Cube maps
2005-10-26 16:42:06 +00:00
Aapo Tahkola
23f076ca67 Fix invalid vsf temp count for rv350. 2005-10-26 13:35:41 +00:00
Eric Anholt
5f79025e0d Fix the RGB order of the specular color emit, and turn GL_EXT_secondary_color
back on.  Tested using seccolor modified to use the blue channel instead of
green, since green stays in the same place across RGB/BGR mistakes.  Also hook
in UpdateSpecular on COLOR_EXT change, which might have resulted in missing
statechanges before.
2005-10-26 10:46:49 +00:00
Eric Anholt
f8a5898ca0 Add support for GL_EXT_fog_coord, tested using tests/fog.c. (Also, matches the
output from indirect rendering).
2005-10-26 10:11:34 +00:00
Eric Anholt
2330ed08c3 Add disabled support for GL_EXT_fog_coord. While it seems correct to me, it's
not respecting the coords (or perhaps interpreting them differently?) in my
testing.  However, in the process it led to a fix of a secondary color handling
issue where it would be taken from the wrong offset, I believe, based off of
reading the r200 driver.  Also add a minor tweak to save time in the
fog-but-not-specular case.
2005-10-26 09:37:53 +00:00
Eric Anholt
a09d002bb5 Move the front.offset setting above a check to shortcut reallocating buffers if
width and height stayed the same.  Rely on front.offset pointing at the origin
in the window (rather than the origin of the front buffer), and fix the coords
in swapbuffers, which were wrong.  This is different from other drivers because
we've got a back buffer with a 0,0 origin at the window's origin, which makes it
more convenient to have the front buffer match it.
2005-10-25 21:10:28 +00:00
Eric Anholt
f1113fa99d Initial add of some (disabled) SiS 6326 drawing code integrated from Alan Cox's
last drop I saw, which was in turn based on a code drop of mine.  Texturing,
culling, and several extensions are unimplemented, and some features could
probably be improved. It's untested, but there don't appear to be regressions on
the 300-series code, so I'd like to get these bits in now so that it can be
worked on as not a huge diff.
2005-10-25 20:37:01 +00:00
Eric Anholt
005070a62a Cut a bunch of code by not trying to precompute the blit commands and instead
just do it per blit.  No noticable performance difference (or behavior
difference, in my tests), and a significant difference in sanity.
2005-10-24 22:38:11 +00:00
Eric Anholt
7040b7ad88 In the last commit I added in a fatal error on unknown base formats so I
wouldn't get confused when adding support for new formats.  However, it resulted
in dying in texenv instead of drawing something undefined for GL_DECAL.  Do what
GLcore apparently does and just pass the fragment through.
2005-10-24 22:23:52 +00:00
Eric Anholt
f33beed330 Fix and enable GL_MESA_ycbcr_texture. Looks fine with yuvrect. I'm slightly
concerned that TEXEL_YUV422 looks like TEXEL_YVU422 and TEXEL_VUY422 looks like
TEXEL_VYU422 in yuvrect, but I'm happy enough for now.
2005-10-24 22:01:40 +00:00
Eric Anholt
81d3bf58ff Add support for GL_EXT_secondary_color, tested with seccolor test. 2005-10-24 21:30:06 +00:00
Eric Anholt
310f1551b4 Turn off the AGP dispatch path yet again, as it seems to be broken (found with
tuxracer and the upcoming support for secondary color).
2005-10-24 21:19:06 +00:00
Brian Paul
32340aea13 fragment program writing to result.depth.z was broken 2005-10-24 19:28:36 +00:00
Adam Jackson
c92adf4682 Add RV350 AQ chip. (popolon at popolon dot org) 2005-10-24 17:42:55 +00:00
Eric Anholt
414b742c97 Since we memcpy texture data synchronously to the card, idle the engine before
we start copying.  I haven't seen it go wrong before, but I'm pretty sure this
fix is correct.
2005-10-24 10:24:23 +00:00
Eric Anholt
60b639b9a6 - Add a few more hardware internal formats that are supported. Some remaining
ones require custom texstore, so they aren't done yet.
- Add YCBCR support commented out, since the yuvsquare test didn't work with
  just the bits I've added.
- Add the no-compression GL_ARB_texture_compression support.
- Add the driconf texture depth option and try to respect it.
2005-10-24 09:59:43 +00:00
Eric Anholt
971bdc193c Fix the GL_BLEND case (and remove the fallback associated with it) by converting
the float values to bytes before packing them.  Tested with texenv.
2005-10-24 09:02:07 +00:00
Eric Anholt
9e87119d87 Fix texenv by moving a misplaced check for being in fallback (should cover only
render state, not texture state).  While here, move a SIS_FIREVERTICES to a more
appropriate location, though it was harmless.
2005-10-24 08:27:30 +00:00
Eric Anholt
9192ab3f5d Add support for GL_ARB_texture_border_clamp and GL_ARB_texture_mirrored_repeat,
tested using texwrap, fixing the sourcing of border constant values (use the
bytes, not the floats!).  Remove the fallback on GL_CLAMP_TO_EDGE, which acts
properly, and add a note to GL_CLAMP about nonconformance (whcih is what the
fallback for CLAMP_TO_EDGE was probably targeting).
2005-10-24 08:02:44 +00:00
Eric Anholt
6efd595bf5 Fix a typo in a fallback string. 2005-10-24 07:21:56 +00:00
Eric Anholt
dc793d4e9a Add support for GL_EXT_stencil_wrap by guessing that the skip of two values in
the register header was meaningful.  It turns out those were the proper values
for the plain INCR/DECR ops, while what we were using as INCR/DECR were the
_WRAP versions.  Tested with stencil_wrap (didn't expose normal/_WRAP swapping)
and stencilwrap (exposed it nicely) tests.  Props to idr for poking me about
adding this.
2005-10-24 06:40:56 +00:00
Roland Scheidegger
3265585b15 disable yuv textures (GL_MESA_ycbcr_texture) on rv250 (hw bug, #2078). Change the initialization to fail if an unknown pci id is detected, instead of accepting all values which are not r100-based radeons. 2005-10-22 02:03:13 +00:00
Brian Paul
52f686c480 fix GLX server resize/crash when resizing windows 2005-10-21 21:39:10 +00:00
Brian Paul
7d3b26022b check span.y >=0 (bug 4842) 2005-10-21 18:35:35 +00:00
Brian Paul
54cfe69436 fix broken SWZ instruction 2005-10-21 15:22:36 +00:00
Brian Paul
b3f2e15035 fix broken KIL 2005-10-21 14:22:38 +00:00
Dave Airlie
eedc45709f add the tile bits for offset, and unk bit 31 of size 2005-10-21 06:20:27 +00:00
Brian Paul
f468dfde17 restore FASTCALL stuff 2005-10-20 22:51:50 +00:00
Brian Paul
adfd5510c0 fix bad loops in TransposeMatrix[fd]() 2005-10-20 22:04:01 +00:00
Brian Paul
255afe4abd fix another renderbuffer wrapping bug 2005-10-20 21:25:41 +00:00
Brian Paul
c8f86105d0 Disable the FASTCALL optimization because it still breaks server-side GLX. 2005-10-20 21:12:35 +00:00
Eric Anholt
6f980dbf21 Bump driver dates for the crasher fixes yesterday. 2005-10-20 20:11:46 +00:00
Jouk Jansen
b50a51118c descrip.mms syntax correction 2005-10-20 13:06:03 +00:00
Dave Airlie
806e25a5d9 fixes for r300_tex.c from Aapo Tahkola 2005-10-20 06:06:18 +00:00
Eric Anholt
2420318cd9 Make SiS a little more like other drivers: Add SIS_DEBUG (only option being
"fall" so far) and make the fallback_force option be no_rast like other drivers.
Incidentally, makes no_rast not crash (though it still fails to render).
2005-10-19 03:23:29 +00:00
Eric Anholt
e0cb784e03 Remove some long-dead code. 2005-10-19 03:07:05 +00:00
Eric Anholt
d76c7d7d3e Fix a missed merge for idr's dispatch changes: failure to do driInitExtensions
in __driCreateNewScreen_20050727 resulted in crashing in dispatch.
2005-10-19 02:46:42 +00:00
Brian Paul
dc4070c787 updated for new mm.c, execmem.c files 2005-10-19 01:28:14 +00:00
Brian Paul
ca2db58166 s/memcpy/_mesa_memcpy/, s/FREE/_mesa_free/ 2005-10-19 01:26:48 +00:00
Eric Anholt
deadd47aab Bug #4615: Fix the SiS driver for the renderbuffer changes. Previously, all
drirenderbuffers pointed at screen offset 0 and NULL.  Instead, set up the front
buffer at startup but leave the others for later, since sis allocates them on
demand rather than using the static method of the other non-sis-descendent
drivers.  Some basic apps work, but fallbacks may be broken still.
2005-10-19 00:53:05 +00:00
Eric Anholt
bf3f0bcf80 Fix a missed merge for idr's dispatch changes: failure to do driInitExtensions
in __driCreateNewScreen_20050727 resulted in crashing in dispatch.  Rendering
remains broken.
2005-10-18 23:48:59 +00:00
Brian Paul
d99c37bca6 move _mesa_exec_malloc/free() up near other malloc/free prototypes 2005-10-18 15:02:45 +00:00
Brian Paul
1c236fd5c7 Lots of clean-ups. Replace __inline__ with INLINE macro. Use the
_mesa_calloc(), _mesa_free() functions.  Clean-up formatting, doxygen-style
comments.
2005-10-18 15:01:19 +00:00
Keith Whitwell
005469005d Add _mesa_exec_malloc() and _mesa_exec_free() for allocating
executable memory.  Based on Thomas Hellstrom's patch.
TODO: glapi.c also needs this, but cannot access this code.
2005-10-18 13:29:59 +00:00
Roland Scheidegger
05e1a49ab4 on r200, don't emit fog coords when fog isn't actually enabled. Fix bug with vtxfmt not causing a fallback when fog coords are active. 2005-10-18 13:09:53 +00:00