Alyssa Rosenzweig
689d47fe7c
asahi: Upload at most the max texture state registers
...
The rest are bindless now.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24258 >
2023-07-20 15:33:27 +00:00
Alyssa Rosenzweig
274d0d1c82
asahi: Add texture/image indexing lowering pass
...
Both textures and images share a unified indexing scheme in AGX. When binding
tables are used, they can be mapped to texture state registers. Otherwise, there
is bindless access available.
It would be nice to map OpenGL's binding table based textures and images to AGX
texture state registers 1:1. The problem is that OpenGL allows more combined
textures and images than we necessarily have texture state registers. So, we use
as many texture state registers as we can, and then we fallback on an internal
bindless scheme mapping an extended binding table.
Add and use a lowering pass to map all of the API-level texture/image indices to
either texture state registers or bindless handles as required.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24258 >
2023-07-20 15:33:27 +00:00
Alyssa Rosenzweig
1ad4a35a6c
asahi: Add agx_batch_track_image helper
...
Adapted from Panfrost.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24258 >
2023-07-20 15:33:27 +00:00
Alyssa Rosenzweig
868d85bd83
asahi: Reallocate to set the writeable image flag
...
...If needed, for array images.
But avoid doing so for non-array images.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24258 >
2023-07-20 15:33:27 +00:00
Alyssa Rosenzweig
92cd946028
asahi: Mark writeable images as such
...
ail needs this information to select the appropriate layout.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24258 >
2023-07-20 15:33:27 +00:00
Alyssa Rosenzweig
16f081bf2a
ail: Page-align layers for writable images
...
This appears to be necessary for PBE writes.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24258 >
2023-07-20 15:33:27 +00:00
Alyssa Rosenzweig
f716da596b
asahi,agx: Set coherency bit for clustered targets
...
We need to set a particular bit on atomics for them to be coherent across
clusters. Fixes atomics on G13X.
Setting this bit on the single-cluster G13G, on the other hand, wedges the GPU.
So best be careful ;-)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24258 >
2023-07-20 15:33:27 +00:00
Janne Grunau
f66fc18886
asahi: toggle more barrier bits after transform feedback
...
Fixes KHR-GLES31.core.draw_indirect.advanced-twoPass-transformFeedback-arrays
and KHR-GLES31.core.draw_indirect.advanced-twoPass-transformFeedback-elements
on M1 Ultra (G13D). Let's assume that same bits are required on M1 Pro
and Max.
Signed-off-by: Janne Grunau <j@jannau.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24258 >
2023-07-20 15:33:27 +00:00
Alyssa Rosenzweig
58d43ca03c
asahi: Identify background/EOT counts
...
Similar to the counts for VDM/PDM/CDM.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24258 >
2023-07-20 15:33:27 +00:00
Alyssa Rosenzweig
198c51d664
asahi: Serialize NIR in memory
...
Deserializing isn't expected to be much more expensive than cloning, and the
serialized NIR is *significantly* smaller. So store the serialized instead of
the deserialized, and deserialize on the fly.
This reduces a lot of noise in valgrind due to random crap alloc'd against the
NIR shader by lowering passes that now get properly freed.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24258 >
2023-07-20 15:33:27 +00:00
Alyssa Rosenzweig
8df0a86cc0
asahi: Extract shader_initialize helper
...
To fill out an agx_uncompiled_shader struct, since the logic was duplicated
between graphics and compute.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24258 >
2023-07-20 15:33:27 +00:00
Asahi Lina
0e08923a7b
asahi: Add nomsaa debug flag
...
This forces off MSAA, which together with smalltile mode helps test more
combinations.
Signed-off-by: Asahi Lina <lina@asahilina.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24258 >
2023-07-20 15:33:27 +00:00
Asahi Lina
e9b2f02c2f
asahi: Add smalltile debug option
...
This lets us force small tiles when they otherwise would not be
necessary, which is useful for decoupling tile size and the logic that
depends on it from things like MSAA and MRT which can trigger small
tiles.
Signed-off-by: Asahi Lina <lina@asahilina.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24258 >
2023-07-20 15:33:27 +00:00
Asahi Lina
35715db30d
asahi: Add synctvb debug flag
...
This requests synchronous TVB growth (instead of split renders). Mostly
for testing at this point.
Only works with newer kernels and the kernel will complain on dmesg for
now.
Signed-off-by: Asahi Lina <lina@asahilina.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24258 >
2023-07-20 15:33:27 +00:00
Alyssa Rosenzweig
d33375bb05
asahi: Refactor PBE upload routine
...
In general, PBE descriptors map pipe_image_views for the hardware. That we use a
writeable shader image internally for render targets is an implementation-detail
of the end-of-tile program. So, refactor the PBE upload routine to take a
pipe_image_view (not a pipe_surface), and translate the pipe_surface into an
internal pipe_image_view for end-of-tile programs.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24258 >
2023-07-20 15:33:27 +00:00
Alyssa Rosenzweig
85c829d64f
asahi: Remove unused #define
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24258 >
2023-07-20 15:33:27 +00:00
Alyssa Rosenzweig
f10d51541d
asahi: Use nir_builder_at more
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24258 >
2023-07-20 15:33:27 +00:00
Alyssa Rosenzweig
c20c9f06d3
asahi: Augment fake drm_asahi_params_global
...
Stub out a bit more UAPI so we can build with the additions in this patch
series.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24258 >
2023-07-20 15:33:27 +00:00
Sergi Blanch Torne
f7d0586524
Integrate ci-kdl in the building process and launch process.
...
Modify the build process for the images to include the build to have ci-kdl
available in the Mesa jobs. Modify also the init-stage2 to launch in the
background the process that will collect data and store a json file with the
relative changes on the recorded data.
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24177 >
2023-07-20 12:04:41 +00:00
Sergi Blanch Torne
8a1c95caab
Introduce ci-kdl builder and launcher.
...
A tool to collect relative changes in some registers of sysfs can be used in
the Mesa jobs to record information while the tests are being executed.
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24177 >
2023-07-20 12:04:41 +00:00
Vignesh Raman
95c9d3db32
ci: add Vignesh Raman into restricted traces access list
...
Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24247 >
2023-07-20 11:08:10 +00:00
Eric Engestrom
85a8f03211
ci: delete install.tar after extracting it to avoid re-uploading it
...
Leaving it means it gets re-uploaded when sync'ing the artifacts back
from the DUT to GitLab.
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24196 >
2023-07-20 10:34:03 +00:00
Pavel Ondračka
c9a0e91d4c
r300: fix cycles calculation
...
There might be more texture semaphores per begin tex block, just do the
cycles calculation on the first one.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24250 >
2023-07-20 10:19:24 +00:00
Lionel Landwerlin
2007d67054
ci/a530: switch a few tests to flakes to unblock CI
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24248 >
2023-07-20 09:46:21 +00:00
Felix DeGrood
d04be9770b
intel/compiler: use shader source hash in shader dump code
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23942 >
2023-07-20 09:08:08 +00:00
Felix DeGrood
6ac8a9a030
intel: use shader source hash in INTEL_MEASURE
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23942 >
2023-07-20 09:08:08 +00:00
Felix DeGrood
49182271e3
mesa: propagate shader source sha1 from gl_shader to nir_shader
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23942 >
2023-07-20 09:08:08 +00:00
Felix DeGrood
96f344e5a6
iris: save shader source sha1 in ish
...
Save lowest dword of shader source sha1 in pipeline object for use
later as hash for uniquely identifying shader in debug outputs.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23942 >
2023-07-20 09:08:08 +00:00
Felix DeGrood
124973c635
anv: Add Source hash field to VkPipelineExecutableStatisticKHR
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23942 >
2023-07-20 09:08:08 +00:00
Felix DeGrood
b145d05381
anv: save a shader source uint32_t hash in gfx/compute pipelines
...
Save lowest dword of shader source sha1 in pipeline object for use
later as hash for uniquely identifying shader in debug outputs.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23942 >
2023-07-20 09:08:08 +00:00
Lionel Landwerlin
3384f029be
intel/compiler: rework input parameters
...
Use a struct for various common parameters rather than per stage
structure or arguments to stage specific entrypoints.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Felix DeGrood <felix.j.degrood@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23942 >
2023-07-20 09:08:08 +00:00
Konstantin Seurer
df3f2c89f5
radv/meta_buffer: Rename size_minus16 to max_offset
...
It's just better.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24213 >
2023-07-20 07:43:16 +00:00
Konstantin Seurer
c49bd75fa7
radv/meta_buffer: Stop setting RADV_META_SAVE_DESCRIPTORS
...
Everything is done via push constants.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24213 >
2023-07-20 07:43:16 +00:00
Konstantin Seurer
839d6f9fa2
radv: Stop using the misleading round_up_u* functions
...
The functions had the same behavior as DIV_ROUND_UP but their names do
not mention a division.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24210 >
2023-07-20 06:51:30 +00:00
Pavel Ondračka
34a12a2727
r300: cycles estimate for shader-db
...
To account for:
- macro MAD in vs
- NOPs needed before presubtract
- texture scheduling and a proper texture semaphore usage
The docs don't mention any other references to extra cycles, so otherwise
we assume 1 instruction = 1 cycle.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7573
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24152 >
2023-07-20 06:37:10 +00:00
Pavel Ondračka
219dc0fc08
r300: add a helper for checking number of temporary sources
...
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24152 >
2023-07-20 06:37:10 +00:00
Pavel Ondračka
c86e1b97a3
r300: normal instruction can't have presubtract op
...
Only fs have presubtract ops and by the time we gather the stats,
all normal instructions were converted to pair ones.
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24152 >
2023-07-20 06:37:10 +00:00
Pavel Ondračka
c577655f8c
r300: bump the RC_MAX_INDEX_BITS
...
We skip ntt regalloc for vertex shaders and we have 1024 instruction
limit for R500 vs, so in theory we could run some shaders with more that
1024 ssa registers (if we can optimize the number of instruction in the
backend). So add one more bit.
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24154 >
2023-07-20 06:22:03 +00:00
Pavel Ondračka
beee5c3658
r300: source register index is always unsigned
...
This was forgotten when we converted to the NIR lowering of negative
indirect adressing.
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24154 >
2023-07-20 06:22:03 +00:00
Pavel Ondračka
953dd9605f
r300: check for index overflow when translating from TGSI
...
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24154 >
2023-07-20 06:22:03 +00:00
David Heidelberg
3b5daba32d
ci/panfrost: introduce OpenGL testing with Mali-G57 MP5 on Asurada chromebook
...
Copy-paste *-skips,fails,flakes from g52.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24198 >
2023-07-20 01:25:34 +00:00
Alyssa Rosenzweig
ac51cc12b1
panfrost: Fix transform feedback on v9 harder
...
We might need more push uniforms (FAU) than the currently bound program. Update
that too for correct results on v9.
Fixes: c282f80c98 ("panfrost: Fix transform feedback on v9")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24198 >
2023-07-20 01:25:34 +00:00
Alyssa Rosenzweig
64ff2b3ed6
panfrost: Lower vertex_id for XFB
...
Even on Valhall, vertex_id is zero-based in a transform feedback program. Lower
that for transform feedback programs properly since it wouldn't happen
automatically on Valhall. Fixes assertion fails.
Fixes: 91ffd10351 ("pan/bi: Lower gl_VertexID in NIR")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24198 >
2023-07-20 01:25:34 +00:00
Chia-I Wu
539bf3929b
amd/ci: update radv-stoney-aco-fails.txt for depth/stencil clear
...
This MR fixes the
stencil_d32_sfloat_s8_uint_load_op_none_store_op_none_write_off one.
The rest appears to be outdated.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22114 >
2023-07-19 23:46:02 +00:00
Chia-I Wu
e0602775c1
radv: fix separate depth/stencil layouts in clear meta
...
Depth and stencil can be in different layouts.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22114 >
2023-07-19 23:46:02 +00:00
Chia-I Wu
aaec5ea293
radv: refactor depth clear in clear meta
...
Modify what we pass to radv_fast_clear_depth and emit_depthstencil_clear
in preparation for separate depth/stencil layouts.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22114 >
2023-07-19 23:46:02 +00:00
Chia-I Wu
a06cb572f6
radv: fix separate depth/stencil layouts in resolve meta
...
Depth and stencil can be in different layouts.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22114 >
2023-07-19 23:46:02 +00:00
Chia-I Wu
673d416e22
radv: fix separate depth/stencil layouts in fb state
...
Set S_028000_DEPTH_COMPRESS_DISABLE/S_028000_STENCIL_COMPRESS_DISABLE
depending on the depth/stencil layouts respectively.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22114 >
2023-07-19 23:46:02 +00:00
Dave Airlie
460e62b5e7
ci: remove binding model from the asan skips for lavapipe.
...
These should be fine now.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20661 >
2023-07-19 23:28:31 +00:00
Asahi Lina
32a79e9be7
docs/tgsi: Specify that depth texture fetches are replicated
...
This is what drivers do, and code like u_blitter expects this.
Commit 6cac9c748e implied that this was already specified, but only
stencil actually was, depth was still listed as TBD. Let's actually
specify this for future reference.
Signed-off-by: Asahi Lina <lina@asahilina.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22361 >
2023-07-19 23:21:36 +00:00