summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-12-07llvmpipe: implement threaded rasterizationBrian Paul
The LP_NUM_THREADS env var controls how many threads are created. The default (and max) is 4, for now. If LP_NUM_THREADS = 0, threading is not used.
2009-12-07gallium: added pipe_semaphore and related codeBrian Paul
2009-12-07llvmpipe: repartition lp_rasterizer state for threadingBrian Paul
Some of the state is per-thread. Put that state in new lp_rasterizer_task struct.
2009-12-07llvmpipe: use bin iteration functions when rasterizing binsBrian Paul
2009-12-07llvmpipe: introduce mutex and bin iteration functionsBrian Paul
2009-12-04llvmpipe: still more bin code reorganizationBrian Paul
Move tiles_x,y fields from setup state into bin state. Move more bin-adding commands into lp_bin.[ch].
2009-12-04llvmpipe: remove dead code left over from a previous commitBrian Paul
2009-12-04llvmpipe: reorganization of binning data structions and funtionsBrian Paul
New lp_bins struct contains all bin information. More move bin-related code into lp_bin.[ch] Use new/updated bin-access functions to hide implementation details. The result is more/cleaner separation between the setup and rast components. This will make double-buffering of the bins easier, etc.
2009-12-04llvmpipe: move lp_rasterize_bin() into lp_rast.cBrian Paul
First step of moving bin rasterization/execution code out of lp_setup.c
2009-12-04llvmpipe: simplify framebuffer state codeBrian Paul
2009-12-04llvmpipe: use LP_DBG() macro everywhereBrian Paul
2009-12-04llvmpipe: fix-up polygon culling/windingBrian Paul
2009-12-04llvmpipe: add missing sources to MakefileBrian Paul
2009-12-04llvmpipe: comments and minor clean-upsBrian Paul
2009-12-04llvmpipe: move bin-related structures and functions into new lp_bin.[ch]Brian Paul
And put lp_ prefixes on some functions.
2009-12-04llvmpipe: remove lp_rast_triangle::oneoverarea fieldBrian Paul
Makes lp_rast_triangle a little smaller (now 280 bytes on a 32-bit system).
2009-12-04llvmpipe: bin state-change commandsBrian Paul
Previously, each triangle had a pointer to the state to use for shading. Now we insert state-change commands into the bins. When we execute one of those commands we just update a 'current state' pointer and use that pointer when calling the jit shader. When inserting state-change commands into a bin we check if the previous command was also a state-change command and simply replace it. This avoids accumulating useless/redundant state-change commands.
2009-12-04llvmpipe: struct cmd_binBrian Paul
Just introducing a new structure to represent a per-tile bin.
2009-12-04llvmpipe: fix typo, whitespaceBrian Paul
2009-12-04llvmpipe: dynamic allocation of triangle a0/dadx/dady arraysBrian Paul
Much less memory per triangle now.
2009-12-03llvmpipe: comments regarding lp_rast_triangleBrian Paul
2009-12-03llvmpipe: comment about blend colorBrian Paul
2009-12-03llvmpipe: commentsBrian Paul
2009-12-03llvmpipe: new comment in do_triangle_ccw()Brian Paul
2009-12-03llvmpipe: fix incorrect array indexing when saving blend colorBrian Paul
2009-12-03llvmpipe: comments, clean-ups in lp_rast_priv.hBrian Paul
2009-12-03llvmpipe: checkpoint some initial state binning codeBrian Paul
2009-12-03llvmpipe: comments and a stub for lp_rast_set_state()Brian Paul
2009-12-03llvmpipe: commentsBrian Paul
2009-12-03llvmpipe: set LP_SETUP_NEW_FS in lp_setup_set_fs()Brian Paul
Fixes progs/trivial/tri-blend.c, but I think we're just getting lucky in this case.
2009-12-03llvmpipe: more debug infoBrian Paul
2009-12-03llvmpipe: fix blend debug stringsBrian Paul
2009-12-03progs/trivial: readback and print Z value in tri-z-eq.cBrian Paul
2009-12-03llvmpipe: quick & dirty implementation of lp_rast_store_zstencil()Brian Paul
This allows us to do a glReadPixels(GL_DEPTH_COMPONENT) to see what's in the depth buffer to help debugging.
2009-12-03llvmpipe: additional comment about float->uint conversionBrian Paul
2009-12-03llvmpipe: commentsBrian Paul
2009-12-02llvmpipe: execute shaders on 4x4 blocks instead of 8x2Brian Paul
This matches the convention used by the recursive rasterizer. Also fixed assorted typos, comments, etc. Now tri-z.c, gears.c, etc look basically right but there's still some cracks in triangle rasterization.
2009-12-02llvmpipe: whitespace for readabilityBrian Paul
2009-12-01llvmpipe: added assertionsBrian Paul
And remove unused BLOCKSIZE.
2009-12-01llvmpipe: simplify mask computationBrian Paul
Make this a little easier to understand.
2009-12-01llvmpipe: replace shifts with multiplies to be clearerBrian Paul
The compiler will still do the multiplies with shifts. It's just a bit easier to follow the logic with multiplies.
2009-12-01llvmpipe: make nr_blocks unsignedBrian Paul
2009-12-01llvmpipe: comments, reformatting and assertions in tri rast codeBrian Paul
2009-11-30progs/trivial: added two simple texture testsBrian Paul
One draws a series of quads with different textures. The other draws with one texture which is changed with glTexSubImage2D().
2009-11-30llvmpipe: add a bunch of commentsBrian Paul
2009-11-30llvmpipe: minor refactoring of bin rasterization codeBrian Paul
2009-11-30llvmpipe: update C_SOURCESBrian Paul
2009-10-22llvmpipe: fix the worst of the depth regressions since switch to 4x4Keith Whitwell
2009-10-21llvmpipe: remove one of two definitions of TILESIZEKeith Whitwell
2009-10-21llvmpipe: remove dead codeKeith Whitwell