platform/upstream/mesa.git
19 months agoradv: remove some unnecessary 64-bit IO handling
Rhys Perry [Fri, 9 Dec 2022 16:41:33 +0000 (16:41 +0000)]
radv: remove some unnecessary 64-bit IO handling

nir_lower_io() lowers these to 32-bit.

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

19 months agoradv: fix streamout with different streams in the same varying slot
Rhys Perry [Fri, 2 Dec 2022 18:05:21 +0000 (18:05 +0000)]
radv: fix streamout with different streams in the same varying slot

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

19 months agoaco/ra: don't swap create_vector operand with definition blocker for SGPRs
Rhys Perry [Thu, 8 Dec 2022 19:33:58 +0000 (19:33 +0000)]
aco/ra: don't swap create_vector operand with definition blocker for SGPRs

There is no SGPR swap instruction, we always need 3 XORs.

fossil-db (navi21):
Totals from 76 (0.06% of 135636) affected shaders:
Instrs: 58400 -> 58347 (-0.09%); split: -0.10%, +0.01%
CodeSize: 312580 -> 312368 (-0.07%); split: -0.08%, +0.01%
Latency: 843333 -> 843180 (-0.02%); split: -0.02%, +0.00%
InvThroughput: 126431 -> 126412 (-0.02%)
Copies: 4008 -> 3955 (-1.32%); split: -1.47%, +0.15%

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

19 months agoaco/ra: don't swap p_create_vector operand with definition blocker for scc
Rhys Perry [Thu, 8 Dec 2022 19:32:25 +0000 (19:32 +0000)]
aco/ra: don't swap p_create_vector operand with definition blocker for scc

SCC is 1-bit, and we can't copy a 32-bit value into it.

Fixes dEQP-VK.spirv_assembly.type.scalar.i32.iequal_tesse with
ACO_DEBUG=noopt.

No fossil-db changes.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Fixes: 9476986e6f6 ("aco/ra: special-case get_reg_for_create_vector_copy()")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20240>

19 months agonir/opt_algebraic: Optimize open coded bfm.
Georg Lehmann [Thu, 29 Sep 2022 15:36:55 +0000 (17:36 +0200)]
nir/opt_algebraic: Optimize open coded bfm.

Foz-DB Navi21:
Totals from 1553 (1.15% of 134913) affected shaders:
SpillVGPRs: 2246 -> 2223 (-1.02%); split: -1.42%, +0.40%
CodeSize: 10409156 -> 10410720 (+0.02%); split: -0.03%, +0.04%
Instrs: 1899725 -> 1898773 (-0.05%); split: -0.07%, +0.02%
Latency: 71225814 -> 71118314 (-0.15%); split: -0.21%, +0.06%
InvThroughput: 13384926 -> 13330369 (-0.41%); split: -0.47%, +0.06%
VClause: 38309 -> 38284 (-0.07%); split: -0.17%, +0.11%
SClause: 70743 -> 70706 (-0.05%)
Copies: 167296 -> 167230 (-0.04%); split: -0.28%, +0.24%
Branches: 42446 -> 42444 (-0.00%); split: -0.01%, +0.00%
PreVGPRs: 95191 -> 95188 (-0.00%)

Some minor instructions count regressions in parallel-rdp
because v_bfm_b32 can't use SDWA, but overall an improvement.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18887>

19 months agofrontends/va: fix gst videotestsrc h264 enc fail issue.
Ruijing Dong [Thu, 8 Dec 2022 21:10:14 +0000 (16:10 -0500)]
frontends/va: fix gst videotestsrc h264 enc fail issue.

problem:
when doing "gst-launch-1.0 -v videotestsrc num-buffer=10 !
   vaapih264enc ! fakeink"

The command will fail due to gst will fetch the first
available supported format in the list, it becomes P010_LE
due to the commit in

[0b02db3007]
frontends/va: fixed av1 decoding 10bit ffmpeg output YUV issue

fix:
move the P010_LE code block to the end of the function, the sequence
of the supported formats restored to its original.

cc: mesa-stable

Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20242>

19 months agofrontend/osmesa: inherit pipe_frontend_drawable instead of allocating separately
Yonggang Luo [Mon, 5 Dec 2022 14:25:33 +0000 (09:25 -0500)]
frontend/osmesa: inherit pipe_frontend_drawable instead of allocating separately

This is required by st/mesa now.

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

19 months agofrontend/hgl: inherit pipe_frontend_drawable instead of allocating separately
Yonggang Luo [Mon, 5 Dec 2022 14:25:33 +0000 (09:25 -0500)]
frontend/hgl: inherit pipe_frontend_drawable instead of allocating separately

This is required by st/mesa now.

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

19 months agogallium: rename st_framebuffer_iface -> pipe_frontend_drawable, etc.
Marek Olšák [Sun, 27 Nov 2022 21:46:24 +0000 (16:46 -0500)]
gallium: rename st_framebuffer_iface -> pipe_frontend_drawable, etc.

Also rename:
    iface -> drawable
    stfb -> drawable (where it means dri_drawable and not st_framebuffer)
    stfbi -> drawable or pdrawable (if drawable exists)

pipe_frontend_drawable* is really just dri_drawable* for DRI, and WGL/GLX
have their own variants. This makes it easier to understand what kind of
object is being used.

I always wondered what st_framebuffer_iface, iface, stfbi, iface_stamp,
and iface_ID actually mean. Now those terms are gone forever.

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027>

19 months agogallium: remove pipe_frontend_screen::destroy callback, call it directly
Marek Olšák [Sun, 27 Nov 2022 21:28:14 +0000 (16:28 -0500)]
gallium: remove pipe_frontend_screen::destroy callback, call it directly

This is the only one implemented by mesa/state_tracker.

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027>

19 months agogallium: clean up comments in api.h, cosmetic changes
Marek Olšák [Sun, 27 Nov 2022 21:25:28 +0000 (16:25 -0500)]
gallium: clean up comments in api.h, cosmetic changes

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027>

19 months agogallium: remove st_framebuffer_iface::st_manager_private
Marek Olšák [Sun, 27 Nov 2022 21:04:52 +0000 (16:04 -0500)]
gallium: remove st_framebuffer_iface::st_manager_private

It's always equal to self.

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027>

19 months agofrontend/glx: inherit st_framebuffer_iface instead of allocating separately
Marek Olšák [Sun, 27 Nov 2022 21:02:24 +0000 (16:02 -0500)]
frontend/glx: inherit st_framebuffer_iface instead of allocating separately

All other frontends do it like this. This enables the next cleanup.

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027>

19 months agogallium: remove unused ST_CONTEXT_ERROR_*
Marek Olšák [Sun, 27 Nov 2022 20:37:50 +0000 (15:37 -0500)]
gallium: remove unused ST_CONTEXT_ERROR_*

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027>

19 months agogallium: rename st_manager_private -> st_screen
Marek Olšák [Sun, 27 Nov 2022 20:26:34 +0000 (15:26 -0500)]
gallium: rename st_manager_private -> st_screen

Oh you didn't know that st_context had a screen object too?
Yeah, this code is full of surprises.

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027>

19 months agogallium: remove st_profile_type in favor of gl_api, move out st_context_attribs
Marek Olšák [Sun, 27 Nov 2022 20:19:57 +0000 (15:19 -0500)]
gallium: remove st_profile_type in favor of gl_api, move out st_context_attribs

st_context_attribs is moved into st_context.h.

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027>

19 months agogallium: remove unnecessary ST_PROFILE_*_MASK definitions
Marek Olšák [Sun, 27 Nov 2022 20:11:58 +0000 (15:11 -0500)]
gallium: remove unnecessary ST_PROFILE_*_MASK definitions

This didn't do anything.

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027>

19 months agogallium: use PIPE_CONTEXT_* flags instead of ST_CONTEXT_FLAG_*
Marek Olšák [Sun, 27 Nov 2022 20:00:57 +0000 (15:00 -0500)]
gallium: use PIPE_CONTEXT_* flags instead of ST_CONTEXT_FLAG_*

where PIPE_CONTEXT_* flags are available

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027>

19 months agogallium: move st function declarations from api.h into st_context.h
Marek Olšák [Sun, 27 Nov 2022 19:40:28 +0000 (14:40 -0500)]
gallium: move st function declarations from api.h into st_context.h

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027>

19 months agogallium: remove enum st_texture_type
Marek Olšák [Sun, 27 Nov 2022 19:33:14 +0000 (14:33 -0500)]
gallium: remove enum st_texture_type

just use GLenum

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027>

19 months agost/mesa: remove st_context callbacks for dri/glx/wgl frontends
Marek Olšák [Sun, 27 Nov 2022 18:40:42 +0000 (13:40 -0500)]
st/mesa: remove st_context callbacks for dri/glx/wgl frontends

Use direct calls.

Other changes:
- kopper called thread_finish twice in the same function.
  Remove the second call.
- Context creation had no-op initializations of cso_context and pipe.

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027>

19 months agogallium: remove st_context_iface, use st_context directly
Marek Olšák [Sun, 27 Nov 2022 17:59:22 +0000 (12:59 -0500)]
gallium: remove st_context_iface, use st_context directly

st_context_iface was the base class that st_context inherited.
Just use st_context.

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027>

19 months agogallium/pp: don't use st_context_iface, use an explicit callback
Marek Olšák [Sun, 27 Nov 2022 18:15:16 +0000 (13:15 -0500)]
gallium/pp: don't use st_context_iface, use an explicit callback

st_context_iface will be removed.

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027>

19 months agogallium/hud: don't use st_context_iface, use an explicit callback
Marek Olšák [Sun, 27 Nov 2022 18:08:53 +0000 (13:08 -0500)]
gallium/hud: don't use st_context_iface, use an explicit callback

st_context_iface will be removed.

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027>

19 months agogallium: rename st_context_iface::st_manager_private to frontend_context
Marek Olšák [Sun, 27 Nov 2022 17:21:45 +0000 (12:21 -0500)]
gallium: rename st_context_iface::st_manager_private to frontend_context

It's really dri_context for DRI.

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027>

19 months agogallium: remove duplicated st_context_iface::st_context_private
Marek Olšák [Sun, 27 Nov 2022 17:15:41 +0000 (12:15 -0500)]
gallium: remove duplicated st_context_iface::st_context_private

It's equal to fscreen, which is almost next to it.

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027>

19 months agogallium: rename st_manager to pipe_frontend_screen (think dri_screen)
Marek Olšák [Sun, 27 Nov 2022 17:11:12 +0000 (12:11 -0500)]
gallium: rename st_manager to pipe_frontend_screen (think dri_screen)

st_manager is really the base class of dri_screen, so let's call it
pipe_frontend_screen. That's a much better name than the vague "st_manager".

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027>

19 months agozink: do not leave needless shader temps around
Erik Faye-Lund [Thu, 8 Dec 2022 12:13:33 +0000 (13:13 +0100)]
zink: do not leave needless shader temps around

This used to not matter, but since we started emitting shader-temps
properly, this causes issues where we end up with samplers and images as
shader-temps. That causes asserts while emitting them.

So let's remove the unused vars as well.

This fixes a piglit regression that somehow went unnoticed on CI.

Fixes: 85964945e7c ("zink: emit vars with nir_var_shader_temp mode")
Tested-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20227>

19 months agointel/compiler: Delete sampler key handling for planar format stuff
Kenneth Graunke [Thu, 8 Dec 2022 06:34:40 +0000 (22:34 -0800)]
intel/compiler: Delete sampler key handling for planar format stuff

i965 used these, but Gallium drivers do this lowering via a separate
nir_lower_tex call from st/mesa.  Vulkan drivers don't use these at all.

Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20223>

19 months agointel/compiler: Delete key->msaa_16
Kenneth Graunke [Thu, 8 Dec 2022 05:18:02 +0000 (21:18 -0800)]
intel/compiler: Delete key->msaa_16

None of the drivers have used this since we dropped i965, and BLORP
no longer uses it as of the previous commit.  We can also drop the
former compressed_multisample_tex_mask (now padding) field so that
things remain 64-bit aligned.

Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20223>

19 months agointel/blorp: Set key->msaa_16 unconditionally on Gfx9+
Kenneth Graunke [Thu, 8 Dec 2022 03:29:43 +0000 (19:29 -0800)]
intel/blorp: Set key->msaa_16 unconditionally on Gfx9+

This will result in us using the TXF_CMS_W message rather than the
TXF_CMS message on Skylake through Tigerlake for 2/4/8x MSAA blits,
which is technically slightly worse.  However, it shouldn't be that
much worse: the TXF_CMS message was removed altogether on Alchemist.

iris and anv set key->msaa_16 unconditionally, to avoid paying the
cost of shader recompiles for a miniscule gain.  crocus and hasvk
don't need to set it as they don't support 16x MSAA.  BLORP already
recompiles based on the sample count, so it could easily keep doing
this for the minor benefit.  But avoiding it will let us drop the
entire msaa_16 key field out of the compiler, which is nice.

Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20223>

19 months agointel: Drop compressed_multisample_layout_mask from the compiler keys
Kenneth Graunke [Thu, 8 Dec 2022 04:20:12 +0000 (20:20 -0800)]
intel: Drop compressed_multisample_layout_mask from the compiler keys

The compiler looks at this key field to determine whether to perform
an MCS fetch for a txf_ms or samples_identical texture message, if a
nir_tex_src_ms_mcs_intel source wasn't provided.  If it isn't set,
it instead uses constant 0 (nothing is compressed).

All of the drivers (iris, crocus, anv, hasvk) unconditionally set this
to ~0 because we don't want to pay for costly shader recompiles (which
can cause nasty stuttering).  Most textures are compressed anyway, and
the hardware ignores the l2dms MCS parameter if MCS is disabled.

The only user was BLORP, which sets the key field based on whether the
texture's aux usage has MCS.  But if it has MCS, it also does the MCS
fetch itself and supplies it directly.  Otherwise, it relies on the
compiler to fill in the 0 value.  But it could easily just provide the
0 value itself in that case and not rely on the compiler at all.

With that fixed, we can just drop the key fields entirely.  We leave
them as padding for now to avoid repacking structures; we won't need
to after the next commits anyway.

Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20223>

19 months agointel/common: use format struct in aux mapping
Jianxun Zhang [Fri, 11 Nov 2022 22:40:40 +0000 (14:40 -0800)]
intel/common: use format struct in aux mapping

Refactor aux mapping with the new format struct and helpers.

Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20167>

19 months agointel/common: initialize format of aux mapping on GFX12
Jianxun Zhang [Fri, 11 Nov 2022 22:51:04 +0000 (14:51 -0800)]
intel/common: initialize format of aux mapping on GFX12

Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20167>

19 months agointel/common: fix style of some comments in intel_aux_map.h
Jianxun Zhang [Thu, 8 Dec 2022 01:55:57 +0000 (17:55 -0800)]
intel/common: fix style of some comments in intel_aux_map.h

Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20167>

19 months agointel/common: Add a new struct to describe AUX mapping format
Jianxun Zhang [Fri, 11 Nov 2022 20:34:46 +0000 (12:34 -0800)]
intel/common: Add a new struct to describe AUX mapping format

The new struct and some helper functions are for further
refactoring.

Reworks:
 * Jordan: Refactor code around aux format array

Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20167>

19 months agointel/common: Add an enum of formats of AUX mapping
Jianxun Zhang [Wed, 9 Nov 2022 22:27:36 +0000 (14:27 -0800)]
intel/common: Add an enum of formats of AUX mapping

The new enum allows us to support multiple formats in the future.

Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20167>

19 months agointel: add MTL performance metrics
Lionel Landwerlin [Thu, 8 Dec 2022 13:08:30 +0000 (15:08 +0200)]
intel: add MTL performance metrics

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

19 months agohasvk: Allow aliasing with modifiers for WSI images
Väinö Mäkelä [Fri, 18 Nov 2022 06:56:46 +0000 (08:56 +0200)]
hasvk: Allow aliasing with modifiers for WSI images

Ignore ALIAS_BIT when format comes from WSI because
we have the ability to bind the MEMORY_BINDING_PRIVATE
from the other WSI image.

This commit is the same as f350b78b but for hasvk.

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

19 months agor600/sfn: implement GDS op channel mask evaluation
Gert Wollny [Thu, 8 Dec 2022 11:14:29 +0000 (12:14 +0100)]
r600/sfn: implement GDS op channel mask evaluation

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

19 months agor600/sfn: allocate pinned registers as SSA
Gert Wollny [Thu, 8 Dec 2022 10:44:56 +0000 (11:44 +0100)]
r600/sfn: allocate pinned registers as SSA

Don't allocate the helper_invocation register as pinned, because it is
not an SSA value.

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

19 months agor600/sfn: nir_op_vec results don't need channel pinning
Gert Wollny [Thu, 8 Dec 2022 10:40:23 +0000 (11:40 +0100)]
r600/sfn: nir_op_vec results don't need channel pinning

This will be handled by the op that uses the vector

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

19 months agor600/sfn: implement TF allowed channel mask override
Gert Wollny [Thu, 8 Dec 2022 10:39:01 +0000 (11:39 +0100)]
r600/sfn: implement TF allowed channel mask override

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

19 months agor600/sfn: clean up TF emission in TCS
Gert Wollny [Thu, 8 Dec 2022 09:13:39 +0000 (10:13 +0100)]
r600/sfn: clean up TF emission in TCS

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

19 months agor600/sfn: Cleanup copy-prop into vec4 source values
Gert Wollny [Wed, 7 Dec 2022 17:16:57 +0000 (18:16 +0100)]
r600/sfn: Cleanup copy-prop into vec4 source values

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

19 months agor600/sfn: scheduler allow more lookahead on ALU instr
Gert Wollny [Tue, 6 Dec 2022 20:30:48 +0000 (21:30 +0100)]
r600/sfn: scheduler allow more lookahead on ALU instr

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

19 months agor600/sfn: Make use of variable length DOT
Gert Wollny [Tue, 6 Dec 2022 09:30:36 +0000 (10:30 +0100)]
r600/sfn: Make use of variable length DOT

This frees some alu slots for better group scheduling.

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

19 months agor600/sfn: Don't require assignemnt in same block to copy-propagate
Gert Wollny [Tue, 6 Dec 2022 09:09:19 +0000 (10:09 +0100)]
r600/sfn: Don't require assignemnt in same block to copy-propagate

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

19 months agor600/sfn: No need to pin LDS dests to chan
Gert Wollny [Tue, 6 Dec 2022 07:16:54 +0000 (08:16 +0100)]
r600/sfn: No need to pin LDS dests to chan

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

19 months agor600/sfn: allow copy propagation to LDS read dest
Gert Wollny [Mon, 5 Dec 2022 16:08:31 +0000 (17:08 +0100)]
r600/sfn: allow copy propagation to LDS read dest

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

19 months agor600/sfn: allow more copy-propagate with dest chan fixed.
Gert Wollny [Mon, 5 Dec 2022 16:03:45 +0000 (17:03 +0100)]
r600/sfn: allow more copy-propagate with dest chan fixed.

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

19 months agor600/sfn: Allow copy prop into GDS sources values
Gert Wollny [Mon, 5 Dec 2022 15:29:27 +0000 (16:29 +0100)]
r600/sfn: Allow copy prop into GDS sources values

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

19 months agoanv: emit sample mask state independent of fragment stage
Tapani Pälli [Thu, 8 Dec 2022 07:59:11 +0000 (09:59 +0200)]
anv: emit sample mask state independent of fragment stage

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7861
Fixes: 9f6af43743d ("anv: dynamic multisample sample mask")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20221>

19 months agoradv: fix re-emitting the RB+ state when dynamic color write mask change
Samuel Pitoiset [Wed, 7 Dec 2022 16:03:50 +0000 (17:03 +0100)]
radv: fix re-emitting the RB+ state when dynamic color write mask change

Found by inspection.

Fixes: a92d1d13c5d ("radv: add support for dynamic color write mask")
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/20204>

19 months agoradv/rt: Discard metadata after lowering intersection shaders
Konstantin Seurer [Sat, 19 Nov 2022 11:35:18 +0000 (12:35 +0100)]
radv/rt: Discard metadata after lowering intersection shaders

We inserted some enstructions and control flow. Therefore, metadata is
not valid anymore.

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

19 months agoradv/rt: Lower hit attributes to registers
Konstantin Seurer [Wed, 9 Nov 2022 20:22:50 +0000 (21:22 +0100)]
radv/rt: Lower hit attributes to registers

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

19 months agoradv/rt: Move load_hit_attrib_amd to the top
Konstantin Seurer [Wed, 7 Dec 2022 15:20:22 +0000 (16:20 +0100)]
radv/rt: Move load_hit_attrib_amd to the top

Make sure to load hit attributes before a trace_ray call can overwrite them.

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

19 months agonir: Add intrinsics for hit attribute io
Konstantin Seurer [Thu, 10 Nov 2022 19:51:54 +0000 (20:51 +0100)]
nir: Add intrinsics for hit attribute io

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

19 months agonir/split_vars: Handle ray hit attributes
Konstantin Seurer [Wed, 9 Nov 2022 16:44:21 +0000 (17:44 +0100)]
nir/split_vars: Handle ray hit attributes

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

19 months agoradv: Add nir_foreach_variable_with_modes to .clang-format
Konstantin Seurer [Wed, 7 Dec 2022 15:24:52 +0000 (16:24 +0100)]
radv: Add nir_foreach_variable_with_modes to .clang-format

Yet another loop macro.

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

19 months agoegl: Drop backwards compat for missing __DRI_ATTRIB_*_SHIFT.
Emma Anholt [Wed, 30 Nov 2022 23:56:17 +0000 (15:56 -0800)]
egl: Drop backwards compat for missing __DRI_ATTRIB_*_SHIFT.

The only implementation supports it.

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

19 months agogbm: Don't look up the DRI2_FENCE extension.
Emma Anholt [Wed, 30 Nov 2022 23:46:38 +0000 (15:46 -0800)]
gbm: Don't look up the DRI2_FENCE extension.

It's optional, and nothing references it.

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

19 months agoegl: Replace sRGB support check with a pscreen query.
Emma Anholt [Wed, 30 Nov 2022 23:43:59 +0000 (15:43 -0800)]
egl: Replace sRGB support check with a pscreen query.

This drops the remaining use of rendererQuery from EGL.

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

19 months agoegl: Move common eglCreateContext() error checks from backends to core.
Emma Anholt [Wed, 30 Nov 2022 23:27:55 +0000 (15:27 -0800)]
egl: Move common eglCreateContext() error checks from backends to core.

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

19 months agoegl: Replace the robustness DRI2 ext check with a pipe cap query.
Emma Anholt [Wed, 30 Nov 2022 23:23:56 +0000 (15:23 -0800)]
egl: Replace the robustness DRI2 ext check with a pipe cap query.

This means that swkms will now report it with llvmpipe.  drisw reported it
with llvmpipe, and it appears to have been an oversight that got
refactored into an obvious "if !swkms" check later.

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

19 months agoegl: Remove silly robustness support checks.
Emma Anholt [Wed, 30 Nov 2022 23:18:49 +0000 (15:18 -0800)]
egl: Remove silly robustness support checks.

The EGL frontend checks for the extension's presence before allowing the
user to set these values.

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

19 months agogallivm: s/unsigned/enum util_format_type/ in lp_build_sample_common()
Brian Paul [Wed, 7 Dec 2022 21:56:02 +0000 (14:56 -0700)]
gallivm: s/unsigned/enum util_format_type/ in lp_build_sample_common()

Use the actual type here for easier debugging.

Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20233>

19 months agogallivm: fix incorrect type for undefined texcoords
Brian Paul [Wed, 7 Dec 2022 21:49:11 +0000 (14:49 -0700)]
gallivm: fix incorrect type for undefined texcoords

Texcoords may be 1-5 components in length.  We initialize the
unused components with an LLVMGetUndef().  But we were using
an int vec type rather than a float vec type.

This eventually led to a failed assertion in lp_build_clamp()
where 'a' was a vec of int[8] but 'min' and 'max' were float[8]
in a trace of the game Tom Clancy's Splinter Cell: Blacklist.

The game seems to have a bug where a texture sampler mistakenly has
shadow comparison turned on, but the shader's tex sample instructions
are sampling a 2D R8G8B8A8_UNORM texture.  The instruction has a
2-component texcoord so when we do the sampler comparison operation
we're using the undefined 5th coordinate component.

Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20233>

19 months agoradeonsi: disable av1 decode for navi24
Boyuan Zhang [Thu, 8 Dec 2022 14:46:40 +0000 (09:46 -0500)]
radeonsi: disable av1 decode for navi24

Disable AV1 decode for Navi24 since hardware doesn't support.

fixed: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7855

cc: mesa-stable

Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20230>

19 months agogallivm: misc clean-ups in lp_bld_nir.c
Brian Paul [Wed, 7 Dec 2022 20:26:55 +0000 (13:26 -0700)]
gallivm: misc clean-ups in lp_bld_nir.c

Use switch instead of if/else. Add some braces. 80-column wrapping, etc.

Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20211>

19 months agollvmpipe: misc clean-ups in lp_scene.c
Brian Paul [Mon, 21 Nov 2022 21:34:36 +0000 (14:34 -0700)]
llvmpipe: misc clean-ups in lp_scene.c

Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20211>

19 months agollvmpipe: misc clean-ups in lp_rast.c
Brian Paul [Mon, 21 Nov 2022 21:34:09 +0000 (14:34 -0700)]
llvmpipe: misc clean-ups in lp_rast.c

Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20211>

19 months agogallivm: minor clean-ups in lp_bld_quad.c
Brian Paul [Tue, 1 Nov 2022 01:23:44 +0000 (19:23 -0600)]
gallivm: minor clean-ups in lp_bld_quad.c

Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20211>

19 months agogallivm: asst. clean-ups in lp_bld_sample_soa.c
Brian Paul [Fri, 28 Oct 2022 16:46:07 +0000 (10:46 -0600)]
gallivm: asst. clean-ups in lp_bld_sample_soa.c

Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20211>

19 months agogallivm: clean-ups in lp_bld_sample.c
Brian Paul [Fri, 28 Oct 2022 16:14:27 +0000 (10:14 -0600)]
gallivm: clean-ups in lp_bld_sample.c

Formatting/whitespace fixes.  Add const qualifiers, move var decls, etc.

Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20211>

19 months agomesa: fix typos in gl_array_attrib comments
Marek Olšák [Tue, 18 Oct 2022 05:37:10 +0000 (01:37 -0400)]
mesa: fix typos in gl_array_attrib comments

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

19 months agomesa: use the format table for double attrib format translation too
Marek Olšák [Tue, 8 Nov 2022 01:10:38 +0000 (20:10 -0500)]
mesa: use the format table for double attrib format translation too

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

19 months agomesa: add a format table for GL_BGRA vertex format translation too
Marek Olšák [Tue, 8 Nov 2022 00:55:20 +0000 (19:55 -0500)]
mesa: add a format table for GL_BGRA vertex format translation too

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

19 months agomesa: add more cases to the gallium vertex_formats table
Marek Olšák [Tue, 8 Nov 2022 00:33:32 +0000 (19:33 -0500)]
mesa: add more cases to the gallium vertex_formats table

The way we convert gltype to the index changed to handle more enums.
The reason why (gltype & 0x3f) works is because of how the enums are
defined.

Also change the type to uint8_t. We only need the low 7 bits of
the pipe format enum.

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

19 months agost/mesa: move setting draw_needs_minmax_index into st_update_array_templ
Marek Olšák [Wed, 19 Oct 2022 22:21:47 +0000 (18:21 -0400)]
st/mesa: move setting draw_needs_minmax_index into st_update_array_templ

This removes several parameters from setup_array that become unused.

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

19 months agost/mesa: simplify st_setup_current parameters
Marek Olšák [Mon, 7 Nov 2022 21:58:22 +0000 (16:58 -0500)]
st/mesa: simplify st_setup_current parameters

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

19 months agost/mesa: optimize uploading zero-stride vertex attribs
Marek Olšák [Tue, 8 Nov 2022 02:18:33 +0000 (21:18 -0500)]
st/mesa: optimize uploading zero-stride vertex attribs

Instead of memcpy into a temporary array and then upload from that,
upload into a buffer directly.

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

19 months agost/mesa: remove alignment code from st_setup_current
Marek Olšák [Mon, 7 Nov 2022 23:53:22 +0000 (18:53 -0500)]
st/mesa: remove alignment code from st_setup_current

I was the one who added this code and it doesn't seem useful.

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

19 months agoci: fix missing line after adding austraincoder's farm killswitch
David Heidelberg [Thu, 8 Dec 2022 17:25:00 +0000 (18:25 +0100)]
ci: fix missing line after adding austraincoder's farm killswitch

Accidentally dropped.

Fixes: ff928d9567a5 ("ci: Allow disabling the whole of austriancoder's farm")

Reported-by: Ana Guerrero Lopez <anagl@igalia.com>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Ana Guerrero Lopez <anagl@igalia.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20236>

19 months agointel/genxml: Add genX_rt_pack.h
Jordan Justen [Wed, 7 Dec 2022 20:49:21 +0000 (12:49 -0800)]
intel/genxml: Add genX_rt_pack.h

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

19 months agointel/fs: add a saturation propagation test
Lionel Landwerlin [Thu, 8 Dec 2022 14:12:24 +0000 (16:12 +0200)]
intel/fs: add a saturation propagation test

Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20206>

19 months agobrw: fix saturate propagation region overlap range
Oleksii Bozhenko [Wed, 7 Dec 2022 17:27:45 +0000 (19:27 +0200)]
brw: fix saturate propagation region overlap range

Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/commit/947c828d5cbffe9640ac63103a6223112eeff27f
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7691

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Oleksii Bozhenko <oleksii.bozhenko@globallogic.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20206>

19 months agointel/fs: implement Wa_14017989577
Tapani Pälli [Tue, 6 Dec 2022 16:11:10 +0000 (18:11 +0200)]
intel/fs: implement Wa_14017989577

The first instruction of any kernel should have non-zero emask. This
restriction needs to be obeyed to avoid GPU hangs.

Patch adds a function to insert dummy mov as first instruction
to make sure this requirement is fulfilled.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20194>

19 months agofreedreno: fix compute shared_size underflow
Chia-I Wu [Thu, 8 Dec 2022 04:04:55 +0000 (20:04 -0800)]
freedreno: fix compute shared_size underflow

It caused ~5% of perf regression for some gfxbench benchmarks.

Fixes: b8d10d9e87a ("gallium: split up req_local_mem")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20219>

19 months agoradeonsi/vcn: av1 film_grain output fix
Ruijing Dong [Fri, 2 Dec 2022 21:11:52 +0000 (16:11 -0500)]
radeonsi/vcn: av1 film_grain output fix

use film grain surface as the output instead of target,
which should be kept for DPB process.

fixed: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6903

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

19 months agofrontends/va: pass in film_grain_target as new output
Ruijing Dong [Fri, 2 Dec 2022 21:09:42 +0000 (16:09 -0500)]
frontends/va: pass in film_grain_target as new output

In av1 film grain case, to use the film_grain_target
as the output, instead of target buffer, which is kept
as the input for DPB processing in film_grain output
scenario.

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

19 months agofrontneds/va: use current_display_picture from VA for film grain
Ruijing Dong [Fri, 2 Dec 2022 21:04:18 +0000 (16:04 -0500)]
frontneds/va: use current_display_picture from VA for film grain

use the interface defined in vaapi for av1 film grain's output
https://github.com/intel/libva/blob/master/va/va_dec_av1.h#L296-L304

CC: 22.3
Reviewed-by: Leo Liu <leo.liu@amd.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20139>

19 months agofrontends/omx: initialize film_grain_target
Ruijing Dong [Fri, 2 Dec 2022 21:02:12 +0000 (16:02 -0500)]
frontends/omx: initialize film_grain_target

set film_grain_target to NULL, and not using it
in omx path.

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

19 months agogallium: add film_grain_target into av1 dec desc
Ruijing Dong [Fri, 2 Dec 2022 20:58:24 +0000 (15:58 -0500)]
gallium: add film_grain_target into av1 dec desc

In vaapi, film_grain output will need to direct into
other output surface instead of the current render_target.

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

19 months agodrm-shim: add __readlink_chk as readlink with overflow check
Max Lee [Wed, 12 Oct 2022 03:41:12 +0000 (14:41 +1100)]
drm-shim: add __readlink_chk as readlink with overflow check

As per Linux Standard Base Core Specification 4.0, __readlink_chk
display value of a symbolic link, with buffer overflow checking.

if size > buflen, abort() is called.

Signed-off-by: Max Lee <endlesspring@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19045>

19 months agopvr: Check depth/stencil attachment is tile-aligned
Matt Coster [Mon, 28 Nov 2022 15:04:17 +0000 (15:04 +0000)]
pvr: Check depth/stencil attachment is tile-aligned

The hardware requires depth/stencil attachments to be size-aligned to
the zls tile size (as defined by rogue_get_zls_tile_size_xy()).

In practice however, this is a tiny edge case. The restriction only
applies during some operations, and any attachment larger than the tile
size will be twiddled and over-allocated into alignment beforehand.

This commit also adds the mentioned rogue_get_zls_tile_size_xy()
function. These values differ from the regular tile_size_{x,y} feature
values in some cases. Instead of including them as features as well, we
compute them directly.

Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20160>

19 months agopvr: Account for other depth formats in pvr_frag_state_stream_init()
Matt Coster [Fri, 2 Dec 2022 11:58:48 +0000 (11:58 +0000)]
pvr: Account for other depth formats in pvr_frag_state_stream_init()

Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20160>

19 months agopvr: Add stencil support in render job setup
Matt Coster [Mon, 28 Nov 2022 15:00:03 +0000 (15:00 +0000)]
pvr: Add stencil support in render job setup

The implementation here assumes separate depth and stencil attachments
are not possible, as they are in Vulkan without VK_KHR_dynamic_rendering
and before core 1.3.

Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20160>

19 months agoci: Allow disabling the whole of austriancoder's farm
Christian Gmeiner [Fri, 7 Oct 2022 11:31:22 +0000 (13:31 +0200)]
ci: Allow disabling the whole of austriancoder's farm

Add a global-level variable that allows disabling all jobs that would
have gone to my lab, to be used in case of outages.

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

19 months agoradv,aco: move radv_ps_epilog_key to the graphics pipeline key
Samuel Pitoiset [Thu, 8 Dec 2022 12:55:34 +0000 (13:55 +0100)]
radv,aco: move radv_ps_epilog_key to the graphics pipeline key

To avoid redundant structs.

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