summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600
Commit message (Collapse)AuthorAgeFilesLines
* r600/llvm: Store inputs in function argumentsVincent Lejeune2013-11-112-0/+120
|
* r600g: Add support for PIPE_FORMAT_R11G11B10_FLOAT vertex elementsFredrik Höglund2013-11-072-0/+9
| | | | | Reviewed-by: Dave Airlie <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600/compute: silence unused var warningFabio Pedretti2013-11-061-1/+0
| | | | Reviewed-by: Marek Olšák <[email protected]>
* r600/llvm: Fix isampleBuffer on preEGVincent Lejeune2013-11-061-1/+14
|
* r600/llvm: Fix texbuf for pre EG genVincent Lejeune2013-11-061-0/+29
|
* r600g: properly unbind a DSA state being deleted in r600_delete_dsa_stateMarek Olšák2013-11-042-2/+9
| | | | Tested-by: Christian König <[email protected]>
* r600g,radeonsi: properly expose texture buffer formatsMarek Olšák2013-11-042-6/+16
| | | | This exposes GL_ARB_texture_buffer_object_rgb32.
* r600g/sb: fix value::is_fixed()Vadim Girlin2013-10-291-2/+2
| | | | | | | | | | | This prevents unnecessary (and wrong) register allocation in the scheduler for preloaded values in fixed registers. Fixes interpolation-mixed.shader_test on rv770 (and probably on all other pre-evergreen chips). Signed-off-by: Vadim Girlin <[email protected]> Tested-by: Andreas Boll <[email protected]>
* gallium: add PIPE_CAP_MIXED_FRAMEBUFFER_SIZESIlia Mirkin2013-10-261-0/+1
| | | | | | | | | This CAP will determine whether ARB_framebuffer_object can be enabled. The nv30 driver does not allow mixing swizzled and linear zsbuf/cbuf textures. Signed-off-by: Ilia Mirkin <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
* r600g,radeonsi: use fences provided by the winsysMarek Olšák2013-10-253-231/+3
|
* gallium: new, unified pipe_context::set_sampler_views() functionBrian Paul2013-10-233-16/+12
| | | | | | | | | | | | 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]>
* 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]>
* 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]>
* r600g/compute Improve debugging outputTom Stellard2013-10-162-5/+7
|
* radeon/uvd: use PIPE_BIND_LINEAR for video surfacesGrigori Goronzy2013-10-131-3/+3
| | | | | | | This new bind flag forces linear storage, but does not have other side effects like R600_RESOURCE_FLAG_TRANSFER. Reviewed-by: Christian König <[email protected]>
* r600g: fix tgsi_op2_s with trans-only instructionsVadim Girlin2013-10-131-5/+31
| | | | | | | | | | | | | | | | | | This fixes the issue when dst and src is the same reg and operation on one channel overwrites the source for other channels, e.g.: UMUL TEMP[2].xyz, TEMP[0].xyzz, TEMP[2].xxxx In this example the result of the operation on channel x is written in TEMP[2].x and then used as a second source operand for channels y and z instead of original value in TEMP[2].x. This patch stores the results in temp reg and moves them to dst after performing operation on all channels. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=70327 Signed-off-by: Vadim Girlin <[email protected]>
* r600g: fix crash in set_framebuffer_stateGrigori Goronzy2013-10-112-12/+26
| | | | | | | | We should be able to safely set the framebuffer state without a fragment shader bound. bind_ps_state will take care of updating the necessary state bits later. v2: check in update_db_shader_control
* gallium/radeon: don't export any private symbolsMarek Olšák2013-10-081-1/+2
| | | | Reviewed-by: Tom Stellard <[email protected]>
* Revert "r600g: only flush the caches that need to be flushed during CP DMA ↵Marek Olšák2013-10-064-139/+28
| | | | | | | | | | | | | | | | | operations" This reverts commit 7948ed1250cae78ae1b22dbce4ab23aceacc6159. It caused graphical corruption. I've got no idea why. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70042 https://bugs.freedesktop.org/show_bug.cgi?id=68451 Conflicts: src/gallium/drivers/r600/evergreen_hw_context.c src/gallium/drivers/r600/r600_hw_context.c src/gallium/drivers/r600/r600_pipe.h
* r600g: texture offsets for non-TXF instructionsGrigori Goronzy2013-10-041-10/+10
| | | | | | | All texture instructions can use offsets, not just TXF. Offsets into the literals array were wrong, too. Signed-off-by: Marek Olšák <[email protected]>
* r600g: remove an assertion causing a crash at context cleanupMarek Olšák2013-10-041-1/+0
| | | | | Compute samplers are advertised, but not implemented. I think that's intentional.
* radeon: don't use old bind_vertex/fragment_sampler_states() hooksBrian Paul2013-10-032-30/+6
|
* radeon: implement pipe_context::bind_sampler_states()Brian Paul2013-10-031-0/+1
|
* r600g,radeonsi: create aux_context lastMarek Olšák2013-10-031-0/+3
| | | | This fixes a regression caused by 68f6dec32ed5eede361f76c8dbdf897652659baf.
* r600/llvm: Adds support for MSAAVincent Lejeune2013-10-022-1/+53
|
* r600g/llvm: Undef z and w component of 2D TXP instVincent Lejeune2013-10-021-1/+2
|
* r600g/llvm: fix txq for texture bufferVincent Lejeune2013-10-022-2/+8
|
* r600: use NEED_RADEON_LLVM over R600_NEED_RADEON_GALLIUMEmil Velikov2013-10-011-1/+1
| | | | | | | | | libllvmradeon.la is available whenever NEED_RADEON_LLVM is set, using R600_NEED_RADEON_GALLIUM is rather ambiguous and unnecessary. Drop it in favour of NEED_RADEON_LLVM. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* r600g/sb: Move variable dereference after null check.Vinson Lee2013-09-301-1/+2
| | | | | | | Fixes "Deference before null check" defect reported by Coverity. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Vadim Girlin <[email protected]>
* r600g,radeonsi: workaround for late shared screen initializationMarek Olšák2013-09-301-1/+3
| | | | Accidentally broken by the consolidation.
* r600g: Fix build failure introduced with r600_texture.c consolidationLaurent Carlier2013-09-291-4/+4
| | | | | | It seems that case with opencl enabled was forgotten Signed-off-by: Marek Olšák <[email protected]>
* radeon: make texture logging more usefulMarek Olšák2013-09-291-2/+0
| | | | | | | This has been very useful for tracking down bugs in libdrm. The *_PRINT_TEXDEPTH environment variables were probably never used, so I removed them.
* r600g,radeonsi: share r600_texture.cMarek Olšák2013-09-297-1048/+13
| | | | | | | | | The function r600_choose_tiling is new and needs a review. The only change in functionality is that it enables 2D tiling for compressed textures on SI. It was probably accidentally turned off. v2: don't make scanout buffers linear
* r600g: remove compute_global_transfer_* calls from texture_transfer_map/unmapMarek Olšák2013-09-291-9/+0
| | | | Textures can never have target==PIPE_BUFFER.
* r600g: move the low-level buffer functions for multiple rings to drivers/radeonMarek Olšák2013-09-299-88/+15
| | | | Also slightly optimize r600_buffer_map_sync_with_rings.
* r600g,radeonsi: consolidate tiling_info initializationMarek Olšák2013-09-295-135/+12
| | | | and the util_format_s3tc_init calls too.
* r600g: move aux_context and r600_screen_clear_buffer to drivers/radeonMarek Olšák2013-09-294-66/+42
| | | | This will be used in the next commit.
* radeonsi: move debug options to R600_DEBUGMarek Olšák2013-09-291-29/+2
|
* r600g: move some debug options to drivers/radeonMarek Olšák2013-09-298-52/+28
|
* r600g,radeonsi: share the async dma interfaceMarek Olšák2013-09-295-46/+23
| | | | r600_texture.c is one step closer to r600g.
* r600g,radeonsi: remove unused codeMarek Olšák2013-09-291-3/+0
|
* r600g: move r600g-specific functions out of r600_texture.cMarek Olšák2013-09-294-467/+461
|
* r600g,radeonsi: consolidate r600_texture structuresMarek Olšák2013-09-291-24/+0
|
* r600g: get rid of r600_texture::is_ratMarek Olšák2013-09-292-8/+1
| | | | It's always 0.
* r600g: get rid of r600_texture::array_modeMarek Olšák2013-09-293-25/+4
|
* r600g,radeonsi: consolidate transfer, cmask, and fmask structuresMarek Olšák2013-09-297-95/+67
|
* radeon drivers: handle PIPE_CAP_MAX_VIEWPORTSMarek Olšák2013-09-291-0/+3
|
* r600g: fix texture buffer object cache flushingMarek Olšák2013-09-251-1/+4
| | | | Cc: "9.2" <[email protected]>
* r600g: fix constant buffer cache flushingMarek Olšák2013-09-251-1/+5
| | | | Cc: "9.2" <[email protected]>
* radeon/winsys: keep screen pointer in winsys v2Christian König2013-09-251-0/+3
| | | | | | | | | | Only create one screen for each winsys instance. This helps with buffer sharing and interop handling. v2: rebased and some minor cleanup Signed-off-by: Christian König <[email protected]> Reviewed-by: Marek Olšák <[email protected]>