platform/upstream/mesa.git
3 years agopanfrost: Remove padded unorm blendable formats
Alyssa Rosenzweig [Mon, 19 Apr 2021 19:27:21 +0000 (15:27 -0400)]
panfrost: Remove padded unorm blendable formats

These are used to effectively disable dithering on the tilebuffer, but
we already disable dithering on a per-primitive basis anyway, so don't
bother.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10188>

3 years agopanfrost: Always pick dithered tb formats
Alyssa Rosenzweig [Mon, 12 Apr 2021 16:42:50 +0000 (12:42 -0400)]
panfrost: Always pick dithered tb formats

Matches current logic and simplifies the code considerably.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10188>

3 years agopanfrost: Drop blendable format accessor
Alyssa Rosenzweig [Mon, 12 Apr 2021 15:26:08 +0000 (11:26 -0400)]
panfrost: Drop blendable format accessor

Needless indirection.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10188>

3 years agopanfrost: Simplify format_to_bifrost_blend prototype
Alyssa Rosenzweig [Mon, 12 Apr 2021 15:21:16 +0000 (11:21 -0400)]
panfrost: Simplify format_to_bifrost_blend prototype

Avoids a util_format_description call in a hot path, and drops some
indirection everywhere.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10188>

3 years agopanfrost: Specialize blendable formats for sRGB
Alyssa Rosenzweig [Mon, 12 Apr 2021 15:18:16 +0000 (11:18 -0400)]
panfrost: Specialize blendable formats for sRGB

Avoids the need to go between linear and sRGB pipe formats in the hot
path. We're already reserving the space, may as well use it.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10188>

3 years agopanfrost: Keep Bifrost blendable -> pixel in table
Alyssa Rosenzweig [Mon, 12 Apr 2021 15:10:14 +0000 (11:10 -0400)]
panfrost: Keep Bifrost blendable -> pixel in table

Avoids a layer of indirection in a hot path, at the expense of a greater
memory foot print. (Is this a win?)

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10188>

3 years agoir3: make possible to specify branchstack up to 64
Danylo Piliaiev [Fri, 26 Mar 2021 14:39:12 +0000 (16:39 +0200)]
ir3: make possible to specify branchstack up to 64

On a6xx/a5xx there is such dependency between branchstack bitfield
and the amount of nested ifs, which could be seen with blob:

IFs   BRANCHSTACK
0 0
1 1
2 2
3 2
4 3
5 3
6 4
...
59 30
60 31
61 31
62 32
63 32
64 32

Remove open-coded branchstack for a5xx compute along the way.

Fixes tests:
 dEQP-VK.spirv_assembly.instruction.compute.float16.opvectorshuffle.344
 dEQP-VK.spirv_assembly.instruction.graphics.float16.opvectorshuffle.344_vert
 dEQP-VK.spirv_assembly.instruction.graphics.float16.opvectorshuffle.444_geom
 dEQP-VK.spirv_assembly.instruction.graphics.float16.opvectorshuffle.244_tessc
 dEQP-VK.spirv_assembly.instruction.graphics.float16.opvectorshuffle.344_frag

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9859>

3 years agoir3: do not double threadsize when exceeding branchstack limit
Danylo Piliaiev [Mon, 29 Mar 2021 10:55:46 +0000 (13:55 +0300)]
ir3: do not double threadsize when exceeding branchstack limit

We can't support more than compiler->branchstack_size diverging threads
in a wave. Thus, doubling the threadsize is only possible if we don't
exceed the branchstack size limit.

As of blob version 512.490.0 - it doesn't have this heuristics.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9859>

3 years agointel/batch_decoder: set foreground color of decoded instructions
Marcin Ślusarz [Tue, 20 Apr 2021 08:42:18 +0000 (10:42 +0200)]
intel/batch_decoder: set foreground color of decoded instructions

It's impossible to see the names of instructions if the terminal's
color scheme uses black as foreground. Just set it to white - it
will look good on any color scheme.

Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10341>

3 years agointel/tools: remove unused macros
Marcin Ślusarz [Tue, 20 Apr 2021 08:30:14 +0000 (10:30 +0200)]
intel/tools: remove unused macros

Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10341>

3 years agoaco: add and use Program::progress
Rhys Perry [Tue, 20 Apr 2021 16:35:41 +0000 (17:35 +0100)]
aco: add and use Program::progress

This is used when printing the program and to avoid updating register
demand during post-RA liveness analysis.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10315>

3 years agoaco: allow SDWA sels smaller than the operand size
Rhys Perry [Mon, 19 Apr 2021 10:32:56 +0000 (11:32 +0100)]
aco: allow SDWA sels smaller than the operand size

p_extract_vector copy-propagation can create byte sels for v2b operands.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10315>

3 years agoaco: don't update register demand during RA validation
Rhys Perry [Mon, 19 Apr 2021 10:24:03 +0000 (11:24 +0100)]
aco: don't update register demand during RA validation

It isn't intended to be accurate after RA, so num_waves can become zero,
breaking the sgpr_limit calculation.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10315>

3 years agoradv: allow concurrent MSAA images to be FMASK compressed
Samuel Pitoiset [Mon, 19 Apr 2021 14:39:51 +0000 (16:39 +0200)]
radv: allow concurrent MSAA images to be FMASK compressed

DCC decompress/FMASK expand are supported on compute queues. Since
the driver doesn't perform fast clears with concurrent images, we
don't need to perform a FCE on compute (we can't anyways).

This fixes a performance regression with Control and
VKD3D_CONFIG=multi_queue.

One more optimization (as discussed with Bas) is to implement FCE
on compute to allow fast clears.

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

3 years agoci/broadcom: add EGL testing jobs
Juan A. Suarez Romero [Tue, 20 Apr 2021 14:32:37 +0000 (16:32 +0200)]
ci/broadcom: add EGL testing jobs

Reviewed-by: Eric Anholt <eric@anholt.net
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10352>

3 years agoci/vc4: add KHR-GLES2.* job test
Juan A. Suarez Romero [Tue, 20 Apr 2021 14:32:04 +0000 (16:32 +0200)]
ci/vc4: add KHR-GLES2.* job test

Reviewed-by: Eric Anholt <eric@anholt.net
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10352>

3 years agoci/broadcom: update expected results
Juan A. Suarez Romero [Tue, 20 Apr 2021 07:24:30 +0000 (09:24 +0200)]
ci/broadcom: update expected results

Reviewed-by: Eric Anholt <eric@anholt.net
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10352>

3 years agozink: use undefined layout for first scanout obj transition
Mike Blumenkrantz [Tue, 13 Apr 2021 13:14:15 +0000 (09:14 -0400)]
zink: use undefined layout for first scanout obj transition

doesn't really matter, but technically an error

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10213>

3 years agolibgl-xlib: Add missing dep_x11 dependency
Jeremy Huddleston Sequoia [Tue, 20 Apr 2021 19:12:16 +0000 (12:12 -0700)]
libgl-xlib: Add missing dep_x11 dependency

Cc: 20.3 21.0 21.1 <mesa-stable@lists.freedesktop.org>
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10360>

3 years agolibgl-xlib: Set darwin-versions
Jeremy Huddleston Sequoia [Tue, 20 Apr 2021 19:09:52 +0000 (12:09 -0700)]
libgl-xlib: Set darwin-versions

Cc: 20.3 21.0 21.1 <mesa-stable@lists.freedesktop.org>
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10360>

3 years agovenus: change SpaceBeforeParens style option
Chia-I Wu [Sat, 17 Apr 2021 18:01:17 +0000 (11:01 -0700)]
venus: change SpaceBeforeParens style option

This requires clang-format 11 however.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10326>

3 years agovenus: clang-format clean
Chia-I Wu [Sat, 17 Apr 2021 18:08:56 +0000 (11:08 -0700)]
venus: clang-format clean

Add parentheses to VN_DEBUG to avoid confusing clang-format.

Remove redundant comments, that confuse clang-format, because
VN_USE_WSI_PLATFORM can serve as comments.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10326>

3 years agoturnip: enable shaderInt16
Danylo Piliaiev [Tue, 6 Apr 2021 11:36:47 +0000 (14:36 +0300)]
turnip: enable shaderInt16

We should have everything to enable it.
16b integer division is lowered by nir_lower_idiv.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10054>

3 years agoir3: treat 16b imul as mul.s24
Danylo Piliaiev [Thu, 8 Apr 2021 12:06:21 +0000 (15:06 +0300)]
ir3: treat 16b imul as mul.s24

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10054>

3 years agoir3: handle 16b op_i2b1
Rob Clark [Fri, 17 Jul 2020 21:09:11 +0000 (14:09 -0700)]
ir3: handle 16b op_i2b1

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10054>

3 years agointel: Rename _gen keyword to _gfx_ver in few build files
Anuj Phogat [Wed, 7 Apr 2021 22:33:23 +0000 (15:33 -0700)]
intel: Rename _gen keyword to _gfx_ver in few build files

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename since_gen to since ver
Anuj Phogat [Wed, 7 Apr 2021 22:26:45 +0000 (15:26 -0700)]
intel: Rename since_gen to since ver

export SEARCH_PATH="src/intel src/gallium/drivers/iris src/mesa/drivers/dri/i965
grep -E "since_gen" -rIl $SEARCH_PATH | xargs sed -ie "s/since_gen/since_ver/g"

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename {i965, iris, anv, isl}_gen prefix in build files
Anuj Phogat [Wed, 14 Apr 2021 05:03:32 +0000 (22:03 -0700)]
intel: Rename {i965, iris, anv, isl}_gen prefix in build files

export SEARCH_PATH="src/intel src/gallium/drivers/iris src/mesa/drivers/dri/i965
grep -E "(i965|iris|anv|isl)_gen" -rIl $SEARCH_PATH | xargs sed -ie "s/\(i965\|iris\|anv\|isl\)_gen\([_@]\)/\1_per_hw_ver\2/g"

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename GEN_PART to INTEL_PART
Anuj Phogat [Wed, 7 Apr 2021 21:58:56 +0000 (14:58 -0700)]
intel: Rename GEN_PART to INTEL_PART

export SEARCH_PATH="src/intel src/gallium/drivers/iris src/mesa/drivers/dri/i965
grep -E "GEN_PART" -rIl $SEARCH_PATH | xargs sed -ie "s/GEN_PART/INTEL_PART/g"

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename _gen_{program, part, batch, freq} to _intel_{..}
Anuj Phogat [Mon, 19 Apr 2021 22:56:52 +0000 (15:56 -0700)]
intel: Rename _gen_{program, part, batch, freq} to _intel_{..}

export SEARCH_PATH="src/intel src/gallium/drivers/iris src/mesa/drivers/dri/i965
grep -E "[[:alnum:]]_gen_" -rIl $SEARCH_PATH | xargs sed -ie "s/_gen_\(program\|part\|batch\|freq\)/_intel_\1/g"

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename calculate_gen_slm_size to intel_calculate_slm_size
Anuj Phogat [Mon, 19 Apr 2021 22:54:47 +0000 (15:54 -0700)]
intel: Rename calculate_gen_slm_size to intel_calculate_slm_size

export SEARCH_PATH="src/intel src/gallium/drivers/iris src/mesa/drivers/dri/i965
grep -E "calculate_gen_slm_size" -rIl $SEARCH_PATH | xargs sed -ie "s/calculate_gen_slm_size/intel_calculate_slm_size/g"

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename gen_10 to ver_10
Anuj Phogat [Wed, 14 Apr 2021 04:54:48 +0000 (21:54 -0700)]
intel: Rename gen_10 to ver_10

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename vk_to_gen keyword to vk_to_intel
Anuj Phogat [Mon, 19 Apr 2021 22:50:14 +0000 (15:50 -0700)]
intel: Rename vk_to_gen keyword to vk_to_intel

export SEARCH_PATH="src/intel src/gallium/drivers/iris src/mesa/drivers/dri/i965
grep -E "vk_to_gen" -rIl $SEARCH_PATH | xargs sed -ie "s/vk_to_gen/vk_to_intel/g"

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename isl_to_gen keyword to isl_encode
Anuj Phogat [Mon, 19 Apr 2021 22:47:22 +0000 (15:47 -0700)]
intel: Rename isl_to_gen keyword to isl_encode

export SEARCH_PATH="src/intel src/gallium/drivers/iris src/mesa/drivers/dri/i965
grep -E "isl_to_gen" -rIl $SEARCH_PATH | xargs sed -ie "s/isl_to_gen/isl_encode/g"

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Remove devinfo_to_gen() helper function
Anuj Phogat [Wed, 14 Apr 2021 04:50:42 +0000 (21:50 -0700)]
intel: Remove devinfo_to_gen() helper function

This changes behavior.  Now Baytrail will be decoded with the
gen7.xml instead of the gen75.xml. Haswell is the only graphics
hardware generation 75 and Baytrail is closer to Ivybridge
in most ways. (Kenneth Graunke)

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename gen_{mapped, clflush, invalidate} prefix to intel_{..}
Anuj Phogat [Wed, 7 Apr 2021 20:22:19 +0000 (13:22 -0700)]
intel: Rename gen_{mapped, clflush, invalidate} prefix to intel_{..}

export SEARCH_PATH="src/intel src/gallium/drivers/iris src/mesa/drivers/dri/i965
grep -E "gen_" -rIl $SEARCH_PATH | xargs sed -ie "s/gen_\(mapped\|clflush\|invalidate\|shader\)/intel_\1/g"

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename eu compact instruction tests
Anuj Phogat [Tue, 6 Apr 2021 23:33:30 +0000 (16:33 -0700)]
intel: Rename eu compact instruction tests

grep -E "gen_[[:alnum:]_]{2,}" -rIl src/intel/compiler/test_eu_compact.cpp | xargs sed -ie "s/gen_\([[:alnum:]_]\{2,\}\)/test_\1/g"

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename index_gen keyword to index_ver
Anuj Phogat [Tue, 6 Apr 2021 21:38:37 +0000 (14:38 -0700)]
intel: Rename index_gen keyword to index_ver

grep -E "index_gen" -rIl src/intel/compiler | xargs sed -ie "s/index_gen/index_ver/g"

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename gens keyword to gfx_vers
Anuj Phogat [Tue, 6 Apr 2021 21:35:53 +0000 (14:35 -0700)]
intel: Rename gens keyword to gfx_vers

export SEARCH_PATH="src/intel src/gallium/drivers/iris src/mesa/drivers/dri/i965
grep -E "gens" -rIl src/intel/compiler | xargs sed -ie "s/gens/gfx_vers/g"
Exclude changes to few comments.

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename gen keyword in test_eu_validate.cpp
Anuj Phogat [Wed, 7 Apr 2021 21:33:08 +0000 (14:33 -0700)]
intel: Rename gen keyword in test_eu_validate.cpp

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename gen enum to gfx_ver
Anuj Phogat [Tue, 6 Apr 2021 17:33:24 +0000 (10:33 -0700)]
intel: Rename gen enum to gfx_ver

export SEARCH_PATH="src/intel src/gallium/drivers/iris src/mesa/drivers/dri/i965
grep -E "gen_from_devinfo" -rIl $SEARCH_PATH | xargs sed -ie "s/gen_from_devinfo/gfx_ver_from_devinfo/g"

Few manual changes.

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename brw_gen_enum.h to brw_gfx_ver_enum.h
Anuj Phogat [Tue, 6 Apr 2021 17:25:46 +0000 (10:25 -0700)]
intel: Rename brw_gen_enum.h to brw_gfx_ver_enum.h

export SEARCH_PATH="src/intel src/gallium/drivers/iris src/mesa/drivers/dri/i965
grep -E "brw_gen_enum" -rIl $SEARCH_PATH | xargs sed -ie "s/brw_gen_enum\.h/brw_gfx_ver_enum\.h/g"

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename gen_{pipeline, oa, counter, hw} to intel_{..}
Anuj Phogat [Wed, 7 Apr 2021 19:52:05 +0000 (12:52 -0700)]
intel: Rename gen_{pipeline, oa, counter, hw} to intel_{..}

export SEARCH_PATH="src/intel src/gallium/drivers/iris src/mesa/drivers/dri/i965
grep -E "gen_" -rIl $SEARCH_PATH | xargs sed -ie "s/gen_\(pipeline\|oa\|counter\|hw\)/intel_\1/g"

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename GEN_PERF prefix to INTEL_PERF in source files
Anuj Phogat [Tue, 6 Apr 2021 20:35:43 +0000 (13:35 -0700)]
intel: Rename GEN_PERF prefix to INTEL_PERF in source files

export': export SEARCH_PATH="src/intel src/gallium/drivers/iris src/mesa/drivers/dri/i965
grep -E "GEN_PERF" -rIl $SEARCH_PATH | xargs sed -ie "s/GEN_PERF/INTEL_PERF/g"

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename GEN_PERF prefix to INTEL_PERF in build files
Anuj Phogat [Tue, 6 Apr 2021 17:08:41 +0000 (10:08 -0700)]
intel: Rename GEN_PERF prefix to INTEL_PERF in build files

export': export SEARCH_PATH="src/intel src/gallium/drivers/iris src/mesa/drivers/dri/i965
grep -E "GEN_PERF[A-Z_]*_FILES" -rIl $SEARCH_PATH | xargs sed -ie "s/GEN_PERF\([A-Z_]*_FILES\)/INTEL_PERF\1/g"

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Fix alignment and line wrapping due to gen_perf renaming
Anuj Phogat [Tue, 13 Apr 2021 17:31:52 +0000 (10:31 -0700)]
intel: Fix alignment and line wrapping due to gen_perf renaming

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename gen_perf prefix to intel_perf in source files
Anuj Phogat [Tue, 6 Apr 2021 20:32:02 +0000 (13:32 -0700)]
intel: Rename gen_perf prefix to intel_perf in source files

export SEARCH_PATH="src/intel src/gallium/drivers/iris src/mesa/drivers/dri/i965
grep -E "gen_perf" -rIl $SEARCH_PATH | xargs sed -ie "s/gen_perf\([^\.]\)/intel_perf\1/g"

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename gen_perf prefix in filenames to intel_perf
Anuj Phogat [Tue, 6 Apr 2021 00:24:14 +0000 (17:24 -0700)]
intel: Rename gen_perf prefix in filenames to intel_perf

export SEARCH_PATH="src/intel src/gallium/drivers/iris src/mesa/drivers/dri/i965
find $SEARCH_PATH -type f -name "*gen_perf*[cph]" -exec sh -c 'f="{}"; mv -- "$f" "${f/gen_perf/intel_perf}"' \;
grep -E "GEN_PERF[[:alnum:]_]*_H( |$)" -rIl $SEARCH_PATH | xargs sed -ie "s/GEN_PERF\([[:alnum:]_]*_H\)\( \|$\)/INTEL_PERF\1\2/g"
grep -E "gen_perf" -rIl $SEARCH_PATH | xargs sed -ie "s/gen_perf\([[:alnum:]_]*\.[ch]\)/intel_perf\1/g"

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename gen_context prefix to intel_context
Anuj Phogat [Tue, 6 Apr 2021 22:22:04 +0000 (15:22 -0700)]
intel: Rename gen_context prefix to intel_context

export SEARCH_PATH="src/intel src/gallium/drivers/iris src/mesa/drivers/dri/i965
grep -E "gen_context" -rIl $SEARCH_PATH | xargs sed -ie "s/gen_context/intel_context/g"

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename gen_context.h to intel_context.h
Anuj Phogat [Tue, 6 Apr 2021 00:11:05 +0000 (17:11 -0700)]
intel: Rename gen_context.h to intel_context.h

export SEARCH_PATH="src/intel src/gallium/drivers/iris src/mesa/drivers/dri/i965
grep -E "gen_context" -rIl $SEARCH_PATH | xargs sed -ie "s/gen_context\.h/intel_context\.h/g"

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Drop gen prefix in gen_has_get_tiling()
Anuj Phogat [Wed, 7 Apr 2021 18:46:15 +0000 (11:46 -0700)]
intel: Drop gen prefix in gen_has_get_tiling()

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename gen_get_aperture_size to intel_get_aperture_size
Anuj Phogat [Mon, 5 Apr 2021 23:52:37 +0000 (16:52 -0700)]
intel: Rename gen_get_aperture_size to intel_get_aperture_size

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename gen_get_device prefix to intel_get_device
Anuj Phogat [Mon, 5 Apr 2021 22:59:35 +0000 (15:59 -0700)]
intel: Rename gen_get_device prefix to intel_get_device

export SEARCH_PATH="src/intel src/gallium/drivers/iris src/mesa/drivers/dri/i965"
grep -E "gen_get_device" -rIl $SEARCH_PATH | xargs sed -ie "s/gen_get_device/intel_get_device/g"

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename GEN_DEVICE prefix in macros to INTEL_DEVICE
Anuj Phogat [Mon, 5 Apr 2021 21:29:06 +0000 (14:29 -0700)]
intel: Rename GEN_DEVICE prefix in macros to INTEL_DEVICE

export SEARCH_PATH="src/intel src/gallium/drivers/iris src/mesa/drivers/dri/i965"
grep -E "GEN_DEVICE" -rIl $SEARCH_PATH | xargs sed -ie "s/GEN_DEVICE/INTEL_DEVICE/g"

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Fix alignment and line wrapping due to gen_device renaming
Anuj Phogat [Tue, 13 Apr 2021 03:17:16 +0000 (20:17 -0700)]
intel: Fix alignment and line wrapping due to gen_device renaming

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename gen_device prefix to intel_device
Anuj Phogat [Mon, 5 Apr 2021 20:19:39 +0000 (13:19 -0700)]
intel: Rename gen_device prefix to intel_device

export SEARCH_PATH="src/intel src/gallium/drivers/iris src/mesa/drivers/dri/i965"
grep -E "gen_device" -rIl $SEARCH_PATH | xargs sed -ie "s/gen_device/intel_device/g"

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename gen_device prefix in filenames
Anuj Phogat [Mon, 5 Apr 2021 18:47:31 +0000 (11:47 -0700)]
intel: Rename gen_device prefix in filenames

export SEARCH_PATH="src/intel src/gallium/drivers/iris src/mesa/drivers/dri/i965"
find $SEARCH_PATH -type f -name "gen_device" -exec sh -c 'f="{}"; mv -- "$f" "${f/gen_device/intel_device}"' \;
grep -E "gen_device_info*\.[cph]" -rIl $SEARCH_PATH | xargs sed -ie "s/gen_device_info\(.*\.[cph]\)/intel_device_info\1/g"

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename intel_device_info.c to intel_dev_info.c
Anuj Phogat [Mon, 5 Apr 2021 18:38:25 +0000 (11:38 -0700)]
intel: Rename intel_device_info.c to intel_dev_info.c

This change is required to avoid a filename conflict due to
next patch in this series to rename gen_device_info.c

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename GEN_DEBUG prefix to INTEL_DEBUG
Anuj Phogat [Mon, 5 Apr 2021 18:13:16 +0000 (11:13 -0700)]
intel: Rename GEN_DEBUG prefix to INTEL_DEBUG

export SEARCH_PATH="src/intel src/gallium/drivers/iris src/mesa/drivers/dri/i965"
grep -E "GEN_DEBUG" -rIl $SEARCH_PATH | xargs sed -ie "s/GEN_DEBUG/INTEL_DEBUG/g"

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename gen_debug prefix to intel_debug
Anuj Phogat [Mon, 5 Apr 2021 18:11:29 +0000 (11:11 -0700)]
intel: Rename gen_debug prefix to intel_debug

export SEARCH_PATH="src/intel src/gallium/drivers/iris src/mesa/drivers/dri/i965"
grep -E "gen_debug" -rIl $SEARCH_PATH | xargs sed -ie "s/gen_debug/intel_debug/g"

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agointel: Rename files with gen_debug prefix
Anuj Phogat [Mon, 5 Apr 2021 17:44:41 +0000 (10:44 -0700)]
intel: Rename files with gen_debug prefix

export SEARCH_PATH="src/intel src/gallium/drivers/iris src/mesa/drivers/dri/i965"
find $SEARCH_PATH -type f -name "*gen_debug.*[cph]" -exec sh -c 'f="{}"; mv -- "$f" "${f/gen_debug/intel_debug}"' \;
grep -E "gen_debug" -rIl $SEARCH_PATH | xargs sed -ie "s/gen_debug\./intel_debug\./g"
grep -E "GEN_DEBUG" -rIl $SEARCH_PATH | xargs sed -ie "s/GEN_DEBUG_H/INTEL_DEBUG_H/g"

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10241>

3 years agoutil/format: add util_format_is_rgbx_or_bgrx
Mike Blumenkrantz [Tue, 20 Apr 2021 16:17:40 +0000 (12:17 -0400)]
util/format: add util_format_is_rgbx_or_bgrx

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

3 years agocompiler/glsl: Always propagate_invariance() last
Matt Turner [Tue, 20 Apr 2021 16:12:05 +0000 (12:12 -0400)]
compiler/glsl: Always propagate_invariance() last

Suggested-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10292>

3 years agocompiler/glsl: Propagate invariant/precise when splitting arrays
Matt Turner [Fri, 16 Apr 2021 17:52:46 +0000 (13:52 -0400)]
compiler/glsl: Propagate invariant/precise when splitting arrays

This fixes the
dEQP-GLES3.functional.shaders.invariance.{low,medium,high}p.loop_4 tests when
run in a VM with virgl on a host with iris. virgl mangles the GLSL shaders and
emits shader code for the host driver that contains vec4 arrays. As such, the
test did not fail when running directly on the host.

The test also did not fail if the host was using i965. Disabling
PIPE_CAP_GLSL_OPTIMIZE_CONSERVATIVELY in iris was sufficient to work around it,
so I believe that i965 didn't show the problem because after arrays were split
by optimize_split_arrays(), even though the invariant/precise qualifiers were
lost, do_common_optimization() would be called again and thus
propagate_invariance() would propagate the qualifiers to the new variables
produced by optimize_split_arrays().

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10292>

3 years agocompiler/glsl: Return progress from propagate_invariance()
Matt Turner [Fri, 16 Apr 2021 17:50:41 +0000 (13:50 -0400)]
compiler/glsl: Return progress from propagate_invariance()

Doing so allow you to easily tell what the pass did using the existing
infrastructure in the OPT macro.

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10292>

3 years agoRevert "radeonsi: set TRUNC_COORD=0 for Total War: WARHAMMER to fix it"
Rhys Perry [Tue, 6 Apr 2021 08:52:26 +0000 (09:52 +0100)]
Revert "radeonsi: set TRUNC_COORD=0 for Total War: WARHAMMER to fix it"

This reverts commit cd12fcff96cc7db794047e2a045142ea861254a2.

The terrain looks fine now that TRUNC_COORD=0 for textureGather().

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10036>

3 years agoaco: remove image parameter from get_sampler_desc()
Rhys Perry [Mon, 5 Apr 2021 15:18:47 +0000 (16:18 +0100)]
aco: remove image parameter from get_sampler_desc()

We can just check whether tex_instr is NULL instead.

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

3 years agoac/nir: set TRUNC_COORD=0 for nir_texop_tg4
Rhys Perry [Mon, 5 Apr 2021 13:26:33 +0000 (14:26 +0100)]
ac/nir: set TRUNC_COORD=0 for nir_texop_tg4

Fixes black squares in Assassin's Creed: Valhalla and rendering of
FidelityFX-CACAO demo.

shader-db (sienna cichlid):
Totals:
SGPRS: 2977068 -> 2977220 (0.01 %)
VGPRS: 1929624 -> 1929616 (-0.00 %)
Spilled SGPRs: 5769 -> 5769 (0.00 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 0 -> 0 (0.00 %) dwords per thread
Code Size: 61423092 -> 61424672 (0.00 %) bytes
Max Waves: 895765 -> 895766 (0.00 %)

Totals from affected shaders:
SGPRS: 9520 -> 9672 (1.60 %)
VGPRS: 7464 -> 7456 (-0.11 %)
Spilled SGPRs: 0 -> 0 (0.00 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 0 -> 0 (0.00 %) dwords per thread
Code Size: 527432 -> 529012 (0.30 %) bytes
Max Waves: 1819 -> 1820 (0.05 %)

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Fixes: 58f25098a0d ("radv: Use TRUNC_COORD on samplers")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10036>

3 years agoaco: set TRUNC_COORD=0 for nir_texop_tg4
Rhys Perry [Mon, 5 Apr 2021 13:10:25 +0000 (14:10 +0100)]
aco: set TRUNC_COORD=0 for nir_texop_tg4

Fixes black squares in Assassin's Creed: Valhalla and rendering of
FidelityFX-CACAO demo.

fossil-db (sienna cichlid):
Totals from 3052 (2.09% of 146267) affected shaders:
SpillSGPRs: 8437 -> 8646 (+2.48%)
CodeSize: 30993832 -> 31116916 (+0.40%); split: -0.00%, +0.40%
Instrs: 5869934 -> 5886783 (+0.29%); split: -0.00%, +0.29%
Latency: 250330521 -> 250463770 (+0.05%); split: -0.00%, +0.05%
InvThroughput: 59797617 -> 59814584 (+0.03%); split: -0.00%, +0.03%
VClause: 92114 -> 92132 (+0.02%)
SClause: 197373 -> 197338 (-0.02%); split: -0.02%, +0.01%
Copies: 479482 -> 482394 (+0.61%); split: -0.01%, +0.61%
Branches: 219629 -> 219635 (+0.00%)
PreSGPRs: 248970 -> 249366 (+0.16%)

fossil-db (polaris10):
Totals from 3050 (2.06% of 147787) affected shaders:
SGPRs: 282864 -> 282912 (+0.02%); split: -0.01%, +0.02%
VGPRs: 242572 -> 242612 (+0.02%)
SpillSGPRs: 10387 -> 10675 (+2.77%)
CodeSize: 31872460 -> 31996128 (+0.39%)
MaxWaves: 10924 -> 10925 (+0.01%)
Instrs: 6222217 -> 6239072 (+0.27%)
Latency: 317482545 -> 317773685 (+0.09%); split: -0.00%, +0.09%
InvThroughput: 156149624 -> 156242072 (+0.06%); split: -0.00%, +0.06%
VClause: 92295 -> 92254 (-0.04%); split: -0.05%, +0.01%
SClause: 243342 -> 243321 (-0.01%); split: -0.01%, +0.00%
Copies: 678902 -> 681700 (+0.41%); split: -0.00%, +0.41%
Branches: 219698 -> 219703 (+0.00%)
PreSGPRs: 244251 -> 244644 (+0.16%)

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Fixes: 58f25098a0d ("radv: Use TRUNC_COORD on samplers")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3110
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10036>

3 years agozink: do not require vulkan memory model for shader-images
Erik Faye-Lund [Tue, 20 Apr 2021 10:45:44 +0000 (12:45 +0200)]
zink: do not require vulkan memory model for shader-images

The claim that we require vulkan memory model's MakeAvailable and
MakeVisible semantics for image writes isn't accurate. This would be
required *if* we were already using the Vulkan memory model.

But we're using the GLSL450 memory model in those cases, which has no
such requirements.

This means that any problems on RADV due to the lack of these semantics
are RADV bugs, and should be fixed in RADV instead.

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

3 years agozink: force scanout sync when mapping scanout resource
Mike Blumenkrantz [Mon, 19 Apr 2021 19:49:54 +0000 (15:49 -0400)]
zink: force scanout sync when mapping scanout resource

this is just for unit tests where the scanout object is redundant and
the only time a flush occurs is from stalling on readback

Fixes: 104603fa763 ("zink: create separate linear tiling image for scanout")

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10239>

3 years agozink: merge copy-to-scanout path into non-deferred flush path
Mike Blumenkrantz [Wed, 14 Apr 2021 16:47:53 +0000 (12:47 -0400)]
zink: merge copy-to-scanout path into non-deferred flush path

this eliminates any desync between scanout presentation and clears

Fixes: 104603fa763 ("zink: create separate linear tiling image for scanout")

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10239>

3 years agoiris: enable GL_EXT_memory_object feature
Juan A. Suarez Romero [Mon, 26 Oct 2020 18:43:35 +0000 (20:43 +0200)]
iris: enable GL_EXT_memory_object feature

This is enabled by enabling gallium's memobj capability.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Rohan Garg <rohan.garg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4337>

3 years agoiris: hook up resource creation from memory object
Juan A. Suarez Romero [Thu, 14 Jan 2021 11:28:28 +0000 (13:28 +0200)]
iris: hook up resource creation from memory object

v2:
* Fixed indentation in iris_resource_from_memobj

v3:
* Removed the call to iris_resource_configure_aux, as we don't
  have any auxiliary buffer support.

v4:
* Added a comment about the assertion that there's no aux buffer
  in case we add them later.

v5:
* Changed the logic of iris_resource_from_memobj. When the user doesn't
  explicitly set the tiling to linear, we use a similar logic with the
  anv driver's logic to calculate it instead of querying the kernel.
  This is because the Vulkan driver doesn't perform ioctls to update the
  kernel when it suballocates buffers.

v6:
* Removed the line that sets the modifier info in the resource. We
  shouldn't need it.

v7, v8:
* Removed left over code related to modifiers.

v9:
* Replaced FORCE_LINEAR_TILING flag with PIPE_BIND_LINEAR where
  necessary.

v10: rebase, use iris_resource_configure_main (Tapani)

v11:
* isl surfaces should be created only for textures and not for
  buffers (fixes: pixel buffer tests assertion failure on BDW).

v12:
* fix in return type is required after rebasing to master.

Signed-off--by: Juan A. Suarez Romero <jasuarez@igalia.com>
Signed-off-by: Eleni Maria Stea <estea@igalia.com>
Co-authored-by: Eleni Maria Stea <estea@igalia.com>
Reviewed-by: Rohan Garg <rohan.garg@collabora.com> (v9)
Reviewed-by: Tapani Pälli <tapani.palli@intel.com> (v12)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4337>

3 years agoiris: hook up memory object creation from handle
Juan A. Suarez Romero [Thu, 26 Mar 2020 15:16:25 +0000 (16:16 +0100)]
iris: hook up memory object creation from handle

v2: use iris_bo_import_dmabuf (Tapani)
v3: included "util/u_memory.h" to fixed compilation errors caused by
    using the CALLOC_STRUCT macro
v4: implemented iris_memobj_destroy (pscreen->memobj_destroy) callback
v5: removed iris_bo_from_handle and changed the approach for setting the
    tiling: Instead of querying the kernel and call
    iris_bo_import_dmabuf to create the bo, we call
    iris_bo_import_dmabuf_no_mods that imports the bo but without
    setting the tiling mode. We are going to update it when we create
    the resource. Also: implemented the iris_bo_import_dmabuf_no_mods.
v6: rebase to iris_bo_import_dmabuf changes and take a reference
    to memobj->bo (Tapani Pälli)

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Signed-off-by: Eleni Maria Stea <estea@igalia.com>
Co-authored-by: Eleni Maria Stea <estea@igalia.com>
Reviewed-by: Rohan Garg <rohan.garg@collabora.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4337>

3 years agoanv: do not support image export with stencil aspect set
Tapani Pälli [Tue, 1 Dec 2020 12:53:14 +0000 (14:53 +0200)]
anv: do not support image export with stencil aspect set

Export/import with iris does not work properly so disable it for now.

v2: Added a vk_errorfi and assigned to a result (Lionel Landwerlin)
v3: Changed the type of error to be VK_ERROR_FORMAT_NOT_SUPPORTED
(Lionel Landwerlin)

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Signed-off-by: Eleni Maria Stea <elene.mst@gmail.com> (v2, v3)
Reviewed-by: Eleni Maria Stea <elene.mst@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4337>

3 years agopanfrost: Fix RSD emission on Bifrost v6
Boris Brezillon [Mon, 19 Apr 2021 09:54:46 +0000 (11:54 +0200)]
panfrost: Fix RSD emission on Bifrost v6

Bifrost v6 doesn't have wait dependency fields.
Fixes some dEQP-GLES3.functional.shaders.fragdepth tests on G72.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10314>

3 years agoradv: remove radv_image_iview::multiplane_planes
Samuel Pitoiset [Tue, 13 Apr 2021 16:59:27 +0000 (18:59 +0200)]
radv: remove radv_image_iview::multiplane_planes

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

3 years agoradv: remove radv_image_iview::bo
Samuel Pitoiset [Tue, 13 Apr 2021 16:55:16 +0000 (18:55 +0200)]
radv: remove radv_image_iview::bo

This saves one 64-bit pointer.

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

3 years agoamd/common: Use cap to test kernel modifier support.
Bas Nieuwenhuizen [Tue, 20 Apr 2021 00:29:22 +0000 (02:29 +0200)]
amd/common: Use cap to test kernel modifier support.

Turns out both kernel v5.10 and v5.11 have the same amdgpu driver
version and only one has modifiers ... In addition the version check
is kinda annoying for backports.

So lets use the cap. Since the cap is technically about ADDFB2 I
tested that this works on rendernodes (and reading the code there
is no distinction from what kind of node this is called).

Fixes: 9a937330efb ("radeonsi: Only set modifier creation function for GFX9+ & with kernel support.")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10337>

3 years agopanfrost: Reserve thread storage descriptor in panfrost_launch_grid()
Boris Brezillon [Mon, 19 Apr 2021 07:43:48 +0000 (09:43 +0200)]
panfrost: Reserve thread storage descriptor in panfrost_launch_grid()

If we don't do that the compute batch is left with an empty thread
storage descriptor, and panfrost_batch_submit() tries to emit an FB
descriptors using invalid FB information.

Reported-by: Italo Nicola <italonicola@collabora.com>
Fixes: ff3eada7eb4e ("panfrost: Use the generic preload and FB helpers in the gallium driver")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Tested-by: Italo Nicola <italonicola@collabora.com>
Reviewed-by: Italo Nicola <italonicola@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10312>

3 years agoci/softpipe: run KHR-GLESxx tests
Juan A. Suarez Romero [Mon, 19 Apr 2021 07:53:51 +0000 (09:53 +0200)]
ci/softpipe: run KHR-GLESxx tests

Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10287>

3 years agoci/llvmpipe: run KHR-GLES2.* tests
Juan A. Suarez Romero [Mon, 19 Apr 2021 07:53:18 +0000 (09:53 +0200)]
ci/llvmpipe: run KHR-GLES2.* tests

Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10287>

3 years agoci/v3d: add KHR-GLES test jobs
Juan A. Suarez Romero [Fri, 16 Apr 2021 15:10:23 +0000 (17:10 +0200)]
ci/v3d: add KHR-GLES test jobs

Add (manually launched) jobs for KHR-GLES2.*, KHR-GLES3.* and
KHR-GLES31.*

Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10287>

3 years agoci: support KHR-GLES testing
Juan A. Suarez Romero [Fri, 16 Apr 2021 11:01:11 +0000 (13:01 +0200)]
ci: support KHR-GLES testing

Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10287>

3 years agoturnip: add LRZ early-z support
Samuel Iglesias Gonsálvez [Thu, 4 Feb 2021 15:50:12 +0000 (16:50 +0100)]
turnip: add LRZ early-z support

Imported the logic from Freedreno driver.

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7186>

3 years agoturnip: fix setting dynamic state mask for VK_DYNAMIC_STATE_STENCIL_OP_EXT case
Samuel Iglesias Gonsálvez [Fri, 5 Feb 2021 08:52:55 +0000 (09:52 +0100)]
turnip: fix setting dynamic state mask for VK_DYNAMIC_STATE_STENCIL_OP_EXT case

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7186>

3 years agoturnip: group all geometry constant draw states in one
Samuel Iglesias Gonsálvez [Thu, 4 Feb 2021 15:27:24 +0000 (16:27 +0100)]
turnip: group all geometry constant draw states in one

Thus, we can free some draw state slots for future use.

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7186>

3 years agoturnip: update LRZ state based on stencil test state
Samuel Iglesias Gonsálvez [Thu, 21 Jan 2021 14:40:19 +0000 (15:40 +0100)]
turnip: update LRZ state based on stencil test state

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7186>

3 years agoturnip: implement LRZ direction
Samuel Iglesias Gonsálvez [Thu, 21 Jan 2021 12:32:46 +0000 (13:32 +0100)]
turnip: implement LRZ direction

There are some LRZ compare op switches that are not supported by
the HW, like GREATER* <-> LESS* ones.

This patch tracks the direction of the switch and disables LRZ
if needed.

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7186>

3 years agoradv: fix emitting depth bias when beginning a command buffer
Samuel Pitoiset [Mon, 19 Apr 2021 06:44:40 +0000 (08:44 +0200)]
radv: fix emitting depth bias when beginning a command buffer

If depth bias is enabled but zero values used, they were never
emitted to the command buffer because they are equal to the default
values.

Previously, they were always emitted when the bound DS attachment
changed.

This should fix some sort of Z fighting with Dota2 on all GPUs.
This also fixes a different issue (ie. some occlusion queries failures)
on GFX6 because CLEAR_STATE is not used on that chip.

Fixes: 8a47422d977 ("radv: do not scale the depth bias for D16_UNORM depth surfaces")
Cc: 21.1 mesa-stable
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/10310>

3 years agoradv: fix fast clearing depth-only or stencil-only aspects with HTILE
Samuel Pitoiset [Fri, 16 Apr 2021 07:25:42 +0000 (09:25 +0200)]
radv: fix fast clearing depth-only or stencil-only aspects with HTILE

DB isn't coherent with L2 on GFX6-8. This is needed when the
clear HTILE mask path is selected.

This fixes an issue with avatars in Heroes of The Storm.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3362
Cc: 21.1 mesa-stable
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/10277>

3 years agogallivm: add 16-bit integer support
Erik Faye-Lund [Mon, 12 Apr 2021 10:24:50 +0000 (12:24 +0200)]
gallivm: add 16-bit integer support

The new failure here is due to a bug in the test-case, and a fix has
been submitted here:

https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/502

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10185>

3 years agogallivm: run nir_opt_algebraic_late
Erik Faye-Lund [Fri, 9 Apr 2021 09:45:31 +0000 (11:45 +0200)]
gallivm: run nir_opt_algebraic_late

Without this, we're left with a bunch of medium-precision residue, like
i2imp. And to avoid that the lowering intrudces left-over instructions,
also run other lowering passes, similar to what other drivers do.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10185>

3 years agogallivm: handle 16-bit input in i2b32
Erik Faye-Lund [Mon, 12 Apr 2021 14:20:06 +0000 (16:20 +0200)]
gallivm: handle 16-bit input in i2b32

Fixes: dac8cb981f4 ("gallivm/nir: allow 8/16-bit conversion and comparison.")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10185>

3 years agoci/radeonsi: Add expected failures due to #4674 having slipped in
Tomeu Vizoso [Tue, 20 Apr 2021 07:02:12 +0000 (09:02 +0200)]
ci/radeonsi: Add expected failures due to #4674 having slipped in

https://gitlab.freedesktop.org/mesa/mesa/-/issues/4674

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10139>

3 years agoci: Drop hack to disable all modules from defconfig
Tomeu Vizoso [Wed, 14 Apr 2021 06:02:19 +0000 (08:02 +0200)]
ci: Drop hack to disable all modules from defconfig

It was disabling the building of drivers that were needed in some
devices.

After merging we will anyway only have the modules we want (amdgpu atm),
so it's not really needed.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Acked-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10139>

3 years agoci: Use a single kernel+rootfs for both baremetal and LAVA jobs
Tomeu Vizoso [Tue, 13 Apr 2021 05:40:36 +0000 (07:40 +0200)]
ci: Use a single kernel+rootfs for both baremetal and LAVA jobs

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Acked-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10139>

3 years agoci: Test RadeonSI with piglit's quick_gl
Tomeu Vizoso [Wed, 7 Apr 2021 07:23:13 +0000 (09:23 +0200)]
ci: Test RadeonSI with piglit's quick_gl

And do some job refactoring to share more lines between job definitions.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Acked-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10139>

3 years agoci/lava: Start Xorg on request, for Piglit
Tomeu Vizoso [Fri, 9 Apr 2021 09:55:34 +0000 (11:55 +0200)]
ci/lava: Start Xorg on request, for Piglit

We will need this for running Piglit jobs.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Acked-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10139>