Gert Wollny
153af03b94
gallium: Add cap to request state validation for all dirty state
...
With aaa4b0e6
state validation is no longer called for all changed states,
but only for states that will be active with a new shader program.
Not all drivers support this and might prefer if the state validation
is emitted for all states that might be changed. So add a cap that the
driver can signal one or the other preference, and default to the new
behavior.
Fixes: aaa4b0e6
st/mesa: move check_program_state code into _mesa_update_state
v2: - Rename cap and and invert its meaning, query the cap
only once and store it in st, handle the mask update
when updating the shader i.e. not in st_validate_state (Marek)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20493 >
2023-01-12 08:34:49 +00:00
Erik Faye-Lund
e3e74a4402
docs: move note on other drivers to the bottom
...
This was always meant to be at the bottom of the page. To reduce the
risk of more driver-specific environment variables being added below,
let's add a horizontal rule to mark the difference. This should make it
more clear that this paragraph doesn't belong to the previous heading.
Fixes: c70c5ecd2e
("docs: move generic gallium envvars to root doc")
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20644 >
2023-01-12 08:11:30 +00:00
Qiang Yu
c412b21d85
ac/nir/ngg: implement 16bit output streamout
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20350 >
2023-01-12 03:47:01 +00:00
Qiang Yu
cd22bf90e7
ac/nir/ngg: refine nogs outputs handling
...
Gather outputs in advance to save both output data and type. Output data
is used for streamout and gfx11 param export. Output type is used for
streamout latter.
The output info will also be used for nir vertex export in the future.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Singed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20350 >
2023-01-12 03:47:01 +00:00
Qiang Yu
69d11b6926
ac/nir/ngg: fix gs 16bit output uninitialized channel when gfx11
...
Fixes: abe2e99e9e
("ac/nir/ngg: gs support 16bit outputs")
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20350 >
2023-01-12 03:47:01 +00:00
Qiang Yu
3c26fbc934
ac/nir/ngg: fix gs store output for no param offset slot when gfx11
...
When slot has no param offset, we should not emit store output for
them on gfx11.
Fixes: abe2e99e9e
("ac/nir/ngg: gs support 16bit outputs")
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20350 >
2023-01-12 03:47:01 +00:00
Qiang Yu
b4695f78ad
ac/nir/ngg: always reset output when gs emit vertex
...
Follow the spec, all outputs even not this stream need to be
reset after emit vertex.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20350 >
2023-01-12 03:47:01 +00:00
Qiang Yu
82f45dd5d4
ac/nir/ngg: assert no offset for nogs/gs output handling
...
As we does not support nogs/gs indirect output, so the offset
is always 0.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20350 >
2023-01-12 03:47:01 +00:00
Qiang Yu
4b0ace2585
ac/nir/ngg: gs store output use nir_ssa_def instead of nir_variable
...
Because we called nir_lower_io_to_temporaries which ensure the
store output and emit vertex in the same block.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20350 >
2023-01-12 03:47:01 +00:00
Qiang Yu
0224741ef6
ac/nir/ngg: gs save data type of outputs
...
Prepare to support 16bit streamout and remove nir_variable output.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20350 >
2023-01-12 03:47:01 +00:00
Dave Airlie
417c51a511
lavapipe: fix one more descriptor set reference issue
...
I thought I'd fixed this already, must have gotten lost in a rebase.
fixes
dEQP-VK.pipeline.pipeline_library.graphics_library.misc.bind_null_descriptor_set.1010
Fixes: 20902d1ed6
("lavapipe: fix descriptor set layout reference counting in layout merge")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20662 >
2023-01-12 13:19:12 +10:00
Dave Airlie
f008a9baa7
ci/lvp: cleanup asan fails
...
cleanup the remaining file for what actually fails in CI now.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20630 >
2023-01-12 01:46:26 +00:00
Dave Airlie
3ec428bb32
vk_cmd_queue: add a callback to free push descriptors set khr
...
This should clean this up properly.
Fixes: eb7eccc76f
("lavapipe: Use generated command queue code")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20630 >
2023-01-12 01:46:26 +00:00
Dave Airlie
ff0433b8cb
llvmpipe: unref images correctly in the fragment shader path
...
fixes a memory leak seen in lavapipe asan tests
dEQP-VK.robustness.robustness2.bind.template.rg32f.unroll.nonvolatile.storage_buffer.readwrite.no_fmt_qual.null_descriptor.samples_1.1d.frag
Fixes: 2909c654b0
("llvmpipe: add fragment shader image support")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20630 >
2023-01-12 01:46:26 +00:00
Dave Airlie
474965adb3
lavapipe: fix merged layout ref counting
...
When creating a merged layout, don't use ralloc, just use the
correct reference counting, also only reference a layout if the
pipeline uses it.
Fixes: d4d5a7abba
("lavapipe: implement EXT_graphics_pipeline_library")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20630 >
2023-01-12 01:46:26 +00:00
Dave Airlie
20902d1ed6
lavapipe: fix descriptor set layout reference counting in layout merge
...
When taking the descriptor set layouts from the pipeline layout, make
sure to take references
Fixes: d4d5a7abba
("lavapipe: implement EXT_graphics_pipeline_library")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20630 >
2023-01-12 01:46:26 +00:00
Dave Airlie
abd7ea2a88
lavapipe: drop unused macro
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20630 >
2023-01-12 01:46:26 +00:00
Emma Anholt
0accbe03e8
gallium: Allow copy_region blits with matching formats.
...
If the blit formats match and the resource formats match, then that's a
memcpy whether or not the blit's view of the resource matches the
resource's format.
Improves perf of portal-2-v2's last frame on zink+anv by 1.33212% +/-
0.302829% (n=5), where there's a blit that is viewing the RGBA8_UNORM
src/dst resources as RGBA8_SRGB.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20594 >
2023-01-12 01:04:45 +00:00
Emma Anholt
673837bb8b
gallium: Add a unit test for util_can_blit_via_copy_region().
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20594 >
2023-01-12 01:04:45 +00:00
Nico Cortes
29adbb132f
Revert "intel/compiler: fine-grained control of dispatch widths"
...
This reverts commit bed18ab3e2
.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8063
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20654 >
2023-01-12 00:33:25 +00:00
David Heidelberg
a3b0300ef1
ci: make wget even more robust
...
The future is the curl or wget2, but today we have some issues to kill.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20626 >
2023-01-11 23:07:43 +00:00
David Heidelberg
93994f365e
ci: propagete robust wgetrc into lava rootfs
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20626 >
2023-01-11 23:07:43 +00:00
David Heidelberg
b5e32c6a1c
ci: when downgrading from Alpine 3.17 to 3.16, the tag was kept on 3.17
...
Fixes: 09d5c55836
("ci: restore reliable Alpine 3.16")
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20626 >
2023-01-11 23:07:43 +00:00
David Heidelberg
55135dc82f
ci/amd: increase number of stoney runners
...
Everything up and running.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20626 >
2023-01-11 23:07:43 +00:00
Eric Engestrom
c31443901e
docs: update calendar for 22.3.3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20648 >
2023-01-11 23:00:42 +00:00
Eric Engestrom
f2e54b71b5
docs: add release notes for 22.3.3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20648 >
2023-01-11 23:00:42 +00:00
Jason Ekstrand
2e9ce1152e
vulkan/wsi: Use the newly imported dma-buf.h
...
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16987 >
2023-01-11 22:33:40 +00:00
Jan Beich
bce3acb135
drm-uapi/dma-buf.h: unbreak on non-Linux via local typedefs
...
In file included from src/vulkan/wsi/wsi_common_drm.c:34:
include/drm-uapi/dma-buf.h:23:10: fatal error: 'linux/types.h' file not found
#include <linux/types.h>
^~~~~~~~~~~~~~~
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16987 >
2023-01-11 22:33:40 +00:00
Jason Ekstrand
fb1c5d547e
drm-uapi/dma-buf.h: Update from drm-misc-next (2022-06-10)
...
From https://cgit.freedesktop.org/drm-misc/
9cc4853e4781bf0dd0f35355dc92d97c9da02f5d
Author: Antonio Borneo <antonio.borneo@foss.st.com >
Date: Tue Jun 7 23:31:44 2022 +0200
drm: adv7511: override i2c address of cec before accessing it
This version has the new sync_file import/export ioctls.
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16987 >
2023-01-11 22:33:40 +00:00
Alyssa Rosenzweig
4311c636c2
agx: Don't crash trying to encoding minifloats
...
Fixes assertion fails in piglit isinf-and-isnan, which uses a constant infinity,
which has an out-of-bounds mantissa (but the function contract says that's
fine and we just return something undefined.)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20563 >
2023-01-11 21:14:21 +00:00
Alyssa Rosenzweig
7859b531c2
agx: Use BITFIELD64_BIT for outputs_written
...
Fix by inspection.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20563 >
2023-01-11 21:14:20 +00:00
Alyssa Rosenzweig
2976548e4a
nir/gather_info: Handle store_zs_agx
...
This acts as a depth/stencil write. The AGX compiler checks outputs_written to
determine what conservative depth settings the driver needs. Nominally, this
should work: the original store_output(FRAG_RESULT_DEPTH) intrinsic causes the
DEPTH outputs_written bit to be set, so the metadata is still correct after
lowering store_output to store_zs_agx. However, there are a handful of places
that call nir_gather_info late, which *resets* the existing outputs_written
value and regathers, causing Asahi to use the wrong conservative depth settings
when shuffling NIR pass order and breaking gl_FragDepth.
To fix, handle store_zs_agx conservatively when gathering info so we don't have
to play games with the pass order or stashing info in a sideband.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20563 >
2023-01-11 21:14:20 +00:00
Alyssa Rosenzweig
93c40e3353
agx: Wire up nir_intrinsic_store_agx
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20558 >
2023-01-11 20:36:51 +00:00
Alyssa Rosenzweig
baac17131d
agx: Remove load_global(_constant) support
...
Now lowered in NIR to better instructions than we were selecting.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20558 >
2023-01-11 20:36:51 +00:00
Alyssa Rosenzweig
ac3272be84
agx: Use load_global_constant for UBO lowering
...
Rely on the common address arithmetic optimizations. We don't need the
special formats for UBO loads anyway, so this is simpler and optimizes
out the ushr.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20558 >
2023-01-11 20:36:51 +00:00
Alyssa Rosenzweig
3a6a5281b3
agx: Lower global loads/stores to AGX versions
...
This lets us do all the needed address arithmetic in a central place.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20558 >
2023-01-11 20:36:51 +00:00
Alyssa Rosenzweig
cc5ca8164d
nir: Add store_agx intrinsic
...
This works like store_global, but lets us optimize address arithmetic. Like
load_agx, it is formatted to match the hardware semantic. We don't make use of
any clever formats in this series, though.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20558 >
2023-01-11 20:36:51 +00:00
Rob Clark
f506dac18f
freedreno/a6xx: Demote coherent img access to uncompressed
...
We cannot use UBWC for coherent access across shader stages.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20612 >
2023-01-11 20:09:01 +00:00
Rob Clark
1e22971d92
gallium: Add image volatile/coherent flags
...
Freedreno needs to know when an image has volatile or coherent access
flags in the shader.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20612 >
2023-01-11 20:09:01 +00:00
Rob Clark
5fb0992a53
mesa/st: Track complete access qualifier for images
...
Don't turn gl_access_qualifier coming from NIR back into GL enums,
losing information in the process.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20612 >
2023-01-11 20:09:01 +00:00
Sil Vilerino
e8e7f06f10
d3d12: implement the get_decoder_fence vfunc
...
Implement the get_decoder_fence vfunc. Note that the waiting for
completion in this driver happens in the end_frame vfunc itself.
Signed-off-by: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20133 >
2023-01-11 19:34:33 +00:00
Daniel Almeida
5e1bd07ac5
radeonsi: vcn: implement the get_decoder_fence vfunc
...
Implement the get_decoder_fence vfunc by waiting on the fence
previously passed in the end_frame vfunc.
Signed-off-by: Daniel Almeida <daniel.almeida@collabora.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20133 >
2023-01-11 19:34:33 +00:00
Daniel Almeida
01a5de1b95
radeonsi: uvd: implement the get_decoder_fence vfunc
...
Implement the get_decoder_fence vfunc by waiting on the fence
previously passed in the end_frame vfunc.
Signed-off-by: Daniel Almeida <daniel.almeida@collabora.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20133 >
2023-01-11 19:34:33 +00:00
Daniel Almeida
435139d196
r600: uvd: implement the get_decoder_fence vfunc
...
Implement the get_decoder_fence vfunc by waiting on the fence
previously passed in picture->fence in the end_frame vfunc.
Signed-off-by: Daniel Almeida <daniel.almeida@collabora.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20133 >
2023-01-11 19:34:33 +00:00
Daniel Almeida
8187b35fa1
virgl: video: implement the get_decoder_fence vfunc
...
Implement the get_decoder_fence vfunc by waiting on the fence
previously passed in picture->fence in the end_frame vfunc.
Signed-off-by: Daniel Almeida <daniel.almeida@collabora.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20133 >
2023-01-11 19:34:33 +00:00
Daniel Almeida
4246bcfc7a
frontends: va: fix vaQuerySurfaceStatus and vaSyncSurface for decode
...
Use the new get_decoder_fence vfunc to implement
vaQuerySurfaceStatus and vaSyncSurface in the va state tracker.
A pointer to the surface's fence is passed to the codecs before the
end_frame vfunc and the codec is responsible for allocating a fence on
command stream submission.
This fence is then queried on vaQuerySurfaceStatus and waited on in
vaSyncSurface.
Notably both functions were not implemented as per the VA-API docs for
PIPE_VIDEO_ENTRYPOINT_BITSTREAM.
Signed-off-by: Daniel Almeida <daniel.almeida@collabora.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20133 >
2023-01-11 19:34:33 +00:00
Daniel Almeida
3a0d1f9fdc
gallium: pipe: add PIPE_DEFAULT_DECODER_FEEDBACK_TIMEOUT_NS
...
Add PIPE_DEFAULT_DECODER_FEEDBACK_TIMEOUT_NS as a way to control
how much to wait for decoders if this is supported.
Signed-off-by: Daniel Almeida <daniel.almeida@collabora.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20133 >
2023-01-11 19:34:33 +00:00
Daniel Almeida
9d583719e9
gallium: pipe: add get_decoder_fence vfunc
...
Add a get_decoder_fence vfunc that can be used to query the status
of the previous decode job denoted by 'fence' given 'timeout'.
A pointer to a fence pointer can be passed to the codecs before the
end_frame vfunc and the codec should then be responsible for allocating
a fence on command stream submission.
Signed-off-by: Daniel Almeida <daniel.almeida@collabora.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20133 >
2023-01-11 19:34:33 +00:00
Rob Clark
1b8bed38eb
freedreno/a6xx: Remove shader key from fd6_emit
...
Only construct the key on-demand if the PROG state is dirty. The newly
added "virtual" PROG_KEY state is used to know when other state that the
shader key depends on changes. Worth ~13% at drawoverhead test 0.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20572 >
2023-01-11 19:06:17 +00:00
Rob Clark
7b734cc668
freedreno/a6xx: Avoid zero-init fd6_emit
...
A pretty significant amount of time spent in fd6_draw_vbo is calling
memset to zero init the on-stack struct. And a big part of the size
of the struct is fd6_state, of which we only need to initialize
num_groups to zero. This is worth a 15% improvement in drawoverhead
test 0 ("no state change").
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20572 >
2023-01-11 19:06:17 +00:00