summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary
AgeCommit message (Collapse)Author
2008-12-22gallium: const correctness.José Fonseca
2008-12-20gallium: Fix typo in define name.José Fonseca
2008-12-19gallium: Simple and efficient cache.José Fonseca
Fixed size hash table. Collisions are handled by simply destroying the previous entry. It hasn't received much testing yet.
2008-12-19gallium: replace #elif with #elseBrian Paul
2008-12-18tgsi: scan for additional info: uses_fogcoord, uses_frontfacingBrian Paul
2008-12-18Gallium: fix for conform testRobert Ellison
The following construction in util_surface_copy() in gallium/auxiliary/util/u_rect.c, introduced in commit d177c9ddda2c452cf7d6696d89cf4458ef986f98, incorrectly inverts the Y coordinate in the last parameter to pipe_copy_rect(). /* If do_flip, invert src_y position and pass negative src stride */ pipe_copy_rect(dst_map, &dst->block, dst->stride, dst_x, dst_y, w, h, src_map, do_flip ? -(int) src->stride : src->stride, src_x, do_flip ? w - src_y : src_y); The intention is to start at the last Y coordinate line and move backwards, in the case of a flip; in that case, the correct calculation is "src_y + h - 1", not "w - src_y". This fixes a Gallium assertion failure in the conformance tests: u_rect.c:65:pipe_copy_rect: Assertion `src_y >= 0' failed. debug_get_bool_option: GALLIUM_ABORT_ON_ASSERT = TRUE Trace/breakpoint trap
2008-12-18gallium: Enable memory debugging on all windows platforms.José Fonseca
2008-12-17gallium: fix memory corruption in u_gen_mipmap.cBrian Paul
Remove the old/initial vbuf allocation in util_create_gen_mipmap(). We were allocating a small vbuf at this point so get_next_slot() didn't have as large of buffer as it expected. So all but the first set_vertex_data() was writing out of bounds. Also added some comments.
2008-12-12Merge branch 'no-validate' into gallium-0.1Keith Whitwell
2008-12-12gallium: avoid mapping same vertex buffer in subsequent framesKeith Whitwell
Quite a few util modules were maintaining a single vertex buffer over multiple frames, and potentially reusing it in subsequent frames. Unfortunately that would force us into syncrhonous rendering as the buffer manager would be forced to wait for the previous rendering to complete prior to allowing the map. This resolves that issue, but requires the state tracker to issue a few new flush() calls at the end of each frame.
2008-12-12Revert "pipebuffer: Implement proper buffer validation."Keith Whitwell
This reverts commit a6d866f72c88d48d2bcfb3e3c882fdb639b5a8ce.
2008-12-12Revert "pipebuffer: Ondemand buffer manager."Keith Whitwell
This reverts commit 17849eafaacfbb2124d86f561a91b707317d3b31.
2008-12-12Revert "pipebuffer: Fix buffer overflow."Keith Whitwell
This reverts commit 55839ae064d64b7fcc180fcddb364bf31ab760dc.
2008-12-11draw: Silencium compiler warnings on Windows.Michal Krol
2008-12-10gallium: added draw_set_mrd() function to fix polygon offsetBrian Paul
The Minimum Resolvable Depth factor depends on the driver and can't just be computed from the number of Z buffer bits. Glean's polygon offset test now passes with softpipe. Still need to determine the MRD factor for other gallium drivers, if they use the draw module's polygon offset stage...
2008-12-10util: new funcs for triming/validating primitivesKeith Whitwell
2008-12-10draw: add const qualifiersKeith Whitwell
2008-12-09gallium: Abort by default on windows user space.José Fonseca
2008-11-26tgsi: Reenable OPCODE_ARR.Michal Krol
2008-11-26tgsi: Fix build.Michal Krol
2008-11-26tgsi: Implement OPCODE_ROUND for SSE2 backend.Michal Krol
2008-11-26tgsi: Implement OPCODE_SSG/SGN.Michal Krol
2008-11-26gallium: disable TGSI_OPCODE_ARR case until emit_rnd() is redone.Brian Paul
2008-11-26Revert "tgsi: Implement OPCODE_ROUND for SSE2 backend."Brian Paul
This reverts commit 685fd2c035e284db2447ede0f6da278adaa70a0d. Does not compile since emit_rnd() is trying to pass 4 params to emit_func_call_dst() which takes 3 params.
2008-11-26tgsi: Implement OPCODE_ARR.Michal Krol
2008-11-26tgsi: Implement OPCODE_ROUND for SSE2 backend.Michal Krol
2008-11-25pipebuffer: Fix buffer overflow.José Fonseca
2008-11-24pipebuffer: Ondemand buffer manager.José Fonseca
A variation of malloc buffers which get transferred to real graphics memory when there is an attempt to validate them.
2008-11-24pipebuffer: Implement proper buffer validation.José Fonseca
2008-11-17gallium: Use costum log2 for all windows builds.José Fonseca
2008-11-17gallium: State when there are no memory leaks detected.José Fonseca
2008-11-17gallium: Make handle_table reentrant.José Fonseca
Ensure that the object has consistent state also when calling the destroy callback. Namely, ensure the object passed to the callback is removed from the table prior to calling the destroy callback to avoid a infinite loop or double free.
2008-11-14gallium: increase table size for fast log/pow functionsBrian Paul
The various conformance tests pass now.
2008-11-14util: Use OpenGL rasterization rules in blits and mipmap generation.Brian Paul
2008-11-14translate: pull in prefetch and other optimizations from draw_vs_aos.cKeith Whitwell
2008-11-12util: Optimise log2().Michal Krol
2008-11-12util: Add log2() definition for MSC.Michal Krol
2008-11-12draw: Add missing include.Michal Krol
2008-11-10gallium: fix comment again. A half-closed interval was intended.Brian
Never saw the [a,b[ notation before.
2008-11-10gallium: fix typos in commentsBrian Paul
2008-11-10gallium: actually flip the coordinatesZack Rusin
2008-11-09util: Fix util_fast_pow/exp2/log2.Brian
- Use a lookup table for log2. - Compute (float) (1 << ipart) by tweaking with the exponent directly to avoid integer overflow and float conversion. - Also table negative exponents to avoid float division and branching. - Implement util_fast_exp as function of util_fast_exp2. -------- Cherry-picked from gallium-0.2: 8415d06d90a197e16554dab98d160334fd9f9f93 This fixes some pow() glitches seen in fslight.c, spectex.c, etc. Conflicts: src/gallium/auxiliary/util/u_math.h
2008-11-09gallium: _debug_vprintf() should be silent if DEBUG is not definedBrian
2008-11-06gallium: implement TGSI_OPCODE_NRM/NRM4 in tgsi_exec.cBrian
2008-11-06gallium: debug code to print vertex array data (disabled)Brian Paul
2008-11-05gallium: check execution mask in indirect register loadsBrian
Zero-out the index for disabled execution channels to avoid using potential garbage values (thus avoiding bad array indexing).
2008-11-05gallium: don't range check tgsi register index for indirect accessesBrian
Fixes progs/vp/arl.txt test.
2008-11-05gallium: call tgsi_set_exec_mask() and use exec mask in SSE ARL codeBrian Paul
This prevents vertex shaders from referencing invalid memory locations when the shader is operating on less than four vertices or fragments.
2008-11-05gallium: added tgsi_set_exec_mask()Brian Paul
2008-11-05gallium: added some sanity check assertions for constant buffer indexingBrian Paul