Dave Airlie
b7302ecf11
crocus: enable threaded context support
...
Reviewed-by: Zoltán Böszörményi <zboszor@pr.hu >
Tested-by: Matti Hämäläinen <ccr@tnsp.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11710 >
2021-07-06 13:56:48 +10:00
Dave Airlie
86368a5fa2
crocus: add unsync transfer pool
...
Reviewed-by: Zoltán Böszörményi <zboszor@pr.hu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11710 >
2021-07-06 13:56:48 +10:00
Dave Airlie
902eaa9382
crocus/tc: init/deinit threaded resource
...
Reviewed-by: Zoltán Böszörményi <zboszor@pr.hu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11710 >
2021-07-06 13:56:48 +10:00
Dave Airlie
a9df8f7b64
crocus: use threaded context base classes
...
should be a pretty non-functional change
Reviewed-by: Zoltán Böszörményi <zboszor@pr.hu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11710 >
2021-07-06 13:56:48 +10:00
Dave Airlie
db6042ea14
crocus: support rebinding streamout target buffers
...
Reviewed-by: Zoltán Böszörményi <zboszor@pr.hu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11710 >
2021-07-06 13:56:44 +10:00
Alyssa Rosenzweig
18995f13cb
asahi: Handle nonzero first_level
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718 >
2021-07-05 20:56:04 +00:00
Alyssa Rosenzweig
2923aa6fe1
asahi: Wire in u_blitter
...
Fixes dEQP-GLES3.functional.fbo.color.repeated_clear.blit.tex2d.rgba8
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718 >
2021-07-05 20:56:04 +00:00
Alyssa Rosenzweig
dcd2d8ca50
asahi: Track more Gallium state
...
Needed to feed u_blitter.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718 >
2021-07-05 20:56:04 +00:00
Alyssa Rosenzweig
7a95b1f0fc
asahi: Set vertex texture/sampler counts
...
Fixes
dEQP-GLES2.functional.shaders.texture_functions.vertex.texture2d
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718 >
2021-07-05 20:56:04 +00:00
Alyssa Rosenzweig
30b6011cf7
asahi: Identify texture/sampler count fields
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718 >
2021-07-05 20:56:04 +00:00
Alyssa Rosenzweig
d45257b2be
asahi: Fail on LOD clamps/bias
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718 >
2021-07-05 20:56:04 +00:00
Alyssa Rosenzweig
8ea262f508
asahi: Add ASAHI_MESA_DEBUG=no16 option
...
A lot of dEQP failures go away with 32-bit forced...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718 >
2021-07-05 20:56:04 +00:00
Alyssa Rosenzweig
2e2270ff14
asahi: Remove spurious varying assignment
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718 >
2021-07-05 20:56:04 +00:00
Alyssa Rosenzweig
c946dcf25d
asahi: Remove spurious assignment
...
Doesn't seem necessary.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718 >
2021-07-05 20:56:04 +00:00
Alyssa Rosenzweig
5049907ae1
asahi: Implement colour buffer reloads
...
Gets glmark2 -bdesktop working.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718 >
2021-07-05 20:56:04 +00:00
Alyssa Rosenzweig
b59dcf67b6
asahi: Set fragment key for non-U8NORM render targets
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718 >
2021-07-05 20:56:04 +00:00
Alyssa Rosenzweig
78610de496
asahi: Save zsbuf ptr
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718 >
2021-07-05 20:56:04 +00:00
Alyssa Rosenzweig
426d55ffad
asahi: Add zsbuf to batch
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718 >
2021-07-05 20:56:04 +00:00
Alyssa Rosenzweig
503742aa32
asahi: Always flush when setting framebuffer state
...
We don't have batch tracking yet.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718 >
2021-07-05 20:56:04 +00:00
Alyssa Rosenzweig
8c94742935
asahi: Guard for overflow when packing
...
I'm not convinced this is right.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718 >
2021-07-05 20:56:04 +00:00
Alyssa Rosenzweig
41d05ea49e
asahi: Fix random *2
...
Accidentally committed at some point.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718 >
2021-07-05 20:56:04 +00:00
Alyssa Rosenzweig
b9789ae45a
asahi: Wire in tgsi_to_nir
...
Gets GALLIUM_HUD working.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718 >
2021-07-05 20:56:04 +00:00
Alyssa Rosenzweig
f49ba0874a
asahi: Unify varying linking code with vertex shaders
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718 >
2021-07-05 20:56:04 +00:00
Alyssa Rosenzweig
6a657b17b9
agx: Remap fragment shader varyings explicitly
...
Needed to handle fragcoord.z correctly, for example. Step 1, at least.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718 >
2021-07-05 20:56:04 +00:00
Alyssa Rosenzweig
eabcf9f31e
asahi: Identify varying descriptor fields
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718 >
2021-07-05 20:56:03 +00:00
Thomas H.P. Andersen
8795501cef
lavapipe: remove initialization override
...
These are duplicates from a few lines up
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11703 >
2021-07-05 19:49:32 +00:00
Thomas H.P. Andersen
349f169756
zink: remove initialization override
...
These are duplicates from a few lines up
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11703 >
2021-07-05 19:49:32 +00:00
Danylo Piliaiev
c0f623e62f
glsl: Prohibit implicit conversion of mem parameter in atomicOP functions
...
Per OpenGL Shading Language, section 8.11. "Atomic Memory Functions"
first argument "mem" of all atomicOP functions is inout.
The same is true for ARB_shader_storage_buffer_object and
GL_INTEL_shader_atomic_float_minmax
For implicit conversion of inout parameters it is required for type
to support bi-directional conversion, since there is no such types
in glsl - implicit conversion is effectively prohibited.
Alternatively we could have marked atomic_var parameter of built-in
atomicOP functions as inout, however it opens another can of worms
during NIR lowerings.
Fixes: ea0a1f5beb
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2837
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4887 >
2021-07-05 18:29:51 +03:00
Mike Blumenkrantz
5c77f99c2e
zink: ci updates for wideline fails
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11041 >
2021-07-05 14:14:40 +00:00
Mike Blumenkrantz
3292a9d660
lavapipe: wideLines support
...
easy enough
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11041 >
2021-07-05 14:14:40 +00:00
Mike Blumenkrantz
9fbf6b2abf
lavapipe: implement VK_EXT_line_rasterization
...
rectangular and strict lines aren't supported in this, and multisampling
must be disabled for correct line rasterization
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11066 >
2021-07-05 07:14:29 +00:00
Mike Blumenkrantz
73ad0bcfd8
lavapipe: store the geometry shader prim type to render state
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11066 >
2021-07-05 07:14:29 +00:00
Mike Blumenkrantz
fba6dafb9f
lavapipe: store whether the geometry shader outputs GL_LINES
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11066 >
2021-07-05 07:14:29 +00:00
Tomeu Vizoso
d33a3fad64
panfrost: Fork pan_pool for Gallium and Vulkan
...
This commit adds the actual implementations, allowing to diverge while
still sharing code that depends on pool functionality.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Suggested-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11695 >
2021-07-05 05:43:49 +00:00
Boris Brezillon
deb4074a54
panfrost: Start splitting the panfrost pool logic
...
The Gallium and Vulkan drivers will soon use different memory pool
implementation, but some pieces in libpanfrost depend on pan_pool. Let's
split the implementation so we have common bits still available while
letting the drivers implement what really matters: the allocation logic.
All the generic pieces are prefixed pan_pool, and what will become the
gallium implementation is prefixed panfrost_pool. We'll then duplicate
the panfrost_pool bits in panvk and prefix it with panvk_pool, and
implementations will start diverging from there.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11695 >
2021-07-05 05:43:49 +00:00
Boris Brezillon
dea0c4ddd8
panfrost: Pass a memory pool to pan_blit_ctx_init()
...
Pass a memory pool to pan_blit_ctx_init() instead of creating a new pool.
Useful for Vulkan since the descriptor pool is at the command buffer
level and is thus shared by all blit batches. Doing this will save us a
BO ownership transfer.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11695 >
2021-07-05 05:43:49 +00:00
Boris Brezillon
3cdbc1e8c0
panfrost: Don't add blit context BOs twice
...
The transient_bo has already been added to the BO list, no need to call
panfrost_batch_add_bo() a second time on the same BO.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11695 >
2021-07-05 05:43:49 +00:00
Dave Airlie
b4d87a34c7
crocus: restrict prim_restart on index buffer check to pre-hsw
...
This code has no use on hsw or chv
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11707 >
2021-07-05 15:03:48 +10:00
Dave Airlie
6909b4a75a
crocus: reorder version checks on indirect xfb
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11707 >
2021-07-05 15:03:48 +10:00
Dave Airlie
063d7bfa1c
crocus: inline group_index<->bti
...
this is on a fastpath for ubo emission
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11707 >
2021-07-05 15:03:48 +10:00
Dave Airlie
be5bb3146a
crocus: optimise bo_unref path a little.
...
This just splits it into the atomic/non-atomic paths
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11707 >
2021-07-05 15:03:48 +10:00
Dave Airlie
a907e29a3e
crocus: don't update draw parameters unless needed
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11707 >
2021-07-05 15:03:48 +10:00
Dave Airlie
1d438c11c8
crocus: inline the d/s resource handling functions
...
These are pretty simple, so inlining is fine and helps drawoverhead
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11707 >
2021-07-05 14:47:30 +10:00
Dave Airlie
f19f3f5496
draw/tess: write correct primitive id into vertices
...
The code was using a prim assembler after the tess stage, however
tess prims aren't necessarily the output prim types, so just put
the prim ids into the vertices at tess stage, and skip prim assembly.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11000 >
2021-07-05 14:07:39 +10:00
Dave Airlie
45d9e8bb99
draw: fix tessellation output vertex size calculation
...
This ensures space for the extra outputs is calculated in the
tes vertex outputs.
dEQP-VK.pipeline.misc.primitive_id_from_tess
Fixes: dacf8f5f5c ("draw: hook up final bits of tessellation")
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11000 >
2021-07-05 14:07:34 +10:00
Dave Airlie
0aab06e6d3
crocus: fixup index buffer dirtying.
...
This fixes a possible problem if a non-indexed draw comes in first
in a new batch, then the batch might not emit the index buffer.
I'm unsure if we see this, I just spotted it trying to fix alacritty
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11705 >
2021-07-05 12:45:13 +10:00
Dave Airlie
32b8d47306
crocus: fix crash on index buffer rebinding.
...
This was crashing in plasmashell.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11704 >
2021-07-05 01:47:32 +00:00
Dave Airlie
d41992c241
crocus/gen5: enable support for GL_EXT_gpu_shader4
...
There has been a few requests for this and I've got patches for glamor
to use this to speed up the paths that use GLSL 1.30 now.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11693 >
2021-07-05 06:56:18 +10:00
Dave Airlie
c71daec260
crocus: expose ARB_blend_func_extended on gen 45/50
...
In theory the docs say 965gm can support this but the original
965 can't, but we can't distinguish that yet.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11693 >
2021-07-05 06:56:15 +10:00
Dave Airlie
64f65fe8a8
crocus: cleanup some deadcode in the gen5 blend emit
...
The rt->blend_enable is always 1 at this point, and the gen5
specific code isn't being used anymore, it just looked like it
was.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11693 >
2021-07-05 06:56:11 +10:00