Dylan Baker [Wed, 24 Mar 2021 19:24:51 +0000 (12:24 -0700)]
docs: Add hashes for 20.3.5
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9818>
Dylan Baker [Wed, 24 Mar 2021 19:09:03 +0000 (12:09 -0700)]
docs: add release notes for 20.3.5
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9818>
Mike Blumenkrantz [Wed, 24 Mar 2021 22:12:03 +0000 (18:12 -0400)]
lavapipe: use the passed offset for CmdCopyQueryPoolResults
this avoids overwriting buffer[0] on every copy
Fixes:
b38879f8c5f ("vallium: initial import of the vulkan frontend")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9813>
Mike Blumenkrantz [Wed, 24 Mar 2021 22:08:27 +0000 (18:08 -0400)]
lavapipe: fix CmdCopyQueryPoolResults for partial pipeline statistics queries
if this isn't a query for all pipeline statistics, the bits that are
set need to be individually copied in increasing order
Fixes:
b38879f8c5f ("vallium: initial import of the vulkan frontend")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9813>
Mike Blumenkrantz [Wed, 24 Mar 2021 18:52:25 +0000 (14:52 -0400)]
util/set: stop leaking u32 key sets which pass a mem ctx
Fixes:
10a76824137 ("util: add _mesa_set_create_u32_keys where keys are not pointers")
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9810>
Caio Marcelo de Oliveira Filho [Wed, 24 Mar 2021 04:01:21 +0000 (21:01 -0700)]
intel/compiler: Use a struct for brw_compile_cs parameters
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9779>
Caio Marcelo de Oliveira Filho [Tue, 23 Mar 2021 18:38:28 +0000 (11:38 -0700)]
intel/compiler: Use INTEL_DEBUG=blorp to dump blorp shaders
Make INTEL_DEBUG=blorp dump the blorp shaders instead using the
general INTEL_DEBUG=fs,vs, which is now reserved to the actual FS and
VS shaders used by the pipeline.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9779>
Caio Marcelo de Oliveira Filho [Tue, 23 Mar 2021 18:31:51 +0000 (11:31 -0700)]
intel/compiler: Make visitors take debug_enabled as a parameter
The callers already have this value, and we would like to make it
follow different rules other than stage that might not be visible to
the helper function, so just pass explicitly.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9779>
Caio Marcelo de Oliveira Filho [Tue, 23 Mar 2021 18:25:42 +0000 (11:25 -0700)]
intel/compiler: Make vec4 generator take debug_enabled as a parameter
The callers already have this value, and we would like to make it
follow different rules other than stage that might not be visible to
the helper function, so just pass explicitly.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9779>
Caio Marcelo de Oliveira Filho [Tue, 23 Mar 2021 18:08:32 +0000 (11:08 -0700)]
intel/compiler: Make brw_postprocess_nir take debug_enabled as a parameter
The callers already have this value, and we would like to make it
follow different rules other than stage that might not be visible to
the helper function, so just pass explicitly.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9779>
Caio Marcelo de Oliveira Filho [Tue, 23 Mar 2021 18:12:40 +0000 (11:12 -0700)]
intel/compiler: Refactor the shader INTEL_DEBUG checks
Make the check once in a variable, that can be reused for other parts.
Also add `unlikely` to the various conditionals depending on it
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9779>
Caio Marcelo de Oliveira Filho [Tue, 23 Mar 2021 06:07:18 +0000 (23:07 -0700)]
intel/compiler: Use a struct for brw_compile_vs parameters
Makes calling code more explicit about what is being set, and allows
take advantage of zero initialization for the ones the callsite don't
care.
Besides moving to the struct, two extra "ergonomic" changes were done:
- Add a new shader_time boolean, so shader_time_index is ignored when
unused -- this allow taking advantage of the zero initialization of
unset fields.
- Since we have a struct, provide space for the error_str pointer.
Both iris and i965 were using it, and the extra rstrdup in case of
failure shouldn't be a burden for the others.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9779>
Caio Marcelo de Oliveira Filho [Tue, 23 Mar 2021 05:13:09 +0000 (22:13 -0700)]
intel/compiler: Use a struct for brw_compile_fs parameters
Makes calling code more explicit about what is being set, and allows
take advantage of zero initialization for the ones the callsite don't
care.
Besides moving to the struct, two extra "ergonomic" changes were done:
- Add a new shader_time boolean, so shader_time_index is ignored when
unused -- this allow taking advantage of the zero initialization of
unset fields.
- Since we have a struct, provide space for the error_str pointer.
Both iris and i965 were using it, and the extra rstrdup in case of
failure shouldn't be a burden for the others.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9779>
Caio Marcelo de Oliveira Filho [Tue, 23 Mar 2021 05:30:20 +0000 (22:30 -0700)]
intel/compiler: Make vue_map parameter const for brw_compile_fs
Just a documentation hint that the VUE map is not modified.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9779>
Tony Wasserka [Wed, 24 Mar 2021 15:20:50 +0000 (16:20 +0100)]
aco/ra: Avoid unnecessary copying of std::vectors
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9801>
Eric Anholt [Wed, 17 Mar 2021 23:13:41 +0000 (16:13 -0700)]
freedreno: Clamp TF prims written to buffer size pre-a6xx.
I thought based on some previous debug this was going to fix a pile of
dEQPs, but no luck. Still, one less TODO in the driver.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9687>
Eric Anholt [Thu, 18 Mar 2021 04:15:57 +0000 (21:15 -0700)]
freedreno: Don't count SW TF queries on a6xx.
On a6xx, since we have GS and tess, we do this counting in hardware. The
next fix is going to use some functions that don't work with GS prims.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9687>
Eric Anholt [Thu, 18 Mar 2021 02:54:52 +0000 (19:54 -0700)]
freedreno: Move the primitives generated/written updates after the draw.
If we're going to clamp the written value, we need the max vtx update from
the draw's state emit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9687>
Eric Anholt [Wed, 17 Mar 2021 23:48:35 +0000 (16:48 -0700)]
freedreno: Move max-tf-vtx calculation to just the HW that needs it.
a3xx-a4xx use it in in-shader TF code, and all of a3xx-a5xx will need it
shortly for fixing the SW TF queries.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9687>
Eric Anholt [Wed, 17 Mar 2021 23:43:52 +0000 (16:43 -0700)]
freedreno/ir3: Move max-tf-vtx calculation to a .c file
This much code should probably be a function.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9687>
Eric Anholt [Mon, 22 Mar 2021 19:22:24 +0000 (12:22 -0700)]
freedreno: Assert that TF prims generated can ignore active_queries.
We won't ever be in a meta path with transform feedback enabled, so we
don't need to pay attention to the flag here.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9687>
Erik Faye-Lund [Wed, 24 Mar 2021 16:11:19 +0000 (17:11 +0100)]
zink: check for mirror-clamp extension
This cap depends on a device extension.
Fixes:
b59d98ae5f2 ("zink: enable PIPE_CAP_TEXTURE_MIRROR_CLAMP_TO_EDGE")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9803>
Erik Faye-Lund [Wed, 24 Mar 2021 15:56:31 +0000 (16:56 +0100)]
zink: add missing required feature
We check for this feature in zink_is_format_supported, so VK drivers
need to expose it to get BC textures working. Let's document the
reality.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9803>
Erik Faye-Lund [Wed, 24 Mar 2021 15:54:25 +0000 (16:54 +0100)]
zink: check for stores and atomics features
These limits depens on feature-bits.
Fixes:
322a3d4fb0c ("zink: partially enable SSBO pipe cap")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9803>
Erik Faye-Lund [Wed, 24 Mar 2021 15:43:06 +0000 (16:43 +0100)]
zink: check for depth-bias-clamp feature
This cap depends on a feature-bit.
Fixes:
3d7d55c2cf4 ("zink: enable PIPE_CAP_POLYGON_OFFSET_CLAMP")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9803>
Erik Faye-Lund [Wed, 24 Mar 2021 15:37:00 +0000 (16:37 +0100)]
zink: check for pipeline statistics feature
This cap depends on a feature-bit.
Fixes:
cb5957e13d1 ("zink: enable pipeline statistics cap")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9803>
Tomeu Vizoso [Tue, 23 Mar 2021 12:21:14 +0000 (13:21 +0100)]
ci/fdo: Use trimmed traces for Valve games
Now that we have trimmed versions of them, we can run them in a more
reasonable amount of time.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9771>
Eric Anholt [Tue, 23 Mar 2021 04:15:16 +0000 (21:15 -0700)]
iris: Flag for resolves when stencil enable changes, too.
The watcher of this dirty flag looks at this state, so it sure seems like
it needs it.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9768>
Mike Blumenkrantz [Wed, 24 Mar 2021 15:39:53 +0000 (11:39 -0400)]
zink: don't generate sampled image type for non-sampled images
this creates validation errors
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9802>
Mike Blumenkrantz [Fri, 19 Mar 2021 22:48:53 +0000 (18:48 -0400)]
compiler/spirv: use undefs when extending image coords
we need 4 components for the nir ops, but swizzling one value to multiple
channels like this gets confusing when trying to debug image ops that don't
require 4 channels
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9723>
Eric Anholt [Mon, 22 Mar 2021 19:17:11 +0000 (12:17 -0700)]
ci/android: Build the v3dv driver.
We want to make sure that this keeps working on Android.
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9764>
Eric Anholt [Mon, 22 Mar 2021 20:19:01 +0000 (13:19 -0700)]
ci/android: Make sure we don't detect system libexpat.
There may be some more elegant way to do things, but the important thing
is that android builds don't have any .pc files we should be using, other
than what our CI generated for zlib.
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9764>
Eric Anholt [Mon, 22 Mar 2021 20:01:52 +0000 (13:01 -0700)]
broadcom: Disbale CLIF dumping when libexpat isn't available.
Given what a niche developer tool CLIF dumps are, no sense requiring
libexpat just for that.
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9764>
Eric Anholt [Mon, 22 Mar 2021 19:10:38 +0000 (12:10 -0700)]
turnip: Fix KGSL build since common dispatch rework.
Fixes:
59d70c47c774 ("turnip: Use the common dispatch framework")
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9764>
Mike Blumenkrantz [Wed, 9 Dec 2020 21:16:57 +0000 (16:16 -0500)]
zink: add more rp cache asserts
ensure that any discrepencies are immediately detected
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9784>
Mike Blumenkrantz [Thu, 10 Dec 2020 21:01:13 +0000 (16:01 -0500)]
zink: remove unnecessary flush during image maps
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9786>
Mike Blumenkrantz [Mon, 30 Nov 2020 17:00:01 +0000 (12:00 -0500)]
zink: remove handling for resource flushing between compute/gfx batches
this is no longer a thing
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9786>
Mike Blumenkrantz [Mon, 30 Nov 2020 16:59:28 +0000 (11:59 -0500)]
zink: avoid unnecessary resource refs during descriptor update
this was necessary if resources could be on both gfx and compute batches,
but now there's only one type of batch
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9786>
Tapani Pälli [Mon, 22 Mar 2021 06:32:01 +0000 (08:32 +0200)]
mesa: check cube completeness for cube fbo attachments
When checking framebuffer completeness, we must verify that each cube
attachment is cube complete, e.g. format and size needs to match.
This fixes upcoming CTS framebuffer completeness tests for cubemaps.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9748>
Mike Blumenkrantz [Sun, 13 Dec 2020 21:32:55 +0000 (16:32 -0500)]
zink: add buffer_subdata hook
this just sets some flags to help optimize mapping
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9790>
Mike Blumenkrantz [Thu, 10 Dec 2020 21:00:46 +0000 (16:00 -0500)]
zink: explicitly use stream uploader for staging buffers
this requires adding an offset member to the transfer struct
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9789>
Mike Blumenkrantz [Thu, 10 Dec 2020 21:00:28 +0000 (16:00 -0500)]
zink: create separate upload mgr for constants
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9789>
Rhys Perry [Tue, 16 Feb 2021 16:48:46 +0000 (16:48 +0000)]
aco/tests: add tests for denormal-aware propagation
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/9079>
Rhys Perry [Thu, 25 Jun 2020 10:44:26 +0000 (11:44 +0100)]
aco: use -1.0*x and 1.0*|x| for fneg/fabs
Besides -1.0*x being 1 dword smaller than x^0x80000000, this commit also
improves generated code when the application requires that denormals are
flushed.
Future versions of DXVK will require that 32-bit denormals are flushed.
fossil-db (GFX8):
Totals from 21021 (14.22% of 147787) affected shaders:
SGPRs: 1288960 -> 1288944 (-0.00%); split: -0.01%, +0.01%
VGPRs: 792672 -> 792848 (+0.02%); split: -0.01%, +0.03%
CodeSize:
62439228 ->
62403552 (-0.06%); split: -0.11%, +0.05%
MaxWaves: 136182 -> 136181 (-0.00%); split: +0.00%, -0.00%
Instrs:
12230882 ->
12239927 (+0.07%); split: -0.01%, +0.08%
fossil-db (GFX10.3):
Totals from 20191 (13.80% of 146267) affected shaders:
VGPRs: 799992 -> 800032 (+0.01%)
CodeSize:
59763656 ->
59715484 (-0.08%); split: -0.12%, +0.03%
MaxWaves: 525378 -> 525376 (-0.00%)
Instrs:
11511082 ->
11517419 (+0.06%); split: -0.00%, +0.06%
fossil-db (GFX8, d3d float controls):
Totals from 87160 (58.98% of 147787) affected shaders:
SGPRs: 5395072 -> 5408480 (+0.25%); split: -0.06%, +0.31%
VGPRs: 3596716 -> 3581592 (-0.42%); split: -0.55%, +0.13%
CodeSize:
271347396 ->
266814460 (-1.67%); split: -1.67%, +0.00%
MaxWaves: 539669 -> 540400 (+0.14%); split: +0.15%, -0.02%
Instrs:
53395194 ->
52257505 (-2.13%); split: -2.13%, +0.00%
fossil-db (GFX10.3, d3d float controls):
Totals from 82306 (56.27% of 146267) affected shaders:
VGPRs: 3572312 -> 3558848 (-0.38%); split: -0.44%, +0.06%
CodeSize:
273494748 ->
269648968 (-1.41%); split: -1.41%, +0.00%
MaxWaves: 2007156 -> 2009950 (+0.14%); split: +0.15%, -0.01%
Instrs:
52251568 ->
51356424 (-1.71%); split: -1.71%, +0.00%
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/9079>
Rhys Perry [Fri, 5 Feb 2021 10:35:03 +0000 (10:35 +0000)]
aco: don't optimize min(a*1.0, ...) to min(a, ...) on GFX8
fossil-db (GFX8):
Totals from 2 (0.00% of 147787) affected shaders:
VMEM: 662 -> 642 (-3.02%)
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/9079>
Mike Blumenkrantz [Thu, 5 Nov 2020 20:09:59 +0000 (15:09 -0500)]
zink: handle gallium multi draws more effectively
there's no need to actually call through the whole function, only the
draw calls need to be looped
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9785>
Mike Blumenkrantz [Wed, 24 Mar 2021 03:27:20 +0000 (23:27 -0400)]
zink: ci updates
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9783>
Mike Blumenkrantz [Fri, 5 Feb 2021 22:36:44 +0000 (17:36 -0500)]
zink: toggle conditional render when beginning/ending a renderpass
this resumes the same conditional render which was previously active
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9783>
Mike Blumenkrantz [Sat, 6 Feb 2021 00:28:35 +0000 (19:28 -0500)]
zink: only update conditional render buffer when it needs to be updated
avoid re-fetching data
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9783>
Mike Blumenkrantz [Fri, 5 Feb 2021 22:35:58 +0000 (17:35 -0500)]
zink: store conditional render predicate to query and split out start/stop
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9783>
Mike Blumenkrantz [Wed, 24 Mar 2021 11:39:07 +0000 (07:39 -0400)]
zink: isolate gfx stage bits when updating shader modules
ensure that we don't overflow the array here
Fixes:
b2247a37247 ("zink: add compute programs and pipelines")
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9798>
Samuel Pitoiset [Mon, 15 Mar 2021 14:42:46 +0000 (15:42 +0100)]
anv: use common entrypoints for VK_KHR_create_renderpass2
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9601>
Samuel Pitoiset [Mon, 15 Mar 2021 14:40:13 +0000 (15:40 +0100)]
lavapipe: use common entrypoints for VK_KHR_create_renderpass2
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9601>
Samuel Pitoiset [Mon, 15 Mar 2021 14:38:07 +0000 (15:38 +0100)]
turnip: use common entrypoints for VK_KHR_create_renderpass2
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Hyunjun Ko <zzoon@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9601>
Samuel Pitoiset [Mon, 15 Mar 2021 14:33:23 +0000 (15:33 +0100)]
radv: use common entrypoints for VK_KHR_create_renderpass2
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/9601>
Samuel Pitoiset [Mon, 15 Mar 2021 14:31:05 +0000 (15:31 +0100)]
vulkan: add common entrypoints for VK_KHR_create_renderpass2
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/9601>
Rhys Perry [Tue, 23 Mar 2021 19:08:49 +0000 (19:08 +0000)]
ci: add expected fail for RADV
This fails for me. It looks like it was missed in
d8fa93a707e.
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/9778>
Mike Blumenkrantz [Wed, 25 Nov 2020 22:05:58 +0000 (17:05 -0500)]
zink: unify gfx and compute batches
now that batches aren't limited and flushing is less costly, there's no
reason to keep these separate
the primary changes here are removing the zink_queue enum and collapsing
related arrays which used it as an index, e.g., zink_batch_usage into single
members
remaining future work here will include removing synchronization flushes which
are no longer necessary and (eventually) removing batch params from a number of
functions since there is now only ever a single batch
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9765>
Mike Blumenkrantz [Sun, 8 Nov 2020 18:02:35 +0000 (13:02 -0500)]
zink: call clear() instead of reset() for batch states on context destroy
this avoids (future) issues with desync due to long-lived fences which
may not yet have completed at the time the context is destroyed
upcoming changes will not allow resetting uncompleted batch states, so
this avoids any sort of conflict as such changes are introduced
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9765>
Mike Blumenkrantz [Sun, 8 Nov 2020 18:01:44 +0000 (13:01 -0500)]
zink: add wrapper to reset batch state structs
this will be useful in the future when we need additional work to handle
resets of states that aren't detected as being "completed"
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9765>
Vinson Lee [Sat, 20 Mar 2021 19:17:14 +0000 (12:17 -0700)]
ac: Fix emit_split_buffer_store modulus operation.
Fix defect reported by Coverity Scan.
Operands don't affect result (CONSTANT_EXPRESSION_RESULT)
result_independent_of_operands: start_byte % 2 == 2 is always
false regardless of the values of its operands. This occurs as the
logical operand of if.
Fixes:
3185cb7dbf6 ("ac: Add NIR passes to lower ES->GS I/O to memory accesses.")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9730>
Bas Nieuwenhuizen [Tue, 2 Feb 2021 03:19:54 +0000 (04:19 +0100)]
radv: Allow DCC for images with modifiers that are read-only.
If we avoid writing anything or decompressing this should be fine,
and allows gamescope to work without nodcc for radeonsi.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8817>
Bas Nieuwenhuizen [Tue, 2 Feb 2021 03:08:56 +0000 (04:08 +0100)]
radv: Ensure we never decompress or FCE read-only textures.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8817>
Bas Nieuwenhuizen [Tue, 2 Feb 2021 03:05:12 +0000 (04:05 +0100)]
radv: Enable sharing with DCC with modifiers.
Also disable any heuristics.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8817>
Bas Nieuwenhuizen [Tue, 2 Feb 2021 03:02:10 +0000 (04:02 +0100)]
radv: Allow extra planes for DCC.
plane_count is only the format plane count.
Fixes:
7f7da82dbb7 ("radv: Add image layout with drm format modifiers.")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8817>
Jesse Natalie [Tue, 23 Mar 2021 18:00:37 +0000 (11:00 -0700)]
d3d12: Use ID3D12Device9::CreateCommandQueue1 when available
This lets us provide a creator ID, which lets us tag GLOn12 work
and separate it from other D3D12 work on the same singleton device.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3859
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9776>
Eric Anholt [Thu, 18 Mar 2021 20:25:45 +0000 (13:25 -0700)]
freedreno/a5xx: Switch to using ir3_cache for looking up our VS/FS
Saves the lock/unlock to get the variants for VS/BS/FS programs, gives us
a place we could hang future linked program state, and gives us safe
constlen handling that fixes a couple of our piglits.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9698>
Eric Anholt [Thu, 18 Mar 2021 20:25:45 +0000 (13:25 -0700)]
freedreno/a4xx: Switch to using ir3_cache for looking up our VS/FS
Saves the lock/unlock to get the variants for VS/BS/FS programs, and gives
us a place we could hang future linked program state.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9698>
Eric Anholt [Thu, 18 Mar 2021 19:31:34 +0000 (12:31 -0700)]
freedreno/a3xx: Switch to using ir3_cache for looking up our VS/FS.
Saves the lock/unlock to get the variants for VS/BS/FS programs, and gives
us a place we could hang future linked program state.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9698>
Eric Anholt [Thu, 18 Mar 2021 19:01:05 +0000 (12:01 -0700)]
freedreno: Move the ir3 linked shader cache to the context.
The other ir3 backends would love to have it to reduce lookups and to be
able to cache linked-program state.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9698>
Mauro Rossi [Mon, 22 Mar 2021 23:35:58 +0000 (00:35 +0100)]
android: vulkan/util: add vk_descriptors.{c,h} to Makefile.sources
Fixes the following building errors:
FAILED: out/target/product/x86_64/obj/SHARED_LIBRARIES/vulkan.radv_intermediates/LINKED/vulkan.radv.so
...
ld.lld: error: undefined symbol: vk_create_sorted_bindings
>>> referenced by radv_descriptor_set.c:158 (external/mesa/src/amd/vulkan/radv_descriptor_set.c:158)
...
ld.lld: error: undefined symbol: vk_create_sorted_bindings
>>> referenced by radv_descriptor_set.c:340 (external/mesa/src/amd/vulkan/radv_descriptor_set.c:340)
Fixes:
ad241b15a9e5 ("vk: consolidate dynamic descriptor binding sorting")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9766>
Mauro Rossi [Mon, 22 Mar 2021 23:21:24 +0000 (00:21 +0100)]
android: r600/sfn: fix sfn_nir_algebraic.c gen rules
Changelog:
- Correct typo in generator name which is sfn_nir_algebraic.py
- Rename variables for the gen rules according to meson rules
- Align python command and options according to meson rules
Fixes the following building error:
FAILED: ninja: 'external/mesa/src/gallium/drivers/r600/sfn/r600_nir_algebraic.py',
needed by 'out/target/product/x86_64/gen/STATIC_LIBRARIES/libmesa_pipe_r600_intermediates/sfn_nir_algebraic.c',
missing and no known rule to make it
Fixes:
195952786b08 ("r600/sfn: Add algebraic lowering for fsin and fcos")
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9766>
Erik Faye-Lund [Tue, 23 Mar 2021 16:19:04 +0000 (17:19 +0100)]
zink: emit all interpolation modes
It's not just flat-shading that matters in the case of fragment outputs.
Let's play nicely and emit any interpolation mode instead.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9775>
Erik Faye-Lund [Tue, 23 Mar 2021 16:16:48 +0000 (17:16 +0100)]
zink: factor out interpolation to helper
We actually need to set all of these for fragment inputs as well, so
let's make a helper for this that we can reuse.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9775>
Mike Blumenkrantz [Tue, 23 Mar 2021 17:13:08 +0000 (13:13 -0400)]
zink: ci updates
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9726>
Mike Blumenkrantz [Wed, 4 Nov 2020 14:08:14 +0000 (09:08 -0500)]
zink: trigger pending clears during flush
this applies all pending fb clears at the time of flush to handle the scenario
of start -> clear() -> flush() properly
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9726>
Mike Blumenkrantz [Wed, 4 Nov 2020 14:08:14 +0000 (09:08 -0500)]
zink: refactor clears a little to track a bitfield of enabled clears on the context
this makes the state of 'are there clears pending?' more accessible
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9726>
Mike Blumenkrantz [Wed, 4 Nov 2020 20:15:01 +0000 (15:15 -0500)]
zink: simplify some queue-related query code
we can collapse these conditionals now that things are more unified
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9726>
Mike Blumenkrantz [Mon, 2 Nov 2020 18:35:54 +0000 (13:35 -0500)]
zink: always flag xfb barrier on gfx flush when appropriate
we need this to be set for internal flushes too
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9726>
Mike Blumenkrantz [Mon, 2 Nov 2020 18:35:33 +0000 (13:35 -0500)]
zink: move zink_flush_compute() users to zink_flush_queue()
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9726>
Mike Blumenkrantz [Mon, 2 Nov 2020 17:23:13 +0000 (12:23 -0500)]
zink: rework public batch flush function to be useful again
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9726>
Mike Blumenkrantz [Tue, 23 Mar 2021 13:34:11 +0000 (09:34 -0400)]
zink: relax unreachable() to debug_printf when waiting on batch
I forgot that this was a reachable case pre-tc, but if there's no longer
a record of a batch_id then that just means it completed in the distant
past
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9772>
Jesse Natalie [Mon, 22 Mar 2021 18:19:16 +0000 (11:19 -0700)]
wgl: Fix wglCreatePbufferARB pixel format lookup
All other call sites of stw_pixelformat_get_info pass iPixelFormat as-is,
and stw_pixelformat_get_info also subtracts one internally, so I think
this was just an error.
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9760>
Mike Blumenkrantz [Wed, 17 Mar 2021 00:31:25 +0000 (20:31 -0400)]
zink: ci updates
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9607>
Mike Blumenkrantz [Fri, 11 Dec 2020 15:07:38 +0000 (10:07 -0500)]
zink: emulate PIPE_FORMAT_R8G8B8X8_UNORM
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9607>
Mike Blumenkrantz [Sun, 13 Dec 2020 15:25:37 +0000 (10:25 -0500)]
zink: handle blitting of color formats with ignored alpha channels
for e.g., R8G8B8X8 -> R8G8B8A8, we have to force a u_blitter call in order to use
a sampler which ignores alpha, otherwise we end up with broken rendering
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9607>
Mike Blumenkrantz [Sun, 13 Dec 2020 15:25:37 +0000 (10:25 -0500)]
zink: force PIPE_SWIZZLE_1 for X channels in samplerviews
this is generic handling for RGBX-type formats
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9607>
Mike Blumenkrantz [Fri, 19 Mar 2021 21:29:42 +0000 (17:29 -0400)]
zink: fix multisampled shader image load/store
I didn't ever have a driver to test on which could handle multisampled shader
images while writing this, but need to actually pass the sample id here
Fixes:
9cd2aff1a34 ("zink: add handling for all basic image ops in ntv")
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9724>
Mike Blumenkrantz [Fri, 19 Mar 2021 22:50:22 +0000 (18:50 -0400)]
zink: fix spirv image operand ordering
image operands are ordered by their operand's spirv value, meaning that
the availability operands need to go last here
Fixes:
882ab6afb77 ("zink: add spirv builder functions for image ops")
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9724>
Mike Blumenkrantz [Sun, 21 Mar 2021 14:47:30 +0000 (10:47 -0400)]
zink: move batch-tracked resources to fence object
these are effectively managed by the fence, so it makes sense to store
them there
the set is ralloc-allocated, so explicitly destroying it isn't needed
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9753>
Mike Blumenkrantz [Sun, 21 Mar 2021 14:45:48 +0000 (10:45 -0400)]
zink: always reset batch states when finding a new one
this is a bit safer
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9753>
Mike Blumenkrantz [Sun, 21 Mar 2021 14:44:55 +0000 (10:44 -0400)]
zink: make batch usage unsetting function public
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9753>
Mike Blumenkrantz [Tue, 3 Nov 2020 17:56:54 +0000 (12:56 -0500)]
zink: move 'batch_id' and 'is_compute' members to fence
prep for future work, no functional changes
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9753>
Tomeu Vizoso [Tue, 23 Mar 2021 08:35:17 +0000 (09:35 +0100)]
ci: Fix visibility property of LAVA jobs
LAVA expects a different syntax for this property:
https://docs.lavasoftware.org/lava/glossary.html#term-visibility
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Fixes:
84f91dfea517 ("CI: Change LAVA job visibility")
Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9770>
Tomeu Vizoso [Tue, 23 Mar 2021 08:33:32 +0000 (09:33 +0100)]
Revert "CI: Disable Panfrost T760"
The machines should be stable now.
This reverts commit
fc2814417e9961883feb079e0eef3d4d1705d2d6.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9770>
Tomeu Vizoso [Tue, 23 Mar 2021 08:19:24 +0000 (09:19 +0100)]
Revert "ci/panfrost: Disable t860/radeonsi testing while the runners are struggling."
Infrastructure should be more stable now.
This reverts commit
0a1c533c6e5ede82f33ac269fcb6bba8e0777262.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9770>
Tomeu Vizoso [Tue, 23 Mar 2021 08:19:09 +0000 (09:19 +0100)]
Revert "ci/panfrost: disable the rest of these jobs temporarily"
Infrastructure should be more stable now.
This reverts commit
806c612131f23255ad8235c90ba9845c1b235b11.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9770>
Mike Blumenkrantz [Tue, 23 Mar 2021 13:46:13 +0000 (09:46 -0400)]
softpipe: ci updates
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9741>
Mike Blumenkrantz [Sun, 21 Mar 2021 18:07:26 +0000 (14:07 -0400)]
st/glsl_to_nir: lower indirect derefs of builtins in non-packed uniform case
the builtin lowering can't handle dynamic array indexing, so this requires
that all indirect derefs be lowered any time this pass is invoked in order
to avoid crashing
fixes #4132
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9741>
Mike Blumenkrantz [Mon, 22 Mar 2021 17:41:12 +0000 (13:41 -0400)]
nir: add nir_lower_indirect_builtin_uniform_derefs()
this is a special version of indirect deref lowering which is used by
mesa/st to remove dynamic indexing from builtin uniforms for the lowering
pass in non-packed uniform case
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9741>