summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/tgsi
AgeCommit message (Collapse)Author
2008-11-26tgsi: Implement OPCODE_ROUND for SSE2 backend.Michal Krol
2008-11-25gallium: added centroid/invarient fields to declarationsBrian Paul
2008-11-24tgsi: add tgsi_declaration fields for centroid sampling, invariant optimizationBrian Paul
2008-11-23softpipe: remove old/unneeded dependencies between TGSI exec and softpipeBrian
Use tgsi_sampler struct as a base class. Softpipe subclasses it and adds the fields it needs.
2008-11-18tgsi: Return 0.0 for negative constant register indices.Michal Krol
2008-11-18tgsi: Keep address register as a floating point.Michal Krol
2008-11-12tgsi: More comments on source register indirect and 2D indexing.Michal Krol
2008-11-12tgsi: Fix a bug with saving/restoring xmm registers upon func call.Michal Krol
2008-11-09gallium: use PIPE_ARCH_SSE to protect use of SSE instrinsics onlyBrian
This allows us to use SSE codegen with debug builds again. When PIPE_ARCH_SSE is set (w/ gcc -msse -msse2) we will also use the gcc SSE intrinsic functions.
2008-11-08gallium: implement SSE codegen for TGSI_OPCODE_NRM/NRM4Brian
2008-11-07gallium: added SSE for DP2, DP2ABrian Paul
2008-11-07gallium: implement TGSI_OPCODE_DP2A, add sqrt to NRM3/NRM4Brian Paul
2008-11-07Merge commit 'origin/gallium-0.1' into gallium-0.2Brian Paul
2008-11-06gallium: implement TGSI_OPCODE_NRM/NRM4 in tgsi_exec.cBrian
2008-11-06Merge commit 'origin/gallium-0.1' into gallium-0.2Brian Paul
2008-11-05gallium: check execution mask in indirect register loadsBrian
Zero-out the index for disabled execution channels to avoid using potential garbage values (thus avoiding bad array indexing).
2008-11-05gallium: don't range check tgsi register index for indirect accessesBrian
Fixes progs/vp/arl.txt test.
2008-11-05Merge commit 'origin/gallium-0.1' into gallium-0.2Brian Paul
Conflicts: src/gallium/auxiliary/rtasm/rtasm_execmem.c src/mesa/shader/slang/slang_emit.c src/mesa/shader/slang/slang_log.c src/mesa/state_tracker/st_atom_framebuffer.c
2008-11-05gallium: call tgsi_set_exec_mask() and use exec mask in SSE ARL codeBrian Paul
This prevents vertex shaders from referencing invalid memory locations when the shader is operating on less than four vertices or fragments.
2008-11-05gallium: added tgsi_set_exec_mask()Brian Paul
2008-11-05gallium: added some sanity check assertions for constant buffer indexingBrian Paul
2008-11-05tgsi: Implement OPCODE_TRUNC.michal
2008-11-05tgsi: Implement OPCODE_TRUNC.michal
2008-10-29gallium: use execmem for PPC code, grow instruction buffer as neededBrian Paul
2008-10-29gallium: added PPC support for SWZ, XPD, POWBrian Paul
That's the last of the ARB_v_p opcodes, except for ARL.
2008-10-28gallium: ppc: implement TGSI_OPCODE_LOG/EXPBrian Paul
2008-10-28gallium: ppc: don't replicate/smear immediate values, use vspltw instruction ↵Brian Paul
as with constants
2008-10-28gallium: use some PPC vec registers to store TGSI tempsBrian Paul
This could be a lot better, but already makes for better code.
2008-10-27gallium: ppc: emit fewer 'li' instructions prior to vector loads/storesBrian Paul
2008-10-27gallium: ppc: use a src register cache to avoid redundant loadsBrian Paul
2008-10-23scons: ppc support.Michel Dänzer
2008-10-22gallium: PPC: clamp y to [-128,128] for LITBrian Paul
2008-10-22gallium: remove ppc_vload_float(), rename ppc_vecmove() -> ppc_vmove().Brian Paul
2008-10-22gallium: new PPC built-in constants arrayBrian Paul
It's hard to form PPC vector immediates so load them from an array.
2008-10-22gallium: GALLIUM_NOPPC debug var to disable PPC codegenBrian Paul
2008-10-22gallium: PPC LIT instruction (not quite complete yet)Brian Paul
2008-10-22gallium: var renaming in tgsi_ppc.cBrian Paul
2008-10-22gallium: remove SSE remnants from tgsi_ppc.cBrian Paul
2008-10-22cell: TGSI->PPC for RSQ, RCP and src register sign modesBrian Paul
2008-10-22gallium: TGSI->PPC inequality operatorsBrian Paul
2008-10-22gallium: fix broken TGSI_FILE_CONSTANT case, use ppc_reserver_register()Brian Paul
2008-10-22gallium: TGSI to PPC code generationBrian Paul
Based on the TGSIto SSE2 code generator. Incomplete and lots of SSE stuff still hanging around but the basic dozen or so TGSI opcodes are functioning.
2008-10-07gallium: Introduce PIPE_ARCH_SSE define for SSE support.José Fonseca
Besides meaning x86 and x86-64 architecture, it also depends on SSE2 support enabled on gcc. This fixes the linux-debug build.
2008-10-01tgsi: Include p_config.h.José Fonseca
2008-09-30cell: Moved X86 checks to wrap #include section so that Cell targets will ↵Jonathan White
compile again.
2008-09-30tgsi: SSE2 optimized exp2, log2 and pow implementations.José Fonseca
Special care must be taken when calling compiler generated SSE2 functions from the runtime generated SSE2: saving the xmm registers, and notify gcc the stack is not 16byte aligned. It would be more efficient to keep the stack pointer 16byte aligned, but too hairy, and not consistent in all x86 architectures. This has been tested in linux x86 and windows x86 userspace. Not tested on x86-64 because it is broken for other reasons (even without this change).
2008-09-18Merge commit 'origin/gallium-0.1' into gallium-0.2Keith Whitwell
Conflicts: src/mesa/shader/slang/slang_link.c
2008-09-18tgsi: Build tgsi_text with makeJakob Bornecrantz
2008-09-18tgsi: Make tgsi dumps look more like mesa shader dumps.Jakob Bornecrantz
2008-09-17gallium: fix tgsi sanity checker with respect to END.Brian Paul
Subroutine code may be found after the END instruction so it's not always the last instruction. At least check for presence of exactly one END instruction though.