mesa/src/gallium/drivers/radeon
Oded Gabbay 2242dbe11d r600g/radeonsi: send endian info to format translation functions
Because r600 GPUs can't do swap in their DB unit, we need to disable
endianess swapping for textures that are handled by DB.

There are four format translation functions in r600g driver:

- r600_translate_texformat
- r600_colorformat_endian_swap
- r600_translate_colorformat
- r600_translate_colorswap

This patch adds a new parameters to those functions, called
"do_endian_swap". When running in a big-endian machine, the calling
functions will check whether the texture/color is handled by DB -
"rtex->is_depth && !rtex->is_flushing_texture" - and if so, they will
send FALSE through this parameter. Otherwise, they will send TRUE.

The translation functions, in specific cases, will look at this parameter
and configure the swapping accordingly.

v4:
evergreen_init_color_surface_rat() is only used by compute and don't
handle DB surfaces, so just sent hard-coded FALSE to translation
functions when called by it.

Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2016-04-26 11:00:16 +03:00
..
.dir-locals.el dir-locals.el: Don't set variables for non-programming modes 2015-02-02 12:02:55 +00:00
Android.mk android: enable the radeonsi driver 2015-06-09 12:25:50 -07:00
LLVM_REVISION.txt radeonsi: Handle TGSI TXQ opcode 2013-05-28 11:20:53 +02:00
Makefile.am configure.ac: use pkg-config for libelf 2015-12-17 09:37:24 +00:00
Makefile.sources radeonsi: move scissor and viewport states into gallium/radeon 2016-04-12 17:13:24 +02:00
cayman_msaa.c gallium/radeon: fix Hyper-Z hangs by programming PA_SC_MODE_CNTL_1 correctly 2015-12-11 15:25:12 +01:00
r600_buffer_common.c gallium/radeon: handle failure when mapping staging buffer 2016-04-14 16:29:23 -05:00
r600_cs.h gallium/radeon: rename & reorder members of radeon_info 2016-02-05 17:28:00 +01:00
r600_gpu_load.c r600g,radeonsi: add a driver query returning GPU load 2015-04-28 16:05:45 +02:00
r600_perfcounter.c gallium/radeon: remove R600_QUERY_HW_FLAG_TIMER 2016-04-12 14:29:47 +02:00
r600_pipe_common.c gallium: use PIPE_SHADER_* everywhere, remove TGSI_PROCESSOR_* 2016-04-22 01:30:39 +02:00
r600_pipe_common.h r600g/radeonsi: send endian info to format translation functions 2016-04-26 11:00:16 +03:00
r600_query.c radeon: handle query buffer allocation and mapping failures 2016-04-21 22:33:12 -05:00
r600_query.h radeon: handle query buffer allocation and mapping failures 2016-04-21 22:33:12 -05:00
r600_streamout.c gallium/radeon: unify checking streamout enable state 2016-04-12 14:29:47 +02:00
r600_texture.c r600g/radeonsi: send endian info to format translation functions 2016-04-26 11:00:16 +03:00
r600_viewport.c gallium/radeon: fix Nine with its slightly shifted viewports 2016-04-18 19:51:24 +02:00
r600d_common.h gallium/radeon: don't flush CB/DB caches for timestamp queries 2016-04-18 19:51:24 +02:00
radeon_elf_util.c gallium/radeon: remove unused radeon_shader_binary_free_* functions 2016-02-21 21:08:58 +01:00
radeon_elf_util.h gallium/radeon: remove unused radeon_shader_binary_free_* functions 2016-02-21 21:08:58 +01:00
radeon_llvm.h radeonsi: add shared memory 2016-04-19 18:10:30 +02:00
radeon_llvm_emit.c gallium: use PIPE_SHADER_* everywhere, remove TGSI_PROCESSOR_* 2016-04-22 01:30:39 +02:00
radeon_llvm_emit.h gallium/radeon: add a function for adding llvm function attributes 2016-02-09 21:19:51 +01:00
radeon_llvm_util.c Handle removal of LLVMAddTargetData in SVN revision 260919 2016-02-16 16:18:35 +09:00
radeon_llvm_util.h r600g/compute: Enable PIPE_SHADER_IR_NATIVE for compute shaders v2 2014-10-31 15:24:00 -04:00
radeon_setup_tgsi_llvm.c radeonsi: add shared memory 2016-04-19 18:10:30 +02:00
radeon_uvd.c radeon/uvd: fix tonga feedback buffer size 2016-04-14 19:33:44 -04:00
radeon_uvd.h gallium/radeon: remove radeon_winsys_cs_handle 2015-12-11 15:25:13 +01:00
radeon_vce.c radeon/vce: disable two pipe mode for Polaris11 2016-03-24 23:08:04 -04:00
radeon_vce.h gallium/radeon: remove radeon_winsys_cs_handle 2015-12-11 15:25:13 +01:00
radeon_vce_40_2_2.c gallium/radeon: remove radeon_winsys_cs_handle 2015-12-11 15:25:13 +01:00
radeon_vce_50.c gallium/radeon: remove radeon_winsys_cs_handle 2015-12-11 15:25:13 +01:00
radeon_vce_52.c gallium/radeon: remove radeon_winsys_cs_handle 2015-12-11 15:25:13 +01:00
radeon_video.c radeon/video: enable HEVC main 10 decode 2016-03-11 22:33:56 -05:00
radeon_video.h winsys/radeon: add a private interface for radeon_surface 2015-04-29 21:51:40 +02:00
radeon_winsys.h winsys/amdgpu: Add support for const IB. 2016-04-19 18:10:30 +02:00