mesa.git
18 months agofreedreno/ir3: Avoid {0} initializer for struct reginfo
Kristian H. Kristensen [Fri, 22 May 2020 21:30:54 +0000 (14:30 -0700)]
freedreno/ir3: Avoid {0} initializer for struct reginfo

First element is not a scalar.  Just initialize the struct like we do
elsewhere.

src/freedreno/ir3/disasm-a3xx.c:958:33: warning: suggest braces around
initialization of subobject [-Wmissing-braces]

Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5174>

18 months agoturnip: Use {} initializer to silence warning
Kristian H. Kristensen [Fri, 22 May 2020 21:00:38 +0000 (14:00 -0700)]
turnip: Use {} initializer to silence warning

We're already using the {} syntax elsewhere in turnip.

src/freedreno/vulkan/tu_formats.c:828:71: warning: suggest braces
around initialization of subobject [-Wmissing-braces]

Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5174>

18 months agoturnip: Use tu6_reduction_mode() to avoid warning
Kristian H. Kristensen [Fri, 22 May 2020 20:57:53 +0000 (13:57 -0700)]
turnip: Use tu6_reduction_mode() to avoid warning

This makes it a little more explicit that the values line up.

src/freedreno/vulkan/tu_device.c:2209:75: warning: implicit conversion
from enumeration type 'const VkSamplerReductionMode' (aka 'const enum
VkSamplerReductionMode') to different enumeration type 'enum
a6xx_reduction_mode' [-Wenum-conversion]

Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5174>

18 months agoturnip: Use hw enum when emitting A6XX_RB_STENCIL_CONTROL
Kristian H. Kristensen [Fri, 22 May 2020 20:56:13 +0000 (13:56 -0700)]
turnip: Use hw enum when emitting A6XX_RB_STENCIL_CONTROL

We're hard-coding this value, so let's use the hw enum and avoid a
warning.

src/freedreno/vulkan/tu_clear_blit.c:2091:19: warning: implicit
conversion from enumeration type 'enum VkStencilOp' to different
enumeration type 'enum adreno_stencil_op' [-Wenum-conversion]

Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5174>

18 months agofreedreno/gmem: split out helper to calc # of bins
Rob Clark [Sat, 23 May 2020 19:42:00 +0000 (12:42 -0700)]
freedreno/gmem: split out helper to calc # of bins

Gets the `nbins_x`/`y` local vars out of the main layout function,
to prevent any confusion like what was fixed in the previous patch
from sneaking back in.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5189>

18 months agofreedreno/gmem: fix nbins_x/y mismatch
Rob Clark [Sat, 23 May 2020 19:27:17 +0000 (12:27 -0700)]
freedreno/gmem: fix nbins_x/y mismatch

`layout_gmem()` recalculates the # of bins in x/y dimensions after
aligning the bin width/height to required dimensions.  Because of this,
the resulting gmem config could have fewer bins in either dimension.
But the tile/bin layout and the pipe assignment logic were still using
the original values.  Which could result in extraneous bins with a
width and/or height of zero.

Because the gmem rendering code uses `gmem->bin_w`/`h` to determine
the number of bins, this could result in some zero size bins being
executed, while later valid bins are skipped.  Which can leave un-
rendered portions of the screen (generally lower-right).

To fix this, be sure to use `gmem->bin_w`/`h` rather than the local
variables.

Fixes: 1bd38746d5a ("freedreno/gmem: rework gmem layout algo")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5189>

18 months agofreedreno/gmem: add some asserts
Rob Clark [Sat, 23 May 2020 19:21:20 +0000 (12:21 -0700)]
freedreno/gmem: add some asserts

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5189>

18 months agofreedreno/gmemtool: add verbose mode
Rob Clark [Sat, 23 May 2020 19:03:14 +0000 (12:03 -0700)]
freedreno/gmemtool: add verbose mode

And real getopt arg parsing.. now that we have one.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5189>

18 months agofreedreno/gmemtool: add a405
Rob Clark [Sat, 23 May 2020 18:52:29 +0000 (11:52 -0700)]
freedreno/gmemtool: add a405

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5189>

18 months agofreedreno/gmemtool: make GMEM alignment per-gen
Rob Clark [Sat, 23 May 2020 18:50:14 +0000 (11:50 -0700)]
freedreno/gmemtool: make GMEM alignment per-gen

`gmem_page_align` is generation specific (with the exception of a2xx
which has a different value for fast-clear).  So we should override the
value from the captured gmem_key according to the gpu we are emulating
for the purposes of calculating gmem config.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5189>

18 months agofreedreno/gmem: make noscis debug actually do something on a6xx
Rob Clark [Fri, 22 May 2020 19:28:38 +0000 (12:28 -0700)]
freedreno/gmem: make noscis debug actually do something on a6xx

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5188>

18 months agofreedreno: handle PIPE_TRANSFER_MAP_DIRECTLY
Rob Clark [Sat, 23 May 2020 17:56:56 +0000 (10:56 -0700)]
freedreno: handle PIPE_TRANSFER_MAP_DIRECTLY

Just something I noticed in the process of debugging the issue fixed in
the previous commit.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5188>

18 months agofreedreno: clear last_fence after resource tracking
Rob Clark [Sat, 23 May 2020 17:52:52 +0000 (10:52 -0700)]
freedreno: clear last_fence after resource tracking

The resource tracking in the clear/draw_vbo/blit paths could itself
trigger a flush.  Which would update last_fence.  So we need to clear
last_fence *after* all the dependency tracking.

Fixes: ddb7fadaf8b ("freedreno: avoid no-op flushes by re-using last-fence")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2992
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5188>

18 months agofreedreno: add batch debugging
Rob Clark [Sat, 23 May 2020 18:00:40 +0000 (11:00 -0700)]
freedreno: add batch debugging

Something I cooked up in the process of debugging the issue fixed in the
next commit.  Might come in useful again in the future.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5188>

18 months agonir: fix lowering to scratch with boolean access
Rhys Perry [Tue, 26 May 2020 17:08:17 +0000 (18:08 +0100)]
nir: fix lowering to scratch with boolean access

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Fixes: 18ed82b084c79bf63666f2da22e5d675fb01aa26
   ('nir: Add a pass for selectively lowering variables to scratch space')

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

18 months agofreedreno: Use explicit *_NONE enum for undefined formats
Kristian H. Kristensen [Fri, 22 May 2020 20:36:38 +0000 (13:36 -0700)]
freedreno: Use explicit *_NONE enum for undefined formats

This adds RB, VFMT and TFMT NONE values for a3xx-a5xx and FMT6_NONE
for a6xx.  Use those values instead of open coded (enum xxx) ~0 or
sometimes even ~0, which triggers out-of-enum range warnings.

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

18 months agofreedreno/ir3: Use RESINFO for a6xx image size queries.
Eric Anholt [Tue, 21 Jan 2020 22:36:32 +0000 (14:36 -0800)]
freedreno/ir3: Use RESINFO for a6xx image size queries.

The closed GL driver uses resinfo on images with the writeonly flag (using
the texture-path's getsize only for readonly images).  The closed vulkan
driver seems to use resinfo regardless.  Using resinfo doesn't need any
fixups after the instruction.  It also avoids one of the needs for the
TEX_CONST state for the image, which is awkward to set up in the GL
driver.

The new handler goes into ir3_a6xx to be next to the other current image
code, but the a4xx version is left in place because it wants a bunch of
sampler helpers.

Fixes assertion failure in dEQP-VK.image.image_size.buffer.readonly_32.

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

18 months agofreedreno/ir3: Move handle_bindless_cat6 to compiler_nir and reuse.
Eric Anholt [Wed, 20 May 2020 21:00:33 +0000 (14:00 -0700)]
freedreno/ir3: Move handle_bindless_cat6 to compiler_nir and reuse.

There was an open coded version for ldc, and now we can drop that.  I
needed to do it for resinfo as well.

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

18 months agofreedreno/ir3: Refactor out IBO source references.
Eric Anholt [Wed, 20 May 2020 20:40:29 +0000 (13:40 -0700)]
freedreno/ir3: Refactor out IBO source references.

All the users of the unsigned result just wanted an ir3_instruction to
reference.  Move a6xx's helpers to ir3_image.c and inline the old unsigned
results version.

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

18 months agofreedreno: Set the immediate flag in a4/a5xx resinfos.
Eric Anholt [Wed, 20 May 2020 22:29:14 +0000 (15:29 -0700)]
freedreno: Set the immediate flag in a4/a5xx resinfos.

Noticed comparing our RESINFO asm to qcom's for the same test, and if I
drop this bit their disasm switches from immediate to reg.  ldgb seems to
have the same behavior.

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

18 months agofreedreno: Fix resinfo asm, which doesn't have srcs besides IBO number.
Eric Anholt [Wed, 20 May 2020 20:25:32 +0000 (13:25 -0700)]
freedreno: Fix resinfo asm, which doesn't have srcs besides IBO number.

In the process, clarify what's going on with the LDC/LDIB case.

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

18 months agofreedreno: Add more resinfo/ldgb testcases.
Eric Anholt [Wed, 20 May 2020 20:21:44 +0000 (13:21 -0700)]
freedreno: Add more resinfo/ldgb testcases.

Since I'm going to start using the resinfo opcode, make sure we can disasm
the blob's instances of it that I've found.  And, since resinfo disasm
will impact ldgb on pre-a6xx, include some of those too.

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

18 months agofreedreno: Fix printing of unused src in disasm of cat6 RESINFO.
Eric Anholt [Wed, 20 May 2020 20:16:41 +0000 (13:16 -0700)]
freedreno: Fix printing of unused src in disasm of cat6 RESINFO.

Compare to QC's disasm right next to ours, and we clearly had an extra src
that wouldn't make sense.

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

18 months agofreedreno/a6xx: Fix the size of buffer image views.
Eric Anholt [Tue, 21 Jan 2020 23:16:56 +0000 (15:16 -0800)]
freedreno/a6xx: Fix the size of buffer image views.

We were using the size of the underlying buffer (in R8 elements), while we
need to be using the size of the image view (which may be a subset of the
underlying buffer, and may be in a different format from R8).

This fix means less dereferencing off of the end of shader image views for
buffer images, but more importantly is needed to get the right answer from
resinfo if we are to switch to that.

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

18 months agotu: Add missing storage image/texel buffer bits
Connor Abbott [Tue, 19 May 2020 15:37:26 +0000 (17:37 +0200)]
tu: Add missing storage image/texel buffer bits

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

18 months agotu: Respect VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT
Connor Abbott [Wed, 20 May 2020 12:41:48 +0000 (14:41 +0200)]
tu: Respect VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT

This came up with some image tests that are enabled by the next commit.

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

18 months agotu: Fix IBO descriptor for cubes
Connor Abbott [Wed, 20 May 2020 09:24:28 +0000 (11:24 +0200)]
tu: Fix IBO descriptor for cubes

They act the same as 2D arrays when used as storage images, and we're
supposed to override the IBO descriptor to reflect this.

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

18 months agoglsl: cleanup vertex shader input checks
Marcin Ślusarz [Wed, 20 May 2020 19:30:29 +0000 (21:30 +0200)]
glsl: cleanup vertex shader input checks

Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5133>

18 months agoglsl_to_tgsi: add fallthrough comments
Marcin Ślusarz [Wed, 20 May 2020 19:29:15 +0000 (21:29 +0200)]
glsl_to_tgsi: add fallthrough comments

All those cases are supposed to hit an assert in ir_binop_bit_or case.

Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5133>

18 months agoradeonsi/gfx10: implement most performance counters
Marek Olšák [Fri, 22 May 2020 12:30:31 +0000 (08:30 -0400)]
radeonsi/gfx10: implement most performance counters

PAL has all of them.

GE perf counters don't work - no idea why.
I only tested the few that I like to use.

There is no documentation, though most of the enums had already been
in the headers.

Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5184>

18 months agoamd: replace SH -> SA (shader array) in comments
Marek Olšák [Fri, 22 May 2020 12:05:25 +0000 (08:05 -0400)]
amd: replace SH -> SA (shader array) in comments

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5184>

18 months agoac/gpu_info: replace num_good_cu_per_sh with min/max_good_cu_per_sa
Marek Olšák [Fri, 22 May 2020 12:04:07 +0000 (08:04 -0400)]
ac/gpu_info: replace num_good_cu_per_sh with min/max_good_cu_per_sa

Perf counters use the new max number.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5184>

18 months agoradeonsi: don't hardcode most perf counter block counts
Marek Olšák [Fri, 22 May 2020 10:09:39 +0000 (06:09 -0400)]
radeonsi: don't hardcode most perf counter block counts

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5184>

18 months agodocs/features: mark GL_ARB_texture_multisample as done for zink
Erik Faye-Lund [Fri, 22 May 2020 10:37:37 +0000 (12:37 +0200)]
docs/features: mark GL_ARB_texture_multisample as done for zink

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

18 months agozink: expose PIPE_CAP_TEXTURE_MULTISAMPLE
Erik Faye-Lund [Mon, 3 Feb 2020 16:41:18 +0000 (17:41 +0100)]
zink: expose PIPE_CAP_TEXTURE_MULTISAMPLE

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

18 months agozink: implement nir_texop_txf_ms
Erik Faye-Lund [Mon, 3 Feb 2020 16:39:37 +0000 (17:39 +0100)]
zink: implement nir_texop_txf_ms

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

18 months agor600/sfn: remove debug output leftover
Gert Wollny [Sat, 23 May 2020 17:07:08 +0000 (19:07 +0200)]
r600/sfn: remove debug output leftover

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

18 months agor600/sfn: Correctly update the number of literals when forcing a new
Gert Wollny [Sat, 23 May 2020 16:28:05 +0000 (18:28 +0200)]
r600/sfn: Correctly update the number of literals when forcing a new
group

When forcing a new instruction group by adding a ALU_OP_NOP, the
literals for the instruction that triggered this must be taken into
account for the next group, so update the number of literals
accordingly.

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

18 months agor600/sfn: use modern c++ in printing LDS read instruction
Gert Wollny [Sat, 23 May 2020 16:04:35 +0000 (18:04 +0200)]
r600/sfn: use modern c++ in printing LDS read instruction

Closes #3021

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

18 months agor600/sfn: Fix mapping for f32tof64 and f64tof32
Gert Wollny [Sat, 23 May 2020 15:55:50 +0000 (17:55 +0200)]
r600/sfn: Fix mapping for f32tof64 and f64tof32

We define the mapping based on the vector unit opcode.

Closes #3013

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

18 months agor600: Fix duplicated subexpression in r600_asm.c
Gert Wollny [Sat, 23 May 2020 15:43:50 +0000 (17:43 +0200)]
r600: Fix duplicated subexpression in r600_asm.c

Fixes: 4422ce1b04c117f61394a6834cd7933f06ce4e1f
    r600: force new CF with TEX only if any texture value is written

Closes #3012

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

18 months agofreedreno/drm: disallow exported buffers in bo cache
Rob Clark [Tue, 19 May 2020 15:27:04 +0000 (08:27 -0700)]
freedreno/drm: disallow exported buffers in bo cache

Otherwise we can MADVISE(WONTNEED) a bo that someone else is still
using.  We already handled that in the dma-buf and flink-name export
paths.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5204>

18 months agor600/sfn: Use correct setter method.
Vinson Lee [Mon, 25 May 2020 00:18:04 +0000 (17:18 -0700)]
r600/sfn: Use correct setter method.

Fix warning reported by Coverity Scan.

Useless call (USELESS_CALL)
side_effect_free: Calling v->pin_to_channel() is only useful for its
return value, which is ignored.

Fixes: 5d10e3ec6066 ("r600/nir: Pin interpolation results to channel")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5197>

18 months agozink: pass batch instead of context for queries
Erik Faye-Lund [Thu, 21 May 2020 10:25:26 +0000 (12:25 +0200)]
zink: pass batch instead of context for queries

This makes things a bit more consistent IMO.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5141>

18 months agozink: do not dig into resource for nr_samples
Erik Faye-Lund [Wed, 20 May 2020 12:48:02 +0000 (14:48 +0200)]
zink: do not dig into resource for nr_samples

The pipe_surface also know this, so no point in digging so deep.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5141>

18 months agozink: use samples from state
Erik Faye-Lund [Wed, 20 May 2020 12:39:35 +0000 (14:39 +0200)]
zink: use samples from state

There's no reason to compute this, when it's already passed in.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5141>

18 months agonir: Add un/pack_32_4x8 opcodes
Alyssa Rosenzweig [Wed, 13 May 2020 17:51:06 +0000 (13:51 -0400)]
nir: Add un/pack_32_4x8 opcodes

Complement the existing un/pack_32_2x16 opcodes. These are useful for
8-bit format packing. On Midgard, they are equivalent to just a 32-bit
move, but other GPUs could lower to other packs if needed.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5107>

18 months agoutil: delete fnv1a hash function
Dmitriy Nester [Thu, 27 Feb 2020 13:42:21 +0000 (15:42 +0200)]
util: delete fnv1a hash function

xxhash is faster than fnv1a in almost all circumstances, so we're
switching to it globally.

Signed-off-by: Dmytro Nester <dmytro.nester@globallogic.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2405
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4020>

18 months agozink: replace fnv1a hash function with xxhash
Dmitriy Nester [Thu, 27 Feb 2020 13:38:45 +0000 (15:38 +0200)]
zink: replace fnv1a hash function with xxhash

xxhash is faster than fnv1a in almost all circumstances, so we're
switching to it globally.

Signed-off-by: Dmytro Nester <dmytro.nester@globallogic.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4020>

18 months agor600: replace fnv1a hash function with xxhash
Dmitriy Nester [Thu, 27 Feb 2020 13:37:00 +0000 (15:37 +0200)]
r600: replace fnv1a hash function with xxhash

xxhash is faster than fnv1a in almost all circumstances, so we're
switching to it globally.

Signed-off-by: Dmytro Nester <dmytro.nester@globallogic.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4020>

18 months agoutil/hash_table: replace fnv1a hash function with xxhash
Dmitriy Nester [Thu, 27 Feb 2020 13:17:45 +0000 (15:17 +0200)]
util/hash_table: replace fnv1a hash function with xxhash

xxhash is faster than fnv1a in almost all circumstances, so we're
switching to it globally.

Signed-off-by: Dmytro Nester <dmytro.nester@globallogic.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4020>

18 months agoi965: replace fnv1a hash function with xxhash
Dmitriy Nester [Thu, 27 Feb 2020 13:28:50 +0000 (15:28 +0200)]
i965: replace fnv1a hash function with xxhash

xxhash is faster than fnv1a in almost all circumstances, so we're
switching to it globally.

Signed-off-by: Dmytro Nester <dmytro.nester@globallogic.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4020>

18 months agofreedreno: replace fnv1a hash function with xxhash
Dmitriy Nester [Thu, 27 Feb 2020 13:27:17 +0000 (15:27 +0200)]
freedreno: replace fnv1a hash function with xxhash

xxhash is faster than fnv1a in almost all circumstances, so we're
switching to it globally.

Signed-off-by: Dmytro Nester <dmytro.nester@globallogic.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4020>

18 months agonir: replace fnv1a hash function with xxhash
Dmitriy Nester [Thu, 27 Feb 2020 13:04:25 +0000 (15:04 +0200)]
nir: replace fnv1a hash function with xxhash

xxhash is faster than fnv1a in almost all circumstances, so we're
switching to it globally.

Signed-off-by: Dmytro Nester <dmytro.nester@globallogic.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4020>

18 months agopanfrost: Only run batch debug when specifically asked
Alyssa Rosenzweig [Sat, 23 May 2020 01:49:06 +0000 (21:49 -0400)]
panfrost: Only run batch debug when specifically asked

It's expensive and in a hot path; even for general debug builds we won't
need this, only if we're specifically hacking on batch code.

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

18 months agopanfrost: Add debug print before query flushes
Alyssa Rosenzweig [Sat, 23 May 2020 01:35:47 +0000 (21:35 -0400)]
panfrost: Add debug print before query flushes

Just so we know if they're happening.

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

18 months agoradv: Implement vkGetSwapchainGrallocUsage2ANDROID.
Bas Nieuwenhuizen [Mon, 25 May 2020 01:58:16 +0000 (03:58 +0200)]
radv: Implement vkGetSwapchainGrallocUsage2ANDROID.

This was implemented in version 6 of the VK_ANDROID_native_buffer
extension and we only implement version 5. However, the Android
Vulkan loader only checks whether vkGetInstanceProcAddr for the
function is not NULL.

This all went wrong when we switched to the layer code from ANV.
Because the function may now be different per device, it adds fallback
functions that dispatch to the dispatch table. So if we didn't implement
the function we still returned a pointer to the dispatch function,
which made the Android Vulkan loader believe it was supported.

Dispatch functions:
https://gitlab.freedesktop.org/mesa/mesa/-/blob/d555794f3032594dbef3623052103900138d2356/src/amd/vulkan/radv_entrypoints_gen.py#L328

Fixes: d555794f303 "radv: update entrypoints generation from ANV"
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2936
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5198>

18 months agoEGL: sync headers with Khronos
Simon Ser [Thu, 7 May 2020 19:49:25 +0000 (21:49 +0200)]
EGL: sync headers with Khronos

Taken from EGL-Registry commit 90b78b0662e2f0548cfd1926fb77bf628933541b.

With this update EGL_WL_bind_wayland_display and
EGL_WL_create_wayland_buffer_from_image are now in the registry, so we
don't need to define them in eglmesaext.h anymore.

The eglSwapBufferWithDamage* functions now take a const rects argument.
The eglapi.c function signature is updated accordingly.

Signed-off-by: Simon Ser <contact@emersion.fr>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4953>

18 months agost/mesa: Clear texture's views when texture is removed from Shared->TexObjects
Danylo Piliaiev [Mon, 18 May 2020 17:44:58 +0000 (20:44 +0300)]
st/mesa: Clear texture's views when texture is removed from Shared->TexObjects

If texture is shared between several contexts, calling glDeleteTextures
will remove it from ctx->Shared->TexObjects - which makes impossible for
contexts, when destroyed, to release their views to this texture. Which
leaves dangling pointers to destroyed contexts.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2960
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5106>

18 months agoradv: Do not close fd -1 when NULL-winsys creation fails.
Bas Nieuwenhuizen [Sat, 23 May 2020 00:36:03 +0000 (02:36 +0200)]
radv: Do not close fd -1 when NULL-winsys creation fails.

Fixes: cd6ec2b1abb "radv: implement a dummy winsys for creating devices without AMDGPU"
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5181>

18 months agoradv: Remove dead code.
Bas Nieuwenhuizen [Sat, 23 May 2020 00:32:09 +0000 (02:32 +0200)]
radv: Remove dead code.

pool is always non-NULL, and is also accessed before this check
in the function, so remove the pool = NULL case.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5181>

18 months agoradv: Handle failing to create .cache dir.
Bas Nieuwenhuizen [Sat, 23 May 2020 00:26:04 +0000 (02:26 +0200)]
radv: Handle failing to create .cache dir.

Fixes: f4e499ec791 "radv: add initial non-conformant radv vulkan driver"
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5181>

18 months agoradv/winsys: Remove extra sizeof multiply.
Bas Nieuwenhuizen [Sat, 23 May 2020 00:01:44 +0000 (02:01 +0200)]
radv/winsys:  Remove extra sizeof multiply.

The pointer is already uint64_t*, so the sizeof was too much ...

Fixes: eeff7e11544 "radv: Add userspace fence buffer per context."
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5181>

18 months agogitlab-ci: Enable -Werror in `meson-s390x` job
Michel Dänzer [Sat, 23 May 2020 14:07:53 +0000 (16:07 +0200)]
gitlab-ci: Enable -Werror in `meson-s390x` job

It's warning-clean.

v2:
* Prevent -Werror from being enabled in `meson-ppc64le` job as well

Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5185>

18 months agoradv: advertise VK_AMD_texture_gather_bias_lod
Samuel Pitoiset [Tue, 19 May 2020 12:49:10 +0000 (14:49 +0200)]
radv: advertise VK_AMD_texture_gather_bias_lod

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/5147>

18 months agoradv: add support for querying which formats support texture gather LOD
Samuel Pitoiset [Tue, 19 May 2020 13:05:32 +0000 (15:05 +0200)]
radv: add support for querying which formats support texture gather LOD

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/5147>

18 months agoaco: add support for bias/lod with texture gather
Samuel Pitoiset [Wed, 20 May 2020 14:25:28 +0000 (16:25 +0200)]
aco: add support for bias/lod with texture gather

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/5147>

18 months agoac/nir: add support for bias/lod with texture gather
Samuel Pitoiset [Wed, 20 May 2020 13:50:50 +0000 (15:50 +0200)]
ac/nir: add support for bias/lod with texture gather

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/5147>

18 months agospirv: add support for bias/lod with OpImageGather
Samuel Pitoiset [Wed, 20 May 2020 14:24:18 +0000 (16:24 +0200)]
spirv: add support for bias/lod with OpImageGather

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/5147>

18 months agospirv: add SpvCapabilityImageGatherBiasLodAMD
Samuel Pitoiset [Tue, 19 May 2020 12:50:57 +0000 (14:50 +0200)]
spirv: add SpvCapabilityImageGatherBiasLodAMD

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/5147>

18 months agoglsl: subroutine signatures must match exactly
Yevhenii Kolesnikov [Wed, 20 May 2020 16:16:28 +0000 (19:16 +0300)]
glsl: subroutine signatures must match exactly

From GLSL 4.60.7 spec, section 6.1.2 "Subroutines":

It is a compile-time error if arguments and return type don’t match
between the function and each associated subroutine type.

Before, if subroutine type and implementation function were declared
with types, that could be implicitly converted, it led to a runtime crash.

Signed-off-by: Yevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5125>

18 months agoradv: advertise shaderDeviceClock on GFX8+
Samuel Pitoiset [Wed, 20 May 2020 08:02:49 +0000 (10:02 +0200)]
radv: advertise shaderDeviceClock on GFX8+

Unsupported on GFX6-GFX7.

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/5117>

18 months agoac/nir: implement nir_intrinsic_shader_clock with device scope
Samuel Pitoiset [Wed, 20 May 2020 08:07:26 +0000 (10:07 +0200)]
ac/nir: implement nir_intrinsic_shader_clock with device scope

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/5117>

18 months agoac/nir: fix shader clock with subgroup scope
Samuel Pitoiset [Wed, 20 May 2020 07:56:36 +0000 (09:56 +0200)]
ac/nir: fix shader clock with subgroup scope

The compiler should emit s_memtime instead of s_memrealtime for
the subgroup scope. I don't know why this LLVM 9 checks was for
but LLVM 8 also has this amdgcn intrinsic.

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/5117>

18 months agoaco: implement nir_intrinsic_shader_clock with device scope
Samuel Pitoiset [Wed, 20 May 2020 07:55:37 +0000 (09:55 +0200)]
aco: implement nir_intrinsic_shader_clock with device scope

Use s_memrealtime instead.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5117>

18 months agospirv: add ReadClockKHR support with device scope
Samuel Pitoiset [Wed, 20 May 2020 07:54:50 +0000 (09:54 +0200)]
spirv: add ReadClockKHR support with device scope

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/5117>

18 months agoradv: remove useless assignment in build_streamout_vertex()
Samuel Pitoiset [Fri, 22 May 2020 08:09:22 +0000 (10:09 +0200)]
radv: remove useless assignment in build_streamout_vertex()

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3025
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/5158>

18 months agoradv: cleanup physical device features
Samuel Pitoiset [Wed, 20 May 2020 07:07:49 +0000 (09:07 +0200)]
radv: cleanup physical device features

Similar to the physical device properties.

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/5116>

18 months agoradv: do not return from radv_GetPhysicalDeviceFeatures2()
Samuel Pitoiset [Wed, 20 May 2020 06:59:31 +0000 (08:59 +0200)]
radv: do not return from radv_GetPhysicalDeviceFeatures2()

This function returns void.

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/5116>

18 months agor600: Use TRUNC_COORD on samplers
Christopher Egert [Sun, 17 May 2020 17:12:02 +0000 (19:12 +0200)]
r600: Use TRUNC_COORD on samplers

As per d573d1d82524b8a2e5f56938069cabc0f0176a0e the same should be done
here. It seems like TRUNCATE_COORD not available on r600, so this is
limited to evergreen.

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

18 months agopanfrost: Ensure final.no_colour is initialized.
Vinson Lee [Sat, 23 May 2020 01:34:34 +0000 (18:34 -0700)]
panfrost: Ensure final.no_colour is initialized.

Fix warning reported by Coverity Scan.

Uninitialized scalar variable (UNINIT)
uninit_use: Using uninitialized value final. Field final.no_colour is
uninitialized.

Fixes: 3e4e849e6a96 ("panfrost: Disable tib read/write when colourmask = 0x0")
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/5183>

18 months agor600/sfn: Initialize VertexStageExportForGS m_num_clip_dist member variable.
Vinson Lee [Sat, 23 May 2020 00:40:14 +0000 (17:40 -0700)]
r600/sfn: Initialize VertexStageExportForGS m_num_clip_dist member variable.

Fix warning reported by Coverity Scan.

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

Fixes: f7df2c57a207 ("r600/sfn: extract class to handle the VS export to different stages")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5180>

18 months agollvmpipe: Fix variable name.
Vinson Lee [Sat, 23 May 2020 00:08:04 +0000 (17:08 -0700)]
llvmpipe: Fix variable name.

Fix warning reported by Coverity Scan.

Unused value (UNUSED_VALUE)
assigned_value: Assigning value from res->nr_samples to
jit_tex->sample_stride here, but that stored value is overwritten before
it can be used.

Fixes: 2e5cddacf7fb ("llvmpipe: add num_samples/sample_stride support to jit textures")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3022
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5179>

18 months agodocs: drop no-longer-relevant comment about bugzilla
Eric Engestrom [Fri, 22 May 2020 19:20:19 +0000 (21:20 +0200)]
docs: drop no-longer-relevant comment about bugzilla

Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5172>

18 months agotree-wide: fix deprecated GitLab URLs
Eric Engestrom [Tue, 19 May 2020 23:02:52 +0000 (01:02 +0200)]
tree-wide: fix deprecated GitLab URLs

They will stop working in the next GitLab release, so let's update them
ASAP to make sure things are propagated to everyone by then.

See:
https://about.gitlab.com/releases/2020/05/06/gitlab-com-13-0-breaking-changes/#removal-of-deprecated-project-paths

Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5111>

18 months agoradeonsi/gfx8: enable TC-compatible HTILE from the beginning as before
Marek Olšák [Tue, 19 May 2020 23:30:54 +0000 (19:30 -0400)]
radeonsi/gfx8: enable TC-compatible HTILE from the beginning as before

Fixes: 0d83e7f4b98 - radeonsi: enable TC-compatible HTILE on demand for best Z/S performance
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2921
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2967
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5095>

18 months agoradeonsi: don't enable TC-compatible HTILE for stencil if stencil doesn't use it
Marek Olšák [Tue, 19 May 2020 23:29:21 +0000 (19:29 -0400)]
radeonsi: don't enable TC-compatible HTILE for stencil if stencil doesn't use it

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

18 months agoradeonsi: split si_all_descriptors_begin_new_cs and rename functions
Marek Olšák [Fri, 13 Mar 2020 23:28:58 +0000 (19:28 -0400)]
radeonsi: split si_all_descriptors_begin_new_cs and rename functions

A future commit will extend it.

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

18 months agoradeonsi: move resetting tracked registers into a new function
Marek Olšák [Tue, 10 Mar 2020 22:40:44 +0000 (18:40 -0400)]
radeonsi: move resetting tracked registers into a new function

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

18 months agoac: update register and packet definitions for preemption
Marek Olšák [Wed, 5 Feb 2020 21:55:41 +0000 (16:55 -0500)]
ac: update register and packet definitions for preemption

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

18 months agoRevert "radeonsi: don't wait for idle at the end of gfx IBs"
Marek Olšák [Tue, 19 May 2020 22:31:55 +0000 (18:31 -0400)]
Revert "radeonsi: don't wait for idle at the end of gfx IBs"

This reverts commit 266fec1307b26a544007423582afd8618791893c.

The kernel doesn't wait for idle as part of implicit sync.

Fixes: 266fec1307b26a544007423582afd8618791893c
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2950
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5095>

18 months agoradeonsi: decrease the max GS invocation count to 32
Marek Olšák [Tue, 19 May 2020 01:55:06 +0000 (21:55 -0400)]
radeonsi: decrease the max GS invocation count to 32

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5095>

18 months agoradeonsi: don't use INDIRECT_BUFFER within IBs
Marek Olšák [Tue, 19 May 2020 03:14:03 +0000 (23:14 -0400)]
radeonsi: don't use INDIRECT_BUFFER within IBs

It's fragile. If I change the size or alignment, it hangs. Better safe than
sorry.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5095>

18 months agoac/surface: don't compute single-sample CMASK if it's unaligned
Marek Olšák [Tue, 19 May 2020 05:32:38 +0000 (01:32 -0400)]
ac/surface: don't compute single-sample CMASK if it's unaligned

Displayable DCC can cause this and fail the assertion later.

Fixes: cf61f635ff6a38aad344ebe30551eaaac6fec038
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5095>

18 months agoac/gpu_info: compute the best safe IB alignment
Marek Olšák [Sun, 17 May 2020 06:38:02 +0000 (02:38 -0400)]
ac/gpu_info: compute the best safe IB alignment

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5095>

18 months agofreedreno: Use the right amount of &'s
Kristian H. Kristensen [Fri, 22 May 2020 22:03:55 +0000 (15:03 -0700)]
freedreno: Use the right amount of &'s

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

18 months agofreedreno: Add missing break statement.
Vinson Lee [Fri, 22 May 2020 18:22:19 +0000 (11:22 -0700)]
freedreno: Add missing break statement.

Reported-by: Coverity Scan
Fixes: 5a6beb6a24aa ("freedreno: add adreno 650")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5169>

18 months agonir/copy_prop_vars: Record progress in more places
Jason Ekstrand [Tue, 28 May 2019 19:40:35 +0000 (14:40 -0500)]
nir/copy_prop_vars: Record progress in more places

Fixes: 96c32d7776 "nir/copy_prop_vars: handle load/store of vector..."
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5170>

18 months agonir/opt_deref: Report progress if we remove a deref
Jason Ekstrand [Sat, 25 May 2019 04:29:15 +0000 (23:29 -0500)]
nir/opt_deref: Report progress if we remove a deref

Fixes: a1c688517de "nir/opt_deref: Properly optimize ptr_as_array..."
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5170>

18 months agonir/lower_double_ops: Rework the if (progress) tree
Jason Ekstrand [Fri, 24 May 2019 14:05:32 +0000 (09:05 -0500)]
nir/lower_double_ops: Rework the if (progress) tree

Fixes: d7d35a9522 "nir/lower_doubles: Use the new NIR lowering..."
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5170>