summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary
Commit message (Collapse)AuthorAgeFilesLines
* vl: fix shader in/out numberingChristian König2012-03-035-10/+10
| | | | | | Fix all the other wrong numberings. Signed-off-by: Christian König <[email protected]>
* vl/compositor: fix shader in/out numberingChristian König2012-03-021-5/+5
| | | | | | | Michel pointed out that my assumption of a global index namespace is incorrect and breaks r300g. Signed-off-by: Christian König <[email protected]>
* vl/csc: simplify matrix handlingChristian König2012-03-024-69/+64
| | | | | | A csc matrix is only 4x3 not 4x4, also define a VDPAU compatible type for it. Signed-off-by: Christian König <[email protected]>
* vl/compositor: add support for per layer dst areasChristian König2012-03-022-39/+45
| | | | Signed-off-by: Christian König <[email protected]>
* vl/compositor: add per vertex color suportChristian König2012-03-022-31/+84
| | | | | | Used in subtitles, for example. Signed-off-by: Christian König <[email protected]>
* vl/compositor: replace pipe_video_rect with u_rectChristian König2012-03-022-31/+31
| | | | | | So we support things like flipping also. Signed-off-by: Christian König <[email protected]>
* vl/compositor: split shaders and stateChristian König2012-03-022-163/+240
| | | | Signed-off-by: Christian König <[email protected]>
* Revert "gallivm: Change getExtent and readByte to non-const with llvm-3.1."Vinson Lee2012-03-011-8/+0
| | | | | | | | | This reverts commit d5a6c172547d8964f4d4bb79637651decaf9deee. llvm-3.1svn r151687 makes MemoryObject accessor members const again. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* gallivm: Update comments and prototype of vector-selects.José Fonseca2012-03-011-20/+31
| | | | | No runtime behavior change. As vector selects are still not very well supported by LLVM.
* util: replace format equality test with compatibility test in blit codeBrian Paul2012-02-291-1/+21
| | | | | | | | | | This lets us use the resource_copy_region() path when blitting from R8G8B8A8 to R8G8B8x8, for example. v2: be smarter when src_format==dst_format Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: José Fonseca <[email protected]>
* util: better comment for util_is_format_compatible()Brian Paul2012-02-291-2/+3
|
* util: fix assertions in u_blitter.c codeBrian Paul2012-02-291-11/+11
| | | | | | | Assertions of the form assert(a && b) should be written as separate assertions so that you can actually tell which part is false when there's a failure. Reviewed-by: Marek Olšák <[email protected]>
* gallivm: add major integer opcodes to the tgsi action handlerDave Airlie2012-02-281-1/+382
| | | | | | | | | | | | | | | This adds support for all the opcodes needed for native integer support with GLSL 1.20 enabled, and some of the ones for GLSL1.30 support. I've split them between non-cpu and cpu along the same lines Tom's code did for the other ones I think, but I'm open to review on which ones should go where. With instance ids fixed I get no regressions on my box here with LLVM 2.8, will test with later LLVMs as well. Signed-off-by: Dave Airlie <[email protected]>
* gallivm: drop deprecated opcodesDave Airlie2012-02-281-8/+0
| | | | | | These are integer opcodes not deprecated ones. Signed-off-by: Dave Airlie <[email protected]>
* gallivm: only do rcp/mul for floatingDave Airlie2012-02-281-1/+2
| | | | | | | rcp asserts on type.floating so don't go passing non-floating things into it. Signed-off-by: Dave Airlie <[email protected]>
* gallivm: add frem support to the lp_build_mod helper.Dave Airlie2012-02-281-1/+2
| | | | | | for completeness. Signed-off-by: Dave Airlie <[email protected]>
* gallivm: add bitarit xor and not ops.Dave Airlie2012-02-282-0/+49
| | | | Signed-off-by: Dave Airlie <[email protected]>
* gallivm: add integer and unsigned mod arit functions. (v2)Dave Airlie2012-02-282-0/+25
| | | | | | use a single entry point, as per Jose's suggestion. Signed-off-by: Dave Airlie <[email protected]>
* tgsi: remove trailing comma to silence warningBrian Paul2012-02-271-1/+1
|
* gallium/util: add fast path for buffers in u_default_transfer_inline_writeMarek Olšák2012-02-271-14/+23
| | | | v2: fix indentation, add assertions
* gallium/util: set correct usage flags in u_default_transfer_inline_writeMarek Olšák2012-02-271-0/+12
| | | | The DISCARD flags should improve performance in drivers which handle them.
* vl: adjust matrix and median filter to removal of PIPE_SHADER_CAP_OUTPUT_READChristian König2012-02-272-9/+12
| | | | Signed-off-by: Christian König <[email protected]>
* gallium/rtasm: properly detect SSE and SSE2Marek Olšák2012-02-271-24/+24
| | | | This should fix crashes on ancient processors.
* vl/compositor: fix a simple typoChristian König2012-02-251-1/+1
| | | | | | Otherwise the dirty area tracking won't work correctly. Signed-off-by: Christian König <[email protected]>
* u_blitter: decrease minimum buffer range alignment to 4 for copy_bufferMarek Olšák2012-02-241-5/+5
|
* u_blitter: check for invalid values in copy_bufferMarek Olšák2012-02-241-0/+11
|
* gallium/u_slab: fix possible crash in util_slab_destroyMarek Olšák2012-02-231-3/+5
| | | | | | | It may happen if util_slab_create has not been called. Reviewed-by: Jerome Glisse <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* util: add mutex lock in u_debug_memory.c codeBrian Paul2012-02-231-0/+9
| | | | | | | The linked list of memory allocations was not protected by a mutex. This lead to sporadic failures with multi-threaded apps. Reviewed-by: Jose Fonseca <[email protected]>
* gallium: added pipe_sampler_view_release() functionBrian Paul2012-02-231-0/+22
| | | | Reviewed-by: Jose Fonseca <[email protected]>
* gallium/cso: Put the comment about shader in the code for future reference.José Fonseca2012-02-221-0/+7
|
* gallium/cso: kill off non-functional shader cachingMarek Olšák2012-02-214-171/+0
| | | | | | | | | Suggested by José. We don't provide shader caching in CSO. Most of the time the api provides object semantics for shaders anyway, and the cases where it doesn't (eg mesa's internall-generated texenv programs), it will be up to the state tracker to implement their own specialized caching.
* gallium/util: remove u_simple_screenMarek Olšák2012-02-211-180/+0
| | | | Deprecated and unused.
* vl: add support for bob deinterlacingChristian König2012-02-212-10/+44
| | | | | | | v2: return VDP_STATUS_INVALID_VIDEO_MIXER_PICTURE_STRUCTURE for unknown picture structure. Signed-off-by: Christian König <[email protected]>
* gallivm: Fix TGSI_OPCODE_ARR's translation.José Fonseca2012-02-213-2/+22
| | | | | | | | | | | | | Like TGSI_OPCODE_ARL, destination should be an integer. This fixes invalid LLVM IR on an internal state tracker (currently Mesa never emits this opcode). In the future consider making ADDR register also a integer-as-float array, like all other register kinds, or simply replace ADDR & ARR/ARL with integer temp and instructions. Reviewed-by: Dave Airlie <[email protected]>
* llvmpipe: Don't assume vector is 4 wide in lp_build_sin()/lp_build_cos()José Fonseca2012-02-201-81/+60
| | | | Reviewed-by: Dave Airlie <[email protected]>
* draw: add missing streamout state setup for draw/llvm.Dave Airlie2012-02-181-0/+1
| | | | Signed-off-by: Dave Airlie <[email protected]>
* gallivm: fetch immediates to correct type (v2)Dave Airlie2012-02-171-3/+22
| | | | | | | | Fetch float/uint/int immediates. v2: bitcast to uint/int to floats as per Jose's suggestions. Signed-off-by: Dave Airlie <[email protected]>
* gallivm: enable stores of integer types. (v2) + fix ARLDave Airlie2012-02-172-11/+59
| | | | | | | | | | | | | | | Infer from the operand the type of value to store. MOV is untyped but we use the float store path. v2: make MOV use float store path. I've had to squash merge the ARL fix to be stored as an integer in here to avoid regressions in a number of piglit tests. From now on ARL stores to an integer just like HW does. Signed-off-by: Dave Airlie <[email protected]>
* gallivm: enable fetch for integer opcodes. (v2)Dave Airlie2012-02-174-16/+74
| | | | | | | | | | | The infers the type of data required using the opcode, and casts the input to the appropriate type. So far this only handles non-indirect constant and temporaries. v2: as per Jose suggestion, fetch immediates via floats Signed-off-by: Dave Airlie <[email protected]>
* gallivm: add uint/int bld to the base builder. (v2)Dave Airlie2012-02-173-9/+12
| | | | | | | | These are used inside the action handlers for the integer opcodes. v2: use uint_bld/int_bld, drop higher level uint_bld. Signed-off-by: Dave Airlie <[email protected]>
* gallivm: fix build gather to take a bld contextDave Airlie2012-02-171-8/+8
| | | | | | Then pass the correct build context to it. Signed-off-by: Dave Airlie <[email protected]>
* gallivm: pass build context to exec_mask_store.Dave Airlie2012-02-171-5/+9
| | | | | | | For now just pass the current context, but when we want to store int or unsigned we need to pass those later. Signed-off-by: Dave Airlie <[email protected]>
* tgsi: add source/destination type from opcodes. (v2)Dave Airlie2012-02-172-0/+112
| | | | | | | | | | | These two functions produce the src/dst types for an opcode. MOV is special since it can be used to mov float->float and int->int, so just return VOID. v2: use a new enum for the opcode type as per Jose's suggestion. Signed-off-by: Dave Airlie <[email protected]>
* gallivm: Initialize x86 disassembler on x86_64 too.José Fonseca2012-02-171-2/+2
|
* llvmpipe: fix fogcoord writing (v2)Dave Airlie2012-02-151-4/+12
| | | | | | this fixes the fogcoord related piglit tests, like I fixed them in softpipe. Signed-off-by: Dave Airlie <[email protected]>
* vl: fix low strength denoise filterChristian König2012-02-141-2/+2
| | | | | | | A filter strength of zero or one doesn't make any sense. Thanks to Andy Furniss for pointing this out. Signed-off-by: Christian König <[email protected]>
* gallivm: Replace architecture test with PIPE_ARCH_*Stéphane Marchesin2012-02-121-4/+6
| | | | | | | | | | | | X86Target is a variable, and therefore isn't defined at compile time. So LLVM_NATIVE_ARCH == X86Target is translated into 0 == 0 and since X86 is first, we always pick it. Therefore we replace the logic with PIPE_ARCH_*. https://bugs.freedesktop.org/show_bug.cgi?id=45420
* gallivm: Change getExtent and readByte to non-const with llvm-3.1.Vinson Lee2012-02-101-0/+8
| | | | | | | | | | | Fix build with llvm-3.1svn. llvm-3.1svn r149918 changed BufferMemoryObject::getExtent and BufferMemoryObject::readByte from const member functions to non-const member functions in include/llvm/Support/MemoryObject.h. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: José Fonseca <[email protected]>
* vl: add a matrix/convolution filterChristian König2012-02-103-0/+379
| | | | | | Can be used for gaussian, mean, laplacian, emboss, sharpness... Signed-off-by: Christian König <[email protected]>
* vl: add a median filter for noise reductionChristian König2012-02-103-0/+469
| | | | | | | | This is a shader based median filter, generally used for noise reduction, it could still need some improvements, but should usually work out of the box. Signed-off-by: Christian König <[email protected]>