Nanley Chery [Wed, 9 Dec 2020 23:11:45 +0000 (15:11 -0800)]
intel/blorp: Drop support for STC_CCS resolves
There are no users of this feature.
Reverts the following commits:
*
87c57b8dae954c7de6a499506a4161f69076ce67 (effectively)
*
53d472df24d4bc05359120df0615321318922d6d
*
9ab0e92cff8bb8336cebd9dc68d02d7451ad78e1
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8021>
Nanley Chery [Wed, 9 Dec 2020 21:20:26 +0000 (13:20 -0800)]
iris: Stop using blorp_hiz_stencil_op
Delete this function call for two reasons:
1. Calling blorp_hiz_stencil_op within iris_resolve_color seems out of
place.
2. AFAICT, iris stopped doing STC_CCS resolves with commit
5b82d8ce8bc681905a8902902fb89151ca32d6c9.
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8021>
Dave Airlie [Wed, 19 Aug 2020 03:32:24 +0000 (13:32 +1000)]
CI: add lavapipe vulkan testing
Acked-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7952>
Eric Anholt [Mon, 24 Aug 2020 18:14:52 +0000 (11:14 -0700)]
st/mesa: Replace mesa_to_tgsi() with prog_to_nir() and nir_to_tgsi().
This introduces NIR optimizations to ARB programs in all gallium drivers,
while deleting code.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7927>
Eric Anholt [Thu, 3 Dec 2020 01:10:27 +0000 (17:10 -0800)]
ci: Make sure that osmesa stays warnings-clean in release builds.
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/1243>
Eric Anholt [Wed, 3 Jul 2019 18:10:32 +0000 (11:10 -0700)]
mesa: Retire classic OSMesa.
The classic OSMesa renders directly into user memory using
src/mesa/swrast, while gallium OSMesa renders using softpipe or llvmpipe
and copies out at glFlush() time. This would make gallium look like a
worse choice for OSMesa, except that swrast is:
1) Painfully slow to render compared to llvmpipe
2) Incorrect at derivatives
3) Limited to GL 2.1 instead of GL 4.6
In my survey of OSMesa users, debian was the remaining holdout with
classic OSMesa in use on hurd and some rare non-LLVM-supported
architectures (sh4, alpha, etc.). As of today, they've switched to
softpipe-based gallium OSMesa for them.
To prevent people from running the wrong OSMesa (to the extent that
running OSMesa can ever be the right thing), delete the classic
version.
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Closes: #320
Closes: #877
Closes: #2297
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/1243>
Eric Anholt [Thu, 3 Dec 2020 00:46:06 +0000 (16:46 -0800)]
docs: Fix the documentation of the OSMesa path.
Typo in gallium, along with the fact that gallium's osmesa installs to the
same directory as classic's.
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/1243>
Eric Anholt [Wed, 9 Dec 2020 18:04:10 +0000 (10:04 -0800)]
osmesa/test: Clear the stencil bits in the depth test.
Since the depth buffer starts out as a malloc, and we weren't clearing it,
you could get undefined values in your top 8 bits. This should fix
intermittent failures of the depth test.
(Sadly, valgrind wasn't catching this, presumably because the 32-bit value
there *is* written, just some bits are left undef)
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/1243>
Timur Kristóf [Mon, 23 Nov 2020 08:42:25 +0000 (09:42 +0100)]
aco: Skip TCS s_barrier when VS outputs are not stored in the LDS.
When VS outputs are known to be never stored in LDS, there is no
reason for HS waves to wait for all LS waves to complete. So, the
s_barrier between the LS and HS can be safely skipped.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7727>
Rob Clark [Sat, 5 Dec 2020 19:56:45 +0000 (11:56 -0800)]
util+treewide: container_of() cleanup
Replace mesa's slightly different container_of() with one more aligned
to the linux kernel's version which takes a type as the 2nd param. This
avoids warnings like:
freedreno_context.c:396:44: warning: variable 'batch' is uninitialized when used within its own initialization [-Wuninitialized]
At the same time, we can add additional build-time type-checking asserts
Signed-off-by: Rob Clark <robdclark@chromium.org>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7941>
Rob Clark [Sat, 5 Dec 2020 20:46:43 +0000 (12:46 -0800)]
util: Allow STATIC_ASSERT() everywhere
Remove -Werror=vla from c_msvc_compat_args so we can use STATIC_ASSERT()
in core code. We have a CI job for this.
(And arguably we could probably just drop c_msvc_compat_args entirely.)
Signed-off-by: Rob Clark <robdclark@chromium.org>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7941>
Rob Clark [Sat, 5 Dec 2020 19:26:44 +0000 (11:26 -0800)]
util: Promote __builtin_types_compatible_p compat
Signed-off-by: Rob Clark <robdclark@chromium.org>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7941>
jzielins [Thu, 10 Dec 2020 11:15:33 +0000 (12:15 +0100)]
swr: fix crashes caused by incorrectly reporting SSBO support
Reviewed-by: Krzysztof Raszkowski <krzysztof.raszkowski@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8036>
Tomeu Vizoso [Thu, 10 Dec 2020 11:48:32 +0000 (12:48 +0100)]
ci: Only run the sanity job if there's a MR
As it will fail right away if there isn't, and that prevents the CI to
run on people's branches.
$ ci-fairy check-merge-request --require-allow-collaboration --junit-xml=check-merge-request.xml
ERROR: No open merge request against mesa/mesa with sha
9f6aba4be0ceb59d35732651cc44f676e93b70b5
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Fixes:
d4151f2e ("ci: Run sanity job only in pre-merge pipelines")
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8032>
Hoe Hao Cheng [Thu, 26 Nov 2020 14:06:27 +0000 (22:06 +0800)]
zink: remove useless import in zink_device_info.py
Acked-by: Adam Jackson <ajax@redhat.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7756>
Hoe Hao Cheng [Tue, 24 Nov 2020 17:56:56 +0000 (01:56 +0800)]
zink: move blend_operation_advanced conditions to zink_device_info.py
Acked-by: Adam Jackson <ajax@redhat.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7756>
Hoe Hao Cheng [Tue, 24 Nov 2020 17:40:30 +0000 (01:40 +0800)]
zink: decouple features and enabling conditions in zink_device_info.py
replace `have_feature` with `conditions` and add `features=True`
to places where `have_feature` was used.
Acked-by: Adam Jackson <ajax@redhat.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7756>
Hoe Hao Cheng [Tue, 24 Nov 2020 17:01:52 +0000 (01:01 +0800)]
zink: define and use <%guard> helper in zink_device_info
this is an attempt to improve readability of the template code, with
the elimination of excessive whitespace as a bonus.
Acked-by: Adam Jackson <ajax@redhat.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7756>
Michel Dänzer [Sat, 5 Dec 2020 09:15:38 +0000 (10:15 +0100)]
ci: Move deploy stage to the end of the pipeline
This should make more important jobs visible without scrolling on
pipeline pages.
The deploy stage jobs only depend on the sanity job or none at all, so
this has no impact on when the former can run.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7926>
Michel Dänzer [Thu, 3 Dec 2020 17:25:54 +0000 (18:25 +0100)]
ci: Run sanity job only in pre-merge pipelines
It's more of a nuisance than useful for forked branches.
This means the test-docs job can no longer have a direct dependency on
sanity for forked branches, so split it up into two jobs: one for
pre-merge pipelines, one for forked branches.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7926>
Simon Ser [Wed, 25 Nov 2020 13:07:34 +0000 (14:07 +0100)]
egl/wayland: remove libwayland < 1.18 workaround
Require libwayland 1.18 and remove the workaround for
WL_SHM_FORMAT_{A,X}BGR16161616F.
Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7771>
Erik Faye-Lund [Tue, 8 Dec 2020 11:43:32 +0000 (12:43 +0100)]
zink: use _mesa_pointer_set_create for simplicity
Acked-by: Adam Jackson <ajax@redhat.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7985>
Erik Faye-Lund [Tue, 8 Dec 2020 11:45:23 +0000 (12:45 +0100)]
zink: fail if set failed to create
Fixes:
a03d17ede77 ("zink: refcount zink_gfx_program objects")
Acked-by: Adam Jackson <ajax@redhat.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7985>
Pierre-Eric Pelloux-Prayer [Wed, 9 Dec 2020 16:39:52 +0000 (17:39 +0100)]
gallium/u_threaded: set has_user_indices = false for merged draws
Fixes an assert when running this piglit test:
arb_shader_draw_parameters-drawid-single-draw
Fixes:
351ba767afe ("gallium/u_threaded: set has_user_indices = false in the driver thread")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8004>
Pierre-Eric Pelloux-Prayer [Wed, 9 Dec 2020 12:51:48 +0000 (13:51 +0100)]
radeonsi: fix si_get_draw_start_count count value
Fixes:
0ce68852c1a ("radeonsi: implement multi_draw but supporting only 1 draw")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3932
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8004>
Michel Dänzer [Wed, 9 Dec 2020 10:02:09 +0000 (11:02 +0100)]
ci: .lava-test:amd64 template needs arm_build
It uses the arm_build image, but didn't depend on the job which ensures
it exists. So jobs using the template could run before the arm_build job
had finished, and fail if the image didn't exist.
Fixes:
6c8b921572a5 "ci: Build kernels and rootfs for x86 devices"
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3632
Reviewed-by: Andres Gomez <agomez@igalia.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8003>
Michel Dänzer [Tue, 8 Dec 2020 16:22:28 +0000 (17:22 +0100)]
docs: Adapt to FDO_DISTRIBUTION_TAG → MESA_IMAGE_TAG rename
Fixes:
0781d9825b31 "ci: Append $MESA_TEMPLATES_COMMIT to image tags"
Reviewed-by: Andres Gomez <agomez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7957>
Michel Dänzer [Tue, 8 Dec 2020 16:18:47 +0000 (17:18 +0100)]
ci: Adapt armhf_test job to MESA_TEMPLATES_COMMIT related changes
I missed this before somehow.
Fixes:
0781d9825b31 "ci: Append $MESA_TEMPLATES_COMMIT to image tags"
Reviewed-by: Andres Gomez <agomez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7957>
Michel Dänzer [Mon, 7 Dec 2020 08:51:16 +0000 (09:51 +0100)]
ci: Add .use-base-image template
And use it in jobs for images using another Mesa image as their base.
Should fix the build of images which don't use another Mesa image as
their base (by no longer setting the FDO_BASE_IMAGE variable).
Fixes:
0781d9825b31 "ci: Append $MESA_TEMPLATES_COMMIT to image tags"
Acked-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Andres Gomez <agomez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7957>
Michel Dänzer [Mon, 7 Dec 2020 08:35:53 +0000 (09:35 +0100)]
ci: Move BASE_TAG expansion to FDO_BASE_IMAGE assignment
This fixes the build of images which use another Mesa image as the base.
v2:
* Move $CI_REGISTRY_IMAGE expansion into FDO_BASE_IMAGE assignment as
well (Dave Airlie)
Fixes:
0781d9825b31 "ci: Append $MESA_TEMPLATES_COMMIT to image tags"
Reported-by: Dave Airlie <airlied@redhat.com>
Acked-by: Eric Anholt <eric@anholt.net> # v1
Reviewed-by: Andres Gomez <agomez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7957>
Tapani Pälli [Wed, 4 Nov 2020 09:11:41 +0000 (11:11 +0200)]
anv: fix calculation of buffer size in case dynamic size is used
VK spec got clarification about the pSizes parameter.
Fixes set of new tests:
dEQP-VK.pipeline.extended_dynamic_state*with_offset*
v2: move offset subtract to be part of size calculation (Jason)
CC: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3871
Fixes:
b9a05447a19 ("anv: dynamic vertex input binding stride and size support")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7439>
Erik Faye-Lund [Fri, 4 Dec 2020 19:21:51 +0000 (20:21 +0100)]
lavapipe: implement VK_EXT_vertex_attribute_divisor (v2)
This is more or less just compile-tested, but this seems about right to
me. I see the extension being supported when running on top of Zink,
which makes me happy enough for now ;)
v2: fixed up to copy the structs on pipeline create [airlied]
gallium doesn't support the 0 divisor case yet.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7930>
Erik Faye-Lund [Fri, 4 Dec 2020 18:45:00 +0000 (19:45 +0100)]
lavapipe: interpret inputRate as an enum-value
This isn't an integer, it's an enum, We need to support
VK_EXT_vertex_attribute_divisor if we want to support using values other
than 0 and 1 here.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7930>
Dave Airlie [Mon, 7 Dec 2020 23:35:01 +0000 (09:35 +1000)]
lavapipe: don't copy pNext
We have to ignore unknown structs, so don't init the deep copy pNext
with the src.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7978>
Dave Airlie [Mon, 7 Dec 2020 23:34:14 +0000 (09:34 +1000)]
lavapipe: split out pipeline struct duplication to a macro.
This just pulls a common pattern into a macro.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7978>
Dave Airlie [Mon, 7 Dec 2020 22:31:58 +0000 (08:31 +1000)]
lavapipe: use ralloc for pipeline copies.
We have to store every struct that is in the pipeline for processing
later, use ralloc to make freeing this mess easier.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7978>
Nanley Chery [Tue, 8 Dec 2020 18:32:29 +0000 (10:32 -0800)]
iris: Drop res variable in resolve_sampler_views
Instead of storing isv->res in a local variable, just use it directly to
increase consistency with similar field accesses.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7996>
Nanley Chery [Tue, 8 Dec 2020 18:27:14 +0000 (10:27 -0800)]
iris: Fix resource ptr in resolve_sampler_views
Use the sampler view's iris_resource instead of its pipe_resource. For
stencil views of a depth-stencil resource, this enables the stencil
resource to cause a depth cache flush when needed.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3287
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7996>
Eric Anholt [Wed, 9 Dec 2020 19:33:16 +0000 (11:33 -0800)]
softpipe: Fix swizzled texture gather of int textures.
We need to pick 1u vs 1.0f based on the type of the texture, just like for
normal samples. Move the decision up to the create_sampler_view, and use
that value from both sampler paths.
Cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8012>
Marek Olšák [Wed, 26 Aug 2020 04:16:23 +0000 (00:16 -0400)]
radeonsi: use a C++ template to decrease draw_vbo overhead by 13 %
With GALLIUM_THREAD=0 to disable draw merging.
Before:
1, DrawElements ( 1 VBO| 0 UBO| 0 ) w/ no state change, 8736
After:
1, DrawElements ( 1 VBO| 0 UBO| 0 ) w/ no state change, 10059
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7807>
Marek Olšák [Wed, 26 Aug 2020 02:51:03 +0000 (22:51 -0400)]
radeonsi: rename si_state_draw.c to .cpp
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7807>
Marek Olšák [Wed, 26 Aug 2020 02:35:29 +0000 (22:35 -0400)]
radeonsi: resolve a tricky C++ failure with goto jumping over initializations
C++ doesn't allow jumping over variable initializations, so we have to use
a macro.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7807>
Marek Olšák [Wed, 26 Aug 2020 02:30:55 +0000 (22:30 -0400)]
radeonsi: fix future C++ compile failures and warnings
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7807>
Marek Olšák [Wed, 26 Aug 2020 02:50:30 +0000 (22:50 -0400)]
radeonsi: allow including a few files from C++
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7807>
Marek Olšák [Wed, 26 Aug 2020 02:29:15 +0000 (22:29 -0400)]
amd/llvm: fix C++ compile failures
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7807>
Marek Olšák [Wed, 26 Aug 2020 02:49:31 +0000 (22:49 -0400)]
gallium/util: allow including a few files in C++
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7807>
Marek Olšák [Wed, 26 Aug 2020 02:28:23 +0000 (22:28 -0400)]
compiler: fix glsl_types.h compile failures when including as C++ in drivers
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7807>
Marek Olšák [Wed, 9 Dec 2020 00:25:51 +0000 (19:25 -0500)]
ac/llvm: handle no_(un)signed_wrap NIR flags
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7939>
Marek Olšák [Tue, 8 Dec 2020 23:51:57 +0000 (18:51 -0500)]
ac: unify shader arguments that are duplicated
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7939>
Marek Olšák [Fri, 4 Dec 2020 17:34:55 +0000 (12:34 -0500)]
radeonsi: move si_llvm_compiler_shader and deps into si_shader_llvm.c
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7939>
Marek Olšák [Fri, 4 Dec 2020 17:17:45 +0000 (12:17 -0500)]
radeonsi: move si_build_main_function into si_shader_llvm.c
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7939>
Marek Olšák [Fri, 4 Dec 2020 17:17:45 +0000 (12:17 -0500)]
radeonsi: move si_create_function into si_shader_llvm.c
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7939>
Marek Olšák [Fri, 4 Dec 2020 16:22:14 +0000 (11:22 -0500)]
radeonsi: split ac_shader_args initialization from LLVM code
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7939>
Marek Olšák [Fri, 4 Dec 2020 16:19:16 +0000 (11:19 -0500)]
ac: add shader return values into ac_shader_args
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7939>
Marek Olšák [Fri, 4 Dec 2020 16:17:58 +0000 (11:17 -0500)]
ac: correct ac_shader_args types, remove sgpr_count
sgpr_count is unused. The size of the others is too small.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7939>
Marek Olšák [Wed, 9 Dec 2020 19:41:13 +0000 (14:41 -0500)]
radeonsi: fix a crash in si_fence_server_sync
Fixes:
1f31a216640 - radeonsi: remove SDMA support
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8010>
Rhys Perry [Wed, 9 Dec 2020 15:40:40 +0000 (15:40 +0000)]
aco: rename s_subb_u32 operands to borrow
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/8007>
Rhys Perry [Wed, 9 Dec 2020 15:28:46 +0000 (15:28 +0000)]
aco: fix various s_subb_u32 operands to SCC
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/8007>
Juan A. Suarez Romero [Wed, 9 Dec 2020 13:41:32 +0000 (14:41 +0100)]
v3d: use job's nr_cbufs field
Instead of computing the number of color buffers in the start binning
function, just use the job's nr_cbufs, which already contains that
value.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8006>
Boris Brezillon [Tue, 1 Dec 2020 08:18:18 +0000 (09:18 +0100)]
panfrost: Fix provoking vertex selection for lines
For line primitives, the provoking vertex selection is done through the
DRAW.flat_shading_vertex field and PRIMITIVE.first_provoking_vertex must
be set to true.
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/7923>
Boris Brezillon [Mon, 30 Nov 2020 13:38:30 +0000 (14:38 +0100)]
panfrost: Preload SampleID when reloading multisample FBs
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/7923>
Boris Brezillon [Tue, 8 Dec 2020 10:42:15 +0000 (11:42 +0100)]
panfrost: Take the number of samples into account in blend shaders
Midgard has to split the writeout instruction if the number of bits per
pixel exceeds 128. We thus need to take the number of samples into
account when creating blend shaders.
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/7984>
Boris Brezillon [Tue, 8 Dec 2020 10:38:50 +0000 (11:38 +0100)]
pan/mdg: Add support for multi sample iteration writeout
Some MSAA+fmt combination require writeout to be split. Right now, it
only impacts blend shaders since we only support MSAA 4x, and the only
formats that could exceed the 128bit/pixel limit in MSAA 4x are
not supported by the fixed-function blend unit. We thus rely on the
blend shader to split things properly. Things will change once we add
MSAA 8x/16x to the mix, since even the blendable formats will exceed
the 128b/pixel limit in that case.
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/7984>
Boris Brezillon [Mon, 30 Nov 2020 10:07:33 +0000 (11:07 +0100)]
panfrost: Fix fencing
Commit
64d6f56ad26f ("panfrost: Allocate syncobjs in panfrost_flush")
aimed at optimizing the fencing logic but it looks it also broke the
fence-based synchronization in subtle ways.
Indeed, now that the fence only waits on a single syncobj, we're not
guaranteed that all jobs queued in panfrost_flush_all_batches() will
be done when the fence is signaled, because jobs at the top level
(those stored in the batches hashmap) have not inter-dependencies.
Commit
9e397956b092 ("panfrost: signal syncobj if nothing is going to
be flushed") made this even more apparent by signaling the fence right
away if nothing was left to be drawn in the current context, thus
ignoring any of the batches left to flushed in the ->batches map.
If we want to keep relying the existing kernel APIs there's clearly no
ideal solution here. We can either go back to the original fencing
mechanism where each fence contained an array of syncobjs to be tested
or serialize jobs that have no explicit dependencies so we know the last
submitted job will also be the last one to return. The orginal approach
has proven to add quite a significant overhead (caused by the amount of
ioctls and the time spent in kernel space to gather dma fences attached
to those syncobjs and test them). So let's go for the simple solution
where we have a single syncobj bound to the context which we update to
point to the last job out_sync every time we submit a top-level job.
This approach implies reworking the way we create fences since we
need to capture the syncobj state at the time the fence is created.
Unfortunately, there's not SYNCOBJ_CLONE ioctl, which forces us to
export/create/import a fence so we have a new object that's not
subject to changes done to the context syncobj.
If we want to further optimize the logic, we should probably explore
some of those options:
1/ Adding array based SYNCOBJ ioctls (SYNCOBJ_{CREATE,DESTROY,CLONE}_ARRAY)
so we can mitigate the cost of ioctls when we need to manipulate
arrays of syncobjs
2/ Support synchronization jobs. That is, jobs that have a NULL job chain
but an array of sync_in and a sync_out to allow creating
synchronization points
3/ Add syncobj aggregators so we only have to wait on one syncobj from
userspace. The syncobj aggregator would wait for all sub syncobjs to
be signaled before signaling the top-level one.
Fixes:
64d6f56ad26f ("panfrost: Allocate syncobjs in panfrost_flush")
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/7831>
Boris Brezillon [Mon, 30 Nov 2020 09:23:32 +0000 (10:23 +0100)]
panfrost: Make sure we always add a reader -> write dependency when needed
We shouldn't reset the ->writer field when a reader comes in because we
want subsequent readers to have a dependency on the writer too. Let's
add a new field encoding the last access type and use it to replace the
writer != NULL test.
Reported-by: Roman Elshin
Fixes:
c6ebff3ecdde ("panfrost: Remove panfrost_bo_access type")
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/7831>
Marek Olšák [Mon, 21 Sep 2020 13:08:31 +0000 (09:08 -0400)]
st/mesa: enable compute shader derivatives in SPIR-V
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6799>
Marek Olšák [Mon, 21 Sep 2020 11:54:12 +0000 (07:54 -0400)]
ac,radeonsi: implement GL_NV_compute_shader_derivatives
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6799>
Marek Olšák [Tue, 8 Dec 2020 19:43:07 +0000 (14:43 -0500)]
winsys/amdgpu: use VRAM for command buffers if all VRAM is visible
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7951>
Marek Olšák [Sun, 6 Dec 2020 19:49:28 +0000 (14:49 -0500)]
radeonsi: map PIPE_USAGE_STREAM to VRAM if all VRAM is visible
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7951>
Marek Olšák [Sun, 6 Dec 2020 19:46:20 +0000 (14:46 -0500)]
radeonsi: unify uploaders and upload to VRAM if all VRAM is visible
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7951>
Marek Olšák [Sun, 6 Dec 2020 19:03:46 +0000 (14:03 -0500)]
radeonsi: only use staging for linear textures when all VRAM is not visible
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7951>
Marek Olšák [Sun, 6 Dec 2020 19:01:15 +0000 (14:01 -0500)]
radeons: only force staging uploads for VRAM when all VRAM is not visible
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7951>
Marek Olšák [Sun, 6 Dec 2020 18:59:53 +0000 (13:59 -0500)]
ac: add radeon_info::all_vram_visible for Smart Access Memory
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7951>
Marek Olšák [Sun, 6 Dec 2020 18:49:21 +0000 (13:49 -0500)]
radeonsi: initialize ctx and gfx_cs first, then allocators
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7951>
Rhys Perry [Tue, 1 Dec 2020 14:24:53 +0000 (14:24 +0000)]
compiler: update gl_access_qualifier comments
Clarify ACCESS_NON_{READABLE,WRITEABLE} and update ACCESS_CAN_REORDER.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6483>
Rhys Perry [Tue, 25 Aug 2020 16:36:14 +0000 (17:36 +0100)]
nir/opt_access: infer writeonly
This isn't always done for GL because it could cause ImageAccess to be
incorrect: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3278
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6483>
Rhys Perry [Tue, 25 Aug 2020 15:35:44 +0000 (16:35 +0100)]
nir/opt_access: consider global stores
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6483>
Rhys Perry [Tue, 25 Aug 2020 15:50:24 +0000 (16:50 +0100)]
nir/opt_access: handle variable pointers
We might not be able to determine what variable a instruction accesses.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6483>
Rhys Perry [Tue, 25 Aug 2020 16:03:03 +0000 (17:03 +0100)]
nir/opt_access: add basic Vulkan support
This involves determining the variables referenced by intrinsics, setting and
using the access qualifier correctly and considering that images and buffers
can alias.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6483>
Rhys Perry [Tue, 25 Aug 2020 13:30:52 +0000 (14:30 +0100)]
nir/opt_access: rename can_reorder() and set ACCESS_NON_WRITEABLE in it
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6483>
Rhys Perry [Tue, 1 Dec 2020 14:38:32 +0000 (14:38 +0000)]
nir/opt_access: don't check restrict in can_reorder()
ACCESS_NON_WRITEABLE means that the memory is read-only, not the variable,
so we don't have to check for aliasing.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6483>
Rhys Perry [Tue, 1 Dec 2020 14:34:48 +0000 (14:34 +0000)]
nir/opt_access: check restrict before marking a variable as readonly
ACCESS_NON_WRITEABLE means that the memory is read-only, not the variable,
so we have to check for aliasing first.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6483>
Rhys Perry [Tue, 1 Dec 2020 14:30:22 +0000 (14:30 +0000)]
nir/opt_access: ignore barriers and coherent qualifier
It shouldn't matter whether an access/variable is coherent or not, just
that it's not written. The coherent qualifier doesn't mean anything with
read-only memory.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6483>
Rhys Perry [Tue, 1 Dec 2020 14:26:40 +0000 (14:26 +0000)]
nir/opt_access: don't ignore image arrays in process_variable()
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6483>
Andrii Simiklit [Mon, 30 Nov 2020 18:15:10 +0000 (20:15 +0200)]
iris: update depth value for stages after fast clear depth
This should fix an outdated depth value visible from the shader side.
v1: (Nanley Chery)
- fix commit message
v2: (Nanley Chery)
- replace `fixes` tag by `mesa-stable`
Closes: #3883
Cc: 20.3 20.2 <mesa-stable>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Signed-off-by: Andrii Simiklit <andrii.simiklit@globallogic.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7838>
Juan A. Suarez Romero [Tue, 1 Dec 2020 08:45:39 +0000 (09:45 +0100)]
v3d: remove old tile blit code
This code was a direct copy from VC4, and it was disabled, as it did not
work.
Now that we have an implementation, let's remove it.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7816>
Juan A. Suarez Romero [Tue, 1 Dec 2020 08:39:52 +0000 (09:39 +0100)]
v3d: implement tile-based blit operation
This implements fast-path blit using the TLB to blit from one buffer to
another, if conditions for allowing this are met.
v1:
- Move checks in the code (Iago)
v2:
- Use function to compute tile width and height (Iago)
- Fix commit message (Iago)
- Use surface size to compute draw_tiles_{x,y} (Iago)
- Move checks (Iago)
- Fix tile draw parameters (Iago)
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7816>
Juan A. Suarez Romero [Thu, 3 Dec 2020 10:32:40 +0000 (11:32 +0100)]
v3d: refactor set tile buffer size function
Change it to not require a v3d job to compute the tile buffer
parameters.
v1:
- Pass nr_cbufs parameter to get tile buffer size function (Iago)
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7816>
Juan A. Suarez Romero [Fri, 27 Nov 2020 13:23:43 +0000 (14:23 +0100)]
v3d: implement tile buffer blits
This implements blit operation using the TLB.
It uses a source color buffer (bbuf) which will be blitted to color
buffer 0.
It also takes in account the number of samples for the input and output
so it can perform multisample resolve.
v1:
- Fix comment (Iago)
- Removed needless brackets (Iago)
- Ensure msaa is correctly set (Iago)
- Get rid of job->resolve (Iago)
- Add rbuf as part of job's key (Iago)
- Rename rbuf/rsurf by bbuf/bsurf (Iago)
- Revert needless change (Iago)
v2:
- Remove spurious change (Iago)
- Add assert for safety reasons (Iago)
- Add brackets in condition (Iago)
- Fix commit message and title (Iago)
- Do tile blit only for version >=4.0 (Iago)
v3:
- Add assertion (Iago)
- Fix comment (Iago)
- Change commit title (Iago)
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7816>
Juan A. Suarez Romero [Fri, 27 Nov 2020 13:17:59 +0000 (14:17 +0100)]
v3d: add helper to check if format supports TLB resolve
It checks if the TLB can perform multisample resolve for the specified
format.
v1:
- Fix commit title (Iago)
v2:
- Fix identation (Iago)
- Fix prototype style (Iago)
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7816>
Juan A. Suarez Romero [Fri, 27 Nov 2020 13:14:00 +0000 (14:14 +0100)]
v3d: split binning start from draw
Separate the binning part in the draw and make it public, so we can
invoke it later from a different part.
v1:
- Ensure the job needs flush (Iago)
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7816>
Juan A. Suarez Romero [Wed, 2 Dec 2020 12:53:17 +0000 (13:53 +0100)]
v3d: store number of color buffers in job
Avoids requiring to calculate in other places.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7816>
Juan A. Suarez Romero [Fri, 27 Nov 2020 13:10:18 +0000 (14:10 +0100)]
v3d: make set tile buffer size function public
This will be used later when implementing Tile-based blit function.
v1:
- Fix commit title (Iago)
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7816>
Juan A. Suarez Romero [Fri, 27 Nov 2020 12:07:43 +0000 (13:07 +0100)]
v3d: force alpha to 1 when rendering RGBX formats
This adds an enum to the load tile buffer that forces the alpha channel
to be set to 1. This will be required later to load RGBX formats.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7816>
Juan A. Suarez Romero [Fri, 27 Nov 2020 12:03:16 +0000 (13:03 +0100)]
util: function to check for rgbX format
Function that checks if the format has its alpha component forced to 1.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7816>
Marcin Ślusarz [Tue, 8 Dec 2020 18:38:01 +0000 (19:38 +0100)]
intel/tools/aubinator_error_decode: fix small memory leaks
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7994>
Marcin Ślusarz [Tue, 8 Dec 2020 18:27:43 +0000 (19:27 +0100)]
intel/tools/aubinator_error_decode: cleanup path/file handling
Should help some compilers/static analyzers understand this code and avoid
things like this:
../src/intel/tools/aubinator_error_decode.c:850:19: warning: "path" may be used uninitialized in this function [-Wmaybe-uninitialized]
850 | ret = asprintf(&filename, "%s/%d/i915_error_state", path, minor);
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7994>
Vinson Lee [Thu, 3 Dec 2020 23:12:07 +0000 (15:12 -0800)]
r600/sfn: Initialize ShaderInputVarying members in constructors.
Fix defects reported by Coverity Scan.
uninit_member: Non-static class member m_interpolate is not initialized in this constructor nor in any functions that it calls.
uninit_member: Non-static class member m_lds_pos is not initialized in this constructor nor in any functions that it calls.
uninit_member: Non-static class member m_mask is not initialized in this constructor nor in any functions that it calls.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7909>
Vinson Lee [Wed, 25 Nov 2020 21:18:03 +0000 (13:18 -0800)]
meson: Fix build with llvm-12.
This patch fixes this Meson build error.
$ meson builddir \
-Dshared-llvm=disabled
-Ddri-drivers=''
-Dbuild-tests=true \
-Dgallium-drivers=swrast \
-Dvulkan-drivers=''
[...]
/usr/bin/ld: src/gallium/auxiliary/libgallium.a(gallivm_lp_bld_misc.cpp.o): in function `llvm::InitializeNativeTarget()':
llvm/Support/TargetSelect.h:118: undefined reference to `LLVMInitializeX86TargetInfo'
/usr/bin/ld: llvm/Support/TargetSelect.h:119: undefined reference to `LLVMInitializeX86Target'
/usr/bin/ld: llvm/Support/TargetSelect.h:120: undefined reference to `LLVMInitializeX86TargetMC'
/usr/bin/ld: src/gallium/auxiliary/libgallium.a(gallivm_lp_bld_misc.cpp.o): in function `llvm::InitializeNativeTargetAsmPrinter()':
llvm/Support/TargetSelect.h:132: undefined reference to `LLVMInitializeX86AsmPrinter'
/usr/bin/ld: src/gallium/auxiliary/libgallium.a(gallivm_lp_bld_misc.cpp.o): in function `llvm::InitializeNativeTargetDisassembler()':
llvm/Support/TargetSelect.h:156: undefined reference to `LLVMInitializeX86Disassembler'
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7777>
Eric Anholt [Tue, 8 Dec 2020 23:18:34 +0000 (15:18 -0800)]
ci/vc4: Skip VS dynamic loops tests that cause GPU hangs.
We've been getting spurious failures from the new VC4 CI, which I believe
are due to this set of tests (which have been showing up along with a GPU
hang report in the list of flaky tests in the failing jobs). This was a
known issue I had in vc4.
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7998>