platform/upstream/mesa.git
23 months agoanv: move restart index to gfx state
Lionel Landwerlin [Mon, 4 Jul 2022 07:05:21 +0000 (10:05 +0300)]
anv: move restart index to gfx state

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

23 months agoanv: fix primitive topology dynamic state emission on gfx7
Lionel Landwerlin [Sat, 2 Jul 2022 19:29:41 +0000 (22:29 +0300)]
anv: fix primitive topology dynamic state emission on gfx7

This dynamic state uses the pipeline information so it needs to be
reemitted whenever the pipeline changes.

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

23 months agoanv: name non dynamic state fields correctly
Lionel Landwerlin [Sun, 23 Jan 2022 14:20:46 +0000 (16:20 +0200)]
anv: name non dynamic state fields correctly

Those fields have confusing names. They hold non dynamic state,
specified at pipeline creation that we copy into the dynamic state of
the command buffer whenever we bind a pipeline. This non dynamic state
might get picked up in the dynamically emitted instructions of the 3D
pipeline because our HW packets are not exactly splitted like the
Vulkan API.

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

23 months agoanv: reorder & document fields of anv_graphics_pipeline
Lionel Landwerlin [Sun, 23 Jan 2022 14:15:10 +0000 (16:15 +0200)]
anv: reorder & document fields of anv_graphics_pipeline

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

23 months agoanv: move CreateRayTracingPipelines to common code
Lionel Landwerlin [Fri, 28 Jan 2022 11:22:26 +0000 (13:22 +0200)]
anv: move CreateRayTracingPipelines to common code

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

23 months agoanv: move CreateComputePipelines to common code
Lionel Landwerlin [Sat, 22 Jan 2022 20:33:35 +0000 (22:33 +0200)]
anv: move CreateComputePipelines to common code

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

23 months agoanv: move CreateGraphicsPipelines to common code
Lionel Landwerlin [Sat, 22 Jan 2022 20:26:46 +0000 (22:26 +0200)]
anv: move CreateGraphicsPipelines to common code

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

23 months agoanv: rename internal function for consistency
Lionel Landwerlin [Sat, 22 Jan 2022 12:47:59 +0000 (14:47 +0200)]
anv: rename internal function for consistency

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

23 months agoanv: Don't use the wrong ARRAY_SIZE
Jason Ekstrand [Fri, 15 Jul 2022 10:19:12 +0000 (05:19 -0500)]
anv: Don't use the wrong ARRAY_SIZE

Even though this doesn't change anything, it's not good to use an
ARRAY_SIZE for one array to iterate over another.

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

23 months agoanv: split graphics nir loading
Lionel Landwerlin [Fri, 21 Jan 2022 22:35:24 +0000 (00:35 +0200)]
anv: split graphics nir loading

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

23 months agoanv: break up anv_pipeline_compile_graphics()
Lionel Landwerlin [Fri, 21 Jan 2022 12:36:34 +0000 (14:36 +0200)]
anv: break up anv_pipeline_compile_graphics()

This function is pretty overwhelming.

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

23 months agoanv: simplify dynamic buffer count in pipeline layout
Lionel Landwerlin [Wed, 23 Mar 2022 15:05:15 +0000 (17:05 +0200)]
anv: simplify dynamic buffer count in pipeline layout

anv_descriptor_set_layout already has the information we're gather
here.

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

23 months agoanv: remove local computation of dynamic states
Lionel Landwerlin [Fri, 21 Jan 2022 12:35:04 +0000 (14:35 +0200)]
anv: remove local computation of dynamic states

This bit mask is already computed in
anv_graphics_pipeline::dynamic_states in anv_graphics_pipeline_init().

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

23 months agovulkan: Detect pNext chain loops in vk_foreach_struct()
Jason Ekstrand [Mon, 18 Jul 2022 14:05:59 +0000 (09:05 -0500)]
vulkan: Detect pNext chain loops in vk_foreach_struct()

This implements the "tortoise and the hare" algorithm for detecting
cycles in graphs.  We use the caller's iterator as the hare and our own
internal copy as the tortoise.  Conveniently, VkBaseOutStructure (and
VkBaseInStructure which is identical except the pointer type on pNext)
have a pointer we can use for the tortoise and an sType which we can use
for a counter to ensure we only increment the tortose every other loop
iteration.

There are more efficient algorithms than tortoise and hare but they
require allocating memory for something like a hash set of seen nodes.
Since this for debug purposes only, it's ok for it to be a bit
inefficient in the case where it hits the assert.  In the usual case of
no loops, it's the same runtime efficiency as the unchecked version
except that it does a tiny bit of math and 50% more pointer chases.

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

23 months agointel/fs: Simplify brw_barycentric_mode() args.
Emma Anholt [Wed, 6 Jul 2022 20:01:24 +0000 (13:01 -0700)]
intel/fs: Simplify brw_barycentric_mode() args.

Reduce a bit of mode lookup noise I was tracing through trying to resolve
the previous bug.

Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17381>

23 months agointel/fs: Set NonPerspectiveBarycentricEnable when the interpolator needs it.
Lionel Landwerlin [Thu, 7 Jul 2022 09:24:38 +0000 (12:24 +0300)]
intel/fs: Set NonPerspectiveBarycentricEnable when the interpolator needs it.

[anholt: changed to make all drivers do the right thing by moving the
payload barycentric check into the compiler]

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

23 months agoci: move apitrace instalation outside of x86_test-vk
David Heidelberg [Sat, 16 Jul 2022 13:21:38 +0000 (15:21 +0200)]
ci: move apitrace instalation outside of x86_test-vk

It'll be re-used by piglit traces.

Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Reviewed-by: Andres Gomez <agomez@igalia.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17573>

23 months agofreedreno/ir3: Enable core NIR's 16-bit ALU optimizations.
Emma Anholt [Thu, 14 Jul 2022 18:33:19 +0000 (11:33 -0700)]
freedreno/ir3: Enable core NIR's 16-bit ALU optimizations.

In addition to hopefully generating shorter code, this optimizes out a
comparison of a mediump-cast value in
dEQP-GLES2.functional.shaders.algorithm.rgb_to_hsl_fragment passed
through ANGLE, and allows the test to pass.  We believe it to be a
test bug, but emitting better code like apparently everyone else does
is also a fine result.

No change on GLES gfxbench shaders.

Fixes: #6585
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17546>

23 months agovulkan: Common vk_format_get_component_bits
Konstantin Seurer [Wed, 13 Jul 2022 12:20:36 +0000 (14:20 +0200)]
vulkan: Common vk_format_get_component_bits

RADV and PowerVR use the same implementation.
Turnip does use a slightly modified version but the helper only has one
use -> just inline it and get rid of turnip's vk_format.h.

Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17515>

23 months agobuild(glx): Fix build by adding missing deps
jheaff1 [Sun, 17 Jul 2022 22:04:23 +0000 (23:04 +0100)]
build(glx): Fix build by adding missing deps

dri3_glx.c includes xshmfence and glxcmds.c includes xf86vm, neither of
which are listed as dependencies of the glx lib in the meson.build file.
Consequently, those files would fail to compile on machines that did not
have xshmfence and xf86vm installed globally. This commit rectifies the
issue by adding the missing dependencies

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

23 months agomesa/st: add implicit zeroing of clipdistance array
Mike Blumenkrantz [Tue, 12 Jul 2022 17:57:31 +0000 (13:57 -0400)]
mesa/st: add implicit zeroing of clipdistance array

GL drivers have an implicit default of "in bounds" for unwritten clipdistance
values, but some (layered) drivers have to deal with api mismatch which
prevents that implicit value from being used after the shader
gets mangled by various compiler passes

to avoid issues here, write out all members of the clipdistance array
with zeroes at the very start of the shader such that any values the
shader actually writes will naturally overwrite the implicit zero and
any unwritten values will now be written as zero

fixes #6845

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

23 months agozink: tu a630 baseline update
Mike Blumenkrantz [Wed, 13 Jul 2022 22:00:13 +0000 (18:00 -0400)]
zink: tu a630 baseline update

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

23 months agozink: nv baseline update
Mike Blumenkrantz [Wed, 13 Jul 2022 22:00:04 +0000 (18:00 -0400)]
zink: nv baseline update

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

23 months agokopper: Implement {EGL,GLX}_EXT_buffer_age
Adam Jackson [Tue, 12 Jul 2022 18:26:15 +0000 (14:26 -0400)]
kopper: Implement {EGL,GLX}_EXT_buffer_age

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

23 months agozink: break out tc/trace context unwrapping
Mike Blumenkrantz [Fri, 15 Jul 2022 12:26:04 +0000 (08:26 -0400)]
zink: break out tc/trace context unwrapping

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

23 months agovenus: filter out VK_EXT_physical_device_drm on the driver side
Yiwei Zhang [Mon, 18 Jul 2022 04:48:29 +0000 (04:48 +0000)]
venus: filter out VK_EXT_physical_device_drm on the driver side

Fixes: a1a22862c62 ("venus: implement VK_EXT_physical_device_drm")

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17591>

23 months agokms/dri: add mutex lock around map/unmap
Dave Airlie [Thu, 14 Jul 2022 00:34:04 +0000 (10:34 +1000)]
kms/dri: add mutex lock around map/unmap

this can get called from multiple threads with the recent llvmpipe
overlapping rendering changes, so make sure to lock around the
map/unmapping so they can't race.

This should fixes some crashes seen with kwin.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Tested-by: Adam Williamson (Fedora)
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17531>

23 months agoradv: implement PS epilogs
Samuel Pitoiset [Thu, 14 Jul 2022 16:54:20 +0000 (18:54 +0200)]
radv: implement PS epilogs

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

23 months agoaco: add support for compiling PS epilogs
Samuel Pitoiset [Thu, 14 Jul 2022 16:53:46 +0000 (18:53 +0200)]
aco: add support for compiling PS epilogs

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

23 months agoaco: refactor export_fs_mrt_color() for PS epilogs preparation
Samuel Pitoiset [Fri, 15 Jul 2022 06:28:58 +0000 (08:28 +0200)]
aco: refactor export_fs_mrt_color() for PS epilogs preparation

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

23 months agoradv,aco: rename radv_aco_build_prolog to radv_aco_build_shader_part
Samuel Pitoiset [Tue, 12 Jul 2022 09:24:23 +0000 (11:24 +0200)]
radv,aco: rename radv_aco_build_prolog to radv_aco_build_shader_part

Will be re-used for PS epilogs.

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

23 months agoaco: add aco_postprocess_shader() helper
Samuel Pitoiset [Fri, 24 Jun 2022 14:17:07 +0000 (16:17 +0200)]
aco: add aco_postprocess_shader() helper

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

23 months agoaco: prevent adding DONE/VM to the last export if the FS has an epilog
Samuel Pitoiset [Fri, 24 Jun 2022 12:38:59 +0000 (14:38 +0200)]
aco: prevent adding DONE/VM to the last export if the FS has an epilog

If the fragment shader exports MRTZ and the epilog some color exports,
DONE/VM should be added to the last export.

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

23 months agoaco: do not abort if the FS doesn't export anything but has an epilog
Samuel Pitoiset [Fri, 24 Jun 2022 12:39:10 +0000 (14:39 +0200)]
aco: do not abort if the FS doesn't export anything but has an epilog

The main fragment shader can only export MRTZ (if present) and the
epilog will export colors.

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

23 months agoaco: emit p_jump_to_epilog if the main fragment shader has an epilog
Samuel Pitoiset [Fri, 24 Jun 2022 14:03:52 +0000 (16:03 +0200)]
aco: emit p_jump_to_epilog if the main fragment shader has an epilog

MRTZ is still exported from the main shader.

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

23 months agoaco: add new pseudo instruction p_jump_to_epilog
Samuel Pitoiset [Fri, 24 Jun 2022 12:17:29 +0000 (14:17 +0200)]
aco: add new pseudo instruction p_jump_to_epilog

The first operand of this new pseudo-instruction is a 64-bit SGPR for
the continue PC, followed by a variable list of fixed VGPRS for the
color exports which are the PS epilog inputs.

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

23 months agoradv: add a function that declares PS epilog shader arguments
Samuel Pitoiset [Fri, 17 Jun 2022 14:28:31 +0000 (16:28 +0200)]
radv: add a function that declares PS epilog shader arguments

The PS epilog would be a "normal" compiled shader using RA, etc. It
will declare up to 8x4 VGPRs for all color exports.

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

23 months agoradv: declare a new user SGPR arg in FS for the epilog PC
Samuel Pitoiset [Fri, 17 Jun 2022 14:22:18 +0000 (16:22 +0200)]
radv: declare a new user SGPR arg in FS for the epilog PC

The main FS would have to jump to the PC of the PS epilog. Given that
shaders are allocated in the 32-bit addr space, one user SGPR is fine.

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

23 months agoradv,aco: introduce {radv,aco}_ps_epilog_key
Samuel Pitoiset [Fri, 17 Jun 2022 14:27:33 +0000 (16:27 +0200)]
radv,aco: introduce {radv,aco}_ps_epilog_key

To pass the necessary pipeline information for compiling PS epilogs.

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

23 months agoradv,aco: track if a fragment shader needs an epilog
Samuel Pitoiset [Fri, 17 Jun 2022 14:26:32 +0000 (16:26 +0200)]
radv,aco: track if a fragment shader needs an epilog

This is currently disabled but it will be used for testing first,
and then for graphics pipeline libraries.

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

23 months agofrontends/va: WA for ffmpeg 10bit encoding crash
Ruijing Dong [Tue, 12 Jul 2022 18:40:19 +0000 (14:40 -0400)]
frontends/va: WA for ffmpeg 10bit encoding crash

When doing 10bit encoding in ffmpeg it uses
VaDeriveImage, and that could result in missing
mapping the chroma buffer of the input frame.

This WA to disallow ffmpeg using VaDeriveImage
function, so that VaCreateImage and VaPutImage can
be used and WA the chroma buffer mapping issue.

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

23 months agofrontends/va: do texture_map when needed
Ruijing Dong [Tue, 12 Jul 2022 13:42:58 +0000 (09:42 -0400)]
frontends/va: do texture_map when needed

When map buffer, and its target is texture,
texture_map/unmap need to be used.

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

23 months agodzn: expose VK_KHR_driver_properties
Erik Faye-Lund [Mon, 13 Jun 2022 11:48:22 +0000 (13:48 +0200)]
dzn: expose VK_KHR_driver_properties

We're not quite conformant with the extension, because we don't have
a valid conformance version.

That's not a quick-fix, so we should probably just accept some failures
for now.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16998>

23 months agodzn: fill misc props
Erik Faye-Lund [Mon, 13 Jun 2022 12:37:27 +0000 (14:37 +0200)]
dzn: fill misc props

This is just a bag of misc properties that we should fill in.

Not all of them are filled out super accurately, but this is the best we
can do for now.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16998>

23 months agodzn: fill in minmax props
Erik Faye-Lund [Mon, 13 Jun 2022 12:37:05 +0000 (14:37 +0200)]
dzn: fill in minmax props

This should be possible to support, but we don't support minmax blending
at all yet, so let's leave these as unsupported for now.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16998>

23 months agodzn: fill in depth/stencil resolve props
Erik Faye-Lund [Mon, 13 Jun 2022 12:33:35 +0000 (14:33 +0200)]
dzn: fill in depth/stencil resolve props

Before enabling Vulkan 1.2 support, we need to fix the TODO in here.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16998>

23 months agodzn: fill in bindless props
Erik Faye-Lund [Mon, 13 Jun 2022 12:29:42 +0000 (14:29 +0200)]
dzn: fill in bindless props

These might not be exactly right, but they are good enough for now.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16998>

23 months agodzn: fill in non-uniform-indexing props
Erik Faye-Lund [Mon, 13 Jun 2022 12:09:12 +0000 (14:09 +0200)]
dzn: fill in non-uniform-indexing props

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16998>

23 months agodzn: fill in float-control details
Erik Faye-Lund [Mon, 13 Jun 2022 12:03:46 +0000 (14:03 +0200)]
dzn: fill in float-control details

We can do better here in the future, but this is what's supported right
now.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16998>

23 months agodzn: fill in driver name and info
Erik Faye-Lund [Mon, 13 Jun 2022 11:47:51 +0000 (13:47 +0200)]
dzn: fill in driver name and info

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16998>

23 months agoradv: Only set rt stack size for dynamic stacks
Konstantin Seurer [Sun, 17 Jul 2022 09:20:23 +0000 (11:20 +0200)]
radv: Only set rt stack size for dynamic stacks

When using a static callable stack, the required scratch has already
been allocated.
Dynamic stacks are located at the end of scratch memory
and are allocated on demand using radv_set_rt_stack_size.
Static stacks live at the start of scratch memory and are allocated in
create_rt_shader by setting scratch_size.

Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17579>

23 months agoac/nir/ngg: add a barrier before prim id export
Qiang Yu [Tue, 28 Jun 2022 08:18:21 +0000 (16:18 +0800)]
ac/nir/ngg: add a barrier before prim id export

When culling enabled, it will use LDS space, which overlap with
the prim id export.

Fixes: e97f0463a8f ("ac/nir: Implement NGG deferred attribute culling in NIR.")
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17593>

23 months agoac/nir/ngg: fix nogs culling scratch size
Qiang Yu [Thu, 7 Jul 2022 11:40:48 +0000 (19:40 +0800)]
ac/nir/ngg: fix nogs culling scratch size

Should be in bytes not dwords.

Fixes: e97f0463a8f ("ac/nir: Implement NGG deferred attribute culling in NIR.")
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17593>

23 months agoradv: Remove trailing whitespace introduced by DGC commits.
Timur Kristóf [Sun, 17 Jul 2022 16:02:57 +0000 (18:02 +0200)]
radv: Remove trailing whitespace introduced by DGC commits.

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

23 months agoradv: Only initialize DGC state when DGC is enabled.
Timur Kristóf [Sun, 17 Jul 2022 16:01:34 +0000 (18:01 +0200)]
radv: Only initialize DGC state when DGC is enabled.

This function causes a crash with RADV_DEBUG=llvm and this commit
works around that crash.

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

2 years agozink: inject a 0,0,0,1 clear for RGBX formats
Mike Blumenkrantz [Wed, 13 Jul 2022 16:17:29 +0000 (12:17 -0400)]
zink: inject a 0,0,0,1 clear for RGBX formats

this ensures the alpha component is full if it must be read for fbfetch

fixes (RGBX swapchain config):
KHR-GL46.blend_equation_advanced*

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

2 years agozink: simplify zink_framebuffer_clear_data union
Mike Blumenkrantz [Wed, 6 Jul 2022 14:38:42 +0000 (10:38 -0400)]
zink: simplify zink_framebuffer_clear_data union

no functional changes

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

2 years agozink: delete srgb tracking for clears
Mike Blumenkrantz [Wed, 6 Jul 2022 14:37:33 +0000 (10:37 -0400)]
zink: delete srgb tracking for clears

no longer used

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

2 years agozink: delete zink_fb_clear_util_unpack_clear_color
Mike Blumenkrantz [Wed, 6 Jul 2022 14:35:03 +0000 (10:35 -0400)]
zink: delete zink_fb_clear_util_unpack_clear_color

no longer used

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

2 years agozink: remove out-of-renderpass clears
Mike Blumenkrantz [Wed, 6 Jul 2022 12:46:38 +0000 (08:46 -0400)]
zink: remove out-of-renderpass clears

these are only ever going to hurt tiler perf, so remove the footgun

this also means there's no more srgb format conversion needed, so delete
all of that too

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

2 years agozink: lift clearing on fb state change up a level
Mike Blumenkrantz [Wed, 6 Jul 2022 18:24:27 +0000 (14:24 -0400)]
zink: lift clearing on fb state change up a level

in the scenario where:
* at least 1 color buffer was bound and a depth buffer was bound
* no color clear was enabled
* a zs clear was enabled
* the zs clear was never flushed
* the zs clear needs a renderpass
* the fb state changes

the color buffer(s) would be unbound, following which the depth buffer unbind
would trigger a renderpass, which would utilize the just-unbound color buffers,
which have no batch tracking, thus creating a case where the surface was destroyed
while it was still in use

cc: mesa-stable

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

2 years agozink: clamp color clear values based on format
Mike Blumenkrantz [Fri, 8 Jul 2022 14:49:54 +0000 (10:49 -0400)]
zink: clamp color clear values based on format

formats like GL_RGB10_A2UI can be cleared with out of range values,
so to ensure consistent driver behavior, pre-clamp to the valid range

affects:
KHR-GL46.direct_state_access.renderbuffers_storage_multisample

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

2 years agozink: add explicit (awful) handling for fb layer mismatch clears
Mike Blumenkrantz [Fri, 8 Jul 2022 15:47:56 +0000 (11:47 -0400)]
zink: add explicit (awful) handling for fb layer mismatch clears

this is terrible and (hopefully?) rare, so just force it out early to
avoid any kind of issue

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

2 years agozink: track a bitmask of fb attachments with mismatched layer counts
Mike Blumenkrantz [Fri, 8 Jul 2022 15:35:39 +0000 (11:35 -0400)]
zink: track a bitmask of fb attachments with mismatched layer counts

these need special handling for clears

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

2 years agozink: always use storeOp=STORE for depth renderpass
Mike Blumenkrantz [Fri, 8 Jul 2022 12:29:03 +0000 (08:29 -0400)]
zink: always use storeOp=STORE for depth renderpass

it's unknown whether there may be clears to the depth attachment at the start of
a renderpass, so always assume there will be

Fixes: c132a287455 ("zink: use store op NONE when necessary for depth usage")

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

2 years agozink: remove u_blitter usage from zink_clear_render_target
Mike Blumenkrantz [Wed, 6 Jul 2022 12:43:56 +0000 (08:43 -0400)]
zink: remove u_blitter usage from zink_clear_render_target

this is more operations than needed

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

2 years agozink: remove non-renderpass clear path from zink_clear_texture
Mike Blumenkrantz [Wed, 6 Jul 2022 12:40:50 +0000 (08:40 -0400)]
zink: remove non-renderpass clear path from zink_clear_texture

this should always be faster

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

2 years agozink: massively simplify zink_clear_depth_stencil
Mike Blumenkrantz [Wed, 6 Jul 2022 12:39:44 +0000 (08:39 -0400)]
zink: massively simplify zink_clear_depth_stencil

this now just uses renderpass clears

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

2 years agozink: improve zink_clear_depth_stencil check for current attachment
Mike Blumenkrantz [Wed, 6 Jul 2022 12:29:30 +0000 (08:29 -0400)]
zink: improve zink_clear_depth_stencil check for current attachment

this is technically more correct since it accounts for multi-context usage

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

2 years agozink: stop using u_blitter for texture clears
Mike Blumenkrantz [Tue, 5 Jul 2022 19:44:28 +0000 (15:44 -0400)]
zink: stop using u_blitter for texture clears

this was really stupid: instead of just binding a new fb and firing off
a clear, the code was calling u_blitter to bind a new fb and do actual
draws

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

2 years agozink: fix coverage check for texture clears
Mike Blumenkrantz [Tue, 5 Jul 2022 19:40:29 +0000 (15:40 -0400)]
zink: fix coverage check for texture clears

this wasn't actively harmful, but it was potentially differently-performant

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

2 years agozink: remove format check from clear texture
Mike Blumenkrantz [Tue, 5 Jul 2022 19:28:27 +0000 (15:28 -0400)]
zink: remove format check from clear texture

this is going to be a render target no matter what

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

2 years agozink: fix transient attachment rp assert
Mike Blumenkrantz [Fri, 15 Jul 2022 13:15:37 +0000 (09:15 -0400)]
zink: fix transient attachment rp assert

cc: mesa-stable

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

2 years agozink: remove bogus range tracking from texture clear
Mike Blumenkrantz [Tue, 5 Jul 2022 19:27:21 +0000 (15:27 -0400)]
zink: remove bogus range tracking from texture clear

too much copy/paste

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

2 years agolavapipe: enable variablePointers
Dave Airlie [Sun, 17 Jul 2022 23:00:01 +0000 (09:00 +1000)]
lavapipe: enable variablePointers

This passes the CTS with no regressions.

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

2 years agolavapipe: drop unreachable pNext checks.
Dave Airlie [Sun, 17 Jul 2022 22:58:47 +0000 (08:58 +1000)]
lavapipe: drop unreachable pNext checks.

These are reachable, and
dEQP-VK.api.smoke.triangle_ext_structs,Crash is why.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17586>

2 years agogallium: LLVM-15 contexts use non-opaque pointers
Mihai Preda [Wed, 13 Jul 2022 11:33:39 +0000 (14:33 +0300)]
gallium: LLVM-15 contexts use non-opaque pointers

LLVM-15 enables opaque pointers by default. We temporarilly request
non-opaque pointers while we migrate our code to support non-opaque pointers.

This workaround needs to be removed before LLVM-16.

See #6615

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17514>

2 years agofreedreno/gmem: Reverse order of alternative tile rows
Rob Clark [Wed, 29 Jun 2022 16:34:00 +0000 (09:34 -0700)]
freedreno/gmem: Reverse order of alternative tile rows

Similar motivation as c426e21ff14 ("turnip: Reverse the order of walking
pipes or tiles on odd rows."), but instead we just swap the order of
alternate rows of fd_tile the the gmem stateobj.

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

2 years agoRevert "CI: Disable Collabora lab"
Daniel Stone [Fri, 15 Jul 2022 15:27:44 +0000 (16:27 +0100)]
Revert "CI: Disable Collabora lab"

This reverts commit 7a336c97ef692ed96cc93394596a7d0650983874.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17563>

2 years agoradeonsi: Enable nir_lower_point_smooth lowering pass for point smoothing
Arvind Yadav [Tue, 22 Feb 2022 16:07:35 +0000 (21:37 +0530)]
radeonsi: Enable nir_lower_point_smooth lowering pass for point smoothing

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

2 years agoac/llvm: Implement nir_intrinsic_load_point_coord_maybe_flipped opcodes
Arvind Yadav [Tue, 22 Feb 2022 16:05:58 +0000 (21:35 +0530)]
ac/llvm: Implement nir_intrinsic_load_point_coord_maybe_flipped opcodes

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

2 years agoac/llvm : Adding Number of all interpolated inputs in ac_shader_abi
Arvind Yadav [Thu, 5 May 2022 07:31:11 +0000 (13:01 +0530)]
ac/llvm : Adding Number of all interpolated inputs in ac_shader_abi

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

2 years agonir: Add a lowering pass for point smoothing
Arvind Yadav [Tue, 22 Feb 2022 16:02:42 +0000 (21:32 +0530)]
nir: Add a lowering pass for point smoothing

When point smoothing is enabled then this lowering pass will
modifies the alpha component of every write to fragment output.
Anti-aliased points get rounded with respect to their radius instead
of square.

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

2 years agonir: add load_point_coord_maybe_flipped intrinsics for point smoothing
Arvind Yadav [Fri, 25 Feb 2022 07:14:36 +0000 (12:44 +0530)]
nir: add load_point_coord_maybe_flipped intrinsics for point smoothing

gl_PointCoord can be flipped upside down via a state.
To avoid this adding new load_point_coord_maybe_flipped intrinsics.

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

2 years agoradeonsi: Add nir_lower_poly_line_smooth pass for polygon and line smoothing
Arvind Yadav [Fri, 29 Apr 2022 12:30:36 +0000 (18:00 +0530)]
radeonsi: Add nir_lower_poly_line_smooth pass for polygon and line smoothing

Added a new NIR pass for handling polygon and line smoothing and
Removed previous smoothing changes.

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

2 years agonir: Add a lowering pass for polygon and line smoothing
Arvind Yadav [Fri, 29 Apr 2022 12:28:02 +0000 (17:58 +0530)]
nir: Add a lowering pass for polygon and line smoothing

When poly_line smoothing is enabled then this lowering pass will
modify the alpha component of every write to fragment output
using sample coverage mask.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16245>

2 years agoci/crocus: Drop xfails for the recent image external fix.
Emma Anholt [Sun, 10 Jul 2022 04:09:13 +0000 (21:09 -0700)]
ci/crocus: Drop xfails for the recent image external fix.

Fixes: 8856379a030b ("mesa/st: don't guess the internal format if it's known")
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17572>

2 years agoci/crocus: Disable the blender trace.
Emma Anholt [Sun, 10 Jul 2022 04:08:03 +0000 (21:08 -0700)]
ci/crocus: Disable the blender trace.

It gives inconsistent sha1s.

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

2 years agoci/crocus: Update portal 2 trace shas for the recent fix.
Emma Anholt [Sun, 10 Jul 2022 04:07:25 +0000 (21:07 -0700)]
ci/crocus: Update portal 2 trace shas for the recent fix.

they render correctly now.

Fixes: 4e797ac530b0 ("st/glsl: fix broken vertex attrib mapping")
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17572>

2 years agomesa/arbprog: Stop doing optimization in the ARB program IR.
Emma Anholt [Wed, 13 Jul 2022 19:51:14 +0000 (12:51 -0700)]
mesa/arbprog: Stop doing optimization in the ARB program IR.

You'll get all this and more anyway once you're in NIR.  This lets us GC a
bunch more ARB program transformation code.

No effect in shader-db on softpipe.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17528>

2 years agomesa/arbprog: Use nir_lower_io_to_temporaries.
Emma Anholt [Wed, 13 Jul 2022 19:45:47 +0000 (12:45 -0700)]
mesa/arbprog: Use nir_lower_io_to_temporaries.

This replaces our mesa_remove_output_reads(), which in turn GCs some other
ARB program transformation code.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17528>

2 years agomesa/arbprog: Move the GLSLFragCoordIsSysVal handling to prog_to_nir.
Emma Anholt [Wed, 13 Jul 2022 19:29:30 +0000 (12:29 -0700)]
mesa/arbprog: Move the GLSLFragCoordIsSysVal handling to prog_to_nir.

We don't need to go grubbing around in the ARB program when we can use the
right variable type at prog_to_nir time.  This does leave
fp->system_values_read/inputs_read as they were, but I don't see anywhere
that that matters (the NIR will have its info gathered appropriately, and
other lowering may also cause mismatch between the gl_program and the
NIR).

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17528>

2 years agoutil: Add a Win32 futex impl
Jesse Natalie [Fri, 8 Jul 2022 18:16:44 +0000 (11:16 -0700)]
util: Add a Win32 futex impl

This uses APIs that are not available on Win7. Since this is a build-time
configuration, and since we can't use the SDK version as an indicator
(since you can support Win7 via new SDKs), a new option is added to allow
disabling it, to maintain Win7 support if desired.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17431>

2 years agovenus: add more tracepoints for perf analysis
Yiwei Zhang [Tue, 12 Jul 2022 06:31:37 +0000 (06:31 +0000)]
venus: add more tracepoints for perf analysis

This change adds the tracepoints that can help understand app behavior
for debugging and performance optimization purposes.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17497>

2 years agovenus: suballocate more for layering
Yiwei Zhang [Tue, 12 Jul 2022 06:13:27 +0000 (06:13 +0000)]
venus: suballocate more for layering

Previously we suballocate only for host visible memory type to reduce
the kvm mem slot usage. That is no longer an issue given the limit has
been raised. However, we should still suballocate to make layering
clients performant. So we just suballocate regardless of mem type.

This change also increases the allowed suballocation size request from
64K to 128K, which makes layering clients happier.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17497>

2 years agogithub/ci: Set permissions for GitHub actions
naveen [Tue, 21 Jun 2022 00:31:12 +0000 (00:31 +0000)]
github/ci: Set permissions for GitHub actions

 Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much.

- Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions

https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions

https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs

[Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/)

Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17562>

2 years agomesa: update GL_CLAMP emulation when binding/unbinding textures
Mike Blumenkrantz [Mon, 11 Jul 2022 12:44:00 +0000 (08:44 -0400)]
mesa: update GL_CLAMP emulation when binding/unbinding textures

binding/unbinding a texture affects the previously specified parameters,
so ensure the driver flag for clamp emulation is also set to perform
updates as needed

Fixes: e8f71f6ac48 ("mesa/st: add PIPE_CAP_GL_CLAMP")

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

2 years agomesa: track which sampler wrap params use GL_CLAMP
Mike Blumenkrantz [Mon, 11 Jul 2022 19:27:37 +0000 (15:27 -0400)]
mesa: track which sampler wrap params use GL_CLAMP

this adds a bitmask to sampler objects for tracking whether GL_CLAMP
is active

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

2 years agomesa: move is_wrap_gl_clamp() to samplerobj.h and deduplicate
Mike Blumenkrantz [Thu, 14 Jul 2022 14:54:49 +0000 (10:54 -0400)]
mesa: move is_wrap_gl_clamp() to samplerobj.h and deduplicate

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

2 years agozink: fix xfb emit check in compiler
Mike Blumenkrantz [Fri, 8 Jul 2022 13:52:30 +0000 (09:52 -0400)]
zink: fix xfb emit check in compiler

nir->info.has_transform_feedback_varyings is set for all stages in the
pipeline when xfb is present, so it can't be used for this

harmless, but this is more correct

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