summaryrefslogtreecommitdiff
path: root/src/mesa
AgeCommit message (Collapse)Author
2009-03-04vbo: second attempt - avoid getting buffer_ptr and buffer_map out of syncKeith Whitwell
2009-03-04mesa: Clear cache->trans after destroying the transfer.José Fonseca
2009-03-04Revert "vbo: avoid getting buffer_ptr and buffer_map out of sync"Keith Whitwell
This fixed a minor bug but broke everything else. This reverts commit 579ef8ab1984d895867f547afa60b3bec4c4599a.
2009-03-04vbo: avoid getting buffer_ptr and buffer_map out of syncKeith Whitwell
2009-03-04vbo: use FLUSH_UPDATE_CURRENT flag to indicate whether the vbo module is activeKeith Whitwell
Add asserts for expected values on wakeup and flush. Remove cases where this flag is set or cleared except when waking up and flushing vbo module.
2009-03-04mesa: include mfeatures.hBrian Paul
See bug 20319.
2009-03-04gallium: Remove some superfluous instances of #include "p_inlines.h".Michel Dänzer
2009-03-04gallium: Unify reference counting.Michel Dänzer
The core reference counting code is centralized in p_refcnt.h. This has some consequences related to struct pipe_buffer: * The screen member of struct pipe_buffer must be initialized, or pipe_buffer_reference() will crash trying to destroy a buffer with reference count 0. u_simple_screen takes care of this, but I may have missed some of the drivers not using it. * Except for rare exceptions deep in winsys code, buffers must always be allocated via pipe_buffer_create() or via screen->*buffer_create() rather than via winsys->*buffer_create().
2009-03-03mesa: include main/dd.h in t_vb_points.c and t_vp_build.cBrian Paul
For some reason makedepend doesn't seem to find the dependency on this header in these two files. Directly including the header is a work-around.
2009-03-03gallium: remove old state tracker renderbuffer attachment assertionBrian Paul
Not needed since renderbuffers are ref-counted. Fixes progs/demos/shadowtex.
2009-03-03xlib: code to force fixed function -> shader translation (for debug, disabled)Brian Paul
2009-03-03mesa: fix sw fallback state validation bugBrian Paul
When a hw driver fell back to swrast, swrast wasn't always getting informed of program changes. When fixed function is translated into shaders, flags like _NEW_LIGHT, _NEW_TEXTURE, etc. should really signal _NEW_PROGRAM. In this case, swrast wasn't seeing _NEW_PROGRAM when new fragment shaders were generated.
2009-03-03Merge commit 'origin/gallium-0.1'Keith Whitwell
Conflicts: scons/gallium.py src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/gallium/include/pipe/p_defines.h src/mesa/vbo/vbo_exec_api.c src/mesa/vbo/vbo_exec_draw.c
2009-03-03vbo: missing line from previous commitKeith Whitwell
2009-03-03mesa/st: implement MapBufferRange callbackKeith Whitwell
Using PIPE_BUFFER_USAGE_DONTBLOCK.
2009-03-03vbo: use MapBufferRange where availableKeith Whitwell
Previously would have to allocate a new VBO after firing a draw command as subsequent call to Map() on old VBO might block if the driver had submitted the commands to hardware.
2009-03-03mesa: add MapBufferRange driver callbacksKeith Whitwell
Will be needed in coming GL extensions (GL_map_buffer_range, GL 3.0). Will be used by the vbo module to avoid reallocating vbo's at each draw primitive call.
2009-03-03mesa: Add BeginVertices driver callKeith Whitwell
Provides notification to the VBO modules prior to the first immediate call. Pairs with FlushVertices()
2009-03-02mesa: save some useful VBO debug/dump code (disabled)Brian Paul
2009-03-02mesa: more tex image debug/dumping codeBrian Paul
2009-03-02mesa: comments and code documenting a bug with depth 32 TrueColor ↵Brian Paul
drawing/reading It seems that XGetImage() from a depth 32 TrueColor window is flakey. Drawing with XPutImage() instead of XPutPixel() seems to work better, but still not perfectly. Keep using the original code for now until more is learned.
2009-03-02mesa: move call to update_texture_compare_function()Brian Paul
Another conditional can be avoided.
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