summaryrefslogtreecommitdiff
path: root/src/mesa
AgeCommit message (Collapse)Author
2009-03-02mesa: fix texture enable regressionBrian Paul
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-02mesa: use _mesa_reference_texobj() when setting texUnit->Current pointerBrian Paul
Fixes piglit copytexsubimage regression.
2009-03-02mesa: don't draw arrays if vertex position array is not enabledBrian Paul
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-02gallium: only enable depth test if a depth bufffer is availableBrian Paul
2009-03-02mesa: remove warning/short-circuit of stencil enable w/ no stencil bufferBrian Paul
With FBOs one could enable stencil before a stencil buffer is later bound.
2009-03-02mesa: use Stencil._Enabled field instead of Stencil.EnabledBrian Paul
2009-03-02mesa: add ctx->Stencil._Enabled fieldBrian Paul
Only true if stenciling is enabled, and there's a stencil buffer.
2009-03-02swrast: use _EnabledCoordUnits for fixed-function texturingBrian Paul
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-02mesa: fixed computation of _EnabledCoordUnitsBrian Paul
This field should not include vertex textures. It indicates the coord inputs for fragment / fixed-function processing.
2009-03-02mesa: clarify comments for per-unit texture bitfieldsBrian Paul
2009-03-02mesa: move texture_override() code into calling loopBrian Paul
We can avoid a few iterations this way.
2009-03-02mesa: move update_texture_compare_function() call out of loopBrian Paul
2009-03-02mesa: remove unused AUX buffersBrian Paul
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-02mesa: remove VF_SOURCES, simplify MATH_XFORM_SOURCESBrian Paul
2009-02-28mesa: just re-order some parts and update comments in sources.makBrian Paul
2009-02-28mesa: rename, reorder FRAG_RESULT_x tokensBrian Paul
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-28mesa: add gallium state tracker sources to ALL_SOURCESBrian Paul
This should fix some missing dependency checking.
2009-02-28mesa: convert some #defines to enumsBrian Paul
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-28mesa: move _GenFlags = 0x0 to texgen loopBrian Paul
2009-02-28mesa: use fp pointer in _tnl_InvalidateState()Brian Paul
2009-02-28mesa: fix remaining FEEDBACK_TOKEN macrosJoakim Sindholt
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
2009-02-28mesa: move #include "bitset.h" out of mtypes.h - not needed in core MesaBrian Paul
2009-02-28mesa: add a prototype to silence warningsBrian Paul
2009-02-28mesa: Sparc's IROUND() optimization is invalid.David Miller
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-28mesa: move GLfixed type and related macros to swrast moduleBrian Paul
Fixed point is only used in swrast and sw-based drivers.
2009-02-28mesa: convert macro to inline functionBrian Paul
2009-02-28mesa: replace FEEDBACK_TOKEN macro with _mesa_feedback_token() inline functionBrian Paul
2009-02-28mesa: comments, whitespace, reformattingBrian Paul
2009-02-28mesa: remove dead codeBrian Paul
2009-02-28mesa: move gl_attrib_node struct to attrib.c tooBrian Paul
2009-02-28mesa: move gl_enable_attrib struct to attrib.c, the only place it's usedBrian Paul
2009-02-28mesa: lots of updated comments, formatting clean-upsBrian Paul
2009-02-27intel: remove some unneeded buffer unmap callsBrian Paul
Core mesa now unmaps the buffers if needed in these cases.
2009-02-27mesa: update fragResults array in arb_output_attrib_string()Brian Paul
Plus add some comments.
2009-02-27mesa: set bufObj->Pointer = NULL after unmappingBrian Paul
Also, ctx->Driver.UnmapBuffer can never be null, so remove conditional.
2009-02-27mesa: if a buffer object is mapped when glDeleteBuffers() is called, unmap itBrian Paul
2009-02-27mesa: updated commentsBrian Paul
2009-02-27mesa: fix incorrect error handling in glBufferDataARB()Brian Paul
If glBufferDataARB() is called while a buffer object is currently mapped we're supposed to unmap the current buffer, then replace it. Don't generate an error.
2009-02-27i915: Add support for a new G33-like chipset.Shaohua Li
Signed-off-by: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
2009-02-27i965: texture fixes: bordered textures, fallback renderingRobert Ellison
i965 doesn't natively support GL_CLAMP; it treats it like GL_CLAMP_TO_EDGE, which fails conformance tests. This fix adds a clause to the check_fallbacks() test to check whether GL_CLAMP is in use on any enabled 2D texture. If so, and if strict conformance is required (via INTEL_STRICT_CONFORMANCE), a software fallback is mandated. In addition, validate textures *before* checking for fallbacks, rather than after; otherwise, the texture state is never validated and can't be trusted. (In particular, if texturing is enabled and the sampler would access any level beyond level 0 of a texture, the sampler will segfault, because texture validation sets the firstLevel and lastLevel fields of a texture object so that the valid levels will be mapped and accessed correctly. If texture validation doesn't occur, only level 0 is accessed correctly, and that only because firstLevel and lastLevel happen to be set to 0.)
2009-02-27gallium: fix state tracker's stencil buffer testBrian Paul
Need to check ctx->DrawBuffer->Visual.stencilBits not ctx->Visual.stencilBits because the later only applies to the window system buffers, not user-created FBOs. This, plus the previous commit, fixes progs/tests/fbotexture.c
2009-02-27gallium: add st_validate_framebuffer() driver functionBrian Paul
Gallium only supports combined depth/stencil buffers, not separate ones. If the user tries to create create a FBO with separate depth/stencil renderbuffers mark the FBO as unsupported.
2009-02-27mesa: Fix and re-enable sparc normal asm.David Miller
Fix a bug reported in 2003 :-) The output vector has 4 entries, not 3. Unconditionally emit .register directives. Signed-off-by: David S. Miller <davem@davemloft.net>
2009-02-27mesa: Fix Sparc cliptest asm code and re-enable.David Miller
Stop using register %g7 since that is used by the "system" (ie. the pthread implementation makes use of it). Also, the projection vector can be NULL and we shouldn't try to access it at all in _mesa_sparc_cliptest_points4_np(). ioquake3 would crash due to this bug. Finally, unconditionally emit the register directives and re-enable in _mesa_init_all_sparc_transform_asm(). Signed-off-by: David S. Miller <davem@davemloft.net>
2009-02-26mesa: Fix DEBUG_MATH build on sparc.David S. Miller
Need to use '__asm__' instead of plain 'asm'. math/m_debug_clip.c: In function ‘test_cliptest_function’: math/m_debug_clip.c:253: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘asm’ math/m_debug_clip.c:253: warning: implicit declaration of function ‘asm’ Signed-off-by: David S. Miller <davem@davemloft.net>
2009-02-26intel: no-op the intel_finish_render_texture() functionBrian Paul
It doesn't have to do anything. See comments for more details.
2009-02-26intel: check texture formats in intel_validate_framebuffer()Brian Paul
We can't render into any texture format; only certain formats. Check that render-to-texture's format is renderable in the intel_validate_framebuffer() There seems to be a bug somewhere that causes rendering to rgb565 textures to be corrupted so disallow that for now. This will be revisted.
2009-02-26intel: updated comment, some debug code (disabled)Brian Paul
2009-02-26i965: rename draw_regions -> color_regionsroot
Be a little more specific about what these are.
2009-02-26mesa: avoid extraneous calls to ctx->Driver.BindFramebuffer()Brian Paul
Only call this driver function when we really need to bind different buffers.