summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/rtasm
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-12gallium: added print/dump code to SPE code emitterBrian Paul
2008-09-12gallium: added spe_splat_word()Brian 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-01gallium: include u_pointer,h, not p_pointer.hBrian Paul
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-24gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.hBrian Paul
Also, rename p_tile.[ch] to u_tile.[ch]
2008-06-02rtasm: Use enum sse_cc in sse_cmpps.José Fonseca
2008-05-30Merge branch 'gallium-tex-surfaces' into gallium-0.1Jakob Bornecrantz
Conflicts: src/gallium/drivers/i915simple/i915_context.h
2008-05-28rtasm: special case for [ebp]Keith Whitwell
2008-05-28Merge branch 'gallium-vertex-linear' into gallium-0.1Jakob Bornecrantz
Conflicts: src/gallium/auxiliary/draw/draw_pt_varray.c
2008-05-28gallium: Windows CE portability fixes.José Fonseca
2008-05-24rtasm: add some helpers for calling out from generated codeKeith Whitwell
2008-05-23rtasm: remove debugKeith Whitwell
2008-05-23rtasm: add x87 instructions and debug-check for x87 stack usageKeith Whitwell
2008-05-23rtasm: export debug reg print functionKeith Whitwell
2008-05-23rtasm: remove unused struct memberKeith Whitwell
2008-05-01rtasm: learn another version of pushKeith Whitwell
2008-05-01rtasm: fix labels after (not so) recent change to allow dynamic fn growthKeith Whitwell
Using char * for labels doesn't work if you realloc the function during assembly and free the old storage...
2008-05-01rtasm: assert stack is fully popped in returnKeith Whitwell
2008-04-28gallium: Generate SSE code to swizzle and unswizzle vs inputs and outputs.Michal Krol
Change SSE_SWIZZLES #define to 0 to disable it.
2008-04-27rtasm: Implement x86_retw.José Fonseca
2008-04-21rtasm: debug some missing funcsKeith Whitwell
2008-04-21rtasm: quieten sse_enabled debugKeith Whitwell
2008-04-21rtasm: clean up debug dumping a littleKeith Whitwell
2008-04-21rtasm: propogate errors in x86 emitKeith Whitwell
2008-04-21rtasm: add dump facility for x86 (from tgsi_sse2.c)Keith Whitwell
2008-04-21gallium: Centralize SSE usage logic.José Fonseca
2008-04-19rtasm: include yet another i386 define varientKeith Whitwell
2008-04-18rtasm: add x86_imulKeith Whitwell
2008-04-18rtasm: add a couple more insns, clean up x86_mulKeith Whitwell
2008-04-11gallium: fix broken x86_call()Keith Whitwell
2008-03-25cell: Float convert-to and convert-from instructions use different shift biasIan Romanick
2008-03-17cell: Don't free NULL code pointersIan Romanick
2008-03-17cell: Fix simple register allocatorIan Romanick
THere are 64-bits in a uint64_t, not 128. Duh.
2008-03-10Move SPE register allocator to rtasm codeIan Romanick
Move the register allocator to a common location. There is more code on the way that will make use of this interface.
2008-02-23gallium: Silence compiler warnings on Windows.Michal Krol
2008-02-19Fix windows build.José Fonseca
2008-02-19Bring in ppc spe rtasm into gallium's rtasm module.José Fonseca
Moving files since these are not being used outside gallium.
2008-02-19Add run-time cpu capabilities detection stubs.José Fonseca
2008-02-19Simplify makefile boilerplate code.José Fonseca
Don't define ASM_SOURCES variable globally -- reserve that variable to be defined locally by makefiles, together with C_SOURCES and CPP_SOURCES.
2008-02-19Move mm.c code into util module.José Fonseca
Using the u_ prefix to distingish the c source files that support gallium interfaces and those that have really no relation with gallium itself.
2008-02-19Add copyright headers to all rtasm source files.José Fonseca
2008-02-19Rename rtasm files.José Fonseca