Timothy Arceri
1391bc3721
glsl_to_nir: never convert instructions after jump
...
Unlike in GLSL IR it is illegal to add an instruction to a block
following a jump in NIR. Here we add code to the glsl_to_ir pass
to remove any such instructions before they are processed i.e.
we remove them as soon as we process the jumps.
Handling this in glsl to nir allows us to avoid depending on the
lower_jumps() pass being called directly before glsl to nir when
it otherwise doesn't need to be called an additional time.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27288 >
2024-03-12 01:43:03 +00:00
Timothy Arceri
f06aed8e1d
glsl: make an explicitly safe version of visit_exec_list()
...
visit_exec_list() has always called foreach_in_list_safe() here
were rename that version to visit_exec_list_safe() and create
a version that calls the non-safe foreach call.
There are only 2 users of visit_exec_list() we change lower_jumps
to use the renamed version and leave glsl_to_nir() to use the
non-safe version as it never deletes the current instruction and
in the following patch we will add code that may delete the next
instruction meaning the safe version would be unsafe to use.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27288 >
2024-03-12 01:43:03 +00:00
Faith Ekstrand
626502d7c7
nil: Advertise support for PIPE_FORMAT_R5G6B5_UNORM
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28103 >
2024-03-12 01:20:18 +00:00
Faith Ekstrand
edd3379c09
nvk: Manually offset array and Z slices in BeginRendering
...
We can't trust the hardware above about 4095 so we're better off just
offsetting manually now that we have the code to do so.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10655
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28103 >
2024-03-12 01:20:18 +00:00
Faith Ekstrand
81db82bd8c
nvk: Add a nil_image helper variable in BeginRendering
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28103 >
2024-03-12 01:20:18 +00:00
Faith Ekstrand
696e2064bd
nil: Move Z slice offset calculations to a helper
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28103 >
2024-03-12 01:20:18 +00:00
Marek Olšák
813f37a8ed
nir: add nir_block::divergent to indicate a divergent entry condition
...
to be used by nir_opt_varyings
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28049 >
2024-03-12 00:29:03 +00:00
Marek Olšák
936690f733
nir: print nir_io_semantics::invariant
...
this was missing
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28049 >
2024-03-12 00:29:03 +00:00
Marek Olšák
867a0a7db9
nir/divergence_analysis: handle derefs of system values
...
needed by GLSL compiler optimizations that have unlowered sysvals
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28049 >
2024-03-12 00:29:03 +00:00
Marek Olšák
eb670d6eaf
nir/divergence_analysis: load_instance_id is convergent within a primitive
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28049 >
2024-03-12 00:29:03 +00:00
Marek Olšák
310b13b7f0
nir/divergence_analysis: load_primitive_id is convergent within a primitive
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28049 >
2024-03-12 00:29:03 +00:00
Marek Olšák
1621d4a0d3
nir/divergence_analysis: change function prototypes
...
for following commits
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28049 >
2024-03-12 00:29:03 +00:00
Qiang Yu
6b1fd20780
radeonsi: split RADEON_USAGE_NEEDS_IMPLICIT_SYNC into CB and DB flags
...
it will be required in the future
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27943 >
2024-03-11 23:36:55 +00:00
Marek Olšák
123e0b4240
radeonsi: add radeonsi_cache_rb_gl2 option enabling GL2 caching for CB and DB
...
for perf testing
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27943 >
2024-03-11 23:36:55 +00:00
Marek Olšák
2347259f1d
radeonsi/gfx11: add missing DCC_RD_POLICY setting
...
Fixes: 5acff16ce4 ("radeonsi: add a separate gfx10_init_gfx_preamble_state function")
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27943 >
2024-03-11 23:36:55 +00:00
Marek Olšák
82aca689c1
ac: use the gfx11 shadowed register tables for gfx11.5
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27943 >
2024-03-11 23:36:55 +00:00
Marek Olšák
6ce3a95852
radeonsi/gfx11: program SAMPLE_MASK_TRACKER_WATERMARK optimally for APUs
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27943 >
2024-03-11 23:36:55 +00:00
Marek Olšák
bd71d62b8f
radeonsi: program tessellation rings right before draws
...
so that we only wait for idle right before draw packets and all preceding
SET packets can be processed in parallel with draws from the previous IB.
This way we also don't need to update the preamble and flush the context
just to emit the preamble. It's a normal state now.
Use the new state atom that is emitted last.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27943 >
2024-03-11 23:36:55 +00:00
Marek Olšák
b9b7d34d05
radeonsi/gfx11: program the attribute ring right before draws
...
This way, we only wait for idle right before draw packets,
so that all preceding SET packets can be processed in parallel
with draws from the previous IB.
Add a new state atom that is emitted last. It only contains code for gfx11,
but some code for older chips will be added by the next commit.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27943 >
2024-03-11 23:36:55 +00:00
Marek Olšák
9e08569d6a
radeonsi: allocate only one set of tessellation rings per device
...
Move them to si_screen. The "has_tessellation" context flag indicates that
the screen has valid tess rings, so that we don't have to lock the mutex
to check whether the rings are valid.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27943 >
2024-03-11 23:36:55 +00:00
Marek Olšák
ea94cb95e4
radeonsi/gfx10.3: add a GPU hang workaround for legacy tess+GS
...
Fixes: a23802bcb9 - ac,radeonsi: start adding support for gfx10.3
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27943 >
2024-03-11 23:36:55 +00:00
Marek Olšák
7d3a414662
radeonsi/gfx11: fix programming of PA_SC_BINNER_CNTL_1.MAX_ALLOC_COUNT
...
Fixes: 25a66477d0 - radeonsi/gfx11: register changes
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27943 >
2024-03-11 23:36:55 +00:00
Marek Olšák
20445f296b
radeonsi: disable binning correctly on gfx11.5
...
Fixes: b44a886b84 - amd/common: add registers for gfx11.5
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27943 >
2024-03-11 23:36:55 +00:00
Marek Olšák
62d360c287
amd/registers: add correct gfx11.x enums for BINNING_MODE
...
Fixes: ced3fbbcf9 - amd/registers: add gfx11.json
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27943 >
2024-03-11 23:36:55 +00:00
Marek Olšák
74c28b93c8
glthread: invert _mesa_glthread_has_no_{un}pack_buffer by removing the negation
...
transform _mesa_glthread_has_no_unpack_buffer into
_mesa_glthread_has_unpack_buffer, etc.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27490 >
2024-03-11 22:44:42 +00:00
Marek Olšák
9939f20a49
glthread: execute small glDrawPixels asynchronously
...
Compute the image size and copy the image into the batch.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27490 >
2024-03-11 22:44:41 +00:00
Marek Olšák
b43b111b19
glthread: execute small glBitmap asynchronously
...
Compute the bitmap size and copy the bitmap into the batch.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27490 >
2024-03-11 22:44:41 +00:00
Marek Olšák
ada351f2ea
glthread: track glPixelStore(GL_UNPACK_*)
...
so that glthread can compute the size of images passed to GL functions.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27490 >
2024-03-11 22:44:41 +00:00
Marek Olšák
c76efafc0d
mesa: move struct gl_pixelstore_attrib into glthread.h
...
it will be used there
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27490 >
2024-03-11 22:44:41 +00:00
Marek Olšák
9fe8ef1282
mesa: deduplicate initialization of gl_pixelstore_attrib
...
the new helper will be used later
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27490 >
2024-03-11 22:44:41 +00:00
Mike Blumenkrantz
6a52c50a65
zink: simplify vb masking on bind
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28118 >
2024-03-11 22:22:39 +00:00
Mike Blumenkrantz
068973b069
zink: set VkExternalMemoryBufferCreateInfo for opaque fds too
...
this fixes (VVL) issues with EXT_external_object usage
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28118 >
2024-03-11 22:22:39 +00:00
Mike Blumenkrantz
7fd12a446d
zink: destroy batch states after copy context
...
the copy context contains its own batch states, so these must
not be destroyed yet
Fixes: b06f6e00fb ("zink: fix heap-use-after-free on batch_state with sub-allocated pipe_resources")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28118 >
2024-03-11 22:22:39 +00:00
José Roberto de Souza
9227d63c19
anv: Fix Xe KMD userptr unbind
...
Userptr don't have a valid gem fd so it can't use DRM_XE_VM_BIND_OP_UNMAP_ALL.
Current code was unbinding workaround_bo or returning error when
workaround_bo size was smaller than userptr address.
So here doing a regular DRM_XE_VM_BIND_OP_UNMAP, without setting
xe_bind->obj and setting xe_bind->range and xe_bind->addr.
Fixes: 19439624 ("anv: Use DRM_XE_VM_BIND_OP_UNMAP_ALL to unbind whole bos")
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28114 >
2024-03-11 22:00:51 +00:00
Faith Ekstrand
a56d2b8dad
zink: Remove interpolateAtSample() when not multi-sampling
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28113 >
2024-03-11 21:30:26 +00:00
Mike Blumenkrantz
4bc1bf1625
zink: apply zink_shader::uses_sample to fs variant updating
...
not actually doing the shader rewriting yet
also add a helper for checking this value
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28113 >
2024-03-11 21:30:26 +00:00
Mike Blumenkrantz
b061ab7198
zink: track whether shaders use load_barycentric_at_sample
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28113 >
2024-03-11 21:30:26 +00:00
Iván Briano
e1b66f9707
compiler/types: fix serialization of cooperative matrix
...
Encoding of cmat_desc is overwriting the base_type with the type of the
elements of the matrix.
Fixes: 2d0f4f2c17 ("compiler/types: Add support for Cooperative Matrix types")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28086 >
2024-03-11 20:35:16 +00:00
Eric Engestrom
fc2b619621
ci/image-tags: re-generate all the images building deqp-runner
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27420 >
2024-03-11 19:43:08 +00:00
Eric Engestrom
fcd43ee243
ci/deqp-runner: fix list of image tags to update
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27420 >
2024-03-11 19:43:07 +00:00
Eric Engestrom
2d80f35562
ci/deqp-runner: update repo url
...
Repo was moved from its original author (anholt) to mesa.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27420 >
2024-03-11 19:43:07 +00:00
Eric Engestrom
810586279c
ci/deqp-runner: bring "install from crate" & "install from git" to feature parity
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27420 >
2024-03-11 19:43:07 +00:00
Eric Engestrom
9eb50036d4
ci/deqp-runner: set android rust target in the caller (debian/x86_64_test-android.sh)
...
This also allows non-x86 android which I hope to add some day.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27420 >
2024-03-11 19:43:07 +00:00
Eric Engestrom
8fd86519a1
ci/deqp-runner: do a release build instead of debug
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27420 >
2024-03-11 19:43:07 +00:00
Paulo Zanoni
4c92084ed9
anv/trtt: invalidate the TLB after writing TR-TT entries
...
We're changing the memory address translation tables, we should
invalidate their cache.
It seems i915.ko is already doing this for us in between batches. The
xe.ko driver only adds invalidates to the ring before submissions if
scratch page is enabled in the VM (which it is today, but may change
in the future), and after some vm_bind and all vm_unbind ioctls, but
we don't use vm_bind for TR-TT. Still, it won't hurt to have it here
righ tnow.
v2: Use PIPE_CONTROL_length (José).
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com > (v1)
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27928 >
2024-03-11 19:17:20 +00:00
Paulo Zanoni
3e5dfd668d
anv: add an anv_pipe_bits bit to allow invalidating the TLB
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27928 >
2024-03-11 19:17:20 +00:00
José Roberto de Souza
52ced4008c
intel: Drop pre-production steppings
...
Workaround tool was already updated with MTL production stepping so no
need to return any stepping value for MTL.
For TGL it was also updated a long time ago, so no need to check for
revision 0.
Reviewed-by: Mark Janes <markjanes@swizzler.org >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27399 >
2024-03-11 18:52:44 +00:00
Juston Li
80f532a636
venus: fix VkDeviceGroupSubmitInfo cmd counts from feedback
...
Per v1.3.279 spec "VUID-VkDeviceGroupSubmitInfo-commandBufferCount-00083
commandBufferCount must equal VkSubmitInfo::commandBufferCount"
When adding feedback, need to check for vkDeviceGroupSubmitInfo in the
SubmitInfo pNext to update their commandBufferCount and
pCommandBufferDeviceMasks to include feedback cmds.
Signed-off-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28029 >
2024-03-11 18:31:06 +00:00
Mike Blumenkrantz
577085ef0e
zink: update nv baseline
...
all format selection bugs in core mesa
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28111 >
2024-03-11 18:09:57 +00:00
Faith Ekstrand
cda4ca53b8
nvk: Drop nvk_device::pdev
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28105 >
2024-03-11 17:46:15 +00:00