aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* 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]>
* glsl: Add lexer rules for uint and uvecN (N=2..4)Chad Versace2010-10-111-0/+4
| | | | | | Commit for generated file glsl_lexer.cpp follows this commit. Reviewed-by: Ian Romanick <[email protected]>
* glsl: Add glsl_type::uvecN_type for N=2,3Chad Versace2010-10-112-0/+4
| | | | Reviewed-by: Ian Romanick <[email protected]>
* intel_extensions: Add ability to set GLSL version via environmentChad Versace2010-10-111-1/+18
| | | | | | | | | Add ability to set the GLSL version used by the GLcontext by setting the environment variable INTEL_GLSL_VERSION. For example, env INTEL_GLSL_VERSION=130 prog args If the environment variable is missing, the GLSL versions defaults to 120. Reviewed-by: Ian Romanick <[email protected]>
* r200: revalidate after radeon_update_renderbuffersDaniel Vetter2010-10-113-3/+10
| | | | | | | | | | | | | | | | | By calling radeon_draw_buffers (which sets the necessary flags in radeon->NewGLState) and revalidating if NewGLState is non-zero in r200TclPrimitive. This fixes an assert in libdrm (the color-/ depthbuffer was changed but not yet validated) and and stops the kernel cs checker from complaining about them (when they're too small). Thanks to Mario Kleiner for the hint to call radeon_draw_buffer (instead of my half-broken hack). v2: Also fix the swtcl r200 path. Cc: Mario Kleiner <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
* i965: Compute to MRF in the new FS backend.Eric Anholt2010-10-112-0/+124
| | | | | | This didn't produce a statistically significant performance difference in my demo (n=4) or nexuiz (n=3), but it still seems like a good idea and is recommended by the HW team.
* i965: Give the FB write and texture opcodes the info on base MRF, like math.Eric Anholt2010-10-112-38/+48
|
* i965: Give the math opcodes information on base mrf/mrf len.Eric Anholt2010-10-112-12/+57
| | | | This is progress towards enabling a compute-to-MRF pass.
* i965: Move FS backend structures to a header.Eric Anholt2010-10-115-363/+407
| | | | It's time to start splitting some of this up.
* i965: Reduce register interference checks for changed FS_OPCODE_DISCARD.Eric Anholt2010-10-111-5/+2
| | | | | | While I don't know of any performance changes from this (once extra reg available out of 128), it makes the generated asm a lot cleaner looking.
* i965: Split FS_OPCODE_DISCARD into two steps.Eric Anholt2010-10-111-9/+23
| | | | | | Having the single opcode write then read the reg meant that single instruction opcodes had to consider their source regs to interfere with their dest regs.
* llvmpipe: Use lp_tgsi_info.José Fonseca2010-10-114-30/+31
|
* gallivm: More detailed analysis of tgsi shaders.José Fonseca2010-10-114-0/+559
| | | | To allow more optimizations, in particular for direct textures.
* tgsi: Export some names for some tgsi enums.José Fonseca2010-10-112-23/+35
| | | | Useful to give human legible names in other cases.
* gallium: Define C99 restrict keyword where absent.José Fonseca2010-10-111-0/+21
|
* gallivm: Eliminate unsigned integer arithmetic from texture coordinates.José Fonseca2010-10-113-42/+32
| | | | | | | | | | | SSE support for 32bit and 16bit unsigned arithmetic is not complete, and can easily result in inefficient code. In most cases signed/unsigned doesn't make a difference, such as for integer texture coordinates. So remove uint_coord_type and uint_coord_bld to avoid inefficient operations to sneak in the future.
* llvmpipe: Remove outdated comment about stencil testing.José Fonseca2010-10-111-9/+2
|
* r600g: don't run with scissors.Dave Airlie2010-10-112-0/+92
| | | | | | This could probably be done much nicer, I've spent a day chasing a coherency problem in the kernel, that turned out to be incorrect scissor setup.
* r600g: add TXL opcode support.Dave Airlie2010-10-111-2/+2
| | | | fixes glsl1-2D Texture lookup with explicit lod (Vertex shader)
* r600g: enable vertex samplers.Dave Airlie2010-10-114-9/+21
| | | | | | | | We need to move the texture sampler resources out of the range of the vertex attribs. We could probably improve this using an allocator but this is the simple answer for now. makes mesa-demos/src/glsl/vert-tex work.
* r600g: evergreen has no request size bit in texture word4Dave Airlie2010-10-112-4/+0
|
* r600g: fix input/output Z export mixup for evergreen.Dave Airlie2010-10-111-1/+1
|
* gallivm: Pass texture coords derivates as scalars.José Fonseca2010-10-104-26/+38
| | | | | We end up treating them as scalars in the end, and it saves some instructions.
* gallivm: Use variables instead of Phis in loops.José Fonseca2010-10-102-42/+23
| | | | With this commit all explicit Phi emission is now gone.
* gallivm: Allow to disable bri-linear filtering with ↵José Fonseca2010-10-103-9/+10
| | | | GALLIVM_DEBUG=no_brilinear runtime option
* gallivm: Fix a long standing bug with nested if-then-else emission.José Fonseca2010-10-101-17/+6
| | | | | | | | | | | | We can't patch true-block at end-if time, as there is no guarantee that the block at the beginning of the true stanza is the same at the end of the true stanza -- other control flow elements may have been emitted half way the true stanza. Although this bug surfaced recently with the commit to skip mip filtering when lod is an integer the bug was always there, although probably it was avoided until now: e.g., cubemap selection nests if-then-else on the else stanza, which does not suffer from the same problem.
* dri/nv10: Fake fast Z clears for pre-nv17 cards.Francisco Jerez2010-10-104-20/+127
|
* dri/nouveau: Minor cleanup.Francisco Jerez2010-10-104-23/+22
|
* gallivm: Cleanup the rest of the flow module.José Fonseca2010-10-093-211/+39
|
* gallivm: Simplify if/then/else implementation.José Fonseca2010-10-095-91/+34
| | | | No need for for a flow stack anymore.
* gallivm: Factor out the SI->FP texture size conversion for SoA path tooJosé Fonseca2010-10-091-34/+56
|
* gallivm: Remove support for Phi generation.José Fonseca2010-10-093-225/+0
| | | | Simply rely on mem2reg pass. It's easier and more reliable.
* gallivm: Use varilables instead of Phis for cubemap selection.José Fonseca2010-10-091-36/+26
|
* gallivm: Don't generate Phis for execution mask.José Fonseca2010-10-094-17/+32
|
* gallivm: Special bri-linear computation path for unmodified rho.José Fonseca2010-10-091-20/+91
|
* gallivm: Less code duplication in log computation.José Fonseca2010-10-092-35/+88
|
* util: Defined M_SQRT2 when not available.José Fonseca2010-10-091-0/+5
|
* gallivm: Handle code have ret correctly.José Fonseca2010-10-091-2/+4
| | | | Stop disassembling on unconditional backwards jumps.
* llvmpipe: Fix MSVC build. Enable the new SSE2 code on non SSE3 systems.José Fonseca2010-10-091-42/+44
|
* llvmpipe: simplified SSE2 swz/unswz routinesKeith Whitwell2010-10-092-146/+107
| | | | | | | | We've been using these in the linear path for a while now. Based on Chris's SSSE3 code, but using only sse2 opcodes. Speed seems to be identical, but code is simpler & removes dependency on SSE3. Should be easier to extend to other rgba8 formats.
* llvmpipe: clean up shader pre/postamble, try to catch more early-zKeith Whitwell2010-10-093-103/+193
| | | | | | | | | Specifically, can do early-depth-test even when alpahtest or kill-pixel are active, providing we defer the actual z write until the final mask is avaialable. Improves demos/fire.c especially in the case where you get close to the trees.
* llvmpipe: try to be sensible about whether to branch after mask updatesKeith Whitwell2010-10-098-35/+80
| | | | | Don't branch more than once in quick succession. Don't branch at the end of the shader.
* gallivm: simpler uint8->float conversionsKeith Whitwell2010-10-091-0/+10
| | | | | LLVM seems to finds it easier to reason about these than our mantissa-manipulation code.
* gallivm: prefer blendvb for integer argumentsKeith Whitwell2010-10-091-2/+4
|
* gallivm: specialized x8z24 depthtest pathKeith Whitwell2010-10-092-31/+94
| | | | Avoid unnecessary masking of non-existant stencil component.
* llvmpipe: dump fragment shader ir and asm when LP_DEBUG=fsKeith Whitwell2010-10-091-2/+2
| | | | Better than GALLIVM_DEBUG if you're only interested in fragment shaders.