platform/upstream/mesa.git
2 years agonir: print file when validation fails
Rhys Perry [Wed, 18 Aug 2021 13:18:15 +0000 (14:18 +0100)]
nir: print file when validation fails

This should make it clear whether a validation failure happens in RADV or
zink.

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

2 years agonir: allow NIR_PASS(_, )
Rhys Perry [Wed, 18 Aug 2021 12:50:58 +0000 (13:50 +0100)]
nir: allow NIR_PASS(_, )

If a user wants to skip printing the shader if no changes were made
without declaring a dummy variable for the progress.

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

2 years agoradeonsi: wait for PS idle in si_set_framebuffer_state
Pierre-Eric Pelloux-Prayer [Mon, 16 May 2022 19:06:36 +0000 (21:06 +0200)]
radeonsi: wait for PS idle in si_set_framebuffer_state

This is needed to avoid write-after-read hazards in
texture -> render transitions.

This fixes fbo-depth tests that were flaky on GPUs (at
least sienna_cichlid and vega20).

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

2 years agoamd: rename fishes to Navi21, Navi22, Navi23, Navi24, and Rembrandt
Marek Olšák [Thu, 19 May 2022 09:37:09 +0000 (05:37 -0400)]
amd: rename fishes to Navi21, Navi22, Navi23, Navi24, and Rembrandt

Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Acked-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Martin Roukala <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16604>

2 years agomesa/st: clear color buffers using color from a constant buffer
Indrajit Kumar Das [Fri, 13 May 2022 11:34:15 +0000 (17:04 +0530)]
mesa/st: clear color buffers using color from a constant buffer

v2: fixed GLCTS failures (mareko)

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

2 years agomesa/st: add nir shader to clear color buffers using constant value
Indrajit Kumar Das [Fri, 13 May 2022 11:33:20 +0000 (17:03 +0530)]
mesa/st: add nir shader to clear color buffers using constant value

v2: use load_uniform instead of load_ubo to fix vc4

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

2 years agogallium/u_blitter: clear color buffers using color from a constant buffer
Indrajit Kumar Das [Fri, 13 May 2022 11:32:14 +0000 (17:02 +0530)]
gallium/u_blitter: clear color buffers using color from a constant buffer

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

2 years agoradeonsi: save the fs constant buffer to the util blitter context
Indrajit Kumar Das [Fri, 13 May 2022 11:23:51 +0000 (16:53 +0530)]
radeonsi: save the fs constant buffer to the util blitter context

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

2 years agoRevert "ci: Disable jobs to the Collabora lab"
Tomeu Vizoso [Thu, 19 May 2022 05:36:33 +0000 (07:36 +0200)]
Revert "ci: Disable jobs to the Collabora lab"

This reverts commit 224544dc33c60b933b379eef067058ad31ef7bae.

Work has finished and the lab is up and running.

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

2 years agoutil/u_trace: Add json output
Danylo Piliaiev [Wed, 11 May 2022 09:29:52 +0000 (12:29 +0300)]
util/u_trace: Add json output

If we want to load the u_trace output somewhere for analysis it's much
easier to deal with json than to parse strings.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16475>

2 years agoaco: remove unnecessary intrinsics that are lowered at the ABI level
Samuel Pitoiset [Mon, 16 May 2022 14:53:05 +0000 (16:53 +0200)]
aco: remove unnecessary intrinsics that are lowered at the ABI level

Fixes: f553076eaf1 ("aco: Remove now-superfluous intrinsics.")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16577>

2 years agor300: keep negation if w is an inline constant
Filip Gawin [Tue, 17 May 2022 16:10:21 +0000 (18:10 +0200)]
r300: keep negation if w is an inline constant

(in dataflow swizzles pass)

helps with:
dEQP-GLES2.functional.shaders.random.conditionals.combined.73
on r300 and r400

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16559>

2 years agonir/i915g/r300/nv30: skip marking varyings as flat in some drivers
Timothy Arceri [Wed, 18 May 2022 02:00:30 +0000 (12:00 +1000)]
nir/i915g/r300/nv30: skip marking varyings as flat in some drivers

Some older drivers don't support GLSL versions with the concept of flat
varyings and also don't support integers. Here we add a new setting to
make sure we don't use the optimisation that sets varyings to flat.
This setting helps us avoid marking varyings as flat and therefore
potentially having them changed to ints via varying packing.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6500
Fixes: 7647023f3bb5 ("glsl: enable the use of the nir based varying linker")

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16573>

2 years agov3dv: Loosen an assert in copy_buffer_to_image_shader
Jason Ekstrand [Wed, 18 May 2022 17:49:45 +0000 (12:49 -0500)]
v3dv: Loosen an assert in copy_buffer_to_image_shader

In f99ac7f2de19 ("v3dv: Don't use color aspects for depth/stencil
images"), we stopped using color aspects for depth/stencil images in a
bunch of cases.  This causes us to trigger an assert in
copy_buffer_to_image_shader where it assumes 16-bit is always color but
now it can also be D16_UNORM.  The assert isn't protecting us from
anything we weren't already doing before so we can just loosen it a bit.

Fixes: f99ac7f2de19 ("v3dv: Don't use color aspects for depth/stencil images")
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16592>

2 years agoci/crosvm: Terminate the previous crosvm after a deqp-runner timeout.
Emma Anholt [Tue, 10 May 2022 21:48:28 +0000 (14:48 -0700)]
ci/crosvm: Terminate the previous crosvm after a deqp-runner timeout.

When deqp-runner times out, it kills the deqp process, which in our case
is the previous invocation of our shell script, so the crosvm and socat
cleanup never happened.  crosvm has a way to cleanly shut down a previous
crosvm invocation, so let's just use that and do our cleanup when we need
to.

Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16485>

2 years agoci/crosvm: Rename VSOCK_TEMP_DIR -> VM_TEMP_DIR.
Emma Anholt [Wed, 11 May 2022 17:13:23 +0000 (10:13 -0700)]
ci/crosvm: Rename VSOCK_TEMP_DIR -> VM_TEMP_DIR.

It doesn't contain anything about the vsocks, just files shared between
the host and the guest.

Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16485>

2 years agoci/crosvm: Simplify the CID setup.
Emma Anholt [Tue, 10 May 2022 21:44:07 +0000 (14:44 -0700)]
ci/crosvm: Simplify the CID setup.

Now that deqp-runner tells us which thread we are, we don't need to go
probing for a spare directory to use.

Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16485>

2 years agodzn: Add new parameter to vk_image_view_init call
Jesse Natalie [Wed, 18 May 2022 16:49:46 +0000 (09:49 -0700)]
dzn: Add new parameter to vk_image_view_init call

Fixes: fc8d2543 ("vulkan,v3dv: Add a driver_internal flag to vk_image_view_init/create")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16589>

2 years agod3d12: MSVC warning around operator precedence causing uint32_t==bool
Jesse Natalie [Wed, 18 May 2022 16:13:32 +0000 (09:13 -0700)]
d3d12: MSVC warning around operator precedence causing uint32_t==bool

Fixes: b171a6ba ("d3d12: Add video encode implementation of pipe_video_codec")
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16588>

2 years agod3d12: Don't use VLAs
Jesse Natalie [Wed, 18 May 2022 16:13:14 +0000 (09:13 -0700)]
d3d12: Don't use VLAs

Fixes: 739283da ("d3d12: Improve planar resource support to handle video requirements")
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16588>

2 years agod3d12: Include windows.h on Windows before dxgicommon.h
Jesse Natalie [Wed, 18 May 2022 16:12:39 +0000 (09:12 -0700)]
d3d12: Include windows.h on Windows before dxgicommon.h

The dxgicommon.h header uses UINT types without including windows.h itself.

Fixes: 6dbe05ff ("d3d12: Add util video functions to d3d12_format")
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16588>

2 years agoradv: init states from pRasterizationState at only one place
Samuel Pitoiset [Mon, 16 May 2022 17:00:52 +0000 (19:00 +0200)]
radv: init states from pRasterizationState at only one place

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16552>

2 years agoradv: init states from pViewportState at only one place
Samuel Pitoiset [Mon, 16 May 2022 16:42:53 +0000 (18:42 +0200)]
radv: init states from pViewportState at only one place

Except the viewport/scissor arrays to avoid useless array copies.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16552>

2 years agoradv: init states from pTessellationState at only one place
Samuel Pitoiset [Mon, 16 May 2022 16:38:06 +0000 (18:38 +0200)]
radv: init states from pTessellationState at only one place

It's part of the pre-rasterization state of graphics pipeline libs.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16552>

2 years agotu: Implement VK_EXT_pipeline_creation_cache_control
Connor Abbott [Tue, 17 May 2022 14:28:30 +0000 (16:28 +0200)]
tu: Implement VK_EXT_pipeline_creation_cache_control

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

2 years agotu: Implement VK_EXT_pipeline_creation_feedback
Connor Abbott [Mon, 16 May 2022 17:11:42 +0000 (19:11 +0200)]
tu: Implement VK_EXT_pipeline_creation_feedback

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

2 years agotu: Zero-initialize compute driver key
Connor Abbott [Tue, 17 May 2022 14:06:38 +0000 (16:06 +0200)]
tu: Zero-initialize compute driver key

Fixes: 05329d7 ("tu: Implement pipeline caching with shared Vulkan cache")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16562>

2 years agodrirc: Set limit_trig_input_range option for glmark2
Vadym Shovkoplias [Mon, 16 May 2022 12:49:52 +0000 (15:49 +0300)]
drirc: Set limit_trig_input_range option for glmark2

This fixes jellyfish rendering issues in glmark2 on Intel.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6479
Signed-off-by: Vadym Shovkoplias <vadym.shovkoplias@globallogic.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16525>

2 years agofreedreno/a6xx: Add EARLYPREAMBLE flag to all a6xx_sp_xs_ctrl_reg0
Danylo Piliaiev [Tue, 12 Apr 2022 18:04:35 +0000 (21:04 +0300)]
freedreno/a6xx: Add EARLYPREAMBLE flag to all a6xx_sp_xs_ctrl_reg0

Each shader stage has its own "early preamble" flag.

Early preamble is likely an optimization to hide some of latency
when loading UBOs into consts in the preamble.

Early preamble has the following limitations:
- Only shared, a1, and consts regs could be used
  (accessing other regs would result in GPU fault);
- No cat5/cat6, only stc/ldc variants are working;
- Values writen to shared regs are not accessible by the rest
  of the shader;
- Instructions before shps are also considered to be a part of
  early preamble.

Note, for all shaders from d3d11 games blob produced preambles
compatible with early preamble mode.

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

2 years agoRevert "st/mesa: Transcode ASTC to BC7 (BPTC) where possible"
Kenneth Graunke [Tue, 17 May 2022 20:51:49 +0000 (13:51 -0700)]
Revert "st/mesa: Transcode ASTC to BC7 (BPTC) where possible"

This reverts commit 68ef895674b176b4faf875a4d7f4d787b330d4d9.

When trying out transcode_astc=true with BPTC on Asphalt 9, we observed
very poor image quality - to the point that basic UI icons were blocky,
and buttons with a black border had smeared pixels on the edges.  Using
DXT5 had no such issues.

I originally suspected there was a bug in the BPTC encoder, but I now
believe the issue is deeper than that.  The commit that introduced the
encoder, 17cde55c538009764207bd29b78a909d2c5d14b4, says:

   "The compressor is written from scratch and takes a very simple
    approach.  It always uses a single mode of the BPTC format (4 for
    unorm and 3 for half-floats) and picks the two endpoints by dividing
    the texels into those which have more or less than the average
    luminance of the block and then calculating an average color of the
    texels within each division.

    It's probably not really sensible to try to use BPTC compression at
    runtime because for example with the Nvidia offline compression tool
    it can take in the order of an hour to compress a full-screen image.
    With that in mind I don't think it's worth having a proper compressor
    in Mesa and this approach gives reasonable results for a usage that
    is basically a corner case."

In other words, the reason our BPTC compressor was so fast is that it
only implements one of the modes and does a low quality approximation.
This honestly should probably be improved somewhat, but the original
use case was for online-compression, the uncommon but mandatory OpenGL
feature where you can supply uncompressed data and trust the driver to
compress it for you (at unknown and uncontrolled quality and speed).

Unfortunately, the compressor as it stands is simply not usable for
transcoding ASTC data where we want to preserve the underlying image
quality as much as possible.

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16566>

2 years agoradeonsi: fix glTexBuffer max size handling
Pierre-Eric Pelloux-Prayer [Thu, 12 May 2022 18:09:22 +0000 (20:09 +0200)]
radeonsi: fix glTexBuffer max size handling

The spec says the number of texels must be clamped to the value of
GL_MAX_TEXTURE_BUFFER_SIZE.

Reviewed-by: Qiang Yu <yuq825@gmail.com>
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16480>

2 years agodocs: update extensions for V3D and VC4
Juan A. Suarez Romero [Mon, 16 May 2022 14:18:06 +0000 (16:18 +0200)]
docs: update extensions for V3D and VC4

Mark some extensions that are already supported by V3D and VC4.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16528>

2 years agoradv: add new pipeline helpers for NIR->ASM compilation
Samuel Pitoiset [Wed, 13 Apr 2022 08:13:30 +0000 (10:13 +0200)]
radv: add new pipeline helpers for NIR->ASM compilation

It walks backwards to compile, looks cleaner to me.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16553>

2 years agoradv: do not try to dump the NIR of the trap handler shader
Samuel Pitoiset [Wed, 13 Apr 2022 08:23:08 +0000 (10:23 +0200)]
radv: do not try to dump the NIR of the trap handler shader

There is no NIR at all.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16553>

2 years agoradv: rename shader compile functions to spirv_to_nir/nir_to_asm
Samuel Pitoiset [Wed, 13 Apr 2022 07:55:45 +0000 (09:55 +0200)]
radv: rename shader compile functions to spirv_to_nir/nir_to_asm

For better clarity.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16553>

2 years agoradv/ci: enable the experimental support for mesh shaders
Martin Roukala (né Peres) [Tue, 17 May 2022 06:22:09 +0000 (09:22 +0300)]
radv/ci: enable the experimental support for mesh shaders

The experimental support has been merged for months already, but has
been left unexercised in CI even though dEQP has a mesh_shader.nv
category.

This commit enables the experimental support, which should bring
additional testing \o/.

Suggested-by: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16550>

2 years agoci: Disable jobs to the Collabora lab
Tomeu Vizoso [Thu, 24 Feb 2022 06:34:09 +0000 (07:34 +0100)]
ci: Disable jobs to the Collabora lab

In anticipation of infrastructure work.

This commit is to be reverted later in the day.

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

2 years agovulkan/pipeline_cache: Implement deserialize for raw objects
Jason Ekstrand [Mon, 2 May 2022 16:43:17 +0000 (11:43 -0500)]
vulkan/pipeline_cache: Implement deserialize for raw objects

When caching NIR, it's cached as a raw object because we cache the
serialized NIR.  When it's then loaded from the disk cache later, we
fail to deserialize it because raw objects are a special case.  There
are two callers of vk_pipeline_cache_object_deserialize(), one of which
has a special case for raw objects and the other is called only when
we've checked that it isn't a raw object.  The special cases are
pointless; raw objects should deserialize themselves.

Fixes: 591da9877900 ("vulkan: Add a common VkPipelineCache implementation")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16281>

2 years agozink: add ZINK_DEBUG=sync
Mike Blumenkrantz [Wed, 20 Apr 2022 16:19:52 +0000 (12:19 -0400)]
zink: add ZINK_DEBUG=sync

this is great for debugging

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

2 years agozink: add c++ guards for zink_screen.h
Mike Blumenkrantz [Mon, 16 May 2022 15:27:58 +0000 (11:27 -0400)]
zink: add c++ guards for zink_screen.h

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

2 years agozink: fix non-dynamic vertex stride update flagging
Mike Blumenkrantz [Tue, 26 Apr 2022 13:02:57 +0000 (09:02 -0400)]
zink: fix non-dynamic vertex stride update flagging

without dynamic vertex input, pipeline vertex state must be recalculated
if buffer strides change or the enabled buffer mask changes in order
to accurately handle dynamic state stride VUs

cc: mesa-stable

fixes:
spec@!opengl 1.1@array-stride

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

2 years agozink: handle PIPE_BUFFER sparse texture queries
Mike Blumenkrantz [Thu, 21 Apr 2022 17:10:37 +0000 (13:10 -0400)]
zink: handle PIPE_BUFFER sparse texture queries

this is legal but was never handled

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

2 years agozink: clamp 1D_ARRAY sparse textures to 2D as needed
Mike Blumenkrantz [Thu, 21 Apr 2022 17:09:46 +0000 (13:09 -0400)]
zink: clamp 1D_ARRAY sparse textures to 2D as needed

forgot to handle this case

cc: mesa-stable

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

2 years agozink: force render target usage for sampler-only resources
Mike Blumenkrantz [Wed, 20 Apr 2022 17:51:13 +0000 (13:51 -0400)]
zink: force render target usage for sampler-only resources

these might hit u_blitter later, which will require rt usage
to handle texture views, so add rt usage now to avoid failing later

cc: mesa-stable

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

2 years agozink: fix surface/bufferview cache comparisons
Mike Blumenkrantz [Wed, 20 Apr 2022 19:07:03 +0000 (15:07 -0400)]
zink: fix surface/bufferview cache comparisons

these caches ignore pNext from the create info since the pNext cannot
affect the eventual object that is created, so comparing it will break
the hash table

cc: mesa-stable

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

2 years agozink: add extended usage and retry if resource creation fails
Mike Blumenkrantz [Wed, 20 Apr 2022 17:29:52 +0000 (13:29 -0400)]
zink: add extended usage and retry if resource creation fails

this is one of those cases where some bizarro format is being created
for sampling only, but gallium blasts out all the bind flags at once

trust that we're not going to do anything too crazy and let surface
usage pruning handle the rest

cc: mesa-stable

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

2 years agozink: remove input attachment usage when pruning surface usage
Mike Blumenkrantz [Wed, 20 Apr 2022 17:28:09 +0000 (13:28 -0400)]
zink: remove input attachment usage when pruning surface usage

if the format doesn't support color attachment, it doesn't need to
be an input attachment

cc: mesa-stable

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

2 years agozink: add extra validation for resource creation
Mike Blumenkrantz [Wed, 20 Apr 2022 16:57:47 +0000 (12:57 -0400)]
zink: add extra validation for resource creation

check image params against driver's returned limits to avoid
failing later

cc: mesa-stable

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

2 years agozink: add separate error message for push descriptor set alloc fail
Mike Blumenkrantz [Fri, 15 Apr 2022 15:17:48 +0000 (11:17 -0400)]
zink: add separate error message for push descriptor set alloc fail

PRO triggers this if input attachments are used

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

2 years agozink: only reject non-blittable resource creation if it has no other binds
Mike Blumenkrantz [Wed, 20 Apr 2022 13:45:51 +0000 (09:45 -0400)]
zink: only reject non-blittable resource creation if it has no other binds

the idea here is that if a resource is intended to be used solely as a rendertarget
and can't be blitted to or drawn to, then resource creation should fail

but if the resource might be e.g., a texture, then it can probably hit the subdata
path and be fine

Fixes: 37ac8647fca ("zink: reject resource creation if format features don't match attachment")

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

2 years agowgl: Add driver_zink as a dependency of the wgl frontend
xperia64 [Tue, 17 May 2022 23:46:20 +0000 (19:46 -0400)]
wgl: Add driver_zink as a dependency of the wgl frontend

Fixes: 01ed71f9451 ("wgl: support kopper")

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

2 years agozink: never create a sw context unless sw is requested
Mike Blumenkrantz [Tue, 3 May 2022 23:14:00 +0000 (19:14 -0400)]
zink: never create a sw context unless sw is requested

this otherwise makes it impossible to accurately do hardware driver
fallback, as zink will create a sw context instead of failing, superceding
the actual sw driver priorities

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

2 years agolavapipe: support instance rate zero for VK_EXT_vertex_attribute_divisor
Jonathan Weinstein [Mon, 16 May 2022 13:13:00 +0000 (15:13 +0200)]
lavapipe: support instance rate zero for VK_EXT_vertex_attribute_divisor

gallium can't directly support vertex attribute instance rate zero, since
the instance rate is also used to determine if the data is per-vertex or
per-instance in the first place (hence divisor zero meaning the data is
per vertex).
While it's an optional feature for VK_EXT_vertex_attribute_divisor, some
apps require it to work (it's a standard d3d10 feature and widely
supported), hence translate it away as MAX_UINT32 divisor instead (which
at this point probably makes more sense than to change the gallium
interface), which should work all the same.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16526>

2 years agoglsl: Drop this != NULL assertions
Jason Ekstrand [Tue, 17 May 2022 15:48:40 +0000 (10:48 -0500)]
glsl: Drop this != NULL assertions

If this == NULL, we'll get a crash which is pretty much the same thing
when it comes to ease of debugging.  This fixes a giant pile of warnings
with GCC 12 of the form:

    ../src/compiler/glsl/ir.h: In member function ‘ir_dereference* ir_instruction::as_dereference()’:
    ../src/util/macros.h:149:30: warning: ‘nonnull’ argument ‘this’ compared to NULL [-Wnonnull-compare]
      149 | #define assume(expr) ((expr) ? ((void) 0) \
          |                      ~~~~~~~~^~~~~~~~~~~~~~
      150 |                              : (assert(!"assumption failed"), \
          |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      151 |                                 __builtin_unreachable()))
          |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~
    ../src/compiler/glsl/ir.h:150:7: note: in expansion of macro ‘assume’
      150 |       assume(this != NULL);                             \
          |       ^~~~~~
    ../src/compiler/glsl/ir.h:160:4: note: in expansion of macro ‘AS_BASE’
      160 |    AS_BASE(dereference)

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

2 years agoturnip: fix off-by-one in border color bitset
Chia-I Wu [Tue, 17 May 2022 22:49:03 +0000 (15:49 -0700)]
turnip: fix off-by-one in border color bitset

BITSET_FFS reserves 0 for no bit set.  BITSET_CLEAR just below cleared
the wrong bit.

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

2 years agoiris: Add FLUSH_HDC to PIPE_CONTROL_CACHE_FLUSH_BITS
Kenneth Graunke [Thu, 14 Apr 2022 05:59:12 +0000 (22:59 -0700)]
iris: Add FLUSH_HDC to PIPE_CONTROL_CACHE_FLUSH_BITS

This is considered a bottom-of-pipe flush bit.

Fixes: a969ad1ddfd ("iris: Demote DC flush to HDC flush in cache tracker")
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16565>

2 years agozink: add an anv-tgl ci job
Mike Blumenkrantz [Thu, 12 May 2022 17:07:13 +0000 (13:07 -0400)]
zink: add an anv-tgl ci job

Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16497>

2 years agomeson: Support d3d12 as a video-supporting driver
Sil Vilerino [Mon, 2 May 2022 17:16:45 +0000 (10:16 -0700)]
meson: Support d3d12 as a video-supporting driver

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>

2 years agod3d12: Add GLSL singleton refcounting to screen for offscreen non-GL rendering
Sil Vilerino [Mon, 2 May 2022 20:19:08 +0000 (13:19 -0700)]
d3d12: Add GLSL singleton refcounting to screen for offscreen non-GL rendering

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>

2 years agod3d12: Add support for d3d12 video in d3d12_screen
Sil Vilerino [Mon, 2 May 2022 17:15:38 +0000 (10:15 -0700)]
d3d12: Add support for d3d12 video in d3d12_screen

Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>

2 years agod3d12: Improve planar resource support to handle video requirements
Sil Vilerino [Mon, 2 May 2022 17:14:29 +0000 (10:14 -0700)]
d3d12: Improve planar resource support to handle video requirements

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>

2 years agod3d12: Add util video functions to d3d12_format
Sil Vilerino [Mon, 2 May 2022 17:10:45 +0000 (10:10 -0700)]
d3d12: Add util video functions to d3d12_format

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>

2 years agod3d12: Add create_video_codec and create_video_buffer entrypoints
Sil Vilerino [Mon, 2 May 2022 17:07:57 +0000 (10:07 -0700)]
d3d12: Add create_video_codec and create_video_buffer entrypoints

Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>

2 years agod3d12: Add video encode implementation of pipe_video_codec
Sil Vilerino [Mon, 2 May 2022 17:06:27 +0000 (10:06 -0700)]
d3d12: Add video encode implementation of pipe_video_codec

Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>

2 years agod3d12: Add video decode implementation of pipe_video_codec
Sil Vilerino [Mon, 2 May 2022 17:00:10 +0000 (10:00 -0700)]
d3d12: Add video decode implementation of pipe_video_codec

Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>

2 years agoci: Update x86 debian build to pick up tag v1.602.0-r1 from DirectX-Headers
Sil Vilerino [Thu, 12 May 2022 17:36:38 +0000 (10:36 -0700)]
ci: Update x86 debian build to pick up tag v1.602.0-r1 from DirectX-Headers

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>

2 years agod3d12: Add d3d12_promote_to_permanent_residency
Sil Vilerino [Tue, 3 May 2022 18:00:31 +0000 (11:00 -0700)]
d3d12: Add d3d12_promote_to_permanent_residency

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>

2 years agogallium va: VaHandlePictureParameterBufferH264 fill out new pipe params
Sil Vilerino [Mon, 2 May 2022 16:50:23 +0000 (09:50 -0700)]
gallium va: VaHandlePictureParameterBufferH264 fill out new pipe params
MinLumaBiPredSize8x8, pic_init_qs_minus26, chroma_format_idc,
bit_depth_chroma, bit_depth_chroma_minus8

Reviewed-by: Leo Liu <leo.liu@amd.com>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>

2 years agogallium vdpau: Fill out level_idc and MinLumaBiPredSize8x8
Sil Vilerino [Mon, 2 May 2022 16:45:42 +0000 (09:45 -0700)]
gallium vdpau: Fill out level_idc and MinLumaBiPredSize8x8

Reviewed-by: Leo Liu <leo.liu@amd.com>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>

2 years agogallium omx: Fill out MinLumaBiPredSize8x8 and pic_init_qs_minus26
Sil Vilerino [Mon, 2 May 2022 16:42:53 +0000 (09:42 -0700)]
gallium omx: Fill out MinLumaBiPredSize8x8 and pic_init_qs_minus26

Reviewed-by: Leo Liu <leo.liu@amd.com>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>

2 years agogallium: Add MinLumaBiPredSize8x8 to pipe_h264_sps, pic_init_qs_minus26 to pipe_h264_pps
Sil Vilerino [Mon, 2 May 2022 16:39:39 +0000 (09:39 -0700)]
gallium: Add MinLumaBiPredSize8x8 to pipe_h264_sps, pic_init_qs_minus26 to pipe_h264_pps

Reviewed-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>

2 years agogallium radeon/r600/omx/va: Adds support for multiple reference encoding
Sil Vilerino [Mon, 2 May 2022 16:41:00 +0000 (09:41 -0700)]
gallium radeon/r600/omx/va: Adds support for multiple reference encoding

gallium: pipe_h264_enc_picture_desc: ref_idx_lx to ref_idx_lx_list[32], add num_ref_idx_lx_active_minus1
gallium radeon/r600: Change usage of ref_idx_lx to ref_idx_lx_list
gallium omx: Fill out ref_idx_lx_list, num_ref_idx_lx_active_minus1
gallium va: Add support for multiple references encoding

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>

2 years agogallium va: Add support for multiple slices encoding
Sil Vilerino [Mon, 2 May 2022 16:55:32 +0000 (09:55 -0700)]
gallium va: Add support for multiple slices encoding

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>

2 years agogallium: Add multiple slice support to pipe_h264_enc_picture_desc
Sil Vilerino [Mon, 2 May 2022 16:41:33 +0000 (09:41 -0700)]
gallium: Add multiple slice support to pipe_h264_enc_picture_desc

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>

2 years agogallium va: Handle new VA attributes with new pipe video caps
Sil Vilerino [Fri, 6 May 2022 20:23:23 +0000 (13:23 -0700)]
gallium va: Handle new VA attributes with new pipe video caps

Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>

2 years agogallium: Add values to pipe_video_cap for multi-slice and multi-reference encode
Sil Vilerino [Fri, 6 May 2022 20:21:32 +0000 (13:21 -0700)]
gallium: Add values to pipe_video_cap for multi-slice and multi-reference encode

Acked-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>

2 years agogallium va: VaDeriveImage support stride/offset being different for NV12 planes
Sil Vilerino [Mon, 2 May 2022 16:32:55 +0000 (09:32 -0700)]
gallium va: VaDeriveImage support stride/offset being different for NV12 planes

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Thong Thai <thong.thai@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>

2 years agogallium/va/radeonsi: Using private as a parameter name conflicts with C++ keywords
Sil Vilerino [Mon, 2 May 2022 22:22:50 +0000 (15:22 -0700)]
gallium/va/radeonsi: Using private as a parameter name conflicts with C++ keywords

Reviewed-by: Leo Liu <leo.liu@amd.com>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>

2 years agod3d12: Add .clang_format file
Sil Vilerino [Mon, 2 May 2022 16:31:15 +0000 (09:31 -0700)]
d3d12: Add .clang_format file

Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>

2 years agost_vdpau: Pass format when opening resource from handle in st_vdpau_resource_from_des...
Sil Vilerino [Mon, 2 May 2022 16:29:17 +0000 (09:29 -0700)]
st_vdpau: Pass format when opening resource from handle in st_vdpau_resource_from_description

Reviewed-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>

2 years agoutil/vl_vlc: Support compiling in C++
Sil Vilerino [Mon, 2 May 2022 16:27:37 +0000 (09:27 -0700)]
util/vl_vlc: Support compiling in C++

Reviewed-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>

2 years agoutil/u_format: Drop assert that has valid/well-defined behavior
Sil Vilerino [Mon, 2 May 2022 16:27:09 +0000 (09:27 -0700)]
util/u_format: Drop assert that has valid/well-defined behavior

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>

2 years agogallium/vl: Add software winsys and offscreen winsys
Sil Vilerino [Mon, 2 May 2022 16:25:56 +0000 (09:25 -0700)]
gallium/vl: Add software winsys and offscreen winsys

Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>

2 years agodri2: Require a loader with working buffer invalidation
Adam Jackson [Wed, 2 Jun 2021 18:40:33 +0000 (14:40 -0400)]
dri2: Require a loader with working buffer invalidation

Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10808>

2 years agoglx/dri2: Require DRI2 >= 1.3 for working buffer invalidation
Adam Jackson [Wed, 2 Jun 2021 18:39:33 +0000 (14:39 -0400)]
glx/dri2: Require DRI2 >= 1.3 for working buffer invalidation

Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10808>

2 years agozink: fix pointer size conversion warning
Michel Zou [Mon, 16 May 2022 16:52:29 +0000 (18:52 +0200)]
zink: fix pointer size conversion warning

fixes:  34e62bfa

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

2 years agointel/perf: deal with OA reports timestamp values on DG2
Lionel Landwerlin [Wed, 23 Jun 2021 16:17:51 +0000 (19:17 +0300)]
intel/perf: deal with OA reports timestamp values on DG2

OA reports on XeHP have their timestamp shifted to the left by 1. To
get that back in the same time domain as the REG_READ you need to
shift it back to the right and you're loosing the top bit.

v2: use ull for 64bit constant (Ian)

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

2 years agointel/perf: disable sseu setting on Gfx12.5+
Lionel Landwerlin [Mon, 19 Jul 2021 09:33:26 +0000 (12:33 +0300)]
intel/perf: disable sseu setting on Gfx12.5+

This is rejected by i915.

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

2 years agointel/perf: add new layout for Gfx12.5 products
Lionel Landwerlin [Wed, 7 Jul 2021 07:15:28 +0000 (00:15 -0700)]
intel/perf: add new layout for Gfx12.5 products

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

2 years agointel/perf: add max vfuncs
Lionel Landwerlin [Thu, 10 Mar 2022 10:18:51 +0000 (12:18 +0200)]
intel/perf: add max vfuncs

New counters will use those from inside their read function to
generate percentage numbers.

v2: Forgot to update Iris (Lionel)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> (v1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16144>

2 years agointel/perf: add support new variable counting the number of EUs in slice0-3
Lionel Landwerlin [Wed, 23 Jun 2021 15:28:13 +0000 (18:28 +0300)]
intel/perf: add support new variable counting the number of EUs in slice0-3

v2: MIN2(4, max_slices) (Marcin)

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

2 years agointel/perf: add OA A counter type
Lionel Landwerlin [Wed, 7 Jul 2021 07:13:06 +0000 (00:13 -0700)]
intel/perf: add OA A counter type

On Gfx12.5 products, we'll need to capture a couple of A counters that
are not captured in MI_RPC reports. Those are actually global,
previously all A counters were per context.

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

2 years agointel/perf: stop overriding oa_format
Lionel Landwerlin [Wed, 7 Jul 2021 07:12:13 +0000 (00:12 -0700)]
intel/perf: stop overriding oa_format

This already set in the intel_perf_setup.h file at metric set
creation.

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

2 years agointel/perf: add support for GtSlice/GtSliceXDualsubsliceY variables
Lionel Landwerlin [Wed, 23 Jun 2021 14:54:08 +0000 (17:54 +0300)]
intel/perf: add support for GtSlice/GtSliceXDualsubsliceY variables

For those, we'll fish the information out of the devinfo.

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

2 years agointel/perf: add support for dualsubslice count variable
Lionel Landwerlin [Wed, 23 Jun 2021 14:53:15 +0000 (17:53 +0300)]
intel/perf: add support for dualsubslice count variable

This is the same as the subslice count.

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

2 years agointel/perf: store a copy of devinfo
Lionel Landwerlin [Wed, 23 Jun 2021 14:47:29 +0000 (17:47 +0300)]
intel/perf: store a copy of devinfo

In the future we'll pull more information off devinfo.

v2: Constify pointers (Ian)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16144>

2 years agointel/perf: add support for new opcodes in code generation
Lionel Landwerlin [Wed, 23 Jun 2021 14:40:00 +0000 (17:40 +0300)]
intel/perf: add support for new opcodes in code generation

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

2 years agovenus: Don't encode ignored pTessellationState
Chad Versace [Mon, 2 May 2022 19:56:24 +0000 (12:56 -0700)]
venus: Don't encode ignored pTessellationState

The spec says that VkGraphicsPipelineCreateInfo::pTessellationState is
ignored and may be an invalid pointer in some cases. When ignored,
patch the pCreateInfo with `pTessellationState = NULL`, so the encoder
doesn't attempt to encode an invalid pointer.

Tested in Borealis, with debug build of venus, with a minimal test app
that sets `.pTesselationState = 0x17`. Pre-patch, the app crashes;
post-patch, the app works.

Signed-off-by: Chad Versace <chadversary@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16284>

2 years agovenus: Refactor vn_fix_graphics_pipeline_create_info
Chad Versace [Mon, 2 May 2022 19:49:16 +0000 (12:49 -0700)]
venus: Refactor vn_fix_graphics_pipeline_create_info

We currently do only a single fix. Prepare to do multiple independent
fixes.

Signed-off-by: Chad Versace <chadversary@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16284>

2 years agovl: fix codec checks to disable properly
Dave Airlie [Tue, 17 May 2022 00:05:50 +0000 (10:05 +1000)]
vl: fix codec checks to disable properly

This was wrong and enabled codecs where they shouldn't have been.

Fixes: 7ab05e3c3fe3 ("gallium/vl: respect the video codecs configure in meson")
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16542>