summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/util
AgeCommit message (Collapse)Author
2008-12-31util: List new file in SConscript.José Fonseca
2008-12-30gallium: Initialize var before use.José Fonseca
2008-12-22Merge commit 'origin/gallium-0.1' into gallium-0.2José Fonseca
Conflicts: src/gallium/auxiliary/util/Makefile
2008-12-22gallium: const correctness.José Fonseca
2008-12-20gallium: Fix typo in define name.José Fonseca
2008-12-19gallium: begin adapting Ian's 3D mipmap gen code to gallium utility libBrian Paul
Unfinished, a big no-op for now.
2008-12-19gallium: Fix typeo in mipmap filter for GL_UNSIGNED_SHORT_1_5_5_5_REVBrian Paul
This is copied from Ian's commit a330933bb75c38148668637cd22b90d75d39506f
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-19gallium: replace #elif with #elseBrian 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: 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-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-15Merge commit 'origin/gallium-0.1' into gallium-0.2Alan Hourihane
Conflicts: src/gallium/winsys/gdi/SConscript
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-12gallium: fixes for srgb, new srgb formatsRoland Scheidegger
add some more srgb texture formats, including compressed ones various fixes relating to srgb formats issues: the util code for generating mipmaps will not handle srgb formats correctly (would need to use a linear->srgb conversion shader)
2008-12-10Merge commit 'origin/gallium-0.1' into gallium-0.2Brian Paul
2008-12-10util: new funcs for triming/validating primitivesKeith Whitwell
2008-12-09Merge commit 'origin/gallium-0.1' into gallium-0.2Alan Hourihane
2008-12-09gallium: Abort by default on windows user space.José Fonseca
2008-11-24util: Add generic tile and detile functionsJakob Bornecrantz
2008-11-21CELL: use variant-length fragment ops programsRobert Ellison
This is a set of changes that optimizes the memory use of fragment operation programs (by using and transmitting only as much memory as is needed for the fragment ops programs, instead of maximal sizes), as well as eliminate the dependency on hard-coded maximal program sizes. State that is not dependent on fragment facing (i.e. that isn't using two-sided stenciling) will only save and transmit a single fragment operation program, instead of two identical programs. - Added the ability to emit a LNOP (No Operation (Load)) instruction. This is used to pad the generated fragment operations programs to a multiple of 8 bytes, which is necessary for proper operation of the dual instruction pipeline, and also required for proper SPU-side decoding. - Added the ability to allocate and manage a variant-length struct cell_command_fragment_ops. This structure now puts the generated function field at the end, where it can be as large as necessary. - On the PPU side, we now combine the generated front-facing and back-facing code into a single variant-length buffer (and only use one if the two sets of code are identical) for transmission to the SPU. - On the SPU side, we pull the correct sizes out of the buffer, allocate a new code buffer if the one we have isn't large enough, and save the code to that buffer. The buffer is deallocated when the SPU exits. - Commented out the emit_fetch() static function, which was not being used.
2008-11-19Merge commit 'origin/gallium-0.1' into gallium-0.2Keith Whitwell
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-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-15Merge commit 'origin/gallium-0.1' into gallium-0.2Keith Whitwell
Conflicts: src/mesa/drivers/dri/common/dri_util.c
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-12util: Optimise log2().Michal Krol
2008-11-12util: Optimise log2().Michal Krol
2008-11-12util: Add log2() definition for MSC.Michal Krol
2008-11-12util: Add log2() definition for MSC.Michal Krol
2008-11-10gallium: fix comment again. A half-closed interval was intended.Brian
Never saw the [a,b[ notation before.
2008-11-10Merge commit 'origin/gallium-0.1' into gallium-0.2Brian Paul
Conflicts: src/gallium/auxiliary/util/u_math.c
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: actually flip the coordinatesZack Rusin
2008-11-05Merge commit 'origin/gallium-0.1' into gallium-0.2Brian Paul
Conflicts: src/gallium/auxiliary/rtasm/rtasm_execmem.c src/mesa/shader/slang/slang_emit.c src/mesa/shader/slang/slang_log.c src/mesa/state_tracker/st_atom_framebuffer.c
2008-11-03gallium: Silence compiler warnings on Windows.Michal Krol
2008-11-03gallium: Read from PIPE_FORMAT_Z32_FLOAT.José Fonseca
Mainly for debugging purposes for now.
2008-11-03gallium: WinCE portability fixes.José Fonseca
2008-11-03gallium: Fix typo.José Fonseca
2008-11-03gallium: Fix msvc warning.José Fonseca