platform/upstream/mesa.git
3 years agoradv: Implement VK_VALVE_mutable_descriptor_type.
Hans-Kristian Arntzen [Mon, 7 Dec 2020 12:41:26 +0000 (13:41 +0100)]
radv: Implement VK_VALVE_mutable_descriptor_type.

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

3 years agovulkan: Update to 1.2.164.
Hans-Kristian Arntzen [Mon, 7 Dec 2020 12:40:47 +0000 (13:40 +0100)]
vulkan: Update to 1.2.164.

Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7967>

3 years agoandroid: freedreno/ir3: use python3 in gen rules
Mauro Rossi [Sun, 6 Dec 2020 20:09:13 +0000 (21:09 +0100)]
android: freedreno/ir3: use python3 in gen rules

Completes freedreno gen rules migration to python3 as per meson.build
With this change all freedreno gen rules use $(MESA_PYTHON3)

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

3 years agoandroid: freedreno: Remove fd_log()
Mauro Rossi [Sat, 5 Dec 2020 15:40:12 +0000 (16:40 +0100)]
android: freedreno: Remove fd_log()

Fixes the following building error:

FAILED: ninja: 'external/mesa/src/gallium/drivers/freedreno/freedreno_log.c',
needed by 'out/target/product/x86_64/obj_x86/STATIC_LIBRARIES/libmesa_pipe_freedreno_intermediates/freedreno_log.o',
missing and no known rule to make it

Fixes: 03e7c93b828a ("freedreno: Remove fd_log()")
Acked-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7942>

3 years agoandroid: freedreno: Add GPU tracepoints
Mauro Rossi [Sat, 5 Dec 2020 19:58:47 +0000 (20:58 +0100)]
android: freedreno: Add GPU tracepoints

Changelog:
- add freedreno_tracepoints.c.{c,h} gen rules for Android $(MESA_PYTHON3)
- update Makefile.sources with the required generated sources

Fixes the following building errors:

external/mesa/src/gallium/drivers/freedreno/freedreno_gmem.c:35:10:
fatal error: 'u_tracepoints.h' file not found
         ^~~~~~~~~~~~~~~~~
1 error generated.

FAILED: out/target/product/x86_64/obj/SHARED_LIBRARIES/gallium_dri_intermediates/LINKED/gallium_dri.so
...
ld.lld: error: undefined symbol: __trace_end_clear_restore
>>> referenced by freedreno_tracepoints.h:38 (out/target/product/x86_64/obj/STATIC_LIBRARIES/libmesa_pipe_freedreno_intermediates/
freedreno_tracepoints.h:38)
...
ld.lld: error: undefined symbol: __trace_start_vsc_overflow_test
>>> referenced by freedreno_tracepoints.h:272 (out/target/product/x86_64/obj/STATIC_LIBRARIES/libmesa_pipe_freedreno_intermediates
/freedreno_tracepoints.h:272)
ld.lld: error: too many errors emitted, stopping now

Fixes: a02dcb970fff ("freedreno: Add GPU tracepoints")
Acked-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7942>

3 years agoandroid: gallium/aux: Add GPU tracepoint mechanism
Mauro Rossi [Sat, 5 Dec 2020 15:40:12 +0000 (16:40 +0100)]
android: gallium/aux: Add GPU tracepoint mechanism

Android rules to build u_trace sources and u_tracepoints generated sources

Changelog:
- add util/u_tracepoints.{c,h} gen rules for Android using $(MESA_PYTHON3)
- update Makefile.sources with the required sources and generated sources

Fixes: 3471af9c6cfa ("gallium/aux: Add GPU tracepoint mechanism")
Acked-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7942>

3 years agoandroid: gallium/aux: update old generated sources rules
Mauro Rossi [Sat, 5 Dec 2020 15:40:12 +0000 (16:40 +0100)]
android: gallium/aux: update old generated sources rules

This is in preparation for additional generated sources rules for Android
which will require ad hoc rules, so it is necessary to replace old ones

NOTE: pre-existing gen rules based on $(transform-generated-source) macro
are both obsolete and use of '%' pattern rule is incompatible with ad hoc
python commands for different targets

Changelog:
- remove util/u_format_srgb.c target
- replace obsolete indices/{u_indices,unfilled}_gen.c 'common' gen rules
  with 'per target' gen rules using $(MESA_PYTHON3) as per meson gen rules

Fixes: 3471af9c6cfa ("gallium/aux: Add GPU tracepoint mechanism")
Acked-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7942>

3 years agoci: update the list of expected failures for RADV/FIJI
Samuel Pitoiset [Mon, 7 Dec 2020 08:59:25 +0000 (09:59 +0100)]
ci: update the list of expected failures for RADV/FIJI

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

3 years agoradv: fix using FS sample shading if the linker optimized inputs away
Samuel Pitoiset [Thu, 3 Dec 2020 09:10:22 +0000 (10:10 +0100)]
radv: fix using FS sample shading if the linker optimized inputs away

During NIR linking, constant varyings might be moved to the next
stage and the sample qualifier removed.

shader_info::uses_sample_shading remembers if the sample qualifier
was used before optimizations.

No fossils-db changes on Sienna Cichlid.

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

3 years agolavapipe: fix logic-op support
Erik Faye-Lund [Fri, 4 Dec 2020 21:06:35 +0000 (22:06 +0100)]
lavapipe: fix logic-op support

Lavapipe exposes support for the logicOp feature, but doesn't actually
respect the state. This is easy to fix, so let's plumb it through.

This fixes spec@!opengl 1.0@gl-1.0-logicop When running with Zink on
Lavapipe.

Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7932>

3 years agozink. Fixing vkGetPhysicalDeviceProperties2 and vkGetPhysicalDeviceFeatures2 for...
Duncan Hopkins [Mon, 7 Dec 2020 08:25:13 +0000 (08:25 +0000)]
zink. Fixing vkGetPhysicalDeviceProperties2 and vkGetPhysicalDeviceFeatures2 for Vk 1.1 and VK_KHR_get_physical_device_properties2.

MoltenVK does not export the vkGetPhysical*2() functionns, even in Vulkan 1.2.154.0 where the instance version moves from 1.0 to 1.1.
If the extension is present and used the KHR versions of the functions can be used.
From the spec the vkGetPhysicalDevice*2() functions should be avaiable from Vk 1.1 loaders and devices. Which implies MoltenVK might be misbehaving.
This change allows the extension to be used, if present, before the Vk 1.1 version check.

Fixes: 752f6d80 ("zink: setup version dependent VkPhysicalDeviceVulkan*Features and VkPhysicalDeviceVulkan*Properties.")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7960>

3 years agoradv: use 32-bit predication for skipping FCE on GFX10.3+
Samuel Pitoiset [Thu, 3 Dec 2020 11:51:35 +0000 (12:51 +0100)]
radv: use 32-bit predication for skipping FCE on GFX10.3+

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

3 years agoradv: set the predication boolean as 32-bit if necessary
Samuel Pitoiset [Thu, 3 Dec 2020 11:42:12 +0000 (12:42 +0100)]
radv: set the predication boolean as 32-bit if necessary

CTS is missing tests.

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

3 years agoradv: fix exporting multiviews with NGG
Samuel Pitoiset [Fri, 27 Nov 2020 14:29:34 +0000 (15:29 +0100)]
radv: fix exporting multiviews with NGG

If a subpass uses multiview but the fragment shader doesn't load it
we still have to export it.

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

3 years agoradv: mark GFX10.3 as a non-conformant Vulkan implementation
Samuel Pitoiset [Fri, 4 Dec 2020 08:29:43 +0000 (09:29 +0100)]
radv: mark GFX10.3 as a non-conformant Vulkan implementation

In theory, GFX10.3 is not considered to be a conformant Vulkan
implementation because we didn't submit a conformance submission
package.

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

3 years agoradeonsi: fix regression on gpus using the radeon winsys.
Dave Airlie [Sun, 6 Dec 2020 23:47:35 +0000 (09:47 +1000)]
radeonsi: fix regression on gpus using the radeon winsys.

For GPUs using the radeon kernel driver, num_se was never
getting initialised.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3939
Fixes: f2977a162af4 ("ac: fix min/max_good_num_cu_per_sa on gfx10.3 with disabled SEs")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7954>

3 years agoradeonsi/gfx10: added support for gfx10 conditional rendering
Indrajit Kumar Das [Tue, 10 Nov 2020 09:59:45 +0000 (15:29 +0530)]
radeonsi/gfx10: added support for gfx10 conditional rendering

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

3 years agor300,r600,radeonsi: inline struct radeon_cmdbuf to remove dereferences
Marek Olšák [Sun, 29 Nov 2020 09:09:02 +0000 (04:09 -0500)]
r300,r600,radeonsi: inline struct radeon_cmdbuf to remove dereferences

It's straightforward except that the amdgpu winsys had to be cleaned up
to allow this.

radeon_cmdbuf is inlined and optionally the winsys can save the pointer
to it. radeon_cmdbuf::priv points to the winsys cs structure.

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

3 years agopanfrost: Only set varyings and varying_buffers when varying_count > 0
Boris Brezillon [Sun, 22 Nov 2020 10:35:29 +0000 (11:35 +0100)]
panfrost: Only set varyings and varying_buffers when varying_count > 0

This removes the "warn: No Varying records" printed by pandecode.

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

3 years agopanfrost: Fix draw descriptor definition
Boris Brezillon [Wed, 2 Dec 2020 10:18:14 +0000 (11:18 +0100)]
panfrost: Fix draw descriptor definition

Move the 2 words padding out of the draw descriptor to fix Midgard tiler
job decoding.

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

3 years agopanfrost: Fix texture payload decoding
Boris Brezillon [Wed, 2 Dec 2020 10:10:04 +0000 (11:10 +0100)]
panfrost: Fix texture payload decoding

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

3 years agoisl: Fix android build
Lionel Landwerlin [Sat, 5 Dec 2020 10:52:56 +0000 (12:52 +0200)]
isl: Fix android build

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Suggested-by: Mauro Rossi <issor.oruam@gmail.com>
Fixes: f08d8c849e0df3 ("intel/isl: Build gen 12.5")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3931
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7938>

3 years agoci: Run sanity job automatically for forked branches as well
Michel Dänzer [Thu, 3 Dec 2020 17:45:15 +0000 (18:45 +0100)]
ci: Run sanity job automatically for forked branches as well

This should make running the CI for forked branches less painful again.

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7904>

3 years agoci: Manual test jobs don't need the Git tree
Michel Dänzer [Thu, 3 Dec 2020 17:59:25 +0000 (18:59 +0100)]
ci: Manual test jobs don't need the Git tree

If they do need something, it should be passed via artifacts from a
build job.

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7904>

3 years agoci: sanity job doesn't need the Git tree
Michel Dänzer [Thu, 3 Dec 2020 17:58:09 +0000 (18:58 +0100)]
ci: sanity job doesn't need the Git tree

This should fix the sanity job taking >= 1 minute in some cases.

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7904>

3 years agoci: Drop x86_build_old image
Michel Dänzer [Thu, 3 Dec 2020 17:11:00 +0000 (18:11 +0100)]
ci: Drop x86_build_old image

Currently not used for anything.

v2:
* Drop build script as well (Eric Anholt)

Fixes: a3543adc2628 "clover: set LLVM min version to 8.0.1"
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7902>

3 years agoci: Append $MESA_TEMPLATES_COMMIT to image tags
Michel Dänzer [Thu, 3 Dec 2020 16:54:05 +0000 (17:54 +0100)]
ci: Append $MESA_TEMPLATES_COMMIT to image tags

This ensures all images get rebuilt when we update to a newer
ci-templates commit.

v2:
* Append to WINDOWS(_UPSTREAM)_IMAGE instead of WINDOWS_TAG. The latter
  failed, apparently variables are not expanded recursively on the
  Windows runners.
* Use separate MESA_IMAGE_TAG/MESA_BASE_IMAGE variables instead of
  appending to each FDO_DISTRIBUTION_TAG/FDO_BASE_IMAGE separately for
  Linux jobs, to prevent accidentally dropping the suffix.

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7902>

3 years agoci: Define global variable MESA_TEMPLATES_COMMIT for ci-templates commit
Michel Dänzer [Thu, 3 Dec 2020 16:30:56 +0000 (17:30 +0100)]
ci: Define global variable MESA_TEMPLATES_COMMIT for ci-templates commit

No functional change.

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7902>

3 years agoci: Run git gc before creating Git cache tarball
Michel Dänzer [Fri, 4 Dec 2020 13:55:54 +0000 (14:55 +0100)]
ci: Run git gc before creating Git cache tarball

Since the job which creates the cache tarball starts from the previous
cache, the cache kept accumulating cruft and growing bigger.

This cuts the size of the tarball in half (from almost 600M to under
300M), which can translate to significant time savings when downloading
it on some runners.

v2:
* Use git gc --aggressive (Eric Anholt)

Reviewed-by: Andres Gomez <agomez@igalia.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7920>

3 years agomeson: Fix Clang microsoft-enum-value detection.
Vinson Lee [Wed, 11 Nov 2020 02:17:57 +0000 (18:17 -0800)]
meson: Fix Clang microsoft-enum-value detection.

Fixes: 3aee462781a ("meson: add windows compiler checks and libraries")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7543>

3 years agogallium/osmesa: Return cleanly for OSMesaGetDepthBuffer() with no depth.
Eric Anholt [Thu, 3 Dec 2020 01:03:33 +0000 (17:03 -0800)]
gallium/osmesa: Return cleanly for OSMesaGetDepthBuffer() with no depth.

This makes our behavior match classic.

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

3 years agogallium/osmesa: Fix leak of the ST manager/api on library unload.
Eric Anholt [Wed, 2 Dec 2020 23:20:13 +0000 (15:20 -0800)]
gallium/osmesa: Fix leak of the ST manager/api on library unload.

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

3 years agogallium/osmesa: Fix data race on setting up the ST API.
Eric Anholt [Wed, 2 Dec 2020 23:10:51 +0000 (15:10 -0800)]
gallium/osmesa: Fix data race on setting up the ST API.

We're going to need it anyway, put it in the same call_once as the ST
manager.

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

3 years agogallium/osmesa: Remove the broken buffer-reuse scheme.
Eric Anholt [Wed, 2 Dec 2020 22:48:34 +0000 (14:48 -0800)]
gallium/osmesa: Remove the broken buffer-reuse scheme.

Besides leaking and a lack of thread-safety, it would also incorrectly
share front buffers if multiple contexts happened to use the same
size/format, as demonstrated by the new unit test.

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

3 years agogallium/osmesa: Fix flushing and Y-flipping of the depth buffer.
Eric Anholt [Wed, 11 Nov 2020 00:51:36 +0000 (16:51 -0800)]
gallium/osmesa: Fix flushing and Y-flipping of the depth buffer.

We were returning a pointer to use-after-free the depth buffer, not
updating it in after future rendering, and also not y flipping it.  A
little refactor to mostly reuse the color buffer's path makes it easy to
do it all right.

Adds a unit test to check for these bugs.

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

3 years agozink: assert all index values in ntv OpAccessChain constructor
Mike Blumenkrantz [Fri, 4 Dec 2020 19:05:11 +0000 (14:05 -0500)]
zink: assert all index values in ntv OpAccessChain constructor

this is super annoying

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

3 years agoxmlconfig: Warn if parsing the engine/app versions fails.
Eric Anholt [Fri, 2 Oct 2020 23:58:09 +0000 (16:58 -0700)]
xmlconfig: Warn if parsing the engine/app versions fails.

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

3 years agoxmlconfig: Add unit tests for recent bugs in the driconf rewrite.
Eric Anholt [Wed, 7 Oct 2020 16:59:43 +0000 (09:59 -0700)]
xmlconfig: Add unit tests for recent bugs in the driconf rewrite.

This covers:
7fb4ab9ec122 ("driconf: Restore the ability to override driconf with the environment.")
2b977adff805 ("xmlconfig: fix scandir_filter")

and touches a bit more of drirc logic while I'm here.

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

3 years agodocs: update calendar and link releases notes for 20.2.4
Dylan Baker [Fri, 4 Dec 2020 20:57:16 +0000 (12:57 -0800)]
docs: update calendar and link releases notes for 20.2.4

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

3 years agorelnotes: Add sha256sums for 20.2.4
Dylan Baker [Fri, 4 Dec 2020 20:53:31 +0000 (12:53 -0800)]
relnotes: Add sha256sums for 20.2.4

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

3 years agodocs: add release notes for 20.2.4
Dylan Baker [Fri, 4 Dec 2020 20:10:59 +0000 (12:10 -0800)]
docs: add release notes for 20.2.4

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

3 years agoaco: remove rollback code when making an instruction vop3
Rhys Perry [Mon, 16 Nov 2020 14:52:23 +0000 (14:52 +0000)]
aco: remove rollback code when making an instruction vop3

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

3 years agoaco: move update_renames() out of get_reg()
Rhys Perry [Mon, 16 Nov 2020 14:51:33 +0000 (14:51 +0000)]
aco: move update_renames() out of get_reg()

This is necessary for the next commit, which will pass a temporary copy of
the register file to get_reg().

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

3 years agoaco: remove rollback code for blocked fixed definitions
Rhys Perry [Mon, 16 Nov 2020 14:37:14 +0000 (14:37 +0000)]
aco: remove rollback code for blocked fixed definitions

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

3 years agoaco: remove rollback code around parallelcopy creation
Rhys Perry [Mon, 16 Nov 2020 14:30:09 +0000 (14:30 +0000)]
aco: remove rollback code around parallelcopy creation

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

3 years agoaco: simplify get_reg_impl()
Rhys Perry [Tue, 17 Nov 2020 13:43:41 +0000 (13:43 +0000)]
aco: simplify get_reg_impl()

Instead of copying the reg file as a backup, copy it so that we can remove
the rollback/undo code.

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

3 years agoaco: use clear() helper instead of writing reg file directly
Rhys Perry [Tue, 17 Nov 2020 13:50:10 +0000 (13:50 +0000)]
aco: use clear() helper instead of writing reg file directly

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

3 years agoaco: repeat get_reg_create_vector() with increased register demand if fail
Rhys Perry [Tue, 17 Nov 2020 14:03:55 +0000 (14:03 +0000)]
aco: repeat get_reg_create_vector() with increased register demand if fail

We don't need rollback/undo code here because get_reg_create_vector() now
creates a temporary copy of the register file.

Works around RA failure with a bunch of dEQP-VK.robustness.robustness2.*

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

3 years agoaco: remove rollback code in get_reg_create_vector()
Rhys Perry [Mon, 16 Nov 2020 14:43:28 +0000 (14:43 +0000)]
aco: remove rollback code in get_reg_create_vector()

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

3 years agoaco: don't fill killed operands in update_renames()
Rhys Perry [Tue, 24 Nov 2020 09:58:46 +0000 (09:58 +0000)]
aco: don't fill killed operands in update_renames()

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

3 years agoaco: clear operands in update_renames()
Rhys Perry [Tue, 17 Nov 2020 15:27:06 +0000 (15:27 +0000)]
aco: clear operands in update_renames()

In the future, they might not have already been cleared.

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

3 years agoutil: Do not insert uninitialized data if Android property is not set
Marijn Suijten [Tue, 1 Dec 2020 18:13:38 +0000 (19:13 +0100)]
util: Do not insert uninitialized data if Android property is not set

This prevents funky segfaults in seemingly unrelated codepaths like:

    pid: 20058, tid: 20086, name: Binder:20058_2  >>> /system/bin/surfaceflinger <<<
    uid: 1000
    signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x184
    Cause: null pointer dereference
    [...]
    #00 pc 000000000020b078  /vendor/lib64/dri/gallium_dri.so (ir3_shader_variant+56)
    #01 pc 00000000001dc168  /vendor/lib64/dri/gallium_dri.so (fd5_draw_vbo+920)
    #02 pc 00000000001a30f8  /vendor/lib64/dri/gallium_dri.so (fd_draw_vbo+1264)
    #03 pc 000000000077e714  /vendor/lib64/dri/gallium_dri.so (util_primconvert_draw_vbo+596)
    #04 pc 00000000001a2d60  /vendor/lib64/dri/gallium_dri.so (fd_draw_vbo+344)
    #05 pc 00000000007671e4  /vendor/lib64/dri/gallium_dri.so (dd_context_draw_vbo+300)
    #06 pc 00000000007b6c9c  /vendor/lib64/dri/gallium_dri.so (u_vbuf_draw_vbo+2268)
    #07 pc 000000000074d230  /vendor/lib64/dri/gallium_dri.so (cso_draw_arrays+96)
    #08 pc 00000000007a4258  /vendor/lib64/dri/gallium_dri.so (util_draw_user_vertex_buffer+96)
    #09 pc 00000000007b0968  /vendor/lib64/dri/gallium_dri.so (util_run_tests+480)
    #10 pc 000000000019e24c  /vendor/lib64/dri/gallium_dri.so (pipe_msm_create_screen+68)
    #11 pc 00000000006ada8c  /vendor/lib64/dri/gallium_dri.so (pipe_loader_create_screen+60)
    #12 pc 000000000020e958  /vendor/lib64/dri/gallium_dri.so (dri2_init_screen+120)
    #13 pc 00000000006ad088  /vendor/lib64/dri/gallium_dri.so (driCreateNewScreen2+544)

Fixes: eeecc21d935 ("util: Add property_get() fallback for android")
Reviewed-by: Rob Clark <robclark@freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7928>

3 years agoci: add testing for VC4 drivers (Raspberry Pi 3)
Juan A. Suarez Romero [Sun, 15 Nov 2020 19:57:55 +0000 (20:57 +0100)]
ci: add testing for VC4 drivers (Raspberry Pi 3)

This tests OpenGL ES 2.0 CTS suite with VC4 drivers, through baremetal
Raspberry Pi 3 devices.

The devices are connected to a switch that supports Power over Ethernet
(PoE), so the devices can be started/stopped through the switch, and
also to a host that runs the GitLab runner through serial-to-USB cables,
to monitor the devices to know when the testing finishes.

The Raspberries uses a network boot, using NFS and TFTP. For the root
filesystem, they use the one created in the armhf container. For the
kernel/modules case, this is handled externally. Currently it is using
the same kernel/modules that come with the Raspberry Pi OS. In future we
could build them in the same armhf container.

At this moment we only test armhf architecture, as this is the default
one suggested by the Raspberry Pi Foundation. In future we could also
add testing for arm64 architecture.

Finally, for the very rare ocassions where the Raspberry Pi 3 device is
booted but no data is received, it retries the testing for a second
time, powering off and on the device in the process.

v2:
 - Remove commit that exists capture devcoredump (Eric)
 - Squash remaining commits in one (Andres)

v3:
 - Add missing boot timeout check (Juan)

v4:
 - Use locks when running the PoE on/off script (Eric)
 - Use a timeout for serial read (Eric)

v5:
 - Rename stage to "raspberrypi" (Eric)
 - Bump up arm64_test tag (Eric)

v6:
 - Make serial buffer timeout optional (Juan)

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

3 years agoclover/core: Fix x86 build
Jesse Natalie [Thu, 3 Dec 2020 18:20:52 +0000 (18:20 +0000)]
clover/core: Fix x86 build

I unintentionally removed this size_t cast, which is required
for std::max to infer its single template arg.

Fixes: f88347cd ("clover/core: Support MSVC")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3920
Reviewed-by: Marcin Slusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7905>

3 years ago.mailmap: add and update aliases for Danylo Piliaiev
Andres Gomez [Fri, 4 Dec 2020 13:32:18 +0000 (15:32 +0200)]
.mailmap: add and update aliases for Danylo Piliaiev

Signed-off-by: Andres Gomez <agomez@igalia.com>
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7916>

3 years agoaco: coalesce constant copies
Rhys Perry [Thu, 26 Nov 2020 14:30:32 +0000 (14:30 +0000)]
aco: coalesce constant copies

fossil-db (Navi):
Totals from 20108 (14.49% of 138791) affected shaders:
CodeSize: 117835376 -> 117830512 (-0.00%)
Instrs: 22813722 -> 22733245 (-0.35%)
Cycles: 1009135584 -> 1008543628 (-0.06%)
VMEM: 5401668 -> 5391247 (-0.19%)
SMEM: 1286824 -> 1283663 (-0.25%)
Copies: 1742154 -> 1661686 (-4.62%)

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

3 years agoaco: use v_lshrrev_b64 for 64-bit VGPR copies on GFX10+
Rhys Perry [Thu, 26 Nov 2020 14:18:18 +0000 (14:18 +0000)]
aco: use v_lshrrev_b64 for 64-bit VGPR copies on GFX10+

This isn't worth it on GFX9-, but the proprietary compiler uses it on
GFX10.

fossil-db (Navi):
Totals from 23825 (17.17% of 138791) affected shaders:
CodeSize: 130623632 -> 130623800 (+0.00%); split: -0.00%, +0.00%
Instrs: 25185559 -> 25108597 (-0.31%)
Cycles: 709864740 -> 708910860 (-0.13%)
VMEM: 7205343 -> 7168839 (-0.51%); split: +0.00%, -0.51%
SMEM: 1584946 -> 1575183 (-0.62%)
Copies: 2043134 -> 1966230 (-3.76%)

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

3 years agoaco: add get_const/is_constant_representable helpers
Rhys Perry [Thu, 3 Dec 2020 15:18:30 +0000 (15:18 +0000)]
aco: add get_const/is_constant_representable helpers

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

3 years agoaco: allow 64-bit literals if they can be sign/zero-extended from 32-bit
Rhys Perry [Mon, 30 Nov 2020 14:46:54 +0000 (14:46 +0000)]
aco: allow 64-bit literals if they can be sign/zero-extended from 32-bit

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

3 years agoaco: remove sign-extension in constantValue64()
Rhys Perry [Thu, 3 Dec 2020 11:05:16 +0000 (11:05 +0000)]
aco: remove sign-extension in constantValue64()

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

3 years agoaco: test self-intersecting copies when src=higher
Rhys Perry [Fri, 4 Dec 2020 10:26:06 +0000 (10:26 +0000)]
aco: test self-intersecting copies when src=higher

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

3 years agoaco: don't assume src=lower when splitting self-intersecting copies
Rhys Perry [Thu, 3 Dec 2020 19:55:10 +0000 (19:55 +0000)]
aco: don't assume src=lower when splitting self-intersecting copies

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Fixes: 09c584caeb2 ("aco: split self-intersecting copies instead of swapping")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7798>

3 years agopanfrost: Update the resource layout before calling util_copy_rect()
Boris Brezillon [Sat, 28 Nov 2020 10:22:57 +0000 (11:22 +0100)]
panfrost: Update the resource layout before calling util_copy_rect()

If we don't do that, the line_stride might be wrong. We also need
to create a new BO if the previous one is too small to hold the
linear version, which can happen with the tile alignment done on
linear+renderable resources.

Suggested-by: Icecream95
Fixes: d4f662a25227 ("panfrost: Update the resource layout when doing a tile -> linear conversion")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7821>

3 years agoiris: store copy of the border color in the border color hash table
Marcin Ślusarz [Wed, 2 Dec 2020 13:40:02 +0000 (14:40 +0100)]
iris: store copy of the border color in the border color hash table

Color can be allocated on the stack since 809a81ec3a0.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3909
Fixes: 809a81ec3a0 ("iris: Properly support alpha and luminance-alpha formats")

Debugged-by: Filip Strömbäck
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7885>

3 years agoradv: reduce maxTransformFeedbackBufferDataSize to 512
Samuel Pitoiset [Thu, 3 Dec 2020 15:15:46 +0000 (16:15 +0100)]
radv: reduce maxTransformFeedbackBufferDataSize to 512

DRAW_OPAQUE_VERTEX_STRIDE only has 9 bits, so the register can
represent 511 bytes at most.

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

3 years agoutil: Add os_get_page_size support for macOS.
Vinson Lee [Fri, 4 Dec 2020 01:54:11 +0000 (17:54 -0800)]
util: Add os_get_page_size support for macOS.

Fix build error on macOS.

src/util/os_misc.c:352:2: error: unexpected platform in os_sysinfo.c
error unexpected platform in os_sysinfo.c
 ^

Fixes: ("cdf3a6a83b50 util: Add os_get_page_size query")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7911>

3 years agoradeon/vcn: support hevc SAO enc for VCN2+
Ruijing Dong [Mon, 14 Sep 2020 00:42:47 +0000 (20:42 -0400)]
radeon/vcn: support hevc SAO enc for VCN2+

Add support of sample adaptive offset (SAO) in HEVC encode for VCN2 and above.

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

3 years agoradeon/vcn: use cdw to calculate slice header index
Boyuan Zhang [Mon, 14 Sep 2020 00:04:28 +0000 (20:04 -0400)]
radeon/vcn: use cdw to calculate slice header index

Use DWORD count to calculate the number of DWORD filled in slice header template.

Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com>
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Acked-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6942>

3 years agoradeon/vcn: add 0x02 to enc emulation prevention
Ruijing Dong [Sun, 13 Sep 2020 23:53:24 +0000 (19:53 -0400)]
radeon/vcn: add 0x02 to enc emulation prevention

Add 0x02 as a new case that triggers adding emulation prevention byte.

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

3 years agoamd/addrlib: Initialize Lib members in constructors.
Vinson Lee [Wed, 25 Nov 2020 03:20:01 +0000 (19:20 -0800)]
amd/addrlib: Initialize Lib members in constructors.

Fix defects reported by Coverity Scan.

uninit_member: Non-static class member m_maxBaseAlign is not initialized in this constructor nor in any functions that it calls.
uninit_member: Non-static class member m_maxMetaBaseAlign is not initialized in this constructor nor in any functions that it calls.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7768>

3 years agomeson: Make the glvnd vendor name configurable
Adam Jackson [Wed, 18 Nov 2020 15:26:19 +0000 (10:26 -0500)]
meson: Make the glvnd vendor name configurable

Leave the default as "mesa", but this enables parallel Mesa installs.

Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7674>

3 years agoradv: Don't invalidate the SCACHE for image barriers.
Bas Nieuwenhuizen [Sat, 17 Oct 2020 23:52:52 +0000 (01:52 +0200)]
radv: Don't invalidate the SCACHE for image barriers.

Even ACO never uses the constant cache for images.

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

3 years agost/mesa: move cso_context next to the other pointers
Marek Olšák [Thu, 3 Dec 2020 16:12:23 +0000 (11:12 -0500)]
st/mesa: move cso_context next to the other pointers

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7901>

3 years agost/mesa: put pipe_screen * into st_context and use it
Marek Olšák [Sun, 29 Nov 2020 08:27:37 +0000 (03:27 -0500)]
st/mesa: put pipe_screen * into st_context and use it

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7901>

3 years agocso: inline struct cso_cache to remove dereferences
Marek Olšák [Sun, 29 Nov 2020 06:33:40 +0000 (01:33 -0500)]
cso: inline struct cso_cache to remove dereferences

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7901>

3 years agogallium: inline struct u_suballocator to remove dereferences
Marek Olšák [Sun, 29 Nov 2020 06:16:25 +0000 (01:16 -0500)]
gallium: inline struct u_suballocator to remove dereferences

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7901>

3 years agocso: remove unused code
Marek Olšák [Sun, 29 Nov 2020 06:39:01 +0000 (01:39 -0500)]
cso: remove unused code

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7901>

3 years agovbo: remove gl_context dereferences when we can just subtract the pointer
Marek Olšák [Sun, 29 Nov 2020 07:22:06 +0000 (02:22 -0500)]
vbo: remove gl_context dereferences when we can just subtract the pointer

vbo_exec_context and vbo_save_context are inside gl_context.

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7901>

3 years agofreedreno: Remove fd_log()
Rob Clark [Mon, 30 Nov 2020 21:05:49 +0000 (13:05 -0800)]
freedreno: Remove fd_log()

Now that it is superceeded by u_trace

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

3 years agofreedreno: Add trace-parser.py
Rob Clark [Mon, 30 Nov 2020 19:15:12 +0000 (11:15 -0800)]
freedreno: Add trace-parser.py

Similar to log-parser.py, but uses u_trace tracepoint log.

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

3 years agofreedreno: Add GPU tracepoints
Rob Clark [Mon, 30 Nov 2020 16:38:18 +0000 (08:38 -0800)]
freedreno: Add GPU tracepoints

Add support for u_trace, and freedreno tracepoints.

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

3 years agofreedreno: Don't emit log/trace points in gmem for nondraw
Rob Clark [Mon, 30 Nov 2020 16:35:44 +0000 (08:35 -0800)]
freedreno: Don't emit log/trace points in gmem for nondraw

For blit/compute non-draw batches, we are already emitting traces in the
draw cmdstream, which means we cannot also have traces in the GMEM ring
(as that breaks the FIFO ordering of traces)

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

3 years agofreedreno: Remove unused fxn
Rob Clark [Mon, 30 Nov 2020 16:32:33 +0000 (08:32 -0800)]
freedreno: Remove unused fxn

Unused since aa2f6bd4f5688034bb716a50104c93c2881b29d9

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

3 years agofreedreno: Small log-parser.py cleanup
Rob Clark [Sun, 29 Nov 2020 19:27:20 +0000 (11:27 -0800)]
freedreno: Small log-parser.py cleanup

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

3 years agogallium/aux: Add GPU tracepoint mechanism
Rob Clark [Thu, 26 Nov 2020 19:14:22 +0000 (11:14 -0800)]
gallium/aux: Add GPU tracepoint mechanism

This adds a mechanism, loosely inspired by the linux kernel's tracepoint
mechanism, to declare and emit tracepoints.  A driver provided callback
is used to emit cmdstream to capture timestamps on the GPU, which are
used to later "render" the emitted tracepoints.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Acked-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7818>

3 years agoutil: Add helper to get FILE* options
Rob Clark [Tue, 1 Dec 2020 18:16:36 +0000 (10:16 -0800)]
util: Add helper to get FILE* options

Add a helper to get debug options that specify a file path, with
additional checking for suid to prevent unintended file access via
mesa's debug features.

Unlike other DEBUG_GET_ONCE_*, this returns a new file ptr each time
it is called (although it only does the lookup of the path once).

Signed-off-by: Rob Clark <robdclark@chromium.org>
Acked-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7818>

3 years agoasm: Try to fix sparc assembly for inverse matrix operations
Kenneth Graunke [Wed, 2 Dec 2020 22:38:07 +0000 (14:38 -0800)]
asm: Try to fix sparc assembly for inverse matrix operations

This is completely untested!

In commit 3175b63a0dfa290430f9f7eb651387788933a02b, Marek stopped
allocating the GLmatrix::inv field with malloc, instead embedding
it directly in the structure.  So, we need to drop a level of
indirection here and use (matrix pointer + MATRIX_INV) as the
inverse matrix array directly, rather than reading a pointer at
that offset and chasing it.

Fixes: 3175b63a0df ("mesa: don't allocate matrices with malloc")
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7889>

3 years agoasm: Fix x86 assembly for inverse matrix operations
Kenneth Graunke [Wed, 2 Dec 2020 22:38:07 +0000 (14:38 -0800)]
asm: Fix x86 assembly for inverse matrix operations

In commit 3175b63a0dfa290430f9f7eb651387788933a02b, Marek stopped
allocating the GLmatrix::inv field with malloc, instead embedding
it directly in the structure.  So, we need to drop a level of
indirection here and use (matrix pointer + MATRIX_INV) as the
inverse matrix array directly, rather than reading a pointer at
that offset and chasing it.

Fixes: 3175b63a0df ("mesa: don't allocate matrices with malloc")
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7889>

3 years agodocs: add release schedule for 20.3
Dylan Baker [Thu, 3 Dec 2020 18:30:04 +0000 (10:30 -0800)]
docs: add release schedule for 20.3

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

3 years agodocs: update calendar and link releases notes for 20.3.0
Dylan Baker [Thu, 3 Dec 2020 18:28:25 +0000 (10:28 -0800)]
docs: update calendar and link releases notes for 20.3.0

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

3 years agodocs: Add sha256 sums for 20.3.0
Dylan Baker [Thu, 3 Dec 2020 18:22:55 +0000 (10:22 -0800)]
docs: Add sha256 sums for 20.3.0

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

3 years agodocs: add release notes for 20.3.0
Dylan Baker [Thu, 3 Dec 2020 17:49:56 +0000 (09:49 -0800)]
docs: add release notes for 20.3.0

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

3 years agoturnip: implement z-scaling and z-mirroring BlitImage
Jonathan Marek [Thu, 26 Nov 2020 01:54:32 +0000 (20:54 -0500)]
turnip: implement z-scaling and z-mirroring BlitImage

Z scaling case without nearest filter needs a 3D texture, so add a 3D
texture path and use it to cover all scaling/mirroring cases.

The "rotation" argument for the clear/blit "setup" function is replaced
with a more generic "blit_param", which has a different meaning for the
3D blit path. (to avoid having too many arguments)

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7781>

3 years agomeson.build: Order the flex/bison by odds of them working
Zack Rusin [Thu, 26 Nov 2020 16:50:06 +0000 (08:50 -0800)]
meson.build: Order the flex/bison by odds of them working

Some flex/bison installs on windows include yacc and lex
as bash scripts that call bison/flex binaries. That creates
an extra layer of dependencies because those won't work from
plain cmd.exe/powershell. Lets switch the lookup order so that
by default we pickup vanilla binaries instead of scripts.

Reviewd-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7806>

3 years agomeson.build: Disable zlib as per -Dzlib option
Neha Bhende [Thu, 26 Nov 2020 16:48:38 +0000 (08:48 -0800)]
meson.build: Disable zlib as per -Dzlib option

Disable use of zlib as per -Dzlib option.
Default value is true. To disable zlib usage, specify -Dzlib=false

Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Zack Rusin <zackr@vmware.com
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7806>

3 years agomeson.build: Use SSE math for MinGW X86 build as per sse2 option
Neha Bhende [Thu, 26 Nov 2020 16:47:10 +0000 (08:47 -0800)]
meson.build: Use SSE math for MinGW X86 build as per sse2 option

This patch adds missing compiler flags to build 32bit driver. It helps to build 32bit
using mingw successfully

Generated GL driver is tested using piglit, glretrace, conform and
some opengl apps

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7806>

3 years agomeson: Don't build svgadrm on windows
Neha Bhende [Thu, 26 Nov 2020 16:45:54 +0000 (08:45 -0800)]
meson: Don't build svgadrm on windows

Building svgadrm module on window platform is not required.

Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7806>

3 years agogallium/targets/libgl-gdi: prefer d3d12 driver
Erik Faye-Lund [Sun, 26 May 2019 08:43:57 +0000 (10:43 +0200)]
gallium/targets/libgl-gdi: prefer d3d12 driver

Unlike the other drivers, the D3D12 driver is hardware accelerated, so
it's going to be a more reasonable choice. So let's prefer it.

This only matters for people who build with the D3D12 driver. And they
can set the GALLIUM_DRIVER environment variable as appropriate to
override it.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7534>

3 years agolavapipe: set some basic usage-flags
Erik Faye-Lund [Wed, 2 Dec 2020 16:18:21 +0000 (17:18 +0100)]
lavapipe: set some basic usage-flags

Setting these avoids a few warnings while running glxgears on Zink on
Lavapipe. There's a lot more flags to set here, but this is better than
nothing.

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

3 years agonir/opt_sink: use common instruction removal/insertion helpers
Rhys Perry [Wed, 2 Dec 2020 16:03:32 +0000 (16:03 +0000)]
nir/opt_sink: use common instruction removal/insertion helpers

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7880>