summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* svga: remove user-space vertex/index buffer codeBrian Paul2013-10-246-259/+13
| | | | | | | | The gallium vbuf module, which we've been using for some time now, takes care of uploading user-space vertex/index data into real buffers. The upload code in the svga driver was unused. Reviewed-by: José Fonseca <[email protected]>
* freedreno: fix compile errorRob Clark2013-10-231-1/+1
| | | | | | Small typo introduced in a3ed98f. Signed-off-by: Rob Clark <[email protected]>
* clover: fix build after a3ed98f7aa85636579a5696bf036ec13e5c9104aDavid Heidelberger2013-10-231-3/+4
|
* nv50: clamp PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS to PIPE_MAX_SAMPLERSBrian Paul2013-10-231-1/+1
| | | | | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70212 Tested-by: Aaron Watry <[email protected]>
* radeonsi: remove unused si_set_cs_sampler_view()Brian Paul2013-10-231-4/+0
| | | | | | | Fixes build breakage. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70804 Tested-by: Vinson Lee <[email protected]>
* gallium: new, unified pipe_context::set_sampler_views() functionBrian Paul2013-10-2344-492/+277
| | | | | | | | | | | | The new function replaces four old functions: set_fragment/vertex/ geometry/compute_sampler_views(). Note: at this time, it's expected that the 'start' parameter will always be zero. Reviewed-by: Roland Scheidegger <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Tested-by: Emil Velikov <[email protected]>
* svga: remove unneeded include of u_double_list.hBrian Paul2013-10-231-2/+0
|
* st/dri: minor formatting clean-ups in dri_context.cBrian Paul2013-10-221-4/+6
|
* clover: Improve region and pitch argument handling in memory transfer APIs.Francisco Jerez2013-10-211-130/+270
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Add a pixel_size() method to the image class.Francisco Jerez2013-10-212-0/+7
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Implement support for the ICD extension.Francisco Jerez2013-10-2117-78/+1046
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Make sure hidden is the default symbol visibility.Francisco Jerez2013-10-211-2/+5
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Prepare the build system for ICD support.Tom Stellard2013-10-212-8/+11
| | | | Signed-off-by: Francisco Jerez <[email protected]>
* clover: Fix memory leak when initializing a device object fails.Francisco Jerez2013-10-211-1/+3
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Tidy up resource::mapping.Francisco Jerez2013-10-212-11/+9
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Simplify command_queue::flush().Francisco Jerez2013-10-212-11/+10
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Clean up the kernel and program object interface.Francisco Jerez2013-10-218-136/+139
| | | | | [ Tom Stellard: Make sure to bind global arguments before retrieving handles. ] Tested-by: Tom Stellard <[email protected]>
* clover: Clean up the interface of the context object slightly.Francisco Jerez2013-10-216-27/+23
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Delete copy constructors and assignment operators in all ↵Francisco Jerez2013-10-2111-22/+44
| | | | | | non-copiable objects. Tested-by: Tom Stellard <[email protected]>
* clover: Define a few convenience equality operators.Francisco Jerez2013-10-2110-5/+47
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Simplify the platform object by using util/range.Francisco Jerez2013-10-213-28/+8
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Add property list helpers with a syntax consistent with other API ↵Francisco Jerez2013-10-215-50/+91
| | | | | | objects. Tested-by: Tom Stellard <[email protected]>
* clover: Switch samplers to the new model.Francisco Jerez2013-10-217-53/+53
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Switch memory objects to the new model.Francisco Jerez2013-10-219-302/+267
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Switch kernel and program objects to the new model.Francisco Jerez2013-10-2111-492/+458
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Switch command queues to the new model.Francisco Jerez2013-10-2114-252/+264
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Switch event objects to the new model.Francisco Jerez2013-10-217-222/+233
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Switch context objects to the new model.Francisco Jerez2013-10-2113-103/+91
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Switch device objects to the new model.Francisco Jerez2013-10-219-140/+139
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Switch platform objects to the new model.Francisco Jerez2013-10-217-46/+47
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Define helper classes for the new object model.Francisco Jerez2013-10-2120-107/+398
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Clean up property query functions by using a new property_buffer ↵Francisco Jerez2013-10-2112-263/+547
| | | | | | helper class. Tested-by: Tom Stellard <[email protected]>
* clover: Switch to the new utility code.Francisco Jerez2013-10-2117-717/+152
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Name include guards consistently.Francisco Jerez2013-10-2117-34/+34
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Replace a bunch of double underscores with single underscores.Francisco Jerez2013-10-2127-206/+208
| | | | | | | | Identifiers with double underscores are reserved, and using them has undefined behavior according to the C++ spec. It's unlikely to make any difference, but... Tested-by: Tom Stellard <[email protected]>
* clover: Clean up the event profiling code.Francisco Jerez2013-10-218-121/+228
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Import new utility library.Francisco Jerez2013-10-2112-1/+2157
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Use std::numeric_limits<std::size_t>::max() instead of SIZE_MAXTom Stellard2013-10-211-1/+1
| | | | | | This prevents a build failure on some systems. Reviewed-by: Francisco Jerez <[email protected]>
* llvmpipe: enable seamless cube filteringRoland Scheidegger2013-10-211-1/+1
| | | | | Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* gallivm: implement seamless cube filteringRoland Scheidegger2013-10-213-40/+368
| | | | | | | | | | | | | | | | | | | | | | | | | For seamless cube filtering it is necessary to determine new faces and new coords per sample. The logic for this is _seriously_ complex (what needs to happen is very "asymmetric" wrt face, x/y under/overflow), further complicated by the fact that if the 4 samples are in a corner (meaning we only have actually 3 samples, and all 3 are on different faces) then falling off the edge is happening _both_ on x and y axis simultaneously. There was a noticeable performance hit in mesa's cubemap demo when seamless filtering was forced on (just below 10 percent or so in a debug build, when disabling all filtering hacks, otherwise it would probably be a bit more) and when always doing the logic, hence use a branch which it only does it if any of the pixels in a quad (or in two quads) actually hit this. With that there was no measurable performance hit in the cubemap demo (neither in a debug nor release buidl), but this will vary (cubemap demo very rarely hits edges). Might also be different on other cpus, as this forces SoA sampling path which potentially can be quite a bit slower. Note that as for corners, this code gets all the 3 samples which actually exist right, and the 4th texel will simply be the same as one of the others, meaning that filter weights will be a bit wrong. This however should be enough for full OpenGL (but not d3d10) compliance. Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* winsys/radeon: cleanup CS offloadingChristian König2013-10-211-21/+10
| | | | | | | | | Using atomic function for ncs is superfluous since it is protected by a mutex anyway. Also lock the mutex only once while retrieving the next CS for submission. Signed-off-by: Christian König <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* r300g/compiler: Fix unsigned comparison with less than zeroDavid Heidelberger2013-10-211-1/+1
| | | | | | | | | | rc_find_free_temporary_list() returns signed integer (in case of lack of free temporary registers returns -1), so new_index in radeon_rename_regs() should be signed. https://bugs.freedesktop.org/show_bug.cgi?id=54867 Signed-off-by: Marek Olšák <[email protected]>
* r600g/sb: Initialize shader::dce_flags.Vinson Lee2013-10-201-1/+2
| | | | | | | Fixes "Uninitialized scalar field" defect reported by Coverity. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Vadim Girlin <[email protected]>
* translate_sse: Fix generated code argument handling for msabi on x86_64Jon TURNEY2013-10-181-3/+11
| | | | | | | | | | | | | | | | translate_sse.c contains code for msabi on x86_64, but it appears to be untested. Currently arguments 1 and 2 passed to the generated code are moved as 32-bit quantities into the registers used by sysvabi, irrespective of the architecture. Since these may be pointers, they must be moved as 64-bit quantities to avoid truncation. Commit f4dd0991719ef3e2606920c5100b372181c60899 disabled tranlate_sse.c on MinGW x86_64, I don't know if was due to this issue, or a different one... Signed-off-by: Jon TURNEY <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* rtasm: Cygwin uses the msabi calling convention on x86_64Jon TURNEY2013-10-181-1/+1
| | | | | | | | | | Cygwin also uses the msabi calling convention on x86_64, not the sysvabi calling convention Signed-off-by: Jon TURNEY <[email protected]> Reviewed-by: Brian Paul <[email protected]> ignored, and an empty message aborts the commit.
* rtasm: The heap is NX on 64-bit Cygwin, so use the rtasm_exec_malloc() ↵Jon TURNEY2013-10-181-1/+1
| | | | | | | | | | | implementation which uses mmap() The heap is NX on 64-bit Cygwin, so use the rtasm_exec_malloc() implementation which uses mmap() to allocate an anonymous page with execute permission, rather than the one which just uses malloc(). Signed-off-by: Jon TURNEY <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* r600g/sb: fix issue with DCE between GVN and GCM (v2)Vadim Girlin2013-10-174-12/+39
| | | | | | | | | | | | | We can't perform DCE using the liveness pass between GVN and GCM because it relies on the correct schedule, but GVN doesn't care about preserving correctness - it's rescheduled later by GCM. This patch makes dce_cleanup pass perform simple DCE between GVN and GCM instead of relying on liveness pass. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=70088 Signed-off-by: Vadim Girlin <[email protected]>
* Revert "scons: Fix build when rtti is disabled"José Fonseca2013-10-162-7/+4
| | | | | | | | | | This reverts commit 94d05bf87a21bd364e84f699a0064e5fba58a6f9 as it has a few problems: - it breaks windows builds becuase env[LLVM_CXXFLAGS] is never set there - it is merging not only rtti, but the whole cxxflags (defines etc) which has proven to be a source of troubles (breaks debugging etc.)
* radeonsi: Use 'SI' as the LLVM processor for CIK on LLVM <= 3.3Tom Stellard2013-10-161-0/+4
| | | | | | | | LLVM 3.3 does not know about CIK processors, and the codes paths for SI and CIK are the same. Reviewed-by: Marek Olšák <[email protected]> Cc: "9.2" <[email protected]>
* r600g/compute Improve debugging outputTom Stellard2013-10-162-5/+7
|