platform/upstream/mesa.git
2 years agointel: add swizzle flag into driver uuid
Jianxun Zhang [Mon, 10 Jan 2022 22:11:40 +0000 (14:11 -0800)]
intel: add swizzle flag into driver uuid

Suggested by Lionel Landwerlin, we add has_bit6_swizzle as
another input when computing driver uuid.

Also fix miscalculation of the length of driver tag.

Signed-off-by: Jianxun Zhang <jianxun.zhang@linux.intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13936>

2 years agointel: remove chipset_id
Jianxun Zhang [Mon, 10 Jan 2022 19:59:10 +0000 (11:59 -0800)]
intel: remove chipset_id

The chipset_id should be named after i915 ioctl that's called
to get the device id. In user space this field holds pci device
id in reality. We now have a pci_device_id queried from drm
instead using the ioctl, so there is no much reason to keep
the chipset_id for the same purpose.

Signed-off-by: Jianxun Zhang <jianxun.zhang@linux.intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13936>

2 years agointel: dump PCI info in intel_dev_info
Jianxun Zhang [Thu, 6 Jan 2022 01:44:57 +0000 (17:44 -0800)]
intel: dump PCI info in intel_dev_info

Dump PCI bus and device info so that we can easily identify output
in a multi-gpu system.

Signed-off-by: Jianxun Zhang <jianxun.zhang@linux.intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13936>

2 years agoanv: remove private pci fields
Jianxun Zhang [Thu, 6 Jan 2022 18:43:13 +0000 (10:43 -0800)]
anv: remove private pci fields

These fields are in the base device struct 'intel_device_info' now.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5489

Signed-off-by: Jianxun Zhang <jianxun.zhang@linux.intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13936>

2 years agointel: use PCI info to compute device uuid
Jianxun Zhang [Thu, 6 Jan 2022 18:12:13 +0000 (10:12 -0800)]
intel: use PCI info to compute device uuid

With the new input from PCI bus and device fields, we can compute
device uuids in a multi-gpu system.

Signed-off-by: Jianxun Zhang <jianxun.zhang@linux.intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13936>

2 years agointel: provide pci bus and dev info in base device struct
Jianxun Zhang [Thu, 6 Jan 2022 00:48:28 +0000 (16:48 -0800)]
intel: provide pci bus and dev info in base device struct

Having PCI bus and dev info in the base struct
'intel_device_info' enables us to utilize the info across
multiple drivers for several purposes, such as computing
device uuids in a multi-gpu system.

Signed-off-by: Jianxun Zhang <jianxun.zhang@linux.intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13936>

2 years agovenus: VkExternalImageFormatProperties is optional
Yiwei Zhang [Tue, 11 Jan 2022 22:01:22 +0000 (22:01 +0000)]
venus: VkExternalImageFormatProperties is optional

It's optional even if VkPhysicalDeviceExternalImageFormatInfo is there.

Fixes: 108f386a612 ("venus: initial support for VkPhysicalDevice commands")

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

2 years agodocs: update calendar and link releases notes for 21.3.4
Eric Engestrom [Wed, 12 Jan 2022 21:57:54 +0000 (21:57 +0000)]
docs: update calendar and link releases notes for 21.3.4

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

2 years agodocs: add release notes for 21.3.4
Eric Engestrom [Wed, 12 Jan 2022 21:32:23 +0000 (21:32 +0000)]
docs: add release notes for 21.3.4

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

2 years agonir/opt_if: also merge break statements with ones after the branch
Daniel Schürmann [Fri, 30 Oct 2020 21:56:52 +0000 (22:56 +0100)]
nir/opt_if: also merge break statements with ones after the branch

 This optimizations turns

     loop {
        ...
        if (cond1) {
           if (cond2) {
              do_work_1();
              break;
           } else {
              do_work_2();
           }
           do_work_3();
           break;
        } else {
           ...
        }
     }

 into:

     loop {
        ...
        if (cond1) {
           if (cond2) {
              do_work_1();
           } else {
              do_work_2();
              do_work_3();
           }
           break;
        } else {
           ...
        }
     }

As this optimizations moves code into the NIF statement,
it re-iterates on the branch legs in case of success.

Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7587>

2 years agonir/opt_if: merge two break statements from both branch legs
Daniel Schürmann [Mon, 9 Nov 2020 20:28:08 +0000 (21:28 +0100)]
nir/opt_if: merge two break statements from both branch legs

 This optimization turns

     loop {
        ...
        if (cond) {
           do_work_1();
           break;
        } else {
           do_work_2();
           break;
        }
     }

 into:

     loop {
        ...
        if (cond) {
           do_work_1();
        } else {
           do_work_2();
        }
        break;
     }

Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7587>

2 years agovulkan/overlay: support Vulkan 1.2
Caleb Callaway [Mon, 22 Nov 2021 20:06:14 +0000 (12:06 -0800)]
vulkan/overlay: support Vulkan 1.2

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5602
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14465>

2 years agovirgl: disable texture uploads with copy transfers
Chia-I Wu [Tue, 11 Jan 2022 18:12:10 +0000 (10:12 -0800)]
virgl: disable texture uploads with copy transfers

This disables cdc480585c9 ("virgl/drm: New optimization for uploading
textures") effectively.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Lepton Wu <lepton@chromium.org>
Acked-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14497>

2 years agodocs: move the release for 22.0 out
Dylan Baker [Tue, 11 Jan 2022 21:15:50 +0000 (13:15 -0800)]
docs: move the release for 22.0 out

Between a troubles with Marge and FD.O, and requests for a bit more
time for a few patches to land, we're going to bump the release out by
three weeks.

Acked-by: Caio Oliveira <caio.oliveira@intel.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14502>

2 years agoci: Add paraview traces to several drivers.
Emma Anholt [Tue, 11 Jan 2022 20:48:11 +0000 (12:48 -0800)]
ci: Add paraview traces to several drivers.

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

2 years agoci/llvmpipe: Add a trace for the game JVGS, which got regressed recently.
Emma Anholt [Tue, 11 Jan 2022 20:47:46 +0000 (12:47 -0800)]
ci/llvmpipe: Add a trace for the game JVGS, which got regressed recently.

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

2 years agoci/llvmpipe: Sort the list of traces.
Emma Anholt [Tue, 11 Jan 2022 20:46:29 +0000 (12:46 -0800)]
ci/llvmpipe: Sort the list of traces.

so I don't have to deliberate about where to put new ones.

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

2 years agoradv: set radv_split_fma=true for Proton SotTR
Rhys Perry [Fri, 7 Jan 2022 14:30:26 +0000 (14:30 +0000)]
radv: set radv_split_fma=true for Proton SotTR

The game seems to expect fma to be unfused. Fixes depth-prepass artifacts.

I haven't tested the D3D12 version, but I think it doesn't work and needs
sparse depth/stencil images.

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

2 years agoradv: add RADV_DEBUG=splitfma
Rhys Perry [Fri, 7 Jan 2022 14:27:29 +0000 (14:27 +0000)]
radv: add RADV_DEBUG=splitfma

This splits application-provided FMA in vertex/geometry/tesselation/mesh
shaders.

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

2 years agolima: remove not needed lie about PIPE_CAP_OCCLUSION_QUERY
Christian Gmeiner [Sat, 1 Jan 2022 15:09:21 +0000 (16:09 +0100)]
lima: remove not needed lie about PIPE_CAP_OCCLUSION_QUERY

Occlusion queries are supported always but only the number of
supported samples differ.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14361>

2 years agoi915: remove not needed lie about PIPE_CAP_OCCLUSION_QUERY
Christian Gmeiner [Sat, 1 Jan 2022 15:07:44 +0000 (16:07 +0100)]
i915: remove not needed lie about PIPE_CAP_OCCLUSION_QUERY

Occlusion queries are supported always but only the number of
supported samples differ. This also removes I915_LIE debug
option.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14361>

2 years agovc4: remove not needed lie about PIPE_CAP_OCCLUSION_QUERY
Christian Gmeiner [Sat, 1 Jan 2022 15:01:35 +0000 (16:01 +0100)]
vc4: remove not needed lie about PIPE_CAP_OCCLUSION_QUERY

Occlusion queries are supported always but only the number of
supported samples differ.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14361>

2 years agobroadcom/ci: use .test-manual-mr
Christian Gmeiner [Sat, 1 Jan 2022 15:11:59 +0000 (16:11 +0100)]
broadcom/ci: use .test-manual-mr

Allow the jobs to be available for MRs.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14361>

2 years agomesa: always support occlusion queries
Christian Gmeiner [Fri, 31 Dec 2021 08:39:58 +0000 (09:39 +0100)]
mesa: always support occlusion queries

Excerpt from ARB_occlusion_query.txt:
  An implementation can either set QUERY_COUNTER_BITS_ARB to the
  value 0, or to some number greater than or equal to n.  If an
  implementation returns 0 for QUERY_COUNTER_BITS_ARB, then the
  occlusion queries will always return that zero samples passed the
  occlusion test, and so an application should not use occlusion queries
  on that implementation.

This looks more sane for drivers wanting desktop gl 1.5 without real
hw support then just faking it.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14361>

2 years agoRevert "ci: disable vs2019 windows build"
Daniel Stone [Wed, 12 Jan 2022 12:57:32 +0000 (12:57 +0000)]
Revert "ci: disable vs2019 windows build"

This reverts commit 567a9550d78a92815e7075eda42c38519b73c0b2.

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

2 years agofreedreno: drop dead assignment
Thomas H.P. Andersen [Tue, 11 Jan 2022 20:45:30 +0000 (21:45 +0100)]
freedreno: drop dead assignment

width0 was introduced in e11a239e8ca642414a61ac6fddf442a269a51d92

Its use was dropped in 979e7e3680792dc23d434295edd10b161af8aee3

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

2 years agofreedreno: silence sometimes-uninitialized warning
Thomas H.P. Andersen [Tue, 11 Jan 2022 20:44:20 +0000 (21:44 +0100)]
freedreno: silence sometimes-uninitialized warning

Clang does not see that this is unreachable and thus
thinks that opc will be used uninitialized later.

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

2 years agoradeon/vcn: enable dynamic dpb Tier2 for hevc dec vaapi path
Ruijing Dong [Mon, 10 Jan 2022 21:26:03 +0000 (16:26 -0500)]
radeon/vcn: enable dynamic dpb Tier2 for hevc dec vaapi path

keep omx hevc decoding using the current mode, set dpb Tier2 for
vaapi hevc decoding mode as default.

Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14484>

2 years agoradeon/vcn: enable dynamic dpb Tier2 support for h264 dec vaapi path
Ruijing Dong [Mon, 10 Jan 2022 20:03:15 +0000 (15:03 -0500)]
radeon/vcn: enable dynamic dpb Tier2 support for h264 dec vaapi path

By disabling h264 enxtension flag to let vaapi application manage the
dpb buffers. The calculation of the non_exist_flags for h264 reference
frames needs to consider both frame number and POC in the reference
picture list, set this flag only if both of the frame number and POC
are not existed in the valid reference lists; otherwise, that reference
frame is considered valid.

Also enabled drm buffer in dynamic dpb Tier2.

Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14484>

2 years agofrontends/va: preparing to disable h264 extension flag in vaapi dec path
Ruijing Dong [Mon, 10 Jan 2022 16:57:53 +0000 (11:57 -0500)]
frontends/va: preparing to disable h264 extension flag in vaapi dec path

In frame reference frame, the top/bottom field reference flag also needs
to be set, so does the long term reference flag.

Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14484>

2 years agofrontends/omx: preserve omx to keep current mode for avc decoding
Ruijing Dong [Mon, 10 Jan 2022 16:29:52 +0000 (11:29 -0500)]
frontends/omx: preserve omx to keep current mode for avc decoding

Preparing to disable h264 extension flag in vaapi path, and this change
will not affect omx.

Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14484>

2 years agozink: ci updates
Mike Blumenkrantz [Wed, 12 Jan 2022 02:49:18 +0000 (21:49 -0500)]
zink: ci updates

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

2 years agozink: use even more accurate stride values for query result copies
Mike Blumenkrantz [Wed, 5 Jan 2022 16:05:13 +0000 (11:05 -0500)]
zink: use even more accurate stride values for query result copies

this shouldn't be used at all, but some drivers get it wrong and I don't want
to have to fix every driver

Fixes: 039ed2de94d ("zink: always use type size for query result copy stride")

Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14397>

2 years agoRevert "zink: when performing an implicit reset, sync qbos"
Mike Blumenkrantz [Tue, 4 Jan 2022 18:06:38 +0000 (13:06 -0500)]
Revert "zink: when performing an implicit reset, sync qbos"

this appeared to fix some sort of bug related to preserving qbo data,
but really there shouldn't have been any sort of bug anyway since the qbos
all get read back, and thus the data is already preserved

instead, it just preserved the query id, which overloaded the pools and crashed

This reverts commit 79790e276f61f23217badd80c51add755dfe18ac.

fixes #5669

Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14397>

2 years agozink: skip readback of qbos with no results
Mike Blumenkrantz [Tue, 4 Jan 2022 18:04:07 +0000 (13:04 -0500)]
zink: skip readback of qbos with no results

this is a no-op and also crashes

Fixes: 93190be1b99 ("zink: rewrite query internals")

Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14397>

2 years agozink: fix availability buffer sizing/copying for xfb queries
Mike Blumenkrantz [Fri, 7 Jan 2022 14:44:34 +0000 (09:44 -0500)]
zink: fix availability buffer sizing/copying for xfb queries

xfb queries have 2 results, and the availability bit is a 3rd result, so
the buffer size has to be at least that big and the copy offset has to reflect
the number of xfb results in the src offset

cc: mesa-stable

Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14397>

2 years agozink: always set number of timestamp results to 1 for internal qbo
Mike Blumenkrantz [Fri, 7 Jan 2022 14:41:44 +0000 (09:41 -0500)]
zink: always set number of timestamp results to 1 for internal qbo

timestamp queries don't accumulate results

Fixes: 93190be1b99 ("zink: rewrite query internals")

Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14397>

2 years agozink: add a better threshold for clamping query pool resets on suspend
Mike Blumenkrantz [Tue, 4 Jan 2022 17:47:15 +0000 (12:47 -0500)]
zink: add a better threshold for clamping query pool resets on suspend

these pools should be dumped even if they aren't used

Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14397>

2 years agonir: refactor nir_opt_move
Daniel Schürmann [Fri, 31 Jan 2020 16:44:19 +0000 (17:44 +0100)]
nir: refactor nir_opt_move

This patch is a rewrite of nir_opt_move.
Differently from the previous version, each instruction is checked
if it can be moved downwards and then inserted before the first user
of the definition. The advantage is that less insert operations are
performed, the original order is kept if two movable instructions have
the same first user, and instructions without user in the same block
are moved towards the end.

v2: Only return true if an instruction really changed the position.
    Don't care for discards, this will be handled by another MR.
v3: fix self-referring phis and update according to nir_can_move_instr().
v4: use nir_can_move_instr() and nir_instr_ssa_def()
v5: deduplicate some code

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3657>

2 years agointel/devinfo: drop num_eus_per_subslice field
Lionel Landwerlin [Fri, 25 Jun 2021 08:23:23 +0000 (11:23 +0300)]
intel/devinfo: drop num_eus_per_subslice field

This field is an average computation that is not actually useful for
any of our driver code.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14510>

2 years agointel/devinfo: add a helper to check for slice availability
Lionel Landwerlin [Wed, 23 Jun 2021 15:26:28 +0000 (18:26 +0300)]
intel/devinfo: add a helper to check for slice availability

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14510>

2 years agointel/devinfo: printout devinfo struct size
Lionel Landwerlin [Fri, 25 Jun 2021 07:44:44 +0000 (10:44 +0300)]
intel/devinfo: printout devinfo struct size

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14510>

2 years agointel/devinfo: printout pixel pipes in info printout
Lionel Landwerlin [Fri, 25 Jun 2021 07:44:29 +0000 (10:44 +0300)]
intel/devinfo: printout pixel pipes in info printout

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14510>

2 years agoradeonsi/tests: add expected results for vega20
Pierre-Eric Pelloux-Prayer [Fri, 7 Jan 2022 13:01:52 +0000 (14:01 +0100)]
radeonsi/tests: add expected results for vega20

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

2 years agoradeonsi/tests: update expected results
Pierre-Eric Pelloux-Prayer [Fri, 7 Jan 2022 13:01:34 +0000 (14:01 +0100)]
radeonsi/tests: update expected results

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

2 years agoradeonsi,radv: fix usages of surf_pitch
Pierre-Eric Pelloux-Prayer [Fri, 7 Jan 2022 08:01:27 +0000 (09:01 +0100)]
radeonsi,radv: fix usages of surf_pitch

For linear textures, pitch[level] should be used instead.

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

2 years agoradeonsi/gfx10: fix si_texture_get_offset for mipmapped tex
Pierre-Eric Pelloux-Prayer [Thu, 6 Jan 2022 13:07:18 +0000 (14:07 +0100)]
radeonsi/gfx10: fix si_texture_get_offset for mipmapped tex

Pitch can be different per-level so adjust stride and offset.

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

2 years agoradv: fix computing the fb size in presence of dynamic VRS attachment
Samuel Pitoiset [Thu, 6 Jan 2022 15:56:21 +0000 (16:56 +0100)]
radv: fix computing the fb size in presence of dynamic VRS attachment

This fixes
dEQP-VK.fragment_shading_rate.dynamic_rendering.attachment_rate.*.

Fixes: e914a6710fd ("radv: Expose the VK_KHR_dynamic_rendering extension.")
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/14421>

2 years agoradv: reset VRS if the current subpass doesn't have a VRS attachment
Samuel Pitoiset [Fri, 7 Jan 2022 08:56:48 +0000 (09:56 +0100)]
radv: reset VRS if the current subpass doesn't have a VRS attachment

With a scenario like:
BeginRP(DS + VRS att)
Draw()
EndRP()
BeginRP(same DS)
Draw()
EndRP()

The second draw shouldn't use VRS but it did because the VRS bit
is always set during DS surface initialization if a surface can use VRS.
So, it would have been using the previous copied VRS rates.

Found by inspection.

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

2 years agoradv: stop checking if dynamic states changed
Samuel Pitoiset [Wed, 18 Aug 2021 08:36:28 +0000 (10:36 +0200)]
radv: stop checking if dynamic states changed

This is costly for the CPU and might hurt "good" applications that
already avoid that like DXVK/vkd3d-proton.

Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5009
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/12441>

2 years agoci: disable vs2019 windows build
Lionel Landwerlin [Wed, 12 Jan 2022 08:27:01 +0000 (10:27 +0200)]
ci: disable vs2019 windows build

Failing with :

   error during connect: In the default daemon configuration on
   Windows, the docker client must be run with elevated privileges to
   connect.: Post http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/auth:
   open //./pipe/docker_engine: The system cannot find the file
   specified.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14509>

2 years agoanv,iris: Flush HDC before color fast clears
Nanley Chery [Mon, 8 Nov 2021 16:41:20 +0000 (11:41 -0500)]
anv,iris: Flush HDC before color fast clears

Needed for XeHP (see Bspec 47704).

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14024>

2 years agoanv,iris: PSS Stall Sync around color fast clears
Nanley Chery [Fri, 8 Oct 2021 18:16:35 +0000 (11:16 -0700)]
anv,iris: PSS Stall Sync around color fast clears

Needed for XeHP (see Bspec 47704).

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14024>

2 years agointel: Rename the PSD bit in PIPE_CONTROL for XeHP
Nanley Chery [Fri, 8 Oct 2021 18:04:53 +0000 (11:04 -0700)]
intel: Rename the PSD bit in PIPE_CONTROL for XeHP

The name of the field now starts with PSS Stall instead of PSD.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14024>

2 years agoanv,iris: Depth stall around color fast clears
Nanley Chery [Mon, 8 Nov 2021 16:33:19 +0000 (11:33 -0500)]
anv,iris: Depth stall around color fast clears

Needed for TGL (see Bspec 47704).

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14024>

2 years agoanv,iris: Flush tile cache after color fast clears
Nanley Chery [Fri, 8 Oct 2021 17:48:08 +0000 (10:48 -0700)]
anv,iris: Flush tile cache after color fast clears

Needed for TGL (see Bspec 47704).

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14024>

2 years agoradv: 256 byte push constants.
Bas Nieuwenhuizen [Mon, 10 Jan 2022 22:17:04 +0000 (23:17 +0100)]
radv: 256 byte push constants.

This helps vkd3d-proton, especially when indirecting more stuff.

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

2 years agoradv: Use 16-bits to store push constant indices.
Bas Nieuwenhuizen [Mon, 10 Jan 2022 22:16:20 +0000 (23:16 +0100)]
radv: Use 16-bits to store push constant indices.

Otherwise things horrible go wrong when we get 256 bytes of push
constants.

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

2 years agoradv: Use MAX_PUSH_CONSTANTS_SIZE for saved push constants.
Bas Nieuwenhuizen [Mon, 10 Jan 2022 22:15:34 +0000 (23:15 +0100)]
radv: Use MAX_PUSH_CONSTANTS_SIZE for saved push constants.

So that it can never again get out of sync.

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

2 years agozink: use device-local heap for sparse backing allocations
Mike Blumenkrantz [Tue, 4 Jan 2022 16:31:25 +0000 (11:31 -0500)]
zink: use device-local heap for sparse backing allocations

backing allocations are real allocations, so they shouldn't be initialized
as sparse containers

Fixes: 40fdb3212c3 ("zink: add a suballocator")

Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14394>

2 years agonir: handle per-view clip/cull distances
Marcin Ślusarz [Fri, 17 Dec 2021 15:11:16 +0000 (16:11 +0100)]
nir: handle per-view clip/cull distances

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Acked-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14263>

2 years agospirv: mark [Clip|Cull]DistancePerViewNV variables as compact
Marcin Ślusarz [Fri, 17 Dec 2021 15:09:43 +0000 (16:09 +0100)]
spirv: mark [Clip|Cull]DistancePerViewNV variables as compact

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Acked-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14263>

2 years agonir: remove invalid assert affecting per-view variables
Marcin Ślusarz [Thu, 28 Oct 2021 10:54:59 +0000 (12:54 +0200)]
nir: remove invalid assert affecting per-view variables

per-view variables can have arbitrary (but > 0) number of array levels

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Acked-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14263>

2 years agospirv: handle multiview bits of SPV_NV_mesh_shader
Marcin Ślusarz [Fri, 17 Dec 2021 16:02:18 +0000 (17:02 +0100)]
spirv: handle multiview bits of SPV_NV_mesh_shader

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Acked-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14263>

2 years agonir: add load_mesh_view_count and load_mesh_view_indices intrinsics
Marcin Ślusarz [Fri, 10 Sep 2021 14:42:01 +0000 (16:42 +0200)]
nir: add load_mesh_view_count and load_mesh_view_indices intrinsics

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Acked-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14263>

2 years agospirv: add MeshViewCountNV/MeshViewIndidcesNV builtins from SPV_NV_mesh_shader
Marcin Ślusarz [Thu, 16 Dec 2021 13:28:58 +0000 (14:28 +0100)]
spirv: add MeshViewCountNV/MeshViewIndidcesNV builtins from SPV_NV_mesh_shader

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Acked-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14263>

2 years agocompiler: add new MESH_VIEW_COUNT/MESH_VIEW_INDICES system values
Marcin Ślusarz [Thu, 22 Jul 2021 11:47:42 +0000 (13:47 +0200)]
compiler: add new MESH_VIEW_COUNT/MESH_VIEW_INDICES system values

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Acked-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14263>

2 years agospirv: handle ViewportMaskNV builtin/cap from SPV_NV_mesh_shader
Marcin Ślusarz [Fri, 17 Dec 2021 16:00:08 +0000 (17:00 +0100)]
spirv: handle ViewportMaskNV builtin/cap from SPV_NV_mesh_shader

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Acked-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14263>

2 years agointel/isl: Return false more in isl_surf_get_hiz_surf
Nanley Chery [Wed, 8 Dec 2021 19:45:42 +0000 (14:45 -0500)]
intel/isl: Return false more in isl_surf_get_hiz_surf

Follow the CCS and MCS functions by returning false for unsupported
cases. This reduces the burden on the caller.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14091>

2 years agointel/isl: Allow HiZ with Tile4/64 surfaces
Nanley Chery [Sat, 4 May 2019 00:40:54 +0000 (17:40 -0700)]
intel/isl: Allow HiZ with Tile4/64 surfaces

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14091>

2 years agointel/isl: Require Y-tiling for depth on gfx4-5
Nanley Chery [Wed, 8 Dec 2021 18:28:46 +0000 (13:28 -0500)]
intel/isl: Require Y-tiling for depth on gfx4-5

This enables isl_surf_get_hiz_surf to be simplified.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14091>

2 years agointel/isl: Use a new HiZ format on XeHP+
Nanley Chery [Mon, 6 Dec 2021 03:29:44 +0000 (22:29 -0500)]
intel/isl: Use a new HiZ format on XeHP+

The new HiZ compresses twice as many rows of the depth surface compared
to TGL (Bspec 47009). Also, its tiling needs to be specified in
3DSTATE_HIER_DEPTH_BUFFER_BODY::TiledMode.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14091>

2 years agointel/isl: Update comment for the XeHP HiZ block
Nanley Chery [Mon, 6 Dec 2021 03:29:44 +0000 (22:29 -0500)]
intel/isl: Update comment for the XeHP HiZ block

An 8x4 HiZ block doesn't fit in with the new formulas for sizing HiZ on
XeHP. Update a comment which assumed this block size on SKL+.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14091>

2 years agointel/isl: Rework HiZ image align calculations
Nanley Chery [Fri, 3 Dec 2021 20:00:24 +0000 (15:00 -0500)]
intel/isl: Rework HiZ image align calculations

* Check the format's compression type instead of the format directly to
  prepare for a new HiZ format on XeHP.
* Adjust the gfx12+ calculations so that XeHP will automatically be
  handled.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14091>

2 years agoblorp: Drop multisampled code in blorp_can_hiz_clear_depth
Nanley Chery [Mon, 6 Dec 2021 01:46:16 +0000 (20:46 -0500)]
blorp: Drop multisampled code in blorp_can_hiz_clear_depth

Anv allows non-8x4-aligned depth buffer clears, but it has multisampled
HiZ disabled for BDW. iris allows multisampled HiZ on BDW, but disallows
non-8x4-aligned depth buffer clears.

Drop the unused optimization for non-8x4-aligned clears of multisampled
surfaces on BDW and use this opportunity to use some PRM text in the
code comment.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14091>

2 years agoanv: increase binding table pool size to 64KB
Felix DeGrood [Thu, 6 Jan 2022 22:23:50 +0000 (14:23 -0800)]
anv: increase binding table pool size to 64KB

Binding table pool runs out of capacity quickly on modern games,
requiring new Surface Base Address instructions to be sent. That
is costly due to flushes and stalls.  Increasing BT pool capacity
to 64KB improves performance several workloads.

Fallout4 +4%
Shadow of the Tomb Raider +4%
Borderlands3 +3%

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14483>

2 years agointel/dev: fixup chv workaround
Lionel Landwerlin [Tue, 11 Jan 2022 12:03:47 +0000 (14:03 +0200)]
intel/dev: fixup chv workaround

We're using the wrong helper to get the subslice total count.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: c24ba6cecbacf2 ("intel/dev: Handle CHV CS thread weirdness in get_device_info_from_fd")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14492>

2 years agoturnip: Use vk_common_QueueSignalReleaseImageANDROID for DRM
Jason Ekstrand [Sun, 2 Jan 2022 05:12:43 +0000 (23:12 -0600)]
turnip: Use vk_common_QueueSignalReleaseImageANDROID for DRM

It's identical to the one turnip copy+pasted from RADV.  For KGSL, we
still need to hand-roll because of all the emulated stuff.

Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Hyunjun Ko <zzoon@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14411>

2 years agoturnip: Use vk_common_AcquireImageANDROID
Jason Ekstrand [Sun, 2 Jan 2022 05:10:31 +0000 (23:10 -0600)]
turnip: Use vk_common_AcquireImageANDROID

It's got some bug fixes that turnip never picked up.

Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Hyunjun Ko <zzoon@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14411>

2 years agor300: use point sprite coordinates only when drawing points (v5)
Pavel Ondračka [Tue, 4 Jan 2022 11:41:55 +0000 (12:41 +0100)]
r300: use point sprite coordinates only when drawing points (v5)

Fixes piglit arb_point_sprite-interactions
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/364
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/370

Reviewed-by: Emma Anholt <emma@anholt.net>
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14389>

2 years agozink: add extra synchronization for buffer descriptor binds
Mike Blumenkrantz [Thu, 6 Jan 2022 18:01:41 +0000 (13:01 -0500)]
zink: add extra synchronization for buffer descriptor binds

"most" times it isn't necessary to insert any pipeline barriers when binding
descriptors, as GL requires explicit barrier usage which comes through a different
codepath

the exception here is when the following scenario occurs:
* have buffer A
* buffer_subdata is called on A
* discard path is taken || A is not host-visible
* stream uploader is used for host write
* CmdCopyBuffer is used to copy the data back to A
buffer A now has a pending TRANSFER write that must complete before the buffer is
used in a shader, so synchronization is required any time TRANSFER usage is detected
in a bind

there's also going to be more exceptions going forward as more internal usage is added,
so just remove the whole fake-barrier mechanism since it'll become more problematic
going forward

Cc: 21.3 mesa-stable
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14496>

2 years agod3d12/ci: Skip flaky tex-miplevel-selection and timestamp tests
Jesse Natalie [Tue, 11 Jan 2022 01:08:56 +0000 (17:08 -0800)]
d3d12/ci: Skip flaky tex-miplevel-selection and timestamp tests

Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14494>

2 years agozink: always unset vertex shader variant key data when changing last vertex stage
Mike Blumenkrantz [Mon, 10 Jan 2022 16:36:25 +0000 (11:36 -0500)]
zink: always unset vertex shader variant key data when changing last vertex stage

ensure that vertex key data is always zeroed when changing last stage since it will
be updated before draw anyway and can only cause problems if left alone here

fixes the following caselist:
dEQP-GLES31.functional.shaders.builtin_constants.tessellation_shader.max_tess_evaluation_texture_image_units
dEQP-GLES31.functional.tessellation_geometry_interaction.feedback.tessellation_output_quads_geometry_output_points
dEQP-GLES31.functional.ubo.random.all_per_block_buffers.25

cc: mesa-stable

Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14482>

2 years agozink: add some wsi instance extensions
Mike Blumenkrantz [Thu, 6 Jan 2022 18:56:14 +0000 (13:56 -0500)]
zink: add some wsi instance extensions

not used for now

Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14426>

2 years agozink: add missing assert for 8bit vertex decompose
Mike Blumenkrantz [Mon, 3 Jan 2022 17:02:24 +0000 (12:02 -0500)]
zink: add missing assert for 8bit vertex decompose

verify that this bit was set above

Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14380>

2 years agoradv: implement wsi's private transfer queue using SDMA
Pierre-Eric Pelloux-Prayer [Tue, 4 Jan 2022 10:57:38 +0000 (11:57 +0100)]
radv: implement wsi's private transfer queue using SDMA

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

2 years agovulkan/wsi: add a private transfer pool to exec the DRI_PRIME blit
Pierre-Eric Pelloux-Prayer [Wed, 8 Dec 2021 13:05:15 +0000 (14:05 +0100)]
vulkan/wsi: add a private transfer pool to exec the DRI_PRIME blit

The idea is to offer the driver a way to execute on a different queue
than the one the app is using for Present.

For instance, this could be used to make the DRI_PRIME blit asynchronous,
by using a transfer queue.

So instead of creating a command buffer to be executed on present using
the supplied queue, this commit uses an internal transfer queue to perform
the blit.

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

2 years agovulkan/wsi: add use_prime_blit param to wsi_swapchain_init
Pierre-Eric Pelloux-Prayer [Fri, 7 Jan 2022 13:49:30 +0000 (14:49 +0100)]
vulkan/wsi: add use_prime_blit param to wsi_swapchain_init

Instead of initializing it to false and overriding it later if
needed.

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

2 years agoradv: allocate the prime buffer as uncached
Pierre-Eric Pelloux-Prayer [Mon, 6 Dec 2021 09:47:34 +0000 (10:47 +0100)]
radv: allocate the prime buffer as uncached

This is a write only buffer so caches aren't needed.

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

2 years agoradv: partial sdma support
Pierre-Eric Pelloux-Prayer [Thu, 25 Nov 2021 09:12:56 +0000 (10:12 +0100)]
radv: partial sdma support

SDMA code adapted from https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12763

The only supported use case is image (linear or tiled) -> buffer and only GFX9+ is
supported (for now).

Since RADV_QUEUE_TRANSFER aren't exposed to applications, this cannot be used,
except by the driver.

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

2 years agoamd: add SDMA_NOP_PAD
Pierre-Eric Pelloux-Prayer [Thu, 6 Jan 2022 13:38:24 +0000 (14:38 +0100)]
amd: add SDMA_NOP_PAD

And use it in amdgpu_cs.c.

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

2 years agoaco: validate VOP3P opsel correctly
Daniel Schürmann [Sat, 8 Jan 2022 21:57:29 +0000 (21:57 +0000)]
aco: validate VOP3P opsel correctly

Before RA, subdword operands must use .xx
After RA, opsel can either be .xx or .yy

Cc: mesa-stable
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14472>

2 years agomesa: free vbo_save_vertex_list store prims
Tapani Pälli [Mon, 10 Jan 2022 11:40:27 +0000 (13:40 +0200)]
mesa: free vbo_save_vertex_list store prims

Fixes a leak:
  ==47470== 60 bytes in 1 blocks are definitely lost in loss record 1,790 of 1,904
  ==47470==    at 0x484186F: malloc (vg_replace_malloc.c:381)
  ==47470==    by 0x58EBA6A: compile_vertex_list (vbo_save_api.c:535)
  ==47470==    by 0x58EDABF: wrap_buffers (vbo_save_api.c:1021)
  ==47470==    by 0x58EDF97: upgrade_vertex (vbo_save_api.c:1134)
  ==47470==    by 0x58EE52F: fixup_vertex (vbo_save_api.c:1251)
  ==47470==    by 0x58EFE9E: _save_Normal3f (vbo_attrib_tmp.h:315)

Fixes: 69615d92a0e ("vbo/dlist: realloc prims array instead of free/malloc")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14474>

2 years agomesa: free idalloc storage for display lists
Tapani Pälli [Mon, 10 Jan 2022 11:23:31 +0000 (13:23 +0200)]
mesa: free idalloc storage for display lists

Fixes a leak:
  ==46154== 48 bytes in 1 blocks are definitely lost in loss record 1,571 of 1,905
  ==46154==    at 0x48466AF: realloc (vg_replace_malloc.c:1437)
  ==46154==    by 0x5FC98EC: util_idalloc_resize (u_idalloc.c:43)
  ==46154==    by 0x5FC9C16: util_idalloc_alloc_range (u_idalloc.c:125)
  ==46154==    by 0x56FDB9F: _mesa_EndList (dlist.c:13681)

Fixes: b703d7c15f4 ("dlist: store all dlist in a continuous memory block")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14474>

2 years agointel/xehp: Switch to coarser cross-slice pixel hashing with table permutation.
Francisco Jerez [Wed, 13 Oct 2021 06:57:53 +0000 (23:57 -0700)]
intel/xehp: Switch to coarser cross-slice pixel hashing with table permutation.

The coarser 32x32 cross-slice hashing mode seems to lead to better L1
and L2 utilization due to the improved execution locality, however it
can also lead to a bottleneck in a single slice, especially in
workloads that concentrate heavy rendering in small areas of the
screen (e.g. SynMark2 OglGeomPoint, OglTerrain*) -- This effect is
mitigated here by performing a permutation of the pixel pipe hashing
tables that ensures that adjacent rows map to pixel pipes as far away
as possible in the caching hierarchy.

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13569>

2 years agoanv: Program pixel hashing tables on XeHP.
Francisco Jerez [Wed, 6 Oct 2021 21:45:35 +0000 (14:45 -0700)]
anv: Program pixel hashing tables on XeHP.

Note that this has an effect even for unfused native die platforms,
since the pixel pipe hashing tables we intend to program aren't
equivalent to the hardware's defaults on such configs.

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13569>

2 years agoiris: Program pixel hashing tables on XeHP.
Francisco Jerez [Wed, 6 Oct 2021 21:45:02 +0000 (14:45 -0700)]
iris: Program pixel hashing tables on XeHP.

Unlike the Gen11 code, this requires us to allocate a pipe_resource
for the pixel pipe hashing tables and hold a reference to it from the
context, since we need to add it to the validation list of every
batch, the tables may be accessed by the hardware at any time after
they're specified via 3DSTATE_SLICE_TABLE_STATE_POINTERS.

Note that this has an effect even for unfused native die platforms,
since the pixel pipe hashing tables we intend to program aren't
equivalent to the hardware's defaults on such configs.

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13569>

2 years agointel: Rename intel_compute_pixel_hash_table() to intel_compute_pixel_hash_table_3way().
Francisco Jerez [Tue, 26 Oct 2021 23:51:41 +0000 (16:51 -0700)]
intel: Rename intel_compute_pixel_hash_table() to intel_compute_pixel_hash_table_3way().

For consistency with intel_compute_pixel_hash_table_nway().

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13569>

2 years agointel: Minimal calculation of pixel hash table for arbitrary number of pixel pipes.
Francisco Jerez [Wed, 6 Oct 2021 21:42:18 +0000 (14:42 -0700)]
intel: Minimal calculation of pixel hash table for arbitrary number of pixel pipes.

This starts off with the simplest possible pixel hashing table
calculation that just assigns consecutive indices (modulo N) to
adjacent entries of the table, along the lines of the existing
intel_compute_pixel_hash_table().  The same function will be improved
in a future commit with a more optimal calculation.

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13569>

2 years agointel: Move pixel hashing table computation into common header file.
Francisco Jerez [Tue, 26 Oct 2021 23:50:35 +0000 (16:50 -0700)]
intel: Move pixel hashing table computation into common header file.

In order to avoid some duplication between the GL and Vulkan driver,
which will get worse as we introduce additional code in order to
handle more recent generations.

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13569>