Eric Anholt
ee80237218
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 >
2020-12-10 18:38:13 +00:00
Eric Anholt
6ffc5611c8
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 >
2020-12-10 18:38:13 +00:00
Eric Anholt
7497917cfd
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 >
2020-12-10 18:38:13 +00:00
Timur Kristóf
a9a8e05b69
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 >
2020-12-10 17:23:16 +00:00
Rob Clark
790144e65a
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 >
2020-12-10 16:48:36 +00:00
Rob Clark
6fe84c5dda
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 >
2020-12-10 16:48:36 +00:00
Rob Clark
5a082911cd
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 >
2020-12-10 16:48:36 +00:00
jzielins
f63c595a73
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 >
2020-12-10 15:54:49 +01:00
Tomeu Vizoso
5d833f433a
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 >
2020-12-10 12:57:08 +00:00
Hoe Hao Cheng
f27ee2a3ad
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 >
2020-12-10 12:40:59 +00:00
Hoe Hao Cheng
3f1d4de25b
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 >
2020-12-10 12:40:59 +00:00
Hoe Hao Cheng
a103666b02
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 >
2020-12-10 12:40:59 +00:00
Hoe Hao Cheng
6e313bc918
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 >
2020-12-10 12:40:59 +00:00
Michel Dänzer
f0ca77c478
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 >
2020-12-10 10:23:22 +00:00
Michel Dänzer
d4151f2efd
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 >
2020-12-10 10:23:22 +00:00
Simon Ser
ef75ede4ed
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 >
2020-12-10 09:55:22 +00:00
Erik Faye-Lund
f5711ae7d2
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 >
2020-12-10 09:45:28 +00:00
Erik Faye-Lund
8a30ac49ac
zink: fail if set failed to create
...
Fixes: a03d17ede7
("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 >
2020-12-10 09:45:28 +00:00
Pierre-Eric Pelloux-Prayer
7c85b1d2f0
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: 351ba767af
("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 >
2020-12-10 09:17:45 +00:00
Pierre-Eric Pelloux-Prayer
5eda9673b2
radeonsi: fix si_get_draw_start_count count value
...
Fixes: 0ce68852c1
("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 >
2020-12-10 09:17:45 +00:00
Michel Dänzer
5d073b5aa1
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: 6c8b921572
"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 >
2020-12-10 08:58:49 +00:00
Michel Dänzer
cd4f6cdcf4
docs: Adapt to FDO_DISTRIBUTION_TAG → MESA_IMAGE_TAG rename
...
Fixes: 0781d9825b
"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 >
2020-12-10 08:22:46 +00:00
Michel Dänzer
01175c38c2
ci: Adapt armhf_test job to MESA_TEMPLATES_COMMIT related changes
...
I missed this before somehow.
Fixes: 0781d9825b
"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 >
2020-12-10 08:22:46 +00:00
Michel Dänzer
6701662ae0
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: 0781d9825b
"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 >
2020-12-10 08:22:46 +00:00
Michel Dänzer
f957d0d915
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: 0781d9825b
"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 >
2020-12-10 08:22:46 +00:00
Tapani Pälli
5998a6543a
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: b9a05447a1
("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 >
2020-12-10 08:26:34 +02:00
Erik Faye-Lund
3f0da800eb
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 >
2020-12-10 11:01:07 +10:00
Erik Faye-Lund
5b0b03733a
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 >
2020-12-10 11:00:56 +10:00
Dave Airlie
eec9d67e44
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 >
2020-12-10 10:46:27 +10:00
Dave Airlie
6a27262cc2
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 >
2020-12-10 10:46:23 +10:00
Dave Airlie
a2cf059023
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 >
2020-12-10 10:46:18 +10:00
Nanley Chery
04c7fce799
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 >
2020-12-09 22:28:38 +00:00
Nanley Chery
1f7427f972
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 >
2020-12-09 22:28:38 +00:00
Eric Anholt
4ba884b814
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 >
2020-12-09 22:08:34 +00:00
Marek Olšák
2b09bde1f5
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 >
2020-12-09 16:01:32 -05:00
Marek Olšák
6347b0b5c4
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 >
2020-12-09 16:01:32 -05:00
Marek Olšák
639b1366d0
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 >
2020-12-09 16:01:32 -05:00
Marek Olšák
fe839baf6a
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 >
2020-12-09 16:01:29 -05:00
Marek Olšák
85af48b0ee
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 >
2020-12-09 16:01:21 -05:00
Marek Olšák
fc212dcaa5
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 >
2020-12-09 16:01:21 -05:00
Marek Olšák
f95fb3ab9c
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 >
2020-12-09 16:01:21 -05:00
Marek Olšák
ea23ca8869
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 >
2020-12-09 16:01:21 -05:00
Marek Olšák
3d41712193
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 >
2020-12-09 20:13:25 +00:00
Marek Olšák
3b67c6451f
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 >
2020-12-09 20:13:25 +00:00
Marek Olšák
248268fb7d
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 >
2020-12-09 20:13:25 +00:00
Marek Olšák
8cd1522622
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 >
2020-12-09 20:13:25 +00:00
Marek Olšák
273be1686e
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 >
2020-12-09 20:13:24 +00:00
Marek Olšák
d9c1a47d48
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 >
2020-12-09 20:13:24 +00:00
Marek Olšák
4a50096ab4
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 >
2020-12-09 20:13:24 +00:00
Marek Olšák
2cf44ad30a
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 >
2020-12-09 20:13:24 +00:00