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>
Marek Olšák [Tue, 8 Dec 2020 21:58:29 +0000 (16:58 -0500)]
radeonsi: fix the blit test for SW_64KB_R_X
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7908>
Marek Olšák [Tue, 8 Dec 2020 21:50:03 +0000 (16:50 -0500)]
radeonsi: rename SI_TEST_DMA to SI_TEST_BLIT
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7908>
Marek Olšák [Thu, 3 Dec 2020 22:57:45 +0000 (17:57 -0500)]
radeonsi: remove SDMA support
There are many issues with SDMA across many generations of hardware.
A recent example is that gfx10.3 suffers from random GPU hangs if
userspace uses SDMA.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7908>
Marek Olšák [Thu, 3 Dec 2020 23:01:11 +0000 (18:01 -0500)]
radeonsi: rename buffer functions so as not to reference rings
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7908>
Marek Olšák [Thu, 3 Dec 2020 22:10:06 +0000 (17:10 -0500)]
radeonsi: move si_screen_clear_buffer into si_compute_blit.c w/o SDMA option
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7908>
Eric Anholt [Tue, 8 Dec 2020 18:29:06 +0000 (10:29 -0800)]
ci/freedreno: Detect the cheza power management bus error and restart.
This is an issue on the cheza platform, the theory is due to some old
firmware bug that will be fixed in future platforms. Given that cheza was
a target that didn't get released and we expect future platforms to be
fixed, just detect the issue and restart.
I've noticed this error in my CI monitoring less than once a week.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7993>
Mauro Rossi [Mon, 7 Dec 2020 22:26:30 +0000 (23:26 +0100)]
android: spirv: fix '::' typo in gen rules
among all Android gen rules '::' was used only here to declare dependencies;
mesa development and stable branch are worth receiving the fix
Fixes the following building errors with Android 7:
obj/STATIC_LIBRARIES/libmesa_nir_intermediates/spirv/gl_spirv.P:184: *** target file
gen/STATIC_LIBRARIES/libmesa_nir_intermediates/spirv/vtn_generator_ids.h' has both : and :: entries. Stop.
Cc: "20.3" <mesa-stable@lists.freedesktop.org>
Fixes:
1070bba19e26 ("android: fix SPIR-V -> NIR build")
Reported-by: youling257 <youling257@gmail.com>
Mike Blumenkrantz [Sat, 5 Dec 2020 16:42:54 +0000 (11:42 -0500)]
mesa/st: set reserved storage for params+values to 16
zink apparently has a lot of uniform data, and 8x8 isn't enough to avoid realloc
fixes mesa/mesa#3930
Fixes:
eda37fb2 ("mesa: properly disallow param list reallocation")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7990>
Michel Zou [Sun, 6 Dec 2020 11:35:42 +0000 (12:35 +0100)]
meson: fix multiline string warning
gets rid of: WARNING: Newline character in a string detected, use '''
(three single quotes) for multiline strings instead.
Reviewed-by: Yevhenii Kharchenko <yevhenii.kharchenko@globallogic.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7946>
Ian Romanick [Tue, 8 Dec 2020 03:39:57 +0000 (19:39 -0800)]
util: Add cnd_monotonic to Makefile.sources
Fixes:
33a78948283 ("util,radv: Cross-platform monotonic condition variable")
Acked-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7980>
Marek Olšák [Sat, 5 Dec 2020 17:20:07 +0000 (12:20 -0500)]
mesa: remove MAX_3D_TEXTURE_LEVELS, MAX_CUBE_TEXTURE_LEVELS
they are redundant with MAX_TEXTURE_LEVELS
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7956>
Marek Olšák [Sat, 5 Dec 2020 17:03:42 +0000 (12:03 -0500)]
mesa: remove code for old (mostly unsupported) GL_NV_point_sprite
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7956>
Marek Olšák [Sat, 5 Dec 2020 16:47:50 +0000 (11:47 -0500)]
mesa: fix glPopAttrib for GL_COORD_REPLACE for r200
Fixes:
959380dc "mesa: more optimizations in glPopAttrib (colormask, drawbuffers, coord replace)"
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7956>
Jonathan Marek [Thu, 3 Dec 2020 05:05:37 +0000 (00:05 -0500)]
turnip: always set LRZ registers to zero for 3d clear/blit
Apparently LRZ will be read/written regardless of depth being enabled or
not, so we have to make sure these registers are zero.
Fixes:
1d83f5ae8435 ("turnip: disable LRZ on vkCmdClearattachments() 3D fallback path")
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7899>
Jonathan Marek [Thu, 3 Dec 2020 05:03:14 +0000 (00:03 -0500)]
turnip: move up LRZ invalidate in CmdClearAttachments
There is an early return if cmd->state.predication_active is true, so do
the LRZ invalidate before that.
Fixes:
2f79e0066405 ("turnip: disable LRZ on vkCmdClearAttachments()")
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7899>
Jonathan Marek [Thu, 3 Dec 2020 04:59:24 +0000 (23:59 -0500)]
turnip: do not emit draw states in draw_cs outside of renderpass
This avoids a possible issue with MSAA sysmem clears, which use a 3D clear
path which assumes draw states are disabled, and are emitted in draw_cs in
BeginRenderPass.
(checking for TU_CMD_DIRTY_DRAW_STATE also allows not emitting the draw
states if they will be re-emitted on the next draw anyway. the previous
patch makes it so TU_CMD_DIRTY_DRAW_STATE is always set outside of
renderpasses)
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7899>
Jonathan Marek [Thu, 3 Dec 2020 04:49:26 +0000 (23:49 -0500)]
turnip: correctly disable draw states outside of renderpasses
* do the disable in EndRenderPass2 to fix the missing disable for sysmem
* we don't need a disable at the end of every tile, or between binning pass
and gmem pass (the first draw in draw_cs emits all the draw states)
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7899>