Commit Graph

149334 Commits

Author SHA1 Message Date
Karmjit Mahil 849c2e14ab pvr: Handle pipeline barrier vk_sync.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19110>
2022-10-19 16:07:26 +00:00
Karmjit Mahil d19835e43c pvr: Fix overflow before widen warning for rgn headers size calculation.
This fixes CID 1515968.

Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19136>
2022-10-19 15:24:53 +00:00
Karmjit Mahil 6a35563de0 pvr: Fix possible seg fault on csb copy.
When copying the secondary command buffer's deferred control stream
to the main stream we have to first allocate space in the main
stream. In case the allocation failed we were attempting to
memcpy() to a NULL destination causing a NULL dereference.

This fixes CID 1515977.

Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19136>
2022-10-19 15:24:53 +00:00
Rob Clark f9eb0c13a0 freedreno/a6xx: Drop max_scissor tracking
We don't actually really use this on a6xx, since SQE can early-exit IB2
when there are no more remaining primitives in the bin.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100>
2022-10-19 12:23:40 +00:00
Rob Clark 2ad637f52a freedreno/a6xx: Update caps
We should be doing all the 64b lowering.. I think that should be enough
to get us at least glsl400.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100>
2022-10-19 12:23:40 +00:00
Rob Clark dc70a940d4 freedreno/a6xx: Fix primitives-generated query
RBBM_PRIMCTR_7 is pre-clipped, whereas RBBM_PRIMCTR_8 is after clipping.
I believe we want pre-clipping, and this is what tu does.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100>
2022-10-19 12:23:40 +00:00
Rob Clark f26631c6de freedreno/a6xx: Fix MAX_GEOMETRY_OUTPUT_VERTICES cap
Limited by the size of PC_PRIMITIVE_CNTL_5.GS_VERTICES_OUT

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100>
2022-10-19 12:23:40 +00:00
Rob Clark b96e8050d6 freedreno/ir3: Lower all the 64b
Just need to enable some existing lowering.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100>
2022-10-19 12:23:40 +00:00
Rob Clark 1b38d233fc freedreno/ir3: Fix clipvertex with GS+tess
If we have both GS and tess, GS is the stage we should run lower_clip_vs
on.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100>
2022-10-19 12:23:40 +00:00
Rob Clark 0f6f671824 freedreno/a6xx: Remove unused param
Minor cleanup, make it more clear that we aren't actually emitting in
IB2.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100>
2022-10-19 12:23:40 +00:00
Rob Clark 533b87dff0 mesa/st: ARB_vertex_attrib_64bit depend on glsl>=410
It is possible to expose ARB_gpu_shader_fp64 without supporting
ARB_vertex_attrib_64bit.  The supported GLSL version should tell
us if 64b vertex attribs are also supported or not.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100>
2022-10-19 12:23:40 +00:00
Marek Olšák 8dba83bb8d driconf: add a workaround for Cossacks 3
Wine issue: https://bugs.winehq.org/show_bug.cgi?id=44560

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19147>
2022-10-19 11:52:46 +00:00
Marek Olšák 53e7f3afbd driconf: add a workaround for a cursor issue with kwin_wayland
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7351

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19147>
2022-10-19 11:52:46 +00:00
Yonggang Luo 86f203f60e nouveau: Remove XVMC_VL environment variable usage
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19133>
2022-10-19 11:08:03 +00:00
Yonggang Luo bdfadec6fd docs: Remove graw related words
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19138>
2022-10-19 10:56:00 +00:00
Karol Herbst 2cadc066da radeonsi: lower hadd and fisnormal
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19151>
2022-10-19 06:27:20 +00:00
Karol Herbst d7156e5d9c nir/lower_cl_images: set binding
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19151>
2022-10-19 06:27:20 +00:00
Karol Herbst d037fd539c radeonsi: fail creating textures from user memory
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19151>
2022-10-19 06:27:20 +00:00
Mike Blumenkrantz b9e08f2fe1 zink: clamp shader bindings for compute descriptors
this uses massively less memory for some drivers

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19140>
2022-10-19 06:03:40 +00:00
Mike Blumenkrantz e220c39510 zink: reorder context init to handle COMPUTE_ONLY
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19140>
2022-10-19 06:03:40 +00:00
Mike Blumenkrantz a05a0f5b44 zink: delete some big struct members from zink_context
these were only used by descriptor caching, so now they just take up memory

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19140>
2022-10-19 06:03:40 +00:00
Mike Blumenkrantz b6f6224810 zink: clamp feedback loop layout to GENERAL if the ext isn't supported
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19140>
2022-10-19 06:03:40 +00:00
Mike Blumenkrantz bf3edad94c zink: enable tc cpu storage on some buffers
matching freedreno usage

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19142>
2022-10-19 05:43:40 +00:00
Marek Olšák 211c2aebd2 cso: make memcmp and hash computation use a literal key size for blend state
This results in faster lookups because memcmp and the hash computation
can be unrolled.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19129>
2022-10-19 04:56:55 +00:00
Marek Olšák f7b513c9b1 cso: inline more functions because some parameters like key_size are literals
One function is moved to the header file, the other two functions are inlined
manually.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19129>
2022-10-19 04:56:55 +00:00
Marek Olšák 2f0cd4029c cso: don't destroy CSOs that are saved
I think this can't happen in practice, but better safe than sorry.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19129>
2022-10-19 04:56:55 +00:00
Marek Olšák 94240f561c cso: fix broken optimization for sampler state lookups
Since the key size wasn't a constant expression, all the function inlining
didn't do much. This makes it a constant expression.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Fixes: c4e18cd4dd - mesa/st: add PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_FREEDRENO
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19129>
2022-10-19 04:56:55 +00:00
Marek Olšák 224735abaf cso: constify some parameters to remove typecasts
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19129>
2022-10-19 04:56:55 +00:00
Marek Olšák 97ec1de8f3 cso: start without u_vbuf by default if it's not always used
no functional change, but it's convenient for future work

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19129>
2022-10-19 04:56:55 +00:00
Marek Olšák 8e024e2870 glthread: don't sync for glIsEnabled(GL_BLEND, GL_LIGHTING, GL_POLYGON_STIPPLE)
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>
2022-10-19 04:23:06 +00:00
Marek Olšák 513ac52e47 glthread remove the unused *last pointer from unmarshal functions
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>
2022-10-19 04:23:05 +00:00
Marek Olšák 6e6245f189 glthread: merge and collapse glBindBuffer calls that unbind and then bind
This is a small optimization for viewperf. See the comment in the code.

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>
2022-10-19 04:23:05 +00:00
Marek Olšák 9b6e2783eb gl_marshal.py: C style fixups
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>
2022-10-19 04:23:05 +00:00
Marek Olšák 5db7dc599a gallium/u_threaded: don't call simplify_draw_info redundantly
It's always called for the first and second draw in a row, and if they
can't be merged, the second draw becomes the first draw in the next call,
and simplify_draw_info is called again on that. Thus, it's called twice
on any draw that isn't merged. To prevent that, call it when we add
the draws.

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>
2022-10-19 04:23:05 +00:00
Marek Olšák 3cb96b18f6 glthread: rewrite CallList merging and do it in the app thread
This looks simpler and hopefully faster, but it may just move the overhead
to the app thread.

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>
2022-10-19 04:23:05 +00:00
Marek Olšák 6f8cbbfce2 glthread: demystify Draw function names
Since we had the freedom to write our own marshal and unmarshal Draw
functions, we turned it into a mess by doing whatever we want in those
functions. For example, DrawElementsInstancedBaseVertex actually
implemented DrawArraysInstancedBaseInstanceBaseInstance.

Add 4 internal GL functions that pass user buffers through marshal
/unmarshal functions, and clean up the other names to match their
behavior.

The new functions don't need any parameters in their definitions because
we don't call them directly.

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>
2022-10-19 04:23:05 +00:00
Marek Olšák 5679ef99b8 glapi: remove EXT and ARB suffixes from Draw functions
This swaps the function names with aliased names that don't have those
suffixes.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>
2022-10-19 04:23:05 +00:00
Marek Olšák 58f738bf5e glthread: add more DrawArrays/Elements variants with fewer fields
The idea is to save 8 bytes per call by removing 2 fields that are not
specified by the user such as instance_count=1, basevertex=0, and
baseinstance=0.

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>
2022-10-19 04:23:05 +00:00
Marek Olšák 83ce647c15 glthread: use a constant expression instead of cmd_size in custom functions
cmd_size is constant in these cases

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>
2022-10-19 04:23:05 +00:00
Marek Olšák b09a88fb72 gl_marshal.py: simplify print_sync_call and rename to print_call
no spaces around = is a python convention for implicit arguments only

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>
2022-10-19 04:23:05 +00:00
Marek Olšák 05dddaeb80 gl_marshal.py: inline functions for readability
All functions have only one use. Jumping constantly between functions
in the file is confusing.

No spaces around = is a python convention for implicit arguments only.

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>
2022-10-19 04:23:05 +00:00
Marek Olšák 146836f4ba gl_marshal.py: remove the -O1 hack and manual SET_* inlining
The compile times aren't so bad anymore now that the initialization is
split among all 8 files.

Also add one assertion.

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>
2022-10-19 04:23:05 +00:00
Marek Olšák 67c7260571 gl_marshal.py: rework how the marshal dispatch table is initialized
Instead of setting all function pointers in marshal_generated0.c,
set the function pointers in the file that contains the functions,
and remove all the forward declarations of marshal functions
in marshal_generated.h.

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>
2022-10-19 04:23:05 +00:00
Marek Olšák 5e66e26998 gl_marshal.py: move the unmarshal table into a separately generated file
It's unrelated to the rest of the script and it's in the way of bigger
changes.

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>
2022-10-19 04:23:05 +00:00
Marek Olšák 5c65a3a98f gl_marshal.py: remove/simplify parameters
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>
2022-10-19 04:23:05 +00:00
Timothy Arceri b4b2fd0bb4 glsl: move lower instructions logic inside that pass
There is now only a single called of this pass so tidy things up
and move all this logic inside the pass.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19112>
2022-10-19 03:52:21 +00:00
Timothy Arceri e5102a406f glsl: always do {CARRY,BORROW}_TO_ARITH lowering
The only caller always sets these so here we just remove the
option to disable it.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19112>
2022-10-19 03:52:21 +00:00
Timothy Arceri 9f14c5dae2 glsl: drop sub to add neg lowering in GLSL IR
NIR opt algebraic does this for us so no need to have it
implemented here also.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19112>
2022-10-19 03:52:21 +00:00
Timothy Arceri a31c547206 glsl: move rule inside lower_packing_builtins()
We only have a single user of this pass so lets tidy things up and
move all the rules in the pass itself.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19112>
2022-10-19 03:52:20 +00:00
Mark Janes 141703f906 anv: work around improper buffer usage in hitman3
Avoid memory errors by returning an error immediately instead of
attempting to allocate the buffer view with an unsupported format.

Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6998

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17972>
2022-10-19 03:24:36 +00:00