Age | Commit message (Collapse) | Author | |
---|---|---|---|
2008-09-22 | cell: Added DPH instruction and verified against softpipe. | Jonathan White | |
2008-09-19 | cell: make sure the fragment ops and fragment shader code buffer is at a ↵ | Brian Paul | |
32-byte boundary To make sure even/odd instructions hit the right pipes. | |||
2008-09-19 | cell: Added FRC instruction | Jonathan White | |
2008-09-19 | cell: Added FLR instruction. Verified the following instructions match ↵ | Jonathan White | |
softpipe: MOV, ADD, MUL, SGE, SUB, MAD, ABS, SLT, MIN, MAX, LRP, DP3, DP4, CMP, FLR | |||
2008-09-19 | cell: Fixed bugs with DP3 and DP4, they match softpipe results now. | Jonathan White | |
2008-09-19 | cell: flesh out support for other Z/stencil format | Brian Paul | |
Also: improve float/int Z conversion. Use clgt instead of cgt in depth test since we're comparing unsigned values. | |||
2008-09-19 | cell: issue warning to stderr when using fallback fragment ops | Brian Paul | |
2008-09-19 | cell: fix a comment | Brian Paul | |
2008-09-19 | cell: the test for CELL_DEBUG_FRAGMENT_OP_FALLBACK in ↵ | Brian Paul | |
cmd_state_fragment_ops() was inverted | |||
2008-09-19 | cell: change spe_complement() to take a src and dst reg, like other instructions | Brian Paul | |
2008-09-19 | CELL: add codegen for logic op, color mask | Robert Ellison | |
- rtasm_ppc_spe.c, rtasm_ppc_spe.h: added a new macro function "spe_load_uint" for loading and splatting unsigned integers in a register; it will use "ila" for values 18 bits or less, "ilh" for word values that are symmetric across halfwords, "ilhu" for values that have zeroes in their bottom halfwords, or "ilhu" followed by "iohl" for general 32-bit values. Of the 15 color masks of interest, 4 are 18 bits or less, 2 are symmetric across halfwords, 3 are zero in the bottom halfword, and 6 require two instructions to load. - cell_gen_fragment.c: added full codegen for logic op and color mask. | |||
2008-09-18 | CELL: mark several transient files as .gitignore | Robert Ellison | |
progs/demos: added new demo "fbo_firecube" progs/glsl: added new demo "pointcoord" src/gallium/drivers/cell/spu: added the g3d_spu executable, a Cell SPU executable file, which seems to be occasionally built as part of the cell driver src/glu/sgi: added "exptmp", a byproduct of the "mklib" process that sometimes gets deleted and sometimes not. | |||
2008-09-18 | cell: Added CMP instruction | Jonathan White | |
2008-09-18 | cell: Fix bug with complement logic for SGE and SLE | Jonathan White | |
2008-09-18 | cell: Added SGE and SLE instructions to dispatch function | Jonathan White | |
2008-09-18 | cell: Added SGE and SLE instructions | Jonathan White | |
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-17 | cell: example of doing fs/fm sequence with fnms in blending | Brian Paul | |
2008-09-17 | cell: dump generated code if CELL_DEBUG=asm | Brian Paul | |
2008-09-17 | CELL: fleshing out the blending fragment ops | Robert Ellison | |
- Added two new debug flags (to be used with the CELL_DEBUG environment variable). The first, "CELL_DEBUG=fragops", activates SPE fragment ops debug messages. The second, "CELL_DEBUG=fragopfallback", will eventually be used to disable the use of generated SPE code for fragment ops in favor of the default fallback reference routine. (During development, though, the parity of this flag is reversed: all users will get the reference code *unless* CELL_DEBUG=fragopfallback is set. This will prevent hiccups in code generation from affecting the other developers.) - Formalized debug message usage and macros in spu/spu_main.c. - Added lots of new code to ppu/cell_gen_fragment.c to extend the number of supported source RGB factors from 4 to 15, and to complete the list of supported blend equations. More coming, to complete the source and destination RGB and alpha factors, and to complete the rest of the fragment operations... | |||
2008-09-16 | cell: Added RCP and RSQ instruction support. | Jonathan White | |
2008-09-16 | cell: Added DP3 and DP4 instructions | Jonathan White | |
2008-09-16 | cell: Optimized LERP with fma | Jonathan White | |
Please enter the commit message for your changes. | |||
2008-09-16 | cell: Fixed MIN/MAX algorithm | Jonathan White | |
2008-09-15 | cell: export CELL_DEBUG=asm to dump SPU assembly code | Brian Paul | |
2008-09-15 | cell: Added LERP instruction | Jonathan White | |
2008-09-15 | cell: Added support for SLT, SEQ and SNE instructions | Jonathan White | |
2008-09-15 | cell: Added support for ABS instruction | Jonathan White | |
2008-09-15 | Added support for SUB and MAD instructions | Jonathan White | |
2008-09-13 | cell: implement negation, absolute value and set-sign for src regs in code gen | Brian Paul | |
2008-09-12 | cell: remove old disassembly/dump code; use dumper code in SPE emitter. | Brian Paul | |
2008-09-12 | cell: implement DDX/DDY codegen (untested) | Brian Paul | |
2008-09-12 | cell: implement TGSI immediates in SPE code generator | Brian Paul | |
2008-09-12 | cell: initial support for IF/ELSE/ENDIF in fragment shader codegen | Brian Paul | |
Only one level of if/else/endif nesting is currently working. | |||
2008-09-12 | cell: evaluate multiple fragment inputs | Brian Paul | |
2008-09-12 | cell: disable invalid spe_release_func() calls, fixes crash on exit | Brian Paul | |
2008-09-12 | cell: implement colormask on fallback path | Brian Paul | |
Also, some var renaming and additional comments | |||
2008-09-12 | cell: fix non-debug build error | Brian Paul | |
2008-09-12 | cell: implement swizzling for src regs | Brian Paul | |
2008-09-12 | cell: setup fragment program inputs in SOA format | Brian Paul | |
Also remove old code, etc. | |||
2008-09-12 | cell: disable calls to old gen code | Brian Paul | |
2008-09-11 | cell: initial support for fragment shader code generation. | Brian Paul | |
TGSI shaders are translated into SPE instructions which are then sent to the SPEs for execution. Only a few opcodes work, no swizzling yet, no support for constants/immediates, etc. | |||
2008-09-11 | cell: minor improvements to fragment code-gen | Brian Paul | |
2008-09-11 | cell: put cell_ prefix on gen_fragment_function() | Brian Paul | |
2008-09-11 | cell: more comments, stub code for colormask/logicop/etc | Brian Paul | |
2008-09-11 | cell: fix typos in blend code-gen | Brian Paul | |
2008-09-11 | cell: remove old state CMDs, added comments | Brian Paul | |
2008-09-11 | cell: clean-up, comments | Brian Paul | |
2008-09-11 | cell: disable NEW_VS emit | Brian Paul | |
2008-09-11 | cell: don't build unused sources | Brian Paul | |