summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/util
AgeCommit message (Collapse)Author
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
2008-10-29gallium: new sanity assertions in mmAllocMem()Brian Paul
2008-10-29gallium: prefix memory manager functions with u_ to differentiate from ↵Brian Paul
functions in mesa/main/mm.c
2008-10-07gallium: added general-purpose key->data map/lookup containerBrian Paul
2008-10-07gallium: Introduce PIPE_ARCH_SSE define for SSE support.José Fonseca
Besides meaning x86 and x86-64 architecture, it also depends on SSE2 support enabled on gcc. This fixes the linux-debug build.
2008-10-01util: No-op u_sse.h outside PIPE_ARCH_X86/X86_64.José Fonseca
2008-10-01util: Fix util_fast_pow/exp2/log2.José Fonseca
- 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.
2008-09-30util: Header for SSE2 intrinsics portability.José Fonseca
2008-09-26util: Update fast_log2 article url.José Fonseca
2008-09-23CELL: improve legibility of CELL_DEBUG environment variable outputRobert Ellison
2008-09-19util: Use OpenGL rasterization rules in blits and mipmap generation.José Fonseca
2008-09-18util: A few more memory debugging checks.José Fonseca
2008-09-18util: Add missing p_debug.h include.José Fonseca
2008-09-13gallium: add another value check to util_fast_pow()Brian Paul
Fixes glitches seen in morph3d demo.
2008-09-09util: Ensure we always have a full qualified file name on windows display.José Fonseca
2008-09-09util: Enable u_stream_std.c for PIPE_SUBSYSTEM_WINDOWS_USER.Michal Krol
2008-09-08util: Allow to define the maximum file size.José Fonseca
This avoids splitting the bitmaps in many files.
2008-09-08util: Dump surfaces to BMP.José Fonseca
This allows quick inspection of surfaces in mass scale.
2008-09-08util: Rip-off trace's os-independent stream code.José Fonseca
2008-09-05gallium: remove debug code from prev commitBrian Paul
2008-09-05gallium: new util_unpack_color_ub() functionBrian Paul
2008-09-05gallium: Pass 512 bytes max to EngDebugPrint.José Fonseca
2008-09-04gallium: new util_surface_copy() and util_surface_fill() helpersBrian Paul
These are plug-in fallbacks for the pipe->surface_copy() and pipe->surface_fill() functions.
2008-09-04gallium: Fix typo.José Fonseca