summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
...
* radeonsi: fix vertex element stateChristian König2012-07-172-33/+6
| | | | | | | | | The vertex element state isn't in registers any more, so remove that old code. That fixes a memory corruption with the blend state and gets eglgears partially working. Signed-off-by: Christian König <deathsimple@vodafone.de> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
* radeon/llvm: fix compiling when llvm is active, but opencl isn'tChristian König2012-07-171-0/+4
| | | | | Signed-off-by: Christian König <deathsimple@vodafone.de> Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
* st/egl: fix uninitialized pointer bugBrian Paul2012-07-161-1/+1
| | | | | | If no format is matched in the loop the value of xconf was undefined. NOTE: This is a candidate for the 8.0 branch.
* r300g: silence uninitialized var warningBrian Paul2012-07-161-1/+1
|
* gallium/util, mesa: Refactor etc1 unpack functionChad Versace2012-07-161-24/+1
| | | | | | | | | | Move the body of util_etc1_rgb8_unpack_rgba_unorm8 into a new function that can be shared between gallium and dri drivers, texcompress_etc_tmp.h:etc1_unpack_rgba8888. CC: Chia-I <olv@lunarg.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
* llvmpipe: destroy setup variants on context destructionRoland Scheidegger2012-07-161-0/+2
| | | | | | | lp_delete_setup_variants() used to be called in garbage collection, but this no longer exists hence the setup shaders never got freed. Reviewed-by: José Fonseca <jfonseca@vmware.com>
* llvmpipe: Unified common code between AoS and SoA blending.James Benton2012-07-166-162/+290
| | | | | | | Added a new file lp_bld_blend.c for the common code. Merged and added some simple optimisations. Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
* r600g: compute needed CS space for vertex buffers correctlyMarek Olšák2012-07-151-1/+1
|
* r600g: don't check the R600_GLSL130 env varMarek Olšák2012-07-153-6/+3
| | | | GLSL 1.3 has been enabled by default for quite a while.
* r600g: fix DB decompression on evergreenJerome Glisse2012-07-153-26/+16
| | | | | | Separated out of the hyperz patch by Marek with minor modifications. Signed-off-by: Marek Olšák <maraeo@gmail.com>
* r600g: Emit vertex buffers using the same method as constant buffersTom Stellard2012-07-157-26/+55
| | | | Signed-off-by: Marek Olšák <maraeo@gmail.com>
* r600g: Unify 3D and compute vertex buffer emissionTom Stellard2012-07-155-100/+64
| | | | Signed-off-by: Marek Olšák <maraeo@gmail.com>
* r600g: fix grammar constant_buffer -> constant_buffersMarek Olšák2012-07-152-17/+17
|
* radeon/llvm: Fix CR/LF in AMDILSIDevice.hAndreas Boll2012-07-131-1/+1
|
* radeon/llvm: Clean up AMDILIntrinsicInfo.cppTom Stellard2012-07-132-84/+5
|
* radeon/llvm: Coding style fixesTom Stellard2012-07-132-409/+325
|
* Fix linking gallium drivers and with dricore after defadf2b1Jon TURNEY2012-07-135-5/+5
| | | | | | | | | | | | | | | | | | | Commit defadf2b1 erroneously tries to make gallium drivers link with libdricore as a static library, not a shared library Also, change uses of DRI_LIB_DEPS in gallium driver Makefiles to GALLIUM_DRI_LIB_DEPS, so the libraries added are used in the linking the gallium driver Also, fix the path to the libdricore.so symlink, it's made in LIB_DIR, not in the libdricore directory Also repair quoting of dricore settings of DRI_LIB_DEPS and GALLIUM_DRI_LIB_DEPS variables so VERSION is interpolated in configure but TOP and LIB_DIR are interpolated later (where they are known, but VERSION isn't) Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
* nouveau: implement missing timer query functionalityChristoph Bumiller2012-07-137-7/+46
|
* draw,gallivm: Fix draw_get_shader_param.José Fonseca2012-07-136-31/+110
| | | | | | | | | | - Use LLVM limits when LLVM is being used, instead of TGSI limits - Provide draw_get_shader_param_no_llvm for when llvm is never used (softpipe) - Eliminate several of the hacks around draw shader caps in several drivers Unfortunately the hack for PIPE_MAX_VERTEX_SAMPLERS is still necessary. Reviewed-by: Marek Olšák <maraeo@gmail.com>
* Link dri drivers with mesa or dricore libtool libraryJon TURNEY2012-07-131-2/+2
| | | | | | | | | | | | | | | | | Now mesa/drivers/dri is converted to automake, we want to update DRI_LIB_DEPS so that we link with the libmesa or libdricore libtool library, as appropriate. However, this is complicated by the fact that gallium/targets is not (yet) converted, so we can't share the DRI_LIB_DEPS autoconf variable with that anymore. Add an additional autoconf variable GALLIUM_DRI_LIB_DEPS, which is now used in gallium/targets/Makefile.dri, to link with the libdircore or libmesa native library. v2: libdricore$VERSION.a needs to be libdricore$(VERSION).a Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Eric Anholt <eric@anholt.net> Tested-by: Matt Turner <mattst88@gmail.com>
* gallivm: Use %.9g to print floats.José Fonseca2012-07-121-3/+6
| | | | | | So that we can see them in their full denormalized glory. Reviewed-by: Roland Scheidegger <sroland@vmware.com>
* radeon/llvm: Don't use lp_build_swizzle_aos() for swizzlesTom Stellard2012-07-121-8/+13
| | | | | | | This function assumes that lp_build_context::type is a vector type, which is not true for r600 or radeonsi. This fixes an assertion failure using glamor 2D accel.
* radeonsi: Dump TGSI code prior to doing TGSI->LLVM conversion.Tom Stellard2012-07-121-1/+6
| | | | | This way if the conversion fails, we know what the TGSI shader looks like.
* st/xorg: Fix build failure due to symbol clash.José Fonseca2012-07-121-0/+3
|
* r600g: fix uploading non-zero mipmap levels of depth texturesMarek Olšák2012-07-121-2/+3
| | | | | | This fixes piglit/depth-level-clamp. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
* r600g: don't flush depth textures set as colorbuffersMarek Olšák2012-07-121-18/+0
| | | | | | | | The only case a depth buffer can be set as a color buffer is when flushing. That wasn't always the case, but now this code isn't required anymore. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
* r600g: don't set dirty_db_mask for a flushed depth textureMarek Olšák2012-07-121-2/+0
| | | | | | A flush depth texture is never set as a depth buffer and never flushed. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
* r600g: flush depth textures bound to vertex shadersMarek Olšák2012-07-123-16/+17
| | | | | | This was missing/broken. There are also minor code cleanups. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
* r600g: do fine-grained depth texture flushingMarek Olšák2012-07-125-34/+69
| | | | | | | | - maintain a mask of which mipmap levels are dirty (instead of one big flag) - only flush what was requested at a given point and not the whole resource (most often only one level and one layer has to be flushed) Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
* r600g: remove is_flush from DSA stateMarek Olšák2012-07-124-14/+16
| | | | | | | we can just update the state when decompressing, there's no need to add additional info into the DSA state Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
* r600g: set DISABLE in CB_COLOR_CONTROL if colormask is 0Marek Olšák2012-07-124-3/+17
| | | | | | this will be useful for in-place DB decompression, otherwise should be harmless Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
* r600g: move CB_SHADER_MASK setup into cb_misc_stateMarek Olšák2012-07-126-28/+32
| | | | Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
* r600g: move MULTIWRITE setup into cb_misc_state for r6xx-r7xxMarek Olšák2012-07-124-21/+20
| | | | Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
* r600g: move CB_TARGET_MASK setup into new cb_misc_stateMarek Olšák2012-07-128-13/+51
| | | | | | | | | | to remove some overhead from draw_vbo. This is a derived state. BTW, I've got no idea how compute interacts with 3D here, but it should use cb_misc_state, so that 3D and compute don't conflict. Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
* st/mesa: implement accelerated stencil blitting using shader stencil exportMarek Olšák2012-07-124-38/+176
| | | | Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
* st/mesa: set colormask to zero when blitting depthMarek Olšák2012-07-121-4/+8
| | | | Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
* gallium/u_blit: remove useless memset callsMarek Olšák2012-07-121-6/+0
| | | | | | the structure is calloc'd. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
* gallium/u_blit: drop not-very-useful wrapper around util_blit_pixels_writemaskMarek Olšák2012-07-124-52/+19
| | | | | | just rename it to util_blit_pixels Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
* gallium/u_blit: don't do two copies for non-2D texturesMarek Olšák2012-07-121-33/+39
| | | | | | | | | Because u_blit couldn't sample a 1D, 3D, CUBE and ARRAY texture, we created a 2D texture holding a copy of one slice of the source texture (even for 1D). Let's just do it right. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
* gallium/util: move pipe_tex_to_tgsi_tex helper function into u_inlinesMarek Olšák2012-07-122-30/+30
| | | | Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
* gallium/u_blitter: accelerate stencil-only copyingMarek Olšák2012-07-123-1/+79
| | | | | | This doesn't seem to be used by anything yet, but better safe than sorry. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
* gallium/u_blitter: accelerate depth-stencil copying using shader stencil exportMarek Olšák2012-07-124-12/+147
| | | | | | This fixes stencil buffer write transfers on r600g. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
* gallium: add util_format_stencil_only helper functionMarek Olšák2012-07-121-0/+29
| | | | | | used for stencil sampler views. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
* gallium/u_blitter: minify depth0 when initializing last_layerMarek Olšák2012-07-121-1/+1
| | | | Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
* gallium/u_gen_mipmap: accelerate depth texture mipmap generationMarek Olšák2012-07-121-26/+58
| | | | Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
* wayland-drm: Add protocol to create planar buffersKristian Høgsberg2012-07-111-1/+1
|
* wayland-drm: Pass struct wl_drm_buffer to the driverKristian Høgsberg2012-07-112-15/+16
| | | | | We're going to extend this to support multi-plane buffers, so pass this to the driver so it can access the details.
* r600g/compute: Disable growing the memory poolTom Stellard2012-07-114-23/+38
| | | | | | | | | | | | | | | | | | | | | | | The code for growing the memory pool (which is used for storing all of the global buffers) wasn't working. There seem to be two separate issues with the memory pool code. The first was the way it was growing the pool. When the memory pool needed more space, it would: 1. Copy the data from the memory pool's backing texture to system memory. 2. Delete the memory pool's texture 3. Create a bigger backing texture for the memory pool. 4. Copy the data from system memory into the bigger texture. The copy operations didn't seem to be working, and I suspect that since they were using fragment shaders to do the copy, that there might have been a problem with the mixing of compute and 3D state. The other issue is that the size of 1D textures is limited, and I was having trouble getting 2D textures to work. I think these problems will be easier to solve once more code is shared between 3D and compute, which is why I decided to disable it for now rather than continue searching for a fix.
* radeon/llvm: Use multiclasses for floating point loadsTom Stellard2012-07-117-50/+46
| | | | | | | The original strategy for handling floating point loads, which was to lower (f32 load) to (f32 bitcast (i32 load)) wasn't really working. The main problem was that the DAG legalizer couldn't handle replacing a node with two results (load) with a node with only one result (bitcast).
* radeon/llvm: Don't set the IMM bit in SMRD instruction definitions.Tom Stellard2012-07-111-7/+2
| | | | The IMM bit is already being set in SICodeEmitter.