summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary
AgeCommit message (Collapse)Author
2008-09-18CELL: finish fragment ops blending (except for unusual D3D modes)Robert Ellison
- Added new "macro" functions spe_float_min() and spe_float_max() to rtasm_ppc_spe.{ch}. These emit instructions that cause the minimum or maximum of each element in a vector of floats to be saved in the destination register. - Major changes to cell_gen_fragment.c to implement all the blending modes (except for the mysterious D3D-based PIPE_BLENDFACTOR_SRC1_COLOR, PIPE_BLENDFACTOR_SRC1_ALPHA, PIPE_BLENDFACTOR_INV_SRC1_COLOR, and PIPE_BLENDFACTOR_INV_SRC1_ALPHA). - Some revamping of code in cell_gen_fragment.c: use the new spe_float_min() and spe_float_max() functions (instead of expanding these calculations inline via macros); create and use an inline utility function for handling "optional" register allocation (for the {1,1,1,1} vector, and the blend color vectors) instead of expanding with macros; use the Float Multiply and Subtract (fnms) instruction to simplify and optimize many blending calculations.
2008-09-15gallium: emit SPU instructions in assembler-compatible syntaxBrian Paul
2008-09-15Fixed emit_RRRJonathan White
2008-09-14draw: Silence compiler warnings on Windows.Michal Krol
2008-09-13gallium: add another value check to util_fast_pow()Brian Paul
Fixes glitches seen in morph3d demo.
2008-09-12gallium: added print/dump code to SPE code emitterBrian Paul
2008-09-12gallium: added spe_splat_word()Brian Paul
2008-09-12gallium: avoid redundant tgsi_exec_machine_bind_shader() calls on draw exec pathBrian Paul
tgsi_exec_machine_bind_shader() isn't cheap so avoiding unecessary calls is a big win. A similar change should be done for softpipe's fragment exec path but extra care needs to be taken with the texture sampler state/params.
2008-09-12gallium: use copy_token() function to avoid type punning/aliasing problemsBrian Paul
This fixes parsing errors seen with optimized builds on PPC (which led to crashes). The memcpy() is heavy-handed, but works. A lighter uint assignment could be used on x86...
2008-09-12gallium: use new compare32() function to fix warnings about type punning and ↵Brian Paul
aliasing
2008-09-12gallium: silence warningBrian Paul
2008-09-12gallium: minor optimization to spe_load_int()Brian Paul
2008-09-12gallium: initial PPC/Altivec codegenBrian Paul
2008-09-11gallium: add special cases in spe_load_float(), spe_load_int(), added ↵Brian Paul
spe_splat()
2008-09-11gallium: assorted additions and fixes to Cell SPE rtasm codeBrian Paul
Fix incorrect opcode for fsmbi. Added "macro" functions for loading floats/ints, register complement, zero, move. Added #defines for return address and stack pointer registers. Added assertions to check that the instruction buffer doesn't overflow.
2008-09-11gallium: comments, assertions, etcBrian Paul
2008-09-10tgsi: Fix newline pos.José Fonseca
2008-09-10tgsi: Verify constants are set before attempting to read them.José Fonseca
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-08tgsi: Cleanup code.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-05tgsi: Refactor tgsi_dump to avoid using string buffers when dumping.José Fonseca
This fixes a stack overflow when dumping shaders. It ended up being pretty much as the original code Michal had before, before I went on a cleanup rampage on it and took things that ended up needing...
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
2008-09-04gallium: Use pipe_buffer_* inlines as much as possible.José Fonseca
2008-09-03gallium: silence warningsBrian Paul
2008-09-03gallium: Have pipe_buffer_* receive a pipe_screen instead of a pipe_context.José Fonseca
We want to use the pipe_buffer_* inlines everywhere, but a pipe context is not always available nor is it needed.
2008-09-03draw: Describe the steps in emit_load_R32G32B32A32.José Fonseca
2008-09-02gallium: increase string buffer size to 16000 to avoid truncated output of ↵Brian Paul
long shaders
2008-09-02gallium: fix out of bounds array errors in SSE executionBrian Paul
1. #define MAX_INPUTS/OUTPUTS/TEMPS/etc with better values. 2. Add assertions in aos_get_x86() to check register file indexes 3. Assert that constant regs haven't changed after running SSE code.
2008-09-01gallium: include u_pointer,h, not p_pointer.hBrian Paul
2008-09-02pipebuffer: Add missing break statement to cache lookup logic.José Fonseca
Second loop was never run. Spotted by Keith.
2008-09-02pipebuffer: Comment the slab code. Remove the freeSlabs list.José Fonseca
The freeSlabs list is not really needed as we free empty slabs immediately. Time based cached is done separately.
2008-09-02draw: Put INLINES where appropriate.José Fonseca
In the hope of MSVC inline some more functions, but without much result.
2008-09-01util: make timed_winsys os independentKeith Whitwell
2008-09-01util: add func to return time as uint64 microsecondsKeith Whitwell
2008-09-01add u_timed_winsys.[ch]Keith Whitwell
2008-08-31util: Fix compiler errors in the release build of C++ sources.José Fonseca
2008-08-28pipebuffer: Fix/add detail to the under- overflow report messages.José Fonseca
2008-08-28pipebuffer: Check buffer over- & underflows when mapping/unmapping too.José Fonseca
2008-08-26gallium: thread wrapper clean-upBrian Paul
In p_thread.h replace _glthread_* functions with new pipe_* functions. Remove other old cruft.
2008-08-26draw: attempt atomic submit of large drawelements callsKeith Whitwell
2008-08-25gallium: added const qualifiers on some draw funcsBrian
2008-08-25gallium: include p_debug.h for non-HAVE_POSIX_MEMALIGNBrian