Rhys Perry
f03c20ffae
aco: fix WQM for texture instructions with args before the coordinates
...
Previously, we might not have required all coordinates to be in WQM if
there were other args before them. We should probably also require that
the offset is in WQM.
fossil-db (GFX10.3):
Totals from 10053 (7.21% of 139391) affected shaders:
SGPRs: 911032 -> 911048 (+0.00%); split: -0.00%, +0.00%
VGPRs: 689856 -> 688412 (-0.21%); split: -0.26%, +0.05%
CodeSize: 84151460 -> 84140396 (-0.01%); split: -0.02%, +0.01%
MaxWaves: 77526 -> 77527 (+0.00%)
Instrs: 15972106 -> 15971521 (-0.00%); split: -0.01%, +0.01%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4153
Fixes: 4015b3651a ("aco: only require texture coordinates to be in WQM if NSA is used")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8693 >
2021-01-25 16:31:39 +00:00
Mike Blumenkrantz
b415211ce9
zink: add a VkExternalMemoryImageCreateInfo for PIPE_BIND_SHARED images
...
required by spec
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8273 >
2021-01-25 16:14:30 +00:00
Samuel Pitoiset
7f1ad0538f
radv: enable sparseImageInt64Atomics/sparseImageFloat32Atomics
...
This should be supported. Note that CTS doesn't have tests for
sparseImageFloat32Atomics.
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/8643 >
2021-01-25 16:00:50 +00:00
Connor Abbott
cf5df15622
ntt: Assume that nir_tex_instr::dest_type is sized
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7989 >
2021-01-25 11:22:07 +01:00
Connor Abbott
ae7a9d0585
ir3: Assume that nir_tex_instr::dest_type is sized
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7989 >
2021-01-25 11:22:07 +01:00
Connor Abbott
5c92b3c460
panfrost: Assume that nir_tex_instr::dest_type is sized
...
Get rid of some now-redundant code, and cleanup the is-float check in
the bifrost compiler.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7989 >
2021-01-25 11:21:59 +01:00
Connor Abbott
6ca1ab3bb4
nir/lower_tex: Assume that nir_tex_instr::dest_type is sized
...
This reverts the code back to the form it was before, but with an
explicitly sized float32 instead of float, now that all producers are
switched over.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7989 >
2021-01-25 11:21:59 +01:00
Connor Abbott
708c47e663
nir: Validate nir_tex_instr::dest_type bitsize
...
In theory, we could also verify this against the sampler type for
sampler derefs, but there are a number of complications there:
- SPIR-V 1.4 lets you override the signedness of integer samplers
per-instruction. So the base type may not match.
- mediump/RelaxedPrecision samplers may get lowered to f16 in the
instruction or may not. So the bitsize may not match.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7989 >
2021-01-25 11:21:53 +01:00
Connor Abbott
65a35dc7ea
ptn: Use sized types for nir_tex_instr::dest_type
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7989 >
2021-01-25 11:21:53 +01:00
Connor Abbott
6af5181f13
vtn: Use sized types for nir_tex_instr::dest_type
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7989 >
2021-01-25 11:21:53 +01:00
Connor Abbott
d5e54c6edb
glsl/nir: Use sized types for nir_tex_instr::dest_type
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7989 >
2021-01-25 11:21:53 +01:00
Connor Abbott
60bb3fec54
st/atifs: Use sized types for nir_tex_instr::dest_type
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7989 >
2021-01-25 11:21:53 +01:00
Connor Abbott
8133649918
ttn: Use sized types for nir_tex_instr::dest_type
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7989 >
2021-01-25 11:21:53 +01:00
Connor Abbott
4b623afc3f
gallium/nir: Use sized types for nir_tex_instr::dest_type
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7989 >
2021-01-25 11:21:53 +01:00
Connor Abbott
ff0b7e0da9
st/mesa: Use sized types for nir_tex_instr::dest_type
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7989 >
2021-01-25 11:21:53 +01:00
Connor Abbott
b2da598ff9
nir: Use sized types for nir_tex_instr::dest_type
...
Revieweeviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7989 >
2021-01-25 11:21:48 +01:00
Connor Abbott
3ed9e75868
d3d12/blit: Use sized types for nir_tex_instr::dest_type
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7989 >
2021-01-25 11:21:48 +01:00
Connor Abbott
f0cb161e78
panfrost/blit: Use sized types for nir_tex_instr::dest_type
...
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7989 >
2021-01-25 11:21:43 +01:00
Connor Abbott
c81389ace0
dxil: Use sized types for nir_tex_instr::dest_type
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7989 >
2021-01-25 11:21:42 +01:00
Connor Abbott
5c41a416c1
anv: Use sized types for nir_tex_instr::dest_type
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7989 >
2021-01-25 11:21:42 +01:00
Connor Abbott
fe45fefe57
intel/blorp: Use sized types for nir_tex_instr::dest_type
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7989 >
2021-01-25 11:21:42 +01:00
Connor Abbott
2a470ab0d0
v3dv/meta: Use sized types for nir_tex_instr::dest_type
...
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7989 >
2021-01-25 11:21:42 +01:00
Connor Abbott
219b84fd5f
radv/meta: Use sized types for nir_tex_instr::dest_type
...
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7989 >
2021-01-25 11:21:42 +01:00
Connor Abbott
68969cbcb7
brw/vec4: Don't convert tex dest type to glsl_type
...
We were using nir_tex_instr::dest_type to a glsl_type, then passing it
to emit_texture(), only to just check the number of components. Just
pass the number of components directly. This lets us delete
brw_glsl_base_type_for_nir_type, which was asserting with
nir_texop_all_samples_equal because it didn't handle bool32.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7989 >
2021-01-25 11:21:42 +01:00
Connor Abbott
3d803893da
nir/lower_bool: Rewrite dest_type for boolean destinations
...
This happens with nir_texop_samples_identical, and we need to keep
things consistent and (soon) keep the validator happy when expanding
booleans once we switch that to having a dest_type of bool1.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7989 >
2021-01-25 11:21:42 +01:00
Connor Abbott
3d6fe93382
ntt: Handle sized tex destination types
...
I believe this code doesn't handle 16-bit destination types so we only
need to handle float32, etc.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7989 >
2021-01-25 11:21:42 +01:00
Connor Abbott
23beffadea
freedreno/ir3: Handle sized tex destination types
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7989 >
2021-01-25 11:21:42 +01:00
Connor Abbott
acd6616eab
nir/lower_tex: Handle sized tex destination types
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7989 >
2021-01-25 11:21:26 +01:00
Lionel Landwerlin
65f7b93435
intel: silence unused var warnings in release builds
...
v2: Use ASSERTED
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4162
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8681 >
2021-01-25 09:04:32 +00:00
Dave Airlie
c196ffaca6
vk-device-select: add device group support
...
This just sorts CPU device groups last in case an app tries to
use the first device group.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8551 >
2021-01-25 07:08:14 +10:00
Erico Nunes
250b511f8e
lima/ppir: fix creation of mov node for non-ssa tex dest
...
In ppir when a texture node has only a single successor, it is used
directly to output the texture lookup value, in order to save the
insertion of a mov.
However, a sequence like this can happen:
r0 = (float)tex r8 (coord), 0 (texture), 0 (sampler)
r1 = mov r0.z
In this case, even if the mov is a single successor, the assumption
that only the elements needed by the successor node cannot be made.
The target register can also be read or written elsewhere and so the
simplification cannot be made. Add an exception to cover this case.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Andreas Baierl <ichgeh@imkreisrum.de >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8517 >
2021-01-24 13:35:49 +00:00
Mike Blumenkrantz
b6f8f3a3ba
zink: fix streamout for clipdistance
...
the assert added here during review broke this since clipdistance is 8 components
Fixes: 9eec52c67e ("zink: tweak xfb slot mapping in ntv")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8673 >
2021-01-24 02:21:04 +00:00
Rob Clark
f0b0095fec
ci/freedreno/a6xx: Skip vs-output-array-vec2-index-wr-before-gs
...
This one test seems to be destroying the world, and causing massive
flakeyness, and is generally more a recovery/GMU stress test than
anything.
See #4159
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8659 >
2021-01-23 10:22:31 -08:00
Rob Clark
03c28278a7
freedreno: Add perf_warn() for missed UBWC opportunities
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8659 >
2021-01-23 09:57:48 -08:00
Rob Clark
55f4f6882f
freedreno/a6xx: Add helper to check if UBWC is supported
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8659 >
2021-01-23 09:57:48 -08:00
Rob Clark
38b073ebfe
freedreno: Add fmt/args macros for pipe_resource
...
Deduplicate some long debug prints before adding more.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8659 >
2021-01-23 09:57:48 -08:00
Rob Clark
a065682f30
freedreno: Add perf_warn() trace helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8659 >
2021-01-23 09:57:48 -08:00
Keith Packard
d548d781ee
glx: Provide glvnd wrapper for glXSwapIntervalEXT
...
When using glvnd, this function needs to be exposed through
getDispatchAddress or libglvnd will not find it.
Signed-off-by: Keith Packard <keithp@keithp.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Fixes: 60ebeb4608 "glx: Implement GLX_EXT_swap_control for DRI2 and DRI3"
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8621 >
2021-01-22 22:34:23 -08:00
Juan A. Suarez Romero
8588fb65d6
vc4/ci: Replace expect script by python script
...
Replace the expect-based script to turn on/off the Raspberry Pi devices
using a python-based script.
v2:
- Fix small nitpicks (Juan)
- Limit line length (Andres)
v3:
- Bump image tags (Eric, Andres)
v4:
- Bump image tags (Eric)
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Acked-by: Andres Gomez <agomez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8362 >
2021-01-23 05:35:24 +00:00
Mike Blumenkrantz
64fd191d8a
spirv: handle NoContraction in GLSL450 alu ops
...
we were dropping this when it was set, leading to incorrect algebraic
optimizations that broke various types of tests, e.g., running
spec@arb_gpu_shader5@execution@precise@fs-fract-of-nan in zink
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6116 >
2021-01-23 01:39:09 +00:00
Mike Blumenkrantz
3c3764f7df
zink: don't force a renderpass start when setting framebuffer state
...
this breaks compute and isn't strictly necessary since we'll be starting
a renderpass during draw anyway; we just need to flush here to update the
state
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8662 >
2021-01-23 01:11:24 +00:00
Mike Blumenkrantz
2bc24c7e46
zink: add function for waiting on a specific batch's fence
...
previously we only had zink_fence_wait(), which just waits on the
current batch to finish, but it may be the case that we don't want to
wait on all batches up to that point, so we can optimize a bit by only
waiting as long as we have to
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8662 >
2021-01-23 01:11:24 +00:00
Mike Blumenkrantz
53d9beb9b8
gallium/u_inlines: add helper for simplifying pipe_context::resource_copy_region
...
this hook has too many params, and I only need like half of them
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8624 >
2021-01-22 23:47:03 +00:00
Mike Blumenkrantz
cacb3e1826
zink: enable PIPE_CAP_SAMPLER_VIEW_TARGET
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8629 >
2021-01-22 22:37:46 +00:00
Chia-I Wu
d37124b065
virgl: add support for VIRGL_CAP_V2_UNTYPED_RESOURCE
...
An untyped resource is a blob resource that contains only raw bytes
without type information (e.g., width, height, format, etc.). virgl
supports only typed resources, and when it encounters untyped resources,
it fails silently in the host.
This cap enables virgl to assign type information to untyped resources.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-By: Isaac Bosompem <mrisaacb@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8584 >
2021-01-22 21:25:49 +00:00
Chia-I Wu
41366ba494
virgl: update headers
...
Signed-off-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-By: Isaac Bosompem <mrisaacb@google.com >
Acked-By: Gurchetan Singh <gurchetansingh@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8584 >
2021-01-22 21:25:48 +00:00
Erik Faye-Lund
fb65285629
docs/zink: add GL 4.2 requirements
...
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8648 >
2021-01-22 21:22:26 +00:00
Erik Faye-Lund
d0e7a7d58d
docs/zink: add GL 4.1 requirements
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8648 >
2021-01-22 21:22:26 +00:00
Erik Faye-Lund
c3d7de47cd
docs/zink: add GL 4.0 requirements
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8648 >
2021-01-22 21:22:26 +00:00
Erik Faye-Lund
4374e8e99f
docs/zink: fix phrasing of GL 3.3 requirements
...
These requirements aren't all about VkPhysicalDeviceFeatures, so let's
make the text reflect that.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8648 >
2021-01-22 21:22:26 +00:00