summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary
Commit message (Collapse)AuthorAgeFilesLines
* gallium/util: adapt util code to interface changesRoland Scheidegger2010-05-178-143/+145
| | | | | | | | | | | The util blit functions change their interface (apart from some rename) too (in particular util_blit_pixels now also takes a pipe_resource as the src blit argument instead of a surface, as it might just call resource_copy_region). Maybe the blit util code might need a bit more cleanup, it still doesn't feel very clean. In particular it seems that util_blit_pixels_tex should probably disappear, and I think it would be great if the code called by drivers for blitting (u_blitter.c, which isn't really touched by this change) could somehow be merged with the u_blit code.
* Merge commit 'origin/master' into gallium-msaaRoland Scheidegger2010-05-0431-782/+843
|\
| * gallivm: Proper implementation of TXL opcode.José Fonseca2010-05-044-68/+96
| |
| * gallivm: Fix several glitches introduced in the prev commit.José Fonseca2010-05-043-6/+7
| |
| * gallivm: Implement TXD.José Fonseca2010-05-044-37/+58
| |
| * gallium: move surface utility functions into u_surface.cBrian Paul2010-05-036-179/+175
| | | | | | | | This is a better place than in u_rect.c
| * gallivm: Increase the TGSI translation limits and centralize them in a header.José Fonseca2010-05-042-13/+69
| |
| * gallicm: Newton-Raphson step to improve precision.José Fonseca2010-05-041-2/+27
| | | | | | | | | | Disabled as it doesn't make VS/PSPrecision DCT happy, and it would unnecessarily slow some cases where it is not needed.
| * cso: use framebuffer utility functionsBrian Paul2010-05-031-41/+7
| |
| * gallium: move framebuffer utility functions into a new fileBrian Paul2010-05-036-84/+162
| |
| * util: add util_format_short_nameMarek Olšák2010-05-031-0/+13
| |
| * util: add util_format_is_plainMarek Olšák2010-05-031-0/+15
| |
| * Reorder LLVM passes, running mem2reg earlier.Török Edwin2010-05-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This gives a ~30% shader optimization time improvement on blender. Tested by comparing the dumped LLVM modules. Current ordering: time ~/llvm-git/obj/Release-Asserts/bin/opt l.bc -constprop -instcombine -mem2reg -gvn -simplifycfg real 0m1.126s user 0m1.108s sys 0m0.012s With this patch: time ~/llvm-git/obj/Release-Asserts/bin/opt l.bc -mem2reg -constprop -instcombine -gvn -simplifycfg real 0m0.885s user 0m0.880s sys 0m0.000s The overall improvement in blender is ~15%. Blender without the patch takes 1m13s: edwin 5934 87.6 11.5 729440 458296 pts/5 SLl+ 17:35 1:13 blender Blender with the patch takes 1m3s: edwin 5726 94.2 11.2 716424 446168 pts/5 SLl+ 17:32 1:03 blender It is still slow with the patch, but better (most of the optimization time is taken up by GVN, see LLVM PR7023). Signed-off-by: Török Edwin <[email protected]> Signed-off-by: José Fonseca <[email protected]>
| * gallivm: Display message instead of crashing when sampler generator was not ↵José Fonseca2010-05-031-0/+8
| | | | | | | | supplied for tgsi translation.
| * translate: Make translate_generic truly generic.José Fonseca2010-05-031-301/+90
| | | | | | | | | | PIPE_FORMAT_R10G10B10X2_USCALED, half floats, were not supported, so just rely on u_format for (almost) universal format support.
| * draw: Remove draw_pt_fetch_prepare call from llvm middle end.José Fonseca2010-05-031-12/+0
| | | | | | | | Unneeded since we code generate the vertex fecthes.
| * tgsi: Parse and dump predicates.José Fonseca2010-05-032-1/+63
| |
| * gallium: Remove loop register file.José Fonseca2010-05-037-40/+2
| | | | | | | | | | It was only used for D3D's REP/END/BGNFOR/ENDFOR. D3D's aL register is just like another address register now.
| * gallivm: Replace predicate assertion failure with warning message.José Fonseca2010-05-031-8/+6
| |
| * draw: Disable rtasm compilation when using LLVM.José Fonseca2010-05-031-6/+10
| | | | | | | | Saves time and trouble.
| * gallivm: fix nested break and continue statementsZack Rusin2010-05-021-16/+6
| | | | | | | | | | | | | | we were resetting the mask on each new break/continue statement within the same scope. we always need to and the current execution mask with the current break/continue mask to get the correct result (the masks are always ~1 initially)
| * gallium/util: print \n after DXTn printfLuca Barbieri2010-05-031-2/+2
| | | | | | | | | | | | | | Re-add commit 2d65a7caf97684aa654088c76a74b632fbd685fa Signed-off-by: Xavier Chantry <[email protected]> Signed-off-by: José Fonseca <[email protected]>
| * llvmpipe: fix out-of-bounds texture samplingBrian Paul2010-04-301-0/+12
| | | | | | | | | | | | | | | | | | | | | | If we're using a wrap mode in which border color sampling is possible it means that texcoords may be outside of the texture image bounds. Fetching the texel may result in a segfault. Use the 'use_border' variable to catch such texcoords and replace the texel offset with zero (which will be in bounds). Fixes segfault in Lightsmark demo, fd.o bug 27877.
| * llvmpipe: added lp_build_sample_nop() for debuggingBrian Paul2010-04-301-7/+29
| |
| * draw: Fix memory leaks in llvm code.José Fonseca2010-04-302-0/+26
| |
| * util: Add missing break statement in u_caps.cJakob Bornecrantz2010-04-301-0/+1
| | | | | | | | Thanks Vinson.
* | Merge commit 'origin/master' into gallium-msaaRoland Scheidegger2010-04-3035-362/+725
|\|
| * util: Update caps after helpfull inputJakob Bornecrantz2010-04-292-19/+61
| | | | | | | | | | | | | | | | | | | | | | | | In no particular order: * Make list const * Add function comments * Clearly state that demo lists are not complete * Fix whitespace * Use __FUNCTION__ instead of __func__ * Add unimplemented check which always fail Thanks Brian and Keith.
| * util: Add small caps checker helperJakob Bornecrantz2010-04-294-0/+271
| |
| * util: Format error format string as the rest of the pipe formatsJakob Bornecrantz2010-04-291-1/+1
| |
| * draw llvm: stay in bounds even if fetch_count % 4 != 0Zack Rusin2010-04-291-2/+16
| | | | | | | | | | if fetch_count % 4 != 0 then on the last iteration we fetch garbage. this patch makes sure we stay within bounds
| * cso: remove commented-out code, update function docsBrian Paul2010-04-291-1/+4
| |
| * gallivm: add some assertions in special-case sampler codeBrian Paul2010-04-291-0/+5
| |
| * gallium/draw: Fix PPC compiler warning.Michel Dänzer2010-04-291-1/+1
| |
| * gallium/draw: Fix PPC build failure.Michel Dänzer2010-04-291-1/+1
| |
| * draw: remove extra semicolonsBrian Paul2010-04-282-4/+4
| |
| * draw: use a cast wrapperBrian Paul2010-04-281-4/+11
| |
| * draw: put 'create' in the vs varient create function namesBrian Paul2010-04-285-12/+16
| |
| * draw: add missing function parameterBrian Paul2010-04-281-1/+2
| |
| * gallium/util: convert //-style commentsBrian Paul2010-04-281-2/+2
| |
| * gallium/util: convert //-style commentsBrian Paul2010-04-281-2/+2
| |
| * tgsi: Drop BGNFOR, ENDFOR, REP, and ENDREP opcodes.José Fonseca2010-04-277-161/+4
| |
| * gallivm: Drop BGNFOR, ENDFOR, REP, and ENDREP opcodes.José Fonseca2010-04-271-16/+0
| |
| * util: fix assorted problems in the image packing functionsBrian Paul2010-04-271-84/+70
| |
| * gallivm: Disable llvm.cos.v4f32 and llvm.sin.v4f32 instrinsics on Windows.José Fonseca2010-04-271-0/+18
| | | | | | | | | | | | | | | | Runtime linking doesn't quite work. Just comment then out for now to prevent crashes. These will go away in the future because calling 4 times CRT's cosf()/sinf() is over-precise and under-performing.
| * gallivm: Ensure all allocas are in the first block.José Fonseca2010-04-276-41/+97
| | | | | | | | Refactor the code to make this easier.
| * draw/llvm: implement fetch elts pathsZack Rusin2010-04-263-31/+160
| | | | | | | | | | | | | | we were only running the llvm paths when the input elts were linear, now we can handle abritrary fetch elts arrays. we do this by generating two paths - linear and fetch_elts one and just selecting the right one at run time.
* | gallium: fix glaring bugs in last commitRoland Scheidegger2010-04-271-1/+1
| |
* | gallium: interface changes for multisamplingRoland Scheidegger2010-04-262-0/+13
|/ | | | | | | | | | | | | | | | | | | | | | add function to set sample mask, and state for alpha-to-coverage and alpha-to-one. Also make it possible to query for supported sample count with is_msaa_supported(). Use explicit resource_resolve() to resolve a resource. Note that it is illegal to bind a unresolved resource as a sampler view, must be resolved first (as per d3d10 and OGL APIs, binding unresolved resource would mean that special texture fetch functions need to be used which give explicit control over what samples to fetch, which isn't supported yet). Also change surface_fill() and surface_copy() to operate directly on resources. Blits should operate directly on resources, most often state trackers just used get_tex_surface() then did a blit. Note this also means the blit bind flags are gone, if a driver implements this functionality it is expected to handle it for all resources having depth_stencil/render_target/sampler_view bind flags (might even require it for all bind flags?). Might want to introduce quality levels for MSAA later. Might need to revisit this for hw which does instant resolve.
* gallivm: BGNFOR/ENDFOR fallthrough to BGNLOOP/ENDLOOPAlan Hourihane2010-04-261-10/+2
|