summaryrefslogtreecommitdiff
path: root/src/gallium
AgeCommit message (Collapse)Author
2009-09-15Merge branch 'mesa_7_6_branch'Brian Paul
2009-09-15gallium: Use the enum for pipe_transfer::usage.José Fonseca
2009-09-15gallium: pipe_transfer_destroy helper inline.José Fonseca
2009-09-15nv50: fix stupid thinko in emit_setChristoph Bumiller
When swapping sources 0 and 1, EQ of course does *not* become NE, etc. Introduced in 2b963f5c723401aa2646bd48eefe065cd335e280.
2009-09-15gallium: Fix pointer type casts.Michal Krol
2009-09-15nv50: let programs use the whole param bufferChristoph Bumiller
Allocation is unnecessary since all uniforms are uploaded on every constant buffer change anyway.
2009-09-15nv50: add preliminary support for point spritesChristoph Bumiller
2009-09-15nv50: add support for point size per vertexChristoph Bumiller
2009-09-15nv50: add support for light-twosideChristoph Bumiller
2009-09-15nv50: proper linkage between VP and FPChristoph Bumiller
This moves construction of the mapping between VP outputs and FP inputs into validation. The map also contains slots for special outputs like clip distance and point size, so we need to at least merge the VP related and FP related parts on validation if we want to support those. Now we match every single FP input component with results from the VP and leave those not read out of the map, or replace those not written by 0 (xyz) or 1 (w). The bitmap indicating linear interpolants is also filled, and flat FP inputs are mapped in only after non-flat ones, as is required. Furthermore, we can save some space by only fetching VP attrs we actually use, and avoid wasting any output regs because of TGSI using less than 4 components.
2009-09-15nv50: move allocation of pc regsChristoph Bumiller
Make use of tgsi_shader_info to determine how many nv50_regs we need to allocate, whether program uses KIL, or writes DEPR.
2009-09-15nv50: nicer initialization of nv50_regsChristoph Bumiller
2009-09-15nv50: handle CEIL and TRUNC opcodesChristoph Bumiller
2009-09-15nv50: handle SEQ, SGT, SLE, SNE opcodesChristoph Bumiller
2009-09-15nv50: SIN and COS use src0.w for dst.wChristoph Bumiller
2009-09-15nv50: use broadcast TEMP reg in tx_insnChristoph Bumiller
Makes some opcode cases nicer and might reduce the total nr of TEMPs required, or save some MOVs.
2009-09-15nv50: add nv50_tgsi_insn to handle swizzles safelyChristoph Bumiller
2009-09-15nv50: add functions for swizzle resolutionChristoph Bumiller
We're going to try to reorder the scalar ops of a vector instr to accomodate swizzles that would otherwise require us to emit to an additional TEMP first (like MOV R0.xy, R0.zx).
2009-09-15nv50: extend insn src mask functionChristoph Bumiller
Extend its usage to avoiding e.g. emission of negation instructions in tx_insn for sources we don't need.
2009-09-15st/g3dvl: pass color values to softpipe clear functionCooper Yuan
2009-09-14st/xorg: add some debugging helpersZack Rusin
2009-09-14st/xorg: fix ureg_DECL_constant() parametersBrian Paul
This fixes the compilation errors reported in bug 23945 but someone more familiar with the code should review for correctness and close the bug report.
2009-09-14gallium: Add pipe_transfer_map/unmap inlines.José Fonseca
2009-09-14util: Add _BitScanForward intrinsic's declaration.José Fonseca
It is missing in some Microsoft DDKs.
2009-09-14gallium: Add Mac OS to pipe/p_thread.h.Vinson Lee
Mac OS also has POSIX threads.
2009-09-14nv50: Fix m2mf positions.Marcin Kościelnicki
2009-09-14llvmpipe: Make lp_type a regular union.José Fonseca
Union not worth the hassle of violating C99 or adding a name to the structure.
2009-09-14util: Fix a1r5g5b5's format description.José Fonseca
2009-09-14g3dvl: update tgsi_opcode in order to build g3dvl libraryCooper Yuan
2009-09-13tgsi: handle some src/dst aliasing in tgsi_sse2.cKeith Whitwell
Src/Dst aliasing (aka SOA dependencies) requires some care to ensure intermediate results do not overwrite yet-to-be read source registers. This change ensures that MOV/SWZ handle this correctly, which is poor but no worse than the current tgsi_exec.c path. Remove the fallback as there is nothing to be gained correctness-wise between the two implementations now. Fixing this properly looks like a bit of work in this code, but might be easily achieved by sending destination writes to temporary storage.
2009-09-13llvmpipe: Compute derivatives.José Fonseca
2009-09-13llvmpipe: Remove dead references to pipe_winsys.José Fonseca
2009-09-13llvmpipe: Use const keyword for input array arguments.José Fonseca
2009-09-13llvmpipe: Delay storing into the dst register to prevent clobbering the src ↵José Fonseca
registers. How I'm thankful for regular expressions -- just a couple of them were all that was needed to do this otherwise tiresome and bug prone change.
2009-09-13llvmpipe: Translate more TGSI opcodes.José Fonseca
Basically cover all low hanging fruit, and mark the still missing opcodes as "fixme" or deprecated.
2009-09-13llvmpipe: Add a few more common arithmetic functions.José Fonseca
We are relying on SSE4.1 for round/trunc/ceil/floor. We'll need to eventually find alternatives for the rest of the world.
2009-09-13llvmpipe: Rename function to free up lp_build_trunc to the usual arithmetic ↵José Fonseca
meaning.
2009-09-12tgsi: implement saturationKeith Whitwell
Fix recent performance regression.
2009-09-12tgsi: add missing implementation of constant decl changeKeith Whitwell
2009-09-13r300g: delete unused flag due to commit: 09b566e1610Cooper Yuan
2009-09-12ureg: add a mechanism to get the built tokens rather than a full shaderKeith Whitwell
Previously ureg would always call the driver's create-shader function. This allows the caller the opportunity to hold onto the tokens if it needs to reuse them, eg. to create an internal draw shader.
2009-09-12ureg: add generic emitters for tex and branch instructionsKeith Whitwell
Couldn't previously emit these except by calling the opcode-specific helper.
2009-09-12tgsi/ureg: give ureg_DECL_constant an explicit index parameterKeith Whitwell
Avoid the need to emit all constant declarations in order. Makes referring to a specific constant in the constant buffer much easier.
2009-09-12tgsi/ureg: VS inputs don't have any semantic tags, just an indexKeith Whitwell
Fix ureg_DECL_vs_input to reflect this and fix up all callers.
2009-09-12tgsi: free tokens on errorKeith Whitwell
2009-09-12tgsi: sanity check ureg programsKeith Whitwell
2009-09-12tgsi: add const qualifierKeith Whitwell
2009-09-12r300g: There is no such thing as "texture stride"Nicolai Hähnle
Individual texture images have a stride, but textures as a whole do not. There are still pieces of code which are confused about this, but the core of the confusion is hopefully gone. Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-09-11llvmpipe: asst fixes for 'make linux-llvmpipe'Brian Paul
2009-09-11r300g: only allocate one BO for vertex buffers, default size is 64*1024Cooper Yuan
it can fix redbook/sceneflat, scene, scenebamb, surface, nurbs and so on