Adam Jackson [Mon, 4 Oct 2021 21:53:27 +0000 (17:53 -0400)]
egl: Use the new no-error driver interface
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12474>
Adam Jackson [Mon, 4 Oct 2021 21:46:46 +0000 (17:46 -0400)]
dri: Epoch how no-error context creation works
The bug here is that the DRI context "flags" are intended to alias the
GLX context flag values, and they don't, DRI's no-error flag is GLX's
reset-isolation flag. GLX (and EGL!) treat no-error as a context
attribute, and reset isolation predates Mesa's no-error implementation
by several years. The GL_KHR_no_error spec does describe it as a
"context flag", though, so maybe that's why we do it as a (DRI) context
flag.
In order to unalias these we need a new contract with the loader. We
remove the old __DRI_NO_ERROR extension, and add a new
__DRI_RENDERER_HAS_CONTEXT_NO_ERROR value to query. Loaders can key on
that to know to pass no-error-ness through as a context attribute,
matching the GLX/EGL calling convention. We go ahead and define
__DRI_CTX_FLAG_RESET_ISOLATION as well, and update the drivers to refuse
it since we don't support it yet.
This means mismatched drivers/loaders will not be able to create
no-error contexts. Too bad. If you want performance that badly you can
build both things at once.
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12474>
Dylan Baker [Tue, 1 Feb 2022 21:23:23 +0000 (13:23 -0800)]
meson: add LIBGL_DRIVERS_PATH to the devenv
This allows using built dri OpenGL drivers with the `meson devenv`
command
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14826>
Dylan Baker [Tue, 1 Feb 2022 20:44:25 +0000 (12:44 -0800)]
meson: add support for `meson devenv` with vulkan
Meson devenv is a feature added in meson 0.58 (thus the features is
version guarded) that allows creating a shell environment with
environment variables automatically setup for running the project inside
the build dir. Some variables (such as LD_LIBRARY_PATH and PATH) are set
automatically, others must be added by the project.
For vulkan is is relativley simple, we create a new, uninstalled, icd
file for each driver and set the VK_ICD_FILENAMES variable
appropriately. This can be used with:
```sh
meson devenv -C $builddir
```
then, vulkan applications will automatically use the uninstall vulkan
driver, no need to install.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14826>
Erik Faye-Lund [Mon, 5 Jul 2021 13:02:34 +0000 (15:02 +0200)]
vulkan/util: simplify multialloc init
The syntax we're using doesn't work when included into C++ sources. So
let's make it C++ compabible.
It turns out, nobody needs this extra definition which is what's causing
issues. Let's just make the initializer trivial without casting the
struct.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14850>
Erik Faye-Lund [Fri, 4 Feb 2022 08:03:39 +0000 (09:03 +0100)]
vulkan/util: Add explicit casts to make c++ happy
We're about to need including this header from a C++ source, so let's
add some explicit casts for C++ compatibility.
In one case we can make things a bit cleaner by moving the
char-pointer-ism to the place that needs it, so let's clean that up
while we're at it.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14850>
Erik Faye-Lund [Tue, 29 Jun 2021 12:38:14 +0000 (14:38 +0200)]
vulkan/util: Add extern "C" to allow inclusion from c++
We're about to need including this header from a C++ source, so let's
wrap the whole thing in extern "C".
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14850>
Danylo Piliaiev [Tue, 1 Feb 2022 17:37:35 +0000 (19:37 +0200)]
turnip: Expose VK_KHR_shader_non_semantic_info
This is entirely implemented in the SPIR-V frontend.
Relevant CTS tests:
dEQP-VK.spirv_assembly.instruction.compute.non_semantic_info.*
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14829>
Danylo Piliaiev [Tue, 1 Feb 2022 17:30:53 +0000 (19:30 +0200)]
turnip: Implement VK_KHR_zero_initialize_workgroup_memory
Moved nir_lower_compute_system_values to lower
load_local_invocation_index which could be emitted by
nir_zero_initialize_shared_memory.
Relevant CTS tests:
dEQP-VK.compute.zero_initialize_workgroup_memory.*
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14829>
Danylo Piliaiev [Tue, 1 Feb 2022 15:30:15 +0000 (17:30 +0200)]
turnip: Expose VK_EXT_image_robustness
VK_EXT_image_robustness is a strict subset of VK_EXT_robustness2
so we could just expose it.
Relevant CTS tests: dEQP-VK.robustness.image_robustness.*
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14829>
Danylo Piliaiev [Tue, 1 Feb 2022 15:25:17 +0000 (17:25 +0200)]
turnip: Use the shared helpers to expose 1.3 core extensions/limits
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14829>
Danylo Piliaiev [Tue, 1 Feb 2022 17:51:40 +0000 (19:51 +0200)]
turnip/doc: Update turnip extension list
We were missing VK_EXT_subgroup_size_control and
VK_EXT_extended_dynamic_state2.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14829>
Kenneth Graunke [Fri, 28 Jan 2022 11:23:34 +0000 (03:23 -0800)]
iris: Make an iris_foreach_batch macro that skips unsupported batches
IRIS_BATCH_BLITTER isn't supported prior to Tigerlake; in general,
batches may not be supported on all hardware. In most cases, querying
them is harmless (if useless): they reference nothing, have no commands
to flush, and so on. However, the fence code does need to know that
certain batches don't exist, so it can avoid adding inter-batch fences
involving them.
This patch introduces a new iris_foreach_batch() iterator macro that
walks over all batches that are actually supported on the platform,
while skipping the others. It provides a central place to update should
we add or reorder more batches in the future.
Fixes various tests in the piglit.spec.ext_external_objects.* category.
Thanks to Tapani Pälli for catching this.
Fixes:
a90a1f15 ("iris: Create an IRIS_BATCH_BLITTER for using the BLT command streamer")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14834>
Dave Airlie [Thu, 3 Feb 2022 04:18:40 +0000 (14:18 +1000)]
llvmpipe/triangle: don't store area in fixed_position.
It doesn't get used again, just extract the sign and move on.
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14846>
Dave Airlie [Thu, 3 Feb 2022 02:58:45 +0000 (12:58 +1000)]
llvmpipe: just move opaque alpha lookup closer to use.
Saves looking this up before checking the variant.
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14846>
Dave Airlie [Thu, 3 Feb 2022 02:52:30 +0000 (12:52 +1000)]
llvmpipe: refactor lp_rast_shader_inputs.
viewport_index won't be >= 16
layer should be < 2048
view_index should be < 2048
this leaves the last 64-bits as padding, which something
expects, but not having to write to it means we have to write
less memory every triangle.
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14846>
Dave Airlie [Thu, 3 Feb 2022 02:46:35 +0000 (12:46 +1000)]
llvmpipe/setup: remove opaque from setup triangle
This isn't used in the rast side of things, so just pass it out here.
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14846>
Dave Airlie [Thu, 3 Feb 2022 04:54:31 +0000 (14:54 +1000)]
llvmpipe: inline retry_triangle_ccw
This reduces some of the overheads in the callstack here.
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14846>
Dave Airlie [Wed, 2 Feb 2022 07:39:38 +0000 (17:39 +1000)]
llvmpipe: optimise triangle setup a bit.
the bboxpos = bbox copy was visible overhead on perf traces,
but we don't need to really do it.
Extract all the things from bbox needed early, then don't copy
it just overwrite it.
use boolean to fix power build.
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14846>
Danylo Piliaiev [Thu, 3 Feb 2022 12:04:01 +0000 (14:04 +0200)]
turnip: Do not use hw binning if tiles per pipe are over the limit
Otherwise GPU would hang.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5951
Freedreno commit as a reference:
39d00722b22a0059bbc58f0158a22f384519cd39
Fixes VK cts tests on a618 if their memory limit is raised to 1024 MB:
dEQP-VK.pipeline.render_to_image.core.2d_array.huge.width_height.r8g8b8a8_unorm_d16_unorm
dEQP-VK.pipeline.render_to_image.core.2d_array.huge.width_height.r8g8b8a8_unorm_s8_uint
dEQP-VK.pipeline.render_to_image.core.2d_array.huge.width_height.r8g8b8a8_unorm_d24_unorm_s8_uint
dEQP-VK.pipeline.render_to_image.core.2d_array.huge.width_height.r8g8b8a8_unorm_d32_sfloat_s8_uint
dEQP-VK.pipeline.render_to_image.core.cube.huge.width_height.r8g8b8a8_unorm
dEQP-VK.pipeline.render_to_image.core.cube.huge.width_height.r8g8b8a8_unorm_d16_unorm
dEQP-VK.pipeline.render_to_image.core.cube.huge.width_height.r8g8b8a8_unorm_s8_uint
dEQP-VK.pipeline.render_to_image.core.cube.huge.width_height.r8g8b8a8_unorm_d24_unorm_s8_uint
dEQP-VK.pipeline.render_to_image.core.cube_array.huge.width_height.r8g8b8a8_unorm
dEQP-VK.pipeline.render_to_image.core.cube_array.huge.width_height.r8g8b8a8_unorm_d24_unorm_s8_uint
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Tested-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14849>
Danylo Piliaiev [Thu, 3 Feb 2022 12:03:22 +0000 (14:03 +0200)]
turnip: Add TU_GMEM envvar to test different gmem sizes
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14849>
Omar Akkila [Fri, 28 Jan 2022 06:20:19 +0000 (01:20 -0500)]
venus: Advertise VK_EXT_extended_dynamic_state support
Signed-off-by: Omar Akkila <omar.akkila@collabora.com>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14866>
Omar Akkila [Fri, 28 Jan 2022 06:21:49 +0000 (01:21 -0500)]
venus: Implement VK_EXT_extended_dynamic_state commands
This implements hooks for the following commands:
- vkCmdBindVertexBuffers2
- vkCmdSetCullMode
- vkCmdSetDepthBoundsTestEnable
- vkCmdSetDepthCompareOp
- vkCmdSetDepthTestEnable
- vkCmdSetDepthWriteEnable
- vkCmdSetFrontFace
- vkCmdSetPrimitiveTopology
- vkCmdSetScissorWithCount
- vkCmdSetStencilOp
- vkCmdSetStencilTestEnable
- vkCmdSetViewportWithCount
Signed-off-by: Omar Akkila <omar.akkila@collabora.com>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14866>
Jesse Natalie [Wed, 2 Feb 2022 21:03:09 +0000 (13:03 -0800)]
docs: Update d3d12 features
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Fri, 28 Jan 2022 19:54:15 +0000 (11:54 -0800)]
d3d12: ARB_gpu_shader_fp64
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Wed, 2 Feb 2022 14:26:02 +0000 (06:26 -0800)]
d3d12: Handle structs in TCS variants
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Wed, 2 Feb 2022 14:23:47 +0000 (06:23 -0800)]
d3d12: Handle structs in GS variants
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Fri, 28 Jan 2022 20:55:29 +0000 (12:55 -0800)]
d3d12: Set lower full fp64 compiler options flag when needed
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Fri, 28 Jan 2022 20:55:10 +0000 (12:55 -0800)]
d3d12: Lower [de]construction of doubles via math ops into pack/unpack ops
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Fri, 28 Jan 2022 23:14:04 +0000 (15:14 -0800)]
d3d12: Add int64 support
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Fri, 28 Jan 2022 23:13:05 +0000 (15:13 -0800)]
d3d12: Get OPTIONS1
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Fri, 28 Jan 2022 23:12:35 +0000 (15:12 -0800)]
d3d12: Add a driver version to the screen to be used for workarounds
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Fri, 28 Jan 2022 20:37:23 +0000 (12:37 -0800)]
d3d12: Cache a modifyable copy of the nir options in d3d12_screen
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Sat, 29 Jan 2022 17:35:14 +0000 (09:35 -0800)]
d3d12: Use the right constant for GS varying limits
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Tue, 1 Feb 2022 17:35:34 +0000 (09:35 -0800)]
d3d12: Use a constant define for max anisotropy
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Tue, 1 Feb 2022 17:30:11 +0000 (09:30 -0800)]
d3d12: Update max input, output, and varying caps
The simple-varyings piglit test attempts to use GL_MAX_VARYING_FLOATS
varyings, PLUS one additional vector for position (which is not used
as input to the PS). "Reserve" that additional position vector by
removing it from the max varyings and max PS inputs.
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Wed, 2 Feb 2022 13:43:21 +0000 (05:43 -0800)]
microsoft/compiler: Handle structs in I/O signatures
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Tue, 1 Feb 2022 22:37:29 +0000 (14:37 -0800)]
microsoft/compiler: Map I/O base locations to input IDs
When dealing with a vertex input that takes multiple rows, the value of
nir_intrinsic_base points to a driver-location-based index, but we need
to emit a location-based index (or more specifically, an index that
increments once per input, not once per register). Add a mapping to
the module of base -> ID.
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Tue, 1 Feb 2022 22:36:32 +0000 (14:36 -0800)]
microsoft/compiler: Process signatures before the shader code
This lets us set up some metadata based on I/O vars without having
to do multiple passes over them.
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Tue, 1 Feb 2022 20:50:08 +0000 (12:50 -0800)]
microsoft/compiler: Handle I/O vars larger than a vec4
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Tue, 1 Feb 2022 20:44:38 +0000 (12:44 -0800)]
microsoft/compiler: Lower 64bit I/O to 32 and then run lower_pack
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Fri, 28 Jan 2022 23:11:42 +0000 (15:11 -0800)]
microsoft/compiler: Handle b2f64
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Fri, 28 Jan 2022 21:46:58 +0000 (13:46 -0800)]
microsoft/compiler: Set dx11_1_double_extensions flag for dfma/ddiv
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Fri, 28 Jan 2022 21:46:41 +0000 (13:46 -0800)]
microsoft/compiler: Fix dxil_nir_lower_double_math_instr pass for vectors
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Tue, 1 Feb 2022 19:39:43 +0000 (11:39 -0800)]
microsoft/compiler: Fix make_double and split_double to respect swizzles
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Fri, 28 Jan 2022 21:45:36 +0000 (13:45 -0800)]
microsoft/compiler: Fix splitdouble struct name
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Fri, 28 Jan 2022 20:54:17 +0000 (12:54 -0800)]
microsoft/compiler: It's possible to have doubles without int64
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Fri, 28 Jan 2022 20:24:28 +0000 (12:24 -0800)]
microsoft/compiler: Add never-supported double ops to lower_doubles bitmask
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Wed, 2 Feb 2022 20:39:14 +0000 (12:39 -0800)]
microsoft/compiler: Only treat tess level location as special if it's a patch constant
Fixes:
a550c059 ("microsoft/compiler: For load_input from DS, use loadPatchConstant")
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Wed, 2 Feb 2022 14:57:02 +0000 (06:57 -0800)]
microsoft/compiler: Only prep phis for the current function
Fixes:
41af9620 ("microsoft/compiler: Emit all NIR functions into the DXIL module")
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Jesse Natalie [Tue, 1 Feb 2022 16:23:38 +0000 (08:23 -0800)]
microsoft/compiler: Lower mul_2x32_64
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
Emma Anholt [Fri, 12 Nov 2021 18:08:20 +0000 (10:08 -0800)]
ci: Uprev vulkan-cts to 1.2.8.0
This brings in some interesting new vulkan tests and fixes for the
spurious KHR-GL TF failures. Also, reduces the runtime of
dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.36 so that it
should stop timing out.
Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13779>
Emma Anholt [Wed, 17 Nov 2021 00:17:25 +0000 (16:17 -0800)]
llvmpipe: Disable an assertion that may not be quite right.
It triggered on uprevving VK-GL-CTS, and @airlied says it's tripped
apparently spuriously before. There seems to be some interesting logic
behind it, so leave the big comment for whoever can revisit the issue some
day.
Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13779>
Emma Anholt [Wed, 2 Feb 2022 05:22:52 +0000 (21:22 -0800)]
ci/i915: Update rendering hash for plot3d trace.
Its rendering changed slightly at some point, but it's fine.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13779>
Emma Anholt [Thu, 3 Feb 2022 04:15:28 +0000 (20:15 -0800)]
ci/freedreno: Reduce concurrency for a618 vk_full.
This ran into OOM-kills with the CTS uprev. Looking at caselists at the
time of fail, some had 500MB of system memory used by the CTS (mostly
spirv string codegen), plus whatever BOs were allocated, and the lazors
are only 4GB it looks like.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13779>
Emma Anholt [Wed, 2 Feb 2022 18:56:34 +0000 (10:56 -0800)]
ci/turnip: Extend the full-vk-run job timeouts.
Between adding features and increased test coverage, we're hitting the
1-hour job limit. !13441 tried to increase the full run timeout for LAVA,
but by having not bumped the gitlab-ci timeout value it ended up just
letting the job keep running in LAVA after gitlab had given up on it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13779>
Emma Anholt [Wed, 2 Feb 2022 17:51:30 +0000 (09:51 -0800)]
ci/freereno: Reduce run-by-default a630-vk coverage.
In the autotune merge, we added another 1/15th run of a configuration
knob, thinking that was small enough to be in the noise. But actually the
main run is only 1/9th, so another 1/15th took us from nearly hitting the
job runtime target, to totally missing it. Crank things back down to keep
MRs flowing.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13779>
Emma Anholt [Mon, 31 Jan 2022 19:45:36 +0000 (11:45 -0800)]
r300: Simplify DCE by assuming all output writes are used.
No change on shader-db.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14847>
Emma Anholt [Thu, 3 Feb 2022 05:08:13 +0000 (21:08 -0800)]
r300: Set up shadow sampler lowering in precompiles.
Otherwise you end up lowering all shadow samples to a MOV dst
temp[0].0000, which is pretty silly.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14847>
Emma Anholt [Mon, 31 Jan 2022 19:31:31 +0000 (11:31 -0800)]
r300: Fix missing \n in an error message.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14847>
Mike Blumenkrantz [Thu, 27 Jan 2022 15:44:34 +0000 (10:44 -0500)]
zink: add synchronization for conditional render buffer
doesn't seem to do anything on any drivers I've tested, but maybe it's
needed somewhere
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14853>
Mike Blumenkrantz [Thu, 27 Jan 2022 15:43:33 +0000 (10:43 -0500)]
zink: add VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT for query binds
required by spec
cc: mesa-stable
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14853>
Rhys Perry [Wed, 2 Feb 2022 16:42:24 +0000 (16:42 +0000)]
aco: don't encode src2 for v_writelane_b32_e64
Encoding src2 doesn't cause issues for print_asm() because we have a
workaround there, but it does for RGP and it seems the developers are not
interested in fixing it.
https://github.com/GPUOpen-Tools/radeon_gpu_profiler/issues/61
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Tested-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14832>
Rhys Perry [Mon, 31 Jan 2022 18:13:07 +0000 (18:13 +0000)]
aco: add test for optimizations with casts
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14810>
Rhys Perry [Mon, 31 Jan 2022 18:28:59 +0000 (18:28 +0000)]
aco: fix neg(mul)/abs(mul) optimization with different bit-size
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14810>
Rhys Perry [Mon, 31 Jan 2022 18:22:58 +0000 (18:22 +0000)]
aco: don't combine add/mul of different bit-size
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14810>
Rhys Perry [Mon, 31 Jan 2022 18:12:59 +0000 (18:12 +0000)]
aco: don't apply omod/clamp of different bit-size
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14810>
Rhys Perry [Mon, 31 Jan 2022 18:01:45 +0000 (18:01 +0000)]
aco: don't combine fneg/fabs of different bit-size
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14810>
Rhys Perry [Thu, 27 Jan 2022 14:18:04 +0000 (14:18 +0000)]
aco/tests: implement sub-dword program inputs
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14810>
Rhys Perry [Thu, 27 Jan 2022 14:17:23 +0000 (14:17 +0000)]
aco/tests: add a bunch more building helpers
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14810>
Alyssa Rosenzweig [Wed, 2 Feb 2022 22:20:16 +0000 (17:20 -0500)]
panfrost: Fix texel interleave flag on Valhall
Interleave mode specified per-plane on Valhall. The texture descriptor proper
merely has a flag specifying whether planes are somehow interleaved
(u-interleaved, AFBC, or block compressed formats) or whether they are all
linear (and uncompressed).
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14851>
Alyssa Rosenzweig [Wed, 2 Feb 2022 22:15:10 +0000 (17:15 -0500)]
panfrost: Add remaining ZS/CRC XML
Flesh out the ZS/CRC XML, adding fields required for AFBC. Valhall allows AFBC
compressing stencil buffers independent of depth buffers, which is a new feature
since Bifrost. That results in a shuffling of the descriptor.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14851>
Alyssa Rosenzweig [Wed, 2 Feb 2022 22:13:20 +0000 (17:13 -0500)]
panfrost: Add Valhall Plane Descriptor XML
This looks superficially like the Bifrost "Surface" descriptor, but it
additionally specifies the in-memory representation of blocks (clumps). If I
understand correctly, decompression is controlled by the plane descriptor,
rather than the texture descriptor level. This is a bit more flexible than
Bifrost.
Once the new fields here are wired up to Mesa, my
dEQP-GLES2.functional.texture.* failures should go away... I hope!
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14851>
Alyssa Rosenzweig [Sun, 9 Jan 2022 18:38:23 +0000 (13:38 -0500)]
panfrost: Fix alignments on Valhall
Otherwise we get DATA_INVALID_FAULT trying to run even trivial null jobs. For
each descriptor, set the correct alignment.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14851>
Alyssa Rosenzweig [Fri, 28 Jan 2022 18:47:53 +0000 (13:47 -0500)]
panfrost: Remove blend shader return value on v9
Removed since there's a new ABI for blend shaders. Even if we always write 0,
it's better not to pack this at all, and to denoise the dumps.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14851>
Alejandro Piñeiro [Mon, 24 Jan 2022 13:13:00 +0000 (14:13 +0100)]
v3d/drm-shim: remove drm-shim driver
After starting to use a new version of the simulator, it got
outdated.
We made some initial effort to update it, but it was not
working. Taking into account that no one is using it, it is better to
just remove it.
We keep the noop drm drivers, as they could have some value for
developers that doesn't have access to the v3dv3 simulator.
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14682>
Shirish S [Mon, 31 Jan 2022 11:00:37 +0000 (16:30 +0530)]
radeonsi: allocate protected buffer only if required
protected buffer allocations need to be made if the context is secure
Signed-off-by: Shirish S <shirish.s@amd.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14848>
Pierre-Eric Pelloux-Prayer [Thu, 3 Feb 2022 08:35:07 +0000 (09:35 +0100)]
radeonsi: limit loop unrolling for LLVM < 13
Without this change LLVM 12 hits this error:
"""
LLVM ERROR: Error while trying to spill SGPR0_SGPR1 from class SReg_64:
Cannot scavenge register without an emergency spill slot!
"""
when running glcts KHR-GL46.arrays_of_arrays_gl.AtomicUsage test.
Fixes:
9ff086052ab ("radeonsi: unroll loops of up to 128 iterations")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14848>
Samuel Pitoiset [Wed, 19 Jan 2022 09:08:43 +0000 (10:08 +0100)]
radv: stop setting streamout state when a new pipeline is bound
It's required to have a valid graphics bound pipeline with XFB when
vkCmdBeginTransformFeedbackKHR() is called. This removes extra work
when binding a pipeline.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14610>
Iago Toral Quiroga [Wed, 2 Feb 2022 10:23:11 +0000 (11:23 +0100)]
broadcom/compiler: allow ldunifa with read-only SSBOs
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14830>
Iago Toral Quiroga [Wed, 2 Feb 2022 10:39:53 +0000 (11:39 +0100)]
broadcom/compiler: fix offset alignment for ldunifa when skipping
The intention was to align the address to 4 bytes (32-bit), not
16 bytes.
Fixes:
bdb6201ea1 ("broadcom/compiler: use ldunifa with unaligned constant offset")
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14830>
Dylan Baker [Wed, 2 Feb 2022 23:49:12 +0000 (15:49 -0800)]
docs: update calendar for 22.0.0-rc1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14845>
Dylan Baker [Wed, 2 Feb 2022 23:09:58 +0000 (15:09 -0800)]
docs: reset new_features.txt
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14843>
Mike Blumenkrantz [Wed, 2 Feb 2022 23:00:20 +0000 (18:00 -0500)]
llvmpipe: ci updates
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14835>
Mike Blumenkrantz [Wed, 2 Feb 2022 20:54:45 +0000 (15:54 -0500)]
llvmpipe: disable PIPE_SHADER_CAP_FP16_CONST_BUFFERS
this cap is broken
cc: mesa-stable
fixes:
GTF-GL46.gtf21.GL2Tests.glGetUniform.glGetUnifor
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14835>
Mike Blumenkrantz [Wed, 2 Feb 2022 19:53:45 +0000 (14:53 -0500)]
zink: disable PIPE_SHADER_CAP_FP16_CONST_BUFFERS
this cap is broken
cc: mesa-stable
fixes:
GTF-GL46.gtf21.GL2Tests.glGetUniform.glGetUniform
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14835>
Dylan Baker [Wed, 2 Feb 2022 22:43:00 +0000 (14:43 -0800)]
VERSION: bump version for 22.0 release
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14840>
Bas Nieuwenhuizen [Fri, 28 Jan 2022 20:04:07 +0000 (21:04 +0100)]
radv: Handle SDMA for padding.
Also assert that nobody actually needs to chain an SDMA IB because we have
not implemented non-PKT3 chaining.
Fixes:
ef40f2ccc29 ("radv/amdgpu: Fix handling of IB alignment > 4 words.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5923
Tested-by: Mike Lothian <mike@fireburn.co.uk>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14781>
Emma Anholt [Wed, 26 Jan 2022 00:00:59 +0000 (16:00 -0800)]
intel: Add missing dep of gen_*_header.py on utils.py.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14725>
Emma Anholt [Tue, 25 Jan 2022 23:50:53 +0000 (15:50 -0800)]
freedreno/isaspec: Add missing dep of encode.py/decode.py calls on isa.py
Fixes: #5921
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14725>
Caio Oliveira [Wed, 19 May 2021 16:35:22 +0000 (09:35 -0700)]
anv: Add experimental support for VK_NV_mesh_shader
Enable setting ANV_EXPERIMENTAL_NV_MESH_SHADER=1 environment variable.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13662>
Caio Oliveira [Wed, 7 Jul 2021 19:47:15 +0000 (12:47 -0700)]
intel/dev: Enable Mesh Shading for DG2
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13662>
Marcin Ślusarz [Mon, 13 Dec 2021 13:14:04 +0000 (14:14 +0100)]
anv: Put first few push constants directly into Task/Mesh InlineData
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13662>
Marcin Ślusarz [Thu, 9 Dec 2021 15:50:24 +0000 (16:50 +0100)]
anv: include ClipDistance array in mesh shader per-vertex output
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13662>
Marcin Ślusarz [Thu, 9 Dec 2021 15:48:03 +0000 (16:48 +0100)]
anv: tell the hardware about gl_[Clip|Cull]Distance in mesh shaders
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13662>
Marcin Ślusarz [Fri, 16 Jul 2021 13:06:44 +0000 (15:06 +0200)]
anv: Implement indirect dispatch for Mesh pipeline
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13662>
Marcin Ślusarz [Mon, 12 Jul 2021 11:46:31 +0000 (13:46 +0200)]
anv: Add support for UBOs, SSBOs and push constants in Mesh pipeline
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13662>
Marcin Ślusarz [Mon, 5 Jul 2021 13:48:03 +0000 (15:48 +0200)]
anv: Add support for non-zero firstTask in vkCmdDrawMeshTasksNV
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13662>
Marcin Ślusarz [Fri, 16 Jul 2021 12:21:51 +0000 (14:21 +0200)]
anv: Enable conditional rendering in vkCmdDrawMeshTasksNV
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13662>
Caio Oliveira [Thu, 20 May 2021 19:07:34 +0000 (12:07 -0700)]
anv: Implement Mesh Shading pipeline
The Mesh pipeline is implemented as a variant of the
regular (primitive) Graphics Pipeline.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13662>