summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary
Commit message (Collapse)AuthorAgeFilesLines
* Initialize only native LLVM Disassembler.ojab2012-01-311-1/+5
| | | | Signed-off-by: José Fonseca <[email protected]>
* svga: set POINTSIZEMIN to 1.0 for non-sprite non-aa pointsMarek Olšák2012-01-311-0/+11
| | | | v2: add the helper function, improve the condition
* gallivm: Don't use C99 member initializers.José Fonseca2012-01-301-26/+26
|
* gallivm: Move declaration before code.José Fonseca2012-01-301-2/+2
|
* gallivm: Add a new interface for doing TGSI->LLVM conversionsTom Stellard2012-01-307-1652/+2954
| | | | | | | | | | | lp_bld_tgsi_soa.c has been adapted to use this new interface, but lp_bld_tgsi_aos.c has only been partially adapted, since nothing in gallium currently uses it. v2: - Rename lp_bld_tgsi_action.[ch] => lp_bld_tgsi_action.[ch] - Initialize tgsi_info in lp_bld_tgsi_aos.c - Fix copyright dates
* gallium: Move duplicated helper macros to tgsi_exec.hTom Stellard2012-01-303-162/+148
|
* gallium: Prefix #defines in tgsi_exec.h with TGSI_Tom Stellard2012-01-304-92/+92
|
* gallium: Unify defines of CHAN_[XYZW] in tgsi_exec.hTom Stellard2012-01-304-395/+385
|
* gallivm: Add function lp_bld_gather_values()Tom Stellard2012-01-302-0/+21
|
* tgsi: Add output_mode to struct tgsi_opcode_info v2Tom Stellard2012-01-302-162/+201
| | | | | | v2: - Rename output_type to output_mode - Add shorthand definitions for TGSI_OUTPUT_*
* draw: Remove unused variables.Vinson Lee2012-01-281-4/+0
| | | | | | | | | | Fix this GCC warning. draw_pipe_clip.c: In function ‘interp’: draw_pipe_clip.c:122:13: warning: variable ‘clip_dist’ set but not used [-Wunused-but-set-variable] Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* gallivm: Swizzle constants into the right AoS ordering.Brian Paul2012-01-271-1/+1
| | | | | | | | Constants array is always assumed to be RGBA, which means we need to swizzle the constant elements into place to match the AoS ordering (e.g., BGRA) that was passed to lp_build_tgsi_aos(). Signed-off-by: José Fonseca <[email protected]>
* draw: Ensure that prepare is always run after LLVM garbagge collection.José Fonseca2012-01-271-0/+5
| | | | | | | | | | Should avoid dangling pointer derreference with glean --run results --overwrite --quick --tests texSwizzle NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Brian Paul <[email protected]>
* draw: Only run prepare when state, prim and opt changesJakob Bornecrantz2012-01-265-10/+66
| | | | | | | | | | | | | In bad applications like ipers which does a lot of draw calls with no state changes this helps to greatly reduce time spent in prepare. In ipers around 7% of CPU was spent in various prepare functions, after this commit no prepare function show on the profile. This commit also has the added benefit of now grouping all pipelined drawing into a single draw call if the driver uses vbuf_render. Reviewed-by: Stéphane Marchesin <[email protected]> Tested-by: Stéphane Marchesin <[email protected]>
* draw: Don't revalidate pipeline on backend flushesJakob Bornecrantz2012-01-261-1/+2
| | | | | Reviewed-by: Stéphane Marchesin <[email protected]> Tested-by: Stéphane Marchesin <[email protected]>
* draw: Remove reduced_primJakob Bornecrantz2012-01-263-12/+0
| | | | | | | | | Conflicts: src/gallium/auxiliary/draw/draw_context.c Reviewed-by: Stéphane Marchesin <[email protected]> Tested-by: Stéphane Marchesin <[email protected]>
* gallium/postprocess: Proper reference counting of pp_jimenezmlaa depth buffer.Michel Dänzer2012-01-241-1/+2
| | | | | | Fixes https://bugs.freedesktop.org/show_bug.cgi?id=40776 NOTE: This is a candidate for the stable branches.
* util: Silence GCC unused-but-set-variable warning.Vinson Lee2012-01-161-0/+2
| | | | | | | | | | Fix this GCC 4.6 warning with 64-bit builds. u_debug_stack.c: In function ‘debug_backtrace_capture’: u_debug_stack.c:45:17: warning: variable ‘frame_pointer’ set but not used [-Wunused-but-set-variable] Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: José Fonseca <[email protected]>
* vl: Make array initialization portable.José Fonseca2012-01-161-1/+4
| | | | Should fix MSVC build.
* vl: fix YV12 handlingChristian König2012-01-153-8/+48
| | | | | | We actually implemented YV21 instead of YV12, so fix the plane ordering. Signed-off-by: Christian König <[email protected]>
* vl: move away from state like parametersChristian König2012-01-154-153/+102
| | | | | | | Again based on Maartens work, but keep begin_frame and end_frame functions for now. Signed-off-by: Christian König <[email protected]>
* vl/video_buffer: add support for interlaced buffersChristian König2012-01-152-13/+24
| | | | | | Add the infrastructure, but not the decode implementation. Signed-off-by: Christian König <[email protected]>
* vl/video_buffer: improve constructorChristian König2012-01-152-45/+84
| | | | | | | | Add a second extened constructor that takes plane textures for the video buffer. Also provide a function for texture templates. Signed-off-by: Christian König <[email protected]>
* vl/video_buffer: use template style create paramsChristian König2012-01-153-40/+43
| | | | | | | Just like in the rest of gallium, this reduces the number of parameters significantly. Signed-off-by: Christian König <[email protected]>
* gallium: improve the pipe_stream_output_info struct (v2)Marek Olšák2012-01-153-83/+14
| | | | | | | | | | | | | | | | | | | | | There are 3 changes: 1) stride is specified for each buffer, not just one, so that drivers don't have to derive it from the outputs 2) new per-output property dst_offset, which specifies the offset into the buffer in dwords where the output should be stored, so that drivers don't have to compute the offsets manually; this will also be useful for gl_SkipComponents from ARB_transform_feedback3 3) register_mask is removed, instead, there is start_component and num_components; register_mask with non-consecutive 1s doesn't make much sense (some hardware cannot do packing of components) Christoph Bumiller: fixed nvc0. v2: resolve merge conflicts in Draw and clean it up
* gallivm: Allow target specific intrinsics in lp_declare_intrinsic()Tom Stellard2012-01-131-7/+0
| | | | | Target specific intrinsics are also prefixed with llvm, so this assert was preventing us from using them.
* mesa/gallium: add FFS_DEFINED to protect ffs() from multiple definitionsBrian Paul2012-01-121-0/+5
| | | | | | | | We include both imports.h and u_math.h in the state tracker. This leads to multiple, conflicting definitions of ffs() with MSVC. Use FFS_DEFINED to skip the ffs() in u_math.h. Reviewed-by: José Fonseca <[email protected]>
* draw: Store the new pre_clip_pos member as well.José Fonseca2012-01-111-6/+16
| | | | | Again, not much testing nor peer review, but should be better than what's now.
* tgsi: add TGSI_TEXTURE_SHADOWCUBEMAPDave Airlie2012-01-113-0/+4
| | | | | | | | This adds support for shadow cubemap texture sampling instructions. This is required for GL 3.0. Signed-off-by: Dave Airlie <[email protected]>
* tgsi: add ISSG supportDave Airlie2012-01-112-0/+15
| | | | | | | This adds integer version of SSG that GLSL 1.30 can produce. Signed-off-by: Dave Airlie <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* draw: clipdistance support (v2)Dave Airlie2012-01-117-17/+79
| | | | | | | | | | Add support for using the clipdistance instead of clip plane. Passes all piglit clipdistance tests. v2: fixup some comments from Brian in review. Signed-off-by: Dave Airlie <[email protected]>
* tgsi_scan: add support to count number of output clip distancesDave Airlie2012-01-112-0/+5
| | | | | | Just add support to the scanner to count the number of clip distances. Signed-off-by: Dave Airlie <[email protected]>
* draw/softpipe: add clip vertex support. (v2)Dave Airlie2012-01-119-18/+58
| | | | | | | | | | | | | | | | softpipe always clipped using the position vector, however for unclipped vertices it stored the position in window coordinates, however when position and clipping are separated, we need to store the clip-space position and the clip-space vertex clip, so we can interpolate both separately. This means we have to take the clip space position and store it to use later. This allows softpipe to pass all the clip-vertex piglit tests. v2: fix llvm draw regression, the structure being passed into llvm needed updating, remove some hardcoded ints that should have been enums while there. Signed-off-by: Dave Airlie <[email protected]>
* tgsi/softpipe: add VertexID support.Dave Airlie2012-01-113-6/+19
| | | | | | | | | | This required changing the system value semantics, so we stored a system value per vertex, instance id is the only other system value we currently support, so I span it across the channels. This passes the 3 vertexid-* piglit tests + lots of instanceid tests. Signed-off-by: Dave Airlie <[email protected]>
* draw: remove unused 'so' variable in draw_pt_so_emit()Brian Paul2012-01-101-2/+0
|
* util: use memset() to initialize surface, sampler_view templatesBrian Paul2012-01-102-7/+16
| | | | | | | | | | | | These initialization functions weren't initializing all the fields so some had undefined values. The callers of these functions sometimes use a structure assignment to initialize new objects from these templates so we'd just propagate the undefined values. That made for some confusing info when debugging, plus it could lead to bugs. v2: fix surf pointer mix-up: "&surf" -> "surf" Jakob Bornecrantz <[email protected]>
* draw: Silence warningJakob Bornecrantz2012-01-101-12/+0
| | | | | | | | This peice of code has been here since the inital commit (c5c5cd71) and the code that used instance_id_index was removed in (caede752) by José. Signed-off-by: Jakob Bornecrantz <[email protected]> Reviewed-by Brian Paul <[email protected]>
* target-helpers: If neither softpipe or llvmpipe is used just return the screenJakob Bornecrantz2012-01-101-0/+2
| | | | | | | So the targets can drop the sw_wrapper winsys when no sw driver is being used. Signed-off-by: Jakob Bornecrantz <[email protected]> Reviewed-by Brian Paul <[email protected]>
* draw/softpipe: EXT_transform_feedback support (v2)Dave Airlie2012-01-106-57/+105
| | | | | | | | | | | This replaces the current code with an implementation compatible with the new gallium interface. I've left some of the remains of the interface intact so llvmpipe keeps building correctly, and I'll take a look at fixing llvmpipe up later. v2: fixup as per Brian's review Signed-off-by: Dave Airlie <[email protected]>
* gallium: introduce GLSL based interpolation rules. (v2)Dave Airlie2012-01-103-2/+7
| | | | | | | | | | | | This introduces an unspecified interpolation paramter that is only allowed for color semantics, so a specified GLSL interpolation will override the ShadeModel specified interpolation, but not vice-versa. This fixes a lot of the interpolation tests in piglit. v2: rename from unspecified to color Signed-off-by: Dave Airlie <[email protected]>
* Squash-merge branch 'gallium-clip-state'Marek Olšák2012-01-1017-77/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/auxiliary/tgsi/tgsi_strings.c src/mesa/state_tracker/st_atom_clip.c commit d919791f2742e913173d6b335128e7d4c63c0840 Author: Christoph Bumiller <[email protected]> Date: Fri Jan 6 17:59:22 2012 +0100 d3d1x: adapt to new clip state commit cfec82bca3fefcdefafca3f4555285ec1d1ae421 Author: Christoph Bumiller <[email protected]> Date: Fri Jan 6 14:16:51 2012 +0100 gallium/docs: update for clip state changes commit c02bfeb81ad9f62041a2285ea6373bbbd602912a Author: Christoph Bumiller <[email protected]> Date: Fri Jan 6 14:21:43 2012 +0100 tgsi: add TGSI_PROPERTY_PROHIBIT_UCPS commit d4e0a785a6a23ad2f6819fd72e236acb9750028d Author: Brian Paul <[email protected]> Date: Thu Jan 5 08:30:00 2012 -0700 tgsi: consolidate TGSI string arrays in new tgsi_strings.h There was some duplication between the tgsi_dump.c and tgsi_text.c files. Also use some static assertions to help catch errors when adding new TGSI values. v2: put strings in tgsi_strings.c file instead of the .h file. Reviewed-by: Dave Airlie <[email protected]> commit c28584ce0d8c62bd92c8f140729d344f88a0b3cd Author: Christoph Bumiller <[email protected]> Date: Fri Jan 6 12:48:09 2012 +0100 gallium: extend user_clip_plane_enable to apply to clip distances commit f1d5016c07f786229ed057effbe55fbfd160b019 Author: Marek Olšák <[email protected]> Date: Fri Jan 6 02:39:09 2012 +0100 nvfx: adapt to new clip state commit 6f6fa1c26bd19f797c1996731708e3569c9bfe24 Author: Marek Olšák <[email protected]> Date: Fri Jan 6 01:41:39 2012 +0100 st/mesa: fix DrawPixels with GL_DEPTH_CLAMP commit c86ad730aa1c017788ae88a55f54071bf222be12 Author: Christoph Bumiller <[email protected]> Date: Tue Jan 3 23:51:30 2012 +0100 nv50: adapt to new clip state commit 3a8ae6ac243bae5970729dc4057fe02d992543dc Author: Christoph Bumiller <[email protected]> Date: Tue Jan 3 23:32:36 2012 +0100 nvc0: adapt to new clip state commit 6243a8246997f8d2fcc69ab741a2c2dea080ff11 Author: Marek Olšák <[email protected]> Date: Thu Dec 29 01:32:51 2011 +0100 draw: initalize pt.user.planes in draw_init This fixes a crash in glean/fpexceptions. commit e3056524b19b56d473f4faff84ffa0eb41497408 Author: Marek Olšák <[email protected]> Date: Mon Dec 26 06:26:55 2011 +0100 svga: adapt to new clip state commit c5bfa8b37d6d489271df457229081d6bbb51b4b7 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 14:11:51 2011 +0100 r600g: adapt to new clip state commit f11890905362f62627c4a28a8255b76eb7de7df2 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 14:10:26 2011 +0100 r300g: adapt to new clip state commit e37465327c79a01112f15f6278d9accc5bf3103f Author: Marek Olšák <[email protected]> Date: Sun Dec 25 12:39:16 2011 +0100 draw: adapt to new clip state This adds a regression in the LLVM clipping path. Can anybody see anything wrong with the code? It works for every other case, just glean/fpexceptions crashes when doing the "Infinite clip plane test". commit b474d2b18c72d965eefae4e427c269cba5ce6ba2 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 13:14:59 2011 +0100 u_blitter: don't save/set/restore clip state commit 9dd240ea91f523a677af45e8d0adb9e661e28602 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 13:11:56 2011 +0100 gallium: don't cso_save/set/restore clip state The enable bits are in the rasterizer state. commit a4f7031179f5f4ad524b34b394214b984ac950f6 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 12:58:55 2011 +0100 gallium: default depth_clip to 1 depth_clip = !depth_clamp commit fe21147a00ab90e549d63fe12ee4625c9c2ffcc3 Author: Marek Olšák <[email protected]> Date: Mon Dec 26 06:14:19 2011 +0100 trace,util: update state logging to new clip state Also dump the other missing flags. commit 2a3b96e84ac872dcc5bc1de049fe76bb58d64b23 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 10:43:43 2011 +0100 st/mesa: adapt to new clip state commit b7b656a42fca19d7c85267f42649a206a85a2c72 Author: Marek Olšák <[email protected]> Date: Sat Dec 17 15:45:19 2011 +0100 gallium: move state enable bits from clip_state to rasterizer_state
* draw: Fail if we fail to enable llvm when asked for itJakob Bornecrantz2012-01-091-5/+11
| | | | | | | | The r300 driver requires LLVM when building and other drivers that depend on it for all TNL, like i915g will be a lot slower without it. Signed-off-by: Jakob Bornecrantz <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* draw: Make it possible to create a llvm free contextJakob Bornecrantz2012-01-092-15/+35
| | | | | Signed-off-by: Jakob Bornecrantz <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* vl: replace decode_buffers with auxiliary data fieldChristian König2012-01-096-72/+112
| | | | | | | Based on patches from Maarten Lankhorst <[email protected]> Signed-off-by: Christian König <[email protected]> Acked-by: Maarten Lankhorst <[email protected]>
* gallium: add an IABS opcode to TGSIBryan Cain2012-01-072-0/+5
| | | | | | This is a necessary operation that is missing from TGSI. Reviewed-by: Brian Paul <[email protected]>
* util: silence some MSVC type conversion warningsBrian Paul2012-01-071-5/+5
|
* draw: replace assert(0) with debug_warn_once()Brian Paul2012-01-073-6/+6
| | | | | | If the assertion was hit, it probably meant that we were unable to allocate or map a vertex buffer. Instead of dying in a debug build, issue a warning and continue.
* util: add debug_warn_once() macroBrian Paul2012-01-071-0/+19
| | | | Emits a warning message, but only once to avoid tons of repeated warnings.
* draw: whitespace fixes, etc.Brian Paul2012-01-074-173/+160
|
* gallium: make vbuf_render::set_primitive() return voidBrian Paul2012-01-074-29/+10
| | | | All the implementations of this function always return TRUE.