summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/gallivm
Commit message (Collapse)AuthorAgeFilesLines
* gallivm: Initialize variables for default cases.Vinson Lee2010-03-061-0/+4
| | | | Fixes use of uninitialized variables in non-debug builds.
* gallivm: checkpoint: code gen for mipmap selectionBrian Paul2010-03-051-0/+65
|
* gallivm: added methods for getting texture depth, num mipmap levelsBrian Paul2010-03-051-0/+12
|
* gallivm: checkpoint: texture LOD computation code genBrian Paul2010-03-051-3/+126
|
* gallivm: added field for sampler lodBrian Paul2010-03-052-4/+6
|
* gallivm: minor arithmetic improvementsBrian Paul2010-03-051-9/+12
|
* gallivm: implement non-normalized texture wrap modesBrian Paul2010-03-051-39/+68
| | | | | Note that only the PIPE_TEX_WRAP_CLAMP,CLAMP_TO_EDGE,CLAMP_TO_BORDER modes work with non-normalized texcoords.
* gallivm: implement texture border color, plus tweaks to some wrap modesBrian Paul2010-03-041-23/+129
| | | | | | | | | | | The progs/test/texwrap demo looks pretty good, but there are still some tiny differences from softpipe. There may be a sub-pixel texcoord interpolation error somewhere. There's some room for optimization. Many of the wrap modes compute intermediate values that are constant for the texture size (see the min/max values). These could be computed earlier and stored somewhere for later use.
* gallivm: added texture border_color fieldBrian Paul2010-03-042-0/+10
|
* gallivm: added question/commentBrian Paul2010-03-041-0/+1
|
* gallivm: commentsBrian Paul2010-03-041-0/+5
|
* gallivm: rework and implement more texture wrap modesBrian Paul2010-03-041-60/+448
| | | | | | | | | All the texture wrap modes are now implemented for linear and nearest sampling. However, texture border color is not yet supported so some wrap modes will produce int coords outside the texture bounds. We'll get garbage values insted of the texture border color for now.
* gallivm: added lp_build_fract()Brian Paul2010-03-042-0/+17
|
* gallivm: added lp_build_set_sign()Brian Paul2010-03-042-0/+39
|
* gallivm: added lp_build_negate()Brian Paul2010-03-042-0/+12
|
* gallivm: clarify unsigned vs. signed integer type constructionBrian Paul2010-03-043-19/+43
| | | | | | The lp_int_type() function was creating an unsigned type. So rename that function to lp_uint_type() and create new lp_int_type() that creates a signed type.
* gallivm: Centralize initialization. Fix stack alignment issues on Windows.José Fonseca2010-03-032-35/+20
|
* gallivm: Rename lp_bld_misc -> lp_bld_init.José Fonseca2010-03-032-4/+4
|
* llvmpipe: improve based on review from Jose and fix else clausesZack Rusin2010-03-021-8/+9
| | | | | | else was broken in the outter most else statemants, plus the code didn't need an inverted mask to compute the inverse of the current condition.
* llvmpipe: implement some control-flowZack Rusin2010-03-011-11/+93
| | | | | | | implements if/else/endif constructs and lays down the code for looping and others. we create a conditional execution mask which decides which of the four inputs are enabled for any store. it's used only if an execution mask is present, otherwise we go through a direct store.
* gallivm: Update for UTIL_FORMAT_LAYOUT_xxx changes.José Fonseca2010-02-243-7/+5
|
* gallivm: added clamp and int_to_float functionsBrian Paul2010-02-232-1/+50
|
* gallivm: s/debug_dump_/util_dump_/José Fonseca2010-02-141-2/+2
|
* llvmpipe: Handle TGSI_TOKEN_TYPE_PROPERTY.José Fonseca2010-02-112-0/+4
| | | | Avoids assertion failures with certain shaders.
* gallivm: TGSI_OPCODE_CONT is not deprecated.José Fonseca2010-02-111-2/+1
| | | | | | Note that with FIXME instead of an assertion failure. Addresses fdo 25956.
* gallium: Remove prefilter member from pipe_sampler_state struct.Michal Krol2010-02-093-3/+0
|
* llvmpipe: switch to using dynamic stack allocation instead of registersZack Rusin2010-02-083-3/+59
| | | | | | | | with mutable vars we don't need to follow the phi nodes. meaning that control flow becomes trivial as we don't have scan the rest of the tgsi to figure out the variable usage anymore. futhermore the memory2register pass promotes alloca/store/load to registers while inserting the right phi nodes. so we get simplicity and performance.
* llvmpipe: export the tgsi translation code to a common layerZack Rusin2010-02-0862-5506/+11013
| | | | | | | the llvmpipe tgsi translation is a lot more complete than what was in gallivm so replacing the latter with the former. this is needed since the draw llvm paths will use the same code. effectively the proven llvmpipe code becomes gallivm.
* Remove TGSI_OPCODE_SHR, map existing usage to TGSI_OPCODE_ISHR.Michal Krol2010-01-051-2/+2
| | | | This is to differentiate it from its unsigned version, TGSI_OPCODE_USHR.
* gallium: Generate a single library for auxiliaries with Make too.José Fonseca2010-01-011-92/+0
|
* scons: Aggregate all tiny libraries in a single library.José Fonseca2010-01-011-16/+0
| | | | | Makes integration of gallium into out of tree components much easier. No pratical change for components in this tree,
* tgsi: rename fields of tgsi_full_src_register to reduce verbosityKeith Whitwell2009-11-241-17/+17
| | | | | | | SrcRegister -> Register SrcRegisterInd -> Indirect SrcRegisterDim -> Dimension SrcRegisterDimInd -> DimIndirect
* tgsi: rename fields of tgsi_full_dst_register to reduce verbosityKeith Whitwell2009-11-241-8/+8
| | | | | DstRegister -> Register DstRegisterInd -> Indirect
* tgsi: rename fields of tgsi_full_declaration to reduce verbosityKeith Whitwell2009-11-241-3/+3
| | | | DeclarationRange -> Range
* tgsi: rename fields of tgsi_full_instruction to avoid excessive verbosityKeith Whitwell2009-11-241-4/+4
| | | | | | | | InstructionPredicate -> Predicate InstructionLabel -> Label InstructionTexture -> Texture FullSrcRegisters -> Src FullDstRegisters -> Dst
* Rename TGSI LOOP instruction to better match theri usage.Michal Krol2009-07-311-8/+8
| | | | | | | | The LOOP/ENDLOOP pair is renamed to BGNFOR/ENDFOR as its behaviour is similar to a C language for-loop. The BGNLOOP2/ENDLOOP2 pair is renamed to BGNLOOP/ENDLOOP as now there is no name collision.
* gallivm: updates for TGSI changesKeith Whitwell2009-07-232-22/+18
| | | | | make linux-llvm succeeds, but doesn't seem to be working, at least with llvm 2.5
* gallium: remove deprecated TGSI opcodesKeith Whitwell2009-07-231-26/+0
| | | | | | Various opcodes which can be implemented trivially with other TGSI opcodes, such as matrix multiplication and negation. These were not used by any state tracker or implemented by any of the drivers.
* gallium: simplify tgsi_full_immediate structKeith Whitwell2009-07-221-2/+4
| | | | | | | | | | | | | Remove the need to have a pointer in this struct by just including the immediate data inline. Having a pointer in the struct introduces complications like needing to alloc/free the data pointed to, uncertainty about who owns the data, etc. There doesn't seem to be a need for it, and it is unlikely to make much difference plus or minus to performance. Added some asserts as we now will trip up on immediates with more than four elements. There were actually already quite a few such asserts, but the >4 case could be used in the future to specify indexable immediate ranges, such as lookup tables.
* llvm: fix compile on gcc 4.4Dave Airlie2009-06-081-0/+2
|
* 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.
* gallivm: Fix build -- rename Size to NrTokens.Michal Krol2009-02-101-2/+2
|
* gallivm: Make sure the bitcode buffer is followed by a 0 byte.Michel Dänzer2009-01-123-4/+4
| | | | May fail to parse otherwise.
* gallivm: Print error message from ParseBitcodeFile() in case it fails.Michel Dänzer2009-01-121-2/+3
|
* gallivm: Adapt to header file move in LLVM 2.4.Michel Dänzer2009-01-125-5/+5
|
* gallivm: fix some small stuff.Stephane Marchesin2008-11-162-3/+3
|
* gallivm: replace the temp parameters of the JIT function with alloca'ed ↵Stephane Marchesin2008-10-304-30/+41
| | | | temps. This avoids useless writes of temporary results.
* Merge commit 'origin/gallium-0.1' into gallium-0.2Keith Whitwell2008-10-101-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/auxiliary/gallivm/instructionssoa.cpp src/gallium/auxiliary/gallivm/soabuiltins.c src/gallium/auxiliary/rtasm/rtasm_x86sse.c src/gallium/auxiliary/rtasm/rtasm_x86sse.h src/mesa/main/texenvprogram.c src/mesa/shader/arbprogparse.c src/mesa/shader/prog_statevars.c src/mesa/state_tracker/st_draw.c src/mesa/vbo/vbo_exec_draw.c
| * Gallivm: add slt. glxgears should be running, except it isn't.Stephane Marchesin2008-10-014-66/+101
| |
| * Gallivm: port to llvm 2.4.Stephane Marchesin2008-09-305-149/+149
| |