Martin Peres
5d5f7c79a5
ci: add the dEQP expectations for radv on Renoir
...
This patch should not be backported directly to 21.1, as master already
fixed one failure. I'll post a backport of this series with the
additional failure documented when this one gets merged.
v2:
- remove dEQP-VK.synchronization.* from the skip list (Hakzsam)
- drop dEQP-VK.memory.pipeline_barrier.* from the skip list (Hakzsam, me)
v3:
- re-introduce dEQP-VK.memory.pipeline_barrier.transfer_src_transfer_dst.1048576
Signed-off-by: Martin Peres <martin.peres@mupuf.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10539 >
2021-04-30 16:53:39 +03:00
Erik Faye-Lund
91727182dc
zink: also enable float16 from KHR extension
...
This allows us to use 16 bit floats on pre Vulkan 1.2 drivers as well.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10101 >
2021-04-30 12:02:04 +00:00
Erik Faye-Lund
8966029f95
zink/codegen: prefer first definition of prop/feature structs
...
Some extensions have renamed their property and/or feature structs,
listing the "correct" type first. So we should prefer that one rather
than overwriting it with a later one.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10101 >
2021-04-30 12:02:04 +00:00
Erik Faye-Lund
b59b42ec5e
zink: enable 16-bit float support
...
This finally enables the 16-bit float feature.
Ideally we would also check VK_KHR_shader_float16_int8, but the python
code for that is giving me some issues now, so let's deal with that
later.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10101 >
2021-04-30 12:02:04 +00:00
Erik Faye-Lund
903b6af298
zink: perform fp16 texture-lookups as fp32 and then convert
...
SPIR-V doesn't seem to have any opcodes to sample textures using lower
precision directly, so let's sample and downcast later instead.
Ideally, we'd do this as a NIR-pass first, but this does the trick for
now.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10101 >
2021-04-30 12:02:04 +00:00
Erik Faye-Lund
1971efe5ba
zink: support emitting 16-bit float types
...
This prepares us for being able to support using 16-bit float types
in shaders, which might help performance in some cases.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10101 >
2021-04-30 12:02:04 +00:00
Erik Faye-Lund
404521529c
zink: enable 16-bit int support
...
The mysterious support_16bit_int_alu-option doesn't really mean what it
says. Instead it means "we support 16 bit compares, if 16 bit ALU
operations occur". And since 16 bit operations only appear if we're
lowering mediump/lowp, we can always set this option.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10101 >
2021-04-30 12:02:04 +00:00
Erik Faye-Lund
0b45dbea13
zink: support emitting 16-bit int types
...
This prepares us for being able to support using 16-bit int types in
shaders, which might help performance in some cases.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10101 >
2021-04-30 12:02:04 +00:00
Erik Faye-Lund
6f2d6b9d4f
zink: always lower function-temp derefs
...
We're about to need this in order to support 16-bit floats, because the
lowering code for that emits function-temp derefs, and we don't handle
it.
A better long-term solution would be to just support function-temp
variables and indirect derefs. But that's more work, and kinda
orthogonal to what this patchset tries to accomplish, so let's save that
for another day.
Fixes the following piglit:
- spec@arb_gl_spirv@execution@ubo@array-inside-ubo-copy
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10101 >
2021-04-30 12:02:04 +00:00
Erik Faye-Lund
3f4eacb38a
zink: run nir_opt_algebraic_late
...
This pass is needed to finish off the [ui]2imp lowering. Follow what
other drivers do and perform some dead-code elimimation etc when
lowering happens.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10101 >
2021-04-30 12:02:04 +00:00
Erik Faye-Lund
204cd1b893
zink: respect bit-size of dref-result
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10101 >
2021-04-30 12:02:04 +00:00
Erik Faye-Lund
ab1fc9e32c
zink: use UINT32_MAX instead of UINT_MAX
...
This is a 32-bit argument, so on platforms where UINT_MAX is larger,
this is going to... well, do exactly the same thing, but this is
slightly clearer why.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10101 >
2021-04-30 12:02:04 +00:00
Icecream95
f85b7aa5d4
pan/mdg: Fix calculation of available work registers
...
Make the rmu variable signed; otherwise the MAX2 has no effect and
work_count can end up being larger than 16.
Fixes INSTR_OPERAND_FAULTs in SuperTuxKart.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4707
Fixes: c6ed8bf77c ("panfrost: Fix uniform_count on Midgard")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10507 >
2021-04-30 10:38:35 +00:00
Jordan Justen
3f04383521
intel/compiler: Fix INTEL_DEBUG=hex
...
With the missing else, this prints the compacted hex followed by hex
for an uncompacted version of the compacted instruction. It also
doesn't print hex for instructions that are not compacted.
Fixes: bc4a127d6e ("intel/disasm: Label support in shader disassembly for UIP/JIP")
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4245
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10535 >
2021-04-30 01:51:23 -07:00
Jose Maria Casanova Crespo
ab1d66a111
ci/v3d: Update piglit expectations.
...
As piglit job is manual, I forgot to update three new test passing at
spec@ext_image_dma_buf_import subgroup after merging
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10524
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10536 >
2021-04-30 10:22:53 +02:00
Mike Blumenkrantz
86c8db6009
util/tc: split out drawid-using draws into a separate call
...
we can pre-filter these to reduce merge overhead
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10166 >
2021-04-30 03:59:19 +00:00
Mike Blumenkrantz
1d8f8cfec9
gallium: remove padding members from pipe_draw_info
...
these are no longer used, and the tc usage can be moved to the tc struct
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10166 >
2021-04-30 03:59:19 +00:00
Mike Blumenkrantz
dae3113c3d
gallium: split drawid out of pipe_draw_info and as a separate draw_vbo param
...
the only case in which this is nonzero is if a multidraw gets split by the frontend,
i.e., mesa core, and in all other cases it can be ignored. the value can also be ignored
for all indirect draws, though it seems many (most?) gallium drivers are not aware of this
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10166 >
2021-04-30 03:59:19 +00:00
Mike Blumenkrantz
7ed8e5db3a
mesa/st: rename DrawGalliumComplex -> DrawGalliumMultiMode
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10166 >
2021-04-30 03:59:19 +00:00
Mike Blumenkrantz
4566383ae4
gallium: move pipe_draw_info::index_bias to pipe_draw_start_count_bias
...
this moves index_bias into the multidraw struct, enabling draws where the value
changes to be merged; the draw_info struct member is renamed and moved to the end
of the struct for tc use
u_vbuf still has some checks to split draws if index_bias changes, maybe
this can be removed at some point?
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10166 >
2021-04-30 03:59:19 +00:00
Mike Blumenkrantz
4fe6c85526
gallium: rename pipe_draw_start_count -> pipe_draw_start_count_bias
...
and add an index_bias member
no functional changes yet, just the rename and unused struct member
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10166 >
2021-04-30 03:59:19 +00:00
Timothy Arceri
60fa555e61
mesa: fix glShaderSource() error handling
...
Section 7.1 (SHADER OBJECTS) of the OpenGL 4.6 spec says:
"An INVALID_VALUE error is generated if count is negative."
However a count of 0 is not an error. Previously it would cause a
GL_OUT_OF_MEMORY error.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10477 >
2021-04-30 01:18:47 +00:00
Michael Tang
58f843a193
microsoft/compiler: Maintain sorting of resource type in the context
...
This change moves the SRVs associated with read-only SSBOs to be emitted
before any other UAV. We do this because the validator expects resources
to be emitted in a specific order, as noted by `emit_module`.
Previously, we emitted SSBOs as SRVs (read-only) or UAVs (read-write)
after other UAVs.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10514 >
2021-04-29 23:55:02 +00:00
Jose Maria Casanova Crespo
5a503727f2
v3d: DRM_FORMAT_MOD_BROADCOM_SAND128 only available for NV12 format.
...
We were exposing as available DRM_FORMAT_MOD_BROADCOM_SAND128 for
any format.
Fixes: 95c4f0f910 "v3d: Enables DRM_FORMAT_MOD_BROADCOM_SAND128 support"
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10524 >
2021-04-30 01:03:12 +02:00
Jose Maria Casanova Crespo
9094ad7c6a
v3d: YUV formats at query_dmabuf_modifiers are external_only
...
This fixes Issue https://github.com/Igalia/meta-webkit/issues/185
"Issue Raspberry 4-64 + Mesa VC4 driver + Gstreamer = red Label on video"
Fixes: 95c4f0f910 "v3d: Enables DRM_FORMAT_MOD_BROADCOM_SAND128 support"
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10524 >
2021-04-30 01:03:12 +02:00
Jose Maria Casanova Crespo
3d7b378980
v3d: YUV formats at is_dmabuf_modifier_supported are external_only
...
This fixes Issue https://github.com/Igalia/meta-webkit/issues/185
"Issue Raspberry 4-64 + Mesa VC4 driver + Gstreamer = red Label on video"
Fixes: 6ee10ab3de "gallium: Add pipe_screen::is_dmabuf_modifier_supported"
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10524 >
2021-04-30 01:03:12 +02:00
Pierre-Eric Pelloux-Prayer
af00c92586
glx: init __GLXvendorInfo to NULL
...
Since 01ba8a8d02 the dd variable isn't necessarly initialized,
so the compiler complains:
warning: ‘dd’ may be used uninitialized in this function
Initialize dd to NULL to fix this.
Fixes: 01ba8a8d02 ("glx: Implement GLX_EXT_no_config_context")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10418 >
2021-04-29 20:34:25 +00:00
Adam Jackson
53e6ff4d64
glx: Remove some dead declarations from glxclient.h
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10418 >
2021-04-29 20:34:25 +00:00
Adam Jackson
b02b26b87c
glx: s/Display */struct glx_display */ over internal API
...
We'd like to avoid __glXInitialize as much as possible since it involves
taking a global lock. This means converting internal APIs to operate as
much as possible in terms of something other than a Display *, since if
that's all you have then you're forced to call __glXInitialize to get to
the glx_display.
The contortions in DRI2 displease me, but DRI2 displeases me, so.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10418 >
2021-04-29 20:34:25 +00:00
Adam Jackson
21411368a3
glx: Move server GLX vendor and version strings to glx_screen
...
These can in fact vary between screens.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10418 >
2021-04-29 20:34:25 +00:00
Adam Jackson
b91e58ad79
glx: Simplify some overuse of GetGLXScreenConfigs
...
If you call this on your current display and screen you're just going to
look up the same value we already stored in your context when we created
it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10418 >
2021-04-29 20:34:25 +00:00
Adam Jackson
2c8a85b712
glx: Stash a copy of the XExtCodes in the glx_display
...
Instead of a pointer into xlib's state for it. Mostly because it lets us
remove our copy of majorOpcode from the display without taking another
pointer indirection.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10418 >
2021-04-29 20:34:25 +00:00
Adam Jackson
1f096b51c6
glx: Remove unused opcode argument to __glX{Get,QueryServer}String
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10418 >
2021-04-29 20:34:25 +00:00
Adam Jackson
8f853135e6
glx: Remove warn-once-ery around GLX 1.3 functions
...
Like, yes, this is an app bug, but we kinda emulate 1.3 anyway already
and are moving further in that direction, and at this point the app is
not going to get fixed. Just hush.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10418 >
2021-04-29 20:34:25 +00:00
Adam Jackson
8edbe8761f
glx: Simplify glXIsDirect
...
This answer is cached for us at context creation, we never really need
to generate protocol here.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10418 >
2021-04-29 20:34:25 +00:00
Adam Jackson
416e6b174c
glx: Stop force-enabling extensions "implied" by GLX 1.3
...
1.3 has been ubiquitous since xserver 1.2 in early 2007, and has always
been supported with DRI2.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10418 >
2021-04-29 20:34:25 +00:00
Adam Jackson
e716088c24
glx: Stop pretending the GLX major number isn't 1
...
Clarify the comments and logic accordingly.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10418 >
2021-04-29 20:34:25 +00:00
Yiwei Zhang
96ec6b3d8f
venus: handle wsi image queue ownership transfer for Android
...
1. pre-allocate command pools at device creation if anb enabled
2. force VK_SHARING_MODE_CONCURRENT for wsi image if necessary
3. pre-allocate and record command buffers at android wsi image creation
4. transfer in the ownership at vkAcquireImageANDROID
5. transfer out the ownership at vkQueueSignalReleaseImageANDROID
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10335 >
2021-04-29 17:33:52 +00:00
Yiwei Zhang
174fca5498
venus: handle VK_IMAGE_LAYOUT_PRESENT_SRC_KHR transfer
...
Whenver VK_IMAGE_LAYOUT_PRESENT_SRC_KHR is used, replace it with
VK_IMAGE_LAYOUT_GENERAL as required for proper layout and ownership
transfer for external memory backed swapchain images.
This will be Android only until common WSI is fixed.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10335 >
2021-04-29 17:33:52 +00:00
Yiwei Zhang
293255889c
venus: enable VK_EXT_queue_family_foreign
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10335 >
2021-04-29 17:33:52 +00:00
Yiwei Zhang
1846f0cead
venus: update venus-protocol headers
...
Advertise VK_EXT_queue_family_foreign
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10335 >
2021-04-29 17:33:52 +00:00
Mike Blumenkrantz
ede0b3c643
docs: mark off GL_ARB_shader_clock for zink
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10521 >
2021-04-29 15:52:10 +00:00
Rhys Perry
5ec25d54cf
radv: fix possible use-after-free when inserting GS copy shader from cache
...
If we give radv_pipeline_cache_insert_shaders() a variant which was
retrived from the cache, it will free it.
I haven't encountered this issue, but it seems possible.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10433 >
2021-04-29 14:06:49 +00:00
Rhys Perry
d6894b643b
radv: fix use-after-free upon GS copy shader cache hits
...
If radv_pipeline_cache_insert_shaders() finds a GS copy shader in the
cache, it will free the variant in gs_variants and replace it with the one
in the cache.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10433 >
2021-04-29 14:06:49 +00:00
Rhys Perry
32ebbd8c23
vulkan: fix use-after-free in vk_common_DestroyDebugReportCallbackEXT
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Fixes: bd1705a480 ("vulkan: Make vk_debug_report_callback derive from vk_object_base")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10433 >
2021-04-29 14:06:49 +00:00
Samuel Pitoiset
c425b67c76
radv: fix computation of the number of user SGPRS for NGG GS state
...
The NGG GS state uses one user SGPR.
Cc: 21.1 mesa-stable
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/10485 >
2021-04-29 13:45:39 +00:00
Mike Blumenkrantz
4b52a7f245
zink: hook up EXT_image_drm_format_modifier
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10520 >
2021-04-29 12:32:59 +00:00
Mike Blumenkrantz
4df25407e9
zink: hook up VK_EXT_shader_subgroup_ballot
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10520 >
2021-04-29 12:32:59 +00:00
Mike Blumenkrantz
b1aef8ccc6
zink: hook up VK_EXT_conservative_rasterization
...
just the ext bits
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10520 >
2021-04-29 12:32:59 +00:00
Mike Blumenkrantz
817a8fa22f
zink: hook up VK_EXT_sample_locations
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10520 >
2021-04-29 12:32:59 +00:00