Emma Anholt
f51bbcc8ae
ci/turnip: Add missing a618 full-run bypass fails.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18562 >
2022-09-13 22:19:43 +00:00
Adam Jackson
ed2e3f5871
wsi/x11: Fix the is-visual-supported check
...
This was sort of well intentioned, but wrong. bits_per_rgb_value is the
number of significant bits in the color (channel) specification, not the
number of bits used to name that color within the pixel. If you have a
depth 24 visual but the colormap is 11 bits deep then each of those
channels selects one of 256 11-bit color values in the output ramp.
The open source drivers mostly don't expose anything like that, but
nvidia does, and we refuse to work. That's silly. Practically speaking
we can probably render to any TrueColor or DirectColor visual that your
X server exposes, since it is probably not going to have visuals for
non-color-renderable formats. Just check the visual class instead.
Likewise when matching formats to visuals, count the bits in the rgb
masks in the visual.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6995
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18381 >
2022-09-13 21:52:55 +00:00
Rhys Perry
c23411a970
nir/algebraic: optimize bits=umin(bits, 32-(offset&0x1f))
...
Optimizes patterns which are created by recent versions of vkd3d-proton,
when constant folding doesn't eliminate it entirely:
- ubitfield_extract(value, offset, umin(bits, 32-(offset&0x1f)))
- ibitfield_extract(value, offset, umin(bits, 32-(offset&0x1f)))
- bitfield_insert(base, insert, offset, umin(bits, 32-(offset&0x1f)))
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13225 >
2022-09-13 20:36:06 +00:00
Pierre-Eric Pelloux-Prayer
07a520f731
radeonsi: invalidate L2 when using dcc stores
...
This is only needed on chips with tcc_rb_non_coherent=1.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7084
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18494 >
2022-09-13 20:03:14 +00:00
Pierre-Eric Pelloux-Prayer
4da147a02b
mesa: remove fallback for GL_DEPTH_STENCIL
...
st_TexSubImage has this "default to fallback for depth-stencil" since
2013. I think it's time to remove this limitation - hopefully all
drivers will be happy with the change to avoid adding yet another CAP.
This helps CS:GO startup a lot, because the fallback path is very very
slow.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18484 >
2022-09-13 19:37:28 +00:00
Pierre-Eric Pelloux-Prayer
2baa40b041
mesa: simplify _mesa_texstore_z24_s8 and s8_z24
...
The spec says:
If the base internal format is DEPTH_STENCIL and format
is not DEPTH_STENCIL, then the values of the stencil
index texture components are undefined.
Which can be translated as: we don't need to bother preserving
the original stencil values.
Suggested by Emma Anholt.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18484 >
2022-09-13 19:37:28 +00:00
Pierre-Eric Pelloux-Prayer
a5b1a81105
mesa: avoid reading back textures from VRAM
...
This can be very slow on dGPU.
I tried a different version that would allocate a full row
and then do a single memcpy per row but the performance
was similar so I kept the simple version.
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18484 >
2022-09-13 19:37:28 +00:00
Juston Li
a6e6ffb703
venus: add support for VK_EXT_multi_draw
...
Test:
./deqp-vk -n dEQP-VK.draw.*multi_draw*
Test run totals:
Passed: 11520/11520 (100.0%)
Failed: 0/11520 (0.0%)
Not supported: 0/11520 (0.0%)
Warnings: 0/11520 (0.0%)
Waived: 0/11520 (0.0%)
Signed-off-by: Juston Li <justonli@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18304 >
2022-09-13 19:20:55 +00:00
Juston Li
99378c8873
venus: sync to latest venus protocol headers
...
- v1.3.227 update
- added VK_EXT_multi_draw
Signed-off-by: Juston Li <justonli@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18304 >
2022-09-13 19:20:55 +00:00
Emma Anholt
873365caee
nouveau: Fix compiler warnings about silly address checks in ir_print.
...
in/out/sv are arrays, so &array[i] is a non-null pointer. Presumably
numSysVals/Inputs/Outputs are only incremented when there's data in the
arrays, anyway.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18536 >
2022-09-13 18:39:07 +00:00
Chia-I Wu
210807a1a4
turnip: reduce MAX_STORAGE_BUFFER_RANGE
...
Reduce MAX_STORAGE_BUFFER_RANGE from (1<<29) to (1<<27). While (1<<28)
is fine based on my tests, let's match what the latest version of the
blob does.
Tested on a618 and a635.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18322 >
2022-09-13 17:46:15 +00:00
Karol Herbst
89dcc52b78
rusticl/device: print error when libclc fails to load
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18580 >
2022-09-13 17:38:05 +00:00
Alyssa Rosenzweig
cf7069469c
asahi: Handle blending with MRT
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18525 >
2022-09-13 16:04:29 +00:00
Alyssa Rosenzweig
e1715c6a4f
asahi: Don't crash on <4 channel render targets
...
It doesn't matter what we put in the swizzle for the unused components,
but if we try to stuff out-of-bounds PIPE_SWIZZLE_0/1/NONE values,
we'll crash in GenXML. Fixes failing tests in
dEQP-GLES3.functional.fragment_out.basic.fixed.*
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18525 >
2022-09-13 16:04:29 +00:00
Alyssa Rosenzweig
89e0f54422
agx: Don't use nir_find_variable_with_driver_location
...
io_semantics is the preferred alternative.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18525 >
2022-09-13 16:04:29 +00:00
Alyssa Rosenzweig
0883f0b302
agx: Lower txs to a descriptor crawl
...
There's no native txs instruction... but we can emulate one :-) This is
heavy on shader ALU, but in the production driver, it'll all be hoisted
up to the preamble shader and so it shouldn't matter much. This
keeps the driver itself simple and low overhead, with a completely
obvious generalization to bindless.
Passes dEQP-GLES3.functional.shaders.texture_functions.texturesize.*
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18525 >
2022-09-13 16:04:29 +00:00
Alyssa Rosenzweig
bc4f418cb4
agx: Implement load_global(_constant)
...
Found in compute shaders, maps to a subset of device_load, and will be
used for some lowerings soon.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18525 >
2022-09-13 16:04:29 +00:00
Alyssa Rosenzweig
965cc62bdd
agx: Implement txd
...
Handles all cases except for cube maps, which don't seem to work
properly, so those are lowered.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18525 >
2022-09-13 16:04:29 +00:00
Alyssa Rosenzweig
7a4e0a4d35
agx: Implement texture offsets and comparators
...
Texture offsets and shadow comparison values get grouped into a vector
passed by register. Comparison values are provided as-is (fp32). Texture
offsets are packed into nibbles, but we can do this on the CPU, as
nonconstant offsets are forbidden in GLSL at least. They're also
forbidden in Vulkan/SPIR-V without ImageGatherExtended/
shaderImageGatherExtended. I'm happy kicking the NIR lowering can down
the line, this commit is complicated enough already.
Passes dEQP-GLES3.functional.shaders.texture_functions.texture.* and
dEQP-GLES3.functional.shaders.texture_functions.textureoffset.*
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18525 >
2022-09-13 16:04:29 +00:00
Alyssa Rosenzweig
4f85a7be8c
agx: Make p_combine take a dynamic src count
...
For larger vectors.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18525 >
2022-09-13 16:04:28 +00:00
Alyssa Rosenzweig
ef31dceee8
agx,asahi: Implement nir_intrinsic_load_texture_base_agx
...
Save off what we pass to BIND_TEXTURE.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18525 >
2022-09-13 16:04:28 +00:00
Alyssa Rosenzweig
7371803f14
nir: Add nir_intrinsic_texture_base_agx sysval
...
For non-bindless textures, get the base address of the texture
descriptor array, so we can crawl descriptors in the shader. For
bindless, this isn't needed (since the bindless handle will be the
address itself).
jekstrand suggested the idea of the descriptor crawl. It worked out
pretty well, all considered.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18525 >
2022-09-13 16:04:28 +00:00
Alyssa Rosenzweig
ef75dbfddd
panfrost: Honour cso->req_local_mem
...
Fixes api.min_max_local_mem_size.
nir->info.shared_size can't be trusted in OpenCL.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18559 >
2022-09-13 15:36:08 +00:00
Alyssa Rosenzweig
b4dd1b8916
panfrost: Respect buffer offset for OpenCL
...
This is so dumb. Panfrost port of d98b82a103 ("iris/cs: take buffer offsets
into account for CL")
Fixes buffer.sub_buffers_read_write
Fixes: 80b90a0f2b ("panfrost: Implement panfrost_set_global_binding")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Suggested-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18560 >
2022-09-13 15:16:44 +00:00
Sarah Walker
4be56e5e3f
pvr: Update FWIF 3d and compute register structures
...
This matches changes made in FW 1.17.OS@6285007.
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18440 >
2022-09-13 13:59:30 +00:00
Karmjit Mahil
24e24e9a28
pvr: Emit cs words for load op on vkCmdBeginRenderPass().
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18569 >
2022-09-13 12:49:52 +00:00
Sarah Walker
ad56b9644d
pvr: Remove STRIP_RENDERING members from FWIF
...
This matches changes made in FW 1.17.OS@6256262.
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18490 >
2022-09-13 12:41:39 +00:00
Rajnesh Kanwal
222f3c8a6d
pvr: Implement vkCmdDrawIndexedIndirect API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18486 >
2022-09-13 12:33:13 +00:00
Rajnesh Kanwal
cdf986a3e6
pvr: Implement vkCmdDrawIndirect API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18486 >
2022-09-13 12:33:13 +00:00
Eric Engestrom
e14c418862
docs: move rusticl readme into docs/
...
And convert it from Markdown to rST.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18568 >
2022-09-13 12:24:35 +00:00
Rajnesh Kanwal
0265a23172
pvr: Implement vkGetPhysicalDeviceImageFormatProperties2 API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18487 >
2022-09-13 11:47:37 +00:00
Georg Lehmann
1e7a930e10
radv: Enable VK_EXT_load_store_op_none.
...
VK_ATTACHMENT_STORE_OP_NONE_EXT is already supported through
VK_KHR_dynamic_rendering.
It doesn't seem like we need to do anything special for
VK_ATTACHMENT_LOAD_OP_NONE_EXT.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7246
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18545 >
2022-09-13 09:56:11 +00:00
David Heidelberg
cf0e065dcc
ci: uprev piglit 2022-09-08
...
Main change is new traces YAML format!
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
45eda06953
ci: introduce update_traces_checksum.py
...
Invoking this script takes checksums from all failed jobs and update
them in $driver-traces.yml files.
```
.gitlab-ci/bin/update_traces_checksum.py --rev $(git rev-parse HEAD)
```
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
de08baade7
ci: split ci_run_n_monitor into script and shared parts
...
These parts will be shared with the update checksum script.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
c9a666c1a4
ci: export whole results/ directory for all traces jobs
...
We use `results/results.json.bz2` in `update_traces_checksum.py`.
Just few extra KiB.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
f2649b93e2
ci: performance traces: make use of no-perf label
...
Traces with label `no-perf` will be skipped in performance testing.
This commit adds the yq tool, which preprocesses the traces.yml file
before sending it to the piglit.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
2b8a14e076
ci: check traces.yml files with yamllint
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
3242972cac
ci/crocus: convert traces to new YAML format
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
79aa9c62db
ci/i915: convert traces to new YAML format
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
efc8eeaf7e
ci/intel: convert traces to new YAML format
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
23070376ac
ci/radeonsi: convert traces to new YAML format
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
1777510390
ci/panfrost: convert traces to new YAML format
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
033050385d
ci/broadcom: convert traces to new YAML format
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
99114f12e0
ci/lavapipe: convert traces to new YAML format
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
f111b238b7
ci/llvmpipe: convert traces to new YAML format
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
1928ff9da4
ci/virgl: convert traces to new YAML format
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
5c388fbdeb
ci/freedreno: convert traces to new YAML format
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
Karmjit Mahil
460b19d393
pvr: Handle VK_CULL_MODE_FRONT_AND_BACK.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18550 >
2022-09-13 09:00:17 +00:00
Samuel Pitoiset
075d8aeb67
radv: advertise extendedDynamicState2PatchControlPoints
...
For less stuttering with Zink, also required by Zink for full GPL.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6584
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18344 >
2022-09-13 08:24:14 +00:00