Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | CELL: finish fragment ops blending (except for unusual D3D modes) | Robert Ellison | 2008-09-18 | 2 | -1/+48 |
| | | | | | | | | | | | | | | | | | | | | - 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. | ||||
* | gallium: emit SPU instructions in assembler-compatible syntax | Brian Paul | 2008-09-15 | 1 | -8/+12 |
| | |||||
* | Fixed emit_RRR | Jonathan White | 2008-09-15 | 1 | -1/+1 |
| | |||||
* | gallium: added print/dump code to SPE code emitter | Brian Paul | 2008-09-12 | 2 | -25/+113 |
| | |||||
* | gallium: added spe_splat_word() | Brian Paul | 2008-09-12 | 2 | -0/+29 |
| | |||||
* | gallium: minor optimization to spe_load_int() | Brian Paul | 2008-09-12 | 1 | -1/+2 |
| | |||||
* | gallium: initial PPC/Altivec codegen | Brian Paul | 2008-09-12 | 2 | -0/+546 |
| | |||||
* | gallium: add special cases in spe_load_float(), spe_load_int(), added ↵ | Brian Paul | 2008-09-11 | 2 | -9/+40 |
| | | | | spe_splat() | ||||
* | gallium: assorted additions and fixes to Cell SPE rtasm code | Brian Paul | 2008-09-11 | 2 | -21/+105 |
| | | | | | | | 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. | ||||
* | gallium: comments, assertions, etc | Brian Paul | 2008-09-11 | 2 | -13/+43 |
| | |||||
* | gallium: include u_pointer,h, not p_pointer.h | Brian Paul | 2008-09-01 | 1 | -1/+1 |
| | |||||
* | gallium: thread wrapper clean-up | Brian Paul | 2008-08-26 | 1 | -5/+6 |
| | | | | | In p_thread.h replace _glthread_* functions with new pipe_* functions. Remove other old cruft. | ||||
* | gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.h | Brian Paul | 2008-08-24 | 2 | -2/+2 |
| | | | | Also, rename p_tile.[ch] to u_tile.[ch] | ||||
* | rtasm: Use enum sse_cc in sse_cmpps. | José Fonseca | 2008-06-02 | 2 | -2/+2 |
| | |||||
* | Merge branch 'gallium-tex-surfaces' into gallium-0.1 | Jakob Bornecrantz | 2008-05-30 | 1 | -1/+1 |
|\ | | | | | | | | | | | Conflicts: src/gallium/drivers/i915simple/i915_context.h | ||||
| * | rtasm: special case for [ebp] | Keith Whitwell | 2008-05-28 | 1 | -1/+1 |
| | | |||||
* | | Merge branch 'gallium-vertex-linear' into gallium-0.1 | Jakob Bornecrantz | 2008-05-28 | 2 | -17/+195 |
|\| | | | | | | | | | | | Conflicts: src/gallium/auxiliary/draw/draw_pt_varray.c | ||||
| * | rtasm: add some helpers for calling out from generated code | Keith Whitwell | 2008-05-24 | 2 | -3/+47 |
| | | |||||
| * | rtasm: remove debug | Keith Whitwell | 2008-05-23 | 1 | -2/+0 |
| | | |||||
| * | rtasm: add x87 instructions and debug-check for x87 stack usage | Keith Whitwell | 2008-05-23 | 2 | -2/+138 |
| | | |||||
| * | rtasm: export debug reg print function | Keith Whitwell | 2008-05-23 | 2 | -11/+12 |
| | | |||||
| * | rtasm: remove unused struct member | Keith Whitwell | 2008-05-23 | 1 | -1/+0 |
| | | |||||
* | | gallium: Windows CE portability fixes. | José Fonseca | 2008-05-28 | 3 | -4/+8 |
|/ | |||||
* | rtasm: learn another version of push | Keith Whitwell | 2008-05-01 | 1 | -2/+9 |
| | |||||
* | rtasm: fix labels after (not so) recent change to allow dynamic fn growth | Keith Whitwell | 2008-05-01 | 2 | -38/+25 |
| | | | | | Using char * for labels doesn't work if you realloc the function during assembly and free the old storage... | ||||
* | rtasm: assert stack is fully popped in return | Keith Whitwell | 2008-05-01 | 1 | -0/+1 |
| | |||||
* | gallium: Generate SSE code to swizzle and unswizzle vs inputs and outputs. | Michal Krol | 2008-04-28 | 2 | -0/+16 |
| | | | | Change SSE_SWIZZLES #define to 0 to disable it. | ||||
* | rtasm: Implement x86_retw. | José Fonseca | 2008-04-27 | 2 | -0/+7 |
| | |||||
* | rtasm: debug some missing funcs | Keith Whitwell | 2008-04-21 | 1 | -0/+3 |
| | |||||
* | rtasm: quieten sse_enabled debug | Keith Whitwell | 2008-04-21 | 1 | -1/+10 |
| | |||||
* | rtasm: clean up debug dumping a little | Keith Whitwell | 2008-04-21 | 1 | -146/+140 |
| | |||||
* | rtasm: propogate errors in x86 emit | Keith Whitwell | 2008-04-21 | 2 | -5/+30 |
| | |||||
* | rtasm: add dump facility for x86 (from tgsi_sse2.c) | Keith Whitwell | 2008-04-21 | 1 | -24/+243 |
| | |||||
* | gallium: Centralize SSE usage logic. | José Fonseca | 2008-04-21 | 1 | -2/+8 |
| | |||||
* | rtasm: include yet another i386 define varient | Keith Whitwell | 2008-04-19 | 1 | -2/+2 |
| | |||||
* | rtasm: add x86_imul | Keith Whitwell | 2008-04-18 | 2 | -1/+11 |
| | |||||
* | rtasm: add a couple more insns, clean up x86_mul | Keith Whitwell | 2008-04-18 | 2 | -7/+29 |
| | |||||
* | gallium: fix broken x86_call() | Keith Whitwell | 2008-04-11 | 1 | -1/+1 |
| | |||||
* | cell: Float convert-to and convert-from instructions use different shift bias | Ian Romanick | 2008-03-25 | 2 | -7/+7 |
| | |||||
* | cell: Don't free NULL code pointers | Ian Romanick | 2008-03-17 | 1 | -1/+3 |
| | |||||
* | cell: Fix simple register allocator | Ian Romanick | 2008-03-17 | 1 | -6/+6 |
| | | | | THere are 64-bits in a uint64_t, not 128. Duh. | ||||
* | Move SPE register allocator to rtasm code | Ian Romanick | 2008-03-10 | 2 | -0/+63 |
| | | | | | Move the register allocator to a common location. There is more code on the way that will make use of this interface. | ||||
* | gallium: Silence compiler warnings on Windows. | Michal Krol | 2008-02-23 | 1 | -9/+10 |
| | |||||
* | Fix windows build. | José Fonseca | 2008-02-19 | 3 | -3/+4 |
| | |||||
* | Bring in ppc spe rtasm into gallium's rtasm module. | José Fonseca | 2008-02-19 | 4 | -2/+704 |
| | | | | Moving files since these are not being used outside gallium. | ||||
* | Add run-time cpu capabilities detection stubs. | José Fonseca | 2008-02-19 | 4 | -0/+94 |
| | |||||
* | Simplify makefile boilerplate code. | José Fonseca | 2008-02-19 | 1 | -7/+1 |
| | | | | | Don't define ASM_SOURCES variable globally -- reserve that variable to be defined locally by makefiles, together with C_SOURCES and CPP_SOURCES. | ||||
* | Move mm.c code into util module. | José Fonseca | 2008-02-19 | 5 | -378/+4 |
| | | | | | Using the u_ prefix to distingish the c source files that support gallium interfaces and those that have really no relation with gallium itself. | ||||
* | Add copyright headers to all rtasm source files. | José Fonseca | 2008-02-19 | 2 | -3/+48 |
| | |||||
* | Rename rtasm files. | José Fonseca | 2008-02-19 | 6 | -23/+25 |
| |