platform/upstream/mesa.git
3 years agoradeonsi: move si_upload_vertex_buffer_descriptors into si_state_draw.c
Marek Olšák [Wed, 26 Aug 2020 05:02:46 +0000 (01:02 -0400)]
radeonsi: move si_upload_vertex_buffer_descriptors into si_state_draw.c

It will be inlined there.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6786>

3 years agoradeonsi: reorganize the code around the gfx9 scissor bug
Marek Olšák [Sat, 19 Sep 2020 08:28:55 +0000 (04:28 -0400)]
radeonsi: reorganize the code around the gfx9 scissor bug

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6786>

3 years agoradeonsi: don't call emit_cache_flush after uploading bindless descriptors
Marek Olšák [Sat, 19 Sep 2020 08:00:14 +0000 (04:00 -0400)]
radeonsi: don't call emit_cache_flush after uploading bindless descriptors

The next draw call will do it.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6786>

3 years agoradeonsi: move a displaced comment in si_draw_vbo
Marek Olšák [Sat, 19 Sep 2020 09:29:37 +0000 (05:29 -0400)]
radeonsi: move a displaced comment in si_draw_vbo

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6786>

3 years agoradeonsi: call si_upload_graphics_shader_descriptors before the big conditional
Marek Olšák [Sat, 19 Sep 2020 08:05:22 +0000 (04:05 -0400)]
radeonsi: call si_upload_graphics_shader_descriptors before the big conditional

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6786>

3 years agoradeonsi: use optimal order of operations when setting up a compute dispatch
Marek Olšák [Sat, 19 Sep 2020 17:56:20 +0000 (13:56 -0400)]
radeonsi: use optimal order of operations when setting up a compute dispatch

The order is:
- set registers
- flush caches
- set render condition
- prefetch the shader
- set registers that may be read from memory (indirect draw)
- dispatch

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6786>

3 years agopanfrost: Remove redundant casts of viewport position
Icecream95 [Wed, 23 Sep 2020 07:09:23 +0000 (19:09 +1200)]
panfrost: Remove redundant casts of viewport position

The position is already converted to int when clamping to framebuffer
size.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6840>

3 years agopanfrost: Handle non-positive viewport positions
Icecream95 [Wed, 23 Sep 2020 09:35:03 +0000 (21:35 +1200)]
panfrost: Handle non-positive viewport positions

It's possible for viewport positions to be negative, so add a lower
bound of zero and avoid wraparound when maximum values are zero.

Fixes the menu blur effect in the OpenGL 3.3 render of GZDoom.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6840>

3 years agopanfrost: Clamp uniform buffer size
Icecream95 [Sun, 20 Sep 2020 03:30:45 +0000 (15:30 +1200)]
panfrost: Clamp uniform buffer size

Issue (57) for the ARB_uniform_buffer_object spec states:
    "The uniform buffer could be larger than the amount of uniform
    block(s) data inside it."

This means we need to clamp the uniform buffer size in case it is
bigger than what hardware supports.

Fixes the OpenGL 3.3 renderer of GZDoom.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6835>

3 years agonir: replace lower_ffma and fuse_ffma with has_ffma
Marek Olšák [Thu, 17 Sep 2020 06:02:43 +0000 (02:02 -0400)]
nir: replace lower_ffma and fuse_ffma with has_ffma

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6756>

3 years agoradeonsi: fuse or lower ffma optimally on all chips
Marek Olšák [Thu, 17 Sep 2020 02:06:22 +0000 (22:06 -0400)]
radeonsi: fuse or lower ffma optimally on all chips

LLVM is going to support the legacy instructions soon.

This change switches FMA to MAD for gfx10.

54793 shaders in 33659 tests
Totals:
SGPRS: 2632554 -> 2629570 (-0.11 %)
VGPRS: 1536364 -> 1535312 (-0.07 %)
Spilled SGPRs: 3602 -> 3562 (-1.11 %)
Spilled VGPRs: 44 -> 40 (-9.09 %)
Private memory VGPRs: 256 -> 256 (0.00 %)
Scratch size: 312 -> 308 (-1.28 %) dwords per thread
Code Size: 55422660 -> 55345408 (-0.14 %) bytes
Max Waves: 963983 -> 964200 (0.02 %)

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6756>

3 years agonir: split lower_ffma into lower_ffma16/32/64
Marek Olšák [Thu, 17 Sep 2020 01:48:18 +0000 (21:48 -0400)]
nir: split lower_ffma into lower_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>

3 years agonir: split fuse_ffma into fuse_ffma16/32/64
Marek Olšák [Thu, 17 Sep 2020 01:48:18 +0000 (21:48 -0400)]
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>

3 years agoradeonsi: force linear for textures with height=1 (gfx6-8)
Pierre-Eric Pelloux-Prayer [Fri, 18 Sep 2020 10:25:16 +0000 (12:25 +0200)]
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>

3 years agoradeonsi: add a tweak for PS wave CU utilization for gfx10.3
Marek Olšák [Tue, 22 Sep 2020 17:13:05 +0000 (13:13 -0400)]
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>

3 years agoradeonsi: break a binning batch on a new PS if bins can use multiple state sets
Marek Olšák [Tue, 22 Sep 2020 12:59:56 +0000 (08:59 -0400)]
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>

3 years agoradeonsi: move binning parameters into si_screen
Marek Olšák [Tue, 22 Sep 2020 12:55:50 +0000 (08:55 -0400)]
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>

3 years agoradeonsi: set KEEP_TOGETHER_ENABLE if needed
Marek Olšák [Tue, 22 Sep 2020 12:46:22 +0000 (08:46 -0400)]
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>

3 years agopan/bi: Remove old register mode definitions
Alyssa Rosenzweig [Sun, 20 Sep 2020 20:26:14 +0000 (16:26 -0400)]
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>

3 years agopan/bi: Use canonical register packing
Alyssa Rosenzweig [Sun, 20 Sep 2020 20:24:04 +0000 (16:24 -0400)]
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>

3 years agopan/bi: Rename port -> slot
Alyssa Rosenzweig [Sun, 20 Sep 2020 19:34:38 +0000 (15:34 -0400)]
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>

3 years agopan/bi: Decode all 32-bit register modes
Alyssa Rosenzweig [Sun, 20 Sep 2020 13:53:14 +0000 (09:53 -0400)]
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>

3 years agopan/bi: Pass 'first' through disassembler
Alyssa Rosenzweig [Sun, 20 Sep 2020 13:29:08 +0000 (09:29 -0400)]
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>

3 years agopan/bi: Add bifrost_reg_mode enum
Alyssa Rosenzweig [Sun, 20 Sep 2020 13:22:20 +0000 (09:22 -0400)]
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>

3 years agopan/bi: Disassemble PC-relative addresses
Alyssa Rosenzweig [Sat, 19 Sep 2020 20:28:27 +0000 (16:28 -0400)]
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>

3 years agopan/bi: Decode M values in disasm
Alyssa Rosenzweig [Sat, 19 Sep 2020 20:06:22 +0000 (16:06 -0400)]
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>

3 years agopan/bi: Track M values of disassembled constants
Alyssa Rosenzweig [Sat, 19 Sep 2020 19:20:42 +0000 (15:20 -0400)]
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>

3 years agopan/bi: Inline dump_instr
Alyssa Rosenzweig [Sat, 19 Sep 2020 19:04:02 +0000 (15:04 -0400)]
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>

3 years agopan/bi: Annotate disassemble with format names
Alyssa Rosenzweig [Sat, 19 Sep 2020 18:52:51 +0000 (14:52 -0400)]
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>

3 years agopan/bi: Annotate stop bit (canonically "Z-bit")
Alyssa Rosenzweig [Sat, 19 Sep 2020 18:53:15 +0000 (14:53 -0400)]
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>

3 years agoradv: add a tweak for PS wave CU utilization for gfx10.3
Samuel Pitoiset [Wed, 23 Sep 2020 07:04:39 +0000 (09:04 +0200)]
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>

3 years agoradv: set KEEP_TOGETHER_ENABLE if necessary on GFX10+
Samuel Pitoiset [Wed, 23 Sep 2020 07:00:24 +0000 (09:00 +0200)]
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>

3 years agoradeonsi: don't use nir_opt_access
Rhys Perry [Fri, 18 Sep 2020 16:13:59 +0000 (17:13 +0100)]
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>

3 years agost/nir: call nir_opt_access before gl_nir_lower_buffers
Rhys Perry [Fri, 18 Sep 2020 16:12:29 +0000 (17:12 +0100)]
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>

3 years agoradv: Add VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 rendering support.
Bas Nieuwenhuizen [Wed, 23 Sep 2020 00:37:19 +0000 (02:37 +0200)]
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>

3 years agoradv: Simplify radv_is_hw_resolve_pipeline.
Bas Nieuwenhuizen [Wed, 23 Sep 2020 00:31:45 +0000 (02:31 +0200)]
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>

3 years agoradv: Disable NGG on APUs.
Bas Nieuwenhuizen [Wed, 23 Sep 2020 00:20:09 +0000 (02:20 +0200)]
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>

3 years agolima: add natively supported vertex buffer formats
Erico Nunes [Sun, 13 Sep 2020 22:29:03 +0000 (00:29 +0200)]
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>

3 years agoradv: advertise VK_KHR_copy_commands2
Samuel Pitoiset [Tue, 22 Sep 2020 06:46:54 +0000 (08:46 +0200)]
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>

3 years agoradv: add support for CmdResolveImage2KHR()
Samuel Pitoiset [Tue, 22 Sep 2020 08:40:51 +0000 (10:40 +0200)]
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>

3 years agoradv: cleanup selecting the hardware resolve path
Samuel Pitoiset [Tue, 22 Sep 2020 09:24:22 +0000 (11:24 +0200)]
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>

3 years agoradv: add support for CmdCopyImageToBuffer2KHR()
Samuel Pitoiset [Tue, 22 Sep 2020 07:15:20 +0000 (09:15 +0200)]
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>

3 years agoradv: add support for CmdCopyImage2KHR()
Samuel Pitoiset [Tue, 22 Sep 2020 07:06:17 +0000 (09:06 +0200)]
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>

3 years agoradv: add support for CmdCopyBufferToImage2KHR()
Samuel Pitoiset [Tue, 22 Sep 2020 07:02:12 +0000 (09:02 +0200)]
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>

3 years agoradv: add support for CmdCopyBuffer2KHR()
Samuel Pitoiset [Tue, 22 Sep 2020 06:55:38 +0000 (08:55 +0200)]
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>

3 years agoradv: add support for CmdBlitImage2KHR()
Samuel Pitoiset [Tue, 22 Sep 2020 06:46:43 +0000 (08:46 +0200)]
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>

3 years agoradv: add VK_KHR_copy_commands2 but leave it disabled
Samuel Pitoiset [Tue, 22 Sep 2020 09:13:29 +0000 (11:13 +0200)]
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>

3 years agoradv: bump the advertised patch version to 145
Samuel Pitoiset [Tue, 22 Sep 2020 14:59:33 +0000 (16:59 +0200)]
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>

3 years agoradv: remove useless assignment of MAX_API_VERSION
Samuel Pitoiset [Tue, 22 Sep 2020 14:58:43 +0000 (16:58 +0200)]
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>

3 years agogallium/util: add blitter-support for stencil-fallback
Erik Faye-Lund [Wed, 9 Sep 2020 13:07:54 +0000 (15:07 +0200)]
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>

3 years agogallium/util: add shader for stencil-blits
Erik Faye-Lund [Wed, 9 Sep 2020 13:07:00 +0000 (15:07 +0200)]
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>

3 years agonir_lower_system_values: Fix load_global_invocation_id to use base_work_group_id...
Jesse Natalie [Wed, 9 Sep 2020 00:58:12 +0000 (17:58 -0700)]
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>

3 years agoandroid: Disable trying to read/write to the disk cache.
Eric Anholt [Fri, 18 Sep 2020 17:42:52 +0000 (10:42 -0700)]
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>

3 years agomesa: Make the android_stub be a set of non-installed shared libraries.
Eric Anholt [Mon, 21 Sep 2020 21:27:24 +0000 (14:27 -0700)]
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>

3 years agoamd: add VanGogh support
Marek Olšák [Mon, 27 Jul 2020 23:39:50 +0000 (19:39 -0400)]
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>

3 years agoamd: add Dimgrey Cavefish support
Marek Olšák [Tue, 17 Sep 2019 01:41:08 +0000 (21:41 -0400)]
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>

3 years agoradeonsi: remove KILL_PS_INF_INTERP/CLAMP_DIV_BY_ZERO, use screen::options
Marek Olšák [Tue, 22 Sep 2020 06:39:09 +0000 (02:39 -0400)]
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>

3 years agoradeonsi: move debug options from si_disk_cache_create to si_get_ir_cache_key
Marek Olšák [Tue, 22 Sep 2020 06:35:53 +0000 (02:35 -0400)]
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>

3 years agoradeonsi: set TRUNC_COORD=0 for Total War: WARHAMMER to fix it
Marek Olšák [Sun, 19 Jul 2020 12:58:51 +0000 (08:58 -0400)]
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>

3 years agoci: Use ignore_scheduled_pipelines anchor in .radeonsi-rules
Michel Dänzer [Mon, 21 Sep 2020 17:27:51 +0000 (19:27 +0200)]
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: 6c8b921572a5 "ci: Build kernels and rootfs for x86 devices"
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6802>

3 years agotu: Expose shaderStorageImage*WithoutFormat
Connor Abbott [Mon, 21 Sep 2020 12:04:27 +0000 (14:04 +0200)]
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>

3 years agoir3: Don't use the format to get the image type
Connor Abbott [Mon, 21 Sep 2020 11:47:48 +0000 (13:47 +0200)]
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>

3 years agotu: Expose shaderImageGatherExtended
Connor Abbott [Mon, 21 Sep 2020 12:06:22 +0000 (14:06 +0200)]
tu: Expose shaderImageGatherExtended

This just allows textureGather() to have offsets, which we already
supported in ir3.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6800>

3 years agotu: Expose shaderStorageImageExtendedFormats
Connor Abbott [Mon, 21 Sep 2020 11:34:10 +0000 (13:34 +0200)]
tu: Expose shaderStorageImageExtendedFormats

We already supported all the formats on the list, so it's trivial to
enable.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6800>

3 years agor600/sfn: Be a bit more verbose when logging skipped FS outputs
Gert Wollny [Tue, 22 Sep 2020 07:22:20 +0000 (09:22 +0200)]
r600/sfn: Be a bit more verbose when logging skipped FS outputs

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6814>

3 years agor600/sfn: Acquire the number of FS outputs and the write_all info early
Gert Wollny [Tue, 22 Sep 2020 07:21:53 +0000 (09:21 +0200)]
r600/sfn: Acquire the number of FS outputs and the write_all info early

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6814>

3 years agor600/sfn: Take dual source blending output indices into account
Gert Wollny [Tue, 22 Sep 2020 07:20:41 +0000 (09:20 +0200)]
r600/sfn: Take dual source blending output indices into account

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6814>

3 years agor600/sfn: Handle number of color outputs taking dual source blending into account
Gert Wollny [Tue, 22 Sep 2020 07:19:30 +0000 (09:19 +0200)]
r600/sfn: Handle number of color outputs taking dual source blending into account

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6814>

3 years agor600/sfn: Keep info about dual-source blend in FS
Gert Wollny [Tue, 22 Sep 2020 07:16:23 +0000 (09:16 +0200)]
r600/sfn: Keep info about dual-source blend in FS

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6814>

3 years agor600/sfn: Sort the outputs of the FS according to data index
Gert Wollny [Tue, 22 Sep 2020 07:15:31 +0000 (09:15 +0200)]
r600/sfn: Sort the outputs of the FS according to data index

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6814>

3 years agor600: Add flag for dual-source blending to shader key
Gert Wollny [Tue, 22 Sep 2020 07:13:57 +0000 (09:13 +0200)]
r600: Add flag for dual-source blending to shader key

Otherwise the number of outputs and the output data index can't be
interpreted correctly.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6814>

3 years agor600/sfn: remove a useless if-condition
Gert Wollny [Tue, 22 Sep 2020 07:02:08 +0000 (09:02 +0200)]
r600/sfn: remove a useless if-condition

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6814>

3 years agor600/sfn: run late algebraic optimizations
Gert Wollny [Tue, 22 Sep 2020 07:01:48 +0000 (09:01 +0200)]
r600/sfn: run late algebraic optimizations

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6814>

3 years agor600/sfn: use cnde instead of cnde_int
Gert Wollny [Mon, 21 Sep 2020 18:02:12 +0000 (20:02 +0200)]
r600/sfn: use cnde instead of cnde_int

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6814>

3 years agoetnaviv: fix comment for source of etna_mesa_debug
Michael Tretter [Tue, 8 Sep 2020 13:27:18 +0000 (15:27 +0200)]
etnaviv: fix comment for source of etna_mesa_debug

The file and the environment variables have different names than
described in the comment. Fix the comment to avoid confusion.

Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6661>

3 years agonir: Rename get_buffer_size to get_ssbo_size
Jason Ekstrand [Tue, 22 Sep 2020 08:24:45 +0000 (03:24 -0500)]
nir: Rename get_buffer_size to get_ssbo_size

This makes it explicit that this intrinsic is only for SSBOs.  For the
v3dv driver, we'll be adding a get_ubo_size intrinsic and we want to be
able to distinguish between the two.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6812>

3 years agoaco: stop multiplying driver_location by 4
Rhys Perry [Fri, 18 Sep 2020 12:31:43 +0000 (13:31 +0100)]
aco: stop multiplying driver_location by 4

This didn't really serve any purpose, doesn't match how FS inputs are
currently done, and prevented us from using
nir_io_add_const_offset_to_base in the future.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6689>

3 years agoaco: remove dead indirect fs input loading
Rhys Perry [Fri, 11 Sep 2020 16:23:18 +0000 (17:23 +0100)]
aco: remove dead indirect fs input loading

It's asserted that the visit_load_input code isn't reached. It also didn't
handle divergent indexing and this situation should have been lowered
anyway.

I think this used to be needed to pass a dEQP-VK.glsl.indexing.* test, but
it doesn't seem needed anymore.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6689>

3 years agoaco: use nir's constant source helpers more
Rhys Perry [Fri, 11 Sep 2020 16:22:28 +0000 (17:22 +0100)]
aco: use nir's constant source helpers more

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6689>

3 years agoaco: use nir_get_io_offset_src() in visit_load_input()
Rhys Perry [Fri, 11 Sep 2020 16:17:51 +0000 (17:17 +0100)]
aco: use nir_get_io_offset_src() in visit_load_input()

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6689>

3 years agoaco: use io semantics to get an intrinsic's slot
Rhys Perry [Fri, 11 Sep 2020 14:22:34 +0000 (15:22 +0100)]
aco: use io semantics to get an intrinsic's slot

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6689>

3 years agoaco: Use NIR IO semantics for tess factor IO locations.
Timur Kristóf [Sat, 12 Sep 2020 12:48:52 +0000 (14:48 +0200)]
aco: Use NIR IO semantics for tess factor IO locations.

Previously we relied on looping over the NIR output variables
to remember the driver location of the tess factors, now use
the new NIR IO semantics instead.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6689>

3 years agoanv: implement VK_KHR_copy_commands2
Lionel Landwerlin [Wed, 15 Jul 2020 09:30:49 +0000 (12:30 +0300)]
anv: implement VK_KHR_copy_commands2

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6801>

3 years agovulkan: bump headers/registry to 1.2.154
Lionel Landwerlin [Wed, 15 Jul 2020 08:03:10 +0000 (11:03 +0300)]
vulkan: bump headers/registry to 1.2.154

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6801>

3 years agonir/lower_samplers: Clamp out-of-bounds access to array of samplers
Danylo Piliaiev [Fri, 21 Aug 2020 14:21:14 +0000 (17:21 +0300)]
nir/lower_samplers: Clamp out-of-bounds access to array of samplers

Section 5.11 (Out-of-Bounds Accesses) of the GLSL 4.60 spec says:

"In the subsections described above for array, vector, matrix and
 structure accesses, any out-of-bounds access produced undefined
 behavior.... Out-of-bounds reads return undefined values, which
 include values from other variables of the active program or zero."

Robustness extensions suggest to return zero on out-of-bounds
accesses, however it's not applicable to the arrays of samplers,
so just clamp the index.

Otherwise instr->sampler_index or instr->texture_index would be out
of bounds, and they are used as an index to arrays of driver state.

E.g. this fixes such dereference:
 if (options->lower_tex_packing[tex->sampler_index] !=
in nir_lower_tex.c

CC: <mesa-stable@lists.freedesktop.org>
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6428>

3 years agonir/large_constants: Eliminate out-of-bounds writes to large constants
Danylo Piliaiev [Fri, 21 Aug 2020 13:35:28 +0000 (16:35 +0300)]
nir/large_constants: Eliminate out-of-bounds writes to large constants

Out-of-bounds writes could be eliminated per spec:

Section 5.11 (Out-of-Bounds Accesses) of the GLSL 4.60 spec says:

"In the subsections described above for array, vector, matrix and
 structure accesses, any out-of-bounds access produced undefined
 behavior.... Out-of-bounds writes may be discarded or overwrite
 other variables of the active program."

Fixes: 1235850522cd5e7b07701f7065996430ca1514b6
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6428>

3 years agonir/lower_io: Eliminate oob writes and return zero for oob reads
Danylo Piliaiev [Fri, 21 Aug 2020 10:42:55 +0000 (13:42 +0300)]
nir/lower_io: Eliminate oob writes and return zero for oob reads

Out-of-bounds writes could be eliminated per spec:

Section 5.11 (Out-of-Bounds Accesses) of the GLSL 4.60 spec says:

 "In the subsections described above for array, vector, matrix and
  structure accesses, any out-of-bounds access produced undefined
  behavior....
  Out-of-bounds writes may be discarded or overwrite
  other variables of the active program.
  Out-of-bounds reads return undefined values, which
  include values from other variables of the active program or zero."

GL_KHR_robustness and GL_ARB_robustness encourage us to return zero
for reads.

Otherwise get_io_offset would return out-of-bound offset which may
result in out-of-bound loading/storing of inputs/outputs,
that could cause issues in drivers down the line.

E.g. this fixes such dereference:
 int vue_slot = vue_map->varying_to_slot[intrin->const_index[0]];
in brw_nir.c

CC: <mesa-stable@lists.freedesktop.org>
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6428>

3 years agoradeon: rename RADEON_TRANSFER_* -> RADEON_MAP_*
Marek Olšák [Thu, 6 Aug 2020 16:47:01 +0000 (12:47 -0400)]
radeon: rename RADEON_TRANSFER_* -> RADEON_MAP_*

Acked-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5749>

3 years agogallium: rename transfer flags -> map flags in comments
Marek Olšák [Wed, 1 Jul 2020 12:41:11 +0000 (08:41 -0400)]
gallium: rename transfer flags -> map flags in comments

Acked-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5749>

3 years agogallium: rename pipe_transfer_usage -> pipe_map_flags
Marek Olšák [Wed, 1 Jul 2020 12:21:38 +0000 (08:21 -0400)]
gallium: rename pipe_transfer_usage -> pipe_map_flags

Acked-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5749>

3 years agogallium: rename PIPE_TRANSFER_* -> PIPE_MAP_*
Marek Olšák [Wed, 1 Jul 2020 12:16:12 +0000 (08:16 -0400)]
gallium: rename PIPE_TRANSFER_* -> PIPE_MAP_*

Acked-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5749>

3 years agoradeonsi: add 16-bit ALU vectorization
Marek Olšák [Fri, 24 Jul 2020 20:15:51 +0000 (16:15 -0400)]
radeonsi: add 16-bit ALU vectorization

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6622>

3 years agoradeonsi: don't scalarize 16-bit vec2 ALU opcodes
Marek Olšák [Fri, 24 Jul 2020 20:14:02 +0000 (16:14 -0400)]
radeonsi: don't scalarize 16-bit vec2 ALU opcodes

prerequisite for enabling vectorization, so that we don't scalarize
and vectorize at the same time, causing an infinite loop.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6622>

3 years agoradeonsi: vectorize IO for better ALU vectorization
Marek Olšák [Fri, 24 Jul 2020 20:16:46 +0000 (16:16 -0400)]
radeonsi: vectorize IO for better ALU vectorization

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6622>

3 years agoradeonsi: implement 16-bit FS color outputs
Marek Olšák [Mon, 11 May 2020 06:42:18 +0000 (02:42 -0400)]
radeonsi: implement 16-bit FS color outputs

This removes type conversions from 16 bits to 32 bits in the main function
and then back to 16 bits in the epilog.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6622>

3 years agoradeonsi: set flags for FP16 in shaders
Marek Olšák [Fri, 4 Sep 2020 17:48:30 +0000 (13:48 -0400)]
radeonsi: set flags for FP16 in shaders

v2: remove the enablement code

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> (v1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6622>

3 years agoradeonsi: don't lower pack for better 16-bit vectorization
Marek Olšák [Fri, 4 Sep 2020 10:49:09 +0000 (06:49 -0400)]
radeonsi: don't lower pack for better 16-bit vectorization

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6622>

3 years agoac/nir: implement nir_op_[un]pack_[64/32]_*
Daniel Schürmann [Mon, 31 Aug 2020 16:34:02 +0000 (17:34 +0100)]
ac/nir: implement nir_op_[un]pack_[64/32]_*

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6622>

3 years agoglsl: Initialize ir_constant member const_elements in all constructors.
Vinson Lee [Fri, 18 Sep 2020 00:32:15 +0000 (17:32 -0700)]
glsl: Initialize ir_constant member const_elements in all constructors.

Fix defects reported by Coverity Scan.

Uninitialized pointer field (UNINIT_CTOR)
uninit_member: Non-static class member const_elements is not
initialized in this constructor nor in any functions that it calls.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6770>

3 years agopan/bi: Fix typo.
Vinson Lee [Fri, 18 Sep 2020 22:21:14 +0000 (15:21 -0700)]
pan/bi: Fix typo.

Fix defect reported by Coverity Scan.

Same on both sides (CONSTANT_EXPRESSION_RESULT)
pointless_expression: The expression src0_u8 || src0_u8 does not
accomplish anything because it evaluates to either of its
identical operands, src0_u8.

Fixes: 2ff53879f214 ("pan/bi: Use new packing")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6780>