summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/gallivm
AgeCommit message (Collapse)Author
2010-03-09gallivm: checkpoint: nearest mipmap filteringBrian Paul
The LOD is computed from texcoord partial derivatives and used to select a mipmap level. Still some bugs in texel fetching. Lots of rough edges and unfinished parts but the basics are in place. Lots of changes to the lp_bld_arit.c code to support non-vector/scalar datatypes.
2010-03-08llvmpipe/gallivm: checkpoint: array of pointers to mipmap levelsBrian Paul
Change the texture data_ptr from just a single image pointer to an array of image pointers, indexed by mipmap level. We'll use this for mipmap filtering. For now, the mipmap level is hard-coded to zero.
2010-03-08gallivm: fix a crash by making sure we set the has_mask flag correctlyZack Rusin
2010-03-08Merge branch '7.8'Brian Paul
2010-03-06gallivm: Initialize variables for default cases.Vinson Lee
Fixes use of uninitialized variables in non-debug builds.
2010-03-06gallivm: Add some notes about sampler static state construction.José Fonseca
Recover some logic to make state canonical, although it is admittedly very shy compared with what could be done. We really need an helper module to make state canonical.
2010-03-06gallivm: Answer question/comment.José Fonseca
This reverts commit 71c05689528d7987bfb99c3afe04e456887bc7b7.
2010-03-06gallivm: Add a placeholder for TGSI_FILE_PREDICATE registers.José Fonseca
2010-03-06gallivm: Generate valid IR for LLVM 2.7.José Fonseca
The signatures for pack intrinsics were made more consistent in this version.
2010-03-05gallivm: checkpoint: code gen for mipmap selectionBrian Paul
2010-03-05gallivm: added methods for getting texture depth, num mipmap levelsBrian Paul
2010-03-05gallivm: checkpoint: texture LOD computation code genBrian Paul
2010-03-05gallivm: added field for sampler lodBrian Paul
2010-03-05gallivm: minor arithmetic improvementsBrian Paul
2010-03-05gallivm: implement non-normalized texture wrap modesBrian Paul
Note that only the PIPE_TEX_WRAP_CLAMP,CLAMP_TO_EDGE,CLAMP_TO_BORDER modes work with non-normalized texcoords.
2010-03-04gallivm: implement texture border color, plus tweaks to some wrap modesBrian Paul
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.
2010-03-04gallivm: added texture border_color fieldBrian Paul
2010-03-04gallivm: added question/commentBrian Paul
2010-03-04gallivm: commentsBrian Paul
2010-03-04gallivm: rework and implement more texture wrap modesBrian Paul
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.
2010-03-04gallivm: added lp_build_fract()Brian Paul
2010-03-04gallivm: added lp_build_set_sign()Brian Paul
2010-03-04gallivm: added lp_build_negate()Brian Paul
2010-03-04gallivm: clarify unsigned vs. signed integer type constructionBrian Paul
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.
2010-03-03gallivm: Centralize initialization. Fix stack alignment issues on Windows.José Fonseca
2010-03-03gallivm: Rename lp_bld_misc -> lp_bld_init.José Fonseca
2010-03-02llvmpipe: improve based on review from Jose and fix else clausesZack Rusin
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.
2010-03-01llvmpipe: implement some control-flowZack Rusin
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.
2010-02-24gallivm: Update for UTIL_FORMAT_LAYOUT_xxx changes.José Fonseca
2010-02-23gallivm: added clamp and int_to_float functionsBrian Paul
2010-02-14gallivm: s/debug_dump_/util_dump_/José Fonseca
2010-02-11llvmpipe: Handle TGSI_TOKEN_TYPE_PROPERTY.José Fonseca
Avoids assertion failures with certain shaders.
2010-02-11gallivm: TGSI_OPCODE_CONT is not deprecated.José Fonseca
Note that with FIXME instead of an assertion failure. Addresses fdo 25956.
2010-02-09gallium: Remove prefilter member from pipe_sampler_state struct.Michal Krol
2010-02-08llvmpipe: switch to using dynamic stack allocation instead of registersZack Rusin
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.
2010-02-08llvmpipe: export the tgsi translation code to a common layerZack Rusin
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.
2010-01-05Remove TGSI_OPCODE_SHR, map existing usage to TGSI_OPCODE_ISHR.Michal Krol
This is to differentiate it from its unsigned version, TGSI_OPCODE_USHR.
2010-01-01gallium: Generate a single library for auxiliaries with Make too.José Fonseca
2010-01-01scons: Aggregate all tiny libraries in a single library.José Fonseca
Makes integration of gallium into out of tree components much easier. No pratical change for components in this tree,
2009-11-24tgsi: rename fields of tgsi_full_src_register to reduce verbosityKeith Whitwell
SrcRegister -> Register SrcRegisterInd -> Indirect SrcRegisterDim -> Dimension SrcRegisterDimInd -> DimIndirect
2009-11-24tgsi: rename fields of tgsi_full_dst_register to reduce verbosityKeith Whitwell
DstRegister -> Register DstRegisterInd -> Indirect
2009-11-24tgsi: rename fields of tgsi_full_declaration to reduce verbosityKeith Whitwell
DeclarationRange -> Range
2009-11-24tgsi: rename fields of tgsi_full_instruction to avoid excessive verbosityKeith Whitwell
InstructionPredicate -> Predicate InstructionLabel -> Label InstructionTexture -> Texture FullSrcRegisters -> Src FullDstRegisters -> Dst
2009-07-31Rename TGSI LOOP instruction to better match theri usage.Michal Krol
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.
2009-07-23gallivm: updates for TGSI changesKeith Whitwell
make linux-llvm succeeds, but doesn't seem to be working, at least with llvm 2.5
2009-07-23gallium: remove deprecated TGSI opcodesKeith Whitwell
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.
2009-07-22gallium: simplify tgsi_full_immediate structKeith Whitwell
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.
2009-06-08llvm: fix compile on gcc 4.4Dave Airlie
2009-02-18util: Move p_debug.h into util module.José Fonseca
The debug functions depend on several util function for os abstractions, and these depend on debug functions, so a seperate module is not possible.
2009-02-10gallivm: Fix build -- rename Size to NrTokens.Michal Krol