Mike Blumenkrantz
5e813a15f8
zink: update vvl expectations
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27358 >
2024-02-15 22:35:01 -05:00
Mike Blumenkrantz
c163a38a8e
ci: bump VVL to snapshot-2024wk06
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27358 >
2024-02-15 22:35:01 -05:00
Mike Blumenkrantz
7c1916b98f
zink: add a ci skip
...
avoids having to add vvl exceptions for the rest of the run
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27358 >
2024-02-15 22:35:01 -05:00
Mike Blumenkrantz
4c08db5501
zink: don't add VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT for sparse textures
...
according to VUID-VkImageCreateInfo-flags-09403, this is illegal
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27358 >
2024-02-15 22:35:01 -05:00
Mike Blumenkrantz
e8ce53a33d
zink: promote gpl libs freeing during shader destroy out of prog loop
...
now that zink_gfx_lib_cache::stages_present exists (and is correct),
this value can be used directly to effect cache eviction instead of depending
on the prog->stages_present value, which may not even be the same prog that
owns a given zink_gfx_lib_cache instance
this fixes the case where a shader used in multiple progs with differing shader
masks would never have all its gpl pipelines freed
fixes leaks with caselist:
KHR-Single-GL46.arrays_of_arrays_gl.InteractionUniformBuffers1
KHR-Single-GL46.subgroups.quad.framebuffer.subgroupquadbroadcast_3_float_vertex
Fixes: d786f52f1f ("zink: prevent crash when freeing")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27358 >
2024-02-15 22:35:01 -05:00
Mike Blumenkrantz
36e7350e0b
zink: clamp zink_gfx_lib_cache::stages_present for generated tcs
...
this otherwise does not reflect reality
Fixes: d786f52f1f ("zink: prevent crash when freeing")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27358 >
2024-02-15 22:35:01 -05:00
Mike Blumenkrantz
d2dafa3289
zink: promote a conditional on gfx shader destroy
...
it only makes sense to run these loops in the cases where they might
be true
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27358 >
2024-02-15 22:35:01 -05:00
Mark Janes
48bf7ad3b8
iris: use device info sha in device renderer string
...
For iris, use the intel device info hash function instead of PCI ID in
the renderer name. The renderer is incorporated into the gallium disk
cache for programs, as part of the key for looking up cache entries.
PCI ID can vary between on devices which are comparable from the
perspective of the shader compiler. A more precise key eliminates
redundant entries in a multiplatform shader cache.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26844 >
2024-02-15 16:58:18 -08:00
Caio Oliveira
5a88267366
intel: Add missing dependencies on blorp
...
Various components implicitly depend on blorp, make this explicit.
Checked by setting a 'compiler_args' on idep_intel_blorp and verifying
it on blorp_priv.h header.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27643 >
2024-02-16 00:08:42 +00:00
Caio Oliveira
3b48b7df1f
intel/blorp: Use a Meson dependency for blorp
...
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27643 >
2024-02-16 00:08:42 +00:00
Jesse Natalie
5c85cdd378
d3d12: Support R16G16B16A16_FLOAT display targets
...
Since GDI doesn't support this format, we need a fallback path to
get contents on-screen if we're not using DXGI. For that scenario,
we allocate a proxy display target and blit during frontbuffer flush.
Once we have that fallback in place, we can override the sw winsys
format support check for that format.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27512 >
2024-02-15 17:56:45 +00:00
Jesse Natalie
6a60270336
winsys/d3d12: Support single-buffered mode
...
When the frontend asks for the front buffer, we return an offscreen
surface, when the frontend asks us to flush that surface, we copy it
to the swapchain, and then present remains unchanged.
This means the only reason we need to avoid using a swapchain is if
the app asks for GDI compatibility.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27512 >
2024-02-15 17:56:45 +00:00
Jesse Natalie
5879684a46
wgl: Add HDR pixel formats
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Jose Fonseca <jose.fonseca@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27512 >
2024-02-15 17:56:44 +00:00
Jesse Natalie
f97060bc14
wgl: Enable WGL_ARB_pixel_format_float
...
We already implement all of the relevant bits of this extension, which
is just handling WGL_TYPE_RGBA_FLOAT_ARB for WGL_PIXEL_TYPE_ARB in
wglGetPixelFormatAttrib[i/f]vARB and wglChoosePixelFormatARB. We just
didn't have any float formats enumerated so it was never seen in
practice.
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Jose Fonseca <jose.fonseca@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27512 >
2024-02-15 17:56:44 +00:00
Jesse Natalie
c432fbe534
wgl: Add no-gdi-single-buffered and gdi-double-buffered PFDs
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Jose Fonseca <jose.fonseca@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27512 >
2024-02-15 17:56:44 +00:00
Jesse Natalie
610dcc178a
wgl: Flush frontbuffer when calling swapbuffers on single-buffered fb
...
Some apps don't look at what kind of PFDthey get, and if they
get a single-buffered one, they only ever call swap and never flush,
so nothing shows up on-screen.
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Jose Fonseca <jose.fonseca@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27512 >
2024-02-15 17:56:44 +00:00
Jesse Natalie
b6a2972455
wgl: Support a single-buffered winsys framebuffer
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Jose Fonseca <jose.fonseca@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27512 >
2024-02-15 17:56:44 +00:00
Karol Herbst
53df391d27
rusticl/kernel: recalculate scratch and shared memory after opts
...
Turns out we have to do it regardless as opts after explicit_types could
get rid of even more scratch and shared memory.
Fixes: ea023ff5cd ("rusticl/kernel: no need to reset the scratch size anymore")
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27634 >
2024-02-15 15:09:23 +00:00
Caio Oliveira
c8fda63378
intel/blorp: Don't require specific prog_data type in callback
...
Make interface less dependent on brw types. If we care, later
might make sense to add a tagged union for the possible types here.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27581 >
2024-02-15 10:29:18 +00:00
Pavel Ondračka
d78a913bda
r300: add explicit flrp lowering
...
Even though we set .lower_flrp32 = true there is no actuall flrp
lowering in nir_opt_algebraic. Mesa does not produce any but nine does,
so lower it explicitly to fix nine.
Fixes: f8a5cba3b4
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27467 >
2024-02-15 10:11:51 +00:00
Caio Oliveira
ff95f00883
intel/compiler: Move disassemble functions to own header file
...
Acked-by: Dylan Baker <dylan@pnwbakers.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27579 >
2024-02-15 09:26:46 +00:00
Caio Oliveira
5732c9d269
intel/compiler: Rename brw_cs_dispatch_info to intel_cs_dispatch_info
...
And move to the intel_shader_enums.h file.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27475 >
2024-02-14 22:31:23 -08:00
Caio Oliveira
c5b80de583
intel/compiler: Rename brw_vue_map to intel_vue_map
...
And move to the intel_shader_enums.h file.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27475 >
2024-02-14 22:31:23 -08:00
Caio Oliveira
aeda865b6d
intel/compiler: Rename BRW_TESS_* enums to INTEL_TESS_*
...
And move to the intel_shader_enums.h file.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27475 >
2024-02-14 22:31:23 -08:00
Caio Oliveira
a88084f8be
intel/compiler: Rename brw_image_param to isl_image_param
...
And move them to ISL.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27475 >
2024-02-14 22:31:23 -08:00
Alyssa Rosenzweig
c7bec0d3c8
asahi: advertise GL4.6 and ES3.2
...
https://rosenzweig.io/blog/conformant-gl46-on-the-m1.html
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
4a3b905bb8
agx: move texture lowering into lib
...
This is a bit annoying, but it gets rid of the libagx dep which is preventing
precompiling helper programs.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
0fa6901f32
agx: call texture lowering in the driver
...
libagx dependency.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
beb8aca7a2
agx: move SSBO lowering
...
agxv uses a different path
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
1f465d72dd
asahi: split out genxml/ directory
...
src/asahi/lib is creating dependency hell, let's start splitting it up so we can
ease some of the clc related pains.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
35c671ecef
asahi: clean up format table renderability
...
infer renderability from whether we specify a renderable format. nfc now that
rgb9e5 is fixed.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
0ee0969f79
asahi: use #pragma once
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
4e8a42645b
asahi: quelch gcc warning
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
b39de8bb4a
asahi: Implement ARB_texture_barrier by decompression
...
Your perf goes not stonks, sorry. Passes
KHR-GL40.texture_barrier_ARB.*.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
2dc1189a9c
agx: rm unused backend nr_samples
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
cb0b027c59
asahi: make clip_halfz dynamic
...
we could move this to the linker but meh, this is good enough for now
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
beb7ddba2b
asahi: always support ARB_clip_control
...
perf impact has been neglible.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
9aa8bac229
asahi: support GS in shaderdb
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
6673924b7e
asahi: make gs topology dynamic
...
even with shobjs, we know the class of topology statically, so we just need to
select between the (up to) 3 compatible topologies, and luckily there are common
subexpressions we can factor out when calculating all 3 at once.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
049434f89c
asahi: make provoking vertex dynamic
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
7ab1755b54
asahi: avoid silly psiz writes even with gs
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
159d85d32c
asahi: implement GS disk caching
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
86782156e7
asahi: invert geometry shaders
...
instead of dumping GS outputs to memory and using a GS copy vertex shader,
invert the GS to get a hardware vertex shader to use directly. theoretically,
reduces mem bandwidth at the cost of repeated work if we don't optimze well.
perhaps more importantly, it should reduce heap usage.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:32 +00:00
Alyssa Rosenzweig
3641a37e8f
asahi: set gs_grid[0] even for direct draws
...
gs rast program needs to know the # of input primitives
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
200ca69086
asahi: support stage override in sysval lower
...
for gs rast program. should clean up later but for now this will do
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
3bd400a2b4
asahi: collapse indirection with GS
...
1. compile the gs rast program with the rest of the GS. this requires
duplicating some shader key stuff but this will be improved soon, and
actually this makes it easier to reason about caching imo.
2. don't recurse into draw_vbo, collapse the GS launches into the draw. again
this duplicates some code but makes it easier to reason about things and is
probably faster. and makes part #1 feasible without piling on hacks (my
original goal)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
2da426afe0
asahi: allow lowering bindings after lowering textures
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
b26409246c
asahi: be a bit more methodical with shader stages
...
the mapping between descriptor stages and hardware stages is about to get even
more complicated, so clean up the driver ahead-of-time to stay ahead of the mess
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
6154d65714
asahi: infer stage in descriptor update
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00
Alyssa Rosenzweig
37fa7bff58
asahi: shrink GS key
...
no functional change, just dropping the unused index size field
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616 >
2024-02-14 21:02:31 +00:00