Age | Commit message (Collapse) | Author | |
---|---|---|---|
2008-09-18 | CELL: 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-15 | gallium: emit SPU instructions in assembler-compatible syntax | Brian Paul | |
2008-09-15 | Fixed emit_RRR | Jonathan White | |
2008-09-14 | draw: Silence compiler warnings on Windows. | Michal Krol | |
2008-09-13 | gallium: add another value check to util_fast_pow() | Brian Paul | |
Fixes glitches seen in morph3d demo. | |||
2008-09-12 | gallium: added print/dump code to SPE code emitter | Brian Paul | |
2008-09-12 | gallium: added spe_splat_word() | Brian Paul | |
2008-09-12 | gallium: avoid redundant tgsi_exec_machine_bind_shader() calls on draw exec path | Brian 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-12 | gallium: use copy_token() function to avoid type punning/aliasing problems | Brian 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-12 | gallium: use new compare32() function to fix warnings about type punning and ↵ | Brian Paul | |
aliasing | |||
2008-09-12 | gallium: silence warning | Brian Paul | |
2008-09-12 | gallium: minor optimization to spe_load_int() | Brian Paul | |
2008-09-12 | gallium: initial PPC/Altivec codegen | Brian Paul | |
2008-09-11 | gallium: add special cases in spe_load_float(), spe_load_int(), added ↵ | Brian Paul | |
spe_splat() | |||
2008-09-11 | gallium: assorted additions and fixes to Cell SPE rtasm code | Brian 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-11 | gallium: comments, assertions, etc | Brian Paul | |
2008-09-10 | tgsi: Fix newline pos. | José Fonseca | |
2008-09-10 | tgsi: Verify constants are set before attempting to read them. | José Fonseca | |
2008-09-09 | util: Ensure we always have a full qualified file name on windows display. | José Fonseca | |
2008-09-09 | util: Enable u_stream_std.c for PIPE_SUBSYSTEM_WINDOWS_USER. | Michal Krol | |
2008-09-08 | tgsi: Cleanup code. | Michal Krol | |
2008-09-08 | util: Allow to define the maximum file size. | José Fonseca | |
This avoids splitting the bitmaps in many files. | |||
2008-09-08 | util: Dump surfaces to BMP. | José Fonseca | |
This allows quick inspection of surfaces in mass scale. | |||
2008-09-08 | util: Rip-off trace's os-independent stream code. | José Fonseca | |
2008-09-05 | gallium: remove debug code from prev commit | Brian Paul | |
2008-09-05 | gallium: new util_unpack_color_ub() function | Brian Paul | |
2008-09-05 | tgsi: 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-05 | gallium: Pass 512 bytes max to EngDebugPrint. | José Fonseca | |
2008-09-04 | gallium: new util_surface_copy() and util_surface_fill() helpers | Brian Paul | |
These are plug-in fallbacks for the pipe->surface_copy() and pipe->surface_fill() functions. | |||
2008-09-04 | gallium: Fix typo. | José Fonseca | |
2008-09-04 | gallium: Use pipe_buffer_* inlines as much as possible. | José Fonseca | |
2008-09-03 | gallium: silence warnings | Brian Paul | |
2008-09-03 | gallium: 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-03 | draw: Describe the steps in emit_load_R32G32B32A32. | José Fonseca | |
2008-09-02 | gallium: increase string buffer size to 16000 to avoid truncated output of ↵ | Brian Paul | |
long shaders | |||
2008-09-02 | gallium: fix out of bounds array errors in SSE execution | Brian 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-01 | gallium: include u_pointer,h, not p_pointer.h | Brian Paul | |
2008-09-02 | pipebuffer: Add missing break statement to cache lookup logic. | José Fonseca | |
Second loop was never run. Spotted by Keith. | |||
2008-09-02 | pipebuffer: 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-02 | draw: Put INLINES where appropriate. | José Fonseca | |
In the hope of MSVC inline some more functions, but without much result. | |||
2008-09-01 | util: make timed_winsys os independent | Keith Whitwell | |
2008-09-01 | util: add func to return time as uint64 microseconds | Keith Whitwell | |
2008-09-01 | add u_timed_winsys.[ch] | Keith Whitwell | |
2008-08-31 | util: Fix compiler errors in the release build of C++ sources. | José Fonseca | |
2008-08-28 | pipebuffer: Fix/add detail to the under- overflow report messages. | José Fonseca | |
2008-08-28 | pipebuffer: Check buffer over- & underflows when mapping/unmapping too. | José Fonseca | |
2008-08-26 | gallium: thread wrapper clean-up | Brian Paul | |
In p_thread.h replace _glthread_* functions with new pipe_* functions. Remove other old cruft. | |||
2008-08-26 | draw: attempt atomic submit of large drawelements calls | Keith Whitwell | |
2008-08-25 | gallium: added const qualifiers on some draw funcs | Brian | |
2008-08-25 | gallium: include p_debug.h for non-HAVE_POSIX_MEMALIGN | Brian | |