Kristian H. Kristensen
acb235c0c8
egl/android: Use droid_create_image_from_prime_fds() in get_back_bo()
...
This function wants to create a __DRIimage for an ANativeWindowBuffer,
which is mostly the same logic as when we create an EGLImage for an
ANativeWindowBuffer. Reuse droid_create_image_from_prime_fds().
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6055 >
2020-08-18 17:20:16 +00:00
Kristian H. Kristensen
cad9d42bb4
egl/android: Move droid_create_image_from_prime_fds() function up
...
We'll use it for get_back_bo() next.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6055 >
2020-08-18 17:20:16 +00:00
Kristian H. Kristensen
5c8b67ed0c
egl/android: Simplify droid_create_image_from_name() path
...
This can now return an __DRIimage which we'll wrap in the shared code
in dri2_create_image_android_native_buffer().
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6055 >
2020-08-18 17:20:16 +00:00
Kristian H. Kristensen
d47b6f330c
egl/android: Drop unused ctx argument
...
EGL_ANDROID_image_native_buffer requires the ctx argument to always be
NULL, so not point in passing it around.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6055 >
2020-08-18 17:20:16 +00:00
Kristian H. Kristensen
9cc788f0ff
egl/android: Look up prime fds in droid_create_image_from_prime_fds()
...
We always need to look them up before calling this function, so move
the lookup into the function to consolidate the code.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6055 >
2020-08-18 17:20:16 +00:00
Kristian H. Kristensen
972f36d8fa
egl/android: Call createImageFromDmaBufs directly
...
Instead of building up EGL attribute lists and then having to parse
them again, call the DRI driver directly and then use the
dri2_create_image_from_dri() helper to wrap the __DRIimage in an
EGLImage.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6055 >
2020-08-18 17:20:16 +00:00
Connor Abbott
7c98066e80
freedreno: Add afuc regression test
...
a5xx is still TODO, but at least this is a start.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6368 >
2020-08-18 16:17:31 +00:00
Connor Abbott
d145fcc1c1
freedreno/afuc: Install asm/disasm
...
Make the name a bit longer, since when installed it's not tucked away
under afuc/ anymore.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6368 >
2020-08-18 16:17:31 +00:00
Connor Abbott
f0b87186df
freedreno/afuc: Make 0 a valid number
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6368 >
2020-08-18 16:17:31 +00:00
Connor Abbott
66dd248593
freedreno/afuc: Handle xmov modifiers
...
Although it's kind-of similar to "(rptN)" in the shader ISA, I called it
"xmov" to make it clear that it's completely orthogonal to "(rep)",
although you certainly can use both modifiers on the same instruction.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6368 >
2020-08-18 16:17:31 +00:00
Connor Abbott
b2b19234d8
freedreno/afuc: Add iret
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6368 >
2020-08-18 16:17:31 +00:00
Connor Abbott
a2c14ac070
freedreno/afuc: Handle setsecure opcode
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6368 >
2020-08-18 16:17:31 +00:00
Connor Abbott
0acc394486
freedreno/afuc: Fix printing preemptleave on a5xx
...
This opcode is actually used on a5xx, but I'm not sure what it's for.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6368 >
2020-08-18 16:17:31 +00:00
Boris Brezillon
165009bc70
spirv: Add support for the CL Round instruction
...
Add a round() implementation that's conformant with the CL spec.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6256 >
2020-08-18 17:09:47 +02:00
Gert Wollny
fcc7a1e7b6
gallium/aux: reorder vertex attributes in triangle fans according to PV
...
With triangle fans when "first vertex convention" is active the
provoking vertex is actually the second vertex so that the different
triangle can have different colors with flat shading. Take this into
account when re-ordering the vertex indices (as proposed by Erik)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5976 >
2020-08-18 12:12:27 +00:00
Erik Faye-Lund
f5cce8929a
gallium/indices: translate primitive-restart values
...
This adds a config-option to u_primconvert that translates primitive
restart values to the max-values for the index size. This allows us to
support arbitrary primitive-restart indices on hardware that only
supports fixed restart-indices.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5976 >
2020-08-18 12:12:27 +00:00
Erik Faye-Lund
21952f1400
gallium/indices: introduce u_primconvert_config
...
This struct allows us to pass the configuration as a struct, which can
more easily be extended to take more arguemnts as long as we're careful
about zero-initialization.
We keep the old create-function, but implement it as a wrapper on top so
we don't have to update all existing call-sites right now.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5976 >
2020-08-18 12:12:27 +00:00
Erik Faye-Lund
c2e9cd3f77
gallium/indices: implement prim-restart for triangle fans
...
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5976 >
2020-08-18 12:12:27 +00:00
Erik Faye-Lund
dfc0a62994
gallium/indices: use prim_restart-helper for polygon
...
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5976 >
2020-08-18 12:12:27 +00:00
Erik Faye-Lund
3aa4f64e8d
gallium/indices: implement prim-restart for line-loops
...
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5976 >
2020-08-18 12:12:27 +00:00
Erik Faye-Lund
ac96225eb0
gallium/indices: generalize primitive-restart logic
...
These blocks are all the same logic, but with a few details changed.
Let's add a parameterized version and add calls to that instead.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5976 >
2020-08-18 12:12:27 +00:00
Erik Faye-Lund
2122b902b8
gallium/indices: don't expand prim-type for 8-bit indices
...
Expanding the primitive-type has two undesirable effects:
1. It breaks primitive-restart. This is possible to fix by explicitly
handling primitive-restart in more conversion routines. But
u_indices_gen.py is kind of a mess, so it's not trivial as-is.
2. It changes the reported gl_VertexID.
While it might be possible to work around this in each driver, it seems
better to avoid this when we can.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5976 >
2020-08-18 12:12:27 +00:00
Erik Faye-Lund
0c85d6c523
gallium/util: factor out primitive-restart rewriting logic
...
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5976 >
2020-08-18 12:12:27 +00:00
Danylo Piliaiev
b6ebf6eba9
spirv: Only require bare types to match when copying variables
...
OpCopyMemory doesn't care about mismatched decorations, only about
matching types.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3418
Fixes: bf1a1eed88
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6344 >
2020-08-18 11:53:07 +00:00
Marcin Ślusarz
16f1d8b391
glsl: fix crashes on out of bound matrix access using constant index
...
Fixes these piglit tests:
- spec@glsl-1.20 @execution@matrix-out-of-bounds-access@fs-mat4-out-of-bounds-2
- spec@glsl-1.20 @execution@matrix-out-of-bounds-access@fs-mat4-out-of-bounds-4
- spec@glsl-1.20 @execution@matrix-out-of-bounds-access@fs-mat4-out-of-bounds-5
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4998 >
2020-08-18 11:34:54 +00:00
Louis-Francis Ratté-Boulianne
7dcb1d272f
st/mesa: Replace UsesStreams by ActiveStreamMask for GS
...
Some drivers need to know which streams are used by a geometry
shader. Adding a mask of active streams makes the use of
UsesStreams superfluous as it's the equivalent of:
ActiveStreamMask != (1 << 0)
Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5984 >
2020-08-18 11:17:26 +00:00
Erik Faye-Lund
5a26015764
st/wgl: do not reject PFD_SUPPORT_GDI
...
The WGL implementation is currently on top of GDI, so it supports GDI
just fine. No need to reject this.
Acked-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6217 >
2020-08-18 10:28:31 +00:00
Jesse Natalie
80163bbec3
nir/vtn: Support OpOrdered and OpUnordered opcodes
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6355 >
2020-08-17 15:34:16 -07:00
Jesse Natalie
81e6ad8298
nir/vtn: Handle LessOrGreater deprecated opcode
...
Reviewed-by Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6355 >
2020-08-17 15:34:13 -07:00
Jesse Natalie
c349e35034
nir/vtn: Support SpvOpIsFinite via fisfinite
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6355 >
2020-08-17 15:34:11 -07:00
Jesse Natalie
af59e4c400
nir: Add fisfinite op
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6355 >
2020-08-17 15:34:08 -07:00
Jesse Natalie
e6e6f52206
nir/vtn: Support SpvOpIsNormal via fisnormal
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6355 >
2020-08-17 15:34:05 -07:00
Jesse Natalie
9ebbed6ddc
nir: Add fisnormal op
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6355 >
2020-08-17 15:34:00 -07:00
Boris Brezillon
199bea0fd8
nir: Fix i64tof32 lowering
...
The round-to-nearest-even implementation found in lower_2f() is incorrect
for any value having a significand that is not directly representable
and whose non-representable part lies between 1 and half the minimum
representable value. In this case, the significand is rounded up instead
of being rounded down.
Fixes: 936c58c8fc ("nir: Extend nir_lower_int64() to support i2f/f2i lowering")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Tested-by: Jesse Natalie <jenatali@microsoft.com >
Acked-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6290 >
2020-08-17 20:31:31 +00:00
Dave Airlie
f9e773b920
llvmpipe: enable GL 4.5
...
This passes conformance on both the master and 4.6.0 (with patches)
branches. I'll be submitting results shortly from the 20.2.x branch
this lands in.
Cc: "20.2" <mesa-stable@lists.freedesktop.org >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6044 >
2020-08-17 20:12:40 +00:00
Dave Airlie
2e40b2c155
llvmpipe/blit: for 32-bit unorm depth blits just copy 32-bit
...
Don't have the shader do a 32-bit unorn to float conversion,
the values don't remain accurate then.
Fixes:
GTF-GL45.gtf30.GL3Tests.framebuffer_blit.framebuffer_blit_functionality_multisampled_to_singlesampled_blit
for 32-bit unorm depth buffers.
Cc: "20.2" <mesa-stable@lists.freedesktop.org >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6044 >
2020-08-17 20:12:40 +00:00
Boris Brezillon
18e464cfc0
compiler/nir: Add new flags to lower pack/unpack split instructions
...
And add new rules to do this lowering in nir_opt_algebraic.py.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6309 >
2020-08-17 19:46:10 +00:00
Jesse Natalie
9e9d28007a
mesa: Move ATTRIBUTE_NOINLINE for glsl_to_tgsi_visitor::visit_expression for MSVC
...
Fixes 65d7172d ("util/macros: Add ATTRIBUTE_NOINLINE definition for MSVC")
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6351 >
2020-08-17 11:30:28 -07:00
Daniel Stone
c60cea0daa
glsl/test: Don't run whitespace tests in parallel
...
For some unfathomable reason, three out of these four tests often time
out when running within CI. On the assumption that there is some
parallelisation badness happening rather than the non-UNIX tests
entering infinite loops, try just marking them as serial-only.
This should have a negligible impact on runtime since they are quick to
execute.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6301 >
2020-08-17 17:44:26 +00:00
Adam Jackson
aeba69deaa
drisw: Port the MIT-SHM check to XCB
...
The old version isn't thread-safe, and xlib makes it unreasonably
difficult to write thread-safely.
Fixes : mesa/mesa#3398
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6294 >
2020-08-17 16:17:50 +00:00
Jesse Natalie
ee905aa3a0
nir/vtn: CL SPIR-V callers should specify address modes
...
Instead of inferring the address mode from the environment, allows
callers to override to suit their needs.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6330 >
2020-08-17 14:36:18 +00:00
Jason Ekstrand
a097bf160a
nir/builder: Make nir_get_ptr_bitsize take a nir_shader
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6330 >
2020-08-17 14:36:18 +00:00
Jesse Natalie
627c8e1640
nir: Add nir_address_format_32bit_index_offset_pack64
...
This new address mode is supported by nir_lower_explicit_io
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6330 >
2020-08-17 14:36:18 +00:00
Jesse Natalie
113458d372
nir: Add nir_address_format_32bit_offset_as_64bit
...
This new address mode is supported by nir_lower_explicit_io
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6330 >
2020-08-17 14:36:18 +00:00
Jesse Natalie
a1ed83fddd
nir: Optimize mask+downcast to just downcast
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6330 >
2020-08-17 14:36:18 +00:00
Jesse Natalie
fd9b33d516
nir: Fix serialize/deserialize of void samplers/images
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6222 >
2020-08-17 13:10:19 +00:00
Jesse Natalie
c17b58a9e6
glsl: Add 'bare' shadow sampler type
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6222 >
2020-08-17 13:10:19 +00:00
Gert Wollny
418c4c0d7d
compiler/nir: extend lower_fragcoord_wtrans to support VARYING_SLOT_POS
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Andreas Baierl <ichgeh@imkreisrum.de >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6220 >
2020-08-17 12:38:05 +00:00
Gert Wollny
7aaddf1a34
compiler/nir: rewrite lower_fragcoord_wtrans to use nir_lower_instructions
...
This compacts the code and makes it easier to extend.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Andreas Baierl <ichgeh@imkreisrum.de >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6220 >
2020-08-17 12:38:05 +00:00
Karol Herbst
d79c946fb3
nv50/ir/nir: rework indirect function_temp handling
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6338 >
2020-08-17 12:05:45 +00:00