Marek Olšák
7708540363
amd: add support for Arcturus
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-07-29 17:52:54 -04:00
Marek Olšák
19d04191c4
radeonsi: add support for compute-only chips
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-07-29 17:52:51 -04:00
Samuel Pitoiset
372c3dcfdb
radv: implement VK_EXT_index_type_uint8
...
Natively supported on VI+.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-07-29 23:36:53 +02:00
Bas Nieuwenhuizen
aac492901a
radv: Take variable descriptor counts into account for buffer entries.
...
Fixes: b5e04e9217 "radv: Support allocating variable size descriptor sets."
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111019
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-07-29 20:42:53 +02:00
Samuel Pitoiset
58ee973e87
radv/gfx10: do not use the fast depth or stencil clear bytes path
...
It causes issues on GFX10.
This fixes rendering issues with vkmark and Wreckfest at least.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl
2019-07-29 14:47:13 +02:00
Samuel Pitoiset
4aa450193b
ac: do not crash when the buffer data format is invalid
...
This might happen when a pipeline doesn't define the vertex input
state, so the buffer data format is 0 (aka INVALID).
This fixes crashes when compiling some shaders on GFX10.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-07-29 13:19:32 +02:00
Rhys Perry
a9f58af454
ac/nir: fix txf_ms with an offset
...
Seems to fix some hair artifacts in Max Payne 3:
https://github.com/daniel-schuermann/mesa/issues/76
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Fixes: f4e499ec79 ('radv: add initial non-conformant radv vulkan driver')
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-07-29 11:50:13 +01:00
Connor Abbott
a69ab1b7d2
radv: Delete unused local variables in optimization loop
...
Totals from affected shaders:
SGPRS: 376 -> 376 (0.00 %)
VGPRS: 620 -> 560 (-9.68 %)
Spilled SGPRs: 0 -> 0 (0.00 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 292 -> 292 (0.00 %) dwords per thread
Code Size: 20024 -> 20144 (0.60 %) bytes
LDS: 0 -> 0 (0.00 %) blocks
Max Waves: 25 -> 25 (0.00 %)
Wait states: 0 -> 0 (0.00 %)
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-07-29 11:37:46 +02:00
Eric Engestrom
d2de5b6ba2
anv+tu+radv: delete unusable dev_icd.json
...
As per previous commit, Meson doesn't support using uninstalled libs,
they're simply not ready until `ninja install` is ran, so delete them.
Suggested-by: Jason Ekstrand <jason@jlekstrand.net >
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net > # for anv
Reviewed-by: Eric Anholt <eric@anholt.net > # for tu
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl > # for radv
2019-07-26 14:47:53 +00:00
Bas Nieuwenhuizen
7e1fe81f56
radv: Set correct metadata size for GFX9+.
...
Without correct size, radeonsi assumes the metadata is incorrect,
which can and will cause issues.
Since the metadata is really incorrect without the size, let us
fix that.
Fixes: e43cc3e3af "radv/gfx9: handle GFX9 opaque metadata"
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-07-25 17:07:53 +02:00
Samuel Pitoiset
7d11bf2155
radv/gfx10: fix intensity formats by setting ALPHA_IS_ON_MSB
...
This fixes
dEQP-VK.rasterization.primitive_size.points.point_size_*
This also fixes some black squares with the Sascha SSAO demo.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-07-25 15:48:24 +02:00
Samuel Pitoiset
6a504ab473
radv/gfx10: use L2 for DMA copy/fill operations
...
It's coherent and faster. GFX7-GFX9 should also support this but
for now only uses L2 for GFX10 because it's untested on previous gens.
This fixes dEQP-VK.memory.pipeline_barrier.transfer_*
This also fixes some missing geometry in Dawn Of War III because
VBOs weren't updated correctly.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-07-25 15:48:21 +02:00
Samuel Pitoiset
4389e85dc9
radv/gfx10: enable VK_EXT_transform_feedback
...
When a pipeline uses transform feedback, the driver fallbacks to
the legacy path because NGG support for streamout is a non-trivial
amount of work.
AMDVLK also uses the legacy path for streamout, while RadeonSI
uses the new NGG path.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-07-24 08:23:37 +02:00
Samuel Pitoiset
a3a4fa1860
radv/gfx10: do not enable NGG if a pipeline uses XFB
...
NGG GS for streamout requires a bunch of work, so enable it with
the legacy path only for now.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-07-24 08:23:34 +02:00
Samuel Pitoiset
09abe571a2
radv/gfx10: emit streamout shader config
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-07-24 08:23:32 +02:00
Samuel Pitoiset
383c2e625a
radv/gfx10: declare streamout user SGPRs
...
Required for legacy streamout.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-07-24 08:23:30 +02:00
Samuel Pitoiset
fd195d8085
radv/gfx10: update streamout descriptors
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-07-24 08:23:27 +02:00
Samuel Pitoiset
ea337c8b7e
radv/gfx10: fix VS input VGPRs with the legacy path
...
For some reasons, InstanceID is VGPR3 although StepRate0 is set to 1.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-07-24 08:23:21 +02:00
Bas Nieuwenhuizen
e5b3f0a867
radv/gfx10: Enable binning.
...
Numbers for Talos:
gfx10 without binning: 77.0 77.7 77.2 77.6
gfx10 with binning: 82.3 82.0 82.7 82.4
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-07-23 21:26:59 +02:00
Bas Nieuwenhuizen
3268c806fb
radv/gfx10: Implement bin size calculation.
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-07-23 21:26:59 +02:00
Bas Nieuwenhuizen
4b757697e9
radv/gfx9: Select between depth/color bins based on area.
...
Mirrors radeonsi.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
2019-07-23 21:26:59 +02:00
Bas Nieuwenhuizen
22f2f76789
radv: Generalize binning settings.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
2019-07-23 21:26:59 +02:00
Bas Nieuwenhuizen
793cbf6161
radv/gfx10: Use new scan converter.
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-07-23 21:26:59 +02:00
Bas Nieuwenhuizen
4058b354c5
radv: Set FLUSH_ON_BINNING_TRANSITION.
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-07-23 21:26:59 +02:00
Bas Nieuwenhuizen
906fcfccfd
radv: Use pbb_allow for framebuffer BREAK_BATCH.
...
Ported from radeonsi.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
2019-07-23 21:26:59 +02:00
Marek Olšák
6ac2146a98
ac/nir: implement nir_op_pack_{us}norm_2x16
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-07-23 15:03:44 -04:00
Samuel Pitoiset
d36af71f44
radv/gfx10: enable CLEAR_state
...
It actually works.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-07-23 14:15:55 +02:00
Samuel Pitoiset
9343c93e34
radv: fix dumping disassembly with RADV_DEBUG=shaders
...
Fixes: a20a9d0c5e ("radv: dont store disasm string unless keep_shader_info flag set")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-07-23 10:22:29 +02:00
Samuel Pitoiset
b5116d3cb7
radv: fix crash in vkCmdClearAttachments with unused attachment
...
depth_stencil_attachment and/or ds_resolve attachment can be NULL.
This fixes crashes with
dEQP-VK.renderpass.suballocation.unused_clear_attachments.*
Cc: 19.1 <mesa-stable@lists.freedesktop.org >
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-07-22 14:25:54 +02:00
Samuel Pitoiset
915abbe932
radv/gfx10: update descriptors for inline uniform blocks
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-07-22 09:02:42 +02:00
Samuel Pitoiset
d76746c1ff
radv/gfx10: emit the GS NGG prologue before the nested barrier
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-07-22 09:02:39 +02:00
Samuel Pitoiset
8c97a07967
radv/gfx10: do not allocate space for the ZPASS_DONE bug
...
GFX10 isn't affected.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-07-22 09:02:35 +02:00
Samuel Pitoiset
1fb7bd046b
radv/gfx10: do not set ELEMENT_SIZE for buffer descriptors
...
This field doesn't exist.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-07-22 09:02:31 +02:00
Samuel Pitoiset
1878090b68
radv: clean up fill_geom_tess_rings()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-07-22 09:02:28 +02:00
Samuel Pitoiset
e7c356866e
radv: change a bunch of >= GFX9 to == GFX9
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-07-22 09:02:26 +02:00
Samuel Pitoiset
6049745b13
ac/nir: do not clamp shadow reference on GFX10
...
RadeonSI only uses Z32_FLOAT_CLAMP for upgraded depth textures
on GFX10 and RADV doesn't promotes Z16 or Z24.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-07-22 09:02:22 +02:00
Daniel Schürmann
64b7386ee8
radv: move nir_opt_conditional_discard out of optimization loop
...
This late optimization pass is only affected by nir_opt_if() and handles all cases
in a single pass. It's enough to call it once after the optimization loop.
No changes on vkpipeline-db.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-07-22 08:12:18 +02:00
Eric Engestrom
f7224014df
radv: replace memset()+strcpy() with snprintf()
...
Just like the next line :)
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-07-21 10:38:17 +01:00
Eric Engestrom
29e8f15bdc
radv: drop unnecessary memset() before snprintf()
...
snprintf() always terminates the string.
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-07-21 10:38:17 +01:00
Bas Nieuwenhuizen
451f030c06
radv: Fix uninitialized warning.
...
For es_vgpr_comp_cnt.
Fixes: 795adbbadd "radv/gfx10: Add pipeline state support for tess."
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-07-21 01:39:08 +02:00
Marek Olšák
54e6900ede
radeonsi/gfx10: use 32-bit wavemasks for Wave32
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-07-19 20:16:19 -04:00
Marek Olšák
81091a5183
ac: create the LLVM builder in ac_llvm_context_init
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-07-19 20:16:19 -04:00
Marek Olšák
eb54b8c222
ac: create the LLVM module for Wave32 or Wave64 in ac_llvm_context_init
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-07-19 20:16:19 -04:00
Marek Olšák
921c1d24d5
ac/rtld: add support for Wave32
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-07-19 20:16:19 -04:00
Marek Olšák
73aa04e40d
ac: add Wave32 LLVM target machine
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-07-19 20:16:19 -04:00
Marek Olšák
9e467d111b
ac: initial Wave32 support in LLVM build helpers
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-07-19 20:16:19 -04:00
Marek Olšák
47dee97329
ac: use llvm.amdgcn.writelane
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-07-19 20:16:19 -04:00
Marek Olšák
39d0c68321
ac: fix shader clock on LLVM 9
...
Probably relevant commit:
commit dd32dc3f72ec99b1794d62c74d2beb3b60468d50
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin@amd.com >
Date: Tue Jul 9 03:10:18 2019 +0000
[AMDGPU] Always use s_memtime for readcyclecounter
Differential Revision: https://reviews.llvm.org/D64369
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365431 91177308-0d34-0410-b5e6-96231b3b80d8
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-07-19 20:16:19 -04:00
Eric Engestrom
09a8a39940
util: use standard name for strchrnul()
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
2019-07-19 22:39:38 +01:00
Dave Airlie
248161123c
radv: reset the window scissor with no clear state.
...
If we don't have clear state (which gfx10 doesn't currently)
we will fix to reset the scissor. AMDVLK will leave it set
to something else.
Marek also has this fix for radeonsi pending.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-07-19 11:00:44 +10:00