summaryrefslogtreecommitdiffstats
path: root/src
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
|
* xvmc: Generate new resource ID in _XIDHandler, otherwise it's invalid.Cooper Yuan2009-09-153-1/+10
|
* st/xorg: add some debugging helpersZack Rusin2009-09-142-14/+33
|
* r600: add span support for 1D tilesAlex Deucher2009-09-143-1/+223
| | | | | | | | | | | 1D tile span support for depth/stencil/color/textures Z and stencil buffers are always tiled, so this fixes sw access to Z and stencil buffers. color and textures are currently linear, but this adds span support when we implement 1D tiling. This fixes the text in progs/demos/engine and progs/tests/z*
* r600: fix warningAlex Deucher2009-09-141-0/+1
| | | | Noticed by rnoland on IRC.
* st/mesa: minor whitespace, comment clean-upsBrian Paul2009-09-141-21/+9
|
* 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.
* intel: minor code clean-upsBrian Paul2009-09-141-11/+8
|
* intel: fix renderbuffer map/unmap regressionBrian Paul2009-09-141-14/+14
| | | | | | Commit 36dd53a3cded9d003ec418732b7fc93c1476aa9b caused a few regressions because the glReadBuffer() buffer wasn't getting mapped when GL_READ_BUFFER != GL_DRAW_BUFFER.
* intel: remove unneeded driver function assignmentsBrian Paul2009-09-141-5/+0
| | | | | These default swrast functions are already installed by _mesa_init_driver_functions().
* mesa/st: remove dead commentKeith Whitwell2009-09-141-7/+0
|
* st/mesa: convert to new tgsi_ureg mechanism for shader emitKeith Whitwell2009-09-143-983/+625
| | | | | | | | | Should be easier to read and work with than the older ways of emitting TGSI tokens. Also, emit simpler TGSI than previously: - translate away source and dest extended modifiers - translate away the SWZ opcode
* 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.
* mesa: remove unused SATURATE_PLUS_MINUS_ONE flagKeith Whitwell2009-09-122-3/+0
| | | | Never set in mesa. Remove from tgsi translation as well.
* 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
|