Rhys Perry
11b533cb19
aco: optimize load_local_invocation_index with single-wave workgroups
...
fossil-db (Sienna Cichlid):
Totals from 668 (0.52% of 128647) affected shaders:
CodeSize: 2201912 -> 2193336 (-0.39%)
Instrs: 403124 -> 402325 (-0.20%)
Latency: 4510940 -> 4510214 (-0.02%); split: -0.02%, +0.00%
InvThroughput: 681057 -> 679453 (-0.24%); split: -0.24%, +0.00%
VClause: 6470 -> 6467 (-0.05%)
SClause: 12759 -> 12755 (-0.03%)
Copies: 26348 -> 26218 (-0.49%); split: -0.50%, +0.00%
PreSGPRs: 26140 -> 26101 (-0.15%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel-schuermann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13757 >
2021-11-12 18:59:51 +00:00
Rhys Perry
2d07bcad66
radv: lower load_local_invocation_index with 1D workgroups
...
For 1D workgroups, we can just load from an input VGPR.
fossil-db (Sienna Cichlid):
Totals from 226 (0.18% of 128647) affected shaders:
CodeSize: 1200476 -> 1195696 (-0.40%); split: -0.49%, +0.09%
Instrs: 223817 -> 223328 (-0.22%); split: -0.29%, +0.07%
Latency: 2552394 -> 2549606 (-0.11%); split: -0.15%, +0.04%
InvThroughput: 533989 -> 532670 (-0.25%); split: -0.27%, +0.02%
VClause: 5191 -> 5188 (-0.06%)
SClause: 7637 -> 7636 (-0.01%)
Copies: 18165 -> 18182 (+0.09%); split: -0.22%, +0.31%
Branches: 10446 -> 10442 (-0.04%)
PreSGPRs: 8049 -> 8041 (-0.10%); split: -0.17%, +0.07%
PreVGPRs: 7785 -> 7767 (-0.23%); split: -0.32%, +0.09%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel-schuermann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13757 >
2021-11-12 18:59:51 +00:00
Rhys Perry
719b48f85d
nir/lower_system_values: replace local_invocation_id components with zero
...
fossil-db (Sienna Cichlid):
Totals from 360 (0.28% of 128647) affected shaders:
VGPRs: 7912 -> 7272 (-8.09%); split: -8.59%, +0.51%
CodeSize: 542456 -> 544688 (+0.41%); split: -0.32%, +0.73%
MaxWaves: 10866 -> 10952 (+0.79%)
Instrs: 95973 -> 96010 (+0.04%); split: -0.34%, +0.38%
Latency: 4366023 -> 4344664 (-0.49%); split: -0.90%, +0.41%
InvThroughput: 19656659 -> 18297185 (-6.92%); split: -6.92%, +0.00%
VClause: 3242 -> 3116 (-3.89%); split: -4.04%, +0.15%
SClause: 3422 -> 3504 (+2.40%); split: -0.20%, +2.60%
Copies: 8854 -> 9376 (+5.90%); split: -0.89%, +6.79%
Branches: 2329 -> 2326 (-0.13%); split: -0.39%, +0.26%
PreSGPRs: 7620 -> 7841 (+2.90%); split: -0.43%, +3.33%
PreVGPRs: 5765 -> 5504 (-4.53%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel-schuermann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13757 >
2021-11-12 18:59:51 +00:00
Connor Abbott
a9b4a507fe
tu: Expose Vulkan 1.2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13756 >
2021-11-12 18:14:34 +00:00
Connor Abbott
c6216c941c
tu: Add VK_KHR_buffer_device_address stubs
...
dEQP-VK.api.version_check.entry_points requires us to return a function
pointer, even though the feature is optional in Vulkan 1.2.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13756 >
2021-11-12 18:14:34 +00:00
Connor Abbott
952ab4f64f
tu: Enable subgroupBroadcastDynamicId
...
It's a Vulkan 1.2 only feature, but it's trivially supported.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13756 >
2021-11-12 18:14:34 +00:00
Ilia Mirkin
170e1aa647
freedreno/a[345]xx: add R8/RG8 SRGB formats
...
These enable the GL_EXT_texture_sRGB_R8 / GL_EXT_texture_sRGB_RG8
extensions.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13765 >
2021-11-12 17:22:02 +00:00
Ilia Mirkin
8db29109be
freedreno: prefer float immediates when float values are involved
...
Using double immediates can cause a natively-float value to have to get
upgraded to a double unnecessarily. Use float immediates where possible.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13764 >
2021-11-12 16:48:49 +00:00
Alyssa Rosenzweig
4e83584092
pan/mdg: Remove duplicate compiler option
...
Noted by clang.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723 >
2021-11-12 16:30:02 +00:00
Alyssa Rosenzweig
a4d3a29647
pan/bi: Enable dual texture fusing pass
...
Everything is in place for it now -- ship it! Our Bifrost cycle model is
coarse, so take the shader-db results with a massive spoonful of salt:
total instructions in shared programs: 107504 -> 107252 (-0.23%)
instructions in affected programs: 39692 -> 39440 (-0.63%)
helped: 191
HURT: 1
helped stats (abs) min: 1.0 max: 20.0 x̄: 1.32 x̃: 1
helped stats (rel) min: 0.11% max: 9.52% x̄: 1.21% x̃: 0.98%
HURT stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
HURT stats (rel) min: 2.04% max: 2.04% x̄: 2.04% x̃: 2.04%
95% mean confidence interval for instructions value: -1.60 -1.02
95% mean confidence interval for instructions %-change: -1.37% -1.01%
Instructions are helped.
total tuples in shared programs: 89864 -> 89664 (-0.22%)
tuples in affected programs: 27787 -> 27587 (-0.72%)
helped: 146
HURT: 6
helped stats (abs) min: 1.0 max: 17.0 x̄: 1.54 x̃: 1
helped stats (rel) min: 0.14% max: 15.38% x̄: 1.83% x̃: 1.25%
HURT stats (abs) min: 1.0 max: 11.0 x̄: 4.17 x̃: 2
HURT stats (rel) min: 0.54% max: 3.55% x̄: 1.29% x̃: 0.87%
95% mean confidence interval for tuples value: -1.64 -0.99
95% mean confidence interval for tuples %-change: -2.06% -1.36%
Tuples are helped.
total clauses in shared programs: 18253 -> 18044 (-1.15%)
clauses in affected programs: 5127 -> 4918 (-4.08%)
helped: 164
HURT: 1
helped stats (abs) min: 1.0 max: 19.0 x̄: 1.28 x̃: 1
helped stats (rel) min: 0.78% max: 28.57% x̄: 6.73% x̃: 5.88%
HURT stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
HURT stats (rel) min: 2.94% max: 2.94% x̄: 2.94% x̃: 2.94%
95% mean confidence interval for clauses value: -1.50 -1.04
95% mean confidence interval for clauses %-change: -7.42% -5.91%
Clauses are helped.
total cycles in shared programs: 8118.54 -> 8103.88 (-0.18%)
cycles in affected programs: 414.96 -> 400.29 (-3.53%)
helped: 43
HURT: 27
helped stats (abs) min: 0.041665999999999315 max: 4.375 x̄: 0.41 x̃: 0
helped stats (rel) min: 0.24% max: 50.00% x̄: 11.49% x̃: 5.26%
HURT stats (abs) min: 0.041665999999999315 max: 1.1666639999999973 x̄:
0.10 x̃: 0
HURT stats (rel) min: 0.43% max: 4.71% x̄: 1.42% x̃: 1.28%
95% mean confidence interval for cycles value: -0.35 -0.07
95% mean confidence interval for cycles %-change: -9.50% -3.53%
Cycles are helped.
total arith in shared programs: 3375.67 -> 3376.42 (0.02%)
arith in affected programs: 345.29 -> 346.04 (0.22%)
helped: 24
HURT: 32
helped stats (abs) min: 0.041665999999999315 max: 0.5833329999999997 x̄:
0.09 x̃: 0
helped stats (rel) min: 0.24% max: 14.29% x̄: 2.82% x̃: 1.50%
HURT stats (abs) min: 0.041665999999999315 max: 1.1666639999999973 x̄:
0.09 x̃: 0
HURT stats (rel) min: 0.43% max: 4.71% x̄: 1.42% x̃: 1.28%
95% mean confidence interval for arith value: -0.04 0.07
95% mean confidence interval for arith %-change: -1.19% 0.39%
Inconclusive result (value mean confidence interval includes 0).
total texture in shared programs: 1275 -> 1157 (-9.25%)
texture in affected programs: 725.50 -> 607.50 (-16.26%)
helped: 192
HURT: 0
helped stats (abs) min: 0.5 max: 10.0 x̄: 0.61 x̃: 0
helped stats (rel) min: 2.86% max: 50.00% x̄: 25.20% x̃: 25.00%
95% mean confidence interval for texture value: -0.72 -0.51
95% mean confidence interval for texture %-change: -27.12% -23.27%
Texture are helped.
total vary in shared programs: 537.88 -> 536.12 (-0.33%)
vary in affected programs: 2.75 -> 1 (-63.64%)
helped: 1
HURT: 0
total quadwords in shared programs: 79762 -> 79681 (-0.10%)
quadwords in affected programs: 10261 -> 10180 (-0.79%)
helped: 59
HURT: 18
helped stats (abs) min: 1.0 max: 14.0 x̄: 1.88 x̃: 1
helped stats (rel) min: 0.38% max: 8.20% x̄: 1.95% x̃: 1.43%
HURT stats (abs) min: 1.0 max: 4.0 x̄: 1.67 x̃: 1
HURT stats (rel) min: 0.46% max: 8.89% x̄: 2.22% x̃: 1.21%
95% mean confidence interval for quadwords value: -1.57 -0.53
95% mean confidence interval for quadwords %-change: -1.59% -0.37%
Quadwords are helped.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723 >
2021-11-12 16:30:02 +00:00
Alyssa Rosenzweig
0c215813f7
pan/bi: Test dual texture fusing
...
These patterns are quite tricky, so let's make sure we're testing
adequately.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723 >
2021-11-12 16:30:02 +00:00
Alyssa Rosenzweig
9146bafbb4
pan/bi: Add dual texture fusing pass
...
Bifrost supports a special "dual texture" instruction, sampling from two
textures at once at the same coordinate. Each subinstruction is highly
restricted (a subset of TEXS_2D); together, they are represented by TEXC
with a special dual texture operation descriptor. Add an optimization
pass to fuse these instructions.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723 >
2021-11-12 16:30:02 +00:00
Alyssa Rosenzweig
e6c6a1afb4
pan/bi: Fix up dual texturing registers
...
This must be done after RA. How delightful. Use the GenXML strategy to
just OR the birds.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723 >
2021-11-12 16:30:02 +00:00
Alyssa Rosenzweig
ce8d2b96c1
pan/bi: Add bi_dual_tex_as_u32 helper
...
Type safe cast, making dual texture descriptors easier to manipulate.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723 >
2021-11-12 16:30:02 +00:00
Alyssa Rosenzweig
9b2a383af8
pan/bi: Support dual texture scheduling
...
Teach the scheduler about dual texturing to avoid an artifical "must not
last" constraint causing suboptimal scheduling like
clause_1:
ds(0) nbb tex ncph dwb(0)
{
*NOP t0
+TEXC.skip t1, r0, r1, 0xf1e00144, @r4
*NOP t0
+NOP t1
}
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723 >
2021-11-12 16:30:02 +00:00
Alyssa Rosenzweig
98c1b3e7e1
pan/bi: Use BIFROST_TEXTURE_OPERATION_SINGLE enum
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723 >
2021-11-12 16:30:02 +00:00
Alyssa Rosenzweig
9245b39ccf
pan/bi: Add bifrost_dual_texture_operation struct
...
This is the other state of the texture operation descriptor. We must
pack it in the compiler when fusing dual texturing.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723 >
2021-11-12 16:30:02 +00:00
Alyssa Rosenzweig
3612880ea3
pan/bi: Add bifrost_texture_operation_mode enum
...
Differentiates single/dual texturing.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723 >
2021-11-12 16:30:02 +00:00
Alyssa Rosenzweig
7dc90b68d9
pan/bi: Add second destination to TEXC
...
Used to model dual texturing, which writes to separate sets of staging
registers.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723 >
2021-11-12 16:30:02 +00:00
Alyssa Rosenzweig
8e02731624
pan/bi: Add secondary staging count
...
Useful for instructions with two independent sets of staging registers
(like dual source blending or dual texturing).
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723 >
2021-11-12 16:30:02 +00:00
Alyssa Rosenzweig
238f6d80a7
pan/bi: Make bi_index padding explicit
...
Avoids reliance on UB.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723 >
2021-11-12 16:30:02 +00:00
Alyssa Rosenzweig
b0022f1c6b
pan/bi: Fix typo in helper invocation analysis
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723 >
2021-11-12 16:30:02 +00:00
Ilia Mirkin
a315d04308
mesa: add just a tiny bit of debug info to some _mesa_problem calls
...
I hit these on a4xx with dEQP-GLES2/3 runs. Having more info on them
would make everyone's life easier.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13766 >
2021-11-12 15:48:37 +00:00
Ilia Mirkin
269b4dec9e
nv50,nvc0: expose R8/RG8_SRGB formats for texturing
...
This enables the GL_EXT_texture_sRGB_R8/RG8 extensions.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13769 >
2021-11-12 15:34:45 +00:00
Hyunjun Ko
ddb3d30d47
turnip: Enable VK_KHR_separate_depth_stencil_layouts
...
We now start handling depth/stencil layouts separately when
adding implicit subpass dependancies.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13057 >
2021-11-12 13:16:23 +00:00
Alyssa Rosenzweig
e257344a82
nir/lower_pntc_ytransform: Support PointCoordIsSysval
...
Pattern match the point coord sysval and support lowering it as well.
This is required to handle flipped framebuffers on Bifrost. However,
what this pass normalizes to is the opposite of the hardware mode we
used on Bifrost before, so we need to swap modes at the same time to
prevent regressions.
Fixes Piglit glsl-fs-pointcoord and glsl-fs-pointcoord_gles2
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13073 >
2021-11-12 12:34:14 +00:00
Ilia Mirkin
43322ceccd
mesa: add missing state to state string computation
...
This is an internal state, so does not need to be made available in the
string itself (same as the wpos_y_transform). But it needs to be listed
to avoid the mesa_problem.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13073 >
2021-11-12 12:34:14 +00:00
Iago Toral Quiroga
7490bcad37
v3dv: don't use a global constant for default pipeline dynamic state
...
Some of these may change across V3D versions, so it is not practical.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13775 >
2021-11-12 11:04:07 +00:00
Iago Toral Quiroga
4b3931ee6c
v3dv: account for multisampling when computing subpass granularity
...
The granularity is defined by the tile size, which is also determined
by multisampling.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13775 >
2021-11-12 11:04:07 +00:00
Iago Toral Quiroga
0cb58f80d2
v3d: use V3D_MAX_DRAW_BUFFERS instead of hardcoded constant
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13775 >
2021-11-12 11:04:07 +00:00
James Park
fc106d86a5
meson: Update libelf wrap for Windows
...
Newer libelf update supports 32-bit Windows.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13749 >
2021-11-12 09:46:10 +00:00
James Park
0aaaee09a4
radv: Match function definitions to declarations
...
Fixes compiler errors for 32-bit Windows.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13749 >
2021-11-12 09:46:10 +00:00
James Park
195a379a7e
ac: Align ADDR_FASTCALL with addrlib
...
Fixes linker errors for 32-bit Windows.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13749 >
2021-11-12 09:46:10 +00:00
Qiang Yu
aa2f5cd1a3
driconf: support META application
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13686 >
2021-11-12 09:01:58 +00:00
Qiang Yu
3900551894
radeonsi: add radeonsi_force_use_fma32 driconf option
...
fma32 only round once so has 0.5UP accuracy. mad32 round twice so
has 1UP accuracy. This accuracy difference sometimes make the result
different at the last bit.
Applications like META need more accuracy for display right result.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13686 >
2021-11-12 09:01:58 +00:00
Christian Gmeiner
a0634a3c85
ci/bare-metal: switch to common .baremetal-test-arm64
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13751 >
2021-11-12 08:22:29 +00:00
Christian Gmeiner
d39904ea30
ci/bare-metal: add .baremetal-test-arm64
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13751 >
2021-11-12 08:22:29 +00:00
Christian Gmeiner
92fcdfd38b
ci/etnaviv: no need to force nir anymore
...
It is the new default.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13751 >
2021-11-12 08:22:29 +00:00
Christian Gmeiner
3d1c1137e5
ci/etnaviv: armhf: switch to .baremetal-test-armhf
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13751 >
2021-11-12 08:22:29 +00:00
Christian Gmeiner
8bc284fe5b
ci/bare-metal: armhf: move BM_ROOTFS to generic place
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13751 >
2021-11-12 08:22:29 +00:00
Mike Blumenkrantz
34c5ba8850
aux/primconvert: support pipe_context::draw_vertex_state
...
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13742 >
2021-11-12 02:43:14 +00:00
Mike Blumenkrantz
e1948c9a71
aux/primconvert: break out primconvert internals into util function
...
this should (ideally) be no functional changes
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13742 >
2021-11-12 02:43:14 +00:00
Ilia Mirkin
d903eb156a
freedreno/a4xx: fix min/max/bias lod sampler settings
...
This makes a4xx look more like a3xx for these settings. Most importantly
it adds the workaround for allowing the hw to decide between min and mag
filtering. This fixes a number of dEQP texture filtering tests.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13763 >
2021-11-12 01:12:35 +00:00
Ilia Mirkin
4ffcef821c
freedreno/ir3: fix setting the max tf vertex when there are no outputs
...
Fixes dEQP-GLES3.functional.transform_feedback.* on a4xx.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13760 >
2021-11-11 23:49:19 +00:00
Ilia Mirkin
c0de7ea0ab
freedreno: check batch size after the fallback blitter clear
...
When force-flushing after every draw, this would otherwise hit a NULL
batch in fd_blitter_clear.
Tested on a4xx.
Suggested-by: Rob Clark <robdclark@chromium.org >
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13761 >
2021-11-11 23:26:00 +00:00
Lionel Landwerlin
d2ff2b9e4a
anv: fix multiple wait/signal on same binary semaphore
...
We need to guarantee that when vkQueueSubmit() returns the application
can actually wait on a signaled semaphore/syncobj.
When using a thread to do the submission to i915, this gets a bit
tricky in the following case :
A syncobj is used both as a wait & signal semaphore and has been
signaled once already. It contains a fence before entering
vkQueueSubmit().
This means we need to reset the syncobj to ensure when we return
from vkQueueSubmit(), the syncobj contains no stale fence.
Currently in the Anv, the submission thread is in charge of putting
the new fence in the syncobj and also picks up the wait fence
directly from the syncobj. This means we can't reset the syncobj
from vkQueueSubmit().
The solution to this has been pointed by Bas & Jason :
In vkQueueSubmit(), clone the wait syncobj fence into a new
temporary syncobj that will be destroy after submission and use
this temporary syncobj as a wait fence for i915. This allows us to
reset the original syncobj in vkQueueSubmit().
For this to work with wait_before_signal behavior, we also need to
do a wait-on-materialize on binary semaphores from vkQueueSubmit().
Otherwise the application thread calling vkQueueSubmit() could race
the submission thread and pick up the wrong fence when cloing.
v2: Use copy semantic for clone_syncobj_dma_fence() (Jason)
Do the cloning prior to adding the syncobj to anv_queue_submit so
that if the cloning fails don't have an invalid syncobj in
anv_queue_submit (Jason)
v3: Fix another syncobj leak (Jason)
v4: Fix invalid argument order (Lionel)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4945
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11474 >
2021-11-11 20:59:32 +00:00
Caio Oliveira
a4eecc543e
gtest: Fix output of array ASSERT/EXPECT macros
...
Fixes: 015383d1d7
("gtest: Add mesa-gtest-extras.h with array ASSERT/EXPECT macros")
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13748 >
2021-11-11 09:53:09 -08:00
Danylo Piliaiev
deb23612f7
vulkan/util: Handle depth-only formats in vk_att_ref_stencil_layout
...
From VUID-VkAttachmentReference2-attachment-04755:
"If attachment is not VK_ATTACHMENT_UNUSED, and the format of the
referenced attachment is a depth/stencil format which includes both
depth and stencil aspects, and layout is
VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or
VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, the pNext chain must include
a VkAttachmentReferenceStencilLayout structure."
We did not check that there even could be a stencil layout
before fetching it.
Fixes a few tests from:
dEQP-VK.image.depth_stencil_descriptor.depth_read_only_optimal.*
Fixes: 979ea394e5
"vulkan/util: Move
helper functions for depth/stencil images to vk_iamge"
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13740 >
2021-11-11 17:17:16 +00:00
Emma Anholt
a68a0c9e1c
mesa/st: Disable NV_copy_depth_to_color on non-doubles-capable HW.
...
The previous doubles check
(https://gitlab.freedesktop.org/mesa/mesa/-/issues/3459 ) checked that you
didn't have full doubles emulation turned on, but we also need to check
that you have doubles at all (emulated or not) or non-GL4 drivers will
fail.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13743 >
2021-11-11 16:38:58 +00:00
Alejandro Piñeiro
3f3820a3a5
v3d: remove static v3d_start_binning
...
v3dx(start_binning) is just a call to that method, so let's just use
it directly.
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13754 >
2021-11-11 14:04:22 +01:00