summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* nv50: add preliminary support for point spritesChristoph Bumiller2009-09-153-2/+58
|
* nv50: add support for point size per vertexChristoph Bumiller2009-09-152-0/+15
|
* nv50: add support for light-twosideChristoph Bumiller2009-09-152-0/+22
|
* nv50: proper linkage between VP and FPChristoph Bumiller2009-09-154-161/+298
| | | | | | | | | | | | | | | | | | | | | 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.
* nv50: move allocation of pc regsChristoph Bumiller2009-09-151-155/+129
| | | | | Make use of tgsi_shader_info to determine how many nv50_regs we need to allocate, whether program uses KIL, or writes DEPR.
* nv50: nicer initialization of nv50_regsChristoph Bumiller2009-09-151-51/+42
|
* nv50: handle CEIL and TRUNC opcodesChristoph Bumiller2009-09-151-0/+16
|
* nv50: handle SEQ, SGT, SLE, SNE opcodesChristoph Bumiller2009-09-151-30/+61
|
* nv50: SIN and COS use src0.w for dst.wChristoph Bumiller2009-09-151-16/+20
|
* nv50: use broadcast TEMP reg in tx_insnChristoph Bumiller2009-09-151-60/+28
| | | | | Makes some opcode cases nicer and might reduce the total nr of TEMPs required, or save some MOVs.
* nv50: add nv50_tgsi_insn to handle swizzles safelyChristoph Bumiller2009-09-151-19/+128
|
* nv50: add functions for swizzle resolutionChristoph Bumiller2009-09-151-30/+118
| | | | | | 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).
* nv50: extend insn src mask functionChristoph Bumiller2009-09-151-46/+72
| | | | | Extend its usage to avoiding e.g. emission of negation instructions in tx_insn for sources we don't need.
* st/g3dvl: pass color values to softpipe clear functionCooper Yuan2009-09-152-2/+9
|
* st/xorg: add some debugging helpersZack Rusin2009-09-142-14/+33
|
* st/xorg: fix ureg_DECL_constant() parametersBrian Paul2009-09-141-5/+5
| | | | | | 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.
* gallium: Add pipe_transfer_map/unmap inlines.José Fonseca2009-09-141-0/+13
|
* util: Add _BitScanForward intrinsic's declaration.José Fonseca2009-09-141-1/+3
| | | | It is missing in some Microsoft DDKs.
* nv50: Fix m2mf positions.Marcin Kościelnicki2009-09-141-2/+2
|
* llvmpipe: Make lp_type a regular union.José Fonseca2009-09-1436-272/+270
| | | | | Union not worth the hassle of violating C99 or adding a name to the structure.
* util: Fix a1r5g5b5's format description.José Fonseca2009-09-141-1/+1
|
* g3dvl: update tgsi_opcode in order to build g3dvl libraryCooper Yuan2009-09-142-8/+8
|
* tgsi: handle some src/dst aliasing in tgsi_sse2.cKeith Whitwell2009-09-131-8/+23
| | | | | | | | | | | | 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.
* llvmpipe: Compute derivatives.José Fonseca2009-09-131-4/+87
|
* llvmpipe: Remove dead references to pipe_winsys.José Fonseca2009-09-131-4/+1
|
* llvmpipe: Use const keyword for input array arguments.José Fonseca2009-09-134-11/+12
|
* llvmpipe: Delay storing into the dst register to prevent clobbering the src ↵José Fonseca2009-09-131-134/+103
| | | | | | | 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.
* llvmpipe: Translate more TGSI opcodes.José Fonseca2009-09-131-23/+116
| | | | | Basically cover all low hanging fruit, and mark the still missing opcodes as "fixme" or deprecated.
* llvmpipe: Add a few more common arithmetic functions.José Fonseca2009-09-132-0/+111
| | | | | We are relying on SSE4.1 for round/trunc/ceil/floor. We'll need to eventually find alternatives for the rest of the world.
* llvmpipe: Rename function to free up lp_build_trunc to the usual arithmetic ↵José Fonseca2009-09-131-7/+7
| | | | meaning.
* tgsi: implement saturationKeith Whitwell2009-09-121-17/+26
| | | | Fix recent performance regression.
* tgsi: add missing implementation of constant decl changeKeith Whitwell2009-09-121-8/+61
|
* r300g: delete unused flag due to commit: 09b566e1610Cooper Yuan2009-09-131-1/+0
|
* ureg: add a mechanism to get the built tokens rather than a full shaderKeith Whitwell2009-09-122-0/+30
| | | | | | 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.
* ureg: add generic emitters for tex and branch instructionsKeith Whitwell2009-09-122-11/+80
| | | | Couldn't previously emit these except by calling the opcode-specific helper.
* tgsi/ureg: give ureg_DECL_constant an explicit index parameterKeith Whitwell2009-09-123-4/+8
| | | | | Avoid the need to emit all constant declarations in order. Makes referring to a specific constant in the constant buffer much easier.
* tgsi/ureg: VS inputs don't have any semantic tags, just an indexKeith Whitwell2009-09-124-50/+44
| | | | Fix ureg_DECL_vs_input to reflect this and fix up all callers.
* tgsi: free tokens on errorKeith Whitwell2009-09-121-0/+3
|
* tgsi: sanity check ureg programsKeith Whitwell2009-09-121-0/+10
|
* tgsi: add const qualifierKeith Whitwell2009-09-122-2/+2
|
* r300g: There is no such thing as "texture stride"Nicolai Hähnle2009-09-126-24/+47
| | | | | | | | | 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 <[email protected]>
* r300g: only allocate one BO for vertex buffers, default size is 64*1024Cooper Yuan2009-09-111-35/+33
| | | | it can fix redbook/sceneflat, scene, scenebamb, surface, nurbs and so on
* llvmpipe: set dirty_render_cache in llvmpipe_clear()José Fonseca2009-09-111-0/+1
| | | | | | Based on Brian's softpipe change on commit 988db641195819c948249a1bb2d59f13577a482f. We don't use the tile cache for zsbuf though, only for color buffers.
* llvmpipe: Update status in README and TODO/FIXME comments throughout the code.José Fonseca2009-09-119-36/+36
|
* softpipe: remove no-op softpipe_init_texture_funcs() functionBrian Paul2009-09-103-10/+0
|
* softpipe: remove unused #includes, move commentBrian Paul2009-09-101-7/+1
|
* util: remove unneeded #includesBrian Paul2009-09-101-6/+0
|
* softpipe: reformatting, clean-ups, commentsBrian Paul2009-09-102-15/+30
|
* util: minor clean-ups, reformattingBrian Paul2009-09-101-17/+12
|
* softpipe: remove unneeded #includesBrian Paul2009-09-102-3/+0
|