Brian Paul [Sat, 5 Nov 2005 03:02:28 +0000 (03:02 +0000)]
don't need MAKE_SWIZZLE() macro
Brian Paul [Sat, 5 Nov 2005 02:15:21 +0000 (02:15 +0000)]
Replace parameter_type enum in program.[ch], use register_file enums instead.
Brian Paul [Sat, 5 Nov 2005 02:12:44 +0000 (02:12 +0000)]
minor improvements in _mesa_init_teximage_fields()
Brian Paul [Fri, 4 Nov 2005 16:52:41 +0000 (16:52 +0000)]
use VERT_RESULT_HPOS, VERT_BIT_POS tokens
Brian Paul [Fri, 4 Nov 2005 16:47:22 +0000 (16:47 +0000)]
better ffs() function (bug 4956)
Brian Paul [Fri, 4 Nov 2005 16:43:28 +0000 (16:43 +0000)]
just pass ctx to do_ndc_cliptest() rather than stuffing it in the arb_vp_machine struct
Brian Paul [Fri, 4 Nov 2005 16:41:06 +0000 (16:41 +0000)]
MESA_GLX_ALPHA_BITS env var to force visual with alpha channel
Brian Paul [Fri, 4 Nov 2005 00:58:17 +0000 (00:58 +0000)]
remove unneeded HIDDEN definition (bug 4956)
Brian Paul [Fri, 4 Nov 2005 00:52:08 +0000 (00:52 +0000)]
fix MinGW problems (bug 4956)
Adam Jackson [Thu, 3 Nov 2005 20:49:07 +0000 (20:49 +0000)]
s/dri.sourceforge.net/dri.freedesktop.org/
Brian Paul [Thu, 3 Nov 2005 03:30:34 +0000 (03:30 +0000)]
Streamline code generation by using a fixed size instruction buffer in
arb_program struct.
Brian Paul [Thu, 3 Nov 2005 02:35:15 +0000 (02:35 +0000)]
use WRITEMASK_* tokens
Brian Paul [Thu, 3 Nov 2005 02:28:47 +0000 (02:28 +0000)]
s/15/VERT_RESULT_MAX/
Brian Paul [Thu, 3 Nov 2005 02:26:47 +0000 (02:26 +0000)]
added a const, clean-up
Brian Paul [Thu, 3 Nov 2005 02:25:10 +0000 (02:25 +0000)]
fix typo, minor clean-ups
Brian Paul [Wed, 2 Nov 2005 21:01:26 +0000 (21:01 +0000)]
added osdemos/ dir to DEMO_FILES
Brian Paul [Wed, 2 Nov 2005 20:59:37 +0000 (20:59 +0000)]
implement USE_MGL_NAMESPACE for x86-64 dispatch code (Mark Bolstad)
Brian Paul [Wed, 2 Nov 2005 18:06:12 +0000 (18:06 +0000)]
Rename FRAG_OUTPUT_* tokens to FRAG_RESULT_* to match vertex program convention
Jouk Jansen [Wed, 2 Nov 2005 15:24:14 +0000 (15:24 +0000)]
Committing in .
Updated OpenVMS compile support (define tnl for include files)
Modified Files:
Mesa/src/mesa/drivers/common/descrip.mms
----------------------------------------------------------------------
Aapo Tahkola [Wed, 2 Nov 2005 14:12:52 +0000 (14:12 +0000)]
Use ctx->VertexProgram._Current .
Aapo Tahkola [Wed, 2 Nov 2005 14:07:03 +0000 (14:07 +0000)]
Remove some ghost code and adjust things a bit.
Keith Whitwell [Wed, 2 Nov 2005 12:58:38 +0000 (12:58 +0000)]
More useful ARL test
Eric Anholt [Wed, 2 Nov 2005 01:15:07 +0000 (01:15 +0000)]
First step of Radeon DRI unification:
- Makes all three drivers use the same screen structure and setup code, with a
few ifdefs for the separate compilation to deal with symbols not being
available to all drivers and the fact that we have no mechanism for dealing
with different config options for different chip families in the same driver.
These issues should be dealt with later.
- Introduces IS_R[123]00_CLASS(radeonScreenPtr) macro for code for taking
different paths depending on the general class of chipset.
- Adds many new R300-class PCI IDs, though not all those listed in
radeon_driver.c.
Keith Whitwell [Tue, 1 Nov 2005 20:29:59 +0000 (20:29 +0000)]
add an arl test
Aapo Tahkola [Tue, 1 Nov 2005 18:12:58 +0000 (18:12 +0000)]
Fix broken tnl stage.
Keith Whitwell [Tue, 1 Nov 2005 17:29:46 +0000 (17:29 +0000)]
Add a NotifyInputChanges() callback so that drivers (particularly tnl
drivers) can track when the sizes or strides of incoming VB->AttribPtr
arrays have changed.
Keith Whitwell [Tue, 1 Nov 2005 17:25:49 +0000 (17:25 +0000)]
Several fp and vp tweaks:
- Renumber VERT_RESULT_* values so that they match the
numbers of the corresponding FRAG_ATTRIB_ values.
- Add ctx->VertexProgram._Current and FragmentProgram._Current
values which point to either the current client-supplied
program if enabled, or otherwise to the current mesa-internal
program. Thus this program is always the correct one for
the current state, providing that the mesa flags to turn on
automatic generation are enabled.
- Add callbacks to ctx->Driver.BindProgram() in texenvprogram.c
and t_vp_build.c so that the driver knows when the generated
program changes. This is cleaner than trying to code all the
possible _NEW_* flags into the driver, and more precise as well.
- Add a UsesKill flag to identify fragment programs with that
instruction, as these can require special treatment.
- Move the FRAG_OUTPUT values to mtypes.h, near to similar defn's.
Aapo Tahkola [Tue, 1 Nov 2005 16:59:13 +0000 (16:59 +0000)]
Re-enable fallbacks.
Aapo Tahkola [Tue, 1 Nov 2005 15:52:08 +0000 (15:52 +0000)]
-Fix first frame -bug
-Use 16-bit elts in vtxfmt_a path if possible
-Optimize VSF param uploading
-return in r300DepthMask looks suspicious, use r300Enable instead
-Dont use r300ResetHwState in invalidate state(disabled, missing hooks, possible instabilities)
Aapo Tahkola [Tue, 1 Nov 2005 15:43:06 +0000 (15:43 +0000)]
Fix segmentation fault in _tnl_ProgramCacheDestroy().
Keith Whitwell [Tue, 1 Nov 2005 12:22:48 +0000 (12:22 +0000)]
Make colors match the fp tests (really)
Keith Whitwell [Tue, 1 Nov 2005 12:20:13 +0000 (12:20 +0000)]
Make colors match the fp tests
Keith Whitwell [Tue, 1 Nov 2005 06:28:39 +0000 (06:28 +0000)]
standalone tests for vp instructions
Brian Paul [Tue, 1 Nov 2005 04:36:33 +0000 (04:36 +0000)]
Re-org and clean-up of vertx/fragment program limits (instructions,
temporaries, parameters, etc).
glGetProgramivARB() now returns all the right things.
Updated i915 and r300 code to initialize program native limits and
current program's native instruction/temporary/etc counts.
Brian Paul [Mon, 31 Oct 2005 21:52:56 +0000 (21:52 +0000)]
fix problems found with gcc 2.96 (bug 4934)
Brian Paul [Mon, 31 Oct 2005 19:46:55 +0000 (19:46 +0000)]
check swrast->_FogEnabled instead of ctx->Fog.Enabled
Aapo Tahkola [Mon, 31 Oct 2005 14:37:33 +0000 (14:37 +0000)]
Need more than 200 instructions.
Aapo Tahkola [Mon, 31 Oct 2005 14:34:32 +0000 (14:34 +0000)]
Improve tnl program searching performance.
Brian Paul [Sun, 30 Oct 2005 21:46:00 +0000 (21:46 +0000)]
Simplify parse_attrib_binding().
Now only use VERT_ATTRIB_* and FRAG_ATTRIB_* tokens instead of
hard-coded numbers.
Note: previous check-in did similarly for output register parsing.
Brian Paul [Sun, 30 Oct 2005 21:23:23 +0000 (21:23 +0000)]
Lots of clean-up in arb program parser.
Use new _mesa_init_fp/vp_instruction() function to initialize instructions.
Brian Paul [Sun, 30 Oct 2005 16:52:02 +0000 (16:52 +0000)]
need to use absolute value for RSQ
Brian Paul [Sat, 29 Oct 2005 18:29:54 +0000 (18:29 +0000)]
added some assertions to catch unexpected swizzle values in cvp_emit_arg(), currently fails sometimes
Brian Paul [Sat, 29 Oct 2005 18:26:43 +0000 (18:26 +0000)]
Use MAKE_SWIZZLE4() macro in a few more places.
Clean up the parse_extended_swizzle_mask() and parse_swizzle_mask() functions.
Brian Paul [Sat, 29 Oct 2005 18:18:46 +0000 (18:18 +0000)]
reduced swizzle comment
Brian Paul [Sat, 29 Oct 2005 17:07:09 +0000 (17:07 +0000)]
Free old parameter list before assigning new one. FIxes memory leak.
Brian Paul [Sat, 29 Oct 2005 16:51:34 +0000 (16:51 +0000)]
added warning about use of REG_SCRATCH
Brian Paul [Sat, 29 Oct 2005 16:17:01 +0000 (16:17 +0000)]
clean-up comments
Brian Paul [Sat, 29 Oct 2005 16:15:47 +0000 (16:15 +0000)]
s/lenght/length/
Brian Paul [Sat, 29 Oct 2005 16:05:18 +0000 (16:05 +0000)]
fix LIT bug
Brian Paul [Sat, 29 Oct 2005 16:03:19 +0000 (16:03 +0000)]
fix a few bugs in SWZ execution
Brian Paul [Sat, 29 Oct 2005 15:56:53 +0000 (15:56 +0000)]
fix errors in RoughApproxPower(), do_LIT(), _tnl_program_string()
Brian Paul [Sat, 29 Oct 2005 15:52:31 +0000 (15:52 +0000)]
If parsing a program fails, don't change the vertex/fragment program object.
Specifically, don't attach a dummy program.
This change also fixes an occasional segfault.
Some code clean-ups. Use GLboolean instead of GLuint to return pass/fail.
Eric Anholt [Sat, 29 Oct 2005 00:27:01 +0000 (00:27 +0000)]
Bug #4901: Correct secondary color emission when lighting is turned off, tested
with seccolor on rv200 and r200.
Submitted by: sroland
Ian Romanick [Fri, 28 Oct 2005 18:41:03 +0000 (18:41 +0000)]
Add new test "texfilt". This test is a cousin to texwrap. Instead of
testing various texture wrap modes, this test examines various texture
filter modes, including anisotropic.
Add CFLAGS to a couple places in Makefile so that 32-bit builds on
64-bit archs will work correctly.
Brian Paul [Fri, 28 Oct 2005 15:40:08 +0000 (15:40 +0000)]
Keith's fixes for RSW and XPD (need temporaries)
Brian Paul [Fri, 28 Oct 2005 15:22:28 +0000 (15:22 +0000)]
include tnl.h to silence warning
Brian Paul [Fri, 28 Oct 2005 14:41:06 +0000 (14:41 +0000)]
Added assert that result != arg0 in do_RSW. This currently fails and needs fixing.
Brian Paul [Fri, 28 Oct 2005 14:32:49 +0000 (14:32 +0000)]
TNL module needs to implement ctx->Driver.ProgramStringNotify() function
so that calls to glProgramStringARB() to specify a new program causes the
TNL-attached data to get recomputed.
Brian Paul [Fri, 28 Oct 2005 13:12:28 +0000 (13:12 +0000)]
add newline at end of file
Brian Paul [Fri, 28 Oct 2005 13:11:00 +0000 (13:11 +0000)]
don't use -Wmissing-prototypes for C++ code
Brian Paul [Fri, 28 Oct 2005 13:09:23 +0000 (13:09 +0000)]
silence a bunch of compiler warnings
Aapo Tahkola [Fri, 28 Oct 2005 12:43:41 +0000 (12:43 +0000)]
Silence gcc-4 warnings.
Aapo Tahkola [Fri, 28 Oct 2005 12:14:58 +0000 (12:14 +0000)]
Fix texture mixup when two or more contexts.
Dave Airlie [Fri, 28 Oct 2005 12:05:25 +0000 (12:05 +0000)]
fix missing commit for span changes
Dave Airlie [Fri, 28 Oct 2005 12:00:09 +0000 (12:00 +0000)]
fix up radeon span functions using latest r200 code from Brian,
tested with reflect on 32-bit.. not sure why depthHasSurface isn't needed
Aapo Tahkola [Fri, 28 Oct 2005 09:28:32 +0000 (09:28 +0000)]
Compiled arrays for vtxfmt_a path.
Eric Anholt [Fri, 28 Oct 2005 07:00:41 +0000 (07:00 +0000)]
GC a bit of dead code I noticed while looking at texwrap.
Eric Anholt [Fri, 28 Oct 2005 06:15:11 +0000 (06:15 +0000)]
Correct the ordering of the blend constant color.
Eric Anholt [Thu, 27 Oct 2005 21:21:05 +0000 (21:21 +0000)]
Add support for GL_EXT_stencil_wrap, from hearing that the windows drivers did
it, and guessing that the two remaining entries in the 3-bit values were the
new funcs. Tested with modified stencilwrap test. Also, remove the commented
fallback stuff -- more modification to stencilwrap suggests that those issues
were just from span readback, not stencil implementation.
Eric Anholt [Thu, 27 Oct 2005 20:26:24 +0000 (20:26 +0000)]
Bug #1028: Add hardware-accelerated stencil support to r128. Testing with
stencilwrap reported many issues with various modes. Some of these were
complicated by the fact that spans are broken (Bug #1615), but some appear to be
real bugs. However, while spans remain broken, I found that visual results were
better by avoiding fallbacks rather than avoiding just a broken stencil
implementation. Note that this required changing the depth spans at 24+8bpp
into read-modify-write cycles. It would be nicer as a single write with
a mask, but the kernel span blits turn off masking.
Reviewed by: ajax
Eric Anholt [Thu, 27 Oct 2005 19:59:41 +0000 (19:59 +0000)]
Bug #4900: Fix the non-fogcoord fog test on r100 (and rv200) at tcl_mode=1 by
flipping the signs on two factors. While this contradicts the DDK, it matches
what r200 does, and it fixes the test.
Eric Anholt [Thu, 27 Oct 2005 06:01:50 +0000 (06:01 +0000)]
Add support for HW stencil spans, mirroring the depth spans support. Used for
Rage 128 stencil support.
Eric Anholt [Thu, 27 Oct 2005 01:46:39 +0000 (01:46 +0000)]
Bump driver date for recent extension adds.
Aapo Tahkola [Wed, 26 Oct 2005 18:02:37 +0000 (18:02 +0000)]
Cover my arse.
Aapo Tahkola [Wed, 26 Oct 2005 17:55:28 +0000 (17:55 +0000)]
Reduce stderr noise and fix some compiler warnings.
Aapo Tahkola [Wed, 26 Oct 2005 17:04:15 +0000 (17:04 +0000)]
Remove few outdated r200 files.
Aapo Tahkola [Wed, 26 Oct 2005 16:42:06 +0000 (16:42 +0000)]
Sync with my local tree.
Changes to current operation:
-Elts are no longer converted to 16-bit format
-Cube maps
Aapo Tahkola [Wed, 26 Oct 2005 13:35:41 +0000 (13:35 +0000)]
Fix invalid vsf temp count for rv350.
Eric Anholt [Wed, 26 Oct 2005 10:46:49 +0000 (10:46 +0000)]
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.
Eric Anholt [Wed, 26 Oct 2005 10:11:34 +0000 (10:11 +0000)]
Add support for GL_EXT_fog_coord, tested using tests/fog.c. (Also, matches the
output from indirect rendering).
Eric Anholt [Wed, 26 Oct 2005 09:53:38 +0000 (09:53 +0000)]
Add built programs to .cvsignore.
Eric Anholt [Wed, 26 Oct 2005 09:48:03 +0000 (09:48 +0000)]
Add a fog mode (normal and fog_coord, leaner/exp/exp2 mode) testing program I
wrote for sis, which has also exposed a few bugs elsewhere.
Eric Anholt [Wed, 26 Oct 2005 09:37:53 +0000 (09:37 +0000)]
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.
Eric Anholt [Tue, 25 Oct 2005 21:10:28 +0000 (21:10 +0000)]
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.
Eric Anholt [Tue, 25 Oct 2005 20:37:01 +0000 (20:37 +0000)]
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.
Brian Paul [Mon, 24 Oct 2005 23:33:27 +0000 (23:33 +0000)]
updates from 6.4 branch
Eric Anholt [Mon, 24 Oct 2005 22:38:11 +0000 (22:38 +0000)]
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.
Eric Anholt [Mon, 24 Oct 2005 22:23:52 +0000 (22:23 +0000)]
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.
Eric Anholt [Mon, 24 Oct 2005 22:01:40 +0000 (22:01 +0000)]
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.
Eric Anholt [Mon, 24 Oct 2005 21:30:06 +0000 (21:30 +0000)]
Add support for GL_EXT_secondary_color, tested with seccolor test.
Eric Anholt [Mon, 24 Oct 2005 21:19:06 +0000 (21:19 +0000)]
Turn off the AGP dispatch path yet again, as it seems to be broken (found with
tuxracer and the upcoming support for secondary color).
Brian Paul [Mon, 24 Oct 2005 19:28:36 +0000 (19:28 +0000)]
fragment program writing to result.depth.z was broken
Adam Jackson [Mon, 24 Oct 2005 17:42:55 +0000 (17:42 +0000)]
Add RV350 AQ chip. (popolon at popolon dot org)
Eric Anholt [Mon, 24 Oct 2005 10:24:23 +0000 (10:24 +0000)]
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.
Eric Anholt [Mon, 24 Oct 2005 09:59:43 +0000 (09:59 +0000)]
- 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.
Eric Anholt [Mon, 24 Oct 2005 09:02:07 +0000 (09:02 +0000)]
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.
Eric Anholt [Mon, 24 Oct 2005 08:27:30 +0000 (08:27 +0000)]
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.
Eric Anholt [Mon, 24 Oct 2005 08:02:44 +0000 (08:02 +0000)]
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).
Eric Anholt [Mon, 24 Oct 2005 07:21:56 +0000 (07:21 +0000)]
Fix a typo in a fallback string.
Eric Anholt [Mon, 24 Oct 2005 06:40:56 +0000 (06:40 +0000)]
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.