summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/rtasm
Commit message (Collapse)AuthorAgeFilesLines
* CELL: finish fragment ops blending (except for unusual D3D modes)Robert Ellison2008-09-182-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 syntaxBrian Paul2008-09-151-8/+12
|
* Fixed emit_RRRJonathan White2008-09-151-1/+1
|
* gallium: added print/dump code to SPE code emitterBrian Paul2008-09-122-25/+113
|
* gallium: added spe_splat_word()Brian Paul2008-09-122-0/+29
|
* gallium: minor optimization to spe_load_int()Brian Paul2008-09-121-1/+2
|
* gallium: initial PPC/Altivec codegenBrian Paul2008-09-122-0/+546
|
* gallium: add special cases in spe_load_float(), spe_load_int(), added ↵Brian Paul2008-09-112-9/+40
| | | | spe_splat()
* gallium: assorted additions and fixes to Cell SPE rtasm codeBrian Paul2008-09-112-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, etcBrian Paul2008-09-112-13/+43
|
* gallium: include u_pointer,h, not p_pointer.hBrian Paul2008-09-011-1/+1
|
* gallium: thread wrapper clean-upBrian Paul2008-08-261-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.hBrian Paul2008-08-242-2/+2
| | | | Also, rename p_tile.[ch] to u_tile.[ch]
* rtasm: Use enum sse_cc in sse_cmpps.José Fonseca2008-06-022-2/+2
|
* Merge branch 'gallium-tex-surfaces' into gallium-0.1Jakob Bornecrantz2008-05-301-1/+1
|\ | | | | | | | | | | Conflicts: src/gallium/drivers/i915simple/i915_context.h
| * rtasm: special case for [ebp]Keith Whitwell2008-05-281-1/+1
| |
* | Merge branch 'gallium-vertex-linear' into gallium-0.1Jakob Bornecrantz2008-05-282-17/+195
|\| | | | | | | | | | | Conflicts: src/gallium/auxiliary/draw/draw_pt_varray.c
| * rtasm: add some helpers for calling out from generated codeKeith Whitwell2008-05-242-3/+47
| |
| * rtasm: remove debugKeith Whitwell2008-05-231-2/+0
| |
| * rtasm: add x87 instructions and debug-check for x87 stack usageKeith Whitwell2008-05-232-2/+138
| |
| * rtasm: export debug reg print functionKeith Whitwell2008-05-232-11/+12
| |
| * rtasm: remove unused struct memberKeith Whitwell2008-05-231-1/+0
| |
* | gallium: Windows CE portability fixes.José Fonseca2008-05-283-4/+8
|/
* rtasm: learn another version of pushKeith Whitwell2008-05-011-2/+9
|
* rtasm: fix labels after (not so) recent change to allow dynamic fn growthKeith Whitwell2008-05-012-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 returnKeith Whitwell2008-05-011-0/+1
|
* gallium: Generate SSE code to swizzle and unswizzle vs inputs and outputs.Michal Krol2008-04-282-0/+16
| | | | Change SSE_SWIZZLES #define to 0 to disable it.
* rtasm: Implement x86_retw.José Fonseca2008-04-272-0/+7
|
* rtasm: debug some missing funcsKeith Whitwell2008-04-211-0/+3
|
* rtasm: quieten sse_enabled debugKeith Whitwell2008-04-211-1/+10
|
* rtasm: clean up debug dumping a littleKeith Whitwell2008-04-211-146/+140
|
* rtasm: propogate errors in x86 emitKeith Whitwell2008-04-212-5/+30
|
* rtasm: add dump facility for x86 (from tgsi_sse2.c)Keith Whitwell2008-04-211-24/+243
|
* gallium: Centralize SSE usage logic.José Fonseca2008-04-211-2/+8
|
* rtasm: include yet another i386 define varientKeith Whitwell2008-04-191-2/+2
|
* rtasm: add x86_imulKeith Whitwell2008-04-182-1/+11
|
* rtasm: add a couple more insns, clean up x86_mulKeith Whitwell2008-04-182-7/+29
|
* gallium: fix broken x86_call()Keith Whitwell2008-04-111-1/+1
|
* cell: Float convert-to and convert-from instructions use different shift biasIan Romanick2008-03-252-7/+7
|
* cell: Don't free NULL code pointersIan Romanick2008-03-171-1/+3
|
* cell: Fix simple register allocatorIan Romanick2008-03-171-6/+6
| | | | THere are 64-bits in a uint64_t, not 128. Duh.
* Move SPE register allocator to rtasm codeIan Romanick2008-03-102-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 Krol2008-02-231-9/+10
|
* Fix windows build.José Fonseca2008-02-193-3/+4
|
* Bring in ppc spe rtasm into gallium's rtasm module.José Fonseca2008-02-194-2/+704
| | | | Moving files since these are not being used outside gallium.
* Add run-time cpu capabilities detection stubs.José Fonseca2008-02-194-0/+94
|
* Simplify makefile boilerplate code.José Fonseca2008-02-191-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é Fonseca2008-02-195-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é Fonseca2008-02-192-3/+48
|
* Rename rtasm files.José Fonseca2008-02-196-23/+25
|