URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=35e20f026974231d37aa974f9013182b78e8bbac
Author: Timothy Arceri <[email protected]>
Date: Wed Aug 18 13:57:14 2021 +1000
glsl: fix variable scope for instructions inside case statements
Fixes: 665d75cc5a23 ("glsl: Fix scoping bug in if statements.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5247
Reviewed-by: Marcin Ślusarz <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12435>
(cherry picked from commit 02b394023b74620092c45734dcdb531e97d6f19d)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c351e85ce53bd394b724436906109ba9b278d0e4
Author: Jason Ekstrand <[email protected]>
Date: Thu Aug 19 10:51:17 2021 -0500
anv: Set CONTEXT_PARAM_RECOVERABLE to false
We want the kernel to ban our context immediately instead of foolhardily
attempting to recover.
Reviewed-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Cc: [email protected]
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12476>
(cherry picked from commit a6a449837b1753a70894a6d532262df2ec0de873)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=bb8f453c3f9674051b54b9f6b475a4bb8754a975
Author: Simon Ser <[email protected]>
Date: Sat Aug 14 14:05:43 2021 +0200
v3d: implement resource_get_param
Prior to this commit, the stride, offset and modifier were fetched
via WINSYS_HANDLE_TYPE_KMS. However we can't make such a query
succeed if the buffer couldn't be imported to the KMS device.
Instead, implement the resource_get_param hook to allow users to
fetch this information without WINSYS_HANDLE_TYPE_KMS.
A tiny helper function is introduced to compute the modifier of a
resource.
Signed-off-by: Simon Ser <[email protected]>
Fixes: 7bcb22363935 ("v3d, vc4: Fix dmabuf import for non-scanout buffers")
Reported-by: Roman Stratiienko <[email protected]>
Reviewed-by: Daniel Stone <[email protected]>
Reviewed-by: Jose Maria Casanova Crespo <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12370>
(cherry picked from commit 8de086e12f5a20a75b227e48faeb83d9aacb21c3)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3b5e9336d3e8aef66d35777f36b3fa979318cae1
Author: Simon Ser <[email protected]>
Date: Sat Aug 14 14:07:28 2021 +0200
vc4: implement resource_get_param
Prior to this commit, the stride, offset and modifier were fetched
via WINSYS_HANDLE_TYPE_KMS. However we can't make such a query
succeed if the buffer couldn't be imported to the KMS device.
Instead, implement the resource_get_param hook to allow users to
fetch this information without WINSYS_HANDLE_TYPE_KMS.
A tiny helper function is introduced to compute the modifier of a
resource.
Signed-off-by: Simon Ser <[email protected]>
Fixes: 7bcb22363935 ("v3d, vc4: Fix dmabuf import for non-scanout buffers")
Reported-by: Roman Stratiienko <[email protected]>
Reviewed-by: Daniel Stone <[email protected]>
Reviewed-by: Jose Maria Casanova Crespo <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12370>
(cherry picked from commit b1fbceac6f840172e2aeae929072ed92a4c47eb0)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=bb486ab88189ac5bd255ddd04a526f0ea769daa3
Author: Simon Ser <[email protected]>
Date: Sat Aug 14 14:03:58 2021 +0200
panfrost: implement resource_get_param
Prior to this commit, the stride, offset and modifier were fetched
via WINSYS_HANDLE_TYPE_KMS. However we can't make such a query
succeed if the buffer couldn't be imported to the KMS device.
Instead, implement the resource_get_param hook to allow users to
fetch this information without WINSYS_HANDLE_TYPE_KMS.
Signed-off-by: Simon Ser <[email protected]>
Fixes: 4c092947df30 ("panfrost: fail in get_handle(TYPE_KMS) without a
scanout resource")
Reported-by: Roman Stratiienko <[email protected]>
Reviewed-by: Daniel Stone <[email protected]>
Reviewed-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12370>
(cherry picked from commit 99fc6f7271c611b58779a0e5c8a7d1764570449d)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=02913a71e22e48b237ac85806bbd7ad45c4bb8eb
Author: Simon Ser <[email protected]>
Date: Sat Aug 14 13:57:15 2021 +0200
etnaviv: add stride, offset and modifier to resource_get_param
Prior to this commit, the stride, offset and modifier were fetched
via WINSYS_HANDLE_TYPE_KMS. However we can't make such a query
succeed if the buffer couldn't be imported to the KMS device.
Instead, extend the resource_get_param hook to allow users to fetch
this information without WINSYS_HANDLE_TYPE_KMS.
Signed-off-by: Simon Ser <[email protected]>
Fixes: 9da901d2b2e7 ("etnaviv: fail in get_handle(TYPE_KMS) without a
scanout resource")
Reported-by: Roman Stratiienko <[email protected]>
Reviewed-by: Lucas Stach <[email protected]>
Reviewed-by: Daniel Stone <[email protected]>
Reviewed-by: Christian Gmeiner <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12370>
(cherry picked from commit b5919b0b106dbdf5f5da6733e83cc532bdf257d8)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=02a0222ab01201e44d4d441532fa12eeee5a8353
Author: Erik Faye-Lund <[email protected]>
Date: Tue Aug 17 19:42:21 2021 +0200
gallium/nir/tgsi: initialize file_max for inputs
When this was rewritten to support Vulkan, we stopped initializing
file_max to -1 in the case of no inputs. This causes the draw module
to go down a needlessly pessimistic case, printing an error while we're
at it.
Fixes: 42b5cfdbd26 ("gallivm/nir: fix vulkan vertex inputs")
Reviewed-by: Dave Airlie <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12440>
(cherry picked from commit 63529782d33b4c23282cebd7aef57bd70ff4e3fc)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1043202318e70aa51c8ad6a2b911d2c572dbff7a
Author: Erik Faye-Lund <[email protected]>
Date: Tue Aug 17 19:41:03 2021 +0200
gallium/nir/tgsi: fixup indentation
This was using mixed tabs and spaces, let's fix that before we start
modifying the code.
Fixes: 42b5cfdbd26 ("gallivm/nir: fix vulkan vertex inputs")
Reviewed-by: default avatarDave Airlie <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12440>
(cherry picked from commit 46746980081a8737b059dfcde7a0fea469837974)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=04f50324e914601fe99fe349a4f24cc82a72411d
Author: Ilia Mirkin <[email protected]>
Date: Wed Aug 11 22:26:07 2021 -0400
mesa: don't return errors for gl_* GetFragData* queries
There is nothing in the spec about this. BindFragDataLocation* is
supposed to return an error, but not Get.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5221
Fixes: 59012c3133 ("mesa: Implement glGetFragDataLocation")
Signed-off-by: Ilia Mirkin <[email protected]>
Reviewed-by: Timothy Arceri <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12333>
(cherry picked from commit bce19b3a779fd3526ef6368bc2fb180da23ba53e)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4e7cdec32aa1b4bc6547559b7145ad380949ce20
Author: Mike Blumenkrantz <[email protected]>
Date: Tue Aug 17 14:04:16 2021 -0400
nir/lower_vectorize_tess_levels: set num_components for vectorized loads
this otherwise explodes when rewriting e.g., a single array component load
to a vec4
Fixes: f5adf27fb92 ("nir,radv: add and use nir_vectorize_tess_levels()")
fixes zmike/mesa#94
Reviewed-by: Rhys Perry <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12419>
(cherry picked from commit 649251ad4e031609dafd4034b802d292fea6131c)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=743be67f010a2a72c3271ff3767c233e4774cbad
Author: Mao, Marc <[email protected]>
Date: Wed Aug 18 07:56:58 2021 +0300
iris: declare padding for iris_vue_prog_key
Otherwise with some compilers/environments (Android) padding
may contain garbage and memcmp of the key will fail.
Cc: mesa-stable
Signed-off-by: Tapani Pälli <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12438>
(cherry picked from commit fae1e99a15d12b82f65c77c90425335fec7562f1)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ad5401cae2f115d9cd2082994b1b4d651cdfa88f
Author: Roman Stratiienko <[email protected]>
Date: Fri Aug 13 20:04:51 2021 +0300
lima: Implement lima_resource_get_param() callback
Currently stride, offset, modifier is obtained by invoking
lima_resource_get_handle() with WINSYS_HANDLE_TYPE_KMS.
Before commit 47f000c170cc this path was working. Obtained handle
was simply ignored by DRI frontend and only requested data used.
After commit 47f000c170cc such requests started to fail when
DRI is initialized using KMSRO and resource has no scanout data.
When lima_resource_get_param() is implemented, it will be used in
a first place to obtain resource data.
Fixes: 47f000c170cc ("lima: fail in get_handle(TYPE_KMS) without a scanout
resource")
Signed-off-by: Roman Stratiienko <[email protected]>
Reviewed-by: Simon Ser <[email protected]>
Reviewed-by: Erico Nunes <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12362>
(cherry picked from commit 5ec6b6e9bbf607935cf864e63c9b555621fca590)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f1be5c49277d4579956afebd577817eb7753e931
Author: Marcin Ślusarz <[email protected]>
Date: Fri Aug 13 16:39:09 2021 +0200
glsl/opt_algebraic: disable invalid optimization
When operators other than eq and ne are involved we can't really
move operands around and negate them because such transformation
may change the value of the whole expression.
Some examples:
For unsigned var:
0 >= 1u + var would eventually become 0xffffffff >= var,
which would always evaluate to true, when original expression
was true only for var == 0xffffffff.
For signed var:
0 >= 1 + var would become -1 >= var, which would evaluate to
false for var == 2147483647, when original expression evaluated
to true (because signed overflow is defined to wrap around in
glsl, 1 + 2147483647 == -2147483648, so 0 >= -2147483648).
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5226
Fixes: 34ec1a24d61 ("glsl: Optimize (x + y cmp 0) into (x cmp -y).")
Signed-off-by: Marcin Ślusarz <[email protected]>
Reviewed-by: Alyssa Rosenzweig <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12359>
(cherry picked from commit 89bc8ff4083029187f099af531e4db0e223c62ca)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=063cf3056950655c29662979156be1d3fcdf4db1
Author: Eric Engestrom <[email protected]>
Date: Sat Aug 8 16:07:49 2020 +0200
isl: drop left-over comment
Fixes: cf9ff082b48779c52fa6 ("isl: Bring back isl_format_layout::bpb")
Signed-off-by: Eric Engestrom <[email protected]>
Reviewed-by: Alyssa Rosenzweig <[email protected]>
Reviewed-by: Dylan Baker <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3674>
(cherry picked from commit 773a70f9cb1c53b55f629fab812abb0c47db42fb)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f78cbf4177b85ceaad1cd8c0721de9b428dea348
Author: Eric Engestrom <[email protected]>
Date: Sat Aug 8 16:10:16 2020 +0200
Revert "python: Explicitly add the 'L' suffix on Python 3"
This reverts commit ad363913e6766280f53838126d67370f9e97aa12.
This code was added to be able to compare the output file while porting
the script from python2 to python3, but this has long been finished and
the extra complexity is not needed anymore.
Signed-off-by: Eric Engestrom <[email protected]>
Reviewed-by: Alyssa Rosenzweig <[email protected]>
Reviewed-by: Dylan Baker <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3674>
(cherry picked from commit 93cb3aca0347bf4a9ed31226627672b178841cfb)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1918a73fd6297ffbadf22eb23e0940710f84f153
Author: Alyssa Rosenzweig <[email protected]>
Date: Thu Aug 12 18:54:49 2021 +0000
drm-shim: Support kernels with >4k pages
mmap requires its offset is page aligned, but the current code only
guarantees 4k alignment, causing drm-shim to break badly on kernels with
>4k page sizes. This fixes drm-shim on my Apple M1, running bare metal
Linux with 16k pages. It probably also fixes exotic PowerPC systems with
64k pages.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Reviewed-by: Zoltan Boszormenyi <[email protected]>
Reviewed-by: Adam Jackson <[email protected]>
Reviewed-by: Emma Anholt <[email protected]>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12347>
(cherry picked from commit 38f39cc1e21569c1bc0ffa56d402d042761be16c)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fb272e557fc2fbb37e8bbaf3f52cc55dddef0869
Author: Lionel Landwerlin <[email protected]>
Date: Wed Aug 11 12:57:37 2021 +0300
anv/android: handle image bindings from gralloc buffers
When creating an image out of a swapchain on Android, the android
layer call will detect a VkBindImageMemorySwapchainInfoKHR in the
pNext chain of the vkBindImageMemory2() call and add a
VkNativeBufferANDROID in the chain. This is what we should use as
backing memory for that image.
v2: Fix a couple of obvious mistakes (Tapani)
v3: Silence build warning (Lionel)
Fix invalid object argument to vk_error() (Lionel)
Signed-off-by: Lionel Landwerlin <[email protected]>
Fixes: bc3c71b87ae0b8 ("anv: don't try to access Android swapchains")
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5180
Reviewed-by: Tapani Pälli <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12244>
(cherry picked from commit 19b7bbba7300c013dca67f931cad3e55dfc3722b)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7532df334940e6bbbde7a1a766ffb03f4000feec
Author: Vinson Lee <[email protected]>
Date: Mon Aug 9 14:24:07 2021 -0700
nir: Initialize evaluate_cube_face_index_amd dst.x.
Fix defect reported by Coverity Scan.
Uninitialized scalar variable (UNINIT)
uninit_use: Using uninitialized value dst.x.
Fixes: a1a2a8dfda7 ("nir: add AMD_gcn_shader extended instructions")
Signed-off-by: Vinson Lee <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12290>
(cherry picked from commit 8d679f4f4e8d33402f11ab3da93ff815e4c44538)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=db97e400ba5e4783a056a817535957bce28b85b5
Author: Vinson Lee <[email protected]>
Date: Mon Aug 9 18:12:22 2021 -0700
meson: Remove duplicate xvmc in build summary.
Fixes: d30ce03bc07 ("meson: add build-summary")
Signed-off-by: Vinson Lee <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12296>
(cherry picked from commit c0fc745b78bc84b07f43b0114e2fac54938eca63)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4a53401507c2b330758f3c35abfdac4eaee87149
Author: Ian Romanick <[email protected]>
Date: Mon Aug 2 21:33:17 2021 -0700
intel/fs: sel.cond writes the flags on Gfx4 and Gfx5
On Gfx4 and Gfx5, sel.l (for min) and sel.ge (for max) are implemented
using a separte cmpn and sel instruction. This lowering occurs in
fs_vistor::lower_minmax which is called very, very late... a long, long
time after the first calls to opt_cmod_propagation. As a result,
conditional modifiers can be incorrectly propagated across sel.cond on
those platforms.
No tests were affected by this change, and I find that quite shocking.
After just changing flags_written(), all of the atan tests started
failing on ILK. That required the change in cmod_propagatin (and the
addition of the prop_across_into_sel_gfx5 unit test).
Shader-db results for ILK and GM45 are below. I looked at a couple
before and after shaders... and every case that I looked at had
experienced incorrect cmod propagation. This affected a LOT of apps!
Euro Truck Simulator 2, The Talos Principle, Serious Sam 3, Sanctum 2,
Gang Beasts, and on and on... :(
I discovered this bug while working on a couple new optimization
passes. One of the passes attempts to remove condition modifiers that
are never used. The pass made no progress except on ILK and GM45.
After investigating a couple of the affected shaders, I noticed that
the code in those shaders looked wrong... investigation led to this
cause.
v2: Trivial changes in the unit tests.
v3: Fix type in comment in unit tests. Noticed by Jason and Priit.
v4: Tweak handling of BRW_OPCODE_SEL special case. Suggested by Jason.
Fixes: df1aec763eb ("i965/fs: Define methods to calculate the flag subset
read or written by an fs_inst.")
Reviewed-by: Jason Ekstrand <[email protected]>
Tested-by: Dave Airlie <[email protected]>
Iron Lake
total instructions in shared programs: 8180493 -> 8181781 (0.02%)
instructions in affected programs: 541796 -> 543084 (0.24%)
helped: 28
HURT: 1158
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 0.35% max: 0.86% x̄: 0.53% x̃: 0.50%
HURT stats (abs) min: 1 max: 3 x̄: 1.14 x̃: 1
HURT stats (rel) min: 0.12% max: 4.00% x̄: 0.37% x̃: 0.23%
95% mean confidence interval for instructions value: 1.06 1.11
95% mean confidence interval for instructions %-change: 0.31% 0.38%
Instructions are HURT.
total cycles in shared programs: 239420470 -> 239421690 (<.01%)
cycles in affected programs: 2925992 -> 2927212 (0.04%)
helped: 49
HURT: 157
helped stats (abs) min: 2 max: 284 x̄: 62.69 x̃: 70
helped stats (rel) min: 0.04% max: 6.20% x̄: 1.68% x̃: 1.96%
HURT stats (abs) min: 2 max: 48 x̄: 27.34 x̃: 24
HURT stats (rel) min: 0.02% max: 2.91% x̄: 0.31% x̃: 0.20%
95% mean confidence interval for cycles value: -0.80 12.64
95% mean confidence interval for cycles %-change: -0.31% <.01%
Inconclusive result (value mean confidence interval includes 0).
GM45
total instructions in shared programs: 4985517 -> 4986207 (0.01%)
instructions in affected programs: 306935 -> 307625 (0.22%)
helped: 14
HURT: 625
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 0.35% max: 0.82% x̄: 0.52% x̃: 0.49%
HURT stats (abs) min: 1 max: 3 x̄: 1.13 x̃: 1
HURT stats (rel) min: 0.12% max: 3.90% x̄: 0.34% x̃: 0.22%
95% mean confidence interval for instructions value: 1.04 1.12
95% mean confidence interval for instructions %-change: 0.29% 0.36%
Instructions are HURT.
total cycles in shared programs: 153827268 -> 153828052 (<.01%)
cycles in affected programs: 1669290 -> 1670074 (0.05%)
helped: 24
HURT: 84
helped stats (abs) min: 2 max: 232 x̄: 64.33 x̃: 67
helped stats (rel) min: 0.04% max: 4.62% x̄: 1.60% x̃: 1.94%
HURT stats (abs) min: 2 max: 48 x̄: 27.71 x̃: 24
HURT stats (rel) min: 0.02% max: 2.66% x̄: 0.34% x̃: 0.14%
95% mean confidence interval for cycles value: -1.94 16.46
95% mean confidence interval for cycles %-change: -0.29% 0.11%
Inconclusive result (value mean confidence interval includes 0).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12191>
(cherry picked from commit 38807ceeaeb8d31c03f412726e72bee55bd21e32)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7e847fa52f0bb8e165db0d5e5aaf02833a3acdbb
Author: Marcin Ślusarz <[email protected]>
Date: Fri Aug 6 12:14:38 2021 +0200
nir/builder: invalidate metadata per function
Fixes: a62098fff20 ("nir: Add a helper for general instruction-modifying
passes.")
Signed-off-by: Marcin Ślusarz <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12324>
(cherry picked from commit e1b325f58730d8fd82829c538c9e83aa193c4eba)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c63793dc478d99af62ccd166c234e87218d511fa
Author: Boris Brezillon <[email protected]>
Date: Fri Aug 6 14:53:33 2021 +0200
panfrost: Fix pan_blitter_emit_bifrost_blend()
If we return inside a pan_pack() the descriptor packing doesn't happen.
Cc: mesa-stable
Fixes: 8ba2f9f69858 ("panfrost: Create a blitter library to replace the
existing preload helpers")
Signed-off-by: Boris Brezillon <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12239>
(cherry picked from commit 06fc6e46f039712aa03e1b0c6d14a5159b9c50b0)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6371a764098d4ff9638320690fdc28c265a5696a
Author: Eric Engestrom <[email protected]>
Date: Sun Aug 22 12:35:49 2021 +0100
.pick_status.json: Update to 8bb9e9e76fa1f062c8da9536e9ee209b2dc268f7