summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* glsl: add support for shader stencil exportDave Airlie2010-10-135-0/+30
| | | | | This adds proper support for the GL_ARB_shader_stencil_export extension to the GLSL compiler. Thanks to Ian for pointing out where I need to add things.
* r600g: add shader stencil export support.Dave Airlie2010-10-133-2/+18
|
* r600g: add support for S8, X24S8 and S8X24 sampler formats.Dave Airlie2010-10-131-0/+8
|
* st/mesa: use shader stencil export to accelerate shader drawpixels.Dave Airlie2010-10-134-57/+158
| | | | | | If the pipe driver has shader stencil export we can accelerate DrawPixels using it. It tries to pick an S8 texture and works its way to X24S8 and S8X24 if that isn't supported.
* st/mesa: add option to choose a texture format that we won't render to.Dave Airlie2010-10-133-8/+22
| | | | | | | We need a texture to put the drawpixels stuff into, an S8 texture is less memory/bandwidth than the 32-bit X24S8, but we might not be able to render directly to an S8, so this lets us specify we won't be rendering to this texture.
* softpipe: add support for shader stencil export capabilityDave Airlie2010-10-135-12/+67
| | | | | | this allows softpipe to be used to test shader stencil ref exporting. Signed-off-by: Dave Airlie <[email protected]>
* mesa: improve texstore for 8/24 formats and add texstore for S8.Dave Airlie2010-10-131-119/+144
| | | | | | | | | | | | | this improves mesa texstore for 8/24 so it can create S24X8/X24S8 variants by keeping the depth bits static. it also adds a texstore for S8 so we can write out an S8 texture to use in the sampler for accel draw pixels to save memory bw. The logic seems sound here, I've worked it out a few times on paper, though it would be good to have some review. Signed-off-by: Dave Airlie <[email protected]>
* mesa: add support for FRAG_RESULT_STENCIL.Dave Airlie2010-10-131-2/+3
| | | | | | this is needed to add support for stencil shader export. Signed-off-by: Dave Airlie <[email protected]>
* gallium/util: add S8 tile sampling support.Dave Airlie2010-10-131-0/+27
|
* gallium/format: add X32_S8X24_USCALED format.Dave Airlie2010-10-134-0/+28
| | | | Has similiar use cases to the S8X24 and X24S8 formats.
* gallium/format: add support for X24S8 and S8X24 formats.Dave Airlie2010-10-136-0/+107
| | | | | | these formats are needed for hw that can sample and write stencil values. Signed-off-by: Dave Airlie <[email protected]>
* gallium/tgsi: add support for stencil writes.Dave Airlie2010-10-137-8/+28
| | | | | | this adds the capability + a stencil semantic id, + tgsi scan support. Signed-off-by: Dave Airlie <[email protected]>
* i965: Don't rebase the index buffer to min 0 if any arrays are in VBOs.Eric Anholt2010-10-124-11/+15
| | | | | | | | | There was a check to only do the rebase if we didn't have everything in VBOs, but nexuiz apparently hands us a mix of VBOs and arrays, resulting in blocking on the GPU to do a rebase. Improves nexuiz 800x600, high-settings performance on my Ironlake 41% (+/- 1.3%), from 14.0fps to 19.7fps.
* intel: Allow CopyTexSubImage to InternalFormat 3/4 textures, like RGB/RGBA.Eric Anholt2010-10-121-0/+2
| | | | | | The format selection of the CopyTexSubImage is pretty bogus still, but this at least avoids software fallbacks in nexuiz, bringing performance from 7.5fps to 12.8fps on my machine.
* i965: Fix missing "break;" in i2b/f2b, and missing AND of CMP result.Eric Anholt2010-10-121-2/+3
| | | | Fixes glsl-fs-i2b.
* glsl: Fix incorrect assertionIan Romanick2010-10-121-1/+1
| | | | | | | This assertion was added in commit f1c1ee11, but it did not notice that the array is accessed with 'size-1' instead of 'size'. As a result, the assertion was off by one. This caused failures in at least glsl-orangebook-ch06-bump.
* mesa: Validate assembly shaders when GLSL shaders are usedIan Romanick2010-10-121-12/+40
| | | | | | | | | | If an GLSL shader is used that does not provide all stages and assembly shaders are provided for the missing stages, validate the assembly shaders. Fixes bugzilla #30787 and piglit tests glsl-invalid-asm0[12]. NOTE: this is a candidate for the 7.9 branch.
* llvmpipe: make sure intrinsics code is guarded with PIPE_ARCH_SSEKeith Whitwell2010-10-121-40/+42
|
* st/xorg: Fix typoThomas Hellstrom2010-10-121-1/+1
| | | | | | Pointed out by Jakob Bornecrantz. Signed-off-by: Thomas Hellstrom <[email protected]>
* ir_to_mesa: assorted clean-ups, const qualifiers, new commentsBrian Paul2010-10-121-14/+45
|
* gallivm: Name anonymous union.José Fonseca2010-10-122-7/+7
|
* st/xlib: add some commentsBrian Paul2010-10-121-0/+8
|
* glsl2: fix signed/unsigned comparison warningBrian Paul2010-10-121-1/+1
|
* llmvpipe: improve mm_mullo_epi32José Fonseca2010-10-121-4/+3
| | | | | Apply Jose's suggestions for a small but measurable improvement in isosurf.
* st/xorg: Don't try to remove invalid fbsThomas Hellstrom2010-10-121-3/+5
| | | | Signed-off-by: Thomas Hellstrom <[email protected]>
* xorg/vmwgfx: Don't hide HW cursors when updating themThomas Hellstrom2010-10-121-0/+1
| | | | | | Gets rid of annoying cursor flicker Signed-off-by: Thomas Hellstrom <[email protected]>
* st/xorg: Add a customizer option to get rid of annoying cursor update flickerThomas Hellstrom2010-10-123-1/+12
| | | | Signed-off-by: Thomas Hellstrom <[email protected]>
* xorg/vmwgfx: Make vmwarectrl work also on 64-bit serversThomas Hellstrom2010-10-121-0/+1
| | | | Signed-off-by: Thomas Hellstrom <[email protected]>
* st/xorg: Don't try to use option values before processing optionsThomas Hellstrom2010-10-121-13/+13
| | | | Signed-off-by: Thomas Hellstrom <[email protected]>
* Revert "llvmpipe: try to keep plane c values small"Keith Whitwell2010-10-122-24/+17
| | | | | | | This reverts commit 9773722c2b09d5f0615a47cecf4347859474dc56. Looks like there are some floor/rounding issues here that need to be better understood.
* gallivm: don't branch on KILLs near end of shaderKeith Whitwell2010-10-121-10/+47
|
* r600g: add missing file to sconscriptKeith Whitwell2010-10-121-0/+1
|
* gallium: move sse intrinsics debug helpers to u_sse.hKeith Whitwell2010-10-123-117/+79
|
* llvmpipe: Fix MSVC build.José Fonseca2010-10-121-18/+18
| | | | MSVC doesn't accept more than 3 __m128i arguments.
* llvmpipe: fix typo in last commitKeith Whitwell2010-10-121-2/+2
|
* llvmpipe: try to keep plane c values smallKeith Whitwell2010-10-122-17/+24
| | | | Avoid accumulating more and more fixed point bits.
* llvmpipe: add debug helpers for epi32 etcKeith Whitwell2010-10-121-0/+115
|
* llvmpipe: try to do more of rast_tri_3_16 with intrinsicsKeith Whitwell2010-10-122-9/+271
| | | | | | | | There was actually a large quantity of scalar code in these functions previously. This tries to move more into intrinsics. Introduce an sse2 mm_mullo_epi32 replacement to avoid sse4 dependency in the new rasterization code.
* llvmpipe: Do not dispose the execution engine.José Fonseca2010-10-121-3/+0
| | | | The engine is a global owned by gallivm module.
* nouveau: Get larger push buffers.Francisco Jerez2010-10-123-3/+3
| | | | | Useful to amortize the command submission/reloc overhead (e.g. etracer goes from 72 to 109 FPS on nv4b).
* dri/nouveau: Initialize tile_flags when allocating a render target.Francisco Jerez2010-10-122-6/+14
|
* r600g: fix typo in vertex sampling on r600Dave Airlie2010-10-121-1/+1
| | | | | | fixes https://bugs.freedesktop.org/show_bug.cgi?id=30771 Reported-by: Kevin DeKorte
* i965: Always use the new FS backend on gen6.Eric Anholt2010-10-111-2/+7
| | | | | | | | | | It's now much more correct for gen6 than the old backend, with just 2 regressions I've found (one of which is common with pre-gen6 and will be fixed by an array splitting IR pass). This does leave the old Mesa IR backend getting used still when we don't have GLSL IR, but the plan is to get GLSL IR input to the driver for the ARB programs and fixed function by the next release.
* i965: Fix gen6 pixel_[xy] setup to avoid mixing int and float src operands.Eric Anholt2010-10-111-6/+15
| | | | | | | | | | | | | Pre-gen6, you could mix int and float just fine. Now, you get goofy results. Fixes: glsl-arb-fragment-coord-conventions glsl-fs-fragcoord glsl-fs-if-greater glsl-fs-if-greater-equal glsl-fs-if-less glsl-fs-if-less-equal
* i965: Don't compute-to-MRF in gen6 VS math.Eric Anholt2010-10-111-7/+15
| | | | | There was code to do this for pre-gen6 already, this just enables it for gen6 as well.
* i965: Expand uniform args to gen6 math to full registers to get hstride == 1.Eric Anholt2010-10-111-0/+25
| | | | | | | | | | This is a hw requirement in math args. This also is inefficient, as we're calculating the same result 8 times, but then we've been doing that on pre-gen6 as well. If we're doing math on uniforms, though, we'd probably be better served by having some sort of mechanism for precalculating those results into another uniform value to use. Fixes 7 piglit math tests.
* i965: Don't compute-to-MRF in gen6 math instructions.Eric Anholt2010-10-111-0/+16
|
* i965: Add a couple of checks for gen6 math instruction limits.Eric Anholt2010-10-111-0/+26
|
* i965: Don't consider gen6 math instructions to write to MRFs.Eric Anholt2010-10-111-17/+38
| | | | | This was leftover from the pre-gen6 cleanups. One tests regresses where compute-to-MRF now occurs.
* glsl: Changes in generated file glsl_lexer.cppChad Versace2010-10-111-691/+716
| | | | Signed-off-by: Ian Romanick <[email protected]>