aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/tgsi/tgsi_sse2.c
Commit message (Collapse)AuthorAgeFilesLines
* tgsi: get texturing working in vertex shader sse2 pathKeith Whitwell2009-07-201-6/+6
|
* tgsi: fix regression in indexed const lookupsKeith Whitwell2009-07-201-2/+4
| | | | | | | | | | | This function was calling get_input_base() and get_output_base() to get the names of a couple of register to use as temps. Those functions no longer return registers, so adjust it to get the registers elsewhere. This change doesn't address the issue that it's a fairly poor way to grab a register name by calling a function with an apparently unrelated meaning.
* tgsi: simplify and fix sse KIL implementationKeith Whitwell2009-07-161-36/+28
| | | | | | Use sse_movmskps to extract the correct bits of the comparison result for use in updating the killmask. Simplify some logic around identifying the set of necessary comparisons to make.
* tgsi: initial texturing support on sse pathKeith Whitwell2009-07-161-19/+183
| | | | | Most obvious problem is drawpixels comes out blocky, but this may be an existing issue of KIL on the sse path.
* tgsi: make sse function callout mechanism more genericKeith Whitwell2009-07-161-40/+48
| | | | Take a list of arguments rather than hardcoding TEMP_R0.
* tgsi: reduce x86 reg usage in tgsi_sse generated programsKeith Whitwell2009-07-161-113/+77
| | | | | | Pass the tgsi_exec_machine struct in directly and just hold a single pointer to this struct, rather than keeping one for each of its internal members.
* tgsi: make function call code in tgsi_sse.c less opaqueKeith Whitwell2009-07-161-23/+86
| | | | | | Explictly pass src and dst arguments (previously dst argument was also being used as a src). Separate argument handling from the rest of the function call emit.
* tgis: SSE code generator doesn't yet support indirect addressing of temp regsBrian Paul2009-04-241-0/+29
| | | | Fall back to interpreter in this case.
* tgsi/sse2: Cleanup NRM/NRM4 implementation.Michal Krol2009-04-101-25/+76
| | | | | | Fix comments. Make sure .w is set to 1.0 for NRM. Optimise for non-.xyzw writemasks.
* tgsi/sse2: Fix build.Michal Krol2009-04-091-1/+1
|
* tgsi/sse2: Fix ARL instruction.Michal Krol2009-04-091-0/+1
|
* tgsi/sse2: Fix LIT instruction.Michal Krol2009-04-091-1/+1
|
* util: Move p_debug.h into util module.José Fonseca2009-02-181-1/+1
| | | | | The debug functions depend on several util function for os abstractions, and these depend on debug functions, so a seperate module is not possible.
* gallium: fix glean's vertProg1Alan Hourihane2009-02-161-0/+1
| | | | RSQ test 2 (reciprocal square toot of negative value)
* tgsi: Fix build -- rename Size to NrTokens.Michal Krol2009-02-101-1/+1
|
* tgsi: Implement OPCODE_SSG/SGN.Michal Krol2008-11-261-1/+29
|
* tgsi: Implement OPCODE_ARR.Michal Krol2008-11-261-1/+6
|
* tgsi: Implement OPCODE_ROUND for SSE2 backend.Michal Krol2008-11-261-1/+28
|
* tgsi: Fix a bug with saving/restoring xmm registers upon func call.Michal Krol2008-11-121-3/+3
|
* gallium: use PIPE_ARCH_SSE to protect use of SSE instrinsics onlyBrian2008-11-091-9/+33
| | | | | | 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.
* gallium: implement SSE codegen for TGSI_OPCODE_NRM/NRM4Brian2008-11-081-1/+33
|
* gallium: added SSE for DP2, DP2ABrian Paul2008-11-071-2/+22
|
* Merge commit 'origin/gallium-0.1' into gallium-0.2Brian Paul2008-11-051-3/+32
|\ | | | | | | | | | | | | | | | | 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
| * gallium: call tgsi_set_exec_mask() and use exec mask in SSE ARL codeBrian Paul2008-11-051-3/+32
| | | | | | | | | | This prevents vertex shaders from referencing invalid memory locations when the shader is operating on less than four vertices or fragments.
| * tgsi: Implement OPCODE_TRUNC.michal2008-11-051-1/+17
| |
* | tgsi: Implement OPCODE_TRUNC.michal2008-11-051-1/+17
| |
* | gallium: Introduce PIPE_ARCH_SSE define for SSE support.José Fonseca2008-10-071-1/+1
| | | | | | | | | | | | | | Besides meaning x86 and x86-64 architecture, it also depends on SSE2 support enabled on gcc. This fixes the linux-debug build.
* | tgsi: Include p_config.h.José Fonseca2008-10-011-0/+2
| |
* | cell: Moved X86 checks to wrap #include section so that Cell targets will ↵Jonathan White2008-09-301-2/+2
| | | | | | | | compile again.
* | tgsi: SSE2 optimized exp2, log2 and pow implementations.José Fonseca2008-09-301-76/+211
|/ | | | | | | | | | | | 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).
* tgsi: Cleanup code.Michal Krol2008-09-081-50/+37
|
* gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.hBrian Paul2008-08-241-1/+1
| | | | Also, rename p_tile.[ch] to u_tile.[ch]
* gallium: replace LOG2() macro with util_fast_log2() inline funcBrian Paul2008-08-221-4/+4
|
* gallium: use new util_fast_exp2(), _log2(), pow() functionsBrian Paul2008-08-221-0/+19
| | | | | New code surrounded with #if FAST_MATH to allow comparing against original code if we need to debug.
* tgsi: Implement LOG opcode for SSE2 codegen.Michal Krol2008-08-191-1/+32
|
* tgsi: Implement EXP opcode for SSE2.Michal Krol2008-08-191-15/+49
|
* tgsi: Fix ARL opcode in SSE2 codegen.Michal Krol2008-08-191-22/+65
|
* tgsi: Use NUM_CHANNELS.Michal Krol2008-08-191-4/+4
|
* tgsi: Swap meanings of KIL and KILP opcodes.Michal Krol2008-08-131-6/+6
|
* gallium: distinguish between KIL and KILPBrian Paul2008-08-121-2/+18
| | | | Note: KIL (unconditional) not done yet.
* Merge tgsi/exec and tgsi/util directories.José Fonseca2008-07-281-0/+2275