Dave Airlie
7bd41840a4
lvp: use stage mask
...
Reviewed-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23065 >
2023-05-23 14:39:33 +00:00
Dave Airlie
f52510efb3
gallivm/nir: refactor the local invocation index calc.
...
This is needed elsewhere for mesh shaders.
Reviewed-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23065 >
2023-05-23 14:39:33 +00:00
Dave Airlie
1e49199364
gallivm: fix whitespace in get_deref_offset
...
Reviewed-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23065 >
2023-05-23 14:39:33 +00:00
Dave Airlie
2fbe256e82
lvp: explictly skip compute shader stage.
...
To add mesh/task later we have to loop over more stages the other side
of compute. So explicitly skip compute for now.
This has a couple of subtle bits to it, and I think there might be a bug
in pre rast
Reviewed-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23065 >
2023-05-23 14:39:33 +00:00
Dave Airlie
6046b6ea94
lavapipe: add lavapipe specific shader stages define.
...
This currently does nothing, but we need to increase this to add
task/mesh later.
Reviewed-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23065 >
2023-05-23 14:39:32 +00:00
Dave Airlie
d45d3f0a81
llvmpipe/cs: support passing a csctx instead of using implicit one
...
This is just some refactoring to make adding mesh shaders easier
Reviewed-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23065 >
2023-05-23 14:39:32 +00:00
Dave Airlie
89c868a956
llvmpipe/cs: start making variant generator less compute specific
...
This is just some refactoring prior to task/mesh shaders
Reviewed-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23065 >
2023-05-23 14:39:32 +00:00
Dave Airlie
502cd6a2ca
llvmpipe: convert a bunch of shader_type ifs to switches.
...
This makes it easier to add mesh shader support later
Reviewed-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23065 >
2023-05-23 14:39:32 +00:00
Dave Airlie
7c84ca2305
gallivm/draw: refactor vertex header jit type out
...
mesh shaders will want access to this as well so start moving it to
common code.
Reviewed-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23065 >
2023-05-23 14:39:32 +00:00
Gert Wollny
b2c604973b
virgl/ci: uprev virglrenderer
...
Update DEBIAN_BASE_TAG and KERNEL_ROOTFS_TAG
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23121 >
2023-05-23 14:01:43 +00:00
Gert Wollny
cbb144c8d4
virgl: Add support for ARB_pipeline_statistics
...
v2: make sure the PIPE enums map corretly to the VIRGL enums (Tintou)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23121 >
2023-05-23 14:01:43 +00:00
Gert Wollny
330a1db016
virgl: Make query result resource as dirty before requesting result
...
The query result resource will be written to by the host, so we have to
declare it as dirty if we want to see the change.
Fixes: 9279a28f0
(virgl: ARB_query_buffer_object support)
v2: Update expectations in CI
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23121 >
2023-05-23 14:01:43 +00:00
norablackcat
c07b8a54c5
rusticl/device: implement cl_khr_device_uuid
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Tested-by: Andrey Alekseenko <al42and@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23147 >
2023-05-23 13:40:53 +00:00
norablackcat
536283555e
rusticl/screen: implement uuid wrapper funcs
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Tested-by: Andrey Alekseenko <al42and@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23147 >
2023-05-23 13:40:53 +00:00
Karol Herbst
c06a18ad9a
rusticl/spirv: skip printing info messages
...
Those are quite spammy and add no value.
Signed-off-by: Karol Herbst <git@karolherbst.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23091 >
2023-05-23 13:02:40 +00:00
Lionel Landwerlin
21c7b55f6f
intel/fs: fix size_read() for LOAD_PAYLOAD
...
With Anv/Zink, the piglit test :
arb_shader_storage_buffer_object-max-ssbo-size -auto -fbo fsexceed
is failing validation after copy propagation :
load_payload(8) vgrf15:F, vgrf1+0.12<0>:F, vgrf1+0.0<0>:F, vgrf1+0.4<0>:F, vgrf1+0.8<0>:F, vgrf1+0.12<0>:F
../src/intel/compiler/brw_fs_validate.cpp:191: A <= B failed
A = inst->src[i].offset / REG_SIZE + regs_read(inst, i) = 2
B = alloc.sizes[inst->src[i].nr] = 1
In most cases it works because src[0] would be at offset 0 and so
reading a full reg passes validation, but Anv/Zink started emitting
slightly different code adding an offset maybe the size read 2 GRFs.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23126 >
2023-05-23 12:39:08 +00:00
Tatsuyuki Ishi
1546a9de99
nir: Fix serializing pointer initializers.
...
Found by manual inspection.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Fixes: 7acc81056f
("compiler/nir: Add support for variable initialization from a pointer")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22355 >
2023-05-23 11:40:48 +00:00
Eric Engestrom
520c5091d7
ci: disable anholt's farm
...
Its http cache proxy has been returning `curl: (52) Empty reply from
server` for a while and rebooting it didn't help, so turn it off for now.
Suggested-by: Emma Anholt <emma@anholt.net >
Signed-off-by: Eric Engestrom <eric@igalia.com >
2023-05-23 12:35:35 +01:00
Alejandro Piñeiro
c6d0bc3918
v3d: remove v3d_get_internal_type_bpp_for_output_format
...
This is a one-line wrapper, so let's just use the v3d_X or v3dX macros
instead.
Acked-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23172 >
2023-05-23 10:44:05 +00:00
Alejandro Piñeiro
b8f40fc4d4
v3d: remove v3d_tfu_supports_tex_format
...
This is a one-line wrapper, so let's just use the v3d_X or v3dX macros
instead.
Acked-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23172 >
2023-05-23 10:44:05 +00:00
Alejandro Piñeiro
1a74a0b637
v3d: remove v3d_create_texture_shader_state_bo
...
This is a one-line wrapper, so let's just use the v3d_X or v3dX macros
instead.
Acked-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23172 >
2023-05-23 10:44:05 +00:00
Alejandro Piñeiro
b7c35f5998
v3d: use more an auxiliar devinfo
...
Improve readability by using an auxiliar
struct v3d_device_info *devinfo = &screen->devinfo;
this was triggered by the use of the v3d_X macro, where just having a
devinfo makes is more friendly. As we are here, we used it on other
places of the code.
Acked-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23172 >
2023-05-23 10:44:05 +00:00
Iago Toral Quiroga
a5c8be30d1
v3dv: simplify too small Z viewport scale workaround
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23167 >
2023-05-23 09:22:56 +00:00
Alejandro Piñeiro
10daeac603
v3dv/pipeline: don't prepack up early-z configuration
...
False (so zero) is already the default value, so those prepacks are
basically superfluous.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23167 >
2023-05-23 09:22:56 +00:00
Juan A. Suarez Romero
6dc22d996c
v3d/ci: make traces test mandatory
...
Similar to other drivers, let's run always the traces tests.
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Acked-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/23135 >
2023-05-23 07:50:49 +00:00
Juan A. Suarez Romero
496a7aedbb
v3d/ci: run GPU piglit profile
...
Instead of running all the tests, run only the GPU related ones, which
should make the CI faster.
Acked-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/23135 >
2023-05-23 07:50:49 +00:00
Samuel Pitoiset
d719e99f16
radv: apply a bug workaround for smoothing on GFX6
...
This fixes smooth lines on GFX6.
Fixes: 85cbdba355
("radv: add support for smooth lines")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23168 >
2023-05-23 06:52:22 +00:00
Mike Blumenkrantz
208c31b25f
zink: infer types from load_const instrs to avoid more bitcasts
...
this walks to uses list for the ssa def to infer a type from one of the
uses to reduce the need to bitcast
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22934 >
2023-05-23 01:02:56 +00:00
Mike Blumenkrantz
9f6be8effb
zink: store and use alu types for ntv defs
...
this adds indexing for ssa/reg defs with the accompanying current
type of a given def (inaccurate for objects but whatever), enabling
that type to be used directly in order to avoid bitcasts in some places
this upends the assumption that all stored srcs are uint type
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22934 >
2023-05-23 01:02:56 +00:00
Mike Blumenkrantz
096dcdbd01
zink: dynamically emit non-bool register values using local_vars spirv buffer
...
this will be useful in a future commit
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22934 >
2023-05-23 01:02:56 +00:00
Mike Blumenkrantz
871afadfe5
zink: write out register variables to a separate spirv buffer
...
this will enable registers to be written more dynamically with correct
type values to cut down on bitcasts
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22934 >
2023-05-23 01:02:56 +00:00
Mike Blumenkrantz
2a18d070cb
zink: manually memcpy the spirv instruction buffer
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22934 >
2023-05-23 01:02:56 +00:00
Mike Blumenkrantz
5f4a2f6cfe
zink: move get_alu_type() up in file
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22934 >
2023-05-23 01:02:56 +00:00
Mike Blumenkrantz
af76c23d74
zink: use void return for store_dest
...
not sure why this had returns, but it doesn't seem necessary
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22934 >
2023-05-23 01:02:56 +00:00
Mike Blumenkrantz
e4dacc382e
zink: delete unnecessary bitcast in load_shared/scratch
...
if the mem is loaded as uint and stored as uint, then
the loaded and stored value must be uint, so a bitcast to uint
is as pointless as this commit message
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22934 >
2023-05-23 01:02:56 +00:00
Mike Blumenkrantz
5d8103b109
zink: also declare int size caps inline with signed int type usage
...
Fixes: 854fd242fa
("zink: declare int/float size caps inline with type usage")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22934 >
2023-05-23 01:02:56 +00:00
Mike Blumenkrantz
80b8defaf3
zink: promote flushed clears to unordered cmdbuf when possible
...
this reuses the unordered_blitting codepath for fb clears
for #9016
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23056 >
2023-05-23 00:18:29 +00:00
Mike Blumenkrantz
dfc01aea83
vk/graphics_state: handle null pipeline state structs in creation
...
when these members are null, the corresponding graphics states should be
initialized with sensible default values
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22236 >
2023-05-22 23:51:22 +00:00
Mike Blumenkrantz
589fc441c3
anv: more correctly handle null pipeline states
...
it's not necessary to check whether dynamic states are set before
the null checks since any issues there would be VU errors
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22236 >
2023-05-22 23:51:22 +00:00
Mike Blumenkrantz
fef493f745
lavapipe: more correctly handle null pipeline states
...
it's not necessary to check whether dynamic states are set before
the null checks since any issues there would be VU errors
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22236 >
2023-05-22 23:51:21 +00:00
Mike Blumenkrantz
0f510040dc
zink: flag 'has_work' on batch when promoting a cmd
...
has_work controls whether a flush can be deferred, i.e., when unset
a flush may be deferred
since a promoted cmd must still be flushed to take effect, ensure this
is always set when promoted cmds are pending
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23035 >
2023-05-22 23:26:45 +00:00
Mike Blumenkrantz
b0c02f5ce9
zink: explicitly disable promotion on images that are both unflushed and non-reorderable
...
until #9016 is resolved, be more cautious and consider any image with unflushed
access as un-promotable to avoid layout desync
affects:
KHR-GLES3.packed_pixels.varied_rectangle.rgb
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23035 >
2023-05-22 23:26:45 +00:00
Mike Blumenkrantz
3c010319bb
zink: explicitly disable reordering after restricted swapchain readback blits
...
when needs_present_readback is set, reordering is disabled without hitting
the path that would normally disable promotion for the resource, so this
needs to be changed manually to avoid layout desync on the swapchain
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23035 >
2023-05-22 23:26:45 +00:00
Mike Blumenkrantz
ab3914a17b
zink: disable unordered blits when swapchain images need aqcuire
...
this is consistent with other cmdbuf reordering for blits
Fixes: 3a9f7d7038
("zink: implement unordered u_blitter calls")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23035 >
2023-05-22 23:26:45 +00:00
Mike Blumenkrantz
db12b881c7
zink: track/check submit info on resource batch usage
...
resources use a private refcount to avoid overhead from atomics on
descriptor binds, but this has the side effect of evading batch usage,
meaning that the usage may not be properly removed once the batch state
is reset, which will cause issues with detecting whether usage exists
for a given resource
to fix this, the mechanism for tc fence disambiguation can be reused,
namely adding the batch state's submit count to the usage info and
then using that to add a second set of comparisons such that it becomes
possible to check both whether the batch usage for a resource matches
a given batch AND whether the batch usage is the current state of the
batch
affects:
KHR-GLES3.copy_tex_image_conversions.required.cubemap_posy_cubemap_negz
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23035 >
2023-05-22 23:26:45 +00:00
Mike Blumenkrantz
5e1943db7f
zink: move batch usage to substruct on zink_bo objects
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23035 >
2023-05-22 23:26:45 +00:00
Mike Blumenkrantz
143da5f2e4
zink: move zink_batch_state::submit_count to zink_batch_usage
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23035 >
2023-05-22 23:26:45 +00:00
Mike Blumenkrantz
84bcdc521d
zink: use batch usage function for a simple case
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23035 >
2023-05-22 23:26:45 +00:00
Mike Blumenkrantz
9c8b6754b0
zink: add special-casing for (not) reordering certain image barriers
...
in a scenario where an ordered read op occurs for an image,
successive read-only barriers SHOULD be able to be promoted
...but they can't, because there isn't yet a mechanism for handling layout
transitions between the unordered cmdbuf and the ordered cmdbuf,
meaning that promoting e.g., a SHADER_READ_ONLY barrier after a TRANSFER_SRC
barrier will leave the image with the wrong layout for the transfer op:
TRANSFER_SRC(unordered) -> COPY(ordered) -> SHADER_READ_ONLY(unordered)
becomes
TRANSFER_SRC(unordered) -> SHADER_READ_ONLY(unordered) -> COPY(ordered)
ideally I'll get around to figuring this out at some point
affects:
dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32i.texture2d_array_to_renderbuffer
Fixes: bf0af0f8ed
("zink: move all barrier-related functions to c++")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23035 >
2023-05-22 23:26:44 +00:00
Nanley Chery
03b9a6fde1
iris: Use known formats for tex_cache_flush_hack
...
Instead of using ISL_FORMAT_UNSUPPORTED, use the known format to avoid
extra cache flushes.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23087 >
2023-05-22 22:20:58 +00:00