Marek Olšák
dae902e11e
mesa: rename CurrentClientDispatch to GLApi
...
I like this more. The name self-documents itself. It's always equal
to the dispatch set in glapi.
GLAPI is a definition, so can't use that.
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21777 >
2023-03-12 17:56:15 -04:00
Marek Olšák
6b22642e21
mesa: move ctx->Table -> ctx->Dispatch.Table except Client & MarshalExec
...
There is a new struct gl_dispatch, which I'd like to reuse in glthread.
This allows building code around gl_dispatch that can be shared between
mesa and glthread. This is only refactoring.
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21777 >
2023-03-12 17:56:11 -04:00
Marek Olšák
ef0e327d9f
glapi: inline the meson list files_mapi_util
...
so that people can easily tell where these files are used by searching
for the file names in the meson files.
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21777 >
2023-03-12 17:56:10 -04:00
Marek Olšák
eed145004b
glapi: move files specific to shared-glapi into the shared-glapi subdirectory
...
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21777 >
2023-03-12 17:56:03 -04:00
David Heidelberg
7cf7d497e7
ci/clover: disable the jobs
...
Prepare for Clover removal; don't waste resources on Clover anymore.
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21865 >
2023-03-12 20:50:14 +01:00
Daniel Schürmann
3d4f6a00b8
aco/spill: allow for disconnected CFG
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20853 >
2023-03-12 18:07:18 +00:00
Daniel Schürmann
caec48529b
aco/insert_exec_mask: allow for disconnected CFG
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20853 >
2023-03-12 18:07:18 +00:00
Daniel Schürmann
7f7a70778f
aco/dead_code_analysis: don't add artificial uses to p_startpgm
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20853 >
2023-03-12 18:07:18 +00:00
Daniel Schürmann
fb99bc5f30
aco/value_numbering: clear hashmap between disconnected CFGs
...
There is no dominance-relationship between two disconnected CFGs,
thus no CSE is possible.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20853 >
2023-03-12 18:07:18 +00:00
Daniel Schürmann
678aef9f06
aco/dominance: set immediate dominator for any BB without predecessors
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20853 >
2023-03-12 18:07:18 +00:00
Kai Wasserbäch
bb2db56ffe
fix: gallivm: fix LLVM #include of Host.h, moved to TargetParser
...
Upstream moved Host.h from Support to TargetParser in LLVM 17.
This shouldn't lead to a FTBFS, since there is a forwarding include left
behind. Sadly the added deprecation warning #pragma is invalid and thus
causes a build failure right away. But since we would have to follow the
move anyway in the future, just do it right away.
Reference: https://github.com/llvm/llvm-project/commit/d768bf994f508d7eaf9541a568be3d71096febf5
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Closes : #8275
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21263 >
2023-03-12 14:02:23 +00:00
Konstantin Seurer
e3aa058317
radv/rt: Properly handle pNext of pipeline library stages
...
Fixes
dEQP-VK.pipeline.pipeline_library.graphics_library.misc.non_graphics.shader_module_info_rt_lib.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21707 >
2023-03-12 13:18:15 +00:00
Konstantin Seurer
ef5cba56a0
vulkan: Add vk_shader_module_init
...
This will be used for allocating shader modules using ralloc by RADV.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21707 >
2023-03-12 13:18:15 +00:00
Konstantin Seurer
0fc8335ccb
radv/rt: Use vk_pipeline_hash_shader_stage for RT stages
...
Fixes
dEQP-VK.pipeline.pipeline_library.graphics_library.misc.non_graphics.shader_module_info_rt.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21707 >
2023-03-12 13:18:15 +00:00
David Heidelberg
2b00eaaedc
ci/iris: update apl and glk expectations, after enabling Wayland support
...
After enabling the Wayland platform for x86_64,
multiple new tests were triggered, some of which timed out.
Also wayland-dEQP-EGL.functional.negative_api.create_pixmap_surface now pass.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21786 >
2023-03-12 00:11:09 +00:00
Alyssa Rosenzweig
45554a957a
agx: Lower discard late
...
Fixes regression with Dolphin's ubershaders.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21855 >
2023-03-11 23:34:56 +00:00
Mike Blumenkrantz
c04a7c9267
zink: ignore renderdoc if ZINK_RENDERDOC isn't in use
...
this otherwise has some weird side effects
Fixes: 48a0478126 ("zink: add renderdoc handling")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21816 >
2023-03-11 22:10:38 +00:00
Alyssa Rosenzweig
7e908878c1
ail: Restructure generated tests
...
Currently, the generated tests consist of some boilerplate, generated
test cases, and at the very end the actual test. This is bad for readability,
because the actual code is all the way at the bottom. It's also bad for
clang-format linting: even though the test cases are /* clang-format off */,
they still take an exceptionally long time to parse when linting. I suspect this
is a clang-format bug, but it's easy enough to workaround.
To solve these issues, restructure so that the test cases are in separate files
(containing the actual data), but the manually written test functions are
consolidated into a new family of generated layout tests. This is probably
cleaner.
Parallel clang-format linting is now 10x faster on the M1, which means it's
now practical to lint in my "publish branch" hook.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21854 >
2023-03-11 20:45:42 +00:00
José Roberto de Souza
43e21702f6
anv: Integrate gem vm bind and unbind kmd backend functions
...
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21698 >
2023-03-11 17:56:01 +00:00
José Roberto de Souza
37fa2fa30e
anv: Add gem VM bind and unbind to backend
...
Not using it yet, that will be done in the next patch.
Xe only supports submission using VM.
For i915 the backend functions are just a noop.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21698 >
2023-03-11 17:56:01 +00:00
José Roberto de Souza
324d22d684
anv: Implement gem close and mmap for Xe backend
...
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21698 >
2023-03-11 17:56:01 +00:00
José Roberto de Souza
149e945ad4
anv: Implement Xe functions to create and destroy VM
...
Also using the vm_id to create gem buffers.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21698 >
2023-03-11 17:56:01 +00:00
José Roberto de Souza
d5f767edf9
anv: Implement gem_create for Xe backend
...
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21698 >
2023-03-11 17:56:01 +00:00
Isabella Basso
59fea8af3a
nir/algebraic: remove duplicate bool conversion lowerings
...
While [1] added some boolean conversion lowering patterns, those were
already dealt with on [2].
[1] - b86305bb ("nir/algebraic: collapse conversion opcodes (many patterns)")
[2] - d7e0d47b ("nir/algebraic: nir: Add a bunch of b2[if] optimizations")
Fixes: b86305bb ("nir/algebraic: collapse conversion opcodes (many patterns)")
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Signed-off-by: Isabella Basso <isabellabdoamaral@usp.br >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20965 >
2023-03-11 17:21:38 +00:00
Isabella Basso
a553d3cd29
nir/algebraic: make patterns for float conversion lowerings imprecise
...
As noted on [1], lowering patterns of the form
floatS -> floatB -> floatS ==> floatS
cannot require precision since this may cause flush denorming.
[1] 3f779013 ("nir: Add an algebraic optimization for float->double->float")
Fixes: b86305bb ("nir/algebraic: collapse conversion opcodes (many patterns)")
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Signed-off-by: Isabella Basso <isabellabdoamaral@usp.br >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20965 >
2023-03-11 17:21:37 +00:00
Isabella Basso
79c94ef52e
nir/algebraic: extend lowering patterns for conversions on smaller bit sizes
...
Conversions on smaller bit sizes should also be collapsed when composed.
This also adds more patterns on the
intS -> intB -> floatB ==> intS -> floatB
lowering so as to deal with any int size C > B instead of a fixed intB.
Closes : #7776
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Signed-off-by: Isabella Basso <isabellabdoamaral@usp.br >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20965 >
2023-03-11 17:21:37 +00:00
Isabella Basso
a27bcd63d0
nir/algebraic: extend mediump patterns
...
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Suggested-by: Italo Nicola <italonicola@collabora.com >
Signed-off-by: Isabella Basso <isabellabdoamaral@usp.br >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20965 >
2023-03-11 17:21:37 +00:00
Isabella Basso
b3685f3ba7
nir/algebraic: insert patterns inside optimizations list
...
Some patterns were outside the list of optimizations.
Fixes: b86305bb ("nir/algebraic: collapse conversion opcodes (many patterns)")
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Signed-off-by: Isabella Basso <isabellabdoamaral@usp.br >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20965 >
2023-03-11 17:21:37 +00:00
Alyssa Rosenzweig
2ba48eea88
nir/lower_point_size: Use shader_instructions_pass
...
Sleepy code deletion mood.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21750 >
2023-03-11 16:42:36 +00:00
Alyssa Rosenzweig
933b5c76f6
agx: Switch to scoped_barrier
...
Rather than ingesting separate control and memory barriers, ingest only the
combined and optimized scoped_barrier intrinsic. For barriers originating from
GLSL, this makes it easier to ensure correctness. For barriers originating from
SPIR-V, this is required for translation at all, as spirv_to_nir knows only
scoped barriers. So this gets us closer to Vulkan and OpenCL.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21752 >
2023-03-11 16:20:06 +00:00
David Heidelberg
84767a5160
ci/lava: every LAVA job doesn't want to run gles2 deqp, drop it
...
Very annoying when adding new job and not getting failure due to missing
`DEQP_VER: `
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21702 >
2023-03-11 14:48:20 +00:00
David Heidelberg
8cdbb894ca
ci/panfrost: correct the job name, as it runs on gles2
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21702 >
2023-03-11 14:48:20 +00:00
David Heidelberg
e3660c2820
ci/amd: move skqp and va jobs on raven from XOrg to the XWayland
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21702 >
2023-03-11 14:48:20 +00:00
David Heidelberg
1e262f129b
ci: add and utilize dalboz devices
...
New 10 devices - asus-CM1400CXA-dalboz hosted on Collabora farm.
1x Move VA-API tests to the dalboz (more resources). One timeout dropped.
9x Run VKCTS on dalboz.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21702 >
2023-03-11 14:48:20 +00:00
Sil Vilerino
3067bda0f3
d3d12: Fix video decode for interlaced streams with reference only textures required
...
Fixes: d8206f6286 ("d3d12: Add video decode implementation of pipe_video_codec")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21832 >
2023-03-11 14:31:32 +00:00
Alyssa Rosenzweig
b768a254f7
agx: Use nir_lower_mem_access_bit_sizes
...
Lowers away 64-bit loads, which we'll create in the sysval lowering for
dynamically indexed UBOs/VBOs. The lowering generates pack_64_2x32 instructions,
so lower those too.
No shader-db changes.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21674 >
2023-03-11 14:15:50 +00:00
Alyssa Rosenzweig
8a53050d7d
agx: Implement extract_[ui]16
...
Instead of lowering to bitwise ops. Yet another way of subdividing in NIR.
Probably insignificant but makes it easy to check that the pass ordering from the
previous pass is right. It does let us get much better codegen for
unpacksnorm2x16, whatever that's worth.
No shader-db changes.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21674 >
2023-03-11 14:15:50 +00:00
Alyssa Rosenzweig
706815488e
agx: Fix subdivision coalescing
...
As intended. We can't CSE with partial null destinations in the way, so we
shouldn't eliminate dead destinations until after CSE has run. But we should
still eliminate dead instructions to ensure CSE doesn't move things around
needlessly, hurting register pressure.
Noticed while debugging live range splitting.
No GLES3.0 shader-db changes.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21674 >
2023-03-11 14:15:50 +00:00
Alyssa Rosenzweig
5ea9c2e634
agx: Make partial DCE optional
...
Our dead code elimination pass does two things:
1. delete instructions that are entirely unnecessary
2. delete unnecessary destinations of necessary instructions
To deal with pass ordering issues, we sometimes want to do #1 without #2 .
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21674 >
2023-03-11 14:15:50 +00:00
Alyssa Rosenzweig
16f8bfb042
agx: Don't set lower_pack_split
...
We should handle nir_op_unpack_32_2x16_split_* natively, since we can generate
better code with agx_subdivide (coalescing the ops away) than the bitshift
lowering.
That said, we do need some extra instructions for the floating point
conversions.
No shader-db changes (which makes sense because we're targetting the GLES3.0
shader-db, which doesn't have the packing GLSL functions).
The real motivation of this change isn't optimizing some GLSL pack functions,
though, it's avoiding a code regression from using NIR's memory bit size
lowering in a future MR. That lowering will turn things like "load i16vec4" into
"load i32vec2 + unpack_32_2x16", so we need to be able to coalesce that unpack.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21674 >
2023-03-11 14:15:50 +00:00
Daniel Stone
50378f59a7
ci: Actually run Piglit on LAVA
...
At some point in a refactoring long ago, our 'Piglit' runs on arm64
started actually being dEQP-GLES2 runs. Oh dear.
Surprisingly, there are a number of expectation changes; added every
fail I saw from a long overnight stress test.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21851 >
2023-03-11 11:58:30 +00:00
Alyssa Rosenzweig
b190d08a8a
pan/mdg: Remove reference to removed macro
...
This will soon be more confusing than helpful.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20445 >
2023-03-11 06:30:02 +00:00
Alyssa Rosenzweig
cc16e7322f
panfrost: Remove MALI_POSITIVE macro
...
Now unused.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20445 >
2023-03-11 06:30:02 +00:00
Alyssa Rosenzweig
131845eb84
panfrost: Inline the last MALI_POSITIVE use
...
Big shrug on this one.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20445 >
2023-03-11 06:30:02 +00:00
Alyssa Rosenzweig
14eb964e59
panfrost: Remove FBD tag enum from XML
...
This was a hack to avoid modelling the full data structure.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20445 >
2023-03-11 06:30:02 +00:00
Alyssa Rosenzweig
67cbbf9417
panfrost: Use framebuffer pointer XML
...
Rather than manipulating the raw pointers. This is cleaner.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20445 >
2023-03-11 06:30:02 +00:00
Alyssa Rosenzweig
1a5546293c
panfrost: Add XML for framebuffer pointers
...
We shouldn't have to open-code these. They are real data structures, model them
as such in the architecture XML files.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20445 >
2023-03-11 06:30:02 +00:00
Alyssa Rosenzweig
35985be275
panfrost: Handle fixed-point packing in GenXML
...
Minimum/maximum LOD and LOD bias are unsigned and signed fixed point formats
respectively. They are not unsigned integers. Introduce fixed-point types into
our GenXML and use them in the XML, rather than packing in sidebands. This makes
the XML more correct and fixes pretty-printing of texture and sampler
descriptors.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20445 >
2023-03-11 06:30:02 +00:00
Alyssa Rosenzweig
17c55e0d12
panfrost: Don't use DECODE_FIXED16 for sample position
...
Strictly this is a signed fixed-point, anyway.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20445 >
2023-03-11 06:30:02 +00:00
Alyssa Rosenzweig
e0752673be
docs/panfrost: Move description of instancing
...
Connor Abbott wrote a nice explanation of how instance divisors work on Mali.
Let's add it to the driver docs instead of letting it languish in a forgotten
header file.
This is mostly pasted from the existing header in tree, with a few local changes
applied.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20445 >
2023-03-11 06:30:02 +00:00