summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-12-17llvmpipe: replace INT_MIN/2 with INT_MINBrian Paul
Since changing the in/out test we can just use INT_MIN to be sure the comparison against the step values always passes.
2009-12-17llvmpipe: improve the in/out test a littleBrian Paul
Instead of: s = c + step m = s > 0 Do: m = step > c (with negated c)
2009-12-17llvmpipe: keep copy of framebuffer state in setup contextKeith Whitwell
Avoids crashes when first frame is rendered before window is mapped. Avoids potential issue where fb state is changed before setup context is flushed.
2009-12-16llvmpipe: do final the pixel in/out triangle test in the fragment shaderBrian Paul
The test to determine which of the pixels in a 2x2 quad is now done in the fragment shader rather than in the calling C code. This is a little faster but there's a few more things to do. Note that the step[] array elements are in a different order now. Rather than being in row-major order for the 4x4 grid, they're in "quad-major" order. The setup of the step arrays is a little more complicated now. So is the course/intermediate tile test code, but some lookup tables help with that. Next steps: - early-cull 2x2 quads which are totally outside the triangle. - skip the in/out test for fully contained quads - make the in/out comparison code tighter/faster.
2009-12-16llvmpipe: added lp_build_int32_vec4_type()Brian Paul
2009-12-16llvmpipe: refactor lp_build_cmp() to use lp_build_compare()Brian Paul
2009-12-15llvmpipe: tighten up an assertionBrian Paul
2009-12-15llvmpipe: use 1ULL to be ready for 64-bit arithmetic somedayBrian Paul
2009-12-14llvmpipe: fix broken TGSI_OPCODE_FRC codegenBrian Paul
2009-12-14llvmpipe: fix broken lp_build_abs()Brian Paul
2009-12-14llvmpipe: update file list in MakefileBrian Paul
2009-12-13llvmpipe: rename bins to sceneKeith Whitwell
It was pretty confusing having an entity named "bin" and another named "bins", not least because sometimes there was a need to talk about >1 of the "bins" objects, which couldn't be pluralized any further... Scene is a term used in a bunch of places to talk about what a binner operates on, so it's a decent choice here.
2009-12-12llvmpipe: rename queue size to countKeith Whitwell
2009-12-12llvmpipe: rename one of the two rasterize_bins functionsKeith Whitwell
2009-12-11llvmpipe: checkpoint: plug in the new fencing codeBrian Paul
This has only been very lightly tested. More work to come.
2009-12-11llvmpipe: added lp_rast_fence() bin functionBrian Paul
2009-12-11llvmpipe: added lp_rast_get_num_threads()Brian Paul
2009-12-11llvmpipe: added lp_bin_get_num_bins()Brian Paul
2009-12-11llvmpipe: remove old fence code, compile new lp_fence.c fileBrian Paul
2009-12-11llvmpipe: initial fence implementationBrian Paul
2009-12-11llvmpipe: implement lp_rast_load_color()Brian Paul
2009-12-11llvmpipe: checkpoint: more thread/queuing changesBrian Paul
Now mapping/unmapping the framebuffer is done by a rasteizer thread rather than the main calling thread.
2009-12-11gallium: comments and minor re-org in p_thread.hBrian Paul
There's more work to do in this file: 1. Implement condvars for Windows via Win32 CONDITION_VARIABLE type. 2. Implement barriers for Windows 3. Try to get rid of PIPE_THREAD_HAVE_CONDVAR (only used in trace driver) 4. Why the 2 in _P_THREAD2_H_?
2009-12-11gallium: added pipe_barrier type and functionsBrian Paul
2009-12-11llvmpipe: remove unused lp_rasterizer::fb fieldBrian Paul
2009-12-11llvmpipe: improve framebuffer/surface codeBrian Paul
2009-12-11llvmpipe: fix-up #includesBrian Paul
2009-12-11llvmpipe: fix inverted util_framebuffer_state_equal() resultBrian Paul
2009-12-11gallium/util: added util_unreference_framebuffer_state()Brian Paul
2009-12-11gallium/util: simplify util_framebuffer_state_equal()Brian Paul
And copy width, height in util_copy_framebuffer_state().
2009-12-11llvmpipe: remove unused fb parameterBrian Paul
2009-12-11llvmpipe: minor comment fixBrian Paul
2009-12-10llvmpipe: checkpoint: use empty/full bin queuesBrian Paul
2009-12-10llvmpipe: updated commentBrian Paul
2009-12-10llvmpipe: simplify llvmpipe_set_framebuffer_state()Brian Paul
2009-12-10gallium/util: added framebuffer compare, copy util funcsBrian Paul
2009-12-10llvmpipe: added some bin queue debug codeBrian Paul
2009-12-10llvmpipe: updated commentsBrian Paul
2009-12-09llvmpipe: added some debug/info codeBrian Paul
2009-12-09llvmpipe: simplify the tiles_x, tiles_y code a bitBrian Paul
2009-12-09progs/demos/gloss: press 'n' to advance by one frameBrian Paul
2009-12-09llvmpipe: use the empty_bins queue nowBrian Paul
2009-12-09progs/demos: call glutDestroyWindow() in gloss.cBrian Paul
2009-12-09llvmpipe: checkpoint: begin plugging in bin queue codeBrian Paul
2009-12-09llvmpipe: added new lp_bin_queue.[ch] filesBrian Paul
The queues will be used for keeping track of full and empty bins so we can overlap setup with the rasterization threads.
2009-12-09llvmpipe: use new lp_setup_get_current_bins() functionBrian Paul
This stub function will interface to the queue system...
2009-12-09llvmpipe: more bin functions for create/destroy/queriesBrian Paul
2009-12-08llvmpipe: Use number of CPUs as default number of threads.José Fonseca
Also bump MAX_THREADS to 8.
2009-12-07llvmpipe: remove some left-over debug codeBrian Paul
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.