summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/softpipe
AgeCommit message (Collapse)Author
2009-06-16softpipe: fix out of bounds quad rasterization bugBrian Paul
For some triangles we can generate quads which lie just outside the surface bounds. Just check the quad's mask before trying to emit/process the quad. Fixes failed assertion in Lightsmark.
2009-06-15softpipe: Fix softpipe_is_texture_referenced.José Fonseca
Render results are only visible when the render cache is flushed. softpipe_is_texture_referenced must reflect that or transfers to/from the textures bound in the framebuffer won't be proceeded of the necessary flush, causing transfer data to be outdated/clobbered. This fixes conform drawpix test with softpipe.
2009-06-04softpipe: separate case for PIPE_PRIM_POLYGON in sp_vbuf_draw()Brian Paul
Because of flat shading, we can't use same code as PIPE_PRIM_TRIANGLE_FAN. This is a follow-on to commit a59575d8fbe8b0ca053cc8366ce7a42bc660158a. (cherry picked from commit 086ecea179ed572c89aa77c5f465671a5cef87a7)
2009-06-04softpipe: fix incorrect tri vertex order for PIPE_PRIM_POLYGON renderingBrian Paul
This fixes incorrect front/back-face orientation. (cherry picked from commit a64bbdaa3e0b036a880d6db65ceb4a66205062f1)
2009-05-30softpipe: fix incorrect provoking vertex color for PIPE_PRIM_POLYGONBrian Paul
This fixes the incorrect colors seen when rendering flat-shaded polygons. Note that clipped polygons were correct, but unclipped polygons were wrong. See the glean/clipFlat test for regression testing.
2009-05-18softpipe: add texture target sanity check assertionBrian Paul
2009-04-28softpipe: return PIPE_UNREFERENCED in softpipe_is_buffer/texture_referenced()Brian Paul
This allows the engine demo to run again (avoid crash in VBO code). This stuff still needs to be revisited someday though...
2009-04-23gallium/intel/gem: Use softpipe rather than i915simple if INTEL_SOFTPIPE is set.Michel Dänzer
2009-04-20softpipe: fix softpipe_is_buffer/texture_referenced() regressionBrian Paul
Return the conservative PIPE_REFERENCED_FOR_READ | PIPE_REFERENCED_FOR_WRITE value for now. This fixes a bunch of regressions seen in piglit and glean.
2009-04-18softpipe: Simplify softpipe_create's prototype.José Fonseca
2009-04-18softpipe: Fix softpipe_is_texture_referenced prototype.José Fonseca
2009-04-18softpipe: Remove softpipe_winsys.José Fonseca
Not used by softpipe anyway.
2009-04-15gallium: Make sure we flush before some texture / buffer operations.Thomas Hellstrom
Also implement context member functions to optimize away those flushes whenever possible. Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
2009-04-07softpipe: minor debug-help changes in softpipe_transfer_map()Brian Paul
2009-04-06softpipe: clean up the buffer clear and tile cache code a littleBrian Paul
2009-04-04gallium: Clean up driver clear() interface.Michel Dänzer
Only allows clearing currently bound buffers, but colour and depth/stencil in a single call.
2009-04-03softpipe: add additional surface formats in tile cache codeBrian Paul
2009-03-31softpipe: use util_is_inf_or_nan()Brian Paul
And print/warn NaN/Inf in print_vertex().
2009-03-26gallium: Remove some little-used fields from struct pipe_surface.Michel Dänzer
2009-03-25softpipe: Include declarations.José Fonseca
2009-03-23gallium: Remove remnants of reference counting internals outside of p_refcnt.h.Michel Dänzer
2009-03-22softpipe: reformatting, comments, minor clean-upsBrian Paul
2009-03-20gallium: remove use of origin_lower_leftBrian Paul
This was used to indicate OpenGL's lower-left origin for fragment window coordinates for polygon stipple and gl_FragCoord. Now: - fragment coordinate origin is always upper-left corner - GL polygon stipple is inverted and shifted before given to gallium - GL fragment programs that use INPUT[WPOS] are modified to use an inverted window coord which is placed in a temp register. Note: the origin_lower_left field still exists in pipe_rasterizer_state. Remove it when all the drivers, etc. no longer reference it.
2009-03-18softpipe: more texture transfer fixes.Brian Paul
Need to null-out pointers after freeing transfer objects. Fix mix-ups between tc->transfer and tc->tex_trans fields.
2009-03-18softpipe: need to set tc->transfer=NULL after destroying the transfer objectBrian Paul
This fixes a number of crashes/regressions in programs such as lodbias.c, mipmap_limits.c, etc.
2009-03-16softpipe: Use p_atomic_read, not atomic_read.Michal Krol
2009-03-16gallium: Use struct pipe_atomic for pipe refcounts.Thomas Hellstrom
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
2009-03-13gallium: no need to keep a copy of shader tokens in state trackerKeith Whitwell
Any driver who needs a copy of the shader tokens must organize to do so itself. This has been the case for a long time, but there was still defensive code in the state tracker, which is now removed. Any bugs resulting from this need to be fixed in the offending driver...
2009-03-13gallium: Remove do_flip argument from surface_copyJakob Bornecrantz
I should have gotten most uses and implementation correctly fixed, but things might break. Feel free to blame me.
2009-03-05Revert "softpipe: added null ptr check for align_free() call in vbuf code"Brian Paul
This reverts commit 6db24f449de9cc81e1f7bb2dde55a9819463d5e5. With a null ptr check in align_free() this is no longer needed.
2009-03-05softpipe: added null ptr check for align_free() call in vbuf codeBrian Paul
Fixes GALLIUM_NOCELL path. See bug 20475.
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-02-27softpipe: add dumping of post-tranfsormed vertices (disabled)Keith Whitwell
2009-02-24softpipe: minor code simplification for face/zslice offset calculationBrian Paul
2009-02-24softpipe: minor code movement in softpipe_get_tex_transfer()Brian Paul
2009-02-20gallium: Improve makefiles for librariesJakob Bornecrantz
The template makefile that most libraries in gallium included was based on dri and had a bunch unrelevant junk in it. Update it and improve the depending makefiles.
2009-02-18Merge branch 'gallium-texture-transfer'Michel Dänzer
Conflicts: src/gallium/drivers/softpipe/sp_tile_cache.c
2009-02-16Merge branch 'master' into gallium-texture-transferKeith Whitwell
Conflicts: src/mesa/state_tracker/st_cb_accum.c src/mesa/state_tracker/st_cb_drawpixels.c
2009-02-18Merge commit 'origin/draw-vbuf-interface'Keith Whitwell
2009-02-16softpipe: some improvements to texture tile cacheBrian Paul
Use a somewhat better function in tex_cache_pos() to get better caching. Increase number of cache entries to 50. Also fix a texture invalidation bug. If texture is marked as modified, invalidate all texture tiles.
2009-02-17softpipe: update to new draw interfacesKeith Whitwell
2009-02-12gallium: Fix a couple of potential NULL pointer dereferences.Michel Dänzer
A lot more test programs work.
2009-02-12softpipe: Unbreak keeping track of cached surface.Michel Dänzer
glxgears works.
2009-02-12Cosmetic: Rename struct pipe_transfer pointers from 'ps' to 'pt'.Michel Dänzer
Missed these for the initial gallium-texture-transfer commit.
2009-02-11softpipe: asst clean-ups, const correctness, commentsBrian Paul
2009-02-11softpipe: remove unneeded #includeBrian Paul
2009-02-11softpipe: asst comments, clean-upsBrian Paul
2009-02-11softpipe: remove some old polygon stipple stuff and do some clean-upsBrian Paul
2009-02-11softpipe: updated commentsBrian