Marek Olšák
21174dedec
nir: split fuse_ffma into fuse_ffma16/32/64
...
AMD wants different behavior for each bit size
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6756 >
2020-09-24 12:29:11 +00:00
Pierre-Eric Pelloux-Prayer
c58b46edf0
radeonsi: force linear for textures with height=1 (gfx6-8)
...
addrlib will force it only for level = 0, so force it when we create
a height=1/multi-level texture.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2250
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6775 >
2020-09-24 12:17:35 +00:00
Marek Olšák
5f27777379
radeonsi: add a tweak for PS wave CU utilization for gfx10.3
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6822 >
2020-09-24 11:55:06 +00:00
Marek Olšák
b5debe180e
radeonsi: break a binning batch on a new PS if bins can use multiple state sets
...
ported from PAL
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6822 >
2020-09-24 11:55:06 +00:00
Marek Olšák
972fb0368c
radeonsi: move binning parameters into si_screen
...
it will be used in the next commit
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6822 >
2020-09-24 11:55:06 +00:00
Marek Olšák
8b134fb915
radeonsi: set KEEP_TOGETHER_ENABLE if needed
...
ported from PAL
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6822 >
2020-09-24 11:55:06 +00:00
Alyssa Rosenzweig
28a76161e5
pan/bi: Remove old register mode definitions
...
Now replaced by canonical equivalents.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6793 >
2020-09-24 11:27:22 +00:00
Alyssa Rosenzweig
7a0f3b607e
pan/bi: Use canonical register packing
...
This better matches the hardware behaviour and will allow us to
implement write masks down the line.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6793 >
2020-09-24 11:27:22 +00:00
Alyssa Rosenzweig
514da97cca
pan/bi: Rename port -> slot
...
To match the canonical naming convention.
$ sed -i -e 's/\([_ \.>"!]\)[pP]ort\([ ,'"'"'_0123s\(\[]\)/\1slot\2/g' *.c *.h
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6793 >
2020-09-24 11:27:22 +00:00
Alyssa Rosenzweig
c749803dbb
pan/bi: Decode all 32-bit register modes
...
There's actually more than 16 of them, disambiguated by `r2 == r3` and
`first?` as conditions for another "fun" encoding. The extra space
allows for writing half-registers.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6793 >
2020-09-24 11:27:22 +00:00
Alyssa Rosenzweig
bdb33f7529
pan/bi: Pass 'first' through disassembler
...
Required to decode the registers of the first instruction of a clause
correctly.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6793 >
2020-09-24 11:27:22 +00:00
Alyssa Rosenzweig
4d3d5a66c9
pan/bi: Add bifrost_reg_mode enum
...
This generalizes the previous control field, adding in the full set of
enums required for 16-bit writemasks.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6793 >
2020-09-24 11:27:22 +00:00
Alyssa Rosenzweig
b392c07983
pan/bi: Disassemble PC-relative addresses
...
Apply whatever modifier we computed and symbolically work out the
behaviour of the hardware. This involves some pretty gnarly primitives
(e.g. 28-bit sign extensions) but seems to works ok.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6793 >
2020-09-24 11:27:22 +00:00
Alyssa Rosenzweig
08a9e5e3e8
pan/bi: Decode M values in disasm
...
This is rather complicated and mostly unused in real world code but
correct handling is required to disassemble branchy code.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6793 >
2020-09-24 11:27:22 +00:00
Alyssa Rosenzweig
9de34e16e0
pan/bi: Track M values of disassembled constants
...
We'll want to route these values from the clause itself to the source
dump in order to disassemble modified embedded constants.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6793 >
2020-09-24 11:27:21 +00:00
Alyssa Rosenzweig
43c6623c9e
pan/bi: Inline dump_instr
...
Tuple dumping is trivial now that we autogenerate most of it.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6793 >
2020-09-24 11:27:21 +00:00
Alyssa Rosenzweig
5ff3feab88
pan/bi: Annotate disassemble with format names
...
It's hard enough to keep this all straight as it is.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6793 >
2020-09-24 11:27:21 +00:00
Alyssa Rosenzweig
ab5cc3e717
pan/bi: Annotate stop bit (canonically "Z-bit")
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6793 >
2020-09-24 11:27:21 +00:00
Samuel Pitoiset
24a74b352c
radv: add a tweak for PS wave CU utilization for gfx10.3
...
Ported from RadeonSI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6838 >
2020-09-24 10:41:21 +00:00
Samuel Pitoiset
6865a6a74c
radv: set KEEP_TOGETHER_ENABLE if necessary on GFX10+
...
Ported from RadeonSI and PAL.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6838 >
2020-09-24 10:41:21 +00:00
Rhys Perry
68bb91ee11
radeonsi: don't use nir_opt_access
...
st/mesa already calls this and nir_opt_access should be run with
deref-based SSBO access.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6778 >
2020-09-24 11:04:30 +01:00
Rhys Perry
87f91e2014
st/nir: call nir_opt_access before gl_nir_lower_buffers
...
This pass should be run with deref-based SSBO access.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6778 >
2020-09-24 11:04:11 +01:00
Bas Nieuwenhuizen
e893102bcf
radv: Add VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 rendering support.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6831 >
2020-09-23 09:22:03 +00:00
Bas Nieuwenhuizen
43735c06df
radv: Simplify radv_is_hw_resolve_pipeline.
...
We have the bounds so all the format checking is not needed.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6831 >
2020-09-23 09:22:03 +00:00
Bas Nieuwenhuizen
bf0c82b7f8
radv: Disable NGG on APUs.
...
Syncing from Radeonsi.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6828 >
2020-09-23 09:11:11 +00:00
Erico Nunes
12128fb135
lima: add natively supported vertex buffer formats
...
Add natively supported vertex buffer formats. If formats are not listed
here as natively supported, mesa triggers a buffer format translation
routine per draw call which can be expensive.
This helps improve performance in some applications.
The 32-bit integer formats were found by trial and error with a script
and checked in particular with piglit test gl-2.0-vertexattribpointer.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6714 >
2020-09-23 08:43:26 +00:00
Samuel Pitoiset
c669db0b50
radv: advertise VK_KHR_copy_commands2
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6813 >
2020-09-23 07:14:15 +00:00
Samuel Pitoiset
0401507b77
radv: add support for CmdResolveImage2KHR()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6813 >
2020-09-23 07:14:15 +00:00
Samuel Pitoiset
9a700af65c
radv: cleanup selecting the hardware resolve path
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6813 >
2020-09-23 07:14:15 +00:00
Samuel Pitoiset
fe819710ad
radv: add support for CmdCopyImageToBuffer2KHR()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6813 >
2020-09-23 07:14:15 +00:00
Samuel Pitoiset
f9915ac465
radv: add support for CmdCopyImage2KHR()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6813 >
2020-09-23 07:14:15 +00:00
Samuel Pitoiset
69dfcfbb24
radv: add support for CmdCopyBufferToImage2KHR()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6813 >
2020-09-23 07:14:15 +00:00
Samuel Pitoiset
22a08da737
radv: add support for CmdCopyBuffer2KHR()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6813 >
2020-09-23 07:14:15 +00:00
Samuel Pitoiset
eccc73ff78
radv: add support for CmdBlitImage2KHR()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6813 >
2020-09-23 07:14:15 +00:00
Samuel Pitoiset
cc709a07f2
radv: add VK_KHR_copy_commands2 but leave it disabled
...
To declare new prototypes.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6813 >
2020-09-23 07:14:15 +00:00
Samuel Pitoiset
93f158fa2e
radv: bump the advertised patch version to 145
...
We have been keeping up with the spec updates. Same as ANV.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6818 >
2020-09-23 07:02:58 +00:00
Samuel Pitoiset
43c7de6b91
radv: remove useless assignment of MAX_API_VERSION
...
It's overwritten few lines below.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6818 >
2020-09-23 07:02:58 +00:00
Erik Faye-Lund
e8a40715a8
gallium/util: add blitter-support for stencil-fallback
...
This wires up the shader in the previous commit so we can blit without
having to reimplement the blitter in the D3D12 driver.
This isn't optimal, but it's reasonable enough, and this behavior is
rare.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6681 >
2020-09-23 06:48:50 +00:00
Erik Faye-Lund
2970d388a2
gallium/util: add shader for stencil-blits
...
This shader is useful to replicate single bit from a stencil buffer even
when there's no support for PIPE_CAP_SHADER_STENCIL_EXPORT.
This is useful for the D3D12 driver, where the graphics pipeline is the
only way of writing to MSAA stencil-buffers, and not all drivers support
exporting the stencil-value from the shader.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6681 >
2020-09-23 06:48:50 +00:00
Jesse Natalie
924e27647e
nir_lower_system_values: Fix load_global_invocation_id to use base_work_group_id even with no base_global id
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6668 >
2020-09-22 21:22:26 +00:00
Eric Anholt
ee4cee6dbd
android: Disable trying to read/write to the disk cache.
...
We need the disk cache enabled in Android to get EGL_ANDROID_blob_cache's
callbacks called, but we don't actually want to store anything on disk.
Fixes "Failed to create //.cache for shader cache (Read-only file
system)---disabling." spam on init.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6762 >
2020-09-22 20:41:25 +00:00
Eric Anholt
25b36d900a
mesa: Make the android_stub be a set of non-installed shared libraries.
...
Previously, we included the stubs in our driver binaries, so they didn't
call the actual system libraries for these functions. This was enough to
build-test the Android code in CI without even the NDK.
To make NDK-built Mesa drivers useful, we need to link against these
system libraries that aren't present in the NDK. Split the symbols to
separate non-installed shared libraries and link against those, so that
when you drop the resulting .so in your /vendor/lib64/hw/, it just works
out.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6805 >
2020-09-22 17:09:22 +00:00
Marek Olšák
283686ad67
amd: add VanGogh support
...
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6820 >
2020-09-22 16:50:07 +00:00
Marek Olšák
d7495bd123
amd: add Dimgrey Cavefish support
...
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6820 >
2020-09-22 16:50:07 +00:00
Marek Olšák
40a50e9398
radeonsi: remove KILL_PS_INF_INTERP/CLAMP_DIV_BY_ZERO, use screen::options
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6810 >
2020-09-22 15:58:51 +00:00
Marek Olšák
98188409d1
radeonsi: move debug options from si_disk_cache_create to si_get_ir_cache_key
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6810 >
2020-09-22 15:58:51 +00:00
Marek Olšák
cd12fcff96
radeonsi: set TRUNC_COORD=0 for Total War: WARHAMMER to fix it
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3233
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6810 >
2020-09-22 15:58:51 +00:00
Michel Dänzer
a1f46d7b69
ci: Use ignore_scheduled_pipelines anchor in .radeonsi-rules
...
Without this, scheduled pipelines erroneously tried to create jobs using
this template, which can't work, because their dependency jobs don't
exist in scheduled pipelines. Unfortunately, this resulted in scheduled
pipelines not running silently, without any direct feedback about what's
wrong (see https://gitlab.com/gitlab-org/gitlab/-/issues/25490 ).
Fixes: 6c8b921572
"ci: Build kernels and rootfs for x86 devices"
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6802 >
2020-09-22 15:08:52 +00:00
Connor Abbott
e781cc7025
tu: Expose shaderStorageImage*WithoutFormat
...
We don't use the format anymore in the backend, except determining the
number of components, and we fallback to 4 there if it's not specified.
So we should be safe to enable this.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6800 >
2020-09-22 14:54:40 +00:00
Connor Abbott
37054a3ef5
ir3: Don't use the format to get the image type
...
Use the sampler type instead, which was recently plumbed through core
NIR, for load/store and the right type for atomics. This removes the
last hard dependency on the image format.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6800 >
2020-09-22 14:54:40 +00:00