Samuel Pitoiset
d861401554
ac/nir: remove unused code for nir_op_{fmod,frem}
...
RADV and RadeonSI both lower these two NIR instructions.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-10-03 18:15:17 +02:00
Marek Olšák
a1545af079
ac/nir: fix GLSL imageSamples()
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-09-30 14:21:42 -04:00
Marek Olšák
0cc233e3dc
ac: add ac_build_image_get_sample_count from radeonsi
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-09-30 14:21:42 -04:00
Marek Olšák
39e638c14e
ac/surface: don't allocate FMASK if there is no graphics
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-09-30 14:21:42 -04:00
Marek Olšák
4a0d2e2880
ac: reorder and print all radeon_info fields
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-09-30 13:36:21 -04:00
Marek Olšák
e8b1538587
ac: set the number of SDPs same as the number of TCCs
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-09-30 13:36:21 -04:00
Marek Olšák
b7c2f7c5a6
ac: fix num_good_cu_per_sh for harvested chips
...
Cc: 19.2 <mesa-stable@lists.freedesktop.org >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-09-30 13:36:20 -04:00
Marek Olšák
8cbe83445b
ac: add radeon_info::tcc_harvested
...
Cc: 19.2 <mesa-stable@lists.freedesktop.org >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-09-30 13:36:20 -04:00
Marek Olšák
7d97013294
ac: fix incorrect vram_size reported by the kernel
...
Cc: 19.2 <mesa-stable@lists.freedesktop.org >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-09-30 13:36:20 -04:00
Timur Kristóf
a4fd8ba7e3
amd/common: Introduce ac_get_fs_input_vgpr_cnt.
...
Add a function called ac_get_fs_input_vgpr_cnt which will return
the number of input VGPRs used by an AMD shader. Previously,
radv and radeonsi had the same code duplicated, but this commit also
allows them to share this code.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-09-26 13:36:49 +00:00
Timur Kristóf
7bde4ddaf7
amd/common: Add num_shared_vgprs to ac_shader_config for GFX10.
...
In GFX10 wave64 mode, shared VGPRs allow the two wave halves to
share some data with each other.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-09-26 13:36:49 +00:00
Timur Kristóf
db1fddcf0f
amd/common: Extract some helper functions to ac_shader_util.
...
This commit moves ac_get_tbuffer_format, ac_get_sampler_dim and
ac_get_image_dim into ac_shader_util, thus enabling them to be used
by compilers other than LLVM.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-09-26 13:36:49 +00:00
Timur Kristóf
d8b46f8964
amd/common: Move ac_export_mrt_z to ac_llvm_build.
...
The aim of this commit is to keep ac_shader_util LLVM-free,
since we would like to use it in ACO later.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-09-26 13:36:49 +00:00
Marek Olšák
05d32850ff
ac/nir: force unnormalized coordinates for RECT
...
This fixes VAAPI.
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
2019-09-23 15:34:54 -04:00
Marek Olšák
500181b2ba
ac/nir: port Z compare value clamping from radeonsi
...
This fixes some dEQP tests.
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
2019-09-23 15:34:54 -04:00
Marek Olšák
9429714233
ac: stop using PCI IDs for chip identification
...
PCI IDs for amdgpu will be removed from Mesa.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-09-23 15:14:11 -04:00
Daniel Schürmann
a70a998718
radv/aco: Setup alternate path in RADV to support the experimental ACO compiler
...
LLVM remains default and ACO can be enabled with RADV_PERFTEST=aco.
Co-authored-by: Daniel Schürmann <daniel@schuermann.dev >
Co-authored-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-09-19 12:10:00 +02:00
Marek Olšák
aae35fbd3a
ac: move ac_get_num_physical_vgprs into radeon_info
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-09-18 14:39:06 -04:00
Marek Olšák
0692ae34e9
ac: move ac_get_num_physical_sgprs into radeon_info
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-09-18 14:39:06 -04:00
Marek Olšák
ca43006fd2
ac: move ac_get_max_wave64_per_simd into radeon_info
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-09-18 14:39:06 -04:00
Marek Olšák
deab3a23f6
ac: move num_sdp_interfaces into radeon_info
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-09-18 14:39:06 -04:00
Marek Olšák
2c62b461e9
ac: move PBB MAX_ALLOC_COUNT into radeon_info
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-09-18 14:39:06 -04:00
Michel Dänzer
aed3babef7
ac: Remove DEBUG workaround
...
As of version 7, LLVM uses LLVM_DEBUG instead of just DEBUG.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
2019-09-17 10:24:29 +00:00
Marek Olšák
1bb2656276
ac: replace HAVE_LLVM with LLVM_VERSION_MAJOR for atomic-optimizations
...
trivial
2019-09-11 10:56:46 -04:00
Marek Olšák
e4c84d8678
radeonsi: move texture storage allocation outside of radeonsi
...
possible code sharing with radv
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-09-09 23:43:03 -04:00
Marek Olšák
58ccadfc5c
radeonsi: move HTILE allocation outside of radeonsi
...
ac_surface computes it for amdgpu.
radeon_drm_surface computes it for radeon.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-09-09 23:43:03 -04:00
Marek Olšák
7d4a10a29f
ac/surface: add RADEON_SURF_NO_FMASK
...
This controls FMASK and CMASK computation for MSAA.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-09-09 23:43:03 -04:00
Marek Olšák
d95afd8b9e
radeonsi/gfx10: fix wave occupancy computations
...
Cc: 19.2 <mesa-stable@lists.freedesktop.org >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-09-09 23:43:03 -04:00
Marek Olšák
d64593e3c4
ac: use fma on gfx10
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-09-09 23:43:03 -04:00
Marek Olšák
d979e5bfab
ac: enable LLVM atomic optimizations
2019-09-09 23:43:03 -04:00
Eric Engestrom
19d9e57f2c
amd: replace major llvm version checks with LLVM_VERSION_MAJOR
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Acked-by: Michel Dänzer <mdaenzer@redhat.com >
2019-09-06 22:26:29 +01:00
Connor Abbott
91626d0865
ac/nir: Support load_constant intrinsics
...
Setup a constant global variable that LLVM will stick in a .rodata
section and generate PC-relative loads for.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-09-05 12:21:42 +02:00
Connor Abbott
5dadbabb47
radv/radeonsi: Don't count read-only data when reporting code size
...
We usually use these counts as a simple way to figure out if a change
reduces the number of instructions or shrinks an instruction. However,
since .rodata sections aren't executed, we shouldn't be counting their
size for this analysis. Make the linker return the total executable
size, and use it to report the more useful size in both drivers.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-09-05 12:21:35 +02:00
Connor Abbott
2abf62d348
ac/nir: Fix gather4 integer wa with unnormalized coordinates
...
This adds a bit of unneccesary code on radeonsi, since whether
unnormalized coordinates are used is known at compile time with GL, but
I wasn't sure if it was worth the few instructions to plumb everything
through, especially for something so rare -- my shader-db doesn't have
any instances where this changes anything.
Fixes CTS tests I created at
https://github.com/cwabbott0/VK-GL-CTS/tree/unnorm-gather-tests
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-09-03 13:50:54 +00:00
Connor Abbott
c63ccf90df
ac/nir: Rewrite gather4 integer workaround based on radeonsi
...
The workaround was originally written based on amdgpu-pro traces, but
since then radeonsi has got its own slightly different version. Use the
radeonsi version instead, to be consistent and because it'll be slightly
more convenient for handling unnormalized coordinates.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-09-03 13:50:54 +00:00
Samuel Pitoiset
9f2fd23f99
ac: drop now useless lookup_interp_param from ABI
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-30 08:23:56 +02:00
Samuel Pitoiset
a63719db6a
ac: import linear/perspective PS input parameters from radv/radeonsi
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-30 08:23:54 +02:00
Marek Olšák
2e94cb6693
radeonsi: add PKT3_CONTEXT_REG_RMW
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-08-27 16:16:08 -04:00
Samuel Pitoiset
fd54fc85aa
ac: add has_ls_vgpr_init_bug to ac_gpu_info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-27 08:04:47 +02:00
Samuel Pitoiset
1bf2572dff
ac: add has_msaa_sample_loc_bug to ac_gpu_info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-27 08:04:44 +02:00
Samuel Pitoiset
021feb1bf6
ac: add rbplus_allowed to ac_gpu_info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-27 08:04:41 +02:00
Samuel Pitoiset
20c5db02b5
ac: add has_tc_compat_zrange_bug to ac_gpu_info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-27 08:04:36 +02:00
Samuel Pitoiset
b55919cf2a
ac: add has_gfx9_scissor_bug to ac_gpu_info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-27 08:04:32 +02:00
Samuel Pitoiset
2b9c371575
ac: add cpdma_prefetch_writes_memory to ac_gpu_info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-27 08:04:29 +02:00
Samuel Pitoiset
b027ad66d7
ac: add has_out_of_order_rast to ac_gpu_info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-27 08:04:26 +02:00
Samuel Pitoiset
ed720af46d
ac: add has_load_ctx_reg_pkt to ac_gpu_info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-27 08:04:22 +02:00
Samuel Pitoiset
63c0b89b8f
ac: add has_rbplus to ac_gpu_info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-27 08:04:19 +02:00
Samuel Pitoiset
44a46c09de
ac: add has_dcc_constant_encode to ac_gpu_info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-27 08:04:16 +02:00
Samuel Pitoiset
c08401f035
ac: add has_distributed_tess to ac_gpu_info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-27 08:04:11 +02:00
Samuel Pitoiset
d62d2840c4
ac: add has_clear_state to ac_gpu_info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-27 08:04:05 +02:00