summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary
Commit message (Collapse)AuthorAgeFilesLines
* draw: check for null sampler pointersBrian Paul2010-09-301-4/+6
| | | | http://bugs.freedesktop.org/show_bug.cgi?id=30516
* gallivm: added some commentsBrian Paul2010-09-302-8/+16
|
* Revert "Prefer intrinsics to handrolled atomic ops."Tom Fogal2010-09-301-2/+2
| | | | | This reverts commit 5f66b340aa49c6bc8d0acb2d1a6f8e9a7ef2cb2e, quickly fixing 30514.
* Prefer intrinsics to handrolled atomic ops.Tom Fogal2010-09-301-2/+2
|
* Implement x86_64 atomics for compilers w/o intrinsics.Tom Fogal2010-09-301-0/+47
| | | | | Really old gcc's (3.3, at least) don't have support for the intrinsics we need. This implements a fallback for that case.
* gallivm: check for level=0 case in lp_build_minify()Brian Paul2010-09-301-3/+10
| | | | This lets us avoid the shift and max() operations.
* gallivm: More comprehensive border usage logic.José Fonseca2010-09-303-29/+51
|
* gallium/util: remove duplicated includeNicolas Kaiser2010-09-301-2/+0
| | | | | | Remove duplicated include. Signed-off-by: Brian Paul <[email protected]>
* gallium/rtasm: remove duplicated includeNicolas Kaiser2010-09-301-1/+0
| | | | | | Remove duplicated include. Signed-off-by: Brian Paul <[email protected]>
* gallivm: Use SSE4.1's ROUNDSS/ROUNDSD for scalar rounding.José Fonseca2010-09-291-21/+71
|
* draw: pass sampler state down to llvm jit stateBrian Paul2010-09-293-0/+26
| | | | | | | Fixes a regression caused from the change to make min/max lod dynamic state. https://bugs.freedesktop.org/show_bug.cgi?id=30437
* llvmpipe: fix swizzling of texture border colorBrian Paul2010-09-271-2/+2
| | | | | | | | The pipe_sampler_view's swizzle terms also apply to the texture border color. Simply move the apply_sampler_swizzle() call after we fetch the border color. Fixes many piglit texwrap failures.
* ureg: support centroid interpolationLuca Barbieri2010-09-272-9/+31
|
* util/u_blitter: fix leakJoakim Sindholt2010-09-261-1/+1
|
* gallivm: fix repeat() function for NPOT texturesBrian Paul2010-09-252-10/+17
| | | | | The trick of casting the coord to an unsigned value only works for POT textures. Add a bias instead. This fixes a few piglit texwrap failures.
* gallivm: Remove dead experimental code.José Fonseca2010-09-252-78/+46
|
* gallivm: Fetch the lod from the dynamic state when min_lod == max_lod.José Fonseca2010-09-252-5/+4
|
* draw: Fullfil the new min_lod/max_lod/lod_bias/border_color dynamic stateJosé Fonseca2010-09-253-0/+33
|
* gallivm: optimize yuv decodingRoland Scheidegger2010-09-251-9/+55
| | | | | | | | | | | this is more a proof to show vector shifts on x86 with per-element shift count are evil. Since we can avoid the shift with a single compare/select, use that instead. Replaces more than 20 instructions (and slow ones at that) with about 3, and cuts compiled shader size with mesa's yuvsqure demo by over 10% (no performance measurements done - but selection is blazing fast). Might want to revisit that for future cpus - unfortunately AVX won't have vector shifts neither, but AMD's XOP will, but even in that case using selection here is probably not slower.
* gallivm: don't use URem/UDiv when calculating offsets for blocksRoland Scheidegger2010-09-251-1/+11
| | | | | | | While it's true that llvm can and will indeed replace this with bit arithmetic (since block height/width is POT), it does so (llvm 2.7) by element and hence extracts/shifts/reinserts each element individually. This costs about 16 instructions (and extract is not really fast) vs. 1...
* gallivm: fix copy&paste bugRoland Scheidegger2010-09-251-1/+1
| | | | | looks like pot_depth should be used, not pot_height (found by accident, not verified)
* util: fix util_pack_color for B4G4R4A4Marek Olšák2010-09-251-1/+1
| | | | NOTE: This is a candidate for the 7.9 branch.
* llvmpipe: make texture border_color dynamic stateBrian Paul2010-09-243-25/+53
|
* llvmpipe: make min/max lod and lod bias dynamic stateBrian Paul2010-09-244-20/+37
| | | | | | Before, changing any of these sampler values triggered generation of new JIT code. Added a new flag for the special case of min_lod == max_lod which is hit during auto mipmap generation.
* util: make calling remove_from_list multiple times in a row safeMarek Olšák2010-09-241-0/+2
| | | | | | | | | This commit fixes an infinite loop in foreach_s if remove_from_list is used more than once on the same item with other list operations in between. NOTE: This is a candidate for the 7.9 branch because the commit "r300g: fixup long-lived BO maps being incorrectly unmapped when flushing" depends on it.
* draw: Prevent clipped vertices overflow.José Fonseca2010-09-231-1/+13
| | | | | | | | Some pathological triangles cause a theoritically impossible number of clipped vertices. The clipper will still assert, but at least release builds will not crash, while this problem is further investigated.
* draw: don't apply flatshading to clipped tris with <3 vertsKeith Whitwell2010-09-231-17/+18
| | | | | If a triangle was completely culled by clipping, we would still try to fix up its provoking vertex.
* u_blitter: add a custom blitter call passing a dsa csoDave Airlie2010-09-232-14/+37
| | | | | reimplement the flush stage added for r300 to allow a custom DSA stage to be used in the pipeline, this allows for r600 hw DB->CB flushes.
* tgsi: Fix missing test before checkJakob Bornecrantz2010-09-221-1/+2
| | | | | | As introduced with commit d21301675c249602e19310d5b62fad424f2f2ac2 NOTE: This is a candidate for the 7.9 branch.
* gallivm: Add unorm support to lp_build_lerp()José Fonseca2010-09-221-9/+75
| | | | Unfortunately this can cause segfault with LLVM 2.6, if x is a constant.
* gallivm: fix lp_build_sample_compare()Brian Paul2010-09-211-17/+23
| | | | | | | | | | The old code didn't really make sense. We only need to compare the X channel of the texture (depth) against the texcoord. For (bi)linear sampling we should move the calls to this function and compute the final result as (s1+s2+s3+s4) * 0.25. Someday. This fixes the glean glsl1 shadow2D() tests. See fd.o bug 29307.
* draw: new draw_fs.[ch] filesBrian Paul2010-09-212-0/+115
|
* Merge branch 'sprite-coord'Brian Paul2010-09-219-83/+143
|\
| * draw: check bitshift against PIPE_MAX_SHADER_OUTPUSBrian Paul2010-09-201-1/+5
| |
| * draw: fix test for using the wide-point stageBrian Paul2010-09-201-2/+2
| | | | | | | | | | As it was, we weren't obeying the draw->pipeline.point_sprite state. Fixes point sprites in llvmpipe driver.
| * gallium: rework handling of sprite_coord_enable stateBrian Paul2010-09-178-81/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement the pipe_rasterizer_state::sprite_coord_enable field in the draw module (and softpipe) according to what's specified in the documentation. The draw module can now add any number of extra vertex attributes to a post-transformed vertex and generate texcoords for those attributes per sprite_coord_enable. Auto-generated texcoords for sprites only worked for one texcoord unit before. The frag shader gl_PointCoord input is now implemented like any other generic/texcoord attribute. The draw module now needs to be informed about fragment shaders since we need to look at the fragment shader's inputs to know which ones need auto-generated texcoords. Only softpipe has been updated so far.
* | tgsi: Remove duplicate case value.Vinson Lee2010-09-201-1/+0
| |
* | tgsi: Actually care what check_soa_dependencies saysJakob Bornecrantz2010-09-211-17/+39
| | | | | | | | | | | | Thanks to José for the more complete list of supported opcodes. NOTE: This is a candidate for the 7.9 branch.
* | tgsi: Don't ignore indirect registers in tgsi_check_soa_dependenciesJosé Fonseca2010-09-211-2/+4
| | | | | | | | NOTE: This is a candidate for the 7.9 branch.
* | tgsi: add switch/case opcodes to tgsi_opcode_tmp.hLuca Barbieri2010-09-201-0/+4
| |
* | gallivm: remove debug codeBrian Paul2010-09-201-2/+0
| |
* | util/r300g: split the r300 index buffer modifier functions out to utilDave Airlie2010-09-204-0/+170
| | | | | | | | | | | | These can be used by other drivers, like r600g. Signed-off-by: Dave Airlie <[email protected]>
* | rbug: Add function to get opcode name stringJakob Bornecrantz2010-09-202-0/+69
| |
* | rbug: Cast opcode to corrent int sizeJakob Bornecrantz2010-09-204-28/+28
| |
* | auxiliary: fix depth-only and stencil-only clearsLuca Barbieri2010-09-191-1/+1
| | | | | | | | | | | | | | Depth-only and stencil-only clears should mask out depth/stencil from the output, mask out stencil/input from input, and OR or ADD them together. However, due to a typo they were being ANDed, resulting in zeroing the buffer.
* | util: linearized sRGB values don't fit into 8bitsJosé Fonseca2010-09-171-0/+8
| | | | | | | | Fixes glean texture_srgb test.
* | gallivm: added missing case for PIPE_TEXTURE_RECTBrian Paul2010-09-171-0/+1
|/ | | | Fixes fd.o bug 30245
* tgsi/sse: fix aos_to_soa() loop to handle num_inputs==0Brian Paul2010-09-161-6/+9
| | | | | | | | | Basically, change the loop from: do {...} while (--num_inputs != 0) into: while (num_inputs != 0) { ... --num_inputs; } Fixes fd.o bug 29987.
* gallivm: Remove unnecessary header.Vinson Lee2010-09-161-1/+0
|
* gallivm: fix wrong return value in bitwise functionsBrian Paul2010-09-161-3/+3
|