Commit Graph

18669 Commits

Author SHA1 Message Date
Brian Paul e232471baa mesa: fix texture enable regression
Need to clear the _ReallyEnabled field before possibly continuing the loop.
Also, set _Current pointer to NULL if the unit is no longer enabled.

Fixes piglit lodbias regression
2009-03-02 15:19:53 -07:00
Brian Paul 7e0f47c134 mesa: use _mesa_reference_texobj() when setting texUnit->Current pointer
Fixes piglit copytexsubimage regression.
2009-03-02 14:29:37 -07:00
Brian Paul 97dd2ddbd9 mesa: don't draw arrays if vertex position array is not enabled
For regular GL, we must have vertex positions in order to draw.  But ES2
doesn't have that requirement (positions can be computed from any array
of data).

See bug 19911.
2009-03-02 12:27:16 -07:00
Brian Paul f1a083d4b8 gallium: only enable depth test if a depth bufffer is available 2009-03-02 11:51:46 -07:00
Brian Paul 8fec37c0f1 mesa: remove warning/short-circuit of stencil enable w/ no stencil buffer
With FBOs one could enable stencil before a stencil buffer is later bound.
2009-03-02 11:49:37 -07:00
Brian Paul 91e61f435a mesa: use Stencil._Enabled field instead of Stencil.Enabled 2009-03-02 11:49:37 -07:00
Brian Paul f352a80aec mesa: add ctx->Stencil._Enabled field
Only true if stenciling is enabled, and there's a stencil buffer.
2009-03-02 11:49:37 -07:00
Younes Manton 2755a27d7d nouveau: Grab correct surface from temp texture for transfers. 2009-03-02 13:05:06 -05:00
Younes Manton c9fe0f7ab5 g3dvl: Grab surface pointer when flushing front buffer in SP winsys. 2009-03-02 13:05:05 -05:00
Brian Paul 07e50058a5 swrast: use _EnabledCoordUnits for fixed-function texturing
Using _EnabledUnits was wrong because it included vertex texture units.

This change plus the prev commit fixes occasional failures of glean/glsl1
vertex texture test failure.
2009-03-02 11:01:16 -07:00
Brian Paul e68208f262 mesa: fixed computation of _EnabledCoordUnits
This field should not include vertex textures.  It indicates the coord
inputs for fragment / fixed-function processing.
2009-03-02 10:58:51 -07:00
Brian Paul e30f765763 mesa: clarify comments for per-unit texture bitfields 2009-03-02 09:44:32 -07:00
Brian Paul 000c3438c9 mesa: move texture_override() code into calling loop
We can avoid a few iterations this way.
2009-03-02 09:44:32 -07:00
Brian Paul ebabdf9920 mesa: move update_texture_compare_function() call out of loop 2009-03-02 09:44:32 -07:00
Brian Paul 555f0a8818 mesa: remove unused AUX buffers
Remove all references to aux buffers 1..3.  Keep AUX0 around for now just
in case, but it'll probably go too someday.  I don't know of any OpenGL
drivers since the IRIX days that support aux color buffers.
2009-03-02 09:44:32 -07:00
Brian Paul baf2c746c1 mesa: remove VF_SOURCES, simplify MATH_XFORM_SOURCES 2009-03-02 08:05:30 -07:00
Corbin Simpson b70f344e22 r300-gallium: Clean up casts and indents. 2009-03-01 18:24:40 -08:00
Corbin Simpson af8a41e5c7 r300-gallium: Split off invariant state.
It's kind of like a CSO todo list. :3
2009-03-01 18:12:05 -08:00
Corbin Simpson 8b8e954f9e r300-gallium: Add RADEON_NO_TCL debugging option.
Just like R300_NO_TCL, when set, forces HW TCL off.
2009-02-28 14:07:17 -08:00
Corbin Simpson 0328e838c2 r300-gallium: Fix register count. 2009-02-28 14:01:28 -08:00
Corbin Simpson ba5f184829 r300-gallium: Fix hardlocks on trivial/clear.
I'm so happy I could cry.
2009-02-28 13:27:28 -08:00
Corbin Simpson 731aa326ff r300-gallium: Use rs_state emit for r300_surface, move a few things around.
Also a possible fix for non-TCL chipsets and trivial/clear.
2009-02-28 11:22:40 -08:00
Corbin Simpson 2b7d39da1f r300-gallium: Move maths from r300_state to r300_state_inlines. 2009-02-28 11:22:40 -08:00
Brian Paul 23682dc629 mesa: just re-order some parts and update comments in sources.mak 2009-02-28 11:56:15 -07:00
Brian Paul 8d475822e6 mesa: rename, reorder FRAG_RESULT_x tokens
s/FRAG_RESULT_DEPR/FRAG_RESULT_DEPTH/
s/FRAG_RESULT_COLR/FRAG_RESULT/COLOR/
Remove FRAG_RESULT_COLH (NV half-precision) output since we never used it.
Next, we might merge the COLOR and DATA outputs (COLOR0, COLOR1, etc).
2009-02-28 11:49:46 -07:00
Brian Paul 7787fa10ba mesa: add gallium state tracker sources to ALL_SOURCES
This should fix some missing dependency checking.
2009-02-28 11:17:27 -07:00
Brian Paul 4c4268dd31 mesa: convert some #defines to enums
This makes debugging with gdb a bit easier.
Ex:
(gdb) p ctx->DrawBuffer.Attachment[BUFFER_STENCIL]

Note however that gdb only seems to recognize enum types that are actually
used to declare a variable somewhere.  For example, gl_buffer_index isn't
used to declare any vars so it's invisible to gdb.  Work around this by
adding a dummy function in context.c that declares some vars with these
new types.
2009-02-28 11:17:26 -07:00
Brian Paul c50c2e4e98 mesa: move _GenFlags = 0x0 to texgen loop 2009-02-28 11:09:13 -07:00
Brian Paul c88c8d7993 mesa: use fp pointer in _tnl_InvalidateState() 2009-02-28 11:09:13 -07:00
Joakim Sindholt b2b2febe2c mesa: fix remaining FEEDBACK_TOKEN macros
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
2009-02-28 10:07:15 -08:00
Corbin Simpson 5f1fdaabd1 r300-gallium: Cleanup color formats. 2009-02-28 09:56:35 -08:00
Corbin Simpson d1559eac6d r300-gallium: Be more Gallium-ish in some of the math. 2009-02-28 09:56:35 -08:00
Corbin Simpson 3673fc35d6 r300-gallium: Move all state translators to r300_state_inlines.
Tryin' to do some cleanup.
2009-02-28 09:56:34 -08:00
Brian Paul b7ebc270a4 mesa: move #include "bitset.h" out of mtypes.h - not needed in core Mesa 2009-02-28 10:08:22 -07:00
Brian Paul 079554a480 mesa: add a prototype to silence warnings 2009-02-28 10:06:55 -07:00
David Miller ae5c06b9ce mesa: Sparc's IROUND() optimization is invalid.
We can't use the "fstoi" instruction like this.

Unlike other floating point instructions, "fstoi" always rounds
towards zero no matter what rounding mode the FPU has been set to.

This was validated using the following test program:

--------------------
static inline int iround(float f)
{
   int r;
   __asm__ ("fstoi %1, %0" : "=f" (r) : "f" (f));
   return r;
}
#define IROUND(x)  iround(x)

#define IROUND_REF(f)  ((int) (((f) >= 0.0F) ? ((f) + 0.5F) : ((f) - 0.5F)))

int main(void)
{
	float f = -2.0;

	while (f < 3.0f) {
		int sparc_val = IROUND(f);
		int ref_val = IROUND_REF(f);

		if (sparc_val != ref_val)
			printf("DIFFERENT[%f]: REF==%d SPARC==%d\n",
			       f, ref_val, sparc_val);
		f += 0.1f;
	}

	return 0;
}
--------------------

which prints out things like:

--------------------
DIFFERENT[-1.900000]: REF==-2 SPARC==-1
DIFFERENT[-1.800000]: REF==-2 SPARC==-1
DIFFERENT[-1.700000]: REF==-2 SPARC==-1
DIFFERENT[-1.600000]: REF==-2 SPARC==-1
DIFFERENT[-1.000000]: REF==-1 SPARC==0
DIFFERENT[-0.900000]: REF==-1 SPARC==0
DIFFERENT[-0.800000]: REF==-1 SPARC==0
DIFFERENT[-0.700000]: REF==-1 SPARC==0
DIFFERENT[-0.600000]: REF==-1 SPARC==0
DIFFERENT[0.500000]: REF==1 SPARC==0
DIFFERENT[0.600000]: REF==1 SPARC==0
...
--------------------

So we have to remove Sparc's IROUND() definition, it's wrong.

Signed-off-by: David S. Miller <davem@davemloft.net>
2009-02-28 09:36:56 -07:00
Brian Paul 389d50baff mesa: move GLfixed type and related macros to swrast module
Fixed point is only used in swrast and sw-based drivers.
2009-02-28 09:35:16 -07:00
Brian Paul 8bf25a17d2 mesa: convert macro to inline function 2009-02-28 09:35:16 -07:00
Brian Paul bf8a187f71 mesa: replace FEEDBACK_TOKEN macro with _mesa_feedback_token() inline function 2009-02-28 09:35:15 -07:00
Brian Paul 559aec4701 mesa: comments, whitespace, reformatting 2009-02-28 09:35:15 -07:00
Brian Paul f6021ab3c6 mesa: remove dead code 2009-02-28 09:35:15 -07:00
Brian Paul 7f25d9ebb4 mesa: move gl_attrib_node struct to attrib.c too 2009-02-28 09:35:15 -07:00
Brian Paul 55399c2951 mesa: move gl_enable_attrib struct to attrib.c, the only place it's used 2009-02-28 09:35:15 -07:00
Brian Paul bedd20743b mesa: lots of updated comments, formatting clean-ups 2009-02-28 09:35:15 -07:00
Corbin Simpson 3e131d7d74 r300-gallium: A handful of fixups. 2009-02-28 08:14:35 -08:00
Corbin Simpson 2b5770e652 r300-gallium: Fix C99 error. 2009-02-28 08:14:35 -08:00
Corbin Simpson b210c3fb3f r300-gallium: Fix RS.
I should just stop using "git stash" altogether.
2009-02-28 08:14:35 -08:00
Michal Krol ba91e79dad tgsi: More descriptive sanity diagnostic messages. 2009-02-28 16:53:37 +01:00
Brian Paul c6bde8873f intel: remove some unneeded buffer unmap calls
Core mesa now unmaps the buffers if needed in these cases.
2009-02-27 15:57:46 -07:00
Brian Paul a070937c00 mesa: update fragResults array in arb_output_attrib_string()
Plus add some comments.
2009-02-27 13:45:49 -07:00