summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/radeon
AgeCommit message (Collapse)AuthorFilesLines
2018-12-19radeonsi: move remaining perfcounter code into si_perfcounter.cNicolai Hähnle1-639/+0
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2018-11-28winsys/amdgpu: add support for allocating GDS and OA resourcesMarek Olšák1-1/+3
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
2018-11-28winsys/amdgpu,radeon: pass vm_alignment to buffer_from_handleMarek Olšák1-0/+1
Acked-by: Christian König <christian.koenig@amd.com>
2018-11-28winsys/amdgpu: explicitly declare whether buffer_map is permanent or notNicolai Hähnle7-18/+44
Introduce a new driver-private transfer flag RADEON_TRANSFER_TEMPORARY that specifies whether the caller will use buffer_unmap or not. The default behavior is set to permanent maps, because that's what drivers do for Gallium buffer maps. This should eliminate the need for hacks in libdrm. Assertions are added to catch when the buffer_unmap calls don't match the (temporary) buffer_map calls. I did my best to update r600 for consistency (r300 needs no changes because it never calls buffer_unmap), even though the radeon winsys ignores the new flag. As an added bonus, this should actually improve the performance of the normal fast path, because we no longer call into libdrm at all after the first map, and there's one less atomic in the winsys itself (there are now no atomics left in the UNSYNCHRONIZED fast path). Cc: Leo Liu <leo.liu@amd.com> v2: - remove comment about visible VRAM (Marek) - don't rely on amdgpu_bo_cpu_map doing an atomic write Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2018-11-09radeonsi: stop command submission with PIPE_CONTEXT_LOSE_CONTEXT_ON_RESET onlyMarek Olšák6-9/+11
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
2018-10-26radeon/vcn: use util function to get h264 profile idcBoyuan Zhang1-2/+1
Use utility function for converting h264 pipe video profile to profile idc, instead of using array. Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com> Acked-by: Christian König <christian.koenig at amd.com>
2018-10-26radeon/vce: use util function to get h264 profile idcBoyuan Zhang2-8/+2
Use utility function for converting h264 pipe video profile to profile idc, instead of using array. Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com> Acked-by: Christian König <christian.koenig at amd.com>
2018-10-23radeon/vcn: implement jpeg target buffer cmdBoyuan Zhang1-1/+72
Implement jpeg target buffer cmd by programming registers directly, since there is no firmware for VCN Jpeg decode. Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com> Acked-by: Leo Liu <leo.liu@amd.com>
2018-10-23radeon/vcn: implement jpeg bitstream buffer cmdBoyuan Zhang1-1/+45
Implement jpeg bitstream buffer cmd by programming registers directly, since there is no firmware for VCN Jpeg decode. Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com> Acked-by: Leo Liu <leo.liu@amd.com>
2018-10-23radeon/uvd: remove get mjpeg slice headerBoyuan Zhang1-157/+0
Move the previous get_mjpeg_slice_heaeder function and eoi from "radeon/vcn" to "st/va". Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com> Reviewed-by: Leo Liu <leo.liu@amd.com>
2018-10-23radeon/vcn: add jpeg decode implementationBoyuan Zhang3-7/+117
Add a new file to handle VCN Jpeg decode specific functions. Use Jpeg specific cmd sending function in end_frame call. Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com> Reviewed-by: Leo Liu <leo.liu@amd.com>
2018-10-23radeon/vcn: separate send cmd call from end frameBoyuan Zhang2-8/+28
Use function pointer for sending cmd in end_frame call. By doing this, we can assign different cmd sending logics for Jpeg decode later. Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com> Reviewed-by: Leo Liu <leo.liu@amd.com>
2018-10-23radeon/vcn: create cs based on ring typeBoyuan Zhang1-2/+6
Add RING_VCN_JPEG for VCN Jpeg decode, and keep RING_VCN_DEC for other codecs. Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com> Reviewed-by: Leo Liu <leo.liu@amd.com>
2018-10-23radeon/winsys: add vcn jpeg ring typeBoyuan Zhang1-0/+1
Add a new ring type for vcn jpeg. Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com> Reviewed-by: Leo Liu <leo.liu@amd.com>
2018-10-23radeon/vcn: add vcn jpeg decode interfaceBoyuan Zhang1-0/+90
Add VCN Jpeg decode interfaces and register defines. Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com> Reviewed-by: Leo Liu <leo.liu@amd.com>
2018-10-23radeon/vcn: move radeon decoder define to header fileBoyuan Zhang2-31/+32
Move radeon_decoder definition from "radeon_vcn_dec.c" to "radeon_vcn_dec.h", so that it can be included by other files later. Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com> Reviewed-by: Leo Liu <leo.liu@amd.com>
2018-10-17Fix setting indent-tabs-mode in the Emacs .dir-locals.el filesNeil Roberts1-1/+1
Some of the .dir-locals.el had the wrong name for the truthy value so it wasn’t setting indent-tabs-mode. Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2018-09-24radeon/uvd: use bitstream coded number for symbols of Huffman tablesLeo Liu1-4/+14
Signed-off-by: Leo Liu <leo.liu@amd.com> Fixes: 130d1f456(radeon/uvd: reconstruct MJPEG bitstream) Cc: "18.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com>
2018-09-10radeonsi: merge SI and CI dma_clear_buffer and remove the callbackMarek Olšák1-2/+1
also use assertions for the requirements that offset and size are a multiple of 4. Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
2018-09-07radeonsi: pin the winsys thread to the requested L3 cache (v2)Marek Olšák1-0/+8
v2: rebase Reviewed-by: Brian Paul <brianp@vmware.com>
2018-07-31radeonsi: use storage_samples instead of color_samples in most placesMarek Olšák1-1/+0
and use pipe_resource::nr_storage_samples instead of r600_texture::num_color_samples. Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
2018-07-16radeonsi: rework RADEON_PRIO flags to be <= 31Marek Olšák1-20/+21
This decreases sizeof(struct amdgpu_cs_buffer) from 24 to 16 bytes. Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
2018-07-16radeonsi: merge DCC/CMASK/HTILE priority flagsMarek Olšák1-3/+1
For a later simplification. Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
2018-07-16radeonsi: remove non-GFX BO priority flagsMarek Olšák6-11/+5
For a later simplification. Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
2018-06-19radeonsi: rename r600_texture -> si_texture, rxxx -> xxx or sxxxMarek Olšák1-4/+4
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
2018-06-19amd,radeonsi: rename radeon_winsys_cs -> radeon_cmdbufMarek Olšák8-29/+29
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
2018-05-11radeon/vce: add firmware support for ver 53 and upBoyuan Zhang1-2/+2
All vce firmwares with major version greater than or equal to 53 are supported Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com> Reviewed-by: Leo Liu <leo.liu@amd.com>
2018-05-10ac/surface: add EQAA supportMarek Olšák1-0/+1
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2018-04-27radeonsi: rename r600_texture::resource to bufferMarek Olšák1-1/+1
r600_resource could be renamed to si_buffer. Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2018-04-27radeonsi: use r600_resource() typecast helperMarek Olšák2-5/+4
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2018-04-27radeonsi: remove r600_pipe_common.hMarek Olšák4-333/+3
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2018-04-26radeon/vcn: fix mpeg4 msg buffer settingsBoyuan Zhang1-9/+9
Previous bit-fields assignments are incorrect and will result certain mpeg4 decode failed due to wrong flag values. This patch fixes these assignments. Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com> Reviewed-by: Leo Liu <leo.liu@amd.com>
2018-04-18radeon/vce: disable vce dual pipe on VegaMLeo Liu1-1/+2
Acked-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2018-04-16radeonsi: implement mechanism for IBs without partial flushes at the end (v6)Marek Olšák1-0/+7
(This patch doesn't enable the behavior. It will be enabled in a later commit.) Draw calls from multiple IBs can be executed in parallel. v2: do emit partial flushes on SI v3: invalidate all shader caches at the beginning of IBs v4: don't call si_emit_cache_flush in si_flush_gfx_cs if not needed, only do this for flushes invoked internally v5: empty IBs should wait for idle if the flush requires it v6: split the commit If we artificially limit the number of draw calls per IB to 5, we'll get a lot more IBs, leading to a lot more partial flushes. Let's see how the removal of partial flushes changes GPU utilization in that scenario: With partial flushes (time busy): CP: 99% SPI: 86% CB: 73: Without partial flushes (time busy): CP: 99% SPI: 93% CB: 81% Tested-by: Benedikt Schemmer <ben@besd.de> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2018-04-12radeon/vcn: add VP9 profile2 supportLeo Liu1-0/+16
Signed-off-by: Leo Liu <leo.liu@amd.com> Acked-by: Christian König <christian.koenig@amd.com>
2018-04-12radeon/vcn: add VP9 context bufferLeo Liu1-0/+26
Signed-off-by: Leo Liu <leo.liu@amd.com> Acked-by: Christian König <christian.koenig@amd.com>
2018-04-12radeon/vcn: get VP9 msg bufferLeo Liu2-1/+176
Signed-off-by: Leo Liu <leo.liu@amd.com> Acked-by: Christian König <christian.koenig@amd.com>
2018-04-12radeon/vcn: fill probability table to prob buffersLeo Liu1-0/+38
Signed-off-by: Leo Liu <leo.liu@amd.com> Acked-by: Christian König <christian.koenig@amd.com>
2018-04-12radeon/vcn: add VP9 message buffer interfaceLeo Liu1-0/+134
Signed-off-by: Leo Liu <leo.liu@amd.com> Acked-by: Christian König <christian.koenig@amd.com>
2018-04-12radeon/vcn: add VP9 prob table bufferLeo Liu2-18/+37
Signed-off-by: Leo Liu <leo.liu@amd.com> Acked-by: Christian König <christian.koenig@amd.com>
2018-04-12radeon/vcn: add VP9 dpb buffer sizeLeo Liu1-0/+6
The current FW has restricted the size to the worse case, and the new dynamic dpb buffer support is on the way from firmware side, we will change accordingly. Signed-off-by: Leo Liu <leo.liu@amd.com> Acked-by: Christian König <christian.koenig@amd.com>
2018-04-12radeon/vcn: add VP9 stream type for decoderLeo Liu2-0/+4
Signed-off-by: Leo Liu <leo.liu@amd.com> Acked-by: Christian König <christian.koenig@amd.com>
2018-04-05radeonsi: try to fix androidMarek Olšák1-48/+0
Acked-by: Timothy Arceri <tarceri@itsqueeze.com>
2018-04-05radeonsi: try to fix mesonMarek Olšák1-59/+0
This is not fully tested. Meson can't link LLVM even though automake can. PATH=/usr/llvm/x86_64-linux-gnu/bin:$PATH meson build/ -Dgallium-va=false \ -Dplatforms=x11,drm -Dgallium-drivers=radeonsi -Ddri-drivers= \ -Dgallium-omx=disabled -Dgallium-xvmc=false -Dgles1=false \ -Dtexture-float=true -Dvulkan-drivers= src/gallium/auxiliary/libgallium.a(gallivm_lp_bld_misc.cpp.o): (.data.rel.ro._ZTI26DelegatingJITMemoryManager[_ZTI26DelegatingJITMemoryManager]+0x10): undefined reference to `typeinfo for llvm::RTDyldMemoryManager' Acked-by: Timothy Arceri <tarceri@itsqueeze.com>
2018-04-05radeonsi: don't build libradeon.la separatelyMarek Olšák2-50/+0
for better parallelism Acked-by: Timothy Arceri <tarceri@itsqueeze.com>
2018-04-05radeonsi: remove r600_common_contextMarek Olšák7-122/+19
Acked-by: Timothy Arceri <tarceri@itsqueeze.com>
2018-04-05radeonsi: remove r600_pipe_common::screenMarek Olšák1-1/+0
Acked-by: Timothy Arceri <tarceri@itsqueeze.com>
2018-04-05radeonsi: move r600_buffer_common.c and r600_texture.c into radeonsiMarek Olšák4-3340/+1
Acked-by: Timothy Arceri <tarceri@itsqueeze.com>
2018-04-05radeonsi: move r600_gpu_load.c to si_gpu_load.cMarek Olšák4-291/+1
Acked-by: Timothy Arceri <tarceri@itsqueeze.com>
2018-04-05radeonsi: move r600_query.c/h files to si_query.c/hMarek Olšák7-2396/+3
Acked-by: Timothy Arceri <tarceri@itsqueeze.com>