Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | tgsi: get texturing working in vertex shader sse2 path | Keith Whitwell | 2009-07-20 | 1 | -6/+6 |
| | |||||
* | tgsi: fix regression in indexed const lookups | Keith Whitwell | 2009-07-20 | 1 | -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 implementation | Keith Whitwell | 2009-07-16 | 1 | -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 path | Keith Whitwell | 2009-07-16 | 1 | -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 generic | Keith Whitwell | 2009-07-16 | 1 | -40/+48 |
| | | | | Take a list of arguments rather than hardcoding TEMP_R0. | ||||
* | tgsi: reduce x86 reg usage in tgsi_sse generated programs | Keith Whitwell | 2009-07-16 | 1 | -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 opaque | Keith Whitwell | 2009-07-16 | 1 | -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 regs | Brian Paul | 2009-04-24 | 1 | -0/+29 |
| | | | | Fall back to interpreter in this case. | ||||
* | tgsi/sse2: Cleanup NRM/NRM4 implementation. | Michal Krol | 2009-04-10 | 1 | -25/+76 |
| | | | | | | Fix comments. Make sure .w is set to 1.0 for NRM. Optimise for non-.xyzw writemasks. | ||||
* | tgsi/sse2: Fix build. | Michal Krol | 2009-04-09 | 1 | -1/+1 |
| | |||||
* | tgsi/sse2: Fix ARL instruction. | Michal Krol | 2009-04-09 | 1 | -0/+1 |
| | |||||
* | tgsi/sse2: Fix LIT instruction. | Michal Krol | 2009-04-09 | 1 | -1/+1 |
| | |||||
* | util: Move p_debug.h into util module. | José Fonseca | 2009-02-18 | 1 | -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 vertProg1 | Alan Hourihane | 2009-02-16 | 1 | -0/+1 |
| | | | | RSQ test 2 (reciprocal square toot of negative value) | ||||
* | tgsi: Fix build -- rename Size to NrTokens. | Michal Krol | 2009-02-10 | 1 | -1/+1 |
| | |||||
* | tgsi: Implement OPCODE_SSG/SGN. | Michal Krol | 2008-11-26 | 1 | -1/+29 |
| | |||||
* | tgsi: Implement OPCODE_ARR. | Michal Krol | 2008-11-26 | 1 | -1/+6 |
| | |||||
* | tgsi: Implement OPCODE_ROUND for SSE2 backend. | Michal Krol | 2008-11-26 | 1 | -1/+28 |
| | |||||
* | tgsi: Fix a bug with saving/restoring xmm registers upon func call. | Michal Krol | 2008-11-12 | 1 | -3/+3 |
| | |||||
* | gallium: use PIPE_ARCH_SSE to protect use of SSE instrinsics only | Brian | 2008-11-09 | 1 | -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/NRM4 | Brian | 2008-11-08 | 1 | -1/+33 |
| | |||||
* | gallium: added SSE for DP2, DP2A | Brian Paul | 2008-11-07 | 1 | -2/+22 |
| | |||||
* | Merge commit 'origin/gallium-0.1' into gallium-0.2 | Brian Paul | 2008-11-05 | 1 | -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 code | Brian Paul | 2008-11-05 | 1 | -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. | michal | 2008-11-05 | 1 | -1/+17 |
| | | |||||
* | | tgsi: Implement OPCODE_TRUNC. | michal | 2008-11-05 | 1 | -1/+17 |
| | | |||||
* | | gallium: Introduce PIPE_ARCH_SSE define for SSE support. | José Fonseca | 2008-10-07 | 1 | -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é Fonseca | 2008-10-01 | 1 | -0/+2 |
| | | |||||
* | | cell: Moved X86 checks to wrap #include section so that Cell targets will ↵ | Jonathan White | 2008-09-30 | 1 | -2/+2 |
| | | | | | | | | compile again. | ||||
* | | tgsi: SSE2 optimized exp2, log2 and pow implementations. | José Fonseca | 2008-09-30 | 1 | -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 Krol | 2008-09-08 | 1 | -50/+37 |
| | |||||
* | gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.h | Brian Paul | 2008-08-24 | 1 | -1/+1 |
| | | | | Also, rename p_tile.[ch] to u_tile.[ch] | ||||
* | gallium: replace LOG2() macro with util_fast_log2() inline func | Brian Paul | 2008-08-22 | 1 | -4/+4 |
| | |||||
* | gallium: use new util_fast_exp2(), _log2(), pow() functions | Brian Paul | 2008-08-22 | 1 | -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 Krol | 2008-08-19 | 1 | -1/+32 |
| | |||||
* | tgsi: Implement EXP opcode for SSE2. | Michal Krol | 2008-08-19 | 1 | -15/+49 |
| | |||||
* | tgsi: Fix ARL opcode in SSE2 codegen. | Michal Krol | 2008-08-19 | 1 | -22/+65 |
| | |||||
* | tgsi: Use NUM_CHANNELS. | Michal Krol | 2008-08-19 | 1 | -4/+4 |
| | |||||
* | tgsi: Swap meanings of KIL and KILP opcodes. | Michal Krol | 2008-08-13 | 1 | -6/+6 |
| | |||||
* | gallium: distinguish between KIL and KILP | Brian Paul | 2008-08-12 | 1 | -2/+18 |
| | | | | Note: KIL (unconditional) not done yet. | ||||
* | Merge tgsi/exec and tgsi/util directories. | José Fonseca | 2008-07-28 | 1 | -0/+2275 |