Alejandro Piñeiro
080e14ff61
v3dv/pipeline: fix small comment typo
...
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16313 >
2022-05-04 09:21:20 +00:00
Jonathan Gray
3cc1efee6f
intel/dev: sync ADL-S pci ids with linux
...
sync ADL-S pci ids with linux
c79b846f892d ("drm/i915/adl_s: Update ADL-S PCI IDs")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16317 >
2022-05-04 18:01:45 +10:00
Juan A. Suarez Romero
f21e396f4c
v3d: disable early-Z on odd frame dimensions
...
The early-Z buffer may load incorrect depth values if the frame has an
od width or height. In this case we need to disable early-Z.
v3:
- Set job->early_zs_clear only for V3D_VERSION >= 40 (Iago)
- Check early-Z is disabled if no zsbuf (Iago)
v4:
- Borrow comments from v3dv around v3d_update_job_ez() (Iago)
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3557
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16166 >
2022-05-04 07:44:46 +00:00
Juan A. Suarez Romero
07cfa2bd96
v3d: enable early Z/S clears
...
This performance optimization can be enabled if we are clearing Z/S
buffer, and not storing or loading it.
v2:
- Add assertion on depth/stencil job loads (Iago)
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16166 >
2022-05-04 07:44:46 +00:00
Mike Blumenkrantz
4dec4ba87d
wgl: don't auto-load zink before software drivers
...
as in glx/egl, zink+lavapipe should only load if explicitly selected
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16311 >
2022-05-04 01:20:12 +00:00
Mike Blumenkrantz
a9451f2599
zink: use VK_EXT_primitives_generated_query when available
...
the old codepath must be maintained, but runtime will be far simpler
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16274 >
2022-05-04 01:09:57 +00:00
Mike Blumenkrantz
406f7a0eb1
zink: add a flag to zink_query to trigger rasterizer discard workaround
...
make this agnostic of query types; no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16274 >
2022-05-04 01:09:57 +00:00
Mike Blumenkrantz
5269521cc2
zink: add and use a function to detected emulated primgen queries
...
no functional changes, just reducing instances of PIPE_QUERY_PRIMITIVES_GENERATED
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16274 >
2022-05-04 01:09:57 +00:00
Mike Blumenkrantz
ddced9ea6b
zink: pass screen param to convert_query_type()
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16274 >
2022-05-04 01:09:57 +00:00
Mike Blumenkrantz
563ae3fd69
zink: pass query object to get_num_results()
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16274 >
2022-05-04 01:09:57 +00:00
Mike Blumenkrantz
6af4a74f8a
zink: pass query object to get_num_query_pools()
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16274 >
2022-05-04 01:09:57 +00:00
Mike Blumenkrantz
24626b954d
zink: pass query object to get_num_queries()
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16274 >
2022-05-04 01:09:57 +00:00
Mike Blumenkrantz
7aeaf695c0
zink: hook up VK_EXT_primitives_generated_query
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16274 >
2022-05-04 01:09:57 +00:00
Autumn on Tape
e353b89c57
gallivm: use VPERMPS (x86/AVX2) for 32-bit 8-element shuffles
...
Signed-off-by: Autumn on Tape <autumn@cyfox.net >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13671 >
2022-05-03 23:09:37 +00:00
Autumn on Tape
57e25fc55c
gallivm: use shufflevector for shuffles when index is constant data
...
This checks if index is a ConstantAggregateZero, ConstantDataSequential,
or UndefValue and emits a single shufflevector instead of a loop if so.
Signed-off-by: Autumn on Tape <autumn@cyfox.net >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13671 >
2022-05-03 23:09:37 +00:00
Autumn on Tape
433ec23457
lavapipe: enable subgroup shuffle operations
...
Bits flipped in VkPhysicalDeviceSubgroupProperties.supportedOperations:
* SUBGROUP_FEATURE_SHUFFLE_BIT
* SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT
Signed-off-by: Autumn on Tape <autumn@cyfox.net >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13671 >
2022-05-03 23:09:37 +00:00
Autumn on Tape
30817f7aed
gallivm: add subgroup shuffle support
...
Signed-off-by: Autumn on Tape <autumn@cyfox.net >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13671 >
2022-05-03 23:09:37 +00:00
Emma Anholt
695587413b
nir: Don't assert on tg4 offset range.
...
From the GL 4.6 spec: "If the value of any non-ignored component of the
offset vector operand is outside implementation-dependent limits, the
results of the texture lookup are undefined." We shouldn't assertion
fail, then.
GLSL-to-NIR shouldn't be enforcing limits on TG4 offsets, since it doesn't
for non-TG4 tex_src_offset either. Leave it up to the driver to handle
it.
Fixes a crash in a piglit test on nouveau that supplies a negative random
number up to 10,000 as the first coordinate for some reason. Other NIR
drivers lowered TG4 explicit offsets to tex_src_offset, so they weren't
affected.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16261 >
2022-05-03 21:45:49 +00:00
Mike Blumenkrantz
70f5360037
wgl: always set alpha on kopper windows
...
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16153 >
2022-05-03 20:12:27 +00:00
Erik Faye-Lund
5a62d00480
util: fix test on msvc
...
We also miss this function on MSVC. But let's use the functionality in
meson to check for supported functions instead of hand-rolling the list
here.
Fixes: 067023dce2 ("util: Add some unit tests of the half-float conversions.")
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16290 >
2022-05-03 19:33:20 +00:00
Alyssa Rosenzweig
ca280b2283
nir: Don't set writes_memory for reading XFB
...
That's a read, not a write. Fixes optimizations getting disabled for fragment
shaders when linked with a shader producing transform feedback varyings.
Fixes: 85a723975b ("nir: add and gather shader_info::writes_memory")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16285 >
2022-05-03 19:02:17 +00:00
Emma Anholt
e3607e96bb
nir: Eliminate out-of-bounds read/writes in local lowering.
...
Avoids nir validation assertion failures, and it's not like backend
drivers would want to see definitely-out-of-bounds read/writes either.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16066 >
2022-05-03 18:32:47 +00:00
David Heidelberg
b25eb4d43f
ci: traces: re-enable disabled traces which are now trimmed traces
...
After checksum mismatch, visually verified both re-enabled traces and
updated checksums for virgl-traces job.
Suggested-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Emma Anholt <emma@anholt.net >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16260 >
2022-05-03 18:21:06 +00:00
David Heidelberg
4b5b7010f8
ci: traces: switch to Valve trimmed traces
...
Valve has trimmed traces already for some time, switch to
them to save network bandwidth, storage and run-time.
Reviewed-by: Emma Anholt <emma@anholt.net >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16260 >
2022-05-03 18:21:06 +00:00
Alyssa Rosenzweig
80f8e9da16
pan/bi: Use a dynarray for predecessors
...
This is deterministic, unlike a set. Note we need the extra dereferencing to
keep the macro safe, simple, and standards compliant:
1. Nesting two for-loops would cause break/continue to fail.
2. Declaring variables outside the loop would pollute the namespace.
3. Declaring an anonymous struct is not conformant and doesn't compile in clang.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16279 >
2022-05-03 17:56:16 +00:00
Alyssa Rosenzweig
37f60a66e8
pan/bi: Use worklist for scoreboard analysis
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16279 >
2022-05-03 17:56:16 +00:00
Alyssa Rosenzweig
dbe4947c66
pan/bi: Use bi_worklist for post-RA liveness
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16279 >
2022-05-03 17:56:16 +00:00
Alyssa Rosenzweig
9ca625cf24
pan/bi: Use bi_worklist for liveness
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16279 >
2022-05-03 17:56:16 +00:00
Alyssa Rosenzweig
44f2715777
pan/bi: Use bi_worklist in analyze_helper_requirements
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16279 >
2022-05-03 17:56:16 +00:00
Alyssa Rosenzweig
89db718936
pan/bi: Add u_worklist wrapper macros
...
..expanding to bi_block.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16279 >
2022-05-03 17:56:16 +00:00
Alyssa Rosenzweig
d496fe153a
pan/bi: Count blocks
...
For u_worklist.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16279 >
2022-05-03 17:56:16 +00:00
Alyssa Rosenzweig
eb0001bf2b
pan/bi: Rename bi_block->name to bi_block->index
...
This is consistent with nir_block and (IMO) less confusing.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16279 >
2022-05-03 17:56:16 +00:00
Lionel Landwerlin
5a2dd4a44d
docs: explain state emission in Anv
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220 >
2022-05-03 17:12:45 +00:00
Lionel Landwerlin
797a8850b9
anv: remove static_state_mask
...
This is now unnecessary. Either an instruction is never dynamic and
it's emitted in genX_pipeline.c or it can be and it's emitted in
genX_cmd_buffer.c/gfx8_cmd_buffer/gfx7_cmd_buffer.c
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220 >
2022-05-03 17:12:45 +00:00
Lionel Landwerlin
74a27a6ccb
anv: don't emit 3DSTATE_VF_TOPOLOGY in pipeline batch
...
v2: drop primitive_topology = 0xffffffff (Tapani)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220 >
2022-05-03 17:12:45 +00:00
Lionel Landwerlin
48229d11ba
anv: don't emit 3DSTATE_DEPTH_BOUNDS in pipeline batch
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220 >
2022-05-03 17:12:45 +00:00
Lionel Landwerlin
76e735d09c
anv: don't emit 3DSTATE_BLEND_STATE_POINTERS in pipeline batch
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220 >
2022-05-03 17:12:45 +00:00
Lionel Landwerlin
e9d000a831
anv: don't emit 3DSTATE_WM in pipeline batch
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220 >
2022-05-03 17:12:44 +00:00
Lionel Landwerlin
065242d623
anv: don't emit 3DSTATE_STREAMOUT in pipeline batch
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220 >
2022-05-03 17:12:44 +00:00
Lionel Landwerlin
ce8bb29342
anv: never emit 3DSTATE_CPS in the pipeline batch
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220 >
2022-05-03 17:12:44 +00:00
Lionel Landwerlin
168b13364f
anv: rework sample location
...
On Gfx7 we can only give the sample location for a given multisample
number. This means everytime the multisampling value changes, we have
to re-emit the locations. It's fine because it's also where
(3DSTATE_MULTISAMPLE) the number of samples is stored.
On Gfx8+ though, 3DSTATE_MULTISAMPLE only holds the number of samples
and all the sample locations for all number of samples are located in
3DSTATE_SAMPLE_PATTERN. So to be more effecient there, we need to
track the locations for all sample numbers and compare new values with
the relevant sample count when touching the dynamic state.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220 >
2022-05-03 17:12:44 +00:00
Lionel Landwerlin
810518fda7
Revert "anv: fix dynamic state emission"
...
This reverts commit f348103fce . The
change was causing performance regressions.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220 >
2022-05-03 17:12:44 +00:00
Lionel Landwerlin
69e6417e19
anv: add missing logic op set in pipeline dyn state
...
v2: add ANV_CMD_DIRTY_DYNAMIC_LOGIC_OP check (Tapani)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 75ad0e4b08 ("anv: support blending logic op dynamic state")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220 >
2022-05-03 17:12:44 +00:00
Lionel Landwerlin
5048f15737
anv: reset all dynamic state after secondary execution
...
We don't know in what state the secondary buffer will leave the HW
when it ends. It's easier to consider everything needs to be reemitted
for now.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220 >
2022-05-03 17:12:44 +00:00
Fabrice Fontaine
7d87478124
src/util/futex.h: fix build on 32-bit architectures using 64-bit time_t
...
Fix the following build failure on 32-bit architectures using 64-bit
time_t (e.g. riscv32):
../src/util/futex.h: In function 'sys_futex':
../src/util/futex.h:39:19: error: 'SYS_futex' undeclared (first use in this function); did you mean 'sys_futex'?
39 | return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3);
| ^~~~~~~~~
| sys_futex
Fixes:
- http://autobuild.buildroot.org/results/692700a5f967760a0b8cd358b1712f1d5a7b681e
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12496 >
2022-05-03 16:40:22 +00:00
Marek Olšák
a0dad2f1db
radeonsi: remove si_create_surface_custom
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
584e996ddd
radeonsi: remove si_create_sampler_view_custom and related code
...
This was used for compressed and subsampled gfx copies.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
cf1e562fdd
radeonsi: remove compressed and subsampled gfx copy from resource_copy_region
...
This is unused because the compute copy is always used in these cases.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
f313dc2a07
radeonsi: improve the subsampled copy_image calculation
...
This fixes a few cases for AMD_TEST=copyimage, but it's still pretty broken.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
b6beb70ea4
radeonsi: handle compressed formats in si_compute_copy_image
...
This fixes a lot of AMD_TEST=copyimage cases, but there are still some
failures.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00