Jason Ekstrand
7f06d194fd
anv: Advertise shaderIntegerFunctions2
...
We advertised the extension string but never the feature bit. Doh!
Fixes: c57338b924 "anv: Enable SPV_INTEL_shader_integer_functions2..."
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6033 >
2020-08-06 16:14:16 +00:00
Icenowy Zheng
9e397956b0
panfrost: signal syncobj if nothing is going to be flushed
...
When nothing is going to be flushed, the kernel will get no job that
signals the syncobj.
Signal it by ourselves, otherwise it will never get signaled.
Closes : #3371
Signed-off-by: Icenowy Zheng <icenowy@aosc.io >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6190 >
2020-08-06 13:16:25 +00:00
Bas Nieuwenhuizen
c6aadbae71
radv: Don't use both DCC and CMASK for single sample images.
...
Fixes: c67ef7695a "radv: Use ac_surface to allocate aux surfaces."
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6194 >
2020-08-06 10:50:22 +00:00
Jose Fonseca
e2c614a415
appveyor: Use Python3.
...
This implied upgrading to the Visual Studio 2019 image, not for VS
itself, but for the newer Python 3.8.5 version it contains, to avoid
UnicodeDecodeError inside modulefinder module when attempting to decode
our UTF-8 encoded Python scripts with cp1252 encoding.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6184 >
2020-08-06 09:46:48 +00:00
Jose Fonseca
0f9fb7ffaa
appveyor: Upgrade pip.
...
To avoid all those warnings.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6184 >
2020-08-06 09:46:48 +00:00
Vinson Lee
2e665458a9
util: Fix SCons build.
...
Fixes: 848e7b947d ("util: Move stack debug functions to src/util")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6199 >
2020-08-05 22:55:06 -07:00
Eric Anholt
56ab105182
freedreno: Add more asserts for DST_OFF/NUM_UNIT in indirect const uploads.
...
These are just empirical alignment numbers from looking at dEQP traces of
the blob driver (a330, a418, a540, a618, a630), with one exception noted
in the comments.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5990 >
2020-08-05 23:06:55 +00:00
Eric Anholt
3e970de360
freedreno: Increase the NUM_UNIT on compute's consts in indirect dispatch.
...
Avoids tripping the assert in the next commit -- the blob never uses
num_unit % 4 != 0 for indirect const uploads.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5990 >
2020-08-05 23:06:55 +00:00
Eric Anholt
f07e25bc6d
freedreno/ir3: Clean up instrlen setup.
...
We were calculating it with the gpu_id check in two places, do it once and
use ir3_compiler for the gpu_id dependency.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5990 >
2020-08-05 23:06:55 +00:00
Eric Anholt
8f637d66cc
freedreno: Split ir3_const's user buffer and indirect upload APIs.
...
They're almost entirely split by whether you're uploading user buffer or
from a BO. While I'm rewriting the API, drop the emit_const ->
fdN_emit_const wrapper in favor of a #define before the header and a
little helper for the asserts.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5990 >
2020-08-05 23:06:55 +00:00
Eric Anholt
154299934d
freedreno: Rename emit_const_bo() to emit_const_ptrs().
...
I keep thinking it's the "upload from inside a BO" path when it's not.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5990 >
2020-08-05 23:06:55 +00:00
Eric Anholt
51acfe2230
freedreno/ir3: Simpify the immediates from an array of vec4 to array of dwords.
...
We usually had to split the idx/swiz out of the dword index anyway. Note
that incidentally, immediates_size now increments in vec4s instad of
4*vec4s.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5990 >
2020-08-05 23:06:55 +00:00
Eric Anholt
e873c4da08
freedreno/ir3: Merge the redundant immediate_idx/immediates_count fields
...
I got tripped up again with the index vs count vs size fields and I'd
rather we didn't store the redundant info. Settle on immediates_count as
"how many dwords of immediates we have"
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5990 >
2020-08-05 23:06:55 +00:00
Rob Clark
5e922fbc16
glsl_to_nir: fix bitfield_extract with 16-bit operands
...
These are defined to explicitly take 32b values.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6073 >
2020-08-05 22:04:47 +00:00
Marek Olšák
92f5e94a93
glsl: improve precision determination for calls
...
Don't leave the precision as NONE for non-lowerable calls. Set it to HIGH
if a function really returns highp.
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6073 >
2020-08-05 22:04:47 +00:00
Marek Olšák
282a1e6288
glsl: don't lower to mediump for desktop OpenGL
...
Desktop OpenGL ignores all precision qualifiers.
Also, the lowering pass doesn't work if precision qualifiers are not set,
which is only possible with desktop OpenGL, causing random behavior.
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6073 >
2020-08-05 22:04:47 +00:00
Marek Olšák
01e0085637
glsl: don't create conversion opcodes for array types
...
Instead, convert all elements one by one.
This fixes piglit shaders@glsl-bug-110796.
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6073 >
2020-08-05 22:04:47 +00:00
Marek Olšák
5020403c70
glsl: don't lower atomic functions to mediump
...
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6073 >
2020-08-05 22:04:47 +00:00
Rob Clark
93076f60d3
glsl: don't inline intrinsics for mediump
...
They have an empty fxn body, trying to handle them results in the
intrinsic call being expanded into a no-op.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6073 >
2020-08-05 22:04:47 +00:00
Marek Olšák
48a6255186
glsl: fix constant expression evaluation for 16-bit types
...
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6073 >
2020-08-05 22:04:47 +00:00
Marek Olšák
f2d5f4851a
glsl: lower_precision - fix assertion failure with dereferences of constants
...
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6073 >
2020-08-05 22:04:47 +00:00
Eric Engestrom
a88fd7bfdc
docs: update calendar and link releases notes for 20.1.5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6191 >
2020-08-05 21:20:25 +00:00
Eric Engestrom
2d3f81f320
docs: add release notes for 20.1.5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6191 >
2020-08-05 21:20:25 +00:00
Rob Clark
a4c4e0103a
glsl: remove LowerPrecisionTemporaries
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6189 >
2020-08-05 21:00:44 +00:00
Rob Clark
c4e0cae90c
gallium: replace 16BIT_TEMPS cap with 16BIT_CONSTS
...
All drivers that support mediump lowering should support 16BIT_TEMPS,
but some do not also want 16b consts to be lowered. Replace the pipe
cap in preperation to remove LowerPrecisionTemporaries.
Note: also updates reference checksums for the arm64_a630_traces job,
due to lowering more to 16b
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6189 >
2020-08-05 21:00:44 +00:00
Rob Clark
0a763c0c86
glsl/lower_precision: split out const lowering
...
Some hw can narrow 32b const/uniform to 16b on load.. and in particular
lowering constants to 16b would break const->uniform lowering. Allow
them to lower temps to 16b, while skipping consts.
Initially it is set to the same value as LowerPrecisionTemporaries, to
preserve the current behavior.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6189 >
2020-08-05 21:00:44 +00:00
Rob Clark
4f060549be
freedreno/ir3: lower local_index using local_id
...
Somehow this works ok with the full compiler stack, but not in
ir3_cmdline.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6189 >
2020-08-05 21:00:44 +00:00
Rob Clark
e0947903fc
freedreno/ir3: ir3_cmdline updates
...
1) convert to getopt, and drop most variant related options since
they aren't super-useful these days.. and easy enough to add
back if/when needed. (Also, none of the newer shader variant
options where covered before.)
2) covert to dynamically allocated shader/variant, to get things
working again after ir3_shader/_variant converted to ralloc
3) few small cleanups
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6189 >
2020-08-05 21:00:44 +00:00
Marek Olšák
283ad85944
radeonsi: call nir_split_array_vars/shrink_vec_array_vars/opt_find_array_copies
...
Loosely based on RADV and https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5668
54793 shaders in 33659 tests
Totals:
SGPRS: 2739498 -> 2739474 (-0.00 %)
VGPRS: 1534120 -> 1534256 (0.01 %)
Spilled SGPRs: 2579 -> 2579 (0.00 %)
Spilled VGPRs: 29 -> 29 (0.00 %)
Private memory VGPRs: 2176 -> 256 (-88.24 %)
Scratch size: 2220 -> 288 (-87.03 %) dwords per thread
Code Size: 55572924 -> 55584592 (0.02 %) bytes
LDS: 92 -> 92 (0.00 %) blocks
Max Waves: 966044 -> 966021 (-0.00 %)
Wait states: 0 -> 0 (0.00 %)
Totals from affected shaders:
SGPRS: 7272 -> 7248 (-0.33 %)
VGPRS: 4848 -> 4984 (2.81 %)
Spilled SGPRs: 0 -> 0 (0.00 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Private memory VGPRs: 2176 -> 256 (-88.24 %)
Scratch size: 2188 -> 256 (-88.30 %) dwords per thread
Code Size: 336332 -> 348000 (3.47 %) bytes
LDS: 18 -> 18 (0.00 %) blocks
Max Waves: 2659 -> 2636 (-0.86 %)
Wait states: 0 -> 0 (0.00 %)
| PERCENTAGE DELTAS | Shaders | SGPRs | VGPRs |SpillSGPR |SpillVGPR | PrivVGPR | Scratch | CodeSize | MaxWaves | Waits |
|------------------------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|
| 0ad | 6| . | . | . | . | . | . | . | . | . |
| alien_isolation | 2936| . | . | . | . | . | . | . | . | . |
| anholt | 10| . | . | . | . | . | . | . | . | . |
| antichamber | 180| . | . | . | . | . | . | . | . | . |
| batman_arkham_origins | 589| . | . | . | . | . | . | . | . | . |
| bioshock-infinite | 1769| . | . | . | . | . | . | . | . | . |
| borderlands2 | 3968| . | . | . | . | . | . | . | . | . |
| borderlands_presequel | 1326| . | . | . | . | . | . | . | . | . |
| brutal-legend | 338| . | . | . | . | . | . | . | . | . |
| chromeos | 86| . | . | . | . | . | . | . | . | . |
| chromium | 2| . | . | . | . | . | . | . | . | . |
| civilization_beyond.. | 116| . | . | . | . | . | . | . | . | . |
| company_of_heroes2 | 240| . | . | . | . | . | . | . | . | . |
| counter_strike_glob.. | 1142| . | . | . | . | . | . | . | . | . |
| deadcore | 76| . | . | . | . | . | . | . | . | . |
| deus_ex_mankind_div.. | 1410| . | . | . | . | . | . | . | . | . |
| dirt-showdown | 533| . | . | . | . | . | . | . | . | . |
| dirt_rally | 364| . | . | . | . | . | . | . | . | . |
| divinity | 1052| . | . | . | . | . | . | . | . | . |
| dolphin | 22| . | . | . | . | . | . | . | . | . |
| dota2 | 1747| . | . | . | . | . | . | . | . | . |
| europa_universalis_4 | 76| . | . | . | . | . | . | . | . | . |
| f1-2015 | 775| 0.02 %| 0.12 %| . | . | -100.00 %| -100.00 %| 0.19 %| -0.04 %| . |
| furmark-0.7.0 | 4| . | . | . | . | . | . | . | . | . |
| gimark-0.7.0 | 10| . | . | . | . | . | . | . | . | . |
| glamor | 16| . | . | . | . | . | . | . | . | . |
| glmark | 96| . | . | . | . | . | . | . | . | . |
| grid_autosport | 1767| -0.03 %| 0.17 %| . | . | -85.52 %| -84.44 %| 0.40 %| -0.03 %| . |
| hitman | 1413| . | . | . | . | . | . | . | . | . |
| humus-celshading | 4| . | . | . | . | . | . | . | . | . |
| humus-domino | 6| . | . | . | . | . | . | . | . | . |
| humus-dynamicbranching | 24| . | . | . | . | . | . | . | . | . |
| humus-hdr | 10| . | . | . | . | . | . | . | . | . |
| humus-portals | 2| . | . | . | . | . | . | . | . | . |
| humus-volumetricfog.. | 6| . | . | . | . | . | . | . | . | . |
| left_4_dead_2 | 1762| . | . | . | . | . | . | . | . | . |
| legend_of_grimrock | 100| . | . | . | . | . | . | . | . | . |
| life_is_strange | 1296| . | . | . | . | . | . | . | . | . |
| mad_max | 358| . | . | . | . | . | . | . | . | . |
| many-spheres | 6| . | . | . | . | . | . | . | . | . |
| metro_2033_redux | 2670| . | 0.02 %| . | . | . | . | . | -0.02 %| . |
| nexuiz | 80| . | . | . | . | . | . | . | . | . |
| payday2 | 1362| . | . | . | . | . | . | . | . | . |
| pixmark-julia-fp32 | 2| . | . | . | . | . | . | . | . | . |
| pixmark-julia-fp64 | 2| . | . | . | . | . | . | . | . | . |
| pixmark-piano-0.7.0 | 2| . | . | . | . | . | . | . | . | . |
| pixmark-volplosion-.. | 2| . | . | . | . | . | . | . | . | . |
| plot3d-0.7.0 | 8| . | . | . | . | . | . | . | . | . |
| portal | 474| . | . | . | . | . | . | . | . | . |
| reflections_subway | 98| . | . | . | . | . | . | 0.02 %| . | . |
| rocket_league | 494| . | . | . | . | . | . | . | . | . |
| saints_row_iv | 1704| . | . | . | . | . | . | . | . | . |
| saints_row_the_third | 671| . | . | . | . | . | . | . | . | . |
| sauerbraten | 7| . | . | . | . | . | . | . | . | . |
| scifi_hallway | 98| . | . | . | . | . | . | . | . | . |
| serious_sam_3_bfe | 392| . | . | . | . | . | . | . | . | . |
| shadow_of_mordor | 1410| . | . | . | . | . | . | . | . | . |
| shadow_warrior | 3956| . | . | . | . | . | . | . | . | . |
| skia | 6094| . | . | . | . | . | . | . | . | . |
| sun_temple | 109| . | . | . | . | . | . | 0.01 %| . | . |
| supertuxkart | 4| . | . | . | . | . | . | . | . | . |
| talos_principle | 324| . | . | . | . | . | . | . | . | . |
| team_fortress_2 | 808| . | . | . | . | . | . | . | . | . |
| tesseract | 430| . | . | . | . | . | . | . | . | . |
| tessmark-0.7.0 | 6| . | . | . | . | . | . | . | . | . |
| thea | 172| . | . | . | . | . | . | . | . | . |
| tomb_raider | 1448| -0.02 %| . | . | . | . | . | . | . | . |
| total_war_warhammer | 242| . | . | . | . | . | . | . | . | . |
| ubershaders | 54| . | . | . | . | . | . | . | . | . |
| ue4_effects_cave | 290| . | . | . | . | . | . | 0.02 %| . | . |
| ue4_elemental | 561| . | . | . | . | . | . | 0.02 %| . | . |
| ue4_lightroom_inter.. | 64| . | . | . | . | . | . | . | . | . |
| ue4_realistic_rende.. | 86| . | . | . | . | . | . | . | . | . |
| unigine_heaven | 322| . | . | . | . | . | . | . | . | . |
| unigine_sanctuary | 264| . | . | . | . | . | . | . | . | . |
| unigine_tropics | 210| . | . | . | . | . | . | . | . | . |
| unigine_valley | 278| . | . | . | . | . | . | . | . | . |
| unity | 72| . | . | . | . | . | . | . | . | . |
| victor_vran | 1262| . | . | . | . | . | . | . | . | . |
| warsow | 176| . | . | . | . | . | . | . | . | . |
| warzone2100 | 4| . | . | . | . | . | . | . | . | . |
| wasteland2 | 76| . | . | . | . | . | . | . | . | . |
| wavelet-volume | 4| . | . | . | . | . | . | . | . | . |
| witcher2 | 1040| . | . | . | . | . | . | . | . | . |
| xcom_enemy_within | 1236| . | . | . | . | . | . | . | . | . |
| yofrankie | 82| . | . | . | . | . | . | . | . | . |
|------------------------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|
| All affected | 157| -0.33 %| 2.81 %| . | . | -88.24 %| -88.30 %| 3.47 %| -0.86 %| . |
|------------------------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|
| Total | 54793| . | . | . | . | -88.24 %| -87.03 %| 0.02 %| . | . |
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5750 >
2020-08-05 20:41:07 +00:00
Marek Olšák
47beee2eb3
radeonsi: reorder NIR optimizations
...
Based on https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5668
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5750 >
2020-08-05 20:41:07 +00:00
Pierre-Eric Pelloux-Prayer
0294eaed80
radeonsi: extend workaround for KHR-GL45.texture_view.view_classes on gfx9
...
This is a followup of 19db1a540c .
This commit fixed KHR-GL45.texture_view.view_classes on gfx9 but the test
still failed when using AMD_DEBUG=nodma or AMD_DEBUG=nodcc,nodma.
The workaround is now used from si_resource_copy_region so it covers the
previous call site (si_texture_transfer_map) and the sctx->dma_copy
fallback code.
Fixes: 19db1a540c ("radeonsi: add a workaround to fix KHR-GL45.texture_view.view_classes on gfx9")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6115 >
2020-08-05 19:45:32 +00:00
Indrajit Kumar Das
caa98246a0
st/mesa: optimize DEPTH_STENCIL copies using fragment shader
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6088 >
2020-08-05 19:25:14 +00:00
Rob Clark
141b295311
freedreno: allow fence_fd fences to be recycled
...
This allows us to avoid a no-op flush if there has been no rendering,
but we hit pctx->flush(PIPE_FLUSH_FENCE_FD).
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6177 >
2020-08-05 19:05:29 +00:00
Marek Olšák
07a49bf597
radeonsi: disable SDMA on gfx9
...
Fixes: 9680a75489 "radeonsi/gfx9: enable SDMA buffer copying & clearing"
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4895 >
2020-08-05 18:48:35 +00:00
Kristian H. Kristensen
879444a957
ci: Add a build test for the Android platform
...
This builds the EGL loader and the freedreno, intel and amd vulkan
drivers.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6112 >
2020-08-05 18:08:07 +00:00
Kristian H. Kristensen
db504c464f
radv/android: Remove unused variable
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6112 >
2020-08-05 18:08:07 +00:00
Kristian H. Kristensen
a7fe711a30
vulkan: Allow global symbol HMI for Android
...
Android looks for this symbol when loading HAL modules.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6112 >
2020-08-05 18:08:07 +00:00
Kristian H. Kristensen
6b3f56f099
anv: Add stub for anv_gem_get_tiling() for Android
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6112 >
2020-08-05 18:08:07 +00:00
Kristian H. Kristensen
ff0dbf2096
anv: Pass device to setup_gralloc0_usage for error reporting
...
Otherwise it doesn't compile.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: aba57b11ee ("anv: support GetSwapchainGrallocUsage2ANDROID for Android")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6112 >
2020-08-05 18:08:07 +00:00
Kristian H. Kristensen
5096ebf954
meson: Define ANDROID and ANDROID_API_LEVEL when compiling for Android
...
Set ANDROID_API_LEVEL based on the value we already have and define
ANDROID to make sure we build code paths that are guarded by that.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6112 >
2020-08-05 18:08:07 +00:00
Kristian H. Kristensen
e05e60b230
turnip: Make tu_android.c compile again
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6112 >
2020-08-05 18:08:07 +00:00
Kristian H. Kristensen
a725899c3f
mapi: Mark TLS symbols as optional in glapi-symbols.txt
...
Presence of these depends on whether or not we're using ELF TLS.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6112 >
2020-08-05 18:08:07 +00:00
Kristian H. Kristensen
932f51d593
ci: Include enough Android headers to let us compile test EGL
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6112 >
2020-08-05 18:08:07 +00:00
Kristian H. Kristensen
5ae7098eba
gallium/android: Rewrite backtrace helper for android
...
The previous implementation kept a hashtable of a Backtrace object per
thread. debug_backtrace_capture is supposed to store a backtrace in
the passed in debug_stack_frame array, but instead overwrote the
per-thread Backtrace object.
This new version works more like the libunwind based capture. We hash
the file and symbol names and store pointers in the debug_stack_frame
struct. This way debug_backtrace_capture doesn't overwrite previous
captures or allocate memory that needs to be freed.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6112 >
2020-08-05 18:08:06 +00:00
Kristian H. Kristensen
d0d14f3f64
util: Add unit test for stack backtrace caputure
...
First test never fails, but exercises the code and is useful for
manual inspection. Second test exposes the android implementation
bug.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6112 >
2020-08-05 18:08:06 +00:00
Kristian H. Kristensen
848e7b947d
util: Move stack debug functions to src/util
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6112 >
2020-08-05 18:08:06 +00:00
Kristian H. Kristensen
e487043fd0
gallium: Switch u_debug_stack/symbol.c to util/hash_table.h
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6112 >
2020-08-05 18:08:06 +00:00
Kristian H. Kristensen
e1a58ae7c4
mapi/test: Change type to unsigned for offset
...
Quiets this warning:
../../master/src/mapi/glapi/tests/check_table.cpp:576:20: error: non-constant-expression cannot be narrowed from type 'unsigned int' to 'int' in initializer list [-Wc++11-narrowing]
{ "glColor3dv", _O(Color3dv) },
^~~~~~~~~~~~
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6112 >
2020-08-05 18:08:06 +00:00
Kristian H. Kristensen
c8749305f2
egl/android: Remove unused variable
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6112 >
2020-08-05 18:08:06 +00:00
James Park
24b80f8bb9
amd/llvm: Reorder LLVM headers
...
LLVM uses __declspec(restrict) which breaks because Mesa define restrict
as __restrict. Move the LLVM headerse up to dodge the macro.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6180 >
2020-08-05 17:15:18 +00:00
Tomeu Vizoso
1541ef636b
ci: Use a rootfs tarball for NFS root, instead of a ramdisk (for LAVA)
...
We anyway depend already on robust network support in the DUTs, and we
can save quite some time this way.
It will also allow us to grow further as we expand coverage.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-By: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6114 >
2020-08-05 14:09:37 +02:00
Samuel Pitoiset
8fab7d738e
radv: set BYPASS_VTX_RATE_COMBINER_GFX103 on GFX 10.3
...
Based on RadeonSI.
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/6168 >
2020-08-05 12:57:50 +02:00
Samuel Pitoiset
05b09d6549
radv: fix sample shading on GFX 10.3
...
Based on RadeonSI.
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/6168 >
2020-08-05 12:57:48 +02:00
Samuel Pitoiset
8b3682310c
radv: increase minimum NGG vertex count requirement per workgroup on GFX 10.3
...
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/6168 >
2020-08-05 12:57:46 +02:00
Samuel Pitoiset
22c8079829
radv: do not honor a user-specified pitch on GFX 10.3
...
According to RadeonSI, it breaks mipmapping.
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/6168 >
2020-08-05 12:57:44 +02:00
Alejandro Piñeiro
7f25f1f106
nir/lower_tex: handle query lod with nir_lower_tex_packing_16 at lower_tex_packing
...
packing_16 with floats assumed 1 (shadow) or 4 components. But query
lod operations return 2.
Fixes the following test with v3dv:
dEQP-VK.ycbcr.query.lod.fragment.r8g8b8a8_unorm
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5863 >
2020-08-05 10:10:12 +00:00
Rhys Perry
6e2e77557e
radv/llvm: enable VK_KHR_memory_model
...
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/6063 >
2020-08-05 09:45:54 +00:00
Rhys Perry
4f3630b36a
ac/nir: fix coherent global loads/stores
...
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/6063 >
2020-08-05 09:45:54 +00:00
Rhys Perry
4640e7da04
ac/nir: consider an image load/store intrinsic's access
...
ACCESS_COHERENT may be set for a specific load/store in the case of
atomic loads/stores.
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/6063 >
2020-08-05 09:45:54 +00:00
Rhys Perry
da38e99eda
radv/aco: enable VK_KHR_memory_model
...
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/6063 >
2020-08-05 09:45:54 +00:00
Rhys Perry
389c95a889
spirv: set ACCESS_COHERENT for ssbo/global/image atomic load/store
...
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/6063 >
2020-08-05 09:45:54 +00:00
Iago Toral Quiroga
71572ebb32
nir/lower_tex: skip lower_tex_packing for the texture samples query
...
Similar to other skips for texture queries that don't actually sample
the texture and which results are not packed.
We can't use nir_tex_instr_is_query() here to skip the lowering for all
queries since that causes regressions in Piglit. Apparently, we do want
to lower some of the query results. In particularly, the LOD query.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6169 >
2020-08-05 08:39:52 +02:00
Eric Anholt
1938e2596f
freedreno/computerator: Set SP_MODE_CONTROL to the same value as vulkan/GL
...
This gets us consistent hcN access with our drivers, for experimenting.
We don't know what the other bit does yet, but let's not have to debug
that later.
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6179 >
2020-08-05 04:35:05 +00:00
Eric Anholt
c92ae9d3ef
freedreno/a6xx: Document the bit for the magic 32bit-uniforms-as-16b mode.
...
Trying to figure out how uniforms were working, I found that computerator
had different behavior from our GL fragment shaders. Given that 3xx had
an SP_ bit for this (thanks flto@ for the note), it was a matter of
pasting bits of SP_* setup into computerator until I got the GL behavior.
I named it the same as the a3xx register.
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6179 >
2020-08-05 04:35:05 +00:00
Eric Anholt
db25c18f33
freedreno/ir3: Fix the type of half-float indirect uniform loads.
...
We would be making a MOV from a u32, when we should be loading from a
16-bit value. This likely didn't bite us because we only do mediump in FS
and CS so far, and indirect uniforms are usually in a VS (and usually
highp).
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6179 >
2020-08-05 04:35:05 +00:00
Eric Anholt
13b3c401a4
nir: Print the constant data size associated with a shader.
...
We should probably dump the constants, too, but this is useful to me for
now.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6179 >
2020-08-05 04:35:05 +00:00
Eric Anholt
041bae28c6
nir: Add a little more docs about NIR's constant_data.
...
I think everyone trips over "how does this relate to nir_const", and I was
curious if I could redefine the units of the constant_data_size / indirect
offsets.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6179 >
2020-08-05 04:35:05 +00:00
Eric Anholt
2e833b16bc
nir/lower_amul: Use num_ubos/ssbos instead of recomputing it.
...
Now that num_ubos is correctly maintained, we can just trust it. Fixes an
assertion failure in freedreno I triggered on
dEQP-GLES31.functional.ubo.random.all_per_block_buffers.1 for reasons I
don't really understand.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6179 >
2020-08-05 04:35:05 +00:00
Kristian H. Kristensen
add2b44ab6
turnip: Only include msm_drm in tu_drm.c
...
We copy the definition for struct drm_msm_gem_submit_bo and flags to
keep the bo list code working for now.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5999 >
2020-08-05 01:19:22 +00:00
Kristian H. Kristensen
4b9c0cd821
turnip: Move remaining drm code to tu_drm.c
...
This moves the semaphore implementation and tu_QueueSubmit to
tu_drm.c, such that that's the only file including xf86drm.h and
msm_drm.h. This way, the entire kernel interface is contained in
tu_drm.c
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5999 >
2020-08-05 01:19:22 +00:00
Kristian H. Kristensen
7dfeae1a45
turnip: Collapse some tu_drm wrappers
...
These are all internal to tu_drm.c, we can skip a couple of
abstraction layers now.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5999 >
2020-08-05 01:19:22 +00:00
Kristian H. Kristensen
59e5f95bdc
turnip: Move tu_bo functions to tu_drm.c
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5999 >
2020-08-05 01:19:22 +00:00
Kristian H. Kristensen
270599cc1e
turnip: Move device enumeration and feature discovery to tu_drm.c
...
These steps are all drm specific.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5999 >
2020-08-05 01:19:22 +00:00
Iván Briano
d33f46e08b
anv: fix allocation of custom border color pool
...
Turns out that respecting the order of parameters is important.
Reported-by: Michael Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Fixes: 5425968d2e ("anv: Implement VK_EXT_custom_border_color")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6175 >
2020-08-04 15:30:33 -07:00
Rhys Perry
fea3e498c3
aco: replace MADs in isel with FMA on GFX10.3
...
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/5546 >
2020-08-04 20:39:33 +01:00
Rhys Perry
41c901b7df
aco: disable SMEM stores on GFX10.3
...
These are removed in GFX10.3
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/5546 >
2020-08-04 20:39:33 +01:00
Rhys Perry
b811b1d083
aco: update aco_opcodes.py for GFX10.3
...
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/5546 >
2020-08-04 20:39:33 +01:00
Rhys Perry
07250a92da
aco: implement subgroup shader_clock on GFX10.3
...
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/5546 >
2020-08-04 20:39:33 +01:00
Rhys Perry
a5303a3cbe
aco: update vgpr_alloc_granule for GFX10.3
...
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/5546 >
2020-08-04 20:39:33 +01:00
Rhys Perry
37988b5b8e
aco: fix max_waves_per_simd on Polaris, VegaM and GFX10.3
...
fossil-db (Polaris):
Totals from 20263 (14.75% of 137414) affected shaders:
SGPRs: 871407 -> 871679 (+0.03%); split: -0.00%, +0.03%
VGPRs: 513828 -> 550028 (+7.05%); split: -1.68%, +8.72%
CodeSize: 18869680 -> 18828148 (-0.22%); split: -0.23%, +0.01%
MaxWaves: 162012 -> 162030 (+0.01%); split: +0.01%, -0.00%
Instrs: 3629172 -> 3618817 (-0.29%); split: -0.30%, +0.02%
Cycles: 15682244 -> 15638244 (-0.28%); split: -0.30%, +0.02%
VMEM: 10675942 -> 10673344 (-0.02%); split: +0.18%, -0.21%
SMEM: 1209717 -> 1206088 (-0.30%); split: +0.03%, -0.33%
VClause: 81780 -> 81227 (-0.68%); split: -0.73%, +0.06%
SClause: 231724 -> 231561 (-0.07%); split: -0.07%, +0.00%
Copies: 187126 -> 180831 (-3.36%); split: -3.62%, +0.26%
Branches: 26841 -> 26837 (-0.01%); split: -0.03%, +0.01%
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/5546 >
2020-08-04 20:39:33 +01:00
Rhys Perry
c68fba9bba
aco: update bug workarounds for GFX10_3
...
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/5546 >
2020-08-04 20:39:33 +01:00
Rhys Perry
4f1242a4d8
aco: don't create v_mad_f32 on GFX10.3
...
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/5546 >
2020-08-04 20:39:33 +01:00
Rhys Perry
5718f7c8a7
aco: fix waitcnt insertion on GFX10.3
...
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/5546 >
2020-08-04 20:39:32 +01:00
Alyssa Rosenzweig
b75427cc31
panfrost: Implement EXT_multisampled_render_to_texture
...
Significantly helps WebGL performance with Chromium's OpenGL ES backend.
Also update docs/features.txt
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6161 >
2020-08-04 18:39:24 +00:00
Alyssa Rosenzweig
2c47993b69
panfrost: Add MSAA mode selection field
...
This field enables MSAA, either writing samples to separate surfaces, to
a single large-bpp surface, or implicitly resolved and to a single
surface.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6161 >
2020-08-04 18:39:24 +00:00
Alyssa Rosenzweig
7973b6c1e0
docs/features: Add GL_EXT_multisampled_render_to_texture
...
Currently only a6xx, panfrost added later in series.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6161 >
2020-08-04 18:39:24 +00:00
Samuel Pitoiset
0c569e22d1
radv: print warnings for famous RADV_PERFTEST options that no longer exist
...
RADV_PERFTEST=aco no longer exists, ACO is the default compiler.
RADV_PERFTEST=llvm is deprecated, use RADV_DEBUG=llvm instead.
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/5662 >
2020-08-04 19:09:57 +02:00
SureshGuttula
65d23e7fb1
radeon/vcn: Corrected vp9 ref associated data incase of target->codec is NULL
...
This patch fixes the case where less number of reference surfaces created and destoyed
on need basis. The problem comes when we are refereing old assoiciated data for newly
created target buffer with same address. Here old target buffer destroyed as that
surface is no more used as reference for next frames and when we create a new surface
for the next frame to process we will get the surfaceid and same target address
of destroyed surface.
When new surface/surface->buffer/target ,target->codec is null as we cleared when we
destroy this surface, but per ref_mapping logic, it was taking null associated data
i.e.0 as curr_ref_idx. Hence total reference mapping table goes wrong with wrong data.
Beacuse of this, we have seen corrupted vp9 decoded frames.
Signed-off-by: SureshGuttula <suresh.guttula@amd.corp-partner.google.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5452 >
2020-08-04 17:01:20 +00:00
Caio Marcelo de Oliveira Filho
b98dd70489
spirv: Propagate explicit layout only in types that need it
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5511 >
2020-08-04 07:53:37 -07:00
Roman Stratiienko
9a9b35a3bb
lima: Fix lima_screen_query_dmabuf_modifiers()
...
Incorrect implementation has been found during code surfing.
v3d implementation used for reference.
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Reviewed-by: Icenowy Zheng <icenowy@aosc.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6076 >
2020-08-04 13:58:33 +00:00
Connor Abbott
ee2c58dde4
tu: Implement VK_EXT_conditional_rendering
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6009 >
2020-08-04 15:38:17 +02:00
Connor Abbott
f226b198f5
tu: Reset has_tess after renderpass
...
Don't force sysmem for render passes after the one that uses
tessellation.
Also, move this into tu_cmd_state as that's where it belongs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6009 >
2020-08-04 15:37:51 +02:00
Connor Abbott
06332ef60e
freedreno: Document draw predication packets
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6009 >
2020-08-04 15:37:51 +02:00
Connor Abbott
9e48e31fa5
tu: Fix DST_INCOHERENT_FLUSH copy/paste error
...
This was meant to handle incoherent accesses by always flushing them,
but it accidentally checked for the coherent variant instead. As a
result e.g. a vkCmdClearImage() followed by a renderpass using the image
didn't get any flushes, resulting in the same sort of corruption seen
with sysmem renderpass clears. This happened to be exposed via some
tests that used multiview.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6009 >
2020-08-04 15:37:51 +02:00
Jonathan Marek
95db96d75b
turnip: implement VK_EXT_4444_formats
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6164 >
2020-08-04 13:15:23 +00:00
Jonathan Marek
036ff53143
util/format: translate A4R4G4B4_UNORM and A4B4G4R4_UNORM vulkan formats
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6164 >
2020-08-04 13:15:23 +00:00
Jonathan Marek
35f8f355f3
turnip: rework extended formats to allow more extended formats
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6164 >
2020-08-04 13:15:23 +00:00
Tomeu Vizoso
0b2478381f
ci: Actually upload trace artifacts to MinIO for baremetal
...
Baremetal jobs filter the variables they get from .gitlab-ci.yml, and
TRACIE_UPLOAD_TO_MINIO and others weren't being let through.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Fixes: d4ca45eca2 ("ci: Upload traces' reference and actual images to MinIO")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6171 >
2020-08-04 12:58:56 +00:00
Jonathan Marek
67b1163f9f
turnip: add support for D32_SFLOAT_S8_UINT
...
Add support for D32_SFLOAT_S8_UINT, which requires special handling because
it is actually two images.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5537 >
2020-08-04 11:40:18 +00:00
Tomeu Vizoso
a133f7d288
ci: Remove kernel module build that slipped in
...
Some changes unintendedly slipped into an unrelated commit before it was
merged.
This caused kernel modules to be built and installed in the ramdisk,
which caused some devices to fail to boot due to the ramdisk size limit
being surpassed.
These changes weren't in effect until a subsequent commit triggered a
rebuild of the ramdisks.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Fixes: a9560939e0 ("ci: Build-test Panfrost tools")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6167 >
2020-08-04 12:57:31 +02:00
Tomeu Vizoso
7633037441
ci: Download traces from MinIO in baremetal runs
...
Now that we have MinIO, we can distribute traces better than by direct
downloads from git.
With a caching MinIO instance local to the DUT, total run times should
be noticeably impacted.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6136 >
2020-08-04 08:18:55 +02:00
Tomeu Vizoso
d4ca45eca2
ci: Upload traces' reference and actual images to MinIO
...
Now that the devices have sane dates, we can upload to MinIO.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6136 >
2020-08-04 08:18:51 +02:00
Jason Ekstrand
4816f6f8d8
spirv: Do more complex unwrapping in get_nir_type
...
The OpenGL flavor of SPIR-V allows for samplers inside structs. This
means that our simple array-of-array handling isn't sufficient and we
need something substantially more complex for generating NIR types.
Fixes: 14a12b771d "spirv: Rework our handling of images and samplers"
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6065 >
2020-08-04 03:05:34 +00:00
Jason Ekstrand
140a5492e0
compiler/types: Add a struct_type_is_packed wrapper
...
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6065 >
2020-08-04 03:05:34 +00:00
Eric Anholt
66d8bbd822
freedreno: Fix "Offset of packed bitfield changed" warnings:
...
Example:
../src/freedreno/ir2/instr-a2xx.h:384:1: note: offset of packed bit-field
‘const_index’ has changed in GCC 4.4
384 | } instr_fetch_vtx_t;
It's apparently due to bitfields that would cross the width of their type.
Just expand the types of the affected fields so that the compiler quiets
down.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6165 >
2020-08-03 23:28:49 +00:00
Jonathan Marek
ba6cdb275c
turnip: delete tu_clear_sysmem_attachments_2d
...
2D path is using the same hardware as the 3D path, with the advantage of
separate register state, but here it requires WFI and extra cache flushing
and invalidating, so it should be better to just use the 3D path. There are
also some cases where the 3D path would be much faster, since it can clear
multiple attachments at once.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5775 >
2020-08-03 22:38:22 +00:00
Jonathan Marek
9b6486bd3d
turnip: fix sysmem CmdClearAttachments 3D fallback breaking GMEM path flush
...
It was clearing the flush bits, which are used by both GMEM/SYSMEM paths,
but emitting the flushes inside the cond_exec, where they would only run
for the sysmem path.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5775 >
2020-08-03 22:38:22 +00:00
Jason Ekstrand
611f654fcf
nir/deref: Don't try to compare derefs containing casts
...
One day, we may want copy_prop_vars or other passes to be able to see
through certain types of casts such as when someone casts a uint64_t to
a uvec2. However, for now we should just avoid casts all together.
Fixes: d8e3edb784 "nir/deref: Support casts and ptr_as_array in..."
Tested-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6072 >
2020-08-03 21:49:25 +00:00
Eric Anholt
ee2f21b10d
nir: Remove the old nir_opt_shrink_load.
...
The old pass only handled intrinsic load_constant, while the new
nir_opt_shrink_vectors handles ALU ops, nir load_consts, along with all
the load intrinsics.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6050 >
2020-08-03 21:26:45 +00:00
Eric Anholt
d8c2f896db
amd: Swap from nir_opt_shrink_load() to nir_opt_shrink_vectors().
...
This should do much more trimming than shrink_load, and is a win on i965's
vec4 and nir-to-tgsi. For scalar backends like this that don't need ALU
shrinking, it still gets more load intrinsics covered.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6050 >
2020-08-03 21:26:45 +00:00
Eric Anholt
023e6669cc
i965: Enable vector shrinking in the vec4 backend.
...
This manages to make some extra vec operations that would turn into movs
go away.
brw shader-db:
total instructions in shared programs: 3895037 -> 3893221 (-0.05%)
total cycles in shared programs: 113832759 -> 113792154 (-0.04%)
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6050 >
2020-08-03 21:26:45 +00:00
Eric Anholt
1c9906d5ff
nir: Add a pass to cut the trailing ends of vectors.
...
Ideally we'd also handle unused middles of vectors and reswizzle ALU-only
uses of it so we could write fewer channels, but that's future work/
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6050 >
2020-08-03 21:26:45 +00:00
Jonathan Marek
5afaec3741
turnip: workaround for a630 d24_unorm_s8_uint fails
...
A630 doesn't have the HW format we use to sample stencil, so it needs a
workaround. It also has a bug around the AS_R8G8B8A8 format, which doesn't
work when UBWC is disabled, so use 8_8_8_8_UNORM instead when UBWC is
disabled (using AS_R8G8B8A8 or 8_8_8_8_UNORM should only matter with UBWC)
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5438 >
2020-08-03 21:07:30 +00:00
Christian Gmeiner
6fc52739bb
etnaviv: fix nir validation problem
...
Fixes the following validation problem:
error: nir_intrinsic_align_offset(instr) < nir_intrinsic_align_mul(instr)
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Tested-by: Lukas F. Hartmann <lukas@mntmn.com >
Acked-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6127 >
2020-08-03 20:05:20 +00:00
Rob Clark
caa107cb8d
freedreno/decode: move dependencies up a level
...
This is mainly for the benefit of automated syncing of changes from mesa
back to envytools, where the same subdir meson.build's are used, but the
toplevel meson.build is different. In the envytools case, we want these
depenendencies to be required.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6154 >
2020-08-03 19:46:49 +00:00
Rob Clark
9c33c53898
freedreno/registers: install gzip'd register database
...
The decode tools aren't too useful to install without the xml. But
since libxml2 can read compressed xml, we'll gzip them for installation.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6154 >
2020-08-03 19:46:49 +00:00
Rob Clark
62ebd342e6
freedreno/registers: split header build into subdirs
...
Instead of building the adreno/foo.xml headers from the toplevel, split
out a subdir(). This fits better with how meson likes things to be
structured. But it does require fixing a bit about how gen_header.py
resolves imports, ie. it cannot assume the src file is at the root of
the $RNN_PATH.
This is needed for the next patch, to add support for installing the
register database for use with installed tools.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6154 >
2020-08-03 19:46:49 +00:00
Rob Clark
e59b241213
freedreno/registers: add .gitignore
...
Testing headergen2 will create .xml.h in the same location as the .xml.
But we don't want this to get accidentially committed.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6154 >
2020-08-03 19:46:49 +00:00
Rob Clark
24f55eb6e8
freedreno/rnn: rework RNN_DEF_PATH construction
...
No need for rnn_path.h, just construct the whole thing in meson and pass
via c_args. Also move where the path is constructed up one level. This
will be needed for syncing back to envytools, where the path will be
different.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6154 >
2020-08-03 19:46:49 +00:00
Rob Clark
bf425b7e51
freedreno/rnn: also look for .xml.gz
...
libxml2 can load gzip compressed files, so lets look for these too.
This will be useful for installing the register database so that an
installed cffdump/crashdec can use them. But it isn't too useful
to be able to edit the installed register database, so we can gzip
them to use less disk space.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6154 >
2020-08-03 19:46:49 +00:00
Joshua Ashton
8efdd388e0
radv: Implement VK_EXT_4444_formats
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6160 >
2020-08-03 19:27:37 +01:00
Jason Ekstrand
3c2a1af660
anv: Implement VK_EXT_4444_formats
...
We only support the ARGB format, not the ABGR one. Fortunately, the
ARGB is the one required by D3D11.
Reviewed-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6158 >
2020-08-03 17:50:03 +00:00
Jason Ekstrand
b44139ef36
vulkan: Update Vulkan XML and headers to 1.2.149
...
Reviewed-by Joshua Ashton <joshua@froggi.es >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6158 >
2020-08-03 17:50:03 +00:00
Mike Blumenkrantz
070fd2b66f
u_prim_restart: add inline function for getting restart index based on index size
...
handy to have this available for drivers to reuse
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6147 >
2020-08-03 16:58:48 +00:00
Nanley Chery
1f24c54458
iris: Zero the add-on clear color BO on import
...
When iris imports an I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS surface, it
allocates a buffer to hold the indirect clear color. When the import is
complete, iris_resource::aux::clear_color is set to zero but the
indirect buffer is filled with garbage values. This could break certain
texture view use-cases, so zero the allocated buffer to fix those.
Fixes: c19492bcdb ("iris: Handle importing aux-enabled surfaces on TGL")
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6092 >
2020-08-03 16:24:16 +00:00
Tomeu Vizoso
a9560939e0
ci: Build-test Panfrost tools
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3348
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6157 >
2020-08-03 17:43:51 +02:00
Mike Blumenkrantz
cd1c21f8e5
zink: implement handling for VK_EXT_calibrated_timestamps
...
just the extension setup; we need this to handle device timestamp
queries outside of batches
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5913 >
2020-08-03 14:22:39 +00:00
Mike Blumenkrantz
8930b19676
zink: store valid timestamp bits onto zink_screen
...
we need this for converting timestamp ticks to nonoseconds
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5913 >
2020-08-03 14:22:39 +00:00
Mike Blumenkrantz
3e6366be68
zink: handle VK_EXT_vertex_attribute_divisor setup
...
this just enables the extension
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5913 >
2020-08-03 14:22:39 +00:00
Mike Blumenkrantz
99b44536bf
zink: clamp PIPE_SHADER_CAP_MAX_SHADER_BUFFERS to PIPE_MAX_SHADER_BUFFERS
...
this value gets split between ssbos and abos, so clamping to 8 here causes
a number of tests to fail just because there's not enough buffers available
other gallium drivers return 32 here, so this seems pretty safe
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5913 >
2020-08-03 14:22:39 +00:00
Mike Blumenkrantz
01d6220cff
zink: implement VK_EXT_robustness2
...
this adds support for null descriptors, which is necessary for full
compliance with ARB_texture_buffer_object
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5913 >
2020-08-03 14:22:39 +00:00
Alyssa Rosenzweig
b2f475251e
pan/mdg: Test for SSA before chasing addresses
...
It's possible an SSA value depends on a register; in this case, chasing
the source would result in a crash as the chase helper in NIR asserts
is_ssa. Instead we should check a priori that all the argments are in
fact SSA, bailing otherwise.
In the piglit shader exhibiting this bug (by looping over the index),
bailing on the ishl instruction is -necessary-. This is not merely us
being cowardly to avoid seeing through the registers; indeed, if we
wrote away the ishl instruction, the shift itself would have to be
stored in a load/store register (r26/r27) which would preclude reading
it in the loop, creating a register allocation failure later in the
compile. So this is the correct solution due to the restricted
semantics.
Closes #3286
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reported-by: Icecream95 <ixn@keemail.me >
Fixes: f5401cb886 ("pan/midgard: Add address analysis framework")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6144 >
2020-08-03 09:43:47 -04:00
Alyssa Rosenzweig
b4de9e035a
pan/mdg: Mask spills from texture write
...
This prevents RA failures the results of reading multiple textures that
require less than 4 channels, as seen in a number of GL 3 WebRender shaders.
Closes : #3342
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reported-by: Icecream95 <ixn@keemail.me >
Tested-by: Icecream95 <ixn@keemail.me >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6144 >
2020-08-03 09:43:37 -04:00
jzielins
26dd8f8045
swr: Bump maximum 2D texture size to 16kx16k
...
This may be required by some applications, even though
not all texture formats will be below 2GB limit.
This change also increases the maximum size of render target,
that was inadvertently lowered some time ago.
Reviewed-by: Krzysztof Raszkowski <krzysztof.raszkowski@intel.com >
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6139 >
2020-08-03 13:46:51 +02:00
Bas Nieuwenhuizen
99cf910834
mesa/st: Actually free the driver part of memory objects on destruction.
...
_mesa_delete_memory_object(ctx, obj) == free(obj) but doesn't free the
part of the gallium driver.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/1206
Fixes: 49f4ecc677 "mesa/st: start adding memory object support"
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6148 >
2020-08-03 10:33:00 +00:00
Gert Wollny
63bff6a9f8
gallivm/nir: Lower uniforms to UBOs in llvm draw if the driver didn't request this already
...
When the llvm draw engine is used for draw shaders in st_program the driver
may not enable the cap PIPE_CAP_PACKED_UNIFORMS, so uniforms are not
be lowered to UBOs. However, llvm doesn't support nir_load_uniform, so lower
the uniforms to UBO now. The multiplier is set to 16 to be the same like in
the TGSI code path.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5681 >
2020-08-03 06:43:34 +02:00
Mauro Rossi
b54afde3ad
android: freedreno: move a2xx disasm out of gallium
...
Fixes the following building errors:
clang: error: no such file or directory: 'external/mesa/src/gallium/drivers/freedreno/a2xx/disasm-a2xx.c'
clang: error: no input files
FAILED: out/target/product/x86_64/obj/SHARED_LIBRARIES/gallium_dri_intermediates/LINKED/gallium_dri.so
ld.lld: error: undefined symbol: disasm_a2xx
>>> referenced by ir2_assemble.c:546 (external/mesa/src/gallium/drivers/freedreno/a2xx/ir2_assemble.c:546)
>>> ir2_assemble.o:(assemble) in archive out/target/product/x86_64/obj/STATIC_LIBRARIES/libmesa_pipe_freedreno_intermediates/libmesa_pipe_freedreno.a
clang-9: error: linker command failed with exit code 1 (use -v to see invocation)
Fixes: f39afda1a7 ("freedreno: move a2xx disasm out of gallium")
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com >
Acked-by: Rob Clark <robdclark@gmail.com >
Acked-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6151 >
2020-08-02 21:40:21 +02:00
Mauro Rossi
ca114e6273
android: freedreno/common: add support for libfreedreno_common static
...
Porting of meson build rules to Android
Fixes: 9623debf48 ("freedreno: Centralize UUID generation into new files freedreno_uuid.c/h")
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com >
Acked-by: Rob Clark <robdclark@gmail.com >
Acked-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6151 >
2020-08-02 21:40:21 +02:00
Mauro Rossi
f065ec43ab
android: freedreno/ir3: fix include paths
...
Fixes the following building error:
external/mesa/src/freedreno/ir3/disasm-a3xx.c:33:10: fatal error: 'disasm.h' file not found
#include "disasm.h"
^~~~~~~~~~
1 error generated.
Fixes: f7bd3456d7 ("freedreno: deduplicate a3xx+ disasm")
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com >
Acked-by: Rob Clark <robdclark@gmail.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6151 >
2020-08-02 21:40:21 +02:00
Mauro Rossi
711c30b764
android: freedreno/registers: fix generated headers rules
...
Fixes the following building errors:
FAILED: ninja: 'external/mesa/src/freedreno/registers/a2xx.xml',
needed by 'out/target/product/x86_64/gen/STATIC_LIBRARIES/libfreedreno_registers_intermediates/registers/a2xx.xml.h',
missing and no known rule to make it
...
FAILED: ninja: 'external/mesa/src/freedreno/registers/adreno-pm4-pack.xml.h',
needed by 'out/target/product/x86_64/gen/STATIC_LIBRARIES/libfreedreno_registers_intermediates/registers/adreno-pm4-pack.xml.h',
missing and no known rule to make it
Fixes: b721d336da ("freedreno: slurp in rnndb")
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com >
Acked-by: Rob Clark <robdclark@gmail.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6151 >
2020-08-02 21:40:21 +02:00
Tapani Pälli
32e0f7e097
anv: toggle on VK_EXT_extended_dynamic_state
...
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5604 >
2020-08-02 17:44:54 +00:00
Tapani Pälli
b9a05447a1
anv: dynamic vertex input binding stride and size support
...
If pStrides or Psizes are NULL we should use the values defined by the
pipeline.
v2: fix commit message and fix the code to set explicitly if we are
using dynamic stride/size
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5604 >
2020-08-02 17:44:54 +00:00
Tapani Pälli
e4590c0750
anv: depth/stencil dynamic state support
...
v2: code cleanup, remove extra spaces (Lionel)
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5604 >
2020-08-02 17:44:54 +00:00
Tapani Pälli
f6fa4a8000
anv: add support for dynamic primitive topology change
...
This is done using 3DSTATE_VF_TOPOLOGY packet that overrides topology
used in subsequent 3DPRIMITIVE commands. For gen7[5] we override the
pipeline topology when emitting draw commands.
v2: fix the way gen7[5] is handled (Lionel)
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5604 >
2020-08-02 17:44:54 +00:00
Tapani Pälli
f426663f9c
anv: add support for dynamic viewport and scissor with count
...
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5604 >
2020-08-02 17:44:54 +00:00
Tapani Pälli
9220598b36
anv: add support for dynamic cull mode and winding order
...
v2: cleanup, white space issues (Lionel)
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5604 >
2020-08-02 17:44:54 +00:00
Tapani Pälli
c34d8ac26e
anv: handle dynamic viewport count
...
Emit 3DSTATE_CLIP during cmd_buffer_flush_state so that we can change
the max viewport count dynamically.
v2: use one common clip state as size is the same for all gens (Lionel)
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5604 >
2020-08-02 17:44:54 +00:00
Tapani Pälli
11f3fb9a4e
anv: consider dynamic state when creating pipeline
...
Leave default state values as zero so that when we OR them later
it is only the dynamic state value that matters.
v2: code cleanup + skip topology emit in base batch
when topology is dynamic (Lionel)
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5604 >
2020-08-02 17:44:54 +00:00
Tapani Pälli
65de778e0b
anv: add new dynamic states
...
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5604 >
2020-08-02 17:44:54 +00:00
Tapani Pälli
2260ce6d0c
anv: add VK_EXT_extended_dynamic_state but leave it disabled
...
This is needed to ensure the function prototypes are declared.
v2: tweak commit message (Jason)
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5604 >
2020-08-02 17:44:54 +00:00
Eric Engestrom
a4181fcd42
meson: fix -D xlib-lease=auto detection
...
This is used by Vulkan, not EGL, and depends on having DRM/KMS, not GBM.
Reported-by: Oschowa <oschowa@web.de >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3346
Fixes: e00adef34a ("egl: automatically compile the `drm` platform when available")
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6150 >
2020-08-02 16:23:47 +00:00
Eric Engestrom
c1476044b5
egl: consistently use dri2_egl_display() helper macro
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6133 >
2020-08-02 01:13:48 +02:00
Connor Abbott
27eea627ef
freedreno/afuc: Fix PM4 enum parsing
...
We were open-coding it, and getting variant parsing wrong for things
like "A4XX-" which don't explicitly include the version being
disassembled. Use the rnn function instead. This makes CP_INDIRECT show
up again. Also propagate const-ness to users.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6140 >
2020-08-01 17:51:01 +00:00
Connor Abbott
a5daaed587
freedreno/afuc: Add missing rnn_prepdb()
...
It's totally not obvious, but this runs extra error checking and is
necessary for correct variant handling, and variant handling will
silently not work if it's not enabled. Add it asm.c even though it's not
strictly necessary, to prevent anyone from missing this in the future.
Missing this really should be an error.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6140 >
2020-08-01 17:51:01 +00:00
Connor Abbott
8d0e5e0626
freedreno/cffdec: Stop open-coding enum parsing
...
Now that rnndec_decode_enum() has been fixed, it does the same thing as
this function.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6140 >
2020-08-01 17:51:01 +00:00
Connor Abbott
73241ca53e
freedreno/rnn: Make rnn_decode_enum() respect variants
...
We'll need this for afuc, and we're currently also open-coding the same
thing in rnnutils. It seems this function was added to decode pm4 packet
names, but it currently has no users, so make it useful for what it
was intended to do.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6140 >
2020-08-01 17:51:01 +00:00
Eric Engestrom
b67695d597
egl/haiku: drop overwritten preset of EGL version
...
`init_haiku()` is called by `eglInitialize()`, which then calls
`_eglComputeVersion()` (without even anything in between). The latter
sets the EGL version based on the extensions supported, and since Haiku
doesn't support any it will end up overwriting the same `1.4` value.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6131 >
2020-08-01 17:31:33 +00:00
Eric Engestrom
9c6fa9421d
egl: const _eglDriver
...
Converted using `s/_EGLDriver/const _EGLDriver/g` and dropped a couple
of irrelevant changes in comments, in the `_EGL_DRIVER_TYPECAST()` macro
and the typedef itself.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6129 >
2020-08-01 17:12:20 +00:00
Lepton Wu
81c0e2ab63
egl: Allow software rendering for vgem/virtio_gpu in platform_device
...
Then user could explicitly choose the underlying device for software
rendering when both vgem/virtio_vga are there.
Signed-off-by: Lepton Wu <lepton@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5830 >
2020-08-01 10:07:25 +00:00
Matt Turner
eaf27eb512
intel/tools: Test notification subregisters
...
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5956 >
2020-07-31 12:59:24 -07:00
Matt Turner
ac7ecd205b
intel/tools: Simplify notification register handling
...
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5956 >
2020-07-31 12:59:24 -07:00
Matt Turner
63181df09b
intel/tools: Don't hardcode notification register
...
Previously we parsed a src non-terminal but did nothing with it. Since
the WAIT instruction is kind of weird, in that you have to give it the
same notification subregister for both destination and source, and it
always has an exec size of 1, let's parse a destination instead of a
source. This way, we can parse a writemask rather than a swizzle in
align16 mode, and easily convert the writemask to a swizzle to create
the source register.
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5956 >
2020-07-31 12:59:24 -07:00
Matt Turner
90c18ec8db
intel/tools: Manually set ARF register file/nr/subnr
...
brw_reg::subnr is in bytes, like the subnr field in the instruction
word, but we disassemble the subregister number in units of the type.
For example g0.3<1>F would have a subnr=12.
These non-terminals produce a brw_reg and feed into other non-terminals
that call brw_reg(), where they are passed the subnr that we set here.
brw_reg()'s subnr parameter is expected to be in terms of the register
type, and it is multiplied by the type size to calculate the subnr in
bytes.
In these non-terminals, we don't know the register type yet, so we
must store the subregister number as it was given to us in the .subnr
field and let the brw_reg() constructor handle the conversion to the
canonical byte-based subnr form when it knows the type.
Before this patch, subregister numbers applied to these registers would
be multiplied with the type size twice.
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5956 >
2020-07-31 12:59:24 -07:00
Matt Turner
af6d6f5c43
intel/tools: Pass integers, not enums, to stride()
...
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5956 >
2020-07-31 12:59:24 -07:00
Matt Turner
c883c482be
intel/compiler: Relax SENDS regioning assertions
...
The next commit fixes a mistake in the assembler and ends up running
afoul of this assertion.
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5956 >
2020-07-31 12:59:24 -07:00
Matt Turner
363e5ef5a5
intel/tools: Simplify dstregion
...
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5956 >
2020-07-31 12:59:24 -07:00
Matt Turner
3d9c673c0f
intel/tools: Simplify immediate handling
...
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5956 >
2020-07-31 12:59:24 -07:00
Matt Turner
59801f07e7
intel/tools: Make writemask an integer
...
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5956 >
2020-07-31 12:59:24 -07:00
Matt Turner
e115c499da
intel/tools: Make swizzle an integer
...
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5956 >
2020-07-31 12:59:24 -07:00
Matt Turner
3e1602cc4f
intel/tools: Simplify register type handling
...
Produce a brw_reg_type rather than a whole brw_reg and rename a few
non-terminals.
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5956 >
2020-07-31 12:59:24 -07:00
Matt Turner
2851c218e2
intel/tools: Don't allow empty type specifier
...
It's preferable to require an explicit type.
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5956 >
2020-07-31 12:59:24 -07:00
Matt Turner
6809b93411
intel/tools: Remove stray newline
...
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5956 >
2020-07-31 12:59:24 -07:00
Matt Turner
fdfbb1ed26
intel/tools: Fix typos
...
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5956 >
2020-07-31 12:59:24 -07:00
Alyssa Rosenzweig
2dec9092be
pan/bit: Remove BI_SHIFT stub
...
Fixes compile error with -Dtools=panfrost
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Fixes: 946ff9b439 ("bifrost: Add support for nir_op_ishl")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6142 >
2020-07-31 10:15:00 -04:00
Alyssa Rosenzweig
aa989aed6d
pan/bit: Update f32->f16 convert test
...
Needs a second argument to be consistent with the real IR and the
hardware instruction.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Fixes: 8a4efe2d73 ("pan/bi: Pack second argument of F32_TO_F16")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6142 >
2020-07-31 10:14:59 -04:00
Tomeu Vizoso
cf8a8b764e
ci: Set date in LAVA DUTs from NTP servers
...
The MinIO server is sometimes complaining about the submitted date being
too off.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6135 >
2020-07-31 14:14:38 +02:00
Eric Anholt
7f40db42a2
docs: Explain how to set up a personal gitlab runner.
...
I'm not the only one doing it, so document it, especially since there's a
new trick as of
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5669
Reviewed-by: Andres Gomez <agomez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5988 >
2020-07-31 09:17:02 +00:00
Connor Abbott
8e626879dd
freedreno/a6xx: Fix CP_BIN_SIZE_ADDRESS name
...
Also document some other registers gleaned from looking at the context
switch save/restore routines and fix CP_SDS_REM_SIZE, and make the names
line up with the CP perfcntr names. Note that the CP reads the draw
stream size in CP_SET_BIN_DATA5 using MEM_READ_ADDR, which is probably
why this was mistaken for the draw stream size address.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6123 >
2020-07-31 07:44:02 +00:00
David Stevens
6c11a7994d
i965/i915: Add colorspace support to YUV sampling
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6122 >
2020-07-31 07:27:03 +00:00
David Stevens
d8fdb8dab4
nir: Add colorspace support to YUV lowering pass
...
This change adds support for BT709 and BT2020 colorspace to the YUV
lowering pass. The default remains BT601.
This change also fixes minor imprecision in the last digits of the BT601
offsets due to computation from rounded values when the math was
simplified.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6122 >
2020-07-31 07:27:03 +00:00
Mike Blumenkrantz
f3509c0766
zink: add extension loading framework for spirv builder
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5969 >
2020-07-31 06:53:01 +00:00
Italo Nicola
a91011c9ec
pan/mdg: emit REGISTER_UNUSED on unused ALU src2
...
This saves power and time by skipping a roundtrip to the register file.
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6128 >
2020-07-31 00:25:21 +00:00
Lepton Wu
a2065917cc
mapi: Return NULL function pointers for GL_EXT_debug_marker
...
Mesa returns a stub function pointer to glAnything for years.
Android framework till API level 30 just uses function pointers
returned from eglGetProcAddress without checking if the underlying
extension is supported. If we return stub pointers for functions
in GL_EXT_debug_marker, Android just uses our stub functions instead
of its own stubs and then fail the dEQP. In the past, the issue
didn't show up because mesa only has limited slots and run out of slots
before Android calls eglGetProcAddress on functions inside
GL_EXT_debug_marker.
Signed-off-by: Lepton Wu <lepton@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5652 >
2020-07-30 23:45:56 +00:00
Eric Engestrom
258165bed4
egl: drop left-over function prototype
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6037 >
2020-07-30 23:24:30 +00:00
Eric Engestrom
ed3f1e04c7
egl: rename _eglMatchDriver() to _eglInitializeDisplay()
...
... and fix the comment to better reflect what this really does.
The whole "match a driver at runtime" thing has been gone for years.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6037 >
2020-07-30 23:24:30 +00:00
Eric Engestrom
6d6b82a159
egl: inline _eglMatchAndInitialize() and refactor _eglMatchDriver()
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6037 >
2020-07-30 23:24:30 +00:00
Eric Engestrom
a77050c034
egl: fix _eglMatchDriver() return type
...
The one caller only ever checks if the return value is NULL or not, so
let's simplify the function by only returning that information.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6037 >
2020-07-30 23:24:30 +00:00
Eric Engestrom
f91851e615
egl: drop unnecessary _eglGetDriver()
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6037 >
2020-07-30 23:24:30 +00:00
Eric Engestrom
d24e3ea8cb
egl: replace _eglInitDriver() with a simple variable
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6037 >
2020-07-30 23:24:30 +00:00
Italo Nicola
3d4deb659e
pan/mdg: remove ins->br_compact and ins->branch_extended
...
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5933 >
2020-07-30 22:55:36 +00:00
Italo Nicola
8150c1d632
pan/mdg: defer branch packing
...
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5933 >
2020-07-30 22:55:36 +00:00
Italo Nicola
140185eb04
pan/mdg: refactor emit_alu_bundle
...
This refactor prepares emit_alu_bundle() for the next commit that
reconstructs branch instructions right before emission.
It also simplifies the code since the previous control flow was only
better when we had the prepacked fields in midgard_instruction.
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5933 >
2020-07-30 22:55:36 +00:00
Italo Nicola
0f0f9ee710
pan/mdg: remove ins->alu
...
This commit removes the `ins->alu` field from midgard_instruction,
simplifying the code by just recreating midgard_vector_alu later when we
have to emit it.
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5933 >
2020-07-30 22:55:36 +00:00
Italo Nicola
5299239c2e
pan/mdg: externalize mir_pack_mod
...
midgard_print.c requires mir_pack_mod to remove references to ins->alu.
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5933 >
2020-07-30 22:55:36 +00:00
Italo Nicola
1a4d165683
pan/mdg: defer register packing
...
This commit moves the packing of registers and other things from
install_registers_instr() to midgard_emit.c, right before emitting the
binary.
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5933 >
2020-07-30 22:55:36 +00:00
Italo Nicola
bea6a652db
pan/mdg: eliminate references to ins->load_store.op
...
This commit makes `ins->op` the correct field to use with load_store
instructions.
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5933 >
2020-07-30 22:55:36 +00:00
Italo Nicola
92c808cd47
pan/mdg: eliminate references to ins->texture.op
...
This commit makes the `ins->op` the correct field to use with texture
instructions.
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5933 >
2020-07-30 22:55:36 +00:00
Italo Nicola
83592de7ad
pan/mdg: apply float outmods to textures
...
Texture instructions in midgard support float outmods, this commit makes
it so these instructions are emitted when the conditions are met.
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5933 >
2020-07-30 22:55:36 +00:00
Italo Nicola
5011373e2b
pan/mdg: eliminate references to ins->alu.outmod
...
In an effort to simplify MIR by not prepacking instructions, this commit
removes references to `ins->alu.outmod` so that we can later remove the
`ins->alu` field from midgard_instruction.
Every place that was using `ins->alu.outmod` was changed to now use the
generic `ins->outmod` field instead.
We then reconstruct the outmod field right before emission.
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5933 >
2020-07-30 22:55:36 +00:00
Italo Nicola
f34815c6be
pan/mdg: fix comment
...
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5933 >
2020-07-30 22:55:36 +00:00
Italo Nicola
5f7e0185cd
pan/mdg: eliminate references to ins->alu.reg_mode
...
In an effort to simplify MIR by not prepacking instructions, this commit
removes references to `ins->alu.reg_mode` so that we can later remove
the `ins->alu` field from midgard_instruction.
Every place that was using reg_mode was changed to now use the generic
`ins->src_type` field instead.
We then reconstruct the reg_mode field right before emission.
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5933 >
2020-07-30 22:55:36 +00:00
Italo Nicola
f4c89bf9bd
pan/mdg: eliminate references to ins->alu.op
...
In an effort to simplify MIR by not prepacking instructions, this commit
removes references to `ins->alu.op` so that we can later remove the
`ins->alu` field from midgard_instruction.
Every place that was using ins->op was changed to now use the generic
`ins->op` field instead.
We then reconstruct the `alu.op` field right before emission.
This new field is generic and can contain opcodes for ALU, texture or
load/store instructions. It should be used in conjunction with
`ins->type`, just like the current prepacked `op` field.
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5933 >
2020-07-30 22:55:36 +00:00
Italo Nicola
598527f2fe
pan/mdg: prepare effective_writemask()
...
In the next commits we will be removing the `alu` field from
midgard_instruction in order to simplify the code.
effective_writemask() doesn't actually use `alu` for anything, it only
needs to know the opcode.
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5933 >
2020-07-30 22:55:36 +00:00
Italo Nicola
b1b0ce04b3
pan/mdg: fix src_type in instructions that need a implicit zero
...
We were incorrectly assuming uint32 for src_type[1] regardless of
src_type[0].
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5933 >
2020-07-30 22:55:36 +00:00
Eric Anholt
75b1f3d39d
drm-shim: Return -EINVAL instead of abort()ing on unknown ioctls.
...
I had this as abort() in my original implementation since I was doing
drm-shim and my kernel driver in parallel based around using a SW
simulator, and I wanted to always update both, but it means that people's
new feature detection code can easily end up breaing their drm-shim
shader-db runs (such as intel's kernel_has_dynamic_config_support()
checking for -ENOENT instead of -EINVAL for a feature, which showed up on
my personal runner but not fd.o's for reasons I'm unclear on).
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5994 >
2020-07-30 19:59:20 +00:00
Mike Blumenkrantz
c77a414ec2
u_prim_restart: handle indirect draws
...
this is pretty gross, but we need to map the indirect buffer to get the
index info and then use that for mapping the index buffer and translating
the restart index
Reviewed-by: Dave Airlie <airlied@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5886 >
2020-07-30 19:34:03 +00:00
Roman Stratiienko
a58081f97c
panfrost: Android build fixes 2020 week 31
...
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6109 >
2020-07-30 18:21:53 +00:00
Rhys Perry
75a68eee28
aco: optimize swizzled SALU 8/16-bit conversions
...
We only need one s_bfe for a conversion with a swizzled source.
shader-db (parallel-rdp, Navi):
Totals from 487 (71.30% of 683) affected shaders:
SpillSGPRs: 3284 -> 3233 (-1.55%); split: -2.71%, +1.16%
SpillVGPRs: 2174 -> 2150 (-1.10%); split: -1.24%, +0.14%
CodeSize: 2497864 -> 2445544 (-2.09%); split: -2.11%, +0.01%
Instrs: 450613 -> 445104 (-1.22%); split: -1.27%, +0.05%
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/5259 >
2020-07-30 17:34:51 +00:00
Mauro Rossi
80c135e6a6
radv: fix build on Android 7 (v2)
...
Fixes the following building error:
external/mesa/src/amd/vulkan/radv_android.c:28:10: fatal error:
'vndk/hardware_buffer.h' file not found
^~~~~~~~~~~~~~~~~~~~~~~~
(v2) use the existing preprocessor condition #if ANDROID_API_LEVEL >= 26
Fixes: f36b527 "radv/android: Add android hardware buffer queries."
Reported-and-tested-by: youling 257 <youling257@gmail.com >
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6051 >
2020-07-30 17:10:31 +00:00
Boris Brezillon
e1b114868a
nir: Get rid of __[u]int64_to_fp32() and __fp32_to_[u]int64()
...
Those are now handled by nir_lower_int64() which has native NIR
implementations.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5588 >
2020-07-30 16:54:24 +00:00
Boris Brezillon
025988f818
intel: Set int64_options to ~0 when lowering 64b ops
...
That's more future proof than setting each bit manually. Looks like we
already miss nir_lower_ufind_msb64 because of that.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5588 >
2020-07-30 16:54:24 +00:00
Boris Brezillon
936c58c8fc
nir: Extend nir_lower_int64() to support i2f/f2i lowering
...
That's an attempt at replacing the complex __int64_to_float() and
__float_to_int64() implementations found in float64.glsl by a simpler
native NIR equivalent.
Thanks to that, we can have lower those conversion without having to
compile a GLSL shader, which would be quite annoying for OpenCL
kernels.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5588 >
2020-07-30 16:54:24 +00:00
Boris Brezillon
bfee35b45c
nir: Stop passing an options arg to nir_lower_int64()
...
This information is exposed through shader->options->lower_int64_options.
Removing the extra arg forces drivers to initialize this field correctly.
This also allows us to check the int64 lowering options from each int64
lowering helper and decide if we should lower the instructions we
introduce.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5588 >
2020-07-30 16:54:24 +00:00
Boris Brezillon
9e23925991
freedreno: Initialize lower_int64_options to a proper value
...
We're trying to get rid of the options argument passed to
nir_lower_int64() and use the nir_options.lower_int64_options instead.
But before we can do that we must patch nir_lower_int64() callers
that don't have this field properly set.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5588 >
2020-07-30 16:54:24 +00:00
Daniel Schürmann
f1f9fdb8a6
aco: add GFX6/7 subdword lowering tests
...
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Daniel Schürmann <daniel@schuermann.dev >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3521 >
2020-07-30 16:13:08 +00:00
Rhys Perry
000530ea68
aco/tests: add tests for sub-dword swaps
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Daniel Schürmann <daniel@schuermann.dev >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3521 >
2020-07-30 16:13:08 +00:00
Rhys Perry
54394a4d3b
ci: enable ACO tests
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Daniel Schürmann <daniel@schuermann.dev >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3521 >
2020-07-30 16:13:08 +00:00
Rhys Perry
d488d0fd7b
aco: add framework for testing isel and integration tests
...
And add some simple tests to demonstrate/test the pipeline builder and
glsl_scraper.py.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Daniel Schürmann <daniel@schuermann.dev >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3521 >
2020-07-30 16:13:08 +00:00
Rhys Perry
bb7d7755f5
aco: add a few tests for the assembler and optimizer
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Daniel Schürmann <daniel@schuermann.dev >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3521 >
2020-07-30 16:13:08 +00:00
Rhys Perry
e6366f9094
aco: add framework for unit testing
...
And add some "tests" to test and document currently unused features of the
framework.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Daniel Schürmann <daniel@schuermann.dev >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3521 >
2020-07-30 16:13:08 +00:00
Boris Brezillon
dd155aef44
nir: Allow casts in nir_deref_instr_get[_const]_offset()
...
Allow casts in a deref chain so we can calculate an offset from
a base pointer dereference or have pointer type casts in the
middle of the chain (both are pretty common in CL).
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5682 >
2020-07-30 17:11:43 +02:00
Boris Brezillon
6a1382399c
nir: Use a switch in build_deref_offset()/deref_instr_get_const_offset()
...
We are about to add support for casts when calculating offset, but let's
first turn the if()/else if()/else block into a switch() statement to
ease addition of new cases.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5682 >
2020-07-30 17:11:35 +02:00
Tomeu Vizoso
e933ac21cb
ci: Generate MinIO credentials within LAVA jobs
...
As these credentials are valid only for 15 minutes, generate them closer
to when they are going to be used.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6124 >
2020-07-30 14:42:15 +02:00
Eric Anholt
cb82274538
ci/bare-metal: Capture the first devcoredump a job produces.
...
Connor recently ran into an issue where the chezas were hanging where his
GPUs weren't, and was blocked on getting some feedback on what was
happening. A devcoredump will help non-cheza-having devs debug (or
hopefully with other intermittent fails).
Closes : #3187
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6036 >
2020-07-30 11:41:57 +00:00
Tomeu Vizoso
3120b4dcd3
ci: Print URL to image diff when a trace replay fails
...
Developers can see how the rendering differed from the executed value.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6113 >
2020-07-30 13:18:54 +02:00
Tomeu Vizoso
bea34a0853
ci: Upload reference images for traces
...
After a trace succeeds, check if the rendered image already exists in
the repository of reference images, and upload it if it doesn't.
This image will be used for comparing with failed retraces.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6113 >
2020-07-30 13:18:35 +02:00
Marcin Ślusarz
cb19fe24d3
intel/vec4: fix out of bounds read
...
NIR_MAX_VEC_COMPONENTS was bumped from 4 to 16 in a8ec4082
(2019.03.09, merged 2019.12.21)
float[4] array was added in acd7796a
(2019.06.11, merged 2019.07.11)
Found by Coverity.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3014
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Fixes: a8ec4082a4 ("nir+vtn: vec8+vec16 support")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6067 >
2020-07-30 10:41:00 +00:00
Marcin Ślusarz
56228b0393
iris: quiet down static analyzers
...
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6067 >
2020-07-30 10:41:00 +00:00
Marcin Ślusarz
c3a251f254
mesa: quiet down static analyzers
...
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6067 >
2020-07-30 10:41:00 +00:00
Marcin Ślusarz
0906d5d504
mesa: fix out of bounds access in glGetFramebufferParameterivEXT
...
ColorDrawBuffer is an array of MAX_DRAW_BUFFERS == 8.
Found by Coverity.
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Fixes: 7534c536ca ("mesa: add EXT_dsa (Named)Framebuffer functions")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6067 >
2020-07-30 10:41:00 +00:00
Marcin Ślusarz
28f2585365
util/format: initialize non-important components to 0
...
Avoids copying random garbage from the stack.
Found by Coverity.
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6067 >
2020-07-30 10:41:00 +00:00
Marcin Ślusarz
f13042ec7e
util: fix possible buffer overflow in util_get_process_exec_path
...
Found by Coverity.
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Fixes: f8f1413070 ("util/u_process: add util_get_process_exec_path")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6067 >
2020-07-30 10:41:00 +00:00
Marcin Ślusarz
59bb0ff945
glsl: catch out of bounds access in the debug version
...
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6067 >
2020-07-30 10:41:00 +00:00
Marcin Ślusarz
eac0ba7fc1
util: fix possible fd leaks in os_socket_listen_abstract
...
Found by Coverity.
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Fixes: ef5266ebd5 ("util/os_socket: Add socket related functions.")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6067 >
2020-07-30 10:41:00 +00:00
Alejandro Piñeiro
62bfc700f7
vulkan/util: add struct vk_pipeline_cache_header
...
Header is defined at vkGetPipelineCacheData spec, in any vulkan
version, and anv, tu and radv were using the same struct, and v3dv was
about to do the same.
Defining the same struct four times seemed odd, so let's define on a
common place.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Acked-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6058 >
2020-07-30 11:44:21 +02:00
Rob Clark
b5558f2d2a
freedreno/a6xx: fixup draw state earlier
...
`fixup_draw_state()` was updating `ctx->dirty` after it had already been
copied into the emit struct, which had the result that we were not re-
emitting the rast state when primitive_restart changes.
Fixes: 4d8f42c851 ("freedreno/a6xx: separate rast stateobj for prim restart")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3067
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6117 >
2020-07-29 20:22:05 +00:00
Rob Clark
82b419fefd
freedreno/a6xx: don't emit a bogus size for empty cb slots
...
Noticed that asphalt9 had no uniforms bound, so cb[0] is null. In
theory shouldn't cause a problem, since nothing is doing `ldc` against
cb[0], but to be safe we should use SIZE=0.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6117 >
2020-07-29 20:22:05 +00:00
Rob Clark
ba9d502d24
freedreno/ir3: add missing track_ubo_use()
...
We could lower *some* accesses to a UBO but not others. In this case,
we would have a valid range, but would have skipped tracking that the
UBO is accessed as a UBO rather than push constants.
Fixes one issue with asphalt9, that was a result of having `ldc` without
having emit UBO state.
See: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3067
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6117 >
2020-07-29 20:22:05 +00:00
Frank Binns
d0e32e5f81
egl/dri2: only take a dri2_dpy reference when binding a new context/surfaces
...
This effectively reverts part of 2907faee , which changed dri2_make_current() to
always take a dri2_dpy reference regardless of whether or not a new context or
surface(s) were being bound. This led to a reference count imbalance as there
was no corresponding code added to drop a reference on the dri2_dpy. As a
consequence, any application that called eglInitialize() on a default/native
display after having called eglTerminate() would always get back the old
dri2_dpy, inheriting its previous state.
As the reference count is there to prevent the dri2_dpy from being destroyed
between eglTerminate() and eglInitialize() calls when a context is still bound,
a reference should only be taken when a successful call to
dri2_dpy->core->bindContext() has been made. Fix the issue by restoring the old
reference counting behaviour.
Fixes: 4e8f95f64d ("egl_dri2: Always unbind old contexts")
Fixes: 2907faee7a ("egl/dri2: try to bind old context if bindContext failed")
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Luigi Santivetti <luigi.santivetti@imgtec.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Tested-by: Nicolas Cortes <nicolas.g.cortes@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3328
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6105 >
2020-07-29 20:01:14 +00:00
Rob Clark
b9391c1d50
freedreno/decode: cffdec warnings cleanup
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6118 >
2020-07-29 19:32:51 +00:00
Rob Clark
20e703b7e6
freedreno/rnn: headergen2 warnings cleanup
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6118 >
2020-07-29 19:32:51 +00:00
Kenneth Graunke
128cbcd3a7
iris: Delete shader variants when deleting the API-facing shader
...
We were space-leaking iris_compiled_shader objects, leaving them around
basically forever - long after the associated iris_uncompiled_shader was
deleted. Perhaps even more importantly, this left the BO containing the
assembly referenced, meaning those were never reclaimed either. For
long running applications, this can leak quite a bit of memory.
Now, when freeing iris_uncompiled_shader, we hunt down any associated
iris_compiled_shader objects and pitch those (and their BO) as well.
One issue is that the shader variants can still be bound, because we
haven't done a draw that updates the compiled shaders yet. This can
cause issues because state changes want to look at the old program to
know what to flag dirty. It's a bit tricky to get right, so instead
we defer variant deletion until the shaders are properly unbound, by
stashing them on a "dead" list and tidying that each time we try and
delete some shader variants.
This ensures long running programs delete their shaders eventually.
Fixes: ed4ffb9715 ("iris: rework program cache interface")
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6075 >
2020-07-29 11:34:01 -07:00
Rhys Perry
9a49d4c2db
aco: remove isel for GLSL-style barriers
...
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/5980 >
2020-07-29 17:57:13 +00:00
Rhys Perry
cc3bc9493c
radv: use scoped barriers
...
fossil-db (LLVM, Navi):
Totals from 843 (0.62% of 135820) affected shaders:
SGPRs: 40456 -> 40480 (+0.06%); split: -0.10%, +0.16%
VGPRs: 39648 -> 39688 (+0.10%); split: -0.01%, +0.11%
CodeSize: 2936164 -> 2932508 (-0.12%); split: -0.21%, +0.09%
MaxWaves: 10828 -> 10827 (-0.01%)
fossil-db changes seem to be due to SPIR-V -> NIR emitting a workgroup
scope shared memory barrier instead of a group_memory_barrier.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5980 >
2020-07-29 17:57:13 +00:00
Rhys Perry
a8f8c02e7e
ac/nir: implement scoped_barrier
...
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/5980 >
2020-07-29 17:57:13 +00:00
Rhys Perry
6b99cf6064
nir/load_store_vectorize: fix indentation
...
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/5980 >
2020-07-29 17:57:13 +00:00
Caio Marcelo de Oliveira Filho
1a42e7dae9
nir: Filter modes of scoped memory barrier in nir_opt_load_store_vectorize
...
Otherwise a scoped memory barrier containing nir_var_mem_ubo (which
memoryBarrier() does lower to) would incorrectly prevent the
optimization to happen in UBOs.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5980 >
2020-07-29 17:57:13 +00:00
Jason Ekstrand
5c5555a862
nir: Add a find_variable_with_[driver_]location helper
...
We've hand-rolled this loop 10 places and those are just the ones I
found easily.
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
fc1363cc60
nir/gl_nir_linker: Call add_vars_with_modes once for GL_PROGRAM_INPUT
...
Now that nir_foreach_variable_with_modes can handle multiple modes at
one time, we can simplify things a bit and only walk the list once.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
789ec95dcd
nir/split_per_member_structs: Inline split_variables_in_list
...
This lets us do one list walk instead of three.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
d70fff99c5
nir: Use a single list for all shader variables
...
Instead of having separate lists of variables, roughly sorted by mode,
use a single list for all shader-level NIR variables. This makes a few
list walks a bit longer here and there but list walks aren't a very
common thing in NIR at all. On the other hand, it makes a lot of things
like validation, printing, etc. way simpler. Also, there are a number
of cases where we move variables from inputs/outputs to globals and this
makes it way easier because we no longer have to move them between
lists. We only have to deal with that if moving them from the shader to
a nir_function_impl.
Reviewed-by: Rob Clark <robdclark@chromium.org >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
473b0fc25d
gallium/ttn: Use variable create/add helpers
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
a41a84d362
mesa/ptn: Use nir_variable_create
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
e5536e4a78
aco: Use nir_foreach_variable_with_modes to walk SSBOs
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
a61be312e2
panfrost: Use nir_foreach_variable_with_modes in pan_compile
...
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
94f0bae4de
panfrost/midgard: Make search_var take a nir_shader and mode
...
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
568022be75
r600/sfn: Use nir_foreach_variable_with_modes in IO vectorization
...
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
cc51cec9c0
r600/sfn/lower_tex: Get rid of the lower_sampler vector
...
We can get the result type information easily from nir_tex_instr itself
by looking at dest_type. There's no reason to construct a vector and
try to index into it.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
929673077c
r600/sfn/lower_tess_io: Rework get_tcs_varying_offset
...
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
e4d812db10
freedreno/ir3_cmdline: Rework i/o variable fixup
...
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
ce6e59b3d3
lima/standalone: Rework i/o variable fixup
...
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
52dd84a12e
freedreno/ir3_lower_tess: Rework var list helpers
...
They now take a nir_shader and a nir_variable_mode
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
77c41ce04b
nir/gl_nir_linker: Use nir_foreach_variable_with_modes
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
c256cd900e
nir/lower_variable_initializers: Restrict the modes we lower
...
This is not a functional change because these are the only modes we
handle. All others get silently ignored.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
4d7e064623
nir/split_per_member_structs: Use nir_variable_with_modes_safe
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
90cf4709d9
nir/lower_uniforms_to_ubo: Use nir_foreach_variable_with_modes
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
d0d5ef6139
nir/lower_two_sided_color: Use nir_variable_create
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
bb3994cfe7
nir/io_to_vector: Use nir_foreach_variable_with_modes
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
0a77c67442
nir/lower_io_to_temporaries: Use a separate list for new inputs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
cd66005b23
nir: Use a nir_shader and mode in lower_clip_cull_distance_arrays
...
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
d5d15c301e
nir/lower_amul: Add a variable mode check
...
This loop should only apply to UBOs and SSBOs because max_slot is never
used for normal uniforms.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
3be0be7d54
nir: Split nir_index_vars into two functions
...
We also very slightly change the semantics. It no longer is one index
per list for global variables and is a single index over-all.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
86c9303814
nir/split_vars: Add mode checks to list walks
...
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
2f6c263cc3
st/nir: Rework fixup_varying_slots
...
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
4c3a30393d
nir/linking: Rework some internal helpers
...
Instead of taking a variable list, take a nir_shader and mode.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
caab46c1e9
nir: Take a shader and variable mode in nir_assign_io_var_locations
...
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
964c1c4b87
nir: Take a nir_shader and variable mode in assign_var_locations
...
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
6f6f7a34c5
nir: Add and use a nir_variable_list_for_mode helper
...
We also add a new list iterator which takes a modes bitfield and
automatically figures out which list to use. In the future, this
iterator will work for multiple modes but today it assumes a single mode
thanks to the behavior of nir_variable_list_for_mode. This also doesn't
work for function_temp variables.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
e3e1c50067
nir: Add a nir_foreach_gl_uniform_variable helper for GL linking
...
There are a bunch of cases where we really do want to walk the list that
is nir->uniforms because we want all things declared "uniform" in the
GLSL. Add a helper for this but restrict it to the GL linking code.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
feb32f898c
nir: Add a nir_foreach_uniform_variable helper
...
This one's a bit more complex because it filters off only those
variables with mode == nir_var_uniform. As such, it's not exactly a
drop-in replacement for nir_foreach_variable(var, &nir->uniforms).
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
92dcda5ce9
nir: Add a nir_foreach_function_temp_variable helper
...
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
2956d53400
nir: Add nir_foreach_shader_in/out_variable helpers
...
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:57 +00:00
Jason Ekstrand
9bf8572222
nir/dead_variables: Respect the modes passed to remove_dead_vars
...
For the most part, this doesn't actually matter today. We already only
call remove_dead_vars on the lists that are specified in the modes. The
only functional change here is for the uniform, mem_ubo, and mem_ssbo
modes because they share a list. If nir_remove_dead_variables is called
with a mode of nir_var_uniform, it will no longer remove UBOs or SSBOs,
for instance.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:57 +00:00
Jason Ekstrand
5746af4446
nir: Take a mode in remove_unused_io_vars
...
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:57 +00:00
Frank Binns
fd91744bd4
docs: change "Fixes:" tag example to match git fixes output
...
The "Fixes:" tag example has the commit title in double quotes, whereas the
suggested git fixes alias, a couple of lines below, also adds some outer
parenthesis.
Although there doesn't appear to be a consistent format for the "Fixes:" tag,
other than it should be a git commit sha followed by the commit title, the
information in the docs should at least be consistent. As the "Fixes:" tag was
inspired by the Linux kernel, which does have parenthesis, update the example to
match the git fixes output.
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6106 >
2020-07-29 15:25:24 +00:00
Rob Clark
aa89693c02
freedreno/rnn: add schema validation
...
Now that all the schema validation issues are fixed, enable xml
validation according to stylesheet in rnn.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
3169b8c645
freedreno/rnn: schema updates for dynamic/irregular offsets
...
Really we want to require one-of offset/offsets/doffsets.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
c537947145
freedreno/registers/mdp5: fix validation error
...
Empty enums are not allowed.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
0586238036
freedreno/rnn: fix use-group
...
The schema describes the attribute as "ref" rather than "name". Which
makes more sense.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
14a7ca577f
freedreno/rnn: allow name to be optional in arrays
...
We are using unnamed arrays to describe repeating portions of a pm4
packet. So allow the name to be optional. Instead of just using
the empty-string hack, drop the attribute.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
e801069c1e
freedreno/rnn: add "addvariant" to schema
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
b0e3ef5a25
freedreno/rnn: describe copyright element in schema
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
09a3a2cfe9
freedreno/registers/adreno_pm4: fix validation errors
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
c61ad1f542
freedreno/registers/a4xx: fix validation error
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
17997d5c5a
freedreno/registers/a2xx: fix validation error
...
And bonus whitespace fix.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
64f1122168
freedreno/rnn: add variants/varset to domain
...
We have already been using this to describe pm4 packets that are
specific to certain generations.
Maybe we should introduce a new "packet" element type instead. But
first lets just get validation working with what we already use.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
7b76e5f3a4
freedreno/rnn: relax Hexadecimal to HexOrNumber
...
We are already using non-hex offsets to describe pm4 packet payloads.
Let's just permit this in the schema, rather than updating all the xml
to use hex.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
cb3ed4600e
freedreno/rnn: add radix/align
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
83bc96b555
freedreno/rnn: add high/low/pos to registers
...
This was added recently in rnn, but the schema was not updated.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
61ae65a73d
freedreno/rnn: add relaxed boolean type
...
In the schema, boolean means strictly "true" or "false". But rnn
parsing code was looking for "yes"/"1"/"no"/"0". So split the
difference, and add a relaxed boolean type, and update rnn to also
accept "true" or "false".
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
e3958ef83a
freedreno/rnn: update schema for 'pos'
...
Ideally we'd like to express that *either* 'high' + 'low' OR 'pos' is
required, but it doesn't appear that this is possible. But the rnn
parsing code should still enforce this.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
dfe9746be0
freedreno/rnn: rename schema file
...
All of the xml references rules-ng.xsd, not rules-ng-ng.xsd
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
5a8d19ca14
freedreno/rnn: add error helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
3a910839ba
freedreno/rnn: split out helper to find files
...
So we can re-use it to locate the schema file.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
751af16e1d
freedreno/tools: check rnn parse status
...
Don't silently ignore issues.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Tomeu Vizoso
6c8b921572
ci: Build kernels and rootfs for x86 devices
...
For testing Mesa on LAVA devices with the amd64 architecture, build
kernels and rootfs in the same way as we do for arm64 and armhf.
Also add a few trivial jobs for a specific AMD Chromebook.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5903 >
2020-07-29 12:41:45 +00:00
Tomeu Vizoso
5d0ba8b183
ci: Split building of libdrm to its own script
...
As we are doing that in several places already and we'll need to build
in others as well.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5903 >
2020-07-29 12:41:45 +00:00
Tomeu Vizoso
8a8afcbe40
ci: Don't ship vk-build-programs after building dEQP
...
As it's not needed at runtime.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5903 >
2020-07-29 12:41:45 +00:00
Tomeu Vizoso
5262cd8be5
ci: Fix URL for glslang
...
master-tot doesn't have that zip file any more, but the just made
release still does.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5903 >
2020-07-29 12:41:45 +00:00
Tomeu Vizoso
745540378c
ci: Print load stats after running dEQP
...
So we can get an idea if what are the bottlenecks when looking for
opportunities to speed things up.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6101 >
2020-07-29 14:26:02 +02:00
Tomeu Vizoso
735ad2d211
ci: Always print status code of HTTP uploads in tracie
...
I'm seeing occasional unexpected 403 errors when uploading artifacts.
Print the response in case MinIO is telling us why.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6101 >
2020-07-29 14:25:30 +02:00
Connor Abbott
903a7d0f87
freedreno: Add trace for CP_DRAW_INDIRECT_MULTI
...
Test the indirect count case. This is recorded with turnip.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6104 >
2020-07-29 10:51:28 +00:00
Connor Abbott
85e4305235
freedreno/cffdec: Handle CP_DRAW_INDIRECT_MULTI like other draws
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6104 >
2020-07-29 10:51:28 +00:00
Connor Abbott
4b940532fb
freedreno/rnn: Support stripes in rnndec_decodereg
...
We'll need this for finding where INDIRECT/STRIDE are in
CP_DRAW_INDIRECT_MULTI, since they are in different locations in each
variant.
This is tricky because we need to bubble up success/failure to the upper
levels, and 0 could be a valid offset if the stripe is inside an array
or in a packet. Hence we refactor tryreg to return success/failure
separately, although I stopped short of modifying rnndec_decodereg
itself.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6104 >
2020-07-29 10:51:28 +00:00
Connor Abbott
9a1924d55a
tu: Dump CP_DRAW_INDIRECT_MULTI draw BO's
...
These will be decoded by cffdump.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6104 >
2020-07-29 10:51:28 +00:00
Chris Forbes
c7626ac8ba
bifrost: Fix packing of ADD_FEXP2_FAST
...
This was being packed as 1-src and so the Src1 was not set up properly.
It only worked by accident.
Signed-off-by: Chris Forbes <chrisforbes@google.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6111 >
2020-07-28 14:46:41 -07:00
Chris Forbes
a618631f2d
bifrost: Honor src swizzle in special math ops
...
Most ops use the common handling in emit_alu in order to convert NIR
sources to bifrost sources, but the "special" math op lowering handrolls
the conversion (due to needing to reference the same source multiple
times).
Unfortunately, that handrolled lowering did not consider that there
might be a non-identity swizzle on the source. In this case we would
reference the wrong component of the source and generate garbage.
Fixes all but two of the remaining failures on G31 in:
dEQP-GLES2.functional.shaders.operator.exponential.*highp*
The following tests are still broken due to some other issue:
dEQP-GLES2.functional.shaders.operator.exponential.exp2.highp_float_fragment
dEQP-GLES2.functional.shaders.operator.exponential.exp2.highp_vec2_fragment
Signed-off-by: Chris Forbes <chrisforbes@google.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6108 >
2020-07-28 13:45:20 -07:00
Daryl W. Grunau
a400c2ff22
prevent multiply defined symbols
...
Without this patch applied gcc@10.1.0 fails to compile with the following
error (note mesa@18.3.6 but the latest release also posseses this problem):
ld: ../../../../src/gallium/auxiliary/.libs/libgallium.a(u_debug_symbol.o):/tmp/spack/spack-stage/spack-stage-mesa-18.3.6-be7kyg2dyxwktir3zrai27n6a6coadab/spack-src/src/galli um/auxiliary/util/u_debug_symbol.c:273: multiple definition of `symbols_hash'; ../../../../src/gallium/auxiliary/.libs/libgallium.a(u_debug_stack.o):/tmp/spa ck/spack-stage/spack-stage-mesa-18.3.6-be7kyg2dyxwktir3zrai27n6a6coadab/spack-src/src/gallium/auxiliary/util/u_debug_stack.c:49: first defined here
collect2: error: ld returned 1 exit status
make[4]: *** [libGL.la] Error 1
make[4]: Leaving directory `/tmp/spack/spack-stage/spack-stage-mesa-18.3.6-be7kyg2dyxwktir3zrai27n6a6coadab/spack-src/src/gallium/targets/libgl-xlib'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/tmp/spack/spack-stage/spack-stage-mesa-18.3.6-be7kyg2dyxwktir3zrai27n6a6coadab/spack-src/src/gallium'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/spack/spack-stage/spack-stage-mesa-18.3.6-be7kyg2dyxwktir3zrai27n6a6coadab/spack-src/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/tmp/spack/spack-stage/spack-stage-mesa-18.3.6-be7kyg2dyxwktir3zrai27n6a6coadab/spack-src/src'
make: *** [all-recursive] Error 1
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3298
Cc: mesa-stable
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6053 >
2020-07-28 20:17:52 +00:00
Marek Olšák
b11ebbe2f6
amd: enable displayable DCC for everything newer than Navi1x
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6100 >
2020-07-28 19:47:10 +00:00
Marek Olšák
abed921ce7
amd: add support for Navy Flounder
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6100 >
2020-07-28 19:47:10 +00:00
Marek Olšák
037b84df11
amd: rename SIENNA -> SIENNA_CICHLID
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6100 >
2020-07-28 19:47:10 +00:00
Rhys Perry
ccfe9813fb
aco: create acq+rel barriers instead of acq/rel
...
NIR doesn't have atomic loads/stores, so we have to workaround that with
this for dEQP-VK.memory_model.* to pass.
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/4905 >
2020-07-28 16:56:34 +00:00
Rhys Perry
3d9eb17d5d
aco: improve workgroup-scope and lower vmem/smem barriers
...
No fossil-db changes on Navi.
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/4905 >
2020-07-28 16:56:34 +00:00
Rhys Perry
3af2b9e3de
aco: improve sync_info for TCS output stores
...
Stop scheduling them as SSBO stores.
No fossil-db changes on Navi.
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/4905 >
2020-07-28 16:56:34 +00:00
Rhys Perry
8a16498cc6
aco: use storage_scratch
...
fossil-db (Navi):
Totals from 9 (0.01% of 114665) affected shaders:
VMEM: 14456 -> 15312 (+5.92%)
VClause: 336 -> 327 (-2.68%)
Helps 9 Dark Souls 3 shaders a little.
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/4905 >
2020-07-28 16:56:34 +00:00
Rhys Perry
46c4b25623
aco: enable value numbering of s_buffer_load_*
...
fossil-db (Navi):
Totals from 33 (0.03% of 114665) affected shaders:
SGPRs: 2176 -> 2152 (-1.10%)
VGPRs: 1572 -> 1564 (-0.51%)
CodeSize: 115988 -> 115472 (-0.44%)
Instrs: 21459 -> 21385 (-0.34%)
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/4905 >
2020-07-28 16:56:34 +00:00
Rhys Perry
2adb337256
nir,radv/aco: add and use pass to lower make available/visible barriers
...
Lower them to ACCESS_COHERENT to simplify the backend and
probably give better performance than invalidating or writing back the
entire L0/L1 cache.
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/4905 >
2020-07-28 16:56:34 +00:00
Rhys Perry
7a61480613
aco: consider intrinsic access in visit_{load,store}_image
...
radv_nir_lower_memory_model will use this.
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/4905 >
2020-07-28 16:56:34 +00:00
Rhys Perry
cd392a10d0
radv/aco,aco: use scoped barriers
...
fossil-db (Navi):
Totals from 109 (0.08% of 132058) affected shaders:
SGPRs: 5416 -> 5424 (+0.15%)
CodeSize: 460500 -> 460508 (+0.00%); split: -0.07%, +0.07%
Instrs: 87278 -> 87272 (-0.01%); split: -0.09%, +0.09%
Cycles: 2241996 -> 2241852 (-0.01%); split: -0.04%, +0.04%
VMEM: 33868 -> 35539 (+4.93%); split: +5.14%, -0.20%
SMEM: 7183 -> 7184 (+0.01%); split: +0.36%, -0.35%
VClause: 1857 -> 1882 (+1.35%)
SClause: 2052 -> 2055 (+0.15%); split: -0.05%, +0.19%
Copies: 6377 -> 6380 (+0.05%); split: -0.02%, +0.06%
PreSGPRs: 3391 -> 3392 (+0.03%)
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/4905 >
2020-07-28 16:56:34 +00:00
Rhys Perry
d1f992f3c2
aco: rework barriers and replace can_reorder
...
fossil-db (Navi):
Totals from 273 (0.21% of 132058) affected shaders:
CodeSize: 937472 -> 936556 (-0.10%)
Instrs: 158874 -> 158648 (-0.14%)
Cycles: 13563516 -> 13562612 (-0.01%)
VMEM: 85246 -> 85244 (-0.00%)
SMEM: 21407 -> 21310 (-0.45%); split: +0.05%, -0.50%
VClause: 9321 -> 9317 (-0.04%)
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/4905 >
2020-07-28 16:56:34 +00:00
Rhys Perry
1bbb64f300
aco: add missing add_to_hazard_query
...
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/4905 >
2020-07-28 16:56:34 +00:00
Chris Forbes
1882b1e5a7
bifrost: Add support for nir_op_iabs
...
Signed-off-by: Chris Forbes <chrisforbes@google.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6098 >
2020-07-28 15:40:00 +00:00
Lionel Landwerlin
1cdd161a30
anv: fix descriptor set free
...
Once we start going through the free list of the descriptor set pool,
we might use a free entry larger than the descriptor set we want to
allocate. When we free that descriptor set, we use the size of the set
rather than the size of the entry that was picked. This leads to leaks
of some amount of descriptor set pool.
This fix saves the size of the entry in the descriptor set so we know
what amount of the pool needs to freed.
v2: Don't bother adding a new size field
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Cc: <mesa-stable@lists.freedesktop.org >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3324
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6084 >
2020-07-28 14:51:15 +00:00
Yevhenii Kolesnikov
845a50ee25
nine: fix incorrect calculation of layer count for 3D textures
...
Volume textures don't have a concept of "layers"
v1: set last_layer to zero for 3D textures (Axel Davy)
Cc: <mesa-stable@lists.freedesktop.org >
Signed-off-by: Yevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com >
Reviewed-by: Axel Davy <davyaxel0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5808 >
2020-07-28 13:48:10 +00:00
Icecream95
d136fa17ac
panfrost: Allow PIPE_TEXTURE_1D_ARRAY textures
...
Fixes a crash with wined3d.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6085 >
2020-07-28 13:30:32 +00:00
Marcin Ślusarz
884718313c
i965: propagate error from gen_perf_begin_query to glBeginPerfQueryINTEL
...
Otherwise mesa will crash in glEndPerfQueryINTEL because OA BO is NULL.
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Cc: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Mark Janes <mark.a.janes@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6094 >
2020-07-28 10:44:41 +00:00
Marcin Ślusarz
627c01977c
iris: propagate error from gen_perf_begin_query to glBeginPerfQueryINTEL
...
Otherwise mesa will crash in glEndPerfQueryINTEL because OA BO is NULL.
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Cc: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Mark Janes <mark.a.janes@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6094 >
2020-07-28 10:44:41 +00:00
Connor Abbott
0f9131d096
freedreno/rnn: Return success when parsing addvariant
...
This was missed when I initially added addvariant.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
aa6fbdd248
freedreno/ci: add a2xx trace to CI job
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
18bc5a81a7
freedreno: deduplicate a2xx disasm
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
f39afda1a7
freedreno: move a2xx disasm out of gallium
...
So that it can be reused by the decode tools.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
f7bd3456d7
freedreno: deduplicate a3xx+ disasm
...
Merge the extra tracking that is useful for generating stats from asm
(as opposed to ir), and for guestimating things like inputs and outputs
(mostly useful for r/e) into ir3's version and drop cffdec's version.
There is a small change in disasm output for the decode tools, in that
it no longer prints the used consts, but rather just the max accessed
const. This is the more useful piece of information, and avoids making
the shared regmask type big enough to deal with the const reg file.
Additional error checking for invalid regids causes crashdec to bail
out sooner when decoding memory that *might* hold valid instructions.
Also, crashdec no longer prints stats, because stats aren't very useful
when trying to decode random instruction memory (which might or might
not be valid instructions).
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
6b379a4cb4
freedreno: drop shader_t
...
When this code was outside of the mesa tree, we needed our own enum.
Now we can use a common one, to simplify deduplicating the disasm
code.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
bb98b71893
freedreno/ir3: split out regmask
...
To unify the ir3 disasm code, we need to add in the regmask based
register tracking from cffdec's version of the disassembler. Split
out regmask (or at least the part that doesn't depend on ir3) so
it can be shared.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
ddcee248ad
freedreno: add CI for envytools tools
...
This also tunes `.freedreno-rules` a bit so that it isn't triggered by
various tools that don't effect the driver build.
The .gitlab-ci directory is kept separate from the toplevel one so that
updates to (for example) reference decode output do not trigger all the
other-driver jobs to run.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
b62e4a8e9e
freedreno/afuc: warnings cleanup
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
5125b4bc69
freedreno/decode: warnings cleanup
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
cbbaafdf72
freedreno/rnn: warnings cleanup
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
536f43cb96
freedreno: slurp in afuc
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
1ea4ef0d3b
freedreno: slurp in decode tools
...
cffdump, crashdec, etc
At this point there is some duplication with other files in-tree (ie.
a2xx and a3xx+ disassembly), which will be cleaned up in a later commit.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
7c0bd8429f
freedreno: slurp in rnn
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
b721d336da
freedreno: slurp in rnndb
...
Pull in all of $envytools/rnndb (including display, etc) from envytools
commit 6ccdda33ac4d88e19d2a70e1b4edaaab5ec4b026
This changes the directory structure to match the organization in the
envytools tree.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
7de0842d42
freedreno: make gen_header.py check parent directory
...
With the next commit, the xml files will be no longer be all in the same
directory. But checking up a single directory level to resolve import
will be sufficient.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Bas Nieuwenhuizen
05b2783270
radv: Fix host->host signalling with legacy timeline semaphores.
...
Fixes: 88d41367b8 "radv: Add timelines with a VK_KHR_timeline_semaphore impl."
Reviewed-by: Dave Airlie <airlied@redhat.com >
Tested-by: Andres Rodriguez <andresx7@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6097 >
2020-07-28 09:33:59 +00:00
Dave Airlie
9746e84a7e
radv: cleanup locking around timeline waiting.
...
Just noticed in passing that this looked extra complicated,
Bas said it was for legacy design reasons, so clean it up.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6099 >
2020-07-28 12:31:30 +10:00
Chris Forbes
a0a70879c5
bifrost: Add support for nir_op_imul
...
Unfortunately this doesn't map nicely to the existing instruction
classes, so we'll make a new one for now.
Signed-off-by: Chris Forbes <chrisforbes@google.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6091 >
2020-07-28 01:13:09 +00:00
Chris Forbes
718d444e51
bifrost: Add support for nir_op_uge
...
Signed-off-by: Chris Forbes <chrisforbes@google.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6091 >
2020-07-28 01:13:09 +00:00
Chris Forbes
946ff9b439
bifrost: Add support for nir_op_ishl
...
Bifrost's bitwise ops include the shift capability. Previously we had
hardcoded the shift to zero in all cases.
There's room in future to emit slightly better code if a shift and a
bitwise operation can be folded together, but not going after that for
now.
This change also removes the separate BI_SHIFT instruction class as
BI_BITWISE can cover both cases.
Signed-off-by: Chris Forbes <chrisforbes@google.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6091 >
2020-07-28 01:13:09 +00:00
Chris Forbes
539ea08736
bifrost: Add support for nir_op_inot
...
Signed-off-by: Chris Forbes <chrisforbes@google.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6091 >
2020-07-28 01:13:09 +00:00
Caio Marcelo de Oliveira Filho
12dd5455f4
spirv: Handle most execution modes earlier
...
For convenience in e68871f6a4 ("spirv: Handle constants and types
before execution modes") we moved all execution mode parsing after the
constants and types, so that those using OpExecutionModeId could be
handled together.
Later in 84781e1f1d ("spirv/nir: keep track of SPV_KHR_float_controls
execution modes") we had to parse certain non-ID execution modes
before handling constants.
Instead of handling just the float controls related execution modes
early, handle all modes that don't need an ID. This is a more
"natural" split and will allow other type handling to rely on
execution mode in the future.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6062 >
2020-07-27 17:10:23 +00:00
Chris Forbes
ef781880eb
bifrost: Add lowering for b2i32
...
Since the bool representation is 0/~0, we can convert to int
just by &1.
Signed-off-by: Chris Forbes <chrisforbes@google.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6079 >
2020-07-27 16:53:52 +00:00
Chris Forbes
1a168c90a0
bifrost: Document d3d/gl comparison control bit
...
Signed-off-by: Chris Forbes <chrisforbes@google.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6079 >
2020-07-27 16:53:52 +00:00
Chris Forbes
ec37c7126d
bifrost: Emit "d3d" variant of comparison instructions
...
The "d3d" variant uses ~0 as the true value. This is consistent
with NIR's nir_lower_bool_to_int32 pass.
Signed-off-by: Chris Forbes <chrisforbes@google.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6079 >
2020-07-27 16:53:52 +00:00
Chris Forbes
0ffefad791
bifrost: Lower x->bool conversions to != 0
...
Signed-off-by: Chris Forbes <chrisforbes@google.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6079 >
2020-07-27 16:53:52 +00:00
Connor Abbott
8e8baecd6a
tu: Enable resource dynamic indexing
...
This has actually worked since bindless support was merged.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6086 >
2020-07-27 16:38:17 +00:00
Connor Abbott
8bc060ab81
ir3: Fix incorrect src flags for samp_tex
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6086 >
2020-07-27 16:38:17 +00:00
Connor Abbott
e73a8a2b39
ir3: Remove redundant samp_tex validation
...
It's already checked in ir3_validate. This way we don't have to fix it
up for bindless.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6086 >
2020-07-27 16:38:17 +00:00
Connor Abbott
3adc23f667
ir3: Validate bindless samp_tex correctly
...
It's full instead of half precision, because the maximum number of
textures/samplers is much larger.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6086 >
2020-07-27 16:38:17 +00:00
Connor Abbott
d542bfc306
tu: Fix descriptor update templates with input attachments
...
Found via
dEQP-VK.binding_model.descriptorset_random.sets4.noarray.ubolimitlow.sbolimitlow.sampledimglow.outimgonly.noiub.nouab.frag.ialimitlow.0
Fixes: 159a1300ce ("turnip: input attachment descriptor set rework")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6087 >
2020-07-27 12:36:36 +00:00
Jonathan Marek
9ece61269d
turnip: fix SP_HS_UNKNOWN_A831 value for A650
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5765 >
2020-07-27 12:17:38 +00:00
Jonathan Marek
e646e77e18
turnip: use patchControlPoints for HS_INPUT_SIZE value
...
It should be calculated from patchControlPoints, not tcs_vertices_out.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5765 >
2020-07-27 12:17:38 +00:00
Jonathan Marek
da49a45351
turnip: move WFI out of draw state to fix a650 hangs
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5765 >
2020-07-27 12:17:38 +00:00
Jonathan Marek
e5f4527f20
freedreno/ir3: fix wrong local_primitive_id_start type
...
When changing the patch to use an offset instead of a bool, the type was
accidentally left as bool.
Fixes: f472c98443 ("freedreno/ir3: add support for a650 tess shared storage")
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5765 >
2020-07-27 12:17:38 +00:00
Bas Nieuwenhuizen
7cb4d4f24e
vulkan/wsi: Convert usage of -1 to UINT32_MAX.
...
The integers are unsigned so they do the same but this makes it
locally more clear what happened.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6071 >
2020-07-27 11:30:22 +00:00
Bas Nieuwenhuizen
e1147caecb
vulkan/wsi/x11: report device-group present rectangles with prime.
...
dEQP-VK.wsi.xlib.surface.query_devgroup_present_modes with prime
fail when 0 rectangles are reported. While I believe that test
tests this unintentionally (trying to test the VK_INCOMPLETE return),
I believe it makes sense to always return a rectangle.
In particular we require the data from the given rectangle for
presentation even if we use prime and given that prime is completely
transparent for the app it still counts as local from the perspective
as the application.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6071 >
2020-07-27 11:30:22 +00:00
Daniel Schürmann
af0bc71015
radv: call radv_nir_lower_ycbcr_textures after first optimizations
...
There might still be tex instructions with undef texture/sampler before
the first round of optimizations. No pipelinedb changes.
Fixes: 14a12b771d ('spirv: Rework our handling of images and samplers')
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6083 >
2020-07-27 10:03:20 +00:00
David McFarland
fffc287d44
radv: link with ld_args_build_id
...
This is needed for radv_device_get_cache_uuid to work correctly.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6081 >
2020-07-27 09:45:53 +00:00
Iago Toral Quiroga
d1677c8f8c
v3d/compiler: request fragment shader clip lowering to be vulkan compatible.
...
Vulkan allows fragment shaders to read gl_ClipDistance[], in which case
the SPIR-V compiler will inject a compact array variable at
VARYING_SLOT_CLIP_DIST0. Request the lowering to always work in terms
of a compact array variable so we don't have to care about the API
in use.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6022 >
2020-07-27 08:25:57 +02:00
Iago Toral Quiroga
71d5c19241
v3d/compiler: handle compact varyings
...
We are going to need this in Vulkan because the SPIR-V compiler
defines clip distances as a single compact array of scalars, so
our compiler needs to know what to do with them.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6022 >
2020-07-27 08:25:57 +02:00
Iago Toral Quiroga
17fd191eed
nir/lower_clip: make the pass compatible with Vulkan semantics
...
Vulkan allows fragment shaders to read gl_ClipDistance[], in which
case the SPIR-V compiler inserts a single compact array variable for
VARYING_SLOW_CLIP_DIST0 and the lowering should not try to inject
its own variables, but instead work in terms of the existing one.
Vulkan drivers are expected to call this with use_clipdist_array set
to true to be consistent with this setup.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6022 >
2020-07-27 08:25:57 +02:00
Bas Nieuwenhuizen
18fe130ec9
radv: Fix uninitialized variable in renderpass.
...
Fixes some dEQP-VK.renderpass2.* flakes. Valgrind:
Test case 'dEQP-VK.renderpass2.dedicated_allocation.attachment.8.724'..
==754520== Conditional jump or move depends on uninitialised value(s)
==754520== at 0x575B21C: radv_layout_is_htile_compressed (radv_image.c:1690)
==754520== by 0x572F470: radv_handle_depth_image_transition (radv_cmd_buffer.c:5855)
==754520== by 0x572F2F2: radv_handle_image_transition (radv_cmd_buffer.c:6123)
==754520== by 0x572EEC6: radv_handle_subpass_image_transition (radv_cmd_buffer.c:3385)
==754520== by 0x572A104: radv_cmd_buffer_begin_subpass (radv_cmd_buffer.c:4843)
==754520== by 0x572A007: radv_CmdBeginRenderPass (radv_cmd_buffer.c:4913)
==754520== by 0x572A197: radv_CmdBeginRenderPass2 (radv_cmd_buffer.c:4921)
Why false?
A renderloop happens when the same attachment is both used as input
attachment and output (color, ds) attachment in a subpass. Of course
this doesn't happen outside of a renderpass and hence we can initialize
it to false at the start of the renderpass.
Fixes: 66131ceb8b "radv: Pass through render loop detection to internal layout decisions."
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3074
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6068 >
2020-07-26 13:35:16 +00:00
Karol Herbst
e2e89fb137
nir/lower_io: assert that offsets are used for shader_in
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6059 >
2020-07-25 08:51:48 +00:00
Christian Gmeiner
60915f87c7
etnaviv: do register setup only once
...
Register set setup should be done once at backend
initializaion, as ra_set_finalize is O(r^2*c^2).
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5996 >
2020-07-24 20:01:04 +00:00
Christian Gmeiner
7ee146aad4
etnaviv: move shader_count to etna_compiler
...
Also fix data race on making the shader's id.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5996 >
2020-07-24 20:01:04 +00:00
Christian Gmeiner
5839a7d64a
etnaviv: introduce struct etna_compiler
...
This struct will be used to for state saved across compiler
invocations.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5996 >
2020-07-24 20:01:04 +00:00
Connor Abbott
9e596cc2c2
tu: Enable vertex & fragment stores & atomics
...
Note that there are some extra tess fails, but they're probably
unrelated to the actual feature. There were also some xfails that were
created as part of an earlier attempt to enable the feature which were
fixed in the meantime, so remove them.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5738 >
2020-07-24 18:43:40 +00:00
Connor Abbott
f7f29a04b4
tu: Detect invalid-for-binning renderpass dependencies
...
This is all that was missing for stores & atomics.
Closes : #3196
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5738 >
2020-07-24 18:43:40 +00:00
Connor Abbott
d6d75fcd91
tu: Fix hangs for DS with no output
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5738 >
2020-07-24 18:43:40 +00:00
Connor Abbott
7ad962bf89
tu: Fix empty blit scissor case
...
With vertexPipelineStoresAndAtomics enabled, fixes:
dEQP-VK.tessellation.invariance.one_minus_tess_coord_component.quads_fractional_even_spacing_cw_point_mode
dEQP-VK.tessellation.invariance.tess_coord_component_range.triangles_fractional_even_spacing_ccw_point_mode
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5738 >
2020-07-24 18:43:40 +00:00
Jason Ekstrand
63cf8adb12
spirv: Also copy over binding information for atomic counters
...
I missed this if statement so atomic counters weren't getting bindings
and, when you have more than one of them, that meant they were all
getting combined into one.
Fixes: 3584cb09bc15 "spirv: Give atomic counters their own variable mode"
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6060 >
2020-07-24 18:17:38 +00:00
Connor Abbott
6cbdffd79c
tu: Implement VK_KHR_draw_indirect_count
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6007 >
2020-07-24 19:21:07 +02:00
Connor Abbott
52ec35f5a6
tu: Add missing wfi to tu6_emit_hw()
...
It needs to be there before changing CCU state. This was accidentally
deleted in f494799a7f when it should've
been moved.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6007 >
2020-07-24 19:20:44 +02:00
Connor Abbott
a0ca688a67
tu: Integrate WFI/WAIT_FOR_ME/WAIT_MEM_WRITES with cache tracking
...
Track them via pending_flush_bits. Previously WFI was only tracked in
flush_bits and WAIT_FOR_ME was emitted directly. This means that we don't
emit WAIT_FOR_ME or WAIT_FOR_IDLE if there wasn't a cache flush or other
write by the GPU. Also split up host writes from sysmem writes, as only
the former require WFI/WAIT_FOR_ME.
Along the way, I also realized that we were missing proper handling of
transform feedback counter writes which require WAIT_MEM_WRITES. Plumb
that through as well. And CmdDrawIndirectByteCountEXT needs a
WAIT_FOR_ME as it does not wait for WFI internally.
As an example of what this does, a typical barrier for transform
feedback with srcAccess = VK_TRANSFORM_FEEDBACK_WRITE_COUNTER_BIT_EXT
and dstAccess = VK_ACCESS_INDIRECT_COMMAND_READ_BIT used to emit on
A650:
- WAIT_FOR_IDLE
and now we emit:
- WAIT_MEM_WRITES
- WAIT_FOR_ME
So we've eliminated a useless WFI and added some necessary waits.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6007 >
2020-07-24 19:20:44 +02:00
Connor Abbott
cd78a7a5ff
freedreno: Add INDIRECT_COUNT CP_DRAW_INDIRECT_MULTI variants
...
These have an indirect count which is loaded from an iova, and the
minimum is taken between the indirect and direct counts. Note, I also
had to fix gen_header.py to deal with the extra-long names we get.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6007 >
2020-07-24 19:20:44 +02:00
Connor Abbott
8da31ee15f
freedreno: Clean up CP_DRAW_MULTI_INDIRECT definition
...
Depends on the envytools changes to make the "addvariant" magic work in
order to decode this correctly, and to be able to print the register
names directly.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6007 >
2020-07-24 19:20:44 +02:00
Jonathan Marek
1747f9fdd0
turnip: remove extra gmem alignment
...
Now that we clear the PITCHALIGN" field when filling GMEM input attachment
descriptors, we can get rid of the extra tile width alignment on a630/a640.
With the "block_align_shift" value change, this brings down the default
gmem_align from 16k to 4k on a630/a640 and down from 24k to 12k on a650,
to match the gallium driver.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5528 >
2020-07-24 13:44:42 +00:00
Christian Gmeiner
8534f49bf9
etnaviv: explicitly set nir_variable_mode
...
No functional changes - fixes the following assert:
nir_lower_io_impl: Assertion `!(modes & ~supported_modes)' failed.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5997 >
2020-07-24 13:33:47 +00:00
Samuel Pitoiset
5b300bec9a
radv: clean up remaining pipeline init functions
...
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/5837 >
2020-07-24 12:30:03 +00:00
Samuel Pitoiset
5575ce0a28
radv: remove useless return value to radv_pipeline_scratch_init()
...
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/5837 >
2020-07-24 12:30:03 +00:00
Samuel Pitoiset
0721e2d1ab
radv: add radv_pipeline_init_shader_stages_state()
...
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/5837 >
2020-07-24 12:30:03 +00:00
Samuel Pitoiset
f3774ec9ac
radv: constify all radv_pipeline_generate_*() helpers
...
To make clear that the pipeline should be read only.
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/5837 >
2020-07-24 12:30:03 +00:00
Samuel Pitoiset
f32cb82515
radv: assign pipeline gfx fields before PM4 emission
...
To be able to constify all radv_pipeline_generate_*() helpers.
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/5837 >
2020-07-24 12:30:03 +00:00
Samuel Pitoiset
2a5fb87de2
radv: clean up binning state initialization
...
It's no longer emitted directly in the pipeline.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5837 >
2020-07-24 12:30:03 +00:00
Samuel Pitoiset
08dd70465e
radv: clean up adjusting MSAA state if conservative rast is enabled
...
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/5837 >
2020-07-24 12:30:03 +00:00
Samuel Pitoiset
067b01c5e6
radv: add radv_pipeline_generate_vgt_gs_out()
...
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/5837 >
2020-07-24 12:30:03 +00:00
Samuel Pitoiset
749d513467
radv: add radv_pipeline_init_input_assembly_state()
...
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/5837 >
2020-07-24 12:30:03 +00:00
Samuel Pitoiset
e31f8b9676
radv: clean up tessellation state emission
...
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/5837 >
2020-07-24 12:30:03 +00:00
Samuel Pitoiset
9b691bfb6c
radv: remove unnecessary radv_tessellation_state::lds_size
...
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/5837 >
2020-07-24 12:30:03 +00:00
Samuel Pitoiset
a1b237b9ef
radv: set LDS TCS size at shaders creation for GFX9+
...
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/5837 >
2020-07-24 12:30:03 +00:00
Samuel Pitoiset
cf89bdb9ba
radv: align the LDS size in calculate_tess_lds_size()
...
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/5837 >
2020-07-24 12:30:02 +00:00
Samuel Pitoiset
9c36ebf30e
radv: remove one unnecessary param to radv_generate_graphics_pipeline_key()
...
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/5837 >
2020-07-24 12:30:02 +00:00
Samuel Pitoiset
55f615660c
radv: remove no-op si_multiwave_lds_size_workaround()
...
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/5837 >
2020-07-24 12:30:02 +00:00
Samuel Pitoiset
7f794137da
radv: remove unnecessary radv_tessellation_state::num_patches
...
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/5837 >
2020-07-24 12:30:02 +00:00
Samuel Pitoiset
83f63ab2c2
radv: clean up radv_compute_generate_pm4()
...
For consistency regarding how the graphics pipeline is built.
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/5837 >
2020-07-24 12:30:02 +00:00
Samuel Pitoiset
8bfd8277cc
radv: reduce the number of allocated dwords for compute CS
...
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/5837 >
2020-07-24 12:30:02 +00:00
Samuel Pitoiset
62ec89759a
radv: clean up PA_SC_CLIPRECT_RULE emission
...
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/5837 >
2020-07-24 12:30:02 +00:00
Samuel Pitoiset
09c4f76d91
radv: clean up VGT_SHADER_STAGES_EN emission
...
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/5837 >
2020-07-24 12:30:02 +00:00
Samuel Pitoiset
62ffa837d3
radv: emit PA_SC_LINE_CNTL as part of the rasterization state
...
While we are at it, remove one useless field in radv_multisample_state.
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/5837 >
2020-07-24 12:30:02 +00:00
Samuel Pitoiset
934d6ac949
radv: emit more invariant registers as part of the initial gfx state
...
This reduces the number of emitted packets for pipelines.
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/5837 >
2020-07-24 12:30:02 +00:00
Samuel Pitoiset
847e0b83ba
radv: remove outdated TODO related to PA_SU_VTX_CNTL.PIX_CENTER
...
It should be always 1, nothing more to check.
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/5837 >
2020-07-24 12:30:02 +00:00
Samuel Pitoiset
62af9df36c
radv: remove set but unused radv_pipeline::vertex_elements
...
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/5837 >
2020-07-24 12:30:02 +00:00
Samuel Pitoiset
76de1414c1
radv: remove declared but unused radv_pipeline::is_dual_src
...
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/5837 >
2020-07-24 12:30:02 +00:00
Eric Engestrom
859687313b
bin/khronos-update: add workaround for python bug 9625
...
The bug causes `choices` to break `nargs='*'`.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6057 >
2020-07-24 14:22:36 +02:00
Eric Engestrom
aa5c3911d6
bin/khronos-update: add support for the SPIRV files
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6004 >
2020-07-24 11:10:13 +00:00
Eric Engestrom
ccb91bc68c
bin/khronos-update: having a folder in include/ is not a requirement
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6004 >
2020-07-24 11:10:13 +00:00
Neil Roberts
de5130fea0
v3d: Retry with the fallback scheduler when RA fails
...
v3d_compile is now split out into a helper function that gets called a
second time if compilation fails the first time with the result
reporting the register allocation failed. The second time it is run with
the fallback scheduler to try and increase the chances of successfully
allocating the registers.
v2: Add a performance debug message when using the fallback scheduler.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5953 >
2020-07-24 12:27:07 +02:00
Neil Roberts
1c8167da61
v3d: Changed v3d_compile:failed to an enum
...
Instead of just having a bool status for the failure, there is now an
enum so that the compilation can report a more detailed status.
Currently this is only used to report whether the failure was due to
failed register allocation. The “failed” bool doesn’t seem to actually
have been used anywhere so this doesn’t really change a lot.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5953 >
2020-07-24 12:27:07 +02:00
Neil Roberts
56846a2b68
nir/schedule: Add an option for a fallback scheduling algorithm
...
The current scheduling algorithm favors parallelism a bit too
aggressively and sometimes generates shaders that fail register
allocation. This happens even if the threshold is set to zero to force
it to always use the CSR instruction choosing algorithm.
This patch adds an option to use an even more aggressive fallback that
just always picks the instruction with the shortest maximum delay in the
hope that that will generate the least register pressure. The intention
is to use this as a last resort after register allocation fails in order
to at least have a working shader.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Acked-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5953 >
2020-07-24 12:26:26 +02:00
Neil Roberts
08f1746fad
v3d: Mark scheduling dependency for prim id and first output
...
The input primitive ID is read from the VPM in the same memory segment
as the outputs. This means that writing the GS header to VPM location 0
needs to be done after reading the primitive ID. This patch adds a
dependency between the load_primitive_id intrinsic and the store_output
intrinsic for location 0 to stop the scheduler from reordering them.
v2: Use an enum for the dependency class number.
v3: Add "GS" to the class enum name.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5953 >
2020-07-24 09:21:11 +02:00
Neil Roberts
bafd259177
nir/schedule: Add a callback for backend-specific dependencies
...
Adds a callback function to nir_schedule_options to give the backend a
chance to add custom dependencies between certain intrinsics. The
callback can assign a class number to the intrinsic and then set a read
or write dependency on that class.
v2: Use a linked-list of schedule nodes for the dependency classes
instead of a fixed-sized array.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5953 >
2020-07-24 09:21:11 +02:00
Neil Roberts
260a8f759a
nir/schedule: Store a pointer to the options struct in scoreboard
...
Instead of copying the individual members of nir_schedule_options into
the scoreboard, it now just keeps a pointer to the options. This avoids
the duplicated comments and makes it easier to add more options later.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5953 >
2020-07-24 09:21:11 +02:00
Neil Roberts
7665398e6c
nir/scheduler: Move nir_scheduler to its own header
...
nir_schedule already has a struct for options which makes it more than
just a function declaration. Later patches intend to add more structs to
complement these options. In order to make the code easier to manage,
this moves the nir_scheduler-related parts out of nir.h to their own
header.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5953 >
2020-07-24 09:21:11 +02:00
Jason Ekstrand
14a12b771d
spirv: Rework our handling of images and samplers
...
Previously, objects of type OpTypeImage or OpTypeSampler were treated as
vtn_pointers and objects of type OpTypeSampledImage were a special-use
vtn_sampled_image struct. This commit changes that so that all of those
objects are stored in vtn_ssa_values. Each of images, samplers, and
sampled images, are stored as a scalar or vector nir_ssa_def whose
components are NIR deref values. We now use vtn_type_get_nir_type to
re-resolve those as-needed into GLSL sampler types for NIR.
This simplification has a number of benefits:
1. We can git rid of the rest of our special-cases for handling images
and samplers in function arguments. Now that they're treated as
structs at the glsl_type level, the generic paths can handle images
and samplers.
2. We can now construct composite values containing images and samplers
internally. It's unclear from the SPIR-V spec whether or not this
is allowed and it's not a pattern that GLSLang currently generates
thanks to GLSL rules. However, if we do start seeing SPIR-V that
contains such composites, we should now be able to handle it.
3. SPIR-V OpNull and OpUndef instructions can now create samplers,
images, and sampled images. The NIR generated won't likely be fully
valid but, given a NIR pass to do something sensible, it should be a
thing we can compile.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278 >
2020-07-23 22:43:21 -05:00
Jason Ekstrand
196db51fc2
anv,turnip,radv,clover,glspirv: Run nir_copy_prop before nir_opt_deref
...
We're about to make the SPIR-V -> NIR path generate a bit more complex
SSA chains for certain derefs. This will ensure we don't regress anyone
when we start making vec2's of derefs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278 >
2020-07-23 22:43:21 -05:00
Jason Ekstrand
66c8628b65
spirv: More heavily use vtn_ssa_value in function parameter handling
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278 >
2020-07-23 22:43:21 -05:00
Jason Ekstrand
32ba23f897
spirv: Remove a dead case in function parameter handling
...
Ever since 31a7476335 , we've set something for vtn_type::type for
all pointer types. For logical pointer types, it's uint32_t.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278 >
2020-07-23 22:43:21 -05:00
Jason Ekstrand
9e3213ad30
spirv: Add a helper for getting the NIR type of a vtn_type
...
There are a few cases, atomic counters being one example, where the type
used by vtn_ssa_value is not the same as the type we want NIR to use in
derefs and variables. To solve this, we add a helper which converts
between the types for us. In the next commit, we'll be adding another
major user of this: images and samplers.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278 >
2020-07-23 22:43:21 -05:00
Jason Ekstrand
051f8d3d1c
spirv: Give atomic counters their own variable mode
...
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278 >
2020-07-23 22:43:21 -05:00
Jason Ekstrand
8a7932b095
spirv: Drop the sampled boolean from vtn_type
...
It was set but never used. We always check the glsl_type instead.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278 >
2020-07-23 22:43:21 -05:00
Jason Ekstrand
d0be2fed4e
spirv: Add better checks for SSA value types
...
Primarily, we check for two things:
1. That we only ever add SSA values via vtn_push_ssa_value and
vtn_copy_value.
2. That the type of the SSA value matches the SPIR-V destination type.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278 >
2020-07-23 22:43:21 -05:00
Jason Ekstrand
47ebb50cab
spirv: Hand-roll fewer vtn_ssa_value creations
...
Previously, we created our vtn_ssa_value in _vtn_variable_load_store
manually as we did the recursive load/store. Instead, we now create the
SSA value before calling into the recursive function. This is a tiny
bit less efficient but it removes a case of hand-rolling vtn_ssa_value
creation. For symmetry, we make _vtn_block_load_store assume the value
is already created. Finally, we remove a trivial hand-rolled case in
vtn_composite_extract.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278 >
2020-07-23 22:43:21 -05:00
Jason Ekstrand
085ade4125
spirv: Simplify vtn_ssa_value creation
...
For three different functions which create vtn_ssa_values, we had three
completely different implementations. This unifies them all to roughly
the same algorithm. While we're at it, we take advantage of the
nir_build_imm helper to avoid some extra code in vtn_const_ssa_value.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278 >
2020-07-23 22:43:21 -05:00
Jason Ekstrand
00af1128a9
spirv/subgroups: Refactor to use vtn_push_ssa
...
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278 >
2020-07-23 22:43:21 -05:00
Jason Ekstrand
ea246c3950
spirv/subgroups: Stop incrementing w
...
The w++ is to handle a differences between the KHR extension and Vulkan
1.1 feature where the Vulkan 1.1 instructions take an scope parameter.
While incrementing w technically works, it's really subtle and very easy
to miss when reading the code.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278 >
2020-07-23 22:43:21 -05:00
Jason Ekstrand
c5fcd129ea
spirv/glsl450: Use vtn_push_ssa_value
...
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278 >
2020-07-23 22:43:21 -05:00
Jason Ekstrand
7560ed279f
spirv/alu: Use vtn_push_ssa_value
...
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278 >
2020-07-23 22:43:21 -05:00
Jason Ekstrand
dbb4a24413
spirv: Refactor vtn_push_ssa
...
We rename it to vtn_push_ssa_value, move it to spirv_to_nir, and remove
the unnecessary type parameter.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278 >
2020-07-23 22:43:21 -05:00
Jason Ekstrand
8be9f2a4f6
spirv: Use the new helpers in OpConvertUToPtr/PtrToU
...
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278 >
2020-07-23 22:43:21 -05:00
Jason Ekstrand
37ab323480
spirv: Add a vtn_get_nir_ssa helper
...
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278 >
2020-07-23 22:43:21 -05:00
Jason Ekstrand
e5b29b9040
spirv/amd: Use vtn_push_nir_ssa
...
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278 >
2020-07-23 22:43:21 -05:00
Jason Ekstrand
d8eb6f2499
spirv: Add a vtn_push_nir_ssa helper
...
This makes it easy to write a simple NIR SSA value
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278 >
2020-07-23 22:43:21 -05:00
Jason Ekstrand
aaf1f34215
spirv: Rename push_value_pointer to push_pointer
...
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278 >
2020-07-23 22:43:21 -05:00
Jason Ekstrand
ac1e6d5a46
spirv: Add a helpers for getting types of values
...
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278 >
2020-07-23 22:43:21 -05:00
Jason Ekstrand
953b7a3603
spirv: Use nir_bany/ball for OpAny/All
...
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278 >
2020-07-23 22:43:20 -05:00
Jason Ekstrand
8dfee57bdc
spirv: Clean up OpSignBitSet
...
For some reason, we were doing a signed shift vectors and an unsigned
shift for scalars. We then plug it into i2b so it should make no
difference whatsoever. The fact that we're doing different things for
vectors vs. scalars is bonkers. Let's simplify the code a bit.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278 >
2020-07-23 22:41:54 -05:00
Jason Ekstrand
62c53ad20b
spirv: Fix indentation in vtn_handle_ptr
...
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278 >
2020-07-23 22:41:54 -05:00
Jason Ekstrand
516fd78d62
spirv: Drop the void *ptr from vtn_value
...
It isn't being used for anything.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278 >
2020-07-23 22:41:54 -05:00
Jason Ekstrand
af81486a8c
spirv: Simplify our handling of NonUniform
...
The original implementation of SPV_EXT_descriptor_indexing was extremely
paranoid about the NonUniform qualifier, trying to fetch it from every
possible location and propagate it through access chains etc. However,
the Vulkan spec is quite nice to us on this and has very strict rules
for where the NonUniform decoration has to be placed. For image and
texture operations, we can search for the decoration on the spot when we
process the image or texture op. For pointers, we continue putting it
on the pointer but we don't bother trying to do anything silly like
propagate it through casts.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5278 >
2020-07-23 22:41:54 -05:00
Jesse Natalie
0d5cd1a5f4
nir/vtn: Add support for 8 and 16 vector ball/bany
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6030 >
2020-07-23 18:23:23 -07:00
Jesse Natalie
456edf0b30
nir: Support 8 and 16 component vectors for reduceable intrinsics
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6030 >
2020-07-23 18:23:20 -07:00
Jesse Natalie
d572f4dfd9
nir: Support algebraic opts on vectors larger than 4
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6030 >
2020-07-23 18:23:17 -07:00
Jesse Natalie
aa581fcc69
nir: Support vec8/vec16 in nir_lower_bit_size
...
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6030 >
2020-07-23 18:23:07 -07:00
Rob Clark
d35b54c705
freedreno: sync registers from envytools
...
Pull in a bunch of fixes and updates.. mostly using varset correctly,
and fixes for implicit bools.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6052 >
2020-07-23 17:11:16 -07:00
Connor Abbott
1610c69f34
tu: Enable VK_EXT_depth_clip_enable
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6047 >
2020-07-23 18:55:56 +00:00
Daniel Schürmann
1b3be07b5f
aco: ensure readfirstlane subdword operands are always dword aligned
...
Cc: 20.1 <mesa-stable@lists.freedesktop.org >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6024 >
2020-07-23 18:18:36 +00:00
Daniel Schürmann
4c89bfc4ec
aco: prevent infinite recursion in RA for subdword variables
...
Cc: 20.1 <mesa-stable@lists.freedesktop.org >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6024 >
2020-07-23 18:18:36 +00:00
Daniel Schürmann
626081fe4b
aco: don't split store data if it was already split into more elements
...
Cc: 20.1 <mesa-stable@lists.freedesktop.org >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6024 >
2020-07-23 18:18:35 +00:00
Daniel Schürmann
bd75e99233
aco: ensure to not extract more components than have been fetched
...
Fixes: 7015d2c249 ('aco: fix scratch loads which cross element_size boundaries')
Cc: 20.1 <mesa-stable@lists.freedesktop.org >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6024 >
2020-07-23 18:18:35 +00:00
Bas Nieuwenhuizen
6bc5ce7a91
radv: Add timeline syncobj for timeline semaphores.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5600 >
2020-07-23 17:36:46 +00:00
Bas Nieuwenhuizen
55d8022878
radv: Add winsys functions for timeline syncobj.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5600 >
2020-07-23 17:36:46 +00:00
Bas Nieuwenhuizen
66e598d0a6
radv: Add winsys support for submitting timeline syncobj.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5600 >
2020-07-23 17:36:46 +00:00
Bas Nieuwenhuizen
fb6b38d780
radv: Add thread for timeline syncobj submission.
...
For cross-process timelines we have to have a thread to wait
till the requested points become available.
The functions actually dealing with timeline semaphores stubbed out, to
implement in the next patch. As such the thread code shouldn't trigger
yet.
The core idea is that we still use the refcount mechanism that we use with
emulated timelines, though the native timeline syncobj don't participate
in the refcounting. This way we keep the ordering of submission in a queue
as each submission is also blocked by its predecessor.
Where we change behavior is when the number of blockers reaches 0. In the
new code we check if we need to wait for the timeline semaphores to
be available and if so we won't execute the submission immediately but
pass it to the submission thread.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5600 >
2020-07-23 17:36:46 +00:00
Bas Nieuwenhuizen
fa97061a82
radv/winsys: Add binary syncobj ABI changes for timeline semaphores.
...
To facilitate cross-process timeline semaphores we have to deal with
the fact that the syncobj signal operation might be submitted a
small finite time after the wait operation.
For that we start using DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT during
the wait operation so we properly wait instead of returning an error.
Furthermore, to make this effective for syncobjs that get reused we
actually have to reset them after the wait. Otherwise the wait before
submit would get the previous fence instead of waiting for the new
thing to submit.
The obvious choice, resetting the syncobj after the CS submission
has 2 issues though:
1) If the same semaphore is used for wait and signal we can't reset it.
This is solvable by only resetting the semaphores that are not in the
signal list.
2) The submitted work might be complete before we get to resetting the
syncobj. If there is a cycle of submissions that signals it again and
finishes before we get to the reset we are screwed.
Solution:
Copy the fence into a new syncobj and reset the old syncobj before
submission. Yes I know it is more syscalls :( At least I reduced the
alloc/free overhead by keeping a cache of temporary syncobjs.
This also introduces a syncobj_reset_count as we don't want to reset
syncobjs that are part of an emulated timeline semaphore. (yes, if
the kernel supports timeline syncobjs we should use those instead,
but those still need to be implemented and if we depend on them in
this patch ordering dependencies get hard ...)
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5600 >
2020-07-23 17:36:46 +00:00
Bas Nieuwenhuizen
fb5237910b
amd: Add detection of timeline semaphore support.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5600 >
2020-07-23 17:36:46 +00:00
Andreas Baierl
ce4064fe2f
nir/ lower_int_to_float: Handle umax and umin
...
8e1b75b3 introduced umax/umin in order to lower iand/ior for (n)eq zero.
That breaks the lower_int_to_float pass, because umax and umin weren't
handled there.
Tested with lima. The other users of nir_lower_int_to_float
(etnaviv, freedreno) should also have that issue.
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Signed-off-by: Andreas Baierl <ichgeh@imkreisrum.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6043 >
2020-07-23 14:45:32 +00:00
Michel Dänzer
589d8665f0
ci: Use half as many parallel softpipe / virgl test jobs
...
We're now using at least twice as many CPU cores per job (on shared
runners), so they only take about half as long, and should still be
under 10 minutes.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6011 >
2020-07-23 09:26:30 +00:00
Michel Dänzer
d9693c6620
ci: Do not mark container / pages jobs as interruptible
...
If another MR was merged while these were still running for the main
project, the result could be no updated images in the main project
registry (forcing a rebuild of the new images in all forked projects) or
an outdated Mesa website.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6011 >
2020-07-23 09:26:30 +00:00
Michel Dänzer
e74933e8ab
ci: Use FDO_CI_CONCURRENT in run-shader-db.sh as well
...
Noticed while checking job logs for it being used elsewhere.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6011 >
2020-07-23 09:26:30 +00:00
Tomeu Vizoso
429ec827d4
ci: Namespace trace artifacts to the job number
...
Put artifacts in a per-job folder, because if a job is retried then it
will try to upload a file to the same key and fail with the following
error:
403 Client Error: Forbidden for url:
https://minio-packet.freedesktop.org/artifacts/daenzer/mesa/180609/gl-panfrost-t860/results.yml
Also, to prevent in the future similar clashes if several trace files
share the same name, upload the images with their checksums as their
names. This will also make it easier to fetch images for comparison with
the references.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Andres Gomez <agomez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6029 >
2020-07-23 09:04:33 +00:00
Mike Blumenkrantz
772ed657a2
nir_ allow nir_lower_clip_halfz to run in tess eval shader
...
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6027 >
2020-07-23 08:41:17 +00:00
Mike Blumenkrantz
09ecfd95ee
nir: allow lower_psiz_mov to run in tessellation stages
...
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6027 >
2020-07-23 08:41:17 +00:00
Dave Airlie
fced3c43e7
Revert "llvmpipe: Use the default behavior of ALLOW_MAPPED_BUFFERS."
...
This reverts commit 6ec4906649 .
This broke:
GTF-GL45.gtf21.GL3Tests.texture_lod_bias.*
not sure why but revert for now.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6042 >
2020-07-23 16:10:12 +10:00
Dave Airlie
be6c53bb9d
llvmpipe/ms: fix sign extension bug in rasterizer.
...
/glcts --deqp-surface-width=1024 --deqp-surface-height=64 --deqp-case=KHR-GL45.texture_view.view_sampling --deqp-surface-type=fbo
was failing but only for width 1024.
The test was filling a 4x4 ms texture, but leaving the viewport set to 1024x64.
This was resulting in this code incorrectly sign extending a value, and passing
it into the mask generator and getting the wrong values. Explicit cast
avoids the sign extension and fixes the above test.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6006 >
2020-07-23 01:50:28 +00:00
Francisco Jerez
4d73988f6f
intel/ir/gen12+: Work around FS performance regressions due to SIMD32 discard divergence.
...
This avoids some performance regressions on Gen12 platforms caused by
SIMD32 fragment shaders reported in titles like Dota2, TF2, Xonotic,
and GFXBench5 Car Chase and Aztec Ruins.
The most obvious pattern in the regressing shaders I identified among
these workloads is that they all had non-uniform discard statements,
which are handled rather optimistically by the current IR analysis
pass: No penalty is currently applied to the SIMD32 variant of the
shader in the form of differing branching weights like we do for other
control flow instructions in order to account for the greater
likelihood of divergence of a SIMD32 shader.
Simply changing that by giving the same treatment to discard
statements as we give to other branching instructions seemed to hurt
more than it helped on platforms earlier than Gen12, since it reversed
most of the improvement obtained from SIMD32 fragment shaders in
Manhattan for no measurable benefit in other workloads (Manhattan has
a handful of shaders with statically non-uniform discard statements
which actually perform better in SIMD32 mode due to their approximate
dynamic uniformity). For that reason this change is applied to Gen12+
platforms only.
I've been running a number of tests trying to understand the
difference in behavior between Gen12 and earlier platforms, and most
of the evidence I've gathered seems to point at EU fusion being the
culprit: Unlike previous generations, on Gen12 EUs are arranged in
pairs which execute instructions in lockstep, giving an effective warp
size of 64 threads in SIMD32 mode, which seems to increase the
likelihood for control flow divergence in some of the affected shaders
significantly.
Fixes: 188a3659ae "intel/ir: Import shader performance analysis pass."
Reported-by: Caleb Callaway <caleb.callaway@intel.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5910 >
2020-07-23 01:40:06 +00:00
Adam Jackson
45d159cb41
glx: Fix build and warnings with -Dglx=dri -Dglx-direct=false
...
Acked-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5958 >
2020-07-23 01:23:12 +00:00
Eric Anholt
ba22f014f9
softpipe: Enable PIPE_CAP_TGSI_ANY_REG_AS_ADDRESS;
...
tgsi_exec.c uses the generic src load path for indirects, so we don't
actually need addr regs. Saves extra intructions.
shader-db results:
total instructions in shared programs: 3346685 -> 3249052 (-2.92%)
instructions in affected programs: 961832 -> 864199 (-10.15%)
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6018 >
2020-07-23 00:24:26 +00:00
Eric Anholt
8e61fd92d4
softpipe: Enable PIPE_CAP_TGSI_TEXCOORD.
...
The tgsi_exec path can handle it, and otherwise when we start using NIR
our MAX_VARYINGS value will cause us to have VARYING_SLOT_VARx above the
maximum.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6018 >
2020-07-23 00:24:26 +00:00
Eric Anholt
259a03b4f0
softpipe: Add support for reporting shader-db output.
...
In doing the softpipe NIR and NIR-to-TGSI transition, I want to make sure
I don't make shaders significantly worse, so I need shader-db output.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6018 >
2020-07-23 00:24:26 +00:00
Eric Anholt
991def0edc
softpipe: Convert to comma-separated SOFTPIPE_DEBUG for debug options.
...
This makes us more like other drivers, and avoids having tons of different
names (particularly when you want to dump vs and fs in debugging). In the
process, having a debug flag for vertex shaders just falls out.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6018 >
2020-07-23 00:24:26 +00:00
Eric Anholt
86cfb62b87
softpipe: Refactor pipe_shader_state setup.
...
We had repeated code that I want to repeatedly change for adding
nir-to-tgsi.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6018 >
2020-07-23 00:24:26 +00:00
Dave Airlie
e67da8d25f
llvmpipe: enable robust buffer access + GL 4.3, GLES 3.2 and robust buffer access behaviour
...
Turning on robust buffer access enables GLES 3.2, also
finished GL 4.3 support.
The post depth coverage fail is expected, it's a test bug
This also introduce a fail in the invalid flag test that I can't reproduce out of CI.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5971 >
2020-07-23 00:04:49 +00:00
Dave Airlie
6d3cefe727
llvmpipe: add device reset query context hook.
...
Add the device reset query hook needed for robustness
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5971 >
2020-07-23 00:04:49 +00:00
Dave Airlie
3cb3d17312
glx/drisw: add robustness support
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5971 >
2020-07-23 00:04:49 +00:00
Dave Airlie
80f7b58d90
drisw: add robustness extension support.
...
Port the code from dri2 so that drisw drivers can support the
robustness extension
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5971 >
2020-07-23 00:04:49 +00:00
Dave Airlie
12c06a0deb
llvmpipe/draw: handle constant buffer limits and robustness (v1.1)
...
TGSI expect vec4 of constants for it's current code paths, and when
doing indirect accesses it does the comparison on vec4 indexes,
however NIR does the indexing on packed float indexes.
This also align the compute path with the other shaders, and
should improve robustness (at least under Vulkan)
Fixes:
KHR-NoContext.gl43.robust_buffer_access_behavior.uniform_buffer
v1.1:
rename variable to something more meaningful (Roland)
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5971 >
2020-07-23 00:04:49 +00:00
Dave Airlie
f0c3a25800
llvmpipe: enable EXT_texture_shadow_lod
...
The driver passes all the CTS tests for this.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5971 >
2020-07-23 00:04:49 +00:00
Jason Ekstrand
c30824adc0
nir/lower_io: Add support for global scratch addressing
...
This provides an alternate lowering for scratch in which it uses global
reads/writes and bases scratch addresses on a base pointer.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5927 >
2020-07-22 23:43:35 +00:00
Jason Ekstrand
4815ae51d7
nir/lower_io: Use b2b for shader and function temporaries
...
This way we can avoid some unnecessary conversions because there's no
need to sanitize to 0/1 for scratch.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5927 >
2020-07-22 23:43:35 +00:00
Jason Ekstrand
3a2975db98
nir/lower_io: Choose to set access based on intrinsic metadata
...
This should be far more reliable than trying to keep opcode lists
up-to-date.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5927 >
2020-07-22 23:43:35 +00:00
Jason Ekstrand
c475e29be4
nir: Allow for system values with variable numbers of destination components
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5927 >
2020-07-22 23:43:35 +00:00
Eric Engestrom
0338db5e6b
docs/releasing: improve wording
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5833 >
2020-07-22 21:55:58 +00:00
Eric Engestrom
ae2d045767
bin/gen_release_notes: automatically commit release notes
...
Cc: mesa-stable
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5833 >
2020-07-22 21:55:58 +00:00
Eric Engestrom
5f649be7b5
post_version.py: fix relnotes links
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5928 >
2020-07-22 21:51:24 +00:00
Eric Engestrom
6c4ad62723
post_version.py: update the files in the current worktree, not the one with the script that we run
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5928 >
2020-07-22 21:51:24 +00:00
Eric Engestrom
a28a089814
post_version.py: stop using non-existent functions and fix commit message
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5928 >
2020-07-22 21:51:24 +00:00
Eric Engestrom
f5353e01f9
post_version.py: drop incorrect conf.py changes
...
This needs to be done in the mesa3d.org repo; see
https://gitlab.freedesktop.org/mesa/mesa3d.org/-/merge_requests/19
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5928 >
2020-07-22 21:51:24 +00:00
Eric Engestrom
24e118f695
post_version.py: don't generate relnotes twice
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5928 >
2020-07-22 21:51:24 +00:00
Eric Engestrom
04e38eb2e7
docs: update calendar and link releases notes for 20.1.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6034 >
2020-07-22 23:07:14 +02:00
Eric Engestrom
8a44983c12
docs: add release notes for 20.1.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6034 >
2020-07-22 23:05:33 +02:00
Andres Gomez
b6b100ccae
gitlab-ci: Test AMD's Raven with traces
...
Signed-off-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6014 >
2020-07-22 20:13:17 +00:00
Eric Anholt
eb7642c53d
i915: Remove a bunch of default handling of pipe caps.
...
u_screen will return 0 for all of these, which means that this is one
less driver to see in git grep when I'm checking who exposes a cap.
The exception is the texel/gather offsets and stream output
components, which will not be exposed since we don't expose the
corresponding GLSL version.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3298 >
2020-07-22 19:06:51 +00:00
Eric Anholt
e35d3d26b1
svga: Remove a bunch of default handling of pipe caps.
...
u_screen will return 0 for all of these, which means that this is one
less driver to see in git grep when I'm checking who exposes a cap.
Reviewed-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3298 >
2020-07-22 19:06:51 +00:00
Eric Anholt
c32f723a1a
swr: Use the default behavior of ALLOW_MAPPED_BUFFERS.
...
Since this is a software rasterizer, we really don't care whether the
buffers are "mapped" since it's just malloc. This will drop a bit of
pointless CPU overhead to throw errors.
Reviewed-by: Jan Zielinski <jan.zielinski@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3298 >
2020-07-22 19:06:51 +00:00
Eric Anholt
39598a16e9
swr: Remove a bunch of default handling of pipe caps.
...
u_screen will return 0 for all of these, which means that this is one
less driver to see in git grep when I'm checking who exposes a cap.
Reviewed-by: Jan Zielinski <jan.zielinski@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3298 >
2020-07-22 19:06:51 +00:00
Eric Anholt
e2ffd2110e
virgl: Remove a bunch of default handling of pipe caps.
...
u_screen will return 0 for all of these, which means that this is one
less driver to see in git grep when I'm checking who exposes a cap.
Reviewed-by Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3298 >
2020-07-22 19:06:51 +00:00
Eric Anholt
e5554e32c0
softpipe: Use the default behavior of ALLOW_MAPPED_BUFFERS.
...
Since this is a software rasterizer, we really don't care whether the
buffers are "mapped" since it's just malloc. This will drop a bit of
pointless CPU overhead to throw errors.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3298 >
2020-07-22 19:06:51 +00:00
Eric Anholt
855f3ff418
softpipe: Remove a bunch of default handling of pipe caps.
...
u_screen will return 0 for all of these, which means that this is one
less driver to see in git grep when I'm checking who exposes a cap.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3298 >
2020-07-22 19:06:51 +00:00
Eric Anholt
6ec4906649
llvmpipe: Use the default behavior of ALLOW_MAPPED_BUFFERS.
...
Since this is a software rasterizer, we really don't care whether the
buffers are "mapped" since it's just malloc. This will drop a bit of
pointless CPU overhead to throw errors.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3298 >
2020-07-22 19:06:51 +00:00
Eric Anholt
ae919b2561
llvmpipe: Remove a bunch of default handling of pipe caps.
...
u_screen will return 0 for all of these, which means that this is one
less driver to see in git grep when I'm checking who uses a cap.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3298 >
2020-07-22 19:06:51 +00:00
Tomeu Vizoso
292882f6bc
ci: Fix the overwriting of traces.yml for baremetal
...
When the lava files were moved out of the container, this stopped
working which caused the traces job for Freedreno to not run any traces
at all.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Fixes: dcd171f5e9 ("gitlab-ci: More stable URL for kernel and ramdisk artifacts, for LAVA")
Acked-by: Andres Gomez <agomez@igalia.com >
Acked-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6021 >
2020-07-22 18:07:31 +00:00
Eric Anholt
262731be43
ci: Update checksums for freedreno traces.
...
Hand-verified by looking at our artifacts compared to an i965 capture I
had.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6021 >
2020-07-22 18:07:31 +00:00
Thong Thai
46646123ab
radeon/vcn: increase render_pic_list size
...
Increase the maximum number of possible decoder reference picture
frames from 16 to 32.
Signed-off-by: Thong Thai <thong.thai@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6016 >
2020-07-22 17:17:50 +00:00
Marek Olšák
89d2dac554
radeonsi: enable preemption if the kernel enabled it
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5798 >
2020-07-22 12:08:33 -04:00
Marek Olšák
9e2113c6dc
radeonsi: set up IBs for preemption
...
- Execute cs_preamble_state as a separate IB with different flags.
- Set the PREEMPT flag for the main IB.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5798 >
2020-07-22 12:08:33 -04:00
Marek Olšák
b8892bc818
radeonsi: don't restore states at the beginning of IBs if they're shadowed
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5798 >
2020-07-22 12:08:33 -04:00
Marek Olšák
95c9048591
radeonsi: add debug code for register shadowing
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5798 >
2020-07-22 12:08:33 -04:00
Marek Olšák
8af0f91fd3
radeonsi: add reg shadowing codepaths to GS and tess ring setup
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5798 >
2020-07-22 12:08:33 -04:00
Marek Olšák
69014d8c94
radeonsi: implement CP register shadowing
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5798 >
2020-07-22 12:08:19 -04:00
Marek Olšák
b84dbd2936
radeonsi: reorder code in update_gs_ring_buffers and init_tess_factor_ring
...
to reduce the churn when adding codepaths for shadowed registers
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5798 >
2020-07-22 12:08:19 -04:00
Marek Olšák
babd87f2e0
radeonsi: make cs_preamble_state optional
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5798 >
2020-07-22 12:08:19 -04:00
Marek Olšák
7a6af4c5ed
winsys/amdgpu: make amdgpu_bo_unmap non-static
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5798 >
2020-07-22 12:08:19 -04:00
Marek Olšák
5a5467ccc8
ac: add tables for CP register shadowing
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5798 >
2020-07-22 12:08:19 -04:00
Marek Olšák
dc3dade475
ac: add helper ac_get_register_name
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5798 >
2020-07-22 12:08:19 -04:00
Marek Olšák
976edae839
radeonsi: sort registers in si_init_cs_preamble_state according to GPU gen
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5798 >
2020-07-22 12:08:19 -04:00
Marek Olšák
88fe9dea7a
radeonsi: sort registers in si_emit_initial_compute_regs according to GPU gen
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5798 >
2020-07-22 12:08:19 -04:00
Marek Olšák
1c6eca23fd
radeonsi/gfx10: set the correct value for OFFCHIP_BUFFERING
...
Copied from PAL. Higher values break tessellation, which I was only able
to reproduce with register shadowing enabled.
Fixes: 0bf3e6fae7 "radeonsi/gfx10: double the number of tessellation offchip buffers per SE"
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5798 >
2020-07-22 12:08:19 -04:00
Marek Olšák
d244a25c07
radeonsi: add missing initialization of registers
...
(random initial gfx10 commit:)
Fixes: 78cdf9a99f - amd/addrlib: add gfx10 support
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5798 >
2020-07-22 12:08:19 -04:00
Erik Faye-Lund
fd20e98624
docs: add some very basic documentation about zink
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5967 >
2020-07-22 15:20:00 +00:00
Samuel Pitoiset
202592a398
radv/winsys: be more robust when a CS failed during recording
...
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/5872 >
2020-07-22 15:06:20 +00:00
Samuel Pitoiset
f82eb7af87
radv/winsys: return a Vulkan error code when binding virtual buffers/images
...
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/5872 >
2020-07-22 15:06:20 +00:00
Samuel Pitoiset
4b58e35a2a
radv/winsys: remove useless check when binding virtual buffers/images
...
Size must be greater than 0.
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/5872 >
2020-07-22 15:06:20 +00:00
Samuel Pitoiset
f0112fa13c
radv/winsys: check more allocation failures
...
While we are at it, use local variables first to make sure to
not leak memory if something bad happens.
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/5872 >
2020-07-22 15:06:20 +00:00
Samuel Pitoiset
7a61e31d7b
radv: add missing return values check for some winsys calls
...
Make sure to handle errors properly.
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/5872 >
2020-07-22 15:06:20 +00:00
Danylo Piliaiev
348e8b5618
nir/tests: Add tests for opt_if_simplification
...
Test cases:
opt_if_simplification - the most trivial test case.
opt_if_simplification_single_source_phi_after_if - tests that
opt_if_simplification correctly handles single-source phis after
the if, found in https://gitlab.freedesktop.org/mesa/mesa/-/issues/3282
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5945 >
2020-07-22 14:20:21 +00:00
Danylo Piliaiev
6f94b3da11
nir/opt_if: Fix opt_if_simplification when else branch has jump
...
Consider the following case:
if ssa_1 {
block block_2:
/* succs: block_4 */
} else {
block block_3:
...
break
/* succs: block_5 */
}
block block_4:
vec1 32 ssa_100 = phi block_2: ssa_2
After block_3 extraction and reinsertion, phi->pred becomes invalid
and isn't updated by reinsertion since it is unreachable from block_3.
Call nir_opt_remove_phis_block before moving block to eliminate single
source phis after the if.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3282
Fixes: e3e929f8c3
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5945 >
2020-07-22 14:20:21 +00:00
Mike Blumenkrantz
3f783a3c50
zink: omit Lod image operand in ntv when not using an image texture dim
...
according to spec, this is invalid (and it's not being used anyway)
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5911 >
2020-07-22 14:01:29 +00:00
Mike Blumenkrantz
0ef5e19874
zink: add some asserts for building access chains in ntv
...
we're never going to pass a 0 here, and it's going to be an error if we do
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5911 >
2020-07-22 14:01:29 +00:00
Mike Blumenkrantz
2af22051c0
zink: handle texelFetchOffset with offsets
...
we need to explicitly add the offset in this case since it's not available
as a spirv param
fixes spec@glsl-1.30 @execution@fs-texelfetchoffset-2d
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5911 >
2020-07-22 14:01:29 +00:00
Mike Blumenkrantz
6587f41e11
zink: use helper function to handle uvec/bvec types
...
bit_size of 1 means we use a bool type here, 32 means uint, so we can just
handle that automatically for all relevant cases
ref shaders@glsl-vs-continue-in-switch-in-do-while
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5911 >
2020-07-22 14:01:29 +00:00
Daniel Schürmann
7015d2c249
aco: fix scratch loads which cross element_size boundaries
...
Previously, we've set element_size == 16 which causes loads from
packed vec3 arrays to cross the boundary and return wrong data.
This patch sets element_size = 4 and splits loads into single channel.
Fixes all of dEQP-VK.subgroups.ballot_broadcast.*
Cc: 20.1 <mesa-stable@lists.freedesktop.org >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5977 >
2020-07-22 13:12:25 +00:00
Erik Faye-Lund
c33e8d7d52
mesa/program: fix shadow property for samplers
...
When creating a sampler-type, we need to pass the correct vaclue for
the "is_shadow"-parameter to glsl_sampler_type(), otherwise the compiler
backend will have no clue about this being a shadow-sampler.
Fixes: 1c0f92d8a8 ("nir: Create sampler variables in prog_to_nir.")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5986 >
2020-07-22 12:51:51 +00:00
Tomeu Vizoso
4b04800efa
ci: Disable trace testing on Mali T760
...
The machine is showing random mis-renderings and we don't have time now
to investigate. Comment it out for now so CI pipelines don't fail due to
it.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6023 >
2020-07-22 12:31:57 +00:00
Samuel Pitoiset
6c1108d25b
radv: advertise VK_EXT_shader_atomic_float
...
No hw support for float atomic add for buffer and (sparse) images.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6000 >
2020-07-22 10:20:58 +02:00
Samuel Pitoiset
b8517e5ef9
ac/nir: add support for nir_intrinsic_shared_atomic_fadd
...
Only LLVM 10+ has support.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6000 >
2020-07-22 10:20:53 +02:00
Samuel Pitoiset
7615f2d690
aco: add support for nir_intrinsic_shared_atomic_fadd
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6000 >
2020-07-22 10:01:59 +02:00
Tomeu Vizoso
97482c6f92
ci: Test with more traces
...
Use some more traces from traces-db in the existing jobs.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Andres Gomez <agomez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6008 >
2020-07-22 05:57:41 +00:00
Tomeu Vizoso
87e0b2c1c2
ci: Prefix tracie artifacts with the device name
...
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Andres Gomez <agomez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6008 >
2020-07-22 05:57:41 +00:00
Tomeu Vizoso
ed5374ff50
ci: Use smaller glxgears trace
...
A smaller version of this trace has been pushed to traces-db, so update
to use this instead.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Andres Gomez <agomez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6008 >
2020-07-22 05:57:41 +00:00
Tomeu Vizoso
dfe394bac4
ci: Upload images of failed replays to MinIO
...
For the llvmpipe and virgl jobs.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Andres Gomez <agomez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6008 >
2020-07-22 05:57:41 +00:00
Rhys Kidd
7dc4fe6fb4
nvc0: add documentation for nve4+ (Kepler) COPY class
...
Has been utilised within nouveau in place of the former M2MF class, which was
dropped for Kepler in PGRAPH in favour of:
- a new P2MF object that only does simple upload; and
- PCOPY took over responsibility of M2MF's other DMA functions.
Autogenerated headers from envytools commit 32659e654170cb03038ccf2cb165decd3a2409d6
NVIDIA documentation released at:
https://github.com/NVIDIA/open-gpu-doc/blob/master/classes/dma-copy/cla0b5.h
Signed-off-by: Rhys Kidd <rhyskidd@gmail.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5982 >
2020-07-22 05:49:08 +00:00
Rhys Kidd
203d565b19
nvc0: fix macro define for NVE4_COPY()
...
Fixes: e44089b2f7 ("nvc0: add initial support for nve4+ (Kepler) chipsets")
Signed-off-by: Rhys Kidd <rhyskidd@gmail.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5982 >
2020-07-22 05:49:08 +00:00
Lionel Landwerlin
3a4024e776
anv: properly handle fence import of sync_fd = -1
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 43e8808b82 ("anv: Add support for the SYNC_FD handle type for fences")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5964 >
2020-07-22 05:07:05 +00:00
Bas Nieuwenhuizen
323d5bbfd9
meson: Add mising git_sha1.h dependency.
...
Fixes: 606dff1b73 "vulkan/overlay: Add support for a control socket."
Reviewed-by: Dylan Baker <dylan.c.baker@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6019 >
2020-07-22 00:02:26 +00:00
Rhys Perry
12b99d2581
aco: fix includes in aco_ir.cpp
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3300
Fixes: e75946cfef ('aco: move some setup code into helpers')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6015 >
2020-07-21 22:15:55 +00:00
Jonathan Marek
8fff8afb13
turnip: disable tiling for NV12/IYUV formats
...
The last change to my previous MR to disable UBWC for the formats ended up
breaking a few tests for A640 at least, because tiled-but-not-UBWC can be
broken in some cases.
Fixes: 1a83279da5 ("turnip: enable 420_UNORM formats")
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5817 >
2020-07-21 20:08:07 +00:00
Connor Abbott
b559d26c74
freedreno/ir3: Fix SSBO size for bindless SSBO's
...
We theoretically could push these sizes to the const file
opportunistically, which appears to be what the blob does, but the
maximum number of SSBO's is way too big to do that unconditionally. Just
use resinfo to get the size for now.
Fixes on turnip: dEQP-VK.ssbo.unsized_array_length.*
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6012 >
2020-07-21 19:53:32 +00:00
Rhys Perry
c11c4d8d4c
aco: fix copy of uninitialized boolean
...
This should be harmless but UBSan seems to complain.
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/6013 >
2020-07-21 19:38:43 +00:00
Rhys Perry
40b65a86a4
radv: fix invalid conversion warnings in vk_format.h
...
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/6013 >
2020-07-21 19:38:43 +00:00
Rhys Perry
fcd8f69113
aco: print ACO IR before scheduling instead of after
...
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/6013 >
2020-07-21 19:38:43 +00:00
Rhys Perry
bf4b377b9b
aco: make validate() usable in tests
...
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/6013 >
2020-07-21 19:38:43 +00:00
Rhys Perry
e75946cfef
aco: move some setup code into helpers
...
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/6013 >
2020-07-21 19:38:43 +00:00
Luigi Santivetti
2907faee7a
egl/dri2: try to bind old context if bindContext failed
...
This change mostly touches error handling code paths, where a
bug was found when the DRI driver failed to bind a new DRI
context. Specifically, the reason for it to fail was the window
system unable (for whatever reason) to provide the DRI drawable
with a buffer. In this instance, Mesa un-does the EGL bindings,
but doesn't restore the old DRI context, hence remaining in a
funny state. It's worth mentioning that despite trying, there
is no guarantee that the old DRI context can be restored,
depending on the runtime.
Before this change, if bindContext() failed then
dri2_make_current() would rebind the old EGL context and
surfaces and return EGL_BAD_MATCH. However, it wouldn't rebind
the DRI context and surfaces, thus leaving it in an
inconsistent and unrecoverable state.
After this change, dri2_make_current() tries to bind the old
DRI context and surfaces when bindContext() failed. If unable
to do so, it leaves EGL and the DRI driver in a consistent
state, it reports an error and returns EGL_BAD_MATCH.
Fixes: 4e8f95f64d ("egl_dri2: Always unbind old contexts")
Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Acked-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5707 >
2020-07-21 18:42:03 +00:00
Luigi Santivetti
8b0b6f907d
dri2: do not conflate unbind and bindContext() failure
...
dri2_make_current() has become hard to follow, address this by
splitting the semantic of needing a call to bindContext() and
its failure.
Cc: mesa-stable
Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5707 >
2020-07-21 18:42:03 +00:00
Luigi Santivetti
6b12999ef7
dri2: dri2_make_current() fold multiple if blocks
...
dri2_make_current() has become long and convoluted. Address
this by folding together multiple if blocks checking for the
same variable.
Cc: mesa-stable
Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5707 >
2020-07-21 18:42:03 +00:00
Rhys Perry
29c39aeaab
aco: use nir_addition_might_overflow to combine additions into SMEM
...
fossil-db (Navi):
Totals from 24656 (18.14% of 135946) affected shaders:
CodeSize: 120077160 -> 118877304 (-1.00%); split: -1.01%, +0.01%
Instrs: 23192657 -> 22979553 (-0.92%); split: -0.94%, +0.02%
VMEM: 165151115 -> 151861460 (-8.05%); split: +0.14%, -8.19%
SMEM: 18133265 -> 16709635 (-7.85%); split: +0.28%, -8.13%
VClause: 385011 -> 384447 (-0.15%); split: -0.16%, +0.02%
SClause: 954884 -> 838266 (-12.21%); split: -12.34%, +0.12%
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/2720 >
2020-07-21 18:25:35 +00:00
Rhys Perry
72ac3f6026
nir: add nir_unsigned_upper_bound and nir_addition_might_overflow
...
This adds a nir_unsigned_upper_bound() helper which does something similar
to nir_analyze_range() except it tries to obtain the largest possible
value instead of it's relation to zero.
It also adds nir_addition_might_overflow(), which uses this helper to try
to prove that an unsigned addition does not wrap around.
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/2720 >
2020-07-21 18:25:35 +00:00
Rhys Perry
2694a34aa2
aco: add NUW flag
...
This (combined with a pass to actually set the corresponding NIR flags)
should help fix a lot of the regressions from the SMEM addition combining
change.
fossil-db (Navi):
Totals from 12 (0.01% of 135946) affected shaders:
CodeSize: 12376 -> 12304 (-0.58%)
Instrs: 2436 -> 2422 (-0.57%)
VMEM: 1105 -> 1096 (-0.81%)
SClause: 133 -> 130 (-2.26%)
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/2720 >
2020-07-21 18:25:35 +00:00
Rhys Perry
3a4847179b
aco: allow overflow for some SMEM instructions
...
fossil-db (Navi):
Totals from 10184 (7.49% of 135946) affected shaders:
CodeSize: 83419748 -> 82430824 (-1.19%); split: -1.19%, +0.01%
Instrs: 16054612 -> 15908523 (-0.91%); split: -0.93%, +0.02%
VMEM: 1608018 -> 1581829 (-1.63%); split: +0.20%, -1.83%
SMEM: 577031 -> 563492 (-2.35%); split: +0.10%, -2.45%
VClause: 242643 -> 242512 (-0.05%); split: -0.06%, +0.00%
SClause: 640966 -> 569897 (-11.09%)
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/2720 >
2020-07-21 18:25:35 +00:00
Rhys Perry
d169f09e37
aco: be more careful combining additions that could wrap into loads/stores
...
SMEM does the addition with 64-bits, not 32. So if the original code
relied on wrapping around (for example, for subtraction), it would break.
Apparently swizzled MUBUF accesses also have issues with combining
additions that could overflow. Normal MUBUF accesses seem fine.
fossil-db (Navi):
Totals from 27219 (20.02% of 135946) affected shaders:
CodeSize: 128303256 -> 131062756 (+2.15%); split: -0.00%, +2.15%
Instrs: 24818911 -> 25280558 (+1.86%); split: -0.01%, +1.87%
VMEM: 162311926 -> 177226874 (+9.19%); split: +9.36%, -0.17%
SMEM: 18182559 -> 20218734 (+11.20%); split: +11.53%, -0.34%
VClause: 423635 -> 424398 (+0.18%); split: -0.02%, +0.20%
SClause: 865384 -> 1104986 (+27.69%); split: -0.00%, +27.69%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2748
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2720 >
2020-07-21 18:25:35 +00:00
Andres Gomez
4d0e06257a
gitlab-ci/traces: updated paths and checksums for POLARIS10 traces
...
Signed-off-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5890 >
2020-07-21 16:41:22 +00:00
Andres Gomez
f1e67aa08a
gitlab-ci: get the last frame from a gfxr trace using gfxrecon-info
...
Signed-off-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5890 >
2020-07-21 16:41:22 +00:00
Andres Gomez
d15e1226cc
gitlab-ci: build gfxreconstruct from the "dev" branch
...
We want to use the fix for
https://github.com/LunarG/gfxreconstruct/issues/328 while it is yet
not available in the "master" branch.
Additionally, we get the gfxreconstruct-info tool as an extra.
Signed-off-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5890 >
2020-07-21 16:41:22 +00:00
Connor Abbott
bb5b136b45
freedreno: Use common guardband helper
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5950 >
2020-07-21 14:26:18 +00:00
Connor Abbott
c9c848dede
tu: Use common guardband helper
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5950 >
2020-07-21 14:26:18 +00:00
Connor Abbott
19895dde90
freedreno: Add a helper for computing guardband sizes
...
This should be much better than the previous method that was more
guesswork-based than anything else. It returns a value within 1 of the
blob for every input value I've tested, and it seems like it returns
slightly better (but still legal) answers when it differs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5950 >
2020-07-21 14:26:18 +00:00
Alyssa Rosenzweig
86a6597714
panfrost: Remove unused batch_fence->ctx
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5995 >
2020-07-21 13:57:43 +00:00
Alyssa Rosenzweig
f18e5371cf
panfrost: Remove unused batch_fence->signaled
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5995 >
2020-07-21 13:57:43 +00:00
Alyssa Rosenzweig
64d6f56ad2
panfrost: Allocate syncobjs in panfrost_flush
...
For implementing panfrost_flush, it suffices to wait on only a single
syncobj, not an entire array of them. This lets us wait on it directly,
without coercing to/from syncfds in the middle (although some complexity
may be added later to support Android winsys).
Further, we should let the fence own the syncobj, tying together the
lifetimes and thus removing the connection between syncobjs and
batch_fence.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5995 >
2020-07-21 13:57:43 +00:00
Alyssa Rosenzweig
85a2216fe4
panfrost: Skip specifying in_syncs
...
With the current kernel UABI, there is no benefit to explicitly
specifiying dependencies, since the kernel by design adds implicit
dependencies to any referenced BOs. This is something we'd like to
address in the future, but efficient handling with future kernels will
require a tweaked design in userspace as well. So let's do the obvious
thing now, and extend later.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5995 >
2020-07-21 13:57:43 +00:00
Alyssa Rosenzweig
e5ef5a381e
panfrost: Remove wait parameter to flush_all_batches
...
It is always false now.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5995 >
2020-07-21 13:57:43 +00:00
Alyssa Rosenzweig
0c4db886b6
panfrost: Avoid wait=true flushing all batches
...
What is intended is to flush the batches and wait on a particular BO at
a later time. Explicitly forcing a wait immediately is redundant.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5995 >
2020-07-21 13:57:43 +00:00
Rhys Perry
04ea4f1ce4
aco: implement b2i8/b2i16
...
Fixes lots of tests under dEQP-VK.spirv_assembly.type.*
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/5993 >
2020-07-21 12:27:30 +00:00
Karol Herbst
3a7cd7bd65
nv50/ir: initialize persampleInvocation to false
...
Fixes: random KHR-GL45.sample_variables.mask.* fails
Fixes: 66ed9792ed ("nv50: Clear nv50_ir_prog_info of dead and codegen specific variables")
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6001 >
2020-07-21 12:16:54 +00:00
Karol Herbst
618b355504
nv50/ir/tgsi: silence warning about unhandled GS_INPUT_PRIM property
...
Fixes: 66ed9792ed ("nv50: Clear nv50_ir_prog_info of dead and codegen specific variables")
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6001 >
2020-07-21 12:16:54 +00:00
Samuel Pitoiset
6ced98c94e
radv: disable CPU caching for the upload BO to reduce fetch latency
...
AMDGPU_GEM_CREATE_CPU_GTT_USWC should be faster when CPU reads
are unexpected (because they aren't cached).
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/5978 >
2020-07-21 11:54:39 +00:00
Samuel Pitoiset
b3eae4e037
radv: do not perform read-modify-write with the upload BO
...
To disable CPU caching.
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/5978 >
2020-07-21 11:54:39 +00:00
Rhys Perry
d9072a113b
radv: replace discard with demote for Quantic Dream games
...
Detroit: Become Human uses dFdx/dFdy immediately after a quad-divergent
discard, which can cause the image to become white.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Cc: <mesa-stable@lists.freedesktop.org >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3212
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5991 >
2020-07-21 11:34:23 +00:00
Rhys Perry
51bc11abc2
aco: always set FI on GFX10
...
bounds_ctrl is set to true by default which works around some game bugs,
but that isn't enough on GFX10.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5991 >
2020-07-21 11:34:23 +00:00
Eric Anholt
8b3452a556
ci: Set XDG_CACHE_HOME to tmpfs for bare-metal runners to avoid NFS.
...
We don't want these files shared between builds (it'll get blown away by
the next rsync), and NFS will just increase our latency for hitting the
cache.
Drops a630 gles31 run from 11-17 minutes to 5.5. Maximum cache size on a
run I've seen is 153M, which it seems we can easily spare.
Fixes: f97acb4bb4 ("freedreno/ir3: disk-cache support")
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5998 >
2020-07-21 11:04:14 +00:00
Tomeu Vizoso
b2cd6a0b15
gitlab-ci: Fix needs: of the arm64 LAVA test jobs
...
They were still depending on arm_build, but the build of kernel and
rootfs has been moved to a separate job.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Reviewed-By: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5472 >
2020-07-21 09:22:19 +00:00
Tomeu Vizoso
a1947f059f
gitlab-ci: Upload tracie artifacts to MinIO
...
Upload failed images and the results.yml file to MinIO, to facilitate
debugging.
Also, fix version checking when git is installed as Mesa is going to
output a different renderer string if git is installed.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Reviewed-By: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5472 >
2020-07-21 09:22:19 +00:00
Tomeu Vizoso
20507f8b17
gitlab-ci: Download traces from MinIO
...
Downloading the traces directly from git causes very high egress from
GCE, which is expensive.
So we can expand trace testing further, we are going to keep a cache in
freedesktop.org's MinIO instance. This commit implements downloading
from it.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Reviewed-By: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5472 >
2020-07-21 09:22:18 +00:00
Rohan Garg
087be7e322
gitlab-ci: Replay traces on lava devices
...
Submit lava jobs to replay traces on Veyron (Mali T760) and Kevin (Mali
T860) boards.
Signed-off-by: Rohan Garg <rohan.garg@collabora.com >
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Reviewed-By: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5472 >
2020-07-21 09:22:18 +00:00
Kenneth Graunke
576c53dadf
iris: Fix CCS check in iris_texture_subdata().
...
The intention here was to check "Would the GPU be able to compress
this if we used the PBO-based texture upload path?" Prior to Gen12,
that meant checking for CCS_E. On Gen12, there are a lot more types
of compression, and basic CCS_E was replaced by GEN12_CCS_E, making
this check simply not work, so we'd take the CPU path instead.
Instead, check if it has CCS, and isn't the basic "fast clear" CCS_D.
Fixes: 39f06e2848 ("iris: Implement pipe->texture_subdata directly")
Tested-by: Mark Janes <mark.a.janes@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6005 >
2020-07-21 09:10:37 +00:00
Rhys Perry
0868638aed
nir/lower_int64: lower 64-bit amul
...
Fixes an issue with Renderdoc's shader debugging with ACO.
If nir_opt_algebraic isn't called in-between nir_lower_explicit_io and
nir_lower_int64, we can end up with 64-bit multiplications.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Fixes: 6320e37d4b ('nir: add amul instruction')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5709 >
2020-07-21 06:47:10 +00:00
Jason Ekstrand
4d44848c47
anv: Advertise support for VK_EXT_shader_atomic_float
...
We already have all of the shader code for load/store/exchange.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5992 >
2020-07-21 05:01:34 +00:00
Jason Ekstrand
675d7b19a9
intel/fs: Use the correct logical op for global float atomics
...
Fixes: e644ed468f "intel/fs: Implement nir_intrinsic_global_atomic_*"
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5992 >
2020-07-21 05:01:34 +00:00
Jason Ekstrand
84086b620e
spirv: Add support for SPV_EXT_shader_atomic_float
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5992 >
2020-07-21 05:01:34 +00:00
Jason Ekstrand
2a568c595b
spirv: Update headers and grammar json
...
This pulls in commit 63cb1fc131573fa from KhronosGroup/SPIRV-Headers
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5992 >
2020-07-21 05:01:34 +00:00
Eric Engestrom
cc03448008
egl: inline _EGLAPI into _EGLDriver
...
_EGLDriver was an empty wrapper around _EGLAPI, so let's only keep one
of them. "driver" represents better what's being accessed, so that's the
one we're keeping.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5987 >
2020-07-21 00:59:43 +00:00
Bas Nieuwenhuizen
7b7917a424
radeonsi: Inhibit clock-gating for perf counters.
...
Otherwise most counters return 0. Should be much more user friendly
than having to totally disable clock-gating on the kernel cmdline.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5972 >
2020-07-20 23:56:26 +00:00
Bas Nieuwenhuizen
794ba3efd7
amd/registers: add RLC_PERFMON_CLK_CNTL for pre-GFX10
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5972 >
2020-07-20 23:56:26 +00:00
Jason Ekstrand
36e6ac65c5
anv: Advertise VK_EXT_image_robustness
...
We already support a superset of VK_EXT_image_robustness via
VK_EXT_robustness2.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5985 >
2020-07-20 22:30:18 +00:00
Eric Anholt
d973e50f69
freedreno/ir3: Add missing ld_args_build_id to the ir3_delay unit test.
...
It triggers the disk cache for me, and asserts abount not getting the
build id right.
Fixes: f97acb4bb4 ("freedreno/ir3: disk-cache support")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5989 >
2020-07-20 22:11:51 +00:00
Samuel Pitoiset
3688da2192
radv: advertise VK_EXT_image_robustness
...
All new dEQP-VK.robustness.image_robustness.* pass.
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/5979 >
2020-07-20 21:18:27 +00:00
Christian Gmeiner
096adbe369
ci: bare-metal: use nginx to get results from DUT
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2655
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5661 >
2020-07-20 20:21:12 +00:00
Yevhenii Kolesnikov
101400d449
mesa: change error code of *TextureSubImage* for incorreect target
...
According to the "Errors" list of the OpenGL 4.6 spec, section 8.6
"Alternate Texture Image Specification Commands":
An INVALID_OPERATION error is generated by *TextureSubImage* if the
effective target of texture does not match the command, as shown in table 8.15.
Signed-off-by: Yevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5934 >
2020-07-20 19:58:14 +00:00
Eric Anholt
af92348b1c
freedreno/ir3: Fix disasm of register offsets in ldp/stp.
...
I had a stp testcase that was getting its offset wrong, and by twiddling
bits and feeding it to qc disasm, I found that the comment was sort of
right: some the cat6a bits implicated in the old comment do get used, as
the high bits of the cat6c offset. Reallocating those bits also fixes how
we were getting r960.y for r0.y.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5815 >
2020-07-20 19:42:45 +00:00
Eric Anholt
d6d8dc133e
freedreno/ir3: Refactor cat6 general dst printing.
...
We didn't need the extra branch and temp, we can move it inside of the dst
handling by just duplicating the print of the dst reg.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5815 >
2020-07-20 19:42:45 +00:00
Eric Anholt
62dcf75432
freedreno/ir3: Add a bunch more tests for cat6 opcodes.
...
This started with making note of some ldp/stp instructions from the blob
and how we differ from them. In the process of fixing it, I accidentally
modified behavior of other opcodes, and the other instructions listed will
keep us from doing that. I also dropped an old stl test that looks like I
took from after a shader 'end' instruction.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5815 >
2020-07-20 19:42:45 +00:00
Eric Anholt
ed3338f581
freedreno/ir3: Add a note about the instructions in the disasm test.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5815 >
2020-07-20 19:42:45 +00:00
Jason Ekstrand
4ab3a219cc
vulkan: Update Vulkan XML and headers to 1.2.148
...
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5983 >
2020-07-20 18:28:10 +00:00
Eric Anholt
fd24a95995
ci: Use FDO_CI_CONCURRENT as our -j flags when present in the runner env.
...
fd.o has retuned the x86 runners on packet for -j8. Rather than having to
tweak our CI every time fd.o decides to rebalance job concurrency, respect
what the runner admin has chosen for their builds (this will also be
convenient for people with large local runners).
Reviewed-by: Michel Dänzer <michel@daenzer.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5669 >
2020-07-20 17:22:17 +00:00
Daniel Schürmann
5f79e4e69a
nir/algebraic: fold some nested bcsel
...
Totals from 14266 (10.62% of 134368) affected shaders (Polaris):
SGPRs: 761756 -> 762732 (+0.13%); split: -0.00%, +0.13%
VGPRs: 430392 -> 430924 (+0.12%); split: -0.05%, +0.17%
SpillSGPRs: 4652 -> 4628 (-0.52%); split: -0.60%, +0.09%
CodeSize: 30133000 -> 29949780 (-0.61%); split: -0.66%, +0.05%
MaxWaves: 102122 -> 102111 (-0.01%); split: +0.00%, -0.01%
Instrs: 5845085 -> 5841668 (-0.06%); split: -0.08%, +0.03%
Cycles: 69033140 -> 68889188 (-0.21%); split: -0.22%, +0.01%
VMEM: 8479021 -> 8474978 (-0.05%); split: +0.03%, -0.08%
SMEM: 831437 -> 830464 (-0.12%); split: +0.06%, -0.18%
VClause: 105411 -> 105410 (-0.00%); split: -0.01%, +0.01%
SClause: 327727 -> 327780 (+0.02%); split: -0.00%, +0.02%
Copies: 372704 -> 373306 (+0.16%); split: -0.16%, +0.32%
Branches: 112260 -> 112269 (+0.01%); split: -0.00%, +0.01%
PreSGPRs: 433308 -> 433631 (+0.07%); split: -0.01%, +0.09%
PreVGPRs: 397888 -> 397905 (+0.00%); split: -0.01%, +0.01%
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4830 >
2020-07-20 15:56:46 +00:00
Daniel Schürmann
27244662f2
nir/algebraic: propagate b2i out of ior/iand
...
Totals from 761 (0.57% of 134368) affected shaders (Polaris):
SGPRs: 29496 -> 29488 (-0.03%)
SpillSGPRs: 41 -> 43 (+4.88%)
CodeSize: 1922036 -> 1882408 (-2.06%); split: -2.08%, +0.02%
Instrs: 366051 -> 360362 (-1.55%); split: -1.57%, +0.02%
Cycles: 7692516 -> 7661216 (-0.41%); split: -0.41%, +0.01%
VMEM: 365175 -> 365172 (-0.00%)
VClause: 15324 -> 15322 (-0.01%)
SClause: 9825 -> 9824 (-0.01%); split: -0.02%, +0.01%
Copies: 41216 -> 41294 (+0.19%); split: -0.01%, +0.20%
Branches: 7020 -> 7033 (+0.19%)
PreSGPRs: 22103 -> 22106 (+0.01%)
PreVGPRs: 26518 -> 26515 (-0.01%)
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4830 >
2020-07-20 15:56:46 +00:00
Daniel Schürmann
baee5a9812
nir/algebraic: add distributive rules for ior/iand
...
Totals from 581 (0.43% of 134368) affected shaders (Polaris):
CodeSize: 1389560 -> 1386488 (-0.22%)
Instrs: 264488 -> 263984 (-0.19%)
Cycles: 1057952 -> 1055936 (-0.19%)
VMEM: 296016 -> 291613 (-1.49%)
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4830 >
2020-07-20 15:56:46 +00:00
Daniel Schürmann
70d3efeb88
nir/algebraic: optimize (a < 0.0) ? -a : a -> fabs(a)
...
Totals from affected shaders: (VEGA)
SGPRS: 13920 -> 13920 (0.00 %)
VGPRS: 10252 -> 10252 (0.00 %)
Spilled SGPRs: 62 -> 62 (0.00 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 0 -> 0 (0.00 %) dwords per thread
Code Size: 587648 -> 587224 (-0.07 %) bytes
LDS: 5 -> 5 (0.00 %) blocks
Max Waves: 1489 -> 1489 (0.00 %)
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4830 >
2020-07-20 15:56:46 +00:00
Daniel Schürmann
9d22c5ed71
nir/algebraic: optimize fmul(x, bcsel(c, -1.0, 1.0)) -> bcsel(c, -x, x)
...
Totals from affected shaders: (VEGA)
SGPRS: 545712 -> 545712 (0.00 %)
VGPRS: 413092 -> 413116 (0.01 %)
Spilled SGPRs: 10616 -> 10616 (0.00 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 0 -> 0 (0.00 %) dwords per thread
Code Size: 37031684 -> 36984248 (-0.13 %) bytes
LDS: 427 -> 427 (0.00 %) blocks
Max Waves: 54350 -> 54340 (-0.02 %)
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4830 >
2020-07-20 15:56:46 +00:00
Daniel Schürmann
56ec814b56
nir/algebraic: add some more unop + bcsel optimizations
...
Totals from affected shaders: (VEGA)
SGPRS: 284392 -> 284400 (0.00 %)
VGPRS: 261080 -> 261076 (-0.00 %)
Spilled SGPRs: 105 -> 105 (0.00 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 0 -> 0 (0.00 %) dwords per thread
Code Size: 24698596 -> 24277788 (-1.70 %) bytes
LDS: 196 -> 196 (0.00 %) blocks
Max Waves: 10101 -> 10105 (0.04 %)
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4830 >
2020-07-20 15:56:45 +00:00
Daniel Schürmann
2fca183910
nir/algebraic: add optimizations for fsign/isign
...
This just reverts fsign/isign lowering.
Totals from affected shaders:
SGPRS: 257496 -> 256672 (-0.32 %)
VGPRS: 181800 -> 178864 (-1.61 %)
Spilled SGPRs: 105 -> 105 (0.00 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 0 -> 0 (0.00 %) dwords per thread
Code Size: 11355852 -> 11141840 (-1.88 %) bytes
LDS: 3789 -> 3789 (0.00 %) blocks
Max Waves: 30453 -> 30951 (1.64 %)
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4830 >
2020-07-20 15:56:45 +00:00
Daniel Schürmann
8e1b75b330
nir/algebraic: optimize iand/ior of (n)eq zero
...
Found in some Detroit: Become Human shaders.
Totals from affected shaders:
SGPRS: 700256 -> 700256 (0.00 %)
VGPRS: 507208 -> 507212 (0.00 %)
Spilled SGPRs: 142531 -> 142531 (0.00 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 0 -> 0 (0.00 %) dwords per thread
Code Size: 76404616 -> 76301768 (-0.13 %) bytes
LDS: 43 -> 43 (0.00 %) blocks
Max Waves: 21438 -> 21438 (0.00 %)
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4830 >
2020-07-20 15:56:45 +00:00
Daniel Schürmann
e4281dbecc
nir: also move b2i in case of nir_move_copies
...
Booleans are often more efficient with register usage.
This also allows to move comparisons further.
Totals from affected shaders: (VEGA)
SGPRS: 451608 -> 450320 (-0.29 %)
VGPRS: 351448 -> 351256 (-0.05 %)
Spilled SGPRs: 105 -> 105 (0.00 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 1008 -> 1008 (0.00 %) dwords per thread
Code Size: 26555596 -> 26551080 (-0.02 %) bytes
LDS: 10323 -> 10323 (0.00 %) blocks
Max Waves: 42850 -> 42934 (0.20 %)
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4830 >
2020-07-20 15:56:45 +00:00
Daniel Schürmann
de0ebaf09d
nir/algebraic: optimize bcsel(a, 0, 1) to b2i
...
This avoids combination with other bcsel operations,
and as b2i is often a no-op (when used for iadd and such),
the resulting pattern is preferable.
Totals from affected shaders: (VEGA)
SGPRS: 598448 -> 598448 (0.00 %)
VGPRS: 457940 -> 457352 (-0.13 %)
Spilled SGPRs: 127154 -> 127154 (0.00 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 0 -> 0 (0.00 %) dwords per thread
Code Size: 64836352 -> 64802728 (-0.05 %) bytes
LDS: 781 -> 781 (0.00 %) blocks
Max Waves: 22931 -> 22931 (0.00 %)
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4830 >
2020-07-20 15:56:45 +00:00
Icecream95
e764192f40
pan/mdg: Use the blend RT for blend shader framebuffer fetches
...
Fixes piglit test fbo-drawbuffers-blend-add when fixed-function
blending is disabled in panfrost_get_blend_for_context.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5892 >
2020-07-20 14:15:49 +00:00
Icecream95
3ec252a3b2
panfrost: 8x MRT support
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5892 >
2020-07-20 14:15:49 +00:00
Icecream95
978f963ea4
panfrost: Use more tilebuffer sizes
...
This will be needed for 8x MRT with 128-bit framebuffer formats.
Adds support for 256-bit, 1024-bit, and 2048-bit tilebuffer allocations,
depending on the amount of data required.
v2: Squash commits (Alyssa)
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5892 >
2020-07-20 14:15:49 +00:00
Icecream95
c1d3d39e97
panfrost: Fake RGTC support
...
For most GPUs RGTC is disabled, so it needs to be emulated, using the
fake_rgtc option of u_transfer_helper.
Passes the rgtc-teximage tests in piglit.
v2: Update docs/features.txt (Alyssa)
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5975 >
2020-07-20 09:54:49 -04:00
Rhys Perry
fac813dc61
spirv: don't split memory barriers
...
If the SPIR-V had a shared+image memory barrier, we would emit two NIR
barriers: a shared barrier and an image barrier.
Unlike a single barrier, two barriers allows transformations such as:
intrinsic image_deref_store (ssa_27, ssa_33, ssa_34, ssa_32, ssa_25) (1)
intrinsic memory_barrier_shared () ()
intrinsic memory_barrier_image () ()
intrinsic store_shared (ssa_35, ssa_24) (0, 1, 4, 0)
->
intrinsic memory_barrier_shared () ()
intrinsic store_shared (ssa_35, ssa_24) (0, 1, 4, 0)
intrinsic image_deref_store (ssa_27, ssa_33, ssa_34, ssa_32, ssa_25) (1)
intrinsic memory_barrier_image () ()
This commit fixes two dEQP-VK.memory_model.* CTS tests with ACO.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5951 >
2020-07-20 12:05:16 +00:00
Samuel Pitoiset
28c227c7ca
radv/winsys: always allow GTT placements on APUs
...
When the VRAM size is small and the preferred heap only VRAM,
the kernel tries to always honor the requested heap and it does
a ton of evictions which is a disaster for performance.
On APUs, VRAM and GTT have similar performance, so allow the
kernel to choose the best placement (GTT or VRAM) itself.
This gives a huge performance boost with Doom Eternal on RAVEN.
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/5665 >
2020-07-20 11:41:07 +00:00
Samuel Pitoiset
d1bba2eee7
radv: disable CPU caching for IBS to reduce fetch latency
...
AMDGPU_GEM_CREATE_CPU_GTT_USWC should be faster when CPU reads
are unexpected (because they aren't cached).
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/5959 >
2020-07-20 11:23:19 +00:00
Pierre-Eric Pelloux-Prayer
d2a3ca289f
radeonsi: adjust epitch for PIPE_FORMAT_R8G8_R8B8_UNORM
...
This fix si_compute_copy_image for yuyv image (so using PIPE_FORMAT_R8G8_R8B8_UNORM).
With this change, the following gst pipeline produce the expected results for various
image sizes (with or without AMD_DEBUG=nodma):
gst-launch-1.0 filesrc location=input.jpg ! jpegparse ! vaapijpegdec ! filesink location=output.yuv
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5841 >
2020-07-20 10:32:44 +00:00
Pierre-Eric Pelloux-Prayer
87ecfdfbf0
ac/surface: adapt surf_size when modifying surf_pitch
...
Otherwise we might get VM_L2_PROTECTION_FAULT_STATUS errors.
Fixes: 8275dc1ed5 ("ac/surface: fix epitch when modifying surf_pitch")
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5841 >
2020-07-20 10:32:44 +00:00
Gert Wollny
1fa36c1d3d
d600/sfn: write stream outputs to correct mem ring
...
Fixes: arb_gpu_shader5-xfb-streams
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5963 >
2020-07-20 09:32:51 +00:00
Gert Wollny
21d296a481
r600/sfn: Make the pin_to_channel generic
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5963 >
2020-07-20 09:32:51 +00:00
Gert Wollny
3ea847e6d1
r600/sfn: Only use sample mask if the according shader key is set
...
This fixes all the piglits from arb_sample_shading "samplemask * *"
with the nir backend.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5963 >
2020-07-20 09:32:51 +00:00
Gert Wollny
c91979c634
r600: Add shader key item to identify when the sample mask should be used
...
The sample mask must be applied when more then one sample is available or
multisamplig is not enabled, so add a shader key to track this.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5963 >
2020-07-20 09:32:51 +00:00
Gert Wollny
05df4bfbca
r600/sfn: Fix default z swizzle for GDS instructions
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5963 >
2020-07-20 09:32:51 +00:00
Gert Wollny
2779aa360e
r600/sfn: Fix Ring output swizzle masks
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5963 >
2020-07-20 09:32:51 +00:00
Gert Wollny
c18b1c6df5
r600/sfn: Add a forced output swizzle for depth write
...
This makes sure no components are written that shouldn't be written.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5963 >
2020-07-20 09:32:51 +00:00
Gert Wollny
d31ef0b7a4
r600/sfn: correct handling of loading vec4 with fetching constants
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5963 >
2020-07-20 09:32:51 +00:00
Gert Wollny
aca99e6fc9
r600/sfn: Add option to get a temp value for a specific channel
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5963 >
2020-07-20 09:32:51 +00:00
Gert Wollny
258618815b
r600/sfn: emit texture instructions in one block
...
Setting the offset must happen in the same CF like using it, so don't
emit ALU instruction between the tex instructions.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5963 >
2020-07-20 09:32:51 +00:00
Gert Wollny
deccf02246
r600/sfn: Pipe through requesting a register at a given channel
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5963 >
2020-07-20 09:32:51 +00:00
Gert Wollny
55cc712991
r600/sfn: lower rotate ALU ops
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5963 >
2020-07-20 09:32:51 +00:00
Dave Airlie
4708ccbf91
ci/llvmpipe: reenable gpu shader5 tests
...
I hadn't realised these were disabled, llvmpipe now exposes this extension.
One additional failure is fine to get the added testing coverage.
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5973 >
2020-07-20 18:47:37 +10:00
Dave Airlie
41c7bb6ec0
llvmpipe: add framebuffer fetching support (v1.1)
...
v1.1:
Merge two if blocks (Roland)
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5914 >
2020-07-20 15:14:09 +10:00
Dave Airlie
0e0b6d477b
llvmpipe/cs: respect render condition
...
Running complete CTS turned up a missing cond render.
Fixes KHR-GL45.compute_shader.conditional-dispatching
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5944 >
2020-07-19 15:07:26 +10:00
Rob Clark
912ad09112
freedreno/ir3/ra: fix array conflicts for split/merged
...
Properly handle the difference between split and merged register file
when determining where arrays can fit without conflicting with other
arrays or pre-colored instructions.
1) if not mergedregs, only consider other things with same precision
as potentially conflicting
2) if mergedregs, calculate everything in therms of half-regs and
convert back to fullregs in the end
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5957 >
2020-07-18 09:21:09 -07:00
Rob Clark
b1465c382b
freedreno/ir3/ra: assign vreg names to all array elements
...
We shouldn't divide-by-two for half-reg arrays. We set the proper node
interference class, based on `arr->half`.
Fixes a RA fail with 16b arrays:
src/freedreno/ir3/ir3_ra.c:633: name_to_array: Assertion `!"invalid array name"' failed.
Caused by use/def iterators returning `arr->length` vreg namess, but
only assigning the array half that many names.
Also, since we are assigning unique vreg names to each array element,
there is no need to try and convert from half-reg to it's conflicting
full reg when pre-coloring the array elements. Getting us closer to
having half-arrays work sanely with split-register-file (a5xx and
earlier).
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5957 >
2020-07-18 09:21:09 -07:00
Rob Clark
6317f7d574
freedreno/ir3/ra: debug msgs tweak
...
Print out the assigned vreg names earlier. Also print the few special
nodes.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5957 >
2020-07-18 09:14:13 -07:00
Rob Clark
c2d94aa365
freedreno/ir3: fix half-reg array stores
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5957 >
2020-07-18 09:14:13 -07:00
Rob Clark
5be171b888
freedreno/ir3: set array precision on creation
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5957 >
2020-07-18 09:14:13 -07:00
Rob Clark
0472ca2aa5
freedreno/ir3/parser: half-precision relative regs
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5957 >
2020-07-18 09:14:13 -07:00
Rob Clark
79b0651c24
freedreno: whitespace fix
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5957 >
2020-07-18 09:11:35 -07:00
Rob Clark
835201dd76
freedreno: small comment re-word
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5957 >
2020-07-18 09:11:35 -07:00
Mike Blumenkrantz
2b343238a1
zink: free all ntv allocations after creating shader module
...
these are all fairly large sources of leaks
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5887 >
2020-07-18 07:51:37 +00:00
Mike Blumenkrantz
adc4f3896a
zink: free pipeline cache during program destroy
...
more leaks
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5887 >
2020-07-18 07:51:37 +00:00
Mike Blumenkrantz
1ff2d195b0
zink: destroy descriptor pools on context destroy
...
this is a big leak
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5887 >
2020-07-18 07:51:37 +00:00
Mike Blumenkrantz
7116decfce
zink: destroy gfx program when a shader is freed
...
there's no sense in having these objects sitting around when they can
never be used again
requires adding a zink_context* pointer to each program in order to prune
the hash table entry
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5887 >
2020-07-18 07:51:37 +00:00
Mauro Rossi
9e9c8e2f79
android: panfrost/encoder: add libmesa_nir static dependency
...
Fixes the following build error:
In file included from external/mesa/src/panfrost/encoder/pan_blit.c:34:
In file included from external/mesa/src/panfrost/encoder/../midgard/midgard_compile.h:27:
external/mesa/src/compiler/nir/nir.h:52:10: fatal error: 'nir_opcodes.h' file not found
^~~~~~~~~~~~~~~
1 error generated.
Fixes: 293f251871 ("panfrost: Use Midgard-specific reloads")
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5961 >
2020-07-18 08:28:27 +02:00
Icecream95
0ef168d513
panfrost: Fix calls to panfrost_flush_batches_accessing_bo
...
The function now takes a bool flush_readers instead of an access type,
but some calls were not updated.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5962 >
2020-07-18 01:36:59 +00:00
Icecream95
858cc13eb2
panfrost: Make panfrost_bo_wait take a wait_readers bool
...
panfrost_bo_wait is often used after
panfrost_flush_batches_accessing_bo, so make them take similar
arguments for consistency.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5962 >
2020-07-18 01:36:59 +00:00
Eric Anholt
5b38048347
freedreno/ir3: Add unit tests for derivatives disasm.
...
Since I was going back to look at fine derivs again, add some tests of
instruction encoding.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5699 >
2020-07-18 00:43:44 +00:00
Eric Anholt
3d7d5d220b
freedreno/ir3: Fix duplicated fine derivatives instructions.
...
legalize_block() can get run multiple times, which I didn't notice when
adding fine derivs support. Other instruction clones change things such
that the legalization won't trigger again, but that didn't apply to the
DS.PP legalization. To keep someone else from tripping over this, split
the one-shot legalization out of the iterative sync flag application.
Fixes failures in dEQP-VK.glsl.derivate.dfdxfine.*
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3198
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5699 >
2020-07-18 00:43:44 +00:00
Bas Nieuwenhuizen
862d85a63f
amd/addrlib: Clean up unused colorFlags argument
...
Cleanup.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5865 >
2020-07-18 00:28:35 +00:00
Bas Nieuwenhuizen
a37aeb128d
amd/common: Cache intra-tile addresses for retile map.
...
However complicated DCC addressing is it is still based on tiles.
If we have the intra-tile offsets + tile dimensions we can expand
that to the full image ourselves.
Behavior around ~1080p on a 2500U:
old:
30-60 ms on every miss
new:
5 ms initally (miss in the tile cache)
<0.5 ms afterwards
The most common case is that the tile cache only contains data for
2 tiles, which for Raven/Renoir/Navi14 will be 4 KiB each, so the
size increase is fairly modest.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5865 >
2020-07-18 00:28:35 +00:00
Rhys Perry
f302ef3853
aco: use s_waitcnt_depctr to mitigate VMEMtoScalarWriteHazard
...
Apparently this is potentially faster than v_nop:
https://reviews.llvm.org/D83872
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/5923 >
2020-07-18 00:14:12 +00:00
Rhys Perry
bcf94bb933
aco: properly recognize that s_waitcnt mitigates VMEMtoScalarWriteHazard
...
fossil-db (Navi):
Totals from 555 (0.41% of 135946) affected shaders:
CodeSize: 1005716 -> 1003400 (-0.23%)
Instrs: 195326 -> 194744 (-0.30%)
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/5923 >
2020-07-18 00:14:12 +00:00
Eric Anholt
33f33bb7d6
meson: Enable GCing of functions and data from compilation units by default.
...
Normally, the linker will pull in any compilation unit (aka .c file) from
a static lib (such as our shared util code) that is depended on by the
code linking against it. Since that code is already compiled, the .text
section is allowed to jump anywhere in .text, and the compiler can't
garbage collect unused functions inside of a compile unit.
Teasing callgraphs apart so that normal compilation-unit-level GCing can
reduce driver size hurts the logical organization of the code and is
difficult. As an example, once I'd split the format pack/unpack tables, I
had to split out util_format_read/write() from util_format.c to avoid
pulling in pack/unpack. But even then it didn't help, because it turns
out turnip's pack calls pull in util_format_bptc.c for bptc packing, but
that file also includes the unpack impls, and those internally call
util_format_unpack, and thus we pulled in all of unpack. Splitting all of
this to separate files makes code harder to find and maintain, and is a
waste of dev time.
By setting these compiler flags, the compiler puts each function and data
symbol in a separate ELF section and the linker can then safely GC unused
text and data sections from a compile unit that gets pulled in. There's a
bit of a space cost due to having those separate sections, but it ends up
being a huge win in disk space on my personal release driver builds:
- i965_dri.so -213k
- x86 gallium dri.so -430k
- libvulkan_intel.so -272k
- aarch64 gallium dri.so -330k
- libvulkan_freedreno.so -783k
No difference on iris drawoverhead -compat -test 1 on my skylake (n=60)
Effect on debugoptimized build times (n=5)
touch nir_lower_io.c build time (bfd) +15.999% +/- 3.80377%
touch freedreno fd6_gmem.c build time (bfd) +13.5294% +/- 4.86363%
touch nir_lower_io.c build time (lld) no change
touch freedreno fd6_gmem.c build time (lld) +2.45375% +/- 2.2383%
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5739 >
2020-07-17 23:56:17 +00:00
Alyssa Rosenzweig
610af7e1ac
panfrost: Enable FP16 by default
...
I see no reason to hide this. The small hit in cycle count is offset in
practice by the increase in thread count. So let's ship it and get some
testing.
If this regresses a workload:
1. Open an issue on the tracker and attach an apitrace.
2. In the meantime set PAN_MESA_DEBUG=nofp16 to override.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5960 >
2020-07-17 23:37:13 +00:00
Rob Clark
e5169b1ca1
gitlab-ci: re-enable all a630 jobs
...
I haven't noticed tftp boot issues in last few days, not sure if they
where just a fluke on Mon or if it is somehow related to # of jobs we
run (ie. having more of the c630 runners powered up and running more
of the time).
Let's turn them back on and see what happens.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5952 >
2020-07-17 23:21:12 +00:00
Eric Anholt
4080f8bf2b
freedreno/a2xx: Fix compiler warning in disasm.
...
warning: converting a packed ‘instr_cf_t’ {aka ‘union <anonymous>’}
pointer (alignment 1) to a ‘uint16_t’ {aka ‘short unsigned int’} pointer
(alignment 2) may result in an unaligned pointer value
[-Waddress-of-packed-member]
We may know that we'll only ever have aligned instr_cf_ts, but gcc
doesn't.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5955 >
2020-07-17 21:47:32 +00:00
Tomeu Vizoso
cf55abe750
gitlab-ci: Re-add kernels for bare-metal
...
I mistakenly removed what I thought were remnants of when Freedreno used
LAVA for their DUTs. lava_arm.sh is used for baremetal, so re-add that
code.
Fixes: dcd171f5e9 ("gitlab-ci: More stable URL for kernel and ramdisk artifacts, for LAVA")
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5839 >
2020-07-17 20:23:16 +02:00
Icecream95
2aa507f87a
nir: Set the alignment for SSBO lowering
...
The alignment can just be copied from the source intrinsic.
Fixes the assertion
nir_intrinsic_align_offset(instr) < nir_intrinsic_align_mul(instr)
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5949 >
2020-07-17 18:03:50 +00:00
Eric Anholt
d735f075a6
intel/perf: Move perf query register programming to static tables.
...
And now that they're static tables, we don't need to ralloc a copy in
non-shared memory.
Saves ~210k in the built intel drivers.
Bug: https://bugs.chromium.org/p/chromium/issues/detail?id=1048434
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5829 >
2020-07-17 17:44:17 +00:00
Eric Anholt
d4e56930c2
intel/perf: Fix unused var warning in release builds.
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5829 >
2020-07-17 17:44:17 +00:00
Eric Anholt
afe07c7fa7
intel: Fix release-build warnings about sf_entry_size.
...
In one side of the ifdef it's only used in an assert.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5829 >
2020-07-17 17:44:17 +00:00
Erik Faye-Lund
086f760974
zink: use ralloc for spirv_builder as well
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5954 >
2020-07-17 17:33:35 +00:00
Erik Faye-Lund
810bf7d32b
zink: pass mem_ctx to ralloc_size-call
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5954 >
2020-07-17 17:33:35 +00:00
Erik Faye-Lund
35beb938fc
zink: use ralloc for plain malloc-calls
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5954 >
2020-07-17 17:33:35 +00:00
Erik Faye-Lund
12b324b30c
zink: use ralloc in nir-to-spirv
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5954 >
2020-07-17 17:33:34 +00:00
Rhys Perry
56d9bcdded
radv: enable more float_controls features
...
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/5773 >
2020-07-17 16:40:47 +00:00
Rhys Perry
23631ddd4d
aco: set tcs_in_out_eq=false if float controls of VS and TCS stages differ
...
Otherwise, we might have both VS and TCS code in the same block but float
controls are set per-block.
We also rely on VS code not dominating TCS code for the optimizer to work
correctly.
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/5773 >
2020-07-17 16:40:47 +00:00
Rhys Perry
b36950ad2c
aco: fix nir_op_f2f16_rtne with non-default rounding modes
...
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/5773 >
2020-07-17 16:40:47 +00:00
Rhys Perry
d14f4faa13
aco: flush denormals before fp16 fabs/fneg if needed
...
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/5773 >
2020-07-17 16:40:47 +00:00
Rhys Perry
305cffa22b
aco: use s_round_mode/s_denorm_mode
...
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/5773 >
2020-07-17 16:40:47 +00:00
Icecream95
ca44c009b5
panfrost: Set depth_enabled when stencil is enabled
...
Fixes square circles in the KiCad 3D viewer.
v2: Cleanup a bit, add a comment, and handle the fs->writes_stencil case
to be pedantic (Alyssa).
Reported-by: Urja Rannikko <urjaman@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5946 >
2020-07-17 16:28:52 +00:00
Samuel Pitoiset
2b796c7685
radv: return better Vulkan error codes when VkQueueSubmit() fails
...
The driver shouldn't abort when a CS submission fails.
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/5876 >
2020-07-17 17:25:15 +02:00
Samuel Pitoiset
1829bdd0da
radv: improve the error messages when a CS submission failed
...
While we are at it, do not duplicate the error messages for the
three different submission paths.
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/5876 >
2020-07-17 17:25:13 +02:00
Samuel Pitoiset
93047f6888
radv: remove one useless goto in radv_queue_submit_deferred()
...
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/5876 >
2020-07-17 17:25:11 +02:00
Icecream95
01147481f9
panfrost: Report TEXTURE_BUFFER_OBJECTS cap when gl3 flag set
...
OpenGL 3.3 is now reported again when PAN_MESA_DEBUG=gl3 is set.
Fixes: 96fa8d70bc ("panfrost: Report CAPs more honestly")
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5947 >
2020-07-17 15:05:21 +00:00
Icecream95
4e986568b8
nir: Fix lower_two_sided_color when the face is an input
...
Fixes the two-sided-lighting and vertex-program-two-side piglit tests
on Panfrost.
v2: Use an existing variable for gl_FrontFacing if present.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Tested-by: Urja Rannikko <urjaman@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5915 >
2020-07-17 14:50:26 +00:00
Icecream95
314ba5e174
nir: Add a face_sysval argument to nir_lower_two_sided_color
...
This is needed for handling drivers that use an input for loading the
face, for example Panfrost with Midgard GPUs.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Tested-by: Urja Rannikko <urjaman@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5915 >
2020-07-17 14:50:26 +00:00
Icecream95
2a6db94b05
panfrost: Do per-sample shading when outputs are read
...
Fixes dEQP-GLES31.functional.blend_equation_advanced.msaa.*
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5930 >
2020-07-17 14:34:47 +00:00
Icecream95
c20d166b4e
pan/mdg: Do per-sample framebuffer loads
...
EXT_shader_framebuffer_fetch requires the fetched value to be per-sample, so we
need to load the sample id when in a fragment shader.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5930 >
2020-07-17 14:34:47 +00:00
Icecream95
25747cea67
panfrost: Rename lower_store to is_blend in pan_lower_framebuffer
...
The bool will be used for deciding whether to do a per-sample load.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5930 >
2020-07-17 14:34:47 +00:00
Icecream95
4a8ad1e08f
pan/mdg: Don't disassemble blit shaders
...
There are a lot of them and they are mostly uninteresting, so don't
disassemble them or print shader-db results.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5948 >
2020-07-17 09:37:31 -04:00
Michel Dänzer
3f8656401b
gitlab-ci: Only trigger test-docs job automatically for MRs
...
Follow-up to
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5898 .
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5918 >
2020-07-17 10:25:54 +00:00
Elie Tournier
575ab303a8
virgl: set PIPE_CAP_BLEND_EQUATION_ADVANCED
...
Signed-off-by: Elie Tournier <elie.tournier@collabora.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516 >
2020-07-17 06:19:16 +00:00
Elie Tournier
a0f42b89a1
virgl: Encode barrier for blend_equation_advanced
...
Signed-off-by: Elie Tournier <elie.tournier@collabora.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516 >
2020-07-17 06:19:16 +00:00
Elie Tournier
a026364b55
virgl: Use alpha_src_factor to store blend_equation_advenced value
...
Signed-off-by: Elie Tournier <elie.tournier@collabora.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516 >
2020-07-17 06:19:16 +00:00
Elie Tournier
0ee1a67f3c
glsl_to_ir: do lower_blend_equation if PIPE_CAP_FBFETCH
...
Signed-off-by: Elie Tournier <elie.tournier@collabora.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516 >
2020-07-17 06:19:16 +00:00
Elie Tournier
d0df56ccd1
st: expose KHR_blend_equation_advanced if PIPE_CAP_BLEND_EQUATION_ADVANCED
...
With virgl, we want to expose KHR_blend_equation_advanced even if EXT_shader_framebuffer_fetch
is not available.
Signed-off-by: Elie Tournier <elie.tournier@collabora.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516 >
2020-07-17 06:19:16 +00:00
Elie Tournier
377731ec1b
gallium: Add PIPE_CAP_BLEND_EQUATION_ADVANCED
...
Signed-off-by: Elie Tournier <elie.tournier@collabora.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516 >
2020-07-17 06:19:16 +00:00
Elie Tournier
57174c9102
virgl: Reserved last caps of capability_bits
...
This cap is used by virglrenderer but not by Mesa.
Signed-off-by: Elie Tournier <elie.tournier@collabora.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516 >
2020-07-17 06:19:16 +00:00
Elie Tournier
4f8fc0f066
glsl_to_tgsi: Set TGSI_PROPERTY_FS_BLEND_EQUATION_ADVANCED
...
In virgl, when fbfetch extention is not available but blend_equation_advanced is,
we didn't call lower_blend_equation_advanced. So we need to pass the blend value
to the host in order to recreate the shader correctly.
Signed-off-by: Elie Tournier <elie.tournier@collabora.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516 >
2020-07-17 06:19:16 +00:00
Elie Tournier
b3a3f7cca2
gallium: add TGSI_PROPERTY_FS_BLEND_EQUATION_ADVANCED
...
For virgl, we don't lower advanced equation to fbfetch
So we need to pass the blend equation info in the TGSI to the host
Signed-off-by: Elie Tournier <elie.tournier@collabora.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516 >
2020-07-17 06:19:16 +00:00
Erik Faye-Lund
30f4ccff5b
mesa: treat Color._AdvancedBlendMode as enum
...
Signed-off-by: Elie Tournier <elie.tournier@collabora.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516 >
2020-07-17 06:19:16 +00:00
Erik Faye-Lund
6ffa0e9254
mesa: do not use bitfields for advanced-blend state
...
Signed-off-by: Elie Tournier <elie.tournier@collabora.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516 >
2020-07-17 06:19:16 +00:00
Karol Herbst
c36aac542a
st/mesa: fix st_CopyPixels without support for stencil exports
...
Fixes: f611af3594 ("st/mesa: use fragment shader to copy stencil buffer")
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5940 >
2020-07-17 00:44:36 +00:00
Rhys Kidd
e7fd1ce9a2
nvc0_2d: Document SET_PIXELS_FROM_MEMORY_CORRAL_SIZE from rnndb
...
Present in both cl502d and cl902d.
Based on envytools commit 889f8fb4445863c19336c31dd13ecbdd3b19a196
Signed-off-by: Rhys Kidd <rhyskidd@gmail.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5922 >
2020-07-17 10:22:24 +10:00
Rhys Kidd
bc69e73415
nv50_2d,nvc0_2d: Document SET_PIXELS_FROM_MEMORY_SAFE_OVERLAP from rnndb
...
Present in both cl502d and cl902d.
Based on envytools commit 0b9d3e717828a06be6937395464c34dfc870a6dc
Signed-off-by: Rhys Kidd <rhyskidd@gmail.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5922 >
2020-07-17 10:22:24 +10:00
Alyssa Rosenzweig
912345840b
docs/features: Mark trivial missed feature
...
It's right there in GLES.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5943 >
2020-07-16 23:21:35 +00:00
Eric Engestrom
e0ef5a5cba
egl: mark the rest of the callbacks as mandatory or optional
...
Suggested-by: Frank Binns <frank.binns@imgtec.com >
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5861 >
2020-07-16 22:11:25 +00:00
Eric Engestrom
4dc322c4c6
egl: drop now empty egl_dri2_fallbacks.h
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5861 >
2020-07-16 22:11:25 +00:00
Eric Engestrom
bc38fe8425
egl: inline fallback for get_sync_values
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5861 >
2020-07-16 22:11:25 +00:00
Eric Engestrom
2e3eb0c90b
egl: inline fallback for create_wayland_buffer_from_image
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5861 >
2020-07-16 22:11:25 +00:00
Eric Engestrom
c5fb1fbc9b
egl: inline fallback for query_buffer_age
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5861 >
2020-07-16 22:11:25 +00:00
Eric Engestrom
90000b0264
egl: inline fallback for copy_buffers
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5861 >
2020-07-16 22:11:25 +00:00
Eric Engestrom
2d5f12ae3a
egl: inline fallback for post_sub_buffer
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5861 >
2020-07-16 22:11:25 +00:00
Eric Engestrom
1ba5075a7e
egl: inline fallback for swap_buffers_region
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5861 >
2020-07-16 22:11:25 +00:00
Eric Engestrom
7d5a13ebf3
egl: inline fallback for swap_buffers_with_damage
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5861 >
2020-07-16 22:11:25 +00:00
Eric Engestrom
b501ece6f6
egl: drop unused fallback function
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5861 >
2020-07-16 22:11:25 +00:00
Eric Engestrom
43e2d80849
egl: inline fallback for create_pbuffer_surface
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5861 >
2020-07-16 22:11:25 +00:00
Eric Engestrom
179e442f7a
egl: inline fallback for create_pixmap_surface
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5861 >
2020-07-16 22:11:25 +00:00
Rob Clark
81124d845e
driconf: allowlist/denylist
...
I think this is the one user facing use of blacklist/whitelist. But we
like all of our users, so lets be more inclusive.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5938 >
2020-07-16 21:56:08 +00:00
Icecream95
01d60d3d75
pan/decode: Open the dump file later
...
Opening the dump file in pandecode_jc instead of doing it in
pandecode_next_frame avoids creating zero sized files when
applications exit.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5931 >
2020-07-16 21:33:13 +00:00
Tomeu Vizoso
4dcbad476e
gitlab-ci: Run all of GLES3 tests for Panfrost
...
We have enough capacity now and Panfrost should be very near to GLES3
compliance.
v2: Update fails list (Alyssa)
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5932 >
2020-07-16 21:18:45 +00:00
Samuel Pitoiset
4e8d7ad8b0
radv: split fence into two parts as enum+union.
...
To be consistent with semaphores and for clean up.
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/5921 >
2020-07-16 21:04:37 +00:00
Samuel Pitoiset
56395a8b6d
radv: optimize creating signaled syncobj with amdgpu_cs_create_syncobj2()
...
This creates a syncobj and sets it as signaled with one ioctl
instead of two.
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/5921 >
2020-07-16 21:04:37 +00:00
Samuel Pitoiset
3b7cd734e8
radv: fix the error code when allocating a fresh imported syncobj fails
...
It can only be an OOM error.
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/5921 >
2020-07-16 21:04:37 +00:00
Samuel Pitoiset
dd795ee1df
radv: fix the error code when exporting a semaphore/fence fails
...
VK_ERROR_INVALID_EXTERNAL_HANDLE is not a valid Vulkan error code
for these functions and it's likely that too many objects are
created instead.
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/5921 >
2020-07-16 21:04:37 +00:00
Samuel Pitoiset
8aa9d0acb8
radv: fix destroying the syncobj when exporting a fence FD
...
It's invalid and the temporary syncobj was never actually destroyed.
Cc: 20.1 <mesa-stable@lists.freedesktop.org >
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/5921 >
2020-07-16 21:04:37 +00:00
Connor Abbott
b5a48a948a
tu: Enable VK_EXT_shader_stencil_export
...
This passes the grand total of 3 CTS tests (2 actually enabled due to
missing D32_SFLOAT_S8_UINT support) under
dEQP-VK.pipeline.shader_stencil_export.*
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5936 >
2020-07-16 20:49:20 +00:00
Connor Abbott
aeca92ed79
ir3: Handle gl_FragStencilRefARB
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5936 >
2020-07-16 20:49:20 +00:00
Connor Abbott
981608ad04
freedreno/a6xx: Add stencilref register info
...
Found by guessing.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5936 >
2020-07-16 20:49:20 +00:00
Alyssa Rosenzweig
40b99bb79e
panfrost: Revert "Disable frame throttling"
...
This reverts commit 4fee7b30c0 , which was
intended to be a temporary workaround for a leak introduced in
a65e29ccb2 ("gallium: simplify throttle implementation"). However, that
leak was then fixed in 023282a4f6 and we
forgot to revert this hack.
Closes : #2108
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858 >
2020-07-16 19:59:43 +00:00
Alyssa Rosenzweig
19da8121d6
panfrost: Enable Chromium
...
With the latest batch of fixes, Chromium works (including WebGL support,
although performance is still WIP).
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858 >
2020-07-16 19:59:43 +00:00
Alyssa Rosenzweig
96fa8d70bc
panfrost: Report CAPs more honestly
...
We're overreporting on some chips and underreporting on others. Let's be
more honest.
This exposes OpenGL ES 3.0 on Mali T760 through T860.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858 >
2020-07-16 19:59:43 +00:00
Alyssa Rosenzweig
afa4b32019
panfrost: Fix faults with RASTERIZER_DISCARD
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858 >
2020-07-16 19:59:43 +00:00
Alyssa Rosenzweig
6c6a8b2f07
panfrost: Honour cso->compare_mode
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858 >
2020-07-16 19:59:43 +00:00
Alyssa Rosenzweig
9addb82148
panfrost: Avoid integer underflow in rt_count_1
...
If rt_count = 0, this underflows to MAX_MRT. The hw doesn't seem to care
but it's semantically incorrect and confuses pandecode.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858 >
2020-07-16 19:59:43 +00:00
Alyssa Rosenzweig
77bb19eebd
panfrost: Abort on unsupported blit
...
Instead of silently failing.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858 >
2020-07-16 19:59:43 +00:00
Alyssa Rosenzweig
cce3d925d2
panfrost: Implement Z32F_S8 blits
...
Requires the ability to texture the stencil-only portion, and then
u_blitter kicks in for the rest.
v2: Fix dEQP-GLES31.functional.stencil_texturing.*
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858 >
2020-07-16 19:59:43 +00:00
Alyssa Rosenzweig
6ffebfbff8
panfrost: Fix sRGB clear colour packing
...
It should be sRGB transformed first, which the generic path handles but
the RGBA8 special path does not.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858 >
2020-07-16 19:59:43 +00:00
Alyssa Rosenzweig
721b5c6eef
panfrost: Set PIPE_CAP_MIXED_COLORBUFFER_FORMATS
...
Missed that this is needed, fixes fbo.completeness.*
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858 >
2020-07-16 19:59:43 +00:00
Alyssa Rosenzweig
a0003c329a
panfrost: Overhaul tilebuffer allocations
...
Based on the colour buffers in use, we need to select a tile size
allowing either 128-bits of storage per pixel or 512-bits. Based on the
size chosen, we scale the offsets into the tilebuffer. Likewise, we need
to calculate offsets based on bpp (with special cases) rather than
picking an average case.
Fixes regressions that otherwise would be caused by the next commit.
v2: Fix colour clears (Icecream95).
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858 >
2020-07-16 19:59:43 +00:00
Alyssa Rosenzweig
3d13870ee2
panfrost: Call util_blitter_save_fragment_constant_buffer_slot
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858 >
2020-07-16 19:59:43 +00:00
Dave Airlie
e16f59c316
llvmpipe: fix position offset interpolation
...
pos offset only applies to the gl_FragPos input, when I refactored
I messed that up, only use pos_offset for the position inputs
and use 0.5 otherwise.
This fixes:
GTF-GL45.gtf30.GL3Tests.fragment_coord_conventions.fragment_coord_conventions_multisample
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5926 >
2020-07-17 05:09:54 +10:00
Dave Airlie
87e27543fe
llvmpipe: fix stencil only formats.
...
Currently the test crashes with LLVM errors
Stored value type does not match pointer operand type!
store <8 x i32> %s_dst, <8 x i8>* %261
Change the stored type for 8-bit stencil formats.
Fixes:
GTF-GL45.gtf44.GL31Tests.texture_stencil8.texture_stencil8_gl44
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5926 >
2020-07-17 05:09:34 +10:00
Thong Thai
045711dc1c
radeonsi: use PIPE_FORMAT_P010 for 10-bit VP9 decoding
...
Signed-off-by: Thong Thai <thong.thai@amd.com >
Reviewed-by: Leo Liu <leoliu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5848 >
2020-07-16 17:52:20 +00:00
Rhys Perry
b85ef04324
aco: add add_interference() helper
...
This won't add interferences between spill ids of different types and will
exit early if there's already an interference.
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/5805 >
2020-07-16 16:22:57 +00:00
Rhys Perry
2c7554fe01
aco: use unordered_set for spill id interferences
...
Seems to be faster.
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/5805 >
2020-07-16 16:22:57 +00:00
Rhys Perry
47d7e1e662
aco: rewrite graph coloring in spiller
...
I don't think this is much of an optimization in the typical case, but for
very complex shaders this should work much better.
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/5805 >
2020-07-16 16:22:57 +00:00
Rhys Perry
5a941f4d6d
aco: fix underestimated pressure in spiller when a phi has a killed def
...
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/5805 >
2020-07-16 16:22:57 +00:00
Alyssa Rosenzweig
293f251871
panfrost: Use Midgard-specific reloads
...
v2: Be more explicit about sampler types. Prefer the term "load" to
"resolve" to match VK convention. Generate shaders for MRT 8x. Blit
shader generation adds about 6ms to startup cost. We could cache thes.
shaders to disk if we needed to (or indeed, ship binaries).
v3: Fallback on u_blitter on Bifrost so Bifrost continues to work.
KHR_partial_update support is mostly no-oped on Bifrost now, but that's
okay for now - compositors are still functional.
v4: Specialize on multisample state as well to enable reloads of MSAA
textures. This requires 2x the shader variants, so I assume we're up to
12ms startup cost for generation. Annoying. Also fix interactions with
depth- or stencil-only clears of combined depth-stencil surfaces.
v5: Cache to the device (screen) instead of the context, reducing
duplicated work in apps that create many contexts (e.g. Chromium)
v6: Squash in KHR_partial_update cleanup to fix intermediate
regressions on a few tests.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5824 >
2020-07-16 15:10:55 +00:00
Indrajit Kumar Das
f611af3594
st/mesa: use fragment shader to copy stencil buffer
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5836 >
2020-07-16 13:30:50 +00:00
Erik Faye-Lund
3af0711c40
mesa/main: use p_atomic_inc_return instead of locking
...
There's no good reason for using a mutex here, as we have a simpler
primitive; atomic integers. So let's use that instead, to simplify
things a bit.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5901 >
2020-07-16 10:49:22 +00:00
Yevhenii Kharchenko
a0f8439691
st/mesa: fix corrupted texture levels, when adding more levels than expected
...
Some of existing texture levels can be corruted,
after calling 'glTexImage' with param 'level' higher than
max expected value 'floor(log2(max(width, height, depth)))'.
To fix we prevent overwriting image buffer pointer
in 'st_texture_object', if it was already allocated
for multiple mip-levels storage.
Fixes piglit test: 'arb_copy_image add-illegal-levels'
Signed-off-by: Yevhenii Kharchenko <yevhenii.kharchenko@globallogic.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5785 >
2020-07-16 10:26:30 +00:00
Erik Faye-Lund
b8c0196116
gallium/util: do not use _MTX_INITIALIZER_NP on Windows
...
We already have another way of initializing these, so it's just a matter
of avoiding _MTX_INITIALIZER_NP here.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5902 >
2020-07-16 10:09:15 +00:00
Samuel Pitoiset
485ea7d711
radv/winsys: pass the buffer list via the CS ioctl for less CPU overhead
...
The legacy path requires one more ioctl to create the buffer
list and this is more costly for the CPU.
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/5899 >
2020-07-16 09:46:33 +02:00
Samuel Pitoiset
40bea60dcf
radv/winsys: replace alloca() by malloc() everywhere
...
To remove the mix of alloca() and malloc().
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/5899 >
2020-07-16 09:46:31 +02:00
Neil Roberts
97f8ec321b
v3d/compiler: Lower geometry output store base into offset src
...
When generating the VPM write instruction for geometry shader outputs,
emit_store_output_gs ends up adding the base and offset arguments
together with an ADD instruction. The addition was done at the VIR level
after scheduling so it always ends up right next to the corresponding
stvpm instruction. Most of the time the offset is constant but nothing
does any constant folding at the VIR level.
This patch makes it instead fold the addition into the offset at the NIR
level in v3d_nir_lower_io so that the NIR-level constant folding can get
rid of the addition most of the time.
v2: Use nir_iadd_imm to simplify the code. (Eric Anholt)
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5825 >
2020-07-16 08:48:06 +02:00
Marek Olšák
081691b5ae
radeonsi: prevent a gfx10_ngg_calculate_subgroup_info failure for TES+NGG GS
...
arb_tessellation_shader-tes-gs-max-output -small -scan 1 50 -auto -fbo
doesn't pass, but at least all shaders are compiled successfully.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5700 >
2020-07-16 04:04:52 +00:00
Dave Airlie
5714cd3433
ci: bump piglit checkout for dsa tests
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5896 >
2020-07-16 13:32:12 +10:00
Dave Airlie
854dbea567
mesa: change dsa texture error codes for GL 4.6
...
GL 4.6 changed error code for when the effective target of the
texture is illegal. Since it's not an illegal enum they modified
it to be an illegal operation.
However the CTS test for this is missing support for two cases,
I'm chasing that up, but I expect this will cause a CTS regression
for anyone who runs this test. I'm leaning on the side of being
compliant rather than passing the test until the test is fixed.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5896 >
2020-07-16 11:35:30 +10:00
Alyssa Rosenzweig
34a03109b8
panfrost: Extract panfrost_batch_reserve_framebuffer
...
We need to trigger it explicitly for reloads without draws (for Z^S
reload which is an edge case).
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5929 >
2020-07-15 22:19:37 +00:00
Alyssa Rosenzweig
5d0d8faaa6
panfrost: Track surfaces drawn per-batch
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5929 >
2020-07-15 22:19:37 +00:00
Alyssa Rosenzweig
64734c0947
panfrost: Set zs_samples as necessary
...
Fixes MSAA Z/S.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5929 >
2020-07-15 22:19:37 +00:00
Alyssa Rosenzweig
8225604fd5
panfrost: Handle per-sample shading
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5929 >
2020-07-15 22:19:37 +00:00
Alyssa Rosenzweig
080b751d4a
panfrost: Add rectangle subtraction algorithm
...
For better supporting KHR_partial_update.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5929 >
2020-07-15 22:19:37 +00:00
Alyssa Rosenzweig
e061bf004b
panfrost: Identify zs_samples field
...
For MSAA depth/stencil.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5929 >
2020-07-15 22:19:37 +00:00
Alyssa Rosenzweig
6088891ef7
panfrost: Include sample count in payload estimates
...
Otherwise we might not reserve enough space.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5929 >
2020-07-15 22:19:37 +00:00
Alyssa Rosenzweig
5c65a27adc
panfrost: Add MALI_PER_SAMPLE bit
...
For gl_SampleID reads.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5929 >
2020-07-15 22:19:37 +00:00
Alyssa Rosenzweig
adacf1f511
panfrost: Expose panfrost_get_blend_shader
...
It is needed to produce a blend shader for blits.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5929 >
2020-07-15 22:19:37 +00:00
Alyssa Rosenzweig
528e132d4f
panfrost: Force Z/S writeback
...
This is unfortunately necessary for conformance at this stage.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5929 >
2020-07-15 22:19:37 +00:00
Alyssa Rosenzweig
da2eed36f3
pan/mdg: Implement gl_SampleID
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5929 >
2020-07-15 22:19:37 +00:00
Alyssa Rosenzweig
b2749c141d
pan/mdg: Identify per-sample interpolation mode
...
So this is what .interp0 was this whole time.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5929 >
2020-07-15 22:19:36 +00:00
Alyssa Rosenzweig
59308a3a64
pan/mdg: Bump compiler RT maximum
...
We don't actually support MRT 8x yet but we would like to soon, so bump
it in the compiler.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5929 >
2020-07-15 22:19:36 +00:00
Roman Stratiienko
29849aca0f
Android: Fixes for Q and R
...
Fix Android-Q build:
- Use AOSP prebuilt bison by specifying $(BISON) variable
- Use AOSP prebuilt flex by specifying $(LEX) variable
Fix Android-R build:
- Add M4 environmet variable for Android R and higher (See [1])
[1] - 2bfffb9f48 :Changes.md;dlc=997661002af1282d938e88c3c723037e42e5d283
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Tested-by: Mauro Rossi <issor.oruam@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5894 >
2020-07-15 20:49:24 +00:00
Dave Airlie
2adb13f187
llvmpipe/format: fix snorm conversion
...
This fixes:
GTF-GL45.gtf33.GL3Tests.vertex_type_2_10_10_10_rev.vertex_type_2_10_10_10_rev_conversion
and
piglit
spec/arb_texture_view/rendering-formats/clear gl_rgba8_snorm as gl_r32f
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5820 >
2020-07-16 05:47:03 +10:00
Dave Airlie
75e01d01a5
gallivm/sample: always square rho before fast log2
...
The fast log2 works better if rho is squared, i.e.
fast_log2(sqrt(2)) == 0.4
0.5 * fast_log2(2) == 0.5
so just square rho, and always divide by 2 afterwards.
Fixes:
GTF-GL45.gtf30.GL3Tests.sgis_texture_lod.sgis_texture_lod_basic_lod_selection
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5820 >
2020-07-16 05:46:57 +10:00
Rhys Kidd
a9c9486106
nv50_2d: regenerate envytools-based rnndb headers
...
The headers hadn't been regenerated from envytools in a long time,
and there were a few minor divergences.
Based on envytools commit c20929ed0f3be18b8419f7332ee22d905feb6589
Among other things, rnndb has changed naming to G80/etc, for now
I've not tackled switching that over and replaced the nvidia
codenames back to the chip ids that mesa uses with the following:
$ sed -i 's/G80_2D/NV50_2D/g' rnndb/graph/g80_2d.xml.h
$ sed -i 's/GF100_2D/NVC0_2D/g' rnndb/graph/g80_2d.xml.h
No other modifications of the headergen'd headers was done, which
was helped by the differing #define's being unutilised presently.
Signed-off-by: Rhys Kidd <rhyskidd@gmail.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5920 >
2020-07-16 00:24:51 +10:00
Samuel Pitoiset
0859dcb57c
radv: destroy the base object if VkCreateInstance() failed
...
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/5868 >
2020-07-15 13:53:37 +02:00
Samuel Pitoiset
50fdefc025
radv: destroy the base object if VkAllocateCommandBuffers() failed
...
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/5868 >
2020-07-15 13:53:35 +02:00
Samuel Pitoiset
e5f2bf3697
radv: destroy the base object if VkCreateFence() failed
...
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/5868 >
2020-07-15 13:53:32 +02:00
Samuel Pitoiset
d25764d910
radv: destroy the base object if VkCreateSemaphore() failed
...
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/5868 >
2020-07-15 13:53:30 +02:00
Samuel Pitoiset
ce7a7aeecc
radv: destroy the base object if VkCreateEvent() failed
...
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/5868 >
2020-07-15 13:53:29 +02:00
Samuel Pitoiset
8ef52974cd
radv: destroy the base object if VkCreateBuffer() failed
...
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/5868 >
2020-07-15 13:53:27 +02:00
Samuel Pitoiset
852316494c
radv: destroy the base object if VkCreateImage() failed
...
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/5868 >
2020-07-15 13:53:26 +02:00
Samuel Pitoiset
2e5968023f
radv: destroy the base object if VkCreateRenderPass*() failed
...
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/5868 >
2020-07-15 13:53:21 +02:00
Samuel Pitoiset
0eec81d019
radv: destroy the base object if VkCreateQueryPool() failed
...
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/5868 >
2020-07-15 13:53:19 +02:00
Pierre-Eric Pelloux-Prayer
25baceafd3
mesa/st: release debug_output after destroying the context
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3230
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2218
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5789 >
2020-07-15 09:13:51 +00:00
Pierre-Eric Pelloux-Prayer
7f0b6a5df8
mesa: add bool param to _mesa_free_context_data
...
The param controls whether _mesa_destroy_debug_output should be called or not.
No functional changes; this will be used by the next commit.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5789 >
2020-07-15 09:13:51 +00:00
Pierre-Eric Pelloux-Prayer
e6f7b4312f
mesa: rename _mesa_free_errors_data
...
Use the _mesa_init_XXX / _mesa_destroy_XXX pattern to clearly associate
the 2 functions.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5789 >
2020-07-15 09:13:50 +00:00
Michel Dänzer
cbdb87c678
gitlab-ci: Fix "triggered by Marge for a merge request" rule
...
The commit below changed the rule such that it accidentally also applied
to the non-MR pipelines created by Marge, resulting in Marge triggering
twice as many jobs as necessary.
Fixes: 549b4a3dd4 "gitlab-ci: Automatically run pipelines for Marge
Bot pre-merge only"
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5898 >
2020-07-15 08:54:15 +00:00
Anuj Phogat
559b26b7ee
intel/ehl: Add new PCI-IDs
...
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
2020-07-14 21:10:04 -07:00
Anuj Phogat
7cb2ace465
intel/ehl: Rename gen_device_info struct
...
Renaming makes it easier to relate a pciid with device configuration.
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
2020-07-14 21:10:04 -07:00
Anuj Phogat
13c70931f5
intel/ehl: Use macro GEN11_LP_FEATURES in device info
...
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
2020-07-14 21:10:04 -07:00
Anuj Phogat
e08ec89a19
intel/ehl: Use GEN11_URB_MIN_MAX_ENTRIES in device info
...
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
2020-07-14 21:10:04 -07:00
Icecream95
787c1ed209
panfrost: Dual source blend support
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5620 >
2020-07-15 01:30:00 +00:00
Icecream95
334dab0576
pan/mdg: Skip z/s combining for dual-source writes
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5620 >
2020-07-15 01:30:00 +00:00
Icecream95
85954ecfef
pan/mdg: Dual source blend input/writeout support
...
We write to r2, which is preseved through to the blend shader, from
where it is read. We won't worry about MRT to keep things simple.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5620 >
2020-07-15 01:30:00 +00:00
Icecream95
0ff6263534
pan/mdg: Add a nir pass to reorder store_output intrinsics
...
Real writeout stores, which break execution, need to be moved to after
dual-source stores, which are just standard register writes.
v2: Don't move stores forward, to avoid moving them to before where
their source is written.
v3: Only reorder past dual-source stores.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5620 >
2020-07-15 01:30:00 +00:00
Icecream95
58c0e1d005
gallium: Dual source support in blend_factor_to_shader
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5620 >
2020-07-15 01:30:00 +00:00
Icecream95
bedd4b44de
compiler: Add dual-source factors to blend_factor
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5620 >
2020-07-15 01:30:00 +00:00
Rob Clark
7f9039f0a8
freedreno/ir3: DCE unused arrays
...
Letting unused arrays stick around confuses RA, which assigns vreg names
to the unused arrays, but then does not precolor them (because they are
unused). This leads to an assert in ra_select_reg_merged():
skqp: ../src/freedreno/ir3/ir3_ra.c:589: name_to_instr: Assertion '!name_is_array(ctx, name)' failed.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3262
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5907 >
2020-07-14 23:26:15 +00:00
Rob Clark
2e4bab84fb
freedreno/a6xx: don't enable early-z/lrz if no z-test
...
But if shader explicitly asks for early-fragment-tests, obey it's
wishes.
Fixes a handful of skia (skqp) CTS fails (9.0_r12)
* gles_bug593049
* gles_circular_arcs_fill
* gles_circular_arcs_stroke_and_fill_square
* gles_clippedcubic2
* gles_complexclip2_path_bw
* gles_complexclip2_rrect_bw
* gles_complexclip3_complex
* gles_complexclip3_simple
* gles_crbug_691386
* gles_cubicclosepath
* gles_cubicpath
* gles_degeneratesegments
* gles_filltypespersp
* gles_innershapes_bw
* gles_inverse_paths
* gles_mixedtextblobs
* gles_onebadarc
* gles_quadclosepath
* gles_quadpath
* gles_rrect_clip_bw
* gles_scale-pixels
* gles_scaledstrokes
* gles_squarehair
* gles_strokes_zoomed
* gles_windowrectangles
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5907 >
2020-07-14 23:26:15 +00:00
Rob Clark
37e0e0791f
freedreno/ir3/ra: be better at failing
...
It doesn't happen much. But it's annoying when we hit an impossible
condition deep in RA 90% thru a long test run. Add some ra_assert()/
ra_unreachable() helper macros so we can bail cleanly and fail RA.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5907 >
2020-07-14 23:26:15 +00:00
Rob Clark
afadaaef39
freedreno/a6xx: bail instead of crash for compile fails
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5907 >
2020-07-14 23:26:15 +00:00
Rob Clark
b3ca55f5aa
freedreno/ir3: make compile fails more visible
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5907 >
2020-07-14 23:26:15 +00:00
Rob Clark
788792fc46
freedreno/ir3: add missing VS driver params
...
Some of these only used by turnip so far, this is just for clarity.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5907 >
2020-07-14 23:26:15 +00:00
Mike Blumenkrantz
5e9cd64f70
zink: enable tgsi texcoord pipe cap
...
this requires some modifications to the ntv slot remapping, as we definitely
don't want to reserve another 25% of the available slots for the (deprecated)
texcoord varyings
now we remap VARYING_SLOT_TEX[n] to the last available slots, which lets us avoid
needing to do permanent reservation, and we check to make sure that we haven't
seen the corresponding texcoord varying any time we emit a non-texcoord varying in
that slot
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5551 >
2020-07-14 20:48:17 +00:00
Karol Herbst
05362b075f
nouveau: expose HMM
...
v2: moved caps
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Pierre Moreau <dev@pmoreau.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5906 >
2020-07-14 19:59:12 +00:00
Karol Herbst
212f1ab40e
nvc0: support PIPE_CAP_RESOURCE_FROM_USER_MEMORY_COMPUTE_ONLY
...
v2: rework by adding a new buffer status
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5906 >
2020-07-14 19:59:12 +00:00
Karol Herbst
c0f7f833eb
gallium: add PIPE_CAP_RESOURCE_FROM_USER_MEMORY_COMPUTE_ONLY
...
With the current UAPI we only support user pointers from the compute
engines, so we need a way to express that in gallium.
v2: fix typos
v3: add allows_user_pointers helper
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Pierre Moreau <dev@pmoreau.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5906 >
2020-07-14 19:59:12 +00:00
Karol Herbst
08ceba943d
nouveau: enable HMM
...
v2: move declarations into libdrm
v3: fix typos
rework handling of how much memory to reserve
v4: remove unused parameter
unmap cutout on error and when the screen is destroyed
v5: move into screen_create
enable HMM only if CL gets enabled
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5906 >
2020-07-14 19:59:12 +00:00
Karol Herbst
1f37662c09
ci: bump libdrm to 2.4.102
...
Since version 2.4.101 there are only xz archives hence the bz2 to xz
change.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5906 >
2020-07-14 19:59:12 +00:00
Karol Herbst
96606552da
ci: need to install wget in order to download libdrm
...
Fixes: dcd171f5e9 ("gitlab-ci: More stable URL for kernel and ramdisk artifacts, for LAVA")
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5906 >
2020-07-14 19:59:12 +00:00
Jesse Natalie
0e90b3d0c4
nir: Support load/store of temps as scratch in nir_lower_explicit_io
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5889 >
2020-07-14 18:15:40 +00:00
Jesse Natalie
99aaf0ec18
nir: When nir_lower_vars_to_explicit_types is run on temps, update scratch_size
...
To allow interop with other scratch ops, append any remaining temp vars
to the end of any already-allocated scratch space.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5889 >
2020-07-14 18:15:40 +00:00
Jesse Natalie
bf138c1fd4
nir_lower_io: Add addr_format_is_offset helper
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5889 >
2020-07-14 18:15:40 +00:00
Jonathan Marek
d00487dd42
freedreno/regs: update a6xx PC regs
...
Update some registers in the 0x9800-0xa000 range.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5870 >
2020-07-14 18:00:06 +00:00
Jonathan Marek
2e32a20f7c
freedreno/regs: update a6xx VPC regs
...
Update some registers in the 0x9000-0x95ff range.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5870 >
2020-07-14 18:00:06 +00:00
Jonathan Marek
e883aa2585
freedreno/regs: update a6xx RB regs
...
Update some registers in the 0x8c00-0x8dff range.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5870 >
2020-07-14 18:00:06 +00:00
Jonathan Marek
a5c668518a
freedreno/regs: update a6xx GRAS registers
...
Update some registers in the 0x8000-0x87ff range.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5870 >
2020-07-14 18:00:06 +00:00
Jonathan Marek
be33d5859e
gitlab-ci: re-enable arm64_a630_vk
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5904 >
2020-07-14 17:15:06 +00:00
Jonathan Marek
f37f1a1a64
turnip: remove use of tu_cs_entry for draw states
...
The tu_cs_entry struct doesn't match well what we want for SET_DRAW_STATE
and CP_INDIRECT_BUFFER (requires extra steps to get iova and size), so
start phasing it out.
Additionally, use newly added tu_cs_draw_state where it doesn't require any
effort (it requires a fixed size, but gets rid of the extra end_sub_stream)
Note this also changes the behavior of CmdBindDescriptorSets for compute to
emit directly in cmd->cs instead of doing through a CP_INDIRECT.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5558 >
2020-07-14 17:00:08 +00:00
Jonathan Marek
7f24a69ace
turnip: fix inconsistencies with tu6_load_state_size
...
The next patch assumes the correct size is returned in tu6_emit_load_state.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5558 >
2020-07-14 17:00:07 +00:00
Jonathan Marek
bf997ca306
turnip: emit compute pipeline directly in CmdBindPipeline
...
There's no need to defer it, and can get rid DIRTY_COMPUTE_PIPELINE.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5558 >
2020-07-14 17:00:07 +00:00
Jonathan Marek
dce6cb1196
turnip: use DIRTY SDS bit to avoid making copies of pipeline load state ib
...
Some testing showed that the DIRTY bit has the desired behavior, so use it
to make things a bit simpler.
Note in CmdBindPipeline, having the TU_CMD_DIRTY_DESCRIPTOR_SETS behind a
if(pipeline->layout->dynamic_offset_count) was wrong.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5558 >
2020-07-14 17:00:07 +00:00
Mike Blumenkrantz
2e488305d6
zink: try to handle multisampled null buffers
...
I don't have any tests for this that I've run into yet, so this is mostly
just guessing
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5686 >
2020-07-14 16:40:12 +00:00
Mike Blumenkrantz
1ee598cfed
zink: handle empty attachments
...
create an empty buffer and surface to reuse for the fb attachment here
this fixes most of the arb_framebuffer_object tests in piglit
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5686 >
2020-07-14 16:40:12 +00:00
Icecream95
6493d29f21
pan/mdg: Fix non-debug compiliation
...
Fixes error when the assert is optimized out:
../src/panfrost/midgard/midgard_compile.c: In function ‘output_load_rt_addr’:
../src/panfrost/midgard/midgard_compile.c:1644:1: error: control reaches end of non-void function [-Werror=return-type]
}
Closes #3270
Fixes: 7781d2c2ea ("pan/mdg: Support MRT in output load lowering")
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5895 >
2020-07-14 15:54:41 +00:00
Michel Dänzer
89caa485f1
Revert https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4580
...
It broke the CI pipeline on master:
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/3604314
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/3604315
Revert for now, to allow other MRs to be merged.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5905 >
2020-07-14 17:08:10 +02:00
Karol Herbst
460300ed59
nouveau: expose HMM
...
v2: moved caps
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Pierre Moreau <dev@pmoreau.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4580 >
2020-07-14 14:05:00 +00:00
Karol Herbst
efa847dbc9
nvc0: support PIPE_CAP_RESOURCE_FROM_USER_MEMORY_COMPUTE_ONLY
...
v2: rework by adding a new buffer status
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4580 >
2020-07-14 14:04:59 +00:00
Karol Herbst
dd2cc5bc44
gallium: add PIPE_CAP_RESOURCE_FROM_USER_MEMORY_COMPUTE_ONLY
...
With the current UAPI we only support user pointers from the compute
engines, so we need a way to express that in gallium.
v2: fix typos
v3: add allows_user_pointers helper
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Pierre Moreau <dev@pmoreau.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4580 >
2020-07-14 14:04:59 +00:00
Karol Herbst
f67cd0bbd9
nouveau: enable HMM
...
v2: move declarations into libdrm
v3: fix typos
rework handling of how much memory to reserve
v4: remove unused parameter
unmap cutout on error and when the screen is destroyed
v5: move into screen_create
enable HMM only if CL gets enabled
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4580 >
2020-07-14 14:04:59 +00:00
Karol Herbst
6f4a6ed0e0
ci: bump libdrm to 2.4.102
...
Since version 2.4.101 there are only xz archives hence the bz2 to xz
change.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4580 >
2020-07-14 14:04:59 +00:00
Mike Blumenkrantz
e1e7584bde
zink: block resolve blits for depth/stencil buffers
...
"The format features of dstImage must contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT"
- vkCmdResolveImage spec
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5888 >
2020-07-14 12:57:22 +00:00
Mike Blumenkrantz
582669f07e
zink: block vkCmdBlitImage usage for multi sampled blits
...
this is prohibited by spec
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5888 >
2020-07-14 12:57:22 +00:00
Mike Blumenkrantz
ab78831baa
zink: try copy_region hook for blits where we can't do a regular blit or resolve
...
in cases where the formats match, we can likely just pass this through for now
fixes a ton of spec@!opengl 1.1@depthstencil-default_fb-blit piglit tests
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5888 >
2020-07-14 12:57:22 +00:00
Erik Faye-Lund
34fe561895
mesa/main: use call_once instead of open-coding
...
We already have a utility for this, so let's use that instead.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5879 >
2020-07-14 10:56:03 +00:00
Erik Faye-Lund
0a4aa612ba
mesa/main: factor out one-time-init into a helper
...
This will make the next commit a bit cleaner.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5879 >
2020-07-14 10:56:03 +00:00
Karol Herbst
38e3cbb639
gv100/ir: set ftz bit on floating point operations
...
Fixes Unigine Heavens ambient occlusion
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5881 >
2020-07-14 10:35:24 +00:00
Eric Engestrom
f95637f01a
meson: fix android vulkan build
...
Android doesn't have `pthread_cancel()` and is unlikely to ever
implement it [1], but `wsi_common_display.c` needs it (or an
alternative).
Let's just disable the platform on Android (as it used to be
before 448eb19158 ).
[1] https://android-review.googlesource.com/c/platform/bionic/+/1215779/1/docs/status.md
Fixes: 448eb19158 ("vulkan: automatically compile the `display` platform when available")
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Acked-by: Nataraj Deshpande <nataraj.deshpande@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5860 >
2020-07-14 09:34:54 +00:00
Michel Dänzer
3ed104b2aa
gitlab-ci: Drop dependencies:
...
Artifacts from jobs listed in needs: are downloaded by default, so
there's no need to list them in dependencies: as well (in fact,
https://docs.gitlab.com/ce/ci/yaml/#artifact-downloads-with-needs says
using dependencies: together with needs: is invalid, so we might have
been getting lucky...).
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5845 >
2020-07-14 08:51:14 +00:00
Michel Dänzer
aa2457fc13
gitlab-ci: Remove indirect dependencies from needs:
...
Tomeu discovered that GitLab 12.8 fixed the bug where jobs would
spuriously run even though some of their dependency jobs were skipped.
So we don't need to list indirect dependencies anymore.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5845 >
2020-07-14 08:51:14 +00:00
Connor Abbott
bf1376aba0
tu: Don't invalidate irrelevant state when changing pipeline
...
At least in the future this could let us avoid re-emitting gfx/cs
constants when the other changes. This also matches what the blob does.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5877 >
2020-07-14 10:23:58 +02:00
Connor Abbott
a16136796f
freedreno/a6xx: Add some documentation for shared consts
...
I'm not convinced we'll actually want to use this, and there may be
another enable bit in SP_UNKNOWN_AB00, but it's nice to at least write
this down in case we want to try using it in the future.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5877 >
2020-07-14 10:23:58 +02:00
Connor Abbott
e1fa740c4c
freedreno/a6xx: Rename and document HLSQ_UPDATE_CNTL
...
It turns out that this clears CP_LOAD_STATE6 packets, including
disabling any pending loads for SS6_INDIRECT/SS6_BINDLESS (these loads
don't actually happen until the draw itself, and I'm not sure if they
happen if the state is unused by the shader) and marking constants and
UBO descriptors loaded with SS6_DIRECT as invalid. It's used very
differently from HLSQ_UPDATE_CNTL on a4xx from whence the name came, and
unlike on a4xx it's not readable, so this probably doesn't line up with
HLSQ_UPDATE_CNTL on a4xx.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5877 >
2020-07-14 10:23:58 +02:00
Serge Martin
dad042b15a
clover: implements clEnqueueFillBuffer
...
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5897 >
2020-07-14 09:33:02 +02:00
Serge Martin
fea109d40f
clover: add more cl_mem_object_type to pipe_texture_target mapping
...
It avoid unnecessary CL_INVALID_VALUE return from clGetSupportedImageFormats
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5897 >
2020-07-14 09:33:02 +02:00
Samuel Pitoiset
ac642d8e6d
radv: add the custom border color BO to the list of buffers
...
The buffer was never added to the list of buffers. This might lead to
VM faults and GPU hangs.
Found this by luck.
Fixes: 57e796a12a ("radv: Implement VK_EXT_custom_border_color")
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/5884 >
2020-07-14 08:29:06 +02:00
Kristian H. Kristensen
684cfca748
freedreno/registers: Rename SP_2D_SRC_FORMAT
...
This register contains information about the destination format, so
let's rename to SP_2D_DST_FORMAT.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717 >
2020-07-14 06:12:22 +00:00
Kristian H. Kristensen
d5c82c3c5f
freedreno/a6xx: Split clear and blit texture into different functions
...
Now that most of the state programming is in shareable helpers, we can
split emit_blit_or_clear_texture into emit_blit_texture and
fd6_clear_surface.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717 >
2020-07-14 06:12:22 +00:00
Kristian H. Kristensen
f383b2c18a
freedreno/a6xx: Don't take pipe_blit_info in emit_blit_dst
...
We only need a few fields and we'll want to use this in cases where we
don't have a pipe_blit_info.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717 >
2020-07-14 06:12:22 +00:00
Kristian H. Kristensen
3158b8ba0a
freedreno/a6xx: Program RB_UNKNOWN_8C01 in setup helper
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717 >
2020-07-14 06:12:22 +00:00
Kristian H. Kristensen
3ee89e6d03
freedreno/a6xx: Move CP_SET_MARKER to setup helper
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717 >
2020-07-14 06:12:22 +00:00
Kristian H. Kristensen
3961fb7e28
freedreno/a6xx: Move REG_A6XX_SP_2D_SRC_FORMAT programming to helper
...
Rename helper to emit_blit_setup().
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717 >
2020-07-14 06:12:22 +00:00
Kristian H. Kristensen
03ad130bc9
freedreno/a6xx: Program A6XX_SP_2D_SRC_FORMAT_COLOR_FORMAT based on dst format
...
It's a badly named register...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717 >
2020-07-14 06:12:22 +00:00
Kristian H. Kristensen
5c3c0c5c7b
freedreno/a6xx: Make blit_control helper a little more helpful
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717 >
2020-07-14 06:12:22 +00:00
Kristian H. Kristensen
77d4aa7687
freedreno/a6xx: Enable FMT6_10_10_10_2_UNORM blitting
...
Now that we correctly program the _DEST version for the blit
destination and use float16 internal format, these formats work with
the blitter.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717 >
2020-07-14 06:12:22 +00:00
Kristian H. Kristensen
1a58596258
freedreno/a6xx: Separate stencil sysmem clear fix
...
We need to clear with PIPE_FORMAT_S8_UINT.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717 >
2020-07-14 06:12:22 +00:00
Kristian H. Kristensen
ab61393bc7
freedreno/a6xx: Don't emit src state when clearing
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717 >
2020-07-14 06:12:22 +00:00
Kristian H. Kristensen
416513d915
freedreno/a6xx: Consolidate computing blit_cntl
...
Compute the blit_cntl value in one place and group it with the
register writes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717 >
2020-07-14 06:12:22 +00:00
Kristian H. Kristensen
b36c675858
freedreno/a6xx: Program SP_2D_SRC_FORMAT outside blit loop
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717 >
2020-07-14 06:12:22 +00:00
Kristian H. Kristensen
556cd8f3e1
freedreno/a6xx: Set src and dst rects outside blit loop
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717 >
2020-07-14 06:12:22 +00:00
Kristian H. Kristensen
25bfc3b049
freedreno/a6xx: Don't set unknown bit when tiling differs
...
There is a bit here that's sometimes set, but it's generally not
related to whether tiling differs between src and dst. Let's stop
setting it until we know more.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717 >
2020-07-14 06:12:22 +00:00
Kristian H. Kristensen
def7e7426d
freedreno/a6xx: Split out src and dst setup helpers for blit
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717 >
2020-07-14 06:12:22 +00:00
Kristian H. Kristensen
bf0cf4c181
freedreno/a6xx: Move fd6_ifmt into fd6_blitter.c
...
It's only used in this file.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717 >
2020-07-14 06:12:22 +00:00
Kristian H. Kristensen
094b68fa72
freedreno/a6xx: Don't blit with R2D_RAW
...
Map all formats to a valid ifmt. FMT6_10_10_10_2_UNORM_DEST still
doesn't work on the blitter so keep that one on the u_blitter path.
Fixes
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.*
with FD_MESA_DEBUG=nogmem.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717 >
2020-07-14 06:12:22 +00:00
Jonathan Marek
53e36cf062
turnip: drop GS clear path
...
We didn't know how to write layer id without GS, since that's the only way
to do it through VK/GL, and the blob didn't implement this clear case (and
failed cases where it was absolutely necessary). However now we know how to
set it after some educated guesses and looking at tess/geom traces, so the
GS path can be dropped.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5790 >
2020-07-14 04:05:24 +00:00
Jonathan Marek
a1a80c38ea
turnip: clean up primitive output state
...
We only need to emit one set of primitive output registers. This may differ
from the blob, because it seems to try to allow using the same pipeline
with tess/geom enabled/disabled.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5790 >
2020-07-14 04:05:24 +00:00
Jonathan Marek
7748afbb1e
freedreno/regs: update primitive output related registers
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5790 >
2020-07-14 04:05:24 +00:00
Eric Anholt
5c1afd1ce4
freedreno/ir3: Fix uninit var warning.
...
It's a decent bit of analysis to see that the initialization will always
happen, and my compiler isn't doing so in at least one configuration.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5834 >
2020-07-14 03:38:53 +00:00
Eric Anholt
afb3f21c9f
freedreno/ir3_cmdline: Fix an uninit var warning.
...
You could only access entry through the initialized path, but we can clean
up the compiler warning by not keeping the other var.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5834 >
2020-07-14 03:38:53 +00:00
Hyunjun Ko
d941c6b74f
turnip: implement VK_EXT_private_data
...
Which is using base class's implementation.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5539 >
2020-07-14 02:48:30 +00:00
Hyunjun Ko
5d3fdbc52b
turnip: Use the common base object type and struct.
...
v2. Define new helper function to avoid duplicated a pair of function calls.
v3. Move new helper functions to vk_object.h and call them.
v4. Merge 2 commits to use commomn base object type and struct into one.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5539 >
2020-07-14 02:48:30 +00:00
Hyunjun Ko
cd85315dcb
tu: Fix wrong copies of sampler descriptor.
...
Found this with the following patch but it exists since adding ycbcr
sampler to the struct.
Fixes: d070a7ba0c
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5539 >
2020-07-14 02:48:30 +00:00
Hyunjun Ko
3a153137f4
vulkan: Adds helpers for vk_object (de)alloation and (de)initialization.
...
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5539 >
2020-07-14 02:48:30 +00:00
Rob Clark
f076c36367
gitlab-ci: reduce a630 runner load
...
They seem to be sometimes taking a while to boot, which is triggering CI
timeouts. (Possibly tftp server in bad shape?) Cut out non-essential
a630 CI jobs, and reduce the gles3/gles31 jobs to compensate.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5893 >
2020-07-13 19:03:39 -07:00
Eric Engestrom
b7b72681bd
meson/intel: add missing dep on git_sha1.h
...
Fixes: 805b32cab9 ("intel: add identifier for debug purposes")
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Dylan Baker <dylanx.c.baker@intel.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5882 >
2020-07-13 21:26:25 +00:00
Mike Blumenkrantz
d4f4546ada
zink: use type of src[0] for ntv store and load ops
...
in some cases (e.g., gl_ClipDistance) the nir_variable type doesn't match
the needed destination type, so we can simplify this code to just use
the destination type
fixes spec@glsl-1.10 @execution@interpolation@interpolation-none-gl_backcolor-smooth-vertex
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5852 >
2020-07-13 21:13:45 +00:00
Mike Blumenkrantz
359c938483
zink: add lengthy comment and remove assert from discard_if ntv pass
...
as in the comment, while we may want to try verifying that discard will be
the last instruction in a block, it's a bit problematic given that other nir
passes we're doing may insert instructions after a discard as part of e.g.,
nir_opt_dead_cf in the process of removing another block
fixes shaders@glsl-fs-discard-04
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5852 >
2020-07-13 21:13:45 +00:00
Mike Blumenkrantz
97ec109d8f
zink: handle ntv case of nested loop instructions more permissively
...
if the last instruction in a loop's body terminates a block, e.g., from
a nested loop with a jump as its final instruction, then no block will
have been started when returning to the original loop, and there's no need
to emit a branch
fixes shaders@glsl-vs-continue-in-switch-in-do-while
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5852 >
2020-07-13 21:13:45 +00:00
Mike Blumenkrantz
e40a77ea5d
zink: use right vulkan type for GL_PRIMITIVES_GENERATED queries
...
VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT includes
primitives which won't get drawn due to e.g., not enough vertices emitted
by geometry shader
fixes spec@glsl-1.50 @gs-emits-too-few-verts
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5533 >
2020-07-13 20:59:07 +00:00
Mike Blumenkrantz
b9b943793b
zink: only reset query pool on query end if current batch isn't in renderpass
...
reset can't be performed during a renderpass, so we need to defer that until a
time when we're definitely not in a renderpass, such as when we're starting a
new query or resuming a query
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5533 >
2020-07-13 20:59:07 +00:00
Mike Blumenkrantz
2c02ca2184
zink: properly handle query pool overflows
...
inline a query result value to each query object so we can stash the partial
result just before we do a pool reset, which will always happen during the
suspend/resume query mechanism that swaps active queries from a flushed batch
to the next batch
once (or if) the "real" call to fetch query results is called, we can dump the
inlined value into the fetch value and return the full results
fixes mesa/mesa#3000
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5533 >
2020-07-13 20:59:07 +00:00
Mike Blumenkrantz
510631ad76
zink: only stall during query destroy for xfb queries
...
xfb queries allocate vk buffer objects in the underlying driver which
can be deallocated while an xfb query is in-flight if we attempt to
defer it due to the way that gl xfb is translated to vk, so we need to
continue forcing this behavior in that case
for other query types, we can safely defer here until the current batch has
finished rather than block
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5533 >
2020-07-13 20:59:07 +00:00
Mike Blumenkrantz
27defcd20e
zink: use #define for number of queries per-pool
...
just to ensure we're consistent internally
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5533 >
2020-07-13 20:59:07 +00:00
Mike Blumenkrantz
3eea7fc88b
zink: rework query handling
...
this hooks up query objects to the batches that they're actively running on
(and the related fence) in order to manage the lifetimes of queries more
efficiently by calling vkCmdResetQueryPool only on init and when the query
pool has been completely used up. additionally, this resolves some vk spec
issues related to destroying pools with active queries
note that any time a query pool is completely used up, results are lost,
which is a very slight improvement on the previous abort() that was triggered
in that scenario
ref mesa/mesa#3000
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5533 >
2020-07-13 20:59:07 +00:00
Italo Nicola
2096903a05
panfrost: Fix outmods on int to float conversions
...
No shader-db changes (Alyssa).
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5883 >
2020-07-13 20:38:03 +00:00
Eric Engestrom
be8a8edb1e
docs/submittingpatches: add more than one Cc: mesa-stable example to the examples list
...
Starting with that very example :)
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5880 >
2020-07-13 19:33:25 +00:00
Alyssa Rosenzweig
da23a31726
docs/features: Update ASTC entries for Panfrost
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5856 >
2020-07-13 11:24:41 -04:00
Alyssa Rosenzweig
f34b8d3609
panfrost: Map PIPE_{DXT, RGTC, BPTC} to MALI_BCn
...
Mali (and Vulkan) uses D3D naming conventions for these formats where
Gallium/Mesa uses OpenGL names, but the formats are equivalent. sRGB is
communicated out-of-band on Mali; otherwise, it appears to be a 1:1
mapping.
On supported devices, this exposes GL_EXT_texture_compression_rgtc and
GL_ARB_texture_compression_bptc, so update features.txt
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5856 >
2020-07-13 11:24:41 -04:00
Alyssa Rosenzweig
6da405ca77
panfrost: Filter compressed texture formats
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5856 >
2020-07-13 11:22:00 -04:00
Alyssa Rosenzweig
407a052ced
panfrost: Pipe in compressed texture feature mask
...
So we can query at run-time as part of Gallium's checks.
v2: More explicit naming.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5856 >
2020-07-13 11:21:59 -04:00
Alyssa Rosenzweig
d5a9cd1b7d
panfrost: Add format codes for new compressed textures
...
Compressed formats line up with CONFIG_TEX_COMPRESSED_FORMAT_ENABLE
documented on
https://releases.linaro.org/archive/14.07/android/images/armv8-android-juno-lsk/
None of the new formats have been seen in the wild.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5856 >
2020-07-13 11:21:35 -04:00
Alyssa Rosenzweig
64608b4bcf
panfrost: Compact unused BO flag bits
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Suggested-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5859 >
2020-07-13 14:42:33 +00:00
Alyssa Rosenzweig
c6ebff3ecd
panfrost: Remove panfrost_bo_access type
...
It's just whether it writes or not, which is already implied by the
presence/absence of a writer. So no need to track explicitly.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5859 >
2020-07-13 14:42:33 +00:00
Alyssa Rosenzweig
62ec4e02f6
panfrost: Remove PAN_BO_DONT_REUSE
...
Equivalent to SHARED.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5859 >
2020-07-13 14:42:33 +00:00
Alyssa Rosenzweig
d6e3808e7e
panfrost: Remove PAN_BO_COHERENT_LOCAL
...
Ancient relic from kbase. Panfrost kernel doesn't need this.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5859 >
2020-07-13 14:42:33 +00:00
Alyssa Rosenzweig
baa1a8fbba
panfrost: Merge PAN_BO_IMPORTED/PAN_BO_EXPORTED
...
Always checked together and really signal the same property from
different perspectives.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5859 >
2020-07-13 14:42:33 +00:00
Alyssa Rosenzweig
0aa6de967b
panfrost: Index BOs from the BO map sparse array
...
Now we have a central store of them, so we may remove active_bo.
v2: Squash two patches together to prevent a race condition mid-series.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5859 >
2020-07-13 14:42:33 +00:00
Alyssa Rosenzweig
169dbb5b08
panfrost: Add a sparse array to map GEM handles to BOs
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5859 >
2020-07-13 14:42:33 +00:00
Alyssa Rosenzweig
37d89e0f93
panfrost: Fix write to free'd memory
...
No clue how this worked before.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Fixes: 82f18b713a ("panfrost: Keep track of active BOs")
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5859 >
2020-07-13 14:42:33 +00:00
Alyssa Rosenzweig
20dd37024b
panfrost: Fix fence leak
...
When overwriting the writer, we need to release the old reference.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Fixes: 2dad9fde50 ("panfrost: Start tracking inter-batch dependencies")
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5859 >
2020-07-13 14:42:33 +00:00
Rhys Perry
15a17fddad
aco: add 32-bit integer addition to can_swap_operands
...
fossil-db (Navi):
Totals from 167 (0.12% of 135946) affected shaders:
CodeSize: 484892 -> 482628 (-0.47%)
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/5695 >
2020-07-13 14:11:50 +00:00
Rhys Perry
ec9920e72b
radv: use lower_shuffle_to_swizzle_amd
...
Affects a few shaders in Detroit: Become Human and Doom Eternal.
fossil-db (Navi):
Totals from 9 (0.01% of 135946) affected shaders:
CodeSize: 31188 -> 25096 (-19.53%)
Instrs: 6136 -> 4999 (-18.53%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5695 >
2020-07-13 14:11:50 +00:00
Rhys Perry
7ba645d5cb
nir/lower_subgroups: add lower_shuffle_to_swizzle_amd
...
masked_swizzle_amd can be much faster than shuffle.
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/5695 >
2020-07-13 14:11:50 +00:00
Rhys Perry
9c317cb278
nir/lower_subgroups: pass options struct to lower_shuffle
...
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/5695 >
2020-07-13 14:11:50 +00:00
Rhys Perry
a6a731bea5
aco: implement <32-bit masked_swizzle_amd
...
This is needed since we will be lowering some 8/16-bit shuffles to
masked_swizzle_amd.
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/5695 >
2020-07-13 14:11:50 +00:00
Rhys Perry
d377fbf95d
aco: optimize some masked swizzles to DPP
...
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/5695 >
2020-07-13 14:11:50 +00:00
Rhys Perry
09f48de582
aco: read 0 from inactive lanes when using dpp
...
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/5695 >
2020-07-13 14:11:50 +00:00
Icecream95
c417172751
panfrost: Enable framebuffer fetch
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:11 +00:00
Alyssa Rosenzweig
317be5a16d
panfrost: Extend fetched framebuffer results
...
So NIR doesn't complain about invalid swizzles when reading a format
with less than 4 channels.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:11 +00:00
Alyssa Rosenzweig
d94584c5a6
panfrost: Always use SOFTWARE for pure formats
...
Otherwise we end up implicitly converting ints to floating point.
Likewise for floats which again have strange interactions.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:11 +00:00
Alyssa Rosenzweig
b9869e0e5e
panfrost: Generate shader variants on framebuffer bind
...
If we keyed the shader for the framebuffer.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:11 +00:00
Icecream95
a3952e927e
panfrost: Use f2fmp for framebuffer lowering conversions
...
This allows the conversion to be removed when the output is needed as
f32 anyway, for example for highp framebuffer fetch.
v2: Also change operations such as i2i16 to i2imp (Alyssa).
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:11 +00:00
Icecream95
d16d136734
panfrost: Stop keying on rt format when using native loads
...
Native loads are the same for any format, so we can use the same
shader variant for all framebuffer formats with a native load.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:11 +00:00
Icecream95
391ad72812
panfrost: Implement texture_barrier
...
This is needed for KHR_blend_equation_advanced with a blend
barrier.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:11 +00:00
Icecream95
2fbe7ca9d9
pan/mdg: Use a 32-bit ld_color_buffer op when needed
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:11 +00:00
Icecream95
18059f48f8
pan/mdg: Set the z/s store intrinsic base correctly
...
When EXT_shader_framebuffer_fetch is used and only depth and/or
stencil are written, we can't rely on the first output being to
depth/stencil.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:11 +00:00
Icecream95
7781d2c2ea
pan/mdg: Support MRT in output load lowering
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Icecream95
2fa60b70e0
pan/mdg: Handle non-blend framebuffer lowering
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Icecream95
ed4d2739fe
pan/mdg: Emit a tilebuffer wait loop when needed
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Icecream95
1e1eee992e
pan/mdg: Do the pan_lower_framebuffer pass later
...
The pass is useful for EXT_shader_framebuffer_fetch, not just blend
shaders, so we should do it with the other lowering passes in
midgard_compile_shader_nir.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Icecream95
e603248e07
panfrost: Add a bitset of render targets read by shaders
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Icecream95
75018f6495
panfrost: Add rt formats to shader state
...
load_output lowering will depend on the framebuffer formats.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Icecream95
f2eced9660
pan/mdg: Use the writeout tag for tilebuffer wait loops
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Icecream95
61dfc3c693
pan/mdg: Handle tilebuffer wait loops
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Alyssa Rosenzweig
b29027f9dc
panfrost: Clamp pure int pixels
...
We need saturate, not wrap semantic. Could optimize to a .isat/.usat
modifier but that's for future.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Icecream95
4141d26ee1
panfrost: Fix MALI_READS_TILEBUFFER
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Icecream95
2e3a589e6c
nir: Add a base value to load_raw_output_pan
...
This is the render target the read instruction uses.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Eric Engestrom
69ef180837
glx: drop always-true #ifdef
...
Meson already guarantees we have at least xdamage >= 1.1
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5862 >
2020-07-13 09:08:00 +00:00
Eric Engestrom
3900659051
egl/wayland: add missing newline between functions
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5862 >
2020-07-13 09:08:00 +00:00
Roman Stratiienko
ae5ac4cbb6
egl: Build surfaceless platform on Android
...
Fixes: a38e21d668 ("egl: always compile surfaceless")
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5866 >
2020-07-13 08:46:55 +00:00
Samuel Pitoiset
00ca9b8142
radv: advertise VK_EXT_extended_dynamic_state
...
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/5718 >
2020-07-13 08:31:54 +00:00
Samuel Pitoiset
b262284300
radv: add support for dynamic vertex input binding stride
...
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/5718 >
2020-07-13 08:31:54 +00:00
Samuel Pitoiset
9cc99baa4a
radv: add support for dynamic depth/stencil states
...
Out-of-order rasterization is disabled if a pipeline uses an
extended dynamic depth/stencil state because the driver doesn't
support enabling/disabling out-of-order dynamically.
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/5718 >
2020-07-13 08:31:54 +00:00
Samuel Pitoiset
e8a69b782d
radv: add support for dynamic and scissor count
...
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/5718 >
2020-07-13 08:31:54 +00:00
Samuel Pitoiset
d6c1e5051e
radv: add support for dynamic primitive topology
...
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/5718 >
2020-07-13 08:31:54 +00:00
Samuel Pitoiset
52bf1035a6
radv: add support for dynamic cull mode and front face
...
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/5718 >
2020-07-13 08:31:54 +00:00
Samuel Pitoiset
77499414d7
radv: declare new extended dynamic states
...
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/5718 >
2020-07-13 08:31:54 +00:00
Samuel Pitoiset
2693770806
radv: add VK_EXT_extended_dynamic_state but leave it disabled
...
To make sure the new prototypes are declared.
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/5718 >
2020-07-13 08:31:54 +00:00
Samuel Pitoiset
ac575f4215
radv: rework dynamic viewports/scissors support
...
The number of viewports/scissors is currently static because it can
only be specified at pipeline creation, but it doesn't hurt to
assume it's dynamic. Will help for supporting setting the number
of viewports/scissors dynamically.
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/5718 >
2020-07-13 08:31:54 +00:00
Samuel Pitoiset
7324977e42
radv: remove the secure compile support feature
...
Steam was the only client of this feature and it seems no longer used.
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/5869 >
2020-07-13 08:56:44 +02:00
Dave Airlie
59b4c623c9
nouveau: avoid LTO ODR warning (v2)
...
../src/gallium/drivers/nouveau/codegen/nv50_ir_target_nv50.cpp:69:8: warning: type ‘struct opProperties’ violates the C++ One Definition Rule [-Wodr]
69 | struct opProperties
| ^
../src/gallium/drivers/nouveau/codegen/nv50_ir_target_nvc0.cpp:88:8: note: a different type is defined in another translation unit
88 | struct opProperties
| ^
../src/gallium/drivers/nouveau/codegen/nv50_ir_target_nv50.cpp:77:17: note: the first difference of corresponding definitions is field ‘fShared’
77 | unsigned int fShared : 3;
| ^
../src/gallium/drivers/nouveau/codegen/nv50_ir_target_nvc0.cpp:96:17: note: a field with different name is defined in another translation unit
96 | unsigned int fImmd : 4; // last bit indicates if full immediate is suppoted
nvc0 code also has the same thing.
v2: rename both paths (Karol)
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5873 >
2020-07-13 12:17:21 +10:00
Karol Herbst
ac002b15d3
nvc0: set sampler index mode to independently on gv100 compute
...
We don't use linked texture/samplers. Fixes a bunch of CTS issues which
also seem to fail a bit randomly depending on what tests ran before and
such, so the list is incomplete.
Fixes:
KHR-GL46.texture_gather.*
KHR-GL46.compute_shader.resource-texture
KHR-GL46.multi_bind.dispatch_bind_samplers
KHR-GL46.multi_bind.dispatch_bind_textures
KHR-GL46.shading_language_420pack.binding_sampler_array
KHR-GL46.shading_language_420pack.binding_sampler_single
KHR-GL46.shading_language_420pack.binding_samplers
KHR-GL46.stencil_texturing.functional
KHR-GL46.texture_gather.incomplete-texture-last-comp
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Ben Skeggs <bskeggs@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5874 >
2020-07-13 03:26:46 +02:00
Samuel Pitoiset
55776a0ae0
radv: return VK_ERROR_DEVICE_LOST if wait-for-idle failed or expired
...
When ctx_wait_idle failed, something really bad happened likely
a GPU hang. Make sure to return the appropriate Vulkan error code
in this case.
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/5843 >
2020-07-12 13:17:42 +02:00
Jason Ekstrand
351b5137d7
spirv: Allow block-decorated struct types for constants
...
Whenever a struct type is decorated Block or BufferBlock we turn that
into a GLSL_TYPE_INTERFACE. Since these decorations can end up random
places, we should allow them for constants.
Closes : #3252
Fixes: 9d0ae777dd "spirv: Use interface type for block and buffer..."
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5855 >
2020-07-12 00:02:45 +00:00
Jason Ekstrand
81773b4b44
spirv: Skip phis in unreachable blocks in the second phi pass
...
Closes : #3253
Fixes: 22fdb2f855 "nir/spirv: Update to the latest revision"
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5855 >
2020-07-12 00:02:45 +00:00
Karol Herbst
e086f64d39
nvc0: set local mem size for compute on gv100
...
This is required when the shader uses local memory for arrays or spills.
I really dislike how it's done right now, but oh well, it's the same for
other gens.
Fixes CTS tests:
KHR-GL46.shading_language_420pack.binding_image_array
KHR-GL46.shading_language_420pack.length_of_compute_result
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5840 >
2020-07-11 19:57:18 +00:00
Jonathan Marek
248fbe1567
freedreno: fix layout pitchalign field not being set for imported buffers
...
The pitchalign value was being left to 0 and then wrapping around when
the base offset was subtracted in texture state.
Fixes: 979e7e3680 ("freedreno/layout: layout simplifications and pitch from level 0 pitch")
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5864 >
2020-07-11 13:53:13 -04:00
Mike Blumenkrantz
b8df1c43d2
nir: allow nir_lower_clip_halfz to run in geometry shaders
...
the final output of gl_Position needs this transform, and geometry shaders
must write this value for stream 0 if rasterization is enabled
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5851 >
2020-07-11 07:32:25 +00:00
Mike Blumenkrantz
3fe87a5836
nir: allow nir_lower_point_size_mov to run in geometry shader
...
geometry shaders may need to emit PSIZ as well
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5851 >
2020-07-11 07:32:24 +00:00
Yevhenii Kolesnikov
36abb0c691
intel/compiler: don't propagate cmp to add if add is saturated
...
From the Kaby Lake PRM Vol. 7 "Assigning Conditional Flags":
* Note that the [post condition signal] bits generated at
the output of a compute are before the .sat.
Paragraph about post_zero does not mention saturation, but
testing it on actual GPUs shows that conditional modifiers
are applied after saturation.
* post_zero bit: This bit reflects whether the final
result is zero after all the clamping, normalizing,
or format conversion logic.
For signed types we don't care about saturation: it won't
change the result of conditional modifier.
For floating and unsigned types there two special cases,
when we can remove inst even if scan_inst is saturated: G
and LE. Since conditional modifiers are just comparations
against zero, saturating positive values to the upper
limit never changes the result of comparation.
For negative values:
(sat(x) > 0) == (x > 0) --- false
(sat(x) <= 0) == (x <= 0) --- true
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2610
Signed-off-by: Yevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4167 >
2020-07-11 00:25:48 +00:00
Rhys Perry
19ca34ed27
aco: don't create phis with undef operands in the boolean phi pass
...
We can create better merge code is we pass on undef.
fossil-db (Navi):
Totals from 1208 (0.89% of 135946) affected shaders:
SGPRs: 66864 -> 66200 (-0.99%); split: -1.04%, +0.05%
SpillSGPRs: 1179 -> 1156 (-1.95%)
CodeSize: 6516672 -> 6469564 (-0.72%); split: -0.76%, +0.04%
Instrs: 1232680 -> 1220859 (-0.96%); split: -0.97%, +0.01%
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/3388 >
2020-07-10 22:36:14 +00:00
Rhys Perry
9a089baff1
aco: optimize boolean phis with uniform selections
...
Even though the boolean can be divergent, the control flow can be (at
least partially) uniform. For example, we don't have to create any
s_andn2_b64/s_and_b64/s_or_b64 instructions with this code:
a = ...
loop {
b = bool_phi a, c
if (uniform)
break
c = ...
}
d = phi c
fossil-db (Navi):
Totals from 5506 (4.05% of 135946) affected shaders:
SGPRs: 605720 -> 604024 (-0.28%)
SpillSGPRs: 52025 -> 51733 (-0.56%)
CodeSize: 65221188 -> 64957808 (-0.40%); split: -0.41%, +0.00%
Instrs: 12637881 -> 12584610 (-0.42%); split: -0.42%, +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/3388 >
2020-07-10 22:36:14 +00:00
Rhys Perry
f622e80494
aco: create better code for boolean phis with constant operands
...
fossil-db (Navi):
Totals from 6394 (4.70% of 135946) affected shaders:
SGPRs: 651408 -> 651344 (-0.01%)
SpillSGPRs: 52102 -> 52019 (-0.16%)
CodeSize: 68369664 -> 68229180 (-0.21%); split: -0.21%, +0.00%
Instrs: 13236611 -> 13202126 (-0.26%); split: -0.26%, +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/3388 >
2020-07-10 22:36:14 +00:00
Rhys Perry
47b0653d5d
aco: rework boolean phi pass
...
The pass should now create much less linear phis.
Removes piles of phis and lots of sgpr spilling from Detroit: Become
Human and parallel-rdp.
fossil-db (Navi):
Totals from 7654 (5.63% of 135946) affected shaders:
SGPRs: 796224 -> 787616 (-1.08%); split: -1.08%, +0.00%
VGPRs: 576164 -> 572116 (-0.70%); split: -0.70%, +0.00%
SpillSGPRs: 147695 -> 52258 (-64.62%)
SpillVGPRs: 2167 -> 2102 (-3.00%)
CodeSize: 80671680 -> 76240420 (-5.49%); split: -5.50%, +0.01%
Scratch: 137216 -> 135168 (-1.49%)
MaxWaves: 54235 -> 54707 (+0.87%)
Instrs: 15569429 -> 14820569 (-4.81%); split: -4.82%, +0.01%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Co-authored-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3388 >
2020-07-10 22:36:14 +00:00
Dave Airlie
05e23cb23d
llvmpipe/cs: fix image/sampler binding for compute
...
The compute shader dirtying is a bit wrong here, since we don't
have a second stage like for fragment shaders, so dirty the compute
shader whenever a sampler or image changes, (ssbo/contexts don't
needs this).
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5835 >
2020-07-10 22:04:27 +00:00
Dave Airlie
54232bee06
llvmpipe: flush resources on sampler view binding
...
The resource may have been written to as images previously.
KHR-GL45.shader_image_load_store.advanced-sync-imageAccess2
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5835 >
2020-07-10 22:04:27 +00:00
Dave Airlie
7582f4a49c
llvmpipe: denote NEW fs when images change.
...
The fragment shader needs to be regenerated here,
so flag the same as for sampler views.
This causes correct flushing:
KHR-GL46.shader_image_load_store.non-layered_binding
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5835 >
2020-07-10 22:04:27 +00:00
Karol Herbst
033e933348
nv50/ir/tgsi: move call to tgsi_scan_shader inside Source constructor
...
We actually need it there already, we just missed to move it.
Fixes: 66ed9792ed ("nv50: Clear nv50_ir_prog_info of dead and codegen specific variables")
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5849 >
2020-07-10 21:52:40 +00:00
Eric Engestrom
c905e48593
bin/gen_release_notes.py: drop new_features.txt when we release XX.Y.0
...
Otherwise, we (rightfully) get a warning about having new features in
a bugfix release.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5416 >
2020-07-10 20:03:21 +00:00
Eric Engestrom
7f61f4180b
introduce commit_in_branch.py script to help devs figure this out
...
It's been pointed out to me that determining whether a commit is present
in a stable branch is non-trivial (cherry-picks are a pain to search for)
and the commands are hard to remember, making it too much to ask.
This script aims to solve that problem; at its simplest form, it only
takes a commit and a branch and tells the user whether that commit
predates the branch, was cherry-picked to it, or is not present in any
form in the branch.
$ bin/commit_in_branch.py e58a10af64 fdo/20.1
Commit e58a10af64 is in branch 20.1
$ echo $?
0
$ bin/commit_in_branch.py dd2bd68fa6 fdo/20.1
Commit dd2bd68fa6 was backported to branch 20.1 as commit d043d24654
$ echo $?
0
$ bin/commit_in_branch.py master fdo/20.1
Commit 2fbcfe170bf50fcbcd2fc70a564a4d69096d968c is NOT in branch 20.1
$ echo $?
1
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5306 >
2020-07-10 20:01:32 +00:00
Lionel Landwerlin
40a6de176d
anv: fix uninitialized variable access
...
Found with valgrind :
==415016== Conditional jump or move depends on uninitialised value(s)
==415016== at 0x513C22B: anv_cache_lock (anv_pipeline_cache.c:346)
==415016== by 0x513C2A0: anv_pipeline_cache_search (anv_pipeline_cache.c:364)
==415016== by 0x50E7C88: lookup_blorp_shader (anv_blorp.c:38)
==415016== by 0x5D20A98: blorp_params_get_clear_kernel (blorp_clear.c:60)
==415016== by 0x5D23EFD: blorp_ccs_ambiguate (blorp_clear.c:1358)
==415016== by 0x50EDE25: anv_image_ccs_op (anv_blorp.c:1882)
==415016== by 0x555D92F: transition_color_buffer (genX_cmd_buffer.c:1179)
==415016== by 0x5598B71: cmd_buffer_begin_subpass (genX_cmd_buffer.c:5060)
==415016== by 0x559AB00: gen9_CmdBeginRenderPass (genX_cmd_buffer.c:5772)
==415016== by 0x11DACE: begin_render_pass (vr-test.c:375)
==415016== by 0x11DF55: set_state (vr-test.c:529)
==415016== by 0x11F7A1: clear (vr-test.c:1228)
v2: Don't break external sync feature
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5823 >
2020-07-10 17:54:35 +00:00
Lionel Landwerlin
e3ddba7324
iris: fix fallback to swrast driver
...
The helper we use to query the kernel returns -1 if the getparam is
not supported.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: f402b7c576 ("iris: fail screen creation when kernel support is not there")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3188
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5838 >
2020-07-10 17:40:21 +00:00
Eric Engestrom
e00adef34a
egl: automatically compile the drm platform when available
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3161 >
2020-07-10 13:48:24 +00:00
Eric Engestrom
60ad006b27
meson: move xlib-lease block further down
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3161 >
2020-07-10 13:48:24 +00:00
Eric Engestrom
448eb19158
vulkan: automatically compile the display platform when available
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3161 >
2020-07-10 13:48:24 +00:00
Eric Engestrom
a38e21d668
egl: always compile surfaceless
...
It has no dependencies and costs virtually nothing to build. There is
no downside to enabling it unconditionally, so let's do just that.
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3161 >
2020-07-10 13:48:23 +00:00
Mike Blumenkrantz
e66e0c0c2d
u_prim_restart: handle user buffers in util_translate_prim_restart_ib()
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5806 >
2020-07-10 10:54:44 +00:00
mmenzyns
66ed9792ed
nv50: Clear nv50_ir_prog_info of dead and codegen specific variables
...
These variables are either not used in the code, only assigned but
never accessed, or only used inside codegen. Another reason is that this
patch will be preceding shader cache, and these variables are useless to
cache. Removing/moving them should make it clearer by removing the case something
from the structure is not cached.
Shader cache patch: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4264
Signed-off-by: Mark Menzynski <mmenzyns@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5697 >
2020-07-10 10:17:59 +00:00
Pierre-Eric Pelloux-Prayer
50d20dc055
ac/llvm: export ac_init_llvm_once in targets
...
If a program like mpv uses both radeon_dri.so (because --vo=gpu) and
radeonsi_drv_video.so (because --hwdec=vaapi) then LLVM will be inialized twice.
The commit exports the ac_init_llvm_once so there's only one instance of the
function.
See also 18b12bf533 ("targets: export radeon winsys_create functions to silence LLVM warning")
which implemented this workaround initially.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/1377
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5648 >
2020-07-10 11:57:11 +02:00
Pierre-Eric Pelloux-Prayer
8da237428c
bin/symbols-check.py: add --ignore-symbol argument
...
This will be used by radv to ignore 'the ac_init_llvm_once' symbol,
which is not part of vulkan-icd-symbols.txt but is required to be
exported to improve interop with radeonsi/vaapi.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5648 >
2020-07-10 11:57:11 +02:00
Pierre-Eric Pelloux-Prayer
51bdaf0b60
st/mesa: set compressed_data to NULL when freed
...
Reported-by: Karol Herbst <kherbst@redhat.com >
Fixes: b6db703e0f ("st/mesa: make texture views inherit compressed_data storage")
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Tested-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5821 >
2020-07-10 09:30:26 +02:00
Samuel Pitoiset
ca51f75f9d
aco: fix more validation errors from vgpr spill/restore code
...
It looks like the attempt to fix this in 1e791e51a6 was incomplete.
This fixes crashes with Devil May Cry 5 with a debug build.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5828 >
2020-07-10 08:28:33 +02:00
Timothy Arceri
1af1eb9f7b
gitlab-ci: Enable -Werror in meson-gallium job
...
It's warning-clean.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5799 >
2020-07-10 00:32:51 +00:00
Timothy Arceri
81317e2c14
lima: add missing break
...
Reviewed-by: Erico Nunes <nunes.erico@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5799 >
2020-07-10 00:32:51 +00:00
Timothy Arceri
38218ab7e2
lima: add missing fallthrough comments
...
Reviewed-by: Erico Nunes <nunes.erico@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5799 >
2020-07-10 00:32:51 +00:00
Timothy Arceri
745aeba623
etnaviv: add missing fallthrough comments
...
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5799 >
2020-07-10 00:32:51 +00:00
Jordan Justen
44b1f9c6ff
iris: Add missing break in switch in modifier_is_supported
...
The current fall-through doesn't cause a difference in code flow, but
I think we want a break here.
Fixes: 2305ab6938 ("iris: Refactor modifier_is_supported for gen12")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5618 >
2020-07-09 17:20:14 -07:00
Jonathan Marek
ffb6eb6d5d
freedreno/ir3: run nir_opt_loop_unroll in optimization loop
...
GL driver was relying on this being done by gallium, but there might be
new loops to unroll during optimizations and turnip needs it.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5818 >
2020-07-09 23:30:33 +00:00
Jonathan Marek
9c23afebbe
freedreno/ir3: fix setup_input for sparse vertex inputs
...
With turnip we can have sparse input variables like:
decl_var shader_in INTERP_MODE_NONE float @1 (VERT_ATTRIB_GENERIC1.x, 1, 0)
decl_var shader_in INTERP_MODE_NONE float @2 (VERT_ATTRIB_GENERIC1.y, 1, 0)
decl_var shader_in INTERP_MODE_NONE float @3 (VERT_ATTRIB_GENERIC1.w, 1, 0)
Example of a test fixed:
dEQP-VK.glsl.440.linkage.varying.component.vert_in.vec2.as_float_float_unused
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5818 >
2020-07-09 23:30:33 +00:00
Jordan Justen
8dfa072ed8
intel/compiler/fs: Still attempt simd32 when INTEL_DEBUG=no16 is used
...
If INTEL_DEBUG=no16 is used, then simd16 will not be attempted. This,
in turn prevents simd32 from running, because we attempt to skip
simd32 when simd16 fails to compile.
This change more accurately recognizes when we attempted simd16, but
simd16 failed.
One easy way to cause an issue is to set both no8 and no16. Before
this change, we would be left with no FS program, even though simd32
could still be generated in some cases.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5269 >
2020-07-09 15:44:57 -07:00
Jordan Justen
1a4a2f563b
intel/compiler/cs: Allow simd32 in some more cases with no8 and/or no16
...
If no16 was specified, and the shader can't run in simd8 due to the
local_size, then we need to generate a simd32 program.
If both no8 and no16 are specified, then we need to generate a simd32
program.
Rework:
* Drop update of `if` that would have changed `do32` to try simd32
even if simd16 spilled registers. (Caio)
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5269 >
2020-07-09 15:44:34 -07:00
Tomeu Vizoso
9418c8ec8d
gitlab-ci: Don't rebuild kernels and rootfs if they have been already built in mainline
...
Use the ones from mainline if possible to save cycles rebuilding the same files.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5822 >
2020-07-09 18:23:37 +00:00
Benjamin Tissoires
1a3eb43d5b
gitlab-ci: do not run full CI on scheduled pipelines
...
Currently, scheduled pipelines are only used to rebuild
the git-cache archive daily. There is no point in rebuilding
eveything, so ensure that any normal jobs are removed from
the scheduled pipelines.
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5804 >
2020-07-09 19:27:37 +02:00
Benjamin Tissoires
1639d3c2cd
gitlab-ci: update ci-fairy minio to latest upstream
...
the new ci-fairy minio on ci-templates can copy
data to/from the MinIO server with much less permissions.
Upgrading mesa to this commit will allow us to restrict the
git-cache bucket permission to only "fetch" objects, i.e.
not allow anybody to walk through the tree of any repo.
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5804 >
2020-07-09 19:26:45 +02:00
Alyssa Rosenzweig
b3fdd77385
panfrost: Report blend shader work count
...
This was going uninitialized, whoops!
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5827 >
2020-07-09 12:49:13 -04:00
Alyssa Rosenzweig
5247d67302
panfrost: Move panfrost_translate_texture_type
...
We need it in pan_job.c
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5827 >
2020-07-09 12:49:13 -04:00
Alyssa Rosenzweig
816af26f02
panfrost: Handle PIPE_FORMAT_S8_UINT
...
For wallpaper blits with separate stencil.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5827 >
2020-07-09 12:20:27 -04:00
Alyssa Rosenzweig
4c89148834
panfrost: Handle PIPE_FORMAT_X24S8_UINT
...
We can treat it as RGBA32UI and swizzle away everything but R, like the
blob does. Maybe not the most efficient thing in the world.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5827 >
2020-07-09 12:20:27 -04:00
Alyssa Rosenzweig
1fdeef5e4a
panfrost: Move scoreboarding routines to common
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5827 >
2020-07-09 12:03:08 -04:00
Alyssa Rosenzweig
7ec6ee4057
panfrost: Drop batch from scoreboard routines
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5827 >
2020-07-09 12:03:08 -04:00
Alyssa Rosenzweig
fa722887da
panfrost: Pass polygon_list to tiler init function
...
So it doesn't need to allocate it by itself.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5827 >
2020-07-09 12:03:08 -04:00
Alyssa Rosenzweig
31197c2c1b
panfrost: Factor out scoreboarding state
...
This is not Gallium-specific, so take it out of the batch.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5827 >
2020-07-09 12:03:08 -04:00
Alyssa Rosenzweig
c8d848b278
panfrost: Move pool routines to common code
...
We finally have it decoupled from Galliumisms (and OpenGLisms, indeed)
so we can share the file.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5794 >
2020-07-09 14:54:38 +00:00
Alyssa Rosenzweig
1d88f07820
panfrost: Drop Gallium-local pan_bo_create wrapper
...
We can handle pandecode in shared code now, which will matter for
tracing non-Gallium drivers.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5794 >
2020-07-09 14:54:38 +00:00
Alyssa Rosenzweig
ed1910dc68
panfrost: Move debug flags into the device
...
Removes random global state flying about which doesn't really work for
common code. We cleanup some debug messages while we're at it because
the mostly-unused DBG macro relies on magic state.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5794 >
2020-07-09 14:54:38 +00:00
Alyssa Rosenzweig
8958fbd29e
panfrost: Expose pool-based allocation API
...
Pass pools instead of batches, and rename in terms of pools instead of
transient memory for consistency while we're find-and-replacing.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5794 >
2020-07-09 14:54:38 +00:00
Alyssa Rosenzweig
34e0954f1d
panfrost: Track the device through the pool
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5794 >
2020-07-09 14:54:38 +00:00
Alyssa Rosenzweig
6ef7c05746
panfrost: Allocate pool BOs against the pool
...
Instead of against the owning batch, to decouple.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5794 >
2020-07-09 14:54:38 +00:00
Alyssa Rosenzweig
8882d6aad6
panfrost: Introduce pan_pool struct
...
As a first step towards separating pools from batches, let's collect
pool-related state together.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5794 >
2020-07-09 14:54:38 +00:00
Alyssa Rosenzweig
5d1bff290a
docs/features: Track Panfrost
...
Mark support for Panfrost with the PAN_MESA_DEBUG=gles3 flag set (which
exposes a few buggier features for GLES 3.0, but we're actually quite
close to conformance. I expect this to become default in a few weeks),
based on what's supported for Mali T860 (our flagship). Less features
are supported on Mali T720 due to h/w limitations, and Bifrost support
is very much still in the pipes but will support all this soon enough.
Closes : #255
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5791 >
2020-07-09 10:12:10 -04:00
Eric Engestrom
9497a1fbe7
docs: fix a bunch of typos
...
Saw a couple myself, and a quick round of vimspell showed a bunch more.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5814 >
2020-07-09 14:06:34 +00:00
Pierre-Eric Pelloux-Prayer
49d35f3d88
glsl: declare gl_Layer/gl_ViewportIndex/gl_ViewportMask as vs builtins
...
Otherwise a VS doing the following:
out gl_PerVertex {
vec4 gl_Position;
int gl_ViewportIndex;
};
cannot be compiled because of the following error:
"redeclaration of gl_PerVertex must be a subset of the built-in
members of gl_PerVertex"
v2: add GLSL_PRECISION_HIGH param to add_varying() for "gl_Layer" in
generate_fs_special_vars.
v3: add GLSL_PRECISION_HIGH param to add_varying() for "gl_Layer" in
generate_varyings.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2946
Tested-by: John Galt <johngalt@fake.mail >
Reviewed-by: Marek Olšák <marek.olsak@amd.com > (v3)
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com > (v3)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5167 >
2020-07-09 11:59:09 +00:00
Jonathan Marek
26b75daef5
turnip: fix active_desc_sets not being set for compute pipeline
...
This resulted in the load state being always empty. Its an optimization,
so it didn't result in any failures.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5816 >
2020-07-09 10:27:35 +00:00
Miklós Máté
ee99a7a1cf
docs: add some missing stuff to sourcetree.rst
...
I alphabetised some lists, but did not attempt to fix the inconsistent
formatting.
v2: added more info
v3: rework for the new format
Signed-off-by: Miklós Máté <mtmkls@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5367 >
2020-07-09 09:18:14 +00:00
Eric Engestrom
27b09d293b
docs: update calendar and link releases notes for 20.1.3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5811 >
2020-07-09 09:11:37 +00:00
Eric Engestrom
6b4aee78ae
docs: add release notes for 20.1.3
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5811 >
2020-07-09 09:11:37 +00:00
Pierre-Eric Pelloux-Prayer
1e3aeda528
glsl: only allow 32 bits atomic operations on images
...
EXT_shader_image_load_store says:
The format of the image unit must be in the "1x32" equivalence class
otherwise the atomic operation is invalid.
ARB_shader_image_load_store says:
We will only support 32-bit atomic operations on images
Fixes: fc0a2e5d01 ("glsl: add EXT_shader_image_load_store new image functions")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5688 >
2020-07-09 09:58:01 +02:00
Pierre-Eric Pelloux-Prayer
233af4a412
glsl: don't expose imageAtomicIncWrap for signed image
...
The spec says that it's only allowed for unsigned ones.
Same from imageAtomicDecWrap.
Fixes: fc0a2e5d01 ("glsl: add EXT_shader_image_load_store new image functions")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5688 >
2020-07-09 09:58:01 +02:00
Pierre-Eric Pelloux-Prayer
438392243f
ac/llvm: remove the -1 hack from ac_atomic_inc_wrap
...
To match the behavior of proprietary drivers.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5688 >
2020-07-09 09:58:01 +02:00
Pierre-Eric Pelloux-Prayer
0c8873d85d
glsl: reject size1x8 for image variable with floating-point data types
...
Fixes: 8d07d66180 ("glsl,nir: Switch the enum representing shader image formats to PIPE_FORMAT.")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5688 >
2020-07-09 09:58:01 +02:00
Tomeu Vizoso
315ac94107
gitlab-ci: Remove left-behind rules:
...
It's something that was added to ease development, but that was supposed
to be removed before merging.
It also causes problems when arm-related jobs aren't enabled, as
arm_build is needed by these jobs but in that case isn't there.
Also extend from .ci-run-policy.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5802 >
2020-07-09 09:19:25 +02:00
Samuel Pitoiset
40526451ca
radv: compute prim_vertex_count at draw time
...
In preparation for the dynamic topology state.
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/5801 >
2020-07-09 06:31:39 +00:00
Samuel Pitoiset
972081c688
radv: adjust IA_MULTI_VGT_PARAM.PARTIAL_VS_WAVE at draw time
...
In preparation for the dynamic topology state.
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/5801 >
2020-07-09 06:31:39 +00:00
Samuel Pitoiset
5f1b0f4b48
radv: adjust IA_MULTI_VGT_PARAM.WD_SWITCH_ON_EOP at draw time
...
In preparation for the dynamic topology state.
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/5801 >
2020-07-09 06:31:39 +00:00
Samuel Pitoiset
9f561feecc
radv: store the primitive topology hardware value in the pipeline
...
Will help for upcoming changes.
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/5801 >
2020-07-09 06:31:39 +00:00
Samuel Pitoiset
6f734324a5
radv: implement missing VK_ACCESS_MEMORY_{READ,WRITE}_BIT
...
From the Vulkan spec 1.2.146:
"VK_ACCESS_MEMORY_READ_BIT specifies all read accesses. It is
always valid in any access mask, and is treated as equivalent
to setting all READ access flags that are valid where it is
used."
"VK_ACCESS_MEMORY_WRITE_BIT specifies all write accesses.
It is always valid in any access mask, and is treated as
equivalent to setting all WRITE access flags that are valid
where it is used."
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3241
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/5807 >
2020-07-09 08:05:20 +02:00
Karol Herbst
02a57896f6
nv50/ir: fix memset on non trivial types warning
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Rhys Kidd <rhyskidd@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5819 >
2020-07-09 12:11:02 +10:00
Timothy Arceri
cd67e2c280
nine: remove unused var
...
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5819 >
2020-07-09 12:09:08 +10:00
Timothy Arceri
8f6d66d509
zink: fix missing fallthrough comment
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5819 >
2020-07-09 12:08:47 +10:00
Timothy Arceri
20dff7dc6b
v3d: remove redefine of VG(x)
...
Instead just depend on the one in v3d_packet_helpers.h
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5819 >
2020-07-09 12:08:19 +10:00
Timothy Arceri
03a5b3f6d5
freedreno: fix missing fallthrough comments
...
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5819 >
2020-07-09 12:07:37 +10:00
Bas Nieuwenhuizen
40e00c800c
amd/llvm: Mark pointer function arguments as 32-byte aligned.
...
Otherwise LLVM does not see the pointers as allowing speculative
loads.
The pipeline-db results are pretty wild, but mostly what is to be
expected from allowing more code movement in LLVM:
Totals from affected shaders:
SGPRS: 157728 -> 168336 (6.73 %)
VGPRS: 158628 -> 158664 (0.02 %)
Spilled SGPRs: 10845 -> 24753 (128.24 %)
Spilled VGPRs: 13 -> 13 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 8 -> 8 (0.00 %) dwords per thread
Code Size: 17189180 -> 17313712 (0.72 %) bytes
LDS: 204 -> 204 (0.00 %) blocks
Max Waves: 5700 -> 5687 (-0.23 %)
Wait states: 0 -> 0 (0.00 %)
This gives some boosts for shaders we can move a descriptor load
outside a loop.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3159 >
2020-07-08 23:47:06 +00:00
Marek Olšák
d2bd77eae4
glsl: don't validate array types in ir_dereference_variable
...
Fixes: 8d62969cfe - glsl: validate more stuff
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3245
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5813 >
2020-07-08 23:22:17 +00:00
Simon Ser
9ad19fff3e
radv: use bitshifts for debug enum values
...
Explicit values are getting out of hand.
Signed-off-by: Simon Ser <contact@emersion.fr >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5735 >
2020-07-08 21:39:09 +00:00
Jonathan Marek
979e7e3680
freedreno/layout: layout simplifications and pitch from level 0 pitch
...
This updates a3xx/a4xx/a5xx to fix the fetchsize to "PITCHALIGN" (called
"MINLINEOFFSET" by the a3xx docs), and some simplifications to make things
more like a6xx. Also similar simplifications for a2xx layout code.
The pitch can always be determined using a simple calculation from the base
level pitch, so don't pre-calculate a pitch for each mipmap level.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5796 >
2020-07-08 20:46:08 +00:00
Jonathan Marek
4b290b759a
freedreno: add a fd_resource_pitch helper
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5796 >
2020-07-08 20:46:08 +00:00
Jonathan Marek
344e764b01
freedreno/a2xx: fix compressed textures
...
Two problems:
* Multiply has higher priority than shift
* rsc->layout.format isn't initialized for a2xx
Fixes: 5a8718f01b ("freedreno: Make the slice pitch be bytes, not pixels.")
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5796 >
2020-07-08 20:46:08 +00:00
Eric Anholt
3021cb3215
docs: Document how to interact with docker containers.
...
There's some text in gitlab-ci.yml, but expand on things a bit here.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5510 >
2020-07-08 20:13:11 +00:00
Eric Anholt
21e6d67a2e
docs: Relax the expectations of HW CI farms.
...
We've been doing pretty well at around half an hour per pipeline, no need
to be too harsh.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5510 >
2020-07-08 20:13:11 +00:00
Eric Anholt
27c9272c3d
docs: Move the gitlab-ci docs to RST.
...
I tried not to edit too much meaning in the process, but I did shuffle
some stuff around to work as structured documentation.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5510 >
2020-07-08 20:13:11 +00:00
Eric Anholt
a2ca7e09fe
docs: Move the conformance and the CI docs to a top level Testing section.
...
They're related subjects, and deserve top level display.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5510 >
2020-07-08 20:13:11 +00:00
Eric Anholt
9af82b5026
docs: Move the current CI .rst doc to docs/ci/ and link to it from .gitlab-ci.
...
I want the docs to be discoverable next to the code, and sphinx insists
that all docs are under the top-level docs dir (sigh). We can't symlink
from that dir to .gitlab-ci because windows builds can't do symlinks, so
link back the other direction.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5510 >
2020-07-08 20:13:11 +00:00
Jason Ekstrand
29cba3b695
nir/validate: Don't abort() until after the shader has printed
...
In the case where SSA use/def chains are broken, NIR prints out a very
cryptic error and then aborts. This abort happens during validation
rather than after the print is complete, hiding any other errors that
may have been found. One might think, "So what? Fix your use/def issue
first." However, what makes this especially bad is that, when use/def
chains are broken, there's usually a much nicer error inline in the
shader that would have been printed had we not aborted early so the
current behavior simply ensures you get the most cryptic error possible
in an already difficult-to-debug case.
While we're at it, we remove the one other case of abort() which is in
the validation of phi instruction sources.
Reviewed-by: Rob Clark <robclark@freedesktop.org >
Tested-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5809 >
2020-07-08 19:51:58 +00:00
Marek Olšák
55cf97f56e
Revert "ac/surface: require that gfx8 doesn't have DCC in order to be displayable"
...
This reverts commit 7406ea37e6 .
Fixes: 7406ea37 "ac/surface: require that gfx8 doesn't have DCC in order to be displayable"
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3190
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5780 >
2020-07-08 19:16:15 +00:00
Mike Blumenkrantz
0ca7bd73c6
zink: translate gl_FragColor to gl_FragData before ntv to fix multi-rt output
...
according to EXT_multiview_draw_buffers, gl_FragColor outputs to all available
render targets when used, so we need to translate this to gl_FragData[PIPE_MAX_COLOR_BUFS]
in order to correctly handle more than one color buffer attachment
this fixes the rest of spec@arb_framebuffer_object tests in piglit
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5687 >
2020-07-08 14:51:34 +00:00
Mike Blumenkrantz
1fd3563025
nir: add lowering pass for fragcolor -> fragdata
...
this is needed for zink and other drivers which can support fragcolor but
not fragdata and want to correctly handle EXT_multiview_draw_buffers
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5687 >
2020-07-08 14:51:34 +00:00
Erik Faye-Lund
44da0f067c
zink: expose depth-clip if supported
...
We already set up the state as needed, so it should only be a matter of
exposing it.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5495 >
2020-07-08 14:43:02 +00:00
Bas Nieuwenhuizen
ffb8020f6e
radv: Use correct semaphore handle type for Android import.
...
Coincidentally got a bugreport of a game that is broken without the import
fix below, but it turns out I made a copy-paste error as well ..
In good news it is clearly tested now.
Fixes: ad15149958 "radv: Set handle types in Android semaphore/fence import."
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5783 >
2020-07-08 14:21:16 +00:00
Samuel Pitoiset
84ed2793eb
radv: set depth/stencil enable values correctly for the meta clear path
...
They are booleans.
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/5803 >
2020-07-08 12:41:10 +00:00
Jonathan Marek
fcac0b4fc9
freedreno/regs: document CS shared storage size bit
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5797 >
2020-07-08 11:33:42 +00:00
Neil Roberts
deefebc55b
v3d/compiler: Fix sorting the gs and fs inputs
...
ntq_setup_fs_inputs and ntq_setup_gs_inputs sort the inputs according to
the driver location. This input array is then used to calculate the VPM
offset for the outputs in the previous stage. However, it wasn’t taking
into account variables that are packed into a single varying slot. In
that case they would have the same driver_location and are
distinguished by location_frac.
This patch makes it additionally sort by location_frac when the driver
locations are equal. This can happen when the compiler packs varyings
that are sized less than vec4. Without this fix, when the VPM is used to
transmit data free-form between the stages (such as VS->GS) then it
would end up writing to inconsistent locations.
Fixes dEQP tests such as:
dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.
vertex_geometry_fragment.default_framebuffer_bbox_equal
Fixes: 5d578c27ce ("v3d: add initial compiler plumbing for geometry shaders")
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5787 >
2020-07-08 07:39:47 +00:00
Timothy Arceri
3cb2438284
panfrost: add some missing fallthrough comments to bi_pack.c
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5766 >
2020-07-08 03:04:03 +00:00
Timothy Arceri
2286c9ac21
panfrost: hide more unused code in bi_lower_combine.c
...
Fixes some unused-function warnings.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5766 >
2020-07-08 03:04:03 +00:00
Timothy Arceri
f35283d32e
panfrost: add some missing fallthrough comments
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5766 >
2020-07-08 03:04:03 +00:00
Timothy Arceri
7ccf258063
nouveau/nvc0: silence maybe-uninitialized warning
...
gcc is not smart enough to see that
enum pipe_format dst_fmt;
...
switch (data_size) {
case 16:
dst_fmt = PIPE_FORMAT_R32G32B32A32_UINT;
...
break;
case 12:
/* RGB32 is not a valid RT format. This will be handled by the pushbuf
* uploader.
*/
break;
case 8:
dst_fmt = PIPE_FORMAT_R32G32_UINT;
...
break;
case 4:
dst_fmt = PIPE_FORMAT_R32_UINT;
...
break;
case 2:
dst_fmt = PIPE_FORMAT_R16_UINT;
...
break;
case 1:
dst_fmt = PIPE_FORMAT_R8_UINT;
break;
default:
assert(!"Unsupported element size");
return;
}
...
if (data_size == 12) {
...
return;
}
Does not result in dst_fmt being uninitialized when it is used so
lets just initialise it to silence the warning.
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5766 >
2020-07-08 03:04:03 +00:00
Timothy Arceri
6bec54dd3e
iris: silence maybe-uninitialized for stc_dst_aux_usage variable
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5766 >
2020-07-08 03:04:03 +00:00
Timothy Arceri
01c04a42a6
iris: fix maybe-uninitialized warning for initial_state variable
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5766 >
2020-07-08 03:04:03 +00:00
Timothy Arceri
bba766d85d
radeonsi: fix SI_NUM_ATOMS
...
This is not used anywhere so maybe we should just drop it instead.
Fixes: 639b673fc3 ("radeonsi: don't use an indirect table for state atoms")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5766 >
2020-07-08 03:04:03 +00:00
Timothy Arceri
4686a95621
r600/radeonsi: silence zero-length-bounds gcc warnings
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5766 >
2020-07-08 03:04:03 +00:00
Jonathan Marek
f472c98443
freedreno/ir3: add support for a650 tess shared storage
...
A650 uses LDL/STL, and the "local_primitive_id" in tess ctrl shader comes
from bits 16-21 in the header instead of 0-5.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5764 >
2020-07-08 02:30:23 +00:00
Marek Olšák
75b59bb1d6
gallium: add PIPE_SHADER_CAP_GLSL_16BIT_TEMPS for LowerPrecisionTemporaries
...
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746 >
2020-07-07 22:02:06 -04:00
Marek Olšák
6aea39641a
glsl: lower mediump temporaries to 16 bits except structures (v2)
...
Without this, NIR contains non-lowerable 32-bit phis for mediump variables.
Structures are not lowered yet.
v2: add the LowerPrecisionTemporaries option
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com > (v1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746 >
2020-07-07 22:02:06 -04:00
Alyssa Rosenzweig
7f00d4dac8
glsl: Handle 16-bit types in loop analysis
...
Fixes crash with mediump lowering in:
dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.basic_mediump_float_fragment
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746 >
2020-07-07 22:02:06 -04:00
Marek Olšák
63ab8d41d1
glsl: add capability to lower mediump array types
...
This is not needed for lowering expressions, because they always work with
basic types, but it will be needed for lowering variables.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746 >
2020-07-07 22:02:06 -04:00
Marek Olšák
38cadd8b46
glsl: lower builtins to mediump that always return mediump or lowp
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746 >
2020-07-07 22:02:06 -04:00
Marek Olšák
8fcf8e7fd4
glsl: lower builtins to mediump that ignore precision of certain parameters
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746 >
2020-07-07 22:02:06 -04:00
Marek Olšák
3781697c23
glsl: don't lower builtins to mediump that don't allow it
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746 >
2020-07-07 22:02:06 -04:00
Marek Olšák
69f7a3dac6
glsl: don't lower precision of textureSize
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746 >
2020-07-07 22:02:06 -04:00
Marek Olšák
977b84652a
glsl: flatten a tautological conditional in lower_precision
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746 >
2020-07-07 22:02:06 -04:00
Marek Olšák
9fccae80be
glsl: cleanups in lower_precision
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746 >
2020-07-07 22:02:06 -04:00
Marek Olšák
8a93d2f128
glsl: remove the return type from lower_precision
...
It's unused.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746 >
2020-07-07 22:02:06 -04:00
Marek Olšák
161105d732
glsl: convert reusable lower_precision util code into helper functions
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746 >
2020-07-07 22:02:06 -04:00
Marek Olšák
8d62969cfe
glsl: validate more stuff
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746 >
2020-07-07 22:02:06 -04:00
Marek Olšák
8773d58b05
glsl: run validate_ir_tree if GLSL_VALIDATE=1 regardless of the build config
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746 >
2020-07-07 22:02:06 -04:00
Marek Olšák
82caff5bc3
glsl: fix evaluating float16 constant expression matrices
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746 >
2020-07-07 22:02:06 -04:00
Marek Olšák
50c27a0a17
glsl: fix the type of ir_constant_data::u16
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746 >
2020-07-07 22:02:06 -04:00
Marek Olšák
3e47cb185e
glsl: print constant initializers
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746 >
2020-07-07 22:02:06 -04:00
Marek Olšák
42be975aa2
glsl: print precision qualifiers in IR dumps
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746 >
2020-07-07 22:02:06 -04:00
Marek Olšák
a038863ba0
glsl: make print_type non-static for debugging
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746 >
2020-07-07 22:02:06 -04:00
Jason Ekstrand
1d5e1882f6
anv: Handle clamping of inverted depth ranges
...
Tested-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5792 >
2020-07-07 21:38:03 +00:00
Dave Airlie
3bb3e8940c
llvmpipe: add ARB_post_depth_coverage support.
...
This doesn't pass thie piglits because currently they are broken
for case where GL upgrades 2 samples to 4
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5767 >
2020-07-08 07:19:25 +10:00
Dave Airlie
b8fcb62134
ci/virgl: update results after streams fixes.
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555 >
2020-07-08 06:06:20 +10:00
Dave Airlie
d146d7bb97
draw/gs: use mask to limit vertex emission.
...
When executing for a single primitive, the mask has only one active
lane, however the vertex emit emits for all the lanes, pass in
the active mask and write the excess lanes to the overflow slot.
Fixes:
glsl-1.50-gs-max-output -scan 1 20
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555 >
2020-07-08 06:06:14 +10:00
Dave Airlie
72ed9e7046
draw: free vertex info from geometry streams.
...
This info needs to be freed for the non-0 stream.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555 >
2020-07-08 06:06:05 +10:00
Dave Airlie
b4802d6ea1
draw: use common exit path in pipeline finish.
...
I need to add a missing free here, and it seems pointless duplication
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555 >
2020-07-08 06:06:05 +10:00
Dave Airlie
3e455d6ad3
draw/gs: reverse the polarity of the invocation/prims execution
...
The current code runs primitives per invocation, but the spec wants
invocations per primitive. However it means having to flush
after each invocation to get correct XFB behaviour
Fixes:
GTF-GL41.gtf40.GL3Tests.transform_feedback3.transform_feedback3_geometry_instanced
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555 >
2020-07-08 06:06:05 +10:00
Dave Airlie
1c9bf586e7
draw: account primitive lengths for all streams.
...
For correct XFB queries all streams must get primitive lengths
recorded. This allocates larger memory for per-stream lengths
and the shader write into them.
Fixes:
GTF-GL41.gtf40.GL3Tests.transform_feedback3.transform_feedback3_streams_queried
GTF-GL41.gtf40.GL3Tests.transform_feedback3.transform_feedback3_streams_overflow
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555 >
2020-07-08 06:06:05 +10:00
Dave Airlie
09da72a740
gallivm/nir: end primitive for all streams.
...
Call the end primitive for all streams so it can be accounted properly
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555 >
2020-07-08 06:06:05 +10:00
Dave Airlie
690238ff56
gallivm/nir: don't access stream var outside bounds
...
Since we allocate only enough for streams we see, don't access
out of bounds when streams are given
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555 >
2020-07-08 06:06:05 +10:00
Dave Airlie
21b903dd7d
gallivm/gs_iface: pass stream into end primitive interface.
...
This is just an API change for now
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555 >
2020-07-08 06:06:05 +10:00
Dave Airlie
87a388fb29
draw/gs: only allocate memory for streams needed.
...
This just allocates the sizeing for streams that are needed.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555 >
2020-07-08 06:06:05 +10:00
Dave Airlie
903b5814b5
gallivm/draw/gs: pass vertex stream count into shader build
...
The shader builder can avoid iterations using this info.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555 >
2020-07-08 06:06:05 +10:00
Dave Airlie
99ae39f76c
draw/gs: fix up current verts in output fetching.
...
This was wrong since I added multi-stream support in
draw/gs: track emitted prims + verts per stream
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555 >
2020-07-08 06:06:05 +10:00
Dave Airlie
7d82bb0e41
draw: emit so primitives before ending empty pipeline.
...
There may be non-stream 0 emitted primitives that have to be processed.
Fixes:
KHR-GL42.transform_feedback_overflow_query_ARB.multiple-streams-one-buffer-per-stream
KHR-GL42.transform_feedback_overflow_query_ARB.multiple-streams-multiple-buffers-per-stream
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555 >
2020-07-08 06:06:04 +10:00
Dave Airlie
59c8fff7e4
gallivm/nir: call end prim at end on all GS streams.
...
Fixes: KHR-GL45.transform_feedback.draw_xfb_stream_test
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555 >
2020-07-08 06:06:04 +10:00
Neil Roberts
b921d17aa6
broadcom/qpu: set VC5_QPU_RADDR_A out of the switch at _pack_branch
...
Detected after mesa added Wimplicit-fallthrough project wide.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5769 >
2020-07-07 21:40:16 +02:00
Rhys Perry
ec4d3def16
aco: use VOP2 version of v_mbcnt_hi_u32_b32 on GFX6/7
...
fossil-db (Pitcairn):
Totals from 2172 (1.58% of 137414) affected shaders:
CodeSize: 7109080 -> 7100100 (-0.13%)
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/5623 >
2020-07-07 18:48:15 +00:00
Eric Anholt
b7418270c3
util: Share a single function pointer for the 4-byte rgba unpack function.
...
Everyone wants the same behavior, and this helps shrink the size of our
format description tables.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5728 >
2020-07-07 18:19:23 +00:00
Eric Anholt
a8e7004dc5
util: Remove the stub pack/unpack functions for YUV formats.
...
If we can't pack/unpack them, the field is supposed to be NULL.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5728 >
2020-07-07 18:19:23 +00:00
Eric Anholt
abd9aa2c77
llvmpipe: Generalize "could llvmpipe fetch this format" check in unit testing.
...
This set of checks matched the "access" list in u_format_table.py that
controls initializing this this function pointer, so just use the function
pointer.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5728 >
2020-07-07 18:19:23 +00:00
Eric Anholt
2da4badfe3
util: Use designated initializers to clean up the format tables' pack/unpack.
...
The generated .c had a bunch of NULLs and notes for what kind of function
was being skipped, when we can just skip them by filling in the fields
with names.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5728 >
2020-07-07 18:19:23 +00:00
Eric Anholt
e7010eeff0
util: Merge util_format_read_4* functions.
...
Everyone wants the same thing: unpack 4-bytes-per-channel data based on the
base type of the format.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5728 >
2020-07-07 18:19:23 +00:00
Eric Anholt
2f4d557a56
util: Merge util_format_write_4* functions.
...
Everyone wants the same thing: pack 4-bytes-per-channel data based on the
base type of the format.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5728 >
2020-07-07 18:19:23 +00:00
Eric Anholt
c3d0500389
svga: Reuse util_format_unpack_rgba().
...
This assumes that pipe_color_union is a vec4, but that seems safe.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5728 >
2020-07-07 18:19:22 +00:00
Eric Anholt
725b27135b
gallium/util: Move the Z/S handling to the outside of get_tile().
...
This lets us drop the special case for S8_UINT, and makes our read_4 path
just like other callers.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5728 >
2020-07-07 18:19:22 +00:00
Eric Anholt
a2b74a5d8a
gallium/util: Clean up the Z/S tile write path.
...
The switch statement is silly, we have a helper to detect all of Z/S.
And, take the time explain why all of Z/S tile writing is unimplemented.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5728 >
2020-07-07 18:19:22 +00:00
Eric Anholt
019a030907
gallium/util: Fix location of the comment about S8_UINT handling.
...
I clearly wrote it in the wrong place in "softpipe: Refactor
pipe_get/put_tile_rgba_* paths."
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5728 >
2020-07-07 18:19:22 +00:00
Eric Anholt
377026e3ad
etnaviv: Use the util_pack_color_union() helper.
...
This snuck in since I cleaned up the other instances of it.
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5728 >
2020-07-07 18:19:22 +00:00
Eric Anholt
32bf7229e5
util: Remove unused util_format_planar_is_supported().
...
Nothing calls it, and it should have been left in gallium, anyway.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5728 >
2020-07-07 18:19:22 +00:00
Eric Anholt
f6f1f8e3f6
softpipe: Clean up softpipe's SSBO load/store interpreting instructions.
...
There's no need to go to all this trouble of setting up 16-byte vectors to
pack/unpack our 32-bit values, memcpy is really good at moving 4 bytes
around.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5728 >
2020-07-07 18:19:22 +00:00
Eric Anholt
18cb8f2322
util: Mark util_format_description() as a const function.
...
It will return the same table every time with no other side effects, so we
want it to be CSEed. Saves 3.5k on my aarch64 GL drivers, almost 9k on
turnip, but weirdly increases my x86 GL driver collection by ~3k.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5728 >
2020-07-07 18:19:22 +00:00
Daniel Schürmann
9300a14ffb
nir: refactor nir_can_move_instr
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5622 >
2020-07-07 19:24:28 +02:00
Daniel Schürmann
09d0e06c5c
nir: also move vecN in case of nir_move_copies
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5622 >
2020-07-07 19:24:28 +02:00
Jonathan Marek
14c554a391
turnip: use global bo for clear blit shaders
...
Fill the global bo will all possible shaders for 3D clear/blit. Note the
global bo size is still <4k (so this doesn't cost any extra memory), this
saves having to allocate shaders in sub_cs everytime the 3D path is used.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5776 >
2020-07-07 16:40:45 +00:00
Daniel Schürmann
10020b8d17
aco: remove superflous (bool & exec) if the result comes from VOPC
...
This works in cases where the VOPC instruction was executed with
the same exec mask.
Totals from affected shaders: (VEGA)
SGPRS: 1342204 -> 1342164 (-0.00 %)
VGPRS: 877220 -> 877220 (0.00 %)
Spilled SGPRs: 157800 -> 157800 (0.00 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 0 -> 0 (0.00 %) dwords per thread
Code Size: 118083212 -> 118021748 (-0.05 %) bytes
LDS: 26 -> 26 (0.00 %) blocks
Max Waves: 144024 -> 144024 (0.00 %)
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5563 >
2020-07-07 17:35:01 +02:00
Rhys Perry
e4654a35b0
radv: enable zerovram for Quantic Dream games
...
Fixes various artifacts with Detroit: Become Human. This assumes other
Vulkan games using the same engine could have the same issues.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Cc: <mesa-stable@lists.freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5710 >
2020-07-07 14:44:35 +00:00
Tomeu Vizoso
dcd171f5e9
gitlab-ci: More stable URL for kernel and ramdisk artifacts, for LAVA
...
Place the kernel and ramdisk into a place in the file server so the URL
will only change when the contents also change.
Also put the Mesa build into a separate tarball so the ramdisk's
contents don't change every build.
With proper caching in place, all devices in the same farm need only to
download the mesa tarball once, saving time.
As we switch to MinIO for making kernels and rootfs available to LAVA
devices, we can stop using Docker to distribute them.
Instead, build when needed in separate jobs that push directly to MinIO,
from where LAVA devices can download them.
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/5515 >
2020-07-07 11:52:30 +00:00
Tomeu Vizoso
bf3d4b1add
gitlab-ci: Build kernel drivers for a few ethernet USB dongles
...
So LAVA devices can download traces and upload test results.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5515 >
2020-07-07 11:52:30 +00:00
Karol Herbst
bbf2db20fe
nv50/ir/nir: fix cache mode conversion
...
The nir access qualifier is actually a bitfield, so we need to read out
like one.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5747 >
2020-07-07 11:32:15 +00:00
Karol Herbst
31e344799a
gv100/ir: fix coherent and volatile memory access
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5747 >
2020-07-07 11:32:14 +00:00
Karol Herbst
a43eb650de
gv100/ir: implement sample shading
...
Fixes sample shading tests in the Khronos OpenGL(ES) CTS
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5747 >
2020-07-07 11:32:14 +00:00
Karol Herbst
5786c63be3
nv50/ir/nir: fix interpolation on explicit operations
...
Fixes a bunch of interpolate tests in the aosp GLES CTS
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5747 >
2020-07-07 11:32:14 +00:00
Danylo Piliaiev
77844690be
iris: Fix fast-clearing of depth via glClearTex(Sub)Image
...
If we clear depth only texture via glClearTex(Sub)Image it may cause:
../src/intel/blorp/blorp_genX_exec.h:1554: blorp_emit_surface_states: Assertion `params->depth.enabled || params->stencil.enabled' failed.
due to clear_depth_stencil calling blorp_clear_depth_stencil when
depth is already fast-cleared and there is no stencil.
Fixes piglit test: arb_clear_texture-depth
Fixes: 51638cf18a
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5770 >
2020-07-07 11:05:03 +00:00
Erik Faye-Lund
026615c0f9
docs: fixup envvar output
...
Sphinx 2.x has changed how this works, and some of this whitespace now
gets stripped as a result. So let's instead actual whitespace as separate
text-nodes instead.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5706 >
2020-07-07 10:22:08 +00:00
Erik Faye-Lund
c8537744bb
docs: use svg for graphviz output
...
This works a lot better on hidpi screens.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5706 >
2020-07-07 10:22:08 +00:00
Erik Faye-Lund
892fdde23f
docs: move gallium specific docs into gallium folder
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5706 >
2020-07-07 10:22:08 +00:00
Erik Faye-Lund
64a4ba9e1c
docs: add an extension to generate redirects
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5706 >
2020-07-07 10:22:08 +00:00
Erik Faye-Lund
ce5a3524fa
docs: clean up gallium index-file
...
This makes the TOC make much more sense.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5706 >
2020-07-07 10:22:08 +00:00
Erik Faye-Lund
2f81398187
merge gallium docs into main docs
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5706 >
2020-07-07 10:22:08 +00:00
Erik Faye-Lund
cb11900cb6
ci: add graphviz to the .docs-base template
...
The Gallium docs uses graphviz, so let's make sure it's installed first.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5706 >
2020-07-07 10:22:08 +00:00
Connor Abbott
6ff66942d2
freedreno: Sync registers with envytools
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5557 >
2020-07-07 09:51:40 +00:00
Connor Abbott
c1ba7612fb
freedreno: Include adreno_pm4.xml.h before adreno_a6xx.xml.h
...
This matches the XML, and soon adreno_a6xx.xml will start including
types from adreno_pm4.xml.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5557 >
2020-07-07 09:51:40 +00:00
jzielins
53e204dc26
gallium/swr: Fix compilation warnings
...
In some places in SWR cod objects are initialized using
memset/memcpy. This is usually done to enable
allocating those objects in aligned memory.
It generates compilation warnings though,
which are worked around by casting the pointers to void*
before calling memset/memcpy.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5777 >
2020-07-07 09:24:47 +00:00
Connor Abbott
846f4f95dd
freedreno/a6xx: Force gl_Layer to 0 when necessary
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5732 >
2020-07-07 08:10:47 +00:00
Connor Abbott
f69c3849b8
tu: Force gl_Layer to 0 when necessary
...
In particular this will help us implement input attachments correctly
with layered rendering.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5732 >
2020-07-07 08:10:47 +00:00
Connor Abbott
4f91345f49
ir3: Add layer_zero variant bit
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5732 >
2020-07-07 08:10:47 +00:00
Icecream95
ef67218325
pan/decode: Make mapped memory read-only while decoding
...
This will help catch any bugs where descriptors are accidentally
modified.
v2: Use a dynarray of ro memory mappings rather than iterating through
the mmap hash table.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5590 >
2020-07-07 02:29:52 +00:00
Alyssa Rosenzweig
cb5edcd215
panfrost: Expose MSAA 4x
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5782 >
2020-07-07 01:13:39 +00:00
Alyssa Rosenzweig
a5c4fe2c78
panfrost: Save sample_mask before blitting
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5782 >
2020-07-07 01:13:39 +00:00
Alyssa Rosenzweig
bb577051dd
panfrost: Enable MSAA if we render to such a surface
...
We hit this case for clears of MSAA surfaces without draws.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5782 >
2020-07-07 01:13:39 +00:00
Alyssa Rosenzweig
3b7aeb2448
panfrost: Set depth/stencil_layer_stride accordingly
...
Same logic as colour layer stride, I think.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5782 >
2020-07-07 01:13:39 +00:00
Alyssa Rosenzweig
5e38d956ab
panfrost: Identify depth/stencil layer strides
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5782 >
2020-07-07 01:13:39 +00:00
Alyssa Rosenzweig
490fbce239
panfrost: Implement alpha-to-coverage
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5782 >
2020-07-07 01:13:39 +00:00
Alyssa Rosenzweig
f23cdd4f72
panfrost: Pass sample_mask to the hardware
...
Gallium computes it for us.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5782 >
2020-07-07 01:13:39 +00:00
Alyssa Rosenzweig
3e251328fa
panfrost: Identify coverage_mask
...
The driver specifies the mask directly.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5782 >
2020-07-07 01:13:39 +00:00
Alyssa Rosenzweig
546a600ba5
panfrost: Don't advertise MSAA 2x
...
Let the frontend promote to MSAA 4x if the app requests it. We don't
support MSAA 2x.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5782 >
2020-07-07 01:13:39 +00:00
Alyssa Rosenzweig
211cc2550c
panfrost: Set layer_stride for multisampled rendering
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5782 >
2020-07-07 01:13:39 +00:00
Alyssa Rosenzweig
937d3687ac
panfrost: Include pointer for each sample
...
Treating it like an array/3D texture.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5782 >
2020-07-07 01:13:39 +00:00
Alyssa Rosenzweig
41c06deb63
panfrost: Index texture by sample
...
This will allow MSAA to route through.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5782 >
2020-07-07 01:13:39 +00:00
Alyssa Rosenzweig
95afda39a6
panfrost: Allocate space for multisampling
...
As an effective depth. Ugly but matches the blob.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5782 >
2020-07-07 01:13:39 +00:00
Alyssa Rosenzweig
37204588da
panfrost: Identify layer_stride
...
For MSAA.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5782 >
2020-07-07 01:13:39 +00:00
Alyssa Rosenzweig
0b5bc6ed67
panfrost: Set depth to sample_count for MSAA 2D
...
Treated like a 3D texture.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5782 >
2020-07-07 01:13:39 +00:00
Alyssa Rosenzweig
af6fc41d2c
pan/mdg: Use _VTX tag for texelFetch in frag shaders
...
Probably a misnomer, let's match what the blob seemingly does though? At
least in blit shaders?
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5782 >
2020-07-07 01:13:39 +00:00
Alyssa Rosenzweig
63a8722c6a
pan/mdg: Handle nir_texop_txf_ms
...
Same as nir_texop_txf, the special case where sample = 0.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5782 >
2020-07-07 01:13:39 +00:00
Alyssa Rosenzweig
6d9f951220
pan/mdg: Handle nir_tex_src_ms_index
...
Goes in .z for a txf_ms coordinate, same as a shadow comparator so we
reuse the impl.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5782 >
2020-07-07 01:13:39 +00:00
Alyssa Rosenzweig
a2748d4796
pan/mdg: Handle GLSL_SAMPLER_DIM_MS
...
Same as 2D.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5782 >
2020-07-07 01:13:39 +00:00
Alyssa Rosenzweig
d624118cc9
pan/mdg: Allow ignoring move mode
...
Ensures we can gaurantee we'll pick something, which matters for
depth/stencil export.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Fixes: de41c4c103 ("pan/mdg: Prioritize non-moves on VADD/VLUT")
Tested-by: Icecream95 <ixn@keemail.me >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5782 >
2020-07-07 01:13:39 +00:00
Alyssa Rosenzweig
af8fcfe620
pan/decode: Identify layered MSAA flag
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5782 >
2020-07-07 01:13:39 +00:00
Alyssa Rosenzweig
eba9bcd3c9
pan/decode: Fix MSAA texture decoding
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5782 >
2020-07-07 01:13:39 +00:00
Alyssa Rosenzweig
797fa87ec9
pan/mdg: Fix indirect UBO swizzles
...
Helps a lot of vertex shaders dramatically.
total instructions in shared programs: 48491 -> 48252 (-0.49%)
instructions in affected programs: 3091 -> 2852 (-7.73%)
helped: 30
HURT: 0
helped stats (abs) min: 1 max: 35 x̄: 7.97 x̃: 5
helped stats (rel) min: 0.57% max: 21.60% x̄: 7.98% x̃: 6.85%
95% mean confidence interval for instructions value: -11.11 -4.83
95% mean confidence interval for instructions %-change: -10.17% -5.80%
Instructions are helped.
total bundles in shared programs: 23392 -> 23105 (-1.23%)
bundles in affected programs: 2017 -> 1730 (-14.23%)
helped: 35
HURT: 0
helped stats (abs) min: 1 max: 34 x̄: 8.20 x̃: 7
helped stats (rel) min: 1.11% max: 34.69% x̄: 15.52% x̃: 18.42%
95% mean confidence interval for bundles value: -10.91 -5.49
95% mean confidence interval for bundles %-change: -19.28% -11.77%
Bundles are helped.
total quadwords in shared programs: 39586 -> 39611 (0.06%)
quadwords in affected programs: 1717 -> 1742 (1.46%)
helped: 5
HURT: 24
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 0.83% max: 3.57% x̄: 2.45% x̃: 2.78%
HURT stats (abs) min: 1 max: 2 x̄: 1.25 x̃: 1
HURT stats (rel) min: 1.00% max: 3.77% x̄: 2.17% x̃: 1.89%
95% mean confidence interval for quadwords value: 0.50 1.22
95% mean confidence interval for quadwords %-change: 0.61% 2.13%
Quadwords are HURT.
total registers in shared programs: 3337 -> 3272 (-1.95%)
registers in affected programs: 373 -> 308 (-17.43%)
helped: 34
HURT: 0
helped stats (abs) min: 1 max: 5 x̄: 1.91 x̃: 1
helped stats (rel) min: 6.25% max: 33.33% x̄: 16.76% x̃: 16.03%
95% mean confidence interval for registers value: -2.31 -1.51
95% mean confidence interval for registers %-change: -19.15% -14.37%
Registers are helped.
total threads in shared programs: 2593 -> 2615 (0.85%)
threads in affected programs: 22 -> 44 (100.00%)
helped: 21
HURT: 0
helped stats (abs) min: 1 max: 2 x̄: 1.05 x̃: 1
helped stats (rel) min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00%
95% mean confidence interval for threads value: 0.95 1.15
95% mean confidence interval for threads %-change: 100.00% 100.00%
Threads are [helped].
total loops in shared programs: 6 -> 6 (0.00%)
loops in affected programs: 0 -> 0
helped: 0
HURT: 0
total spills in shared programs: 17 -> 1 (-94.12%)
spills in affected programs: 16 -> 0
helped: 2
HURT: 0
total fills in shared programs: 35 -> 5 (-85.71%)
fills in affected programs: 30 -> 0
helped: 2
HURT: 0
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5781 >
2020-07-07 00:42:14 +00:00
Alyssa Rosenzweig
658b59df82
pan/mdg: Respect type/mask in mir_lower_special_reads
...
Fixes RA issues with the lowered moves, as well as enabling more
aggressive scheduling (hence the slight shdaer-db win).
total instructions in shared programs: 48539 -> 48491 (-0.10%)
instructions in affected programs: 4400 -> 4352 (-1.09%)
helped: 13
HURT: 0
helped stats (abs) min: 1 max: 8 x̄: 3.69 x̃: 3
helped stats (rel) min: 0.50% max: 1.89% x̄: 1.06% x̃: 1.10%
95% mean confidence interval for instructions value: -5.05 -2.33
95% mean confidence interval for instructions %-change: -1.29% -0.84%
Instructions are helped.
total bundles in shared programs: 23447 -> 23392 (-0.23%)
bundles in affected programs: 2224 -> 2169 (-2.47%)
helped: 21
HURT: 1
helped stats (abs) min: 1 max: 8 x̄: 2.67 x̃: 2
helped stats (rel) min: 0.89% max: 20.00% x̄: 9.04% x̃: 2.40%
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 1.20% max: 1.20% x̄: 1.20% x̃: 1.20%
95% mean confidence interval for bundles value: -3.51 -1.49
95% mean confidence interval for bundles %-change: -12.52% -4.63%
Bundles are helped.
total quadwords in shared programs: 39651 -> 39586 (-0.16%)
quadwords in affected programs: 5557 -> 5492 (-1.17%)
helped: 38
HURT: 1
helped stats (abs) min: 1 max: 2 x̄: 1.74 x̃: 2
helped stats (rel) min: 0.61% max: 14.29% x̄: 3.92% x̃: 1.20%
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 0.69% max: 0.69% x̄: 0.69% x̃: 0.69%
95% mean confidence interval for quadwords value: -1.87 -1.47
95% mean confidence interval for quadwords %-change: -5.55% -2.05%
Quadwords are helped.
total registers in shared programs: 3336 -> 3337 (0.03%)
registers in affected programs: 21 -> 22 (4.76%)
helped: 1
HURT: 2
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 11.11% max: 11.11% x̄: 11.11% x̃: 11.11%
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 16.67% max: 16.67% x̄: 16.67% x̃: 16.67%
total threads in shared programs: 2592 -> 2593 (0.04%)
threads in affected programs: 1 -> 2 (100.00%)
helped: 1
HURT: 0
total spills in shared programs: 17 -> 17 (0.00%)
spills in affected programs: 0 -> 0
helped: 0
HURT: 0
total fills in shared programs: 35 -> 35 (0.00%)
fills in affected programs: 0 -> 0
helped: 0
HURT: 0
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5781 >
2020-07-07 00:42:14 +00:00
Ilia Mirkin
836d41d772
ir3: use empirical size for params as used by the shader
...
For example only some UCPs may be used by the shader, triggering asserts
that too many consts are being uploaded.
While we're at it, also fix the const size when loading UCPs, since
otherwise it doesn't correspond to what the shader is actually using.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5752 >
2020-07-06 23:57:51 +00:00
Chris Forbes
f6aa0719cf
bifrost: Set RTZ rounding mode for f2i conversion
...
Fixes dEQP-GLES2.functional.shaders.conversions.scalar_to_scalar.float_to_int_fragment
Signed-off-by: Chris Forbes <chrisforbes@google.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5779 >
2020-07-06 23:17:16 +00:00
Connor Abbott
7682c887b3
tu: Enable KHR_variable_pointers
...
Passes dEQP-VK.spirv_assembly.instruction.graphics.variable_pointers.*
and dEQP-VK.spirv_assembly.instruction.compute.variable_pointers.*
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5684 >
2020-07-06 22:48:57 +00:00
Connor Abbott
9aec89ead3
tu: Rewrite variable lowering
...
Don't lower to offsets, instead use nir_lower_explicit_io here and
use actual pointers for UBO's and SSBO's. This makes
KHR_variable_pointers trivial. This also fixes asserts with shared
variables, which are now supposed to be lowered with
nir_lower_explicit_io.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5684 >
2020-07-06 22:48:57 +00:00
Lionel Landwerlin
edc8119da4
anv: garbage collect timeline semaphore when querying value
...
If we don't garbage collect the timeline, the value never progresses
even though work completed.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3226
Fixes: 34f32a6d66 ("anv: implement VK_KHR_timeline_semaphore")
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5774 >
2020-07-06 22:33:46 +00:00
Neil Roberts
137d8f9889
v3d: Enable perpendicular line caps when line smoothing
...
V3D has a bit to set the line caps to be perpendicular to the line
rather than aligned to the edges of the framebuffer. I don’t know what
the disadvantages are of enabling this, but I noticed by experimentation
that enabling line smoothing on the Intel driver also enables nicer line
caps, so it seems nice to enable it here too.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5624 >
2020-07-06 21:59:16 +00:00
Neil Roberts
ee4d51f8b2
v3d: Add a lowering pass for line smoothing
...
When line smoothing is enabled, the driver now increases the width of
the line so that it can add some semi-transparent pixels to either side
of the line. A lowering pass is added which modifies the alpha component
of every write to fragment output 0 so that if the fragment is outside
the width of the line then the alpha is reduced. It additionally
discards fragments that are completely invisible. It might seem bad to
use discard on a tiled renderer but the assumption is that any bad
effects from using discard will also happen anyway because of enabling
alpha blending.
v2: Disable the line smoothing pass entirely when the framebuffer
contains an integer colour output or one with no alpha channel.
Calculate the coverage once upfront and store in a global variable
instead of calculating each time an output write is modified. Also
do the conditional discard once upfront.
v3: Don’t check whether the output buffer has an alpha channel. Only
look at output 0. Use aa_line_width intrinsic instead of calculating
the real line width in the shader. Clamp the coverage as part of the
global variable, not per output write.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5624 >
2020-07-06 21:59:16 +00:00
Neil Roberts
207da33a86
v3d: Handle the line width intrinsics
...
Adds new QUNIFORMs to store the line widths.
v2: Also handle the aa_line_width intrinsic
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5624 >
2020-07-06 21:59:16 +00:00
Neil Roberts
121b82f638
nir: Add intrinsics for the line width
...
The first intrinsic is intended to expose the value set by glLineWidth
to shaders internally. The second intrinsic exposes the value actually
sent to the hardware. This may be wider than the first one in order to
implement anti-aliasing. These will be used in later patches to
implement a line smoothing lowering pass.
v2: Add a second intrinsic for the expanded line width for
anti-aliasing.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5624 >
2020-07-06 21:59:16 +00:00
Neil Roberts
2c4616368b
v3d: Implement the line coord intrinsic
...
The line coord intrinsic is loaded from the implicit varying stored in
the same slot as the point coord when drawing lines.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5624 >
2020-07-06 21:59:16 +00:00
Neil Roberts
14dd65bb5b
compiler: Add a system value for the line coord
...
The line coord is a coordinate along the axis perpendicular to the line.
It is in the range [0,1] between the two edges of the line. It is
available at least on Broadcom hardware.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5624 >
2020-07-06 21:59:15 +00:00
Marcin Ślusarz
3144bc1d33
intel/perf: move query_mask and location out of gen_perf_query_counter
...
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Mark Janes <mark.a.janes@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5399 >
2020-07-06 21:43:59 +00:00
Marcin Ślusarz
9f19662550
iris: remove iris_monitor_config
...
perf_cfg is enough - it already contains almost all necessary
information and is constructed in a more optimal way (O(n) vs O(n^2)
- it uses hash table to build the unique counter list).
"Almost all", because it doesn't contain OA raw counters, but
we should have not exposed them anyway. Quoting Mark Janes:
"I see no reason to include the OA raw counters in the list that
are provided to the user. They are unusable.
The MDAPI library can be used to configure raw counters in a way
that provides esoteric metrics, but that library is written against
INTEL_performance_query."
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Mark Janes <mark.a.janes@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5399 >
2020-07-06 21:43:59 +00:00
Ilia Mirkin
bffee01bd9
a4xx: hook up centroid ij coords
...
This is necessary now that the compiler respects centroid interpolation,
even in non-MSAA mode. Otherwise the interpolation doesn't work. Fixes a
bunch of dEQP centroid transform feedback tests.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5778 >
2020-07-06 20:20:11 +00:00
Jason Ekstrand
a6ed1d7fa5
nir: Add docs to nir_lower[_explicit]_io
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5418 >
2020-07-06 19:54:30 +00:00
Jason Ekstrand
0bc5a829dd
nir: Remove shared support from lower_io
...
No drivers are using this anymore so we can delete it and not keep
maintaining this legacy code-path. If any drivers want this in the
future, they should use nir_lower_varst_to_explicit_types followed by
nir_lower_explicit_io.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5418 >
2020-07-06 19:54:30 +00:00
Jason Ekstrand
be96b069ad
nir: Assert that nir_lower_io is only called with allowed modes
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5418 >
2020-07-06 19:54:30 +00:00
Jason Ekstrand
b019b22c7a
panfrost: Only call nir_lower_io on shader_in/out
...
Gallium drivers should never see nir_var_uniform because gallium lowers
regular uniforms to a UBO. No GL driver should ever see either
nir_var_mem_shared because that's lowered in GLSL IR.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5418 >
2020-07-06 19:54:30 +00:00
Jason Ekstrand
23b7094829
v3d: Only call nir_lower_io on shader_in/out
...
Gallium drivers should never see nir_var_uniform because gallium lowers
regular uniforms to a UBO. No GL driver should ever see either
nir_var_mem_shared because that's lowered in GLSL IR.
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5418 >
2020-07-06 19:54:30 +00:00
Jason Ekstrand
96d99f2ecc
vc4: Only call nir_lower_io on shader_in/out
...
Gallium drivers should never see nir_var_uniform because gallium lowers
regular uniforms to a UBO. No GL driver should ever see either
nir_var_mem_shared because that's lowered in GLSL IR.
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5418 >
2020-07-06 19:54:30 +00:00
Jason Ekstrand
786325fdb0
nouveau: Only call nir_lower_io on shader_in/out
...
Gallium drivers should never see nir_var_uniform because gallium lowers
regular uniforms to a UBO. No GL driver should ever see either
nir_var_mem_shared because that's lowered in GLSL IR.
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5418 >
2020-07-06 19:54:30 +00:00
Jason Ekstrand
4f521e596a
lima: Only call nir_lower_io on shader_in/out
...
Gallium drivers should never see nir_var_uniform because gallium lowers
regular uniforms to a UBO. No GL driver should ever see either
nir_var_mem_shared because that's lowered in GLSL IR.
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5418 >
2020-07-06 19:54:30 +00:00
Jason Ekstrand
36a9046848
freedreno: Only call nir_lower_io on shader_in/out
...
Gallium drivers should never see nir_var_uniform because gallium lowers
regular uniforms to a UBO. No GL driver should ever see either
nir_var_mem_shared because that's lowered in GLSL IR.
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5418 >
2020-07-06 19:54:30 +00:00
Ilia Mirkin
fc944428bf
ir3: mark ucp_enables as allowed values on all keys
...
Both vertex and fragment shaders need to have the lowering.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5751 >
2020-07-06 18:37:22 +00:00
Christian Gmeiner
01a1926fb9
etnaviv: replace prims-emitted query
...
As we do not support stream output buffers we only count the primitives
processed by the pipeline. Use the correct query type.
Cc: <mesa-stable@lists.freedesktop.org >
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5754 >
2020-07-06 18:22:19 +00:00
Ilia Mirkin
42c814158b
a4xx: add polygon offset clamp, fix units
...
For some reason, in order to get all tests to pass, pretty much all
hardware (across vendors) has to program in offset_units * 2. This fixes
dEQP-GLES3.functional.polygon_offset.float32_displacement_with_units.
While we're at it, add polygon offset clamp support.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5763 >
2020-07-06 18:01:31 +00:00
Ilia Mirkin
00f9d4b1fd
a4xx: add noperspective interpolation support
...
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5753 >
2020-07-06 17:35:56 +00:00
Connor Abbott
12e18d9e7a
nir: add vec2_index_32bit_offset address format
...
For turnip, we use the "bindless" model on a6xx. Loads and stores with
the bindless model require a bindless base, which is an immediate field
in the instruction that selects between 5 different 64-bit "bindless
base registers", a 32-bit descriptor index that's added to the base, and
the usual 32-bit offset. The bindless base usually, but not always,
corresponds to the Vulkan descriptor set. We can handle the case where
the base is non-constant by using a bunch of if-statements, to make it a
little easier in core NIR, and this seems to be what Qualcomm's driver
does too. Therefore, the pointer format we need to use in NIR has a vec2
index, for the bindless base and descriptor index. Plumb this format
through core NIR.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5683 >
2020-07-06 16:44:15 +00:00
Connor Abbott
7ab7316003
nir: Refactor load/store intrinsic helper
...
Add the possibility to specify the source components. This is necessary
to let the UBO/SSBO index have more than one component, and it also lets
us remove a few hand-rolled load intrinsic definitions.
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5683 >
2020-07-06 16:44:15 +00:00
Jonathan Marek
6d8e2cec81
freedreno/regs: document SS6_UBO state src
...
Document this new a6xx_state_src value seen in A640/A650 tess traces.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5760 >
2020-07-06 15:46:48 +00:00
Rob Clark
0a7b1f9167
freedreno/fdperf: prefer render node
...
Avoid inadvertantly becoming master if fdperf happens to be the first
thing to open the device.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5762 >
2020-07-06 15:08:15 +00:00
Rob Clark
385d036f58
freedreno/fdperf: better compatible string matching
...
Previously we would match the start of the compatible string, in
a couple of cases, in order to match compatible strings like
"qcom,adreno-630.2". But these cases would always list a more
generic compatible (ie. "qcom,adreno") as a later choice. So if
we parse all the compatible strings, we can do a more precise
exact match.
This avoids us accidentially matching on "qcom,adreno-smmu" and
the hilarity that ensues.
Fixes: 5a13507164 ("freedreno/perfcntrs: add fdperf")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5762 >
2020-07-06 15:08:15 +00:00
Rob Clark
9c34a3322d
freedreno/fdperf: fix print of base address
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5762 >
2020-07-06 15:08:15 +00:00
Jason Ekstrand
85761e23ea
wsi/x11: Log swapchain status changes
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5672 >
2020-07-06 14:49:06 +00:00
Jason Ekstrand
b0bbb62325
vulkan/wsi: Don't consider VK_SUBOPTIMAL_KHR to be an error condition
...
This was causing vkAcquireNextImageKHR to not signal the fences and
semaphores. In the case where the semaphore was brand new, this could
cause an unsignalled syncobj to be passed into execbuffer2 which it will
reject with -EINVAL leading to VK_ERROR_DEVICE_LOST. Thanks to Henrik
Rydgård who works on the PPSSPP project for helping me figure this out.
Fixes: ca3cfbf6f1 "vk: Add an initial implementation of the actual..."
Fixes: 778b51f491 "vulkan/wsi: Add a hooks for signaling semaphores..."
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5672 >
2020-07-06 14:49:06 +00:00
Bas Nieuwenhuizen
c5d8961b0b
Revert "radv: add support for MRTs compaction to avoid holes"
...
This reverts commit 7a5e6fd25f .
Since we have two different users bisecting issues to this commit, let's
revert.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Fixes: 7a5e6fd25f "radv: add support for MRTs compaction to avoid holes"
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3202
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3228
(Other report in https://gitlab.freedesktop.org/mesa/mesa/-/issues/3151#note_558589 )
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5758 >
2020-07-06 14:06:37 +00:00
Bas Nieuwenhuizen
ad913a18b1
radv: Always enable PERFECT_ZPASS_COUNTS.
...
We have an issue with early depth testing and discard, where
non-perfect counts count the tile if the early depth test succeeds.
We could spend a lot of effort to set this conditionally based
on the presence of the two conditions, but in the presence of
inherited queries let's try this first.
Changing PERFECT_ZPASS_COUNTS since I'm pretty sure this has a lower
performance impact than always using late depth testing.
CC: <mesa-stable@lists.freedesktop.org >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3218
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5757 >
2020-07-06 13:54:38 +00:00
Bas Nieuwenhuizen
ad15149958
radv: Set handle types in Android semaphore/fence import.
...
Seems like we forgot to set it all this time ...
Fixes: b1444c9ccb "radv: Implement VK_ANDROID_native_buffer."
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5759 >
2020-07-06 13:40:49 +00:00
Samuel Pitoiset
7b21ce401f
radv: disable FMASK compression when drawing with GENERAL layout
...
Fixes: 96063100 "radv: enable shaderStorageImageMultisample feature on GFX8+"
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3219
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/855
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/3165 >
2020-07-06 13:26:58 +00:00
Jonathan Marek
8453d2941a
Revert "nir: Support sysval tess levels in SPIR-V to NIR"
...
This reverts commit d2d4677b56 .
The option is not used by any driver.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5744 >
2020-07-06 08:48:10 -04:00
Jonathan Marek
2044bdac4f
Revert "nir: Add an option for lowering TessLevelInner/Outer to vecs"
...
This reverts commit d2df076120 .
The option is not used by any driver.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5744 >
2020-07-06 08:48:10 -04:00
Jonathan Marek
b76c6dcbc5
freedreno/ir3: fix/rework tess levels
...
The previous version assumes tess level outputs will only be written once
in the shader, however its not possible to guarantee that.
It also assumes all invocations will write all the levels, which is also
not guaranteed.
This is required to fix the "tesselation" and "terraintessellation" demos
with turnip.
The comment about nir_lower_io_to_temporaries in lower_tess_ctrl_block is
removed because nir_lower_io_to_temporaries specifically skips TESS_CTRL
shaders so the comment doesn't make sense.
The split load for tess levels workaround is removed, the new version only
has scalar access unless if ever gets vectorized.
This sets NIR_COMPACT_ARRAYS cap to avoid the glsl tess vec lowering with
gallium. It seems this will also disable "LowerCombinedClipCullDistance",
which I'm not sure was needed or not.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5744 >
2020-07-06 08:48:06 -04:00
Jonathan Marek
3c5512ce50
freedreno/layout: fix explicit layout offset not added to slice offset
...
Accidentally broke this when rebasing the offending commit.
My use case with non-zero explicit offset is UV plane of UBWC NV12, and
only the UBWC slice offset is used for the UBWC sampler, so I didn't catch
it immediately.
Fixes: d53dc6c376 ("freedreno/fdl6: rework layout code a bit (reduce linear align to 64 bytes)")
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5761 >
2020-07-06 11:24:59 +00:00
Bas Nieuwenhuizen
01986eaf05
amd/addrlib: fix another C++ one definition rule violation
...
Clashes with the SI definition.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3116
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5673 >
2020-07-06 10:54:01 +00:00
Marcin Ślusarz
00d3b13837
iris: return max counter value for AMD_performance_monitor
...
glGetPerfMonitorCounterInfoAMD(..., ..., GL_COUNTER_RANGE_AMD, ...)
returned NAN (binary representation of uint64_t(-1) as float) as
a max value.
Fixes: 0fd4359733 ("iris/perf: implement routines to return counter info")
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5473 >
2020-07-06 08:40:32 +00:00
Marcin Ślusarz
2f4a112ec4
st/mesa: fix reporting of float perf counters max value
...
Some Piglit tests (rightfully) fail because of min >= max when exposed
to perf counters that do not explicitly define their max value.
Failing tests:
spec/amd_performance_monitor/api/test_counter_info
spec/amd_performance_monitor/vc4/test_counter_info
u32/u64 changes are no-ops.
Fixes: 4cd1cfb983 ("st/mesa: implement GL_AMD_performance_monitor")
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5473 >
2020-07-06 08:40:32 +00:00
Dave Airlie
2550531dd6
llvmpipe: enable GL 4.2
...
mostly just docs patch, features were all complete already
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5724 >
2020-07-06 13:48:55 +10:00
Dave Airlie
28ebc8a212
llvmpipe: bump to GL support to GL 4.1
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5724 >
2020-07-06 13:30:18 +10:00
Dave Airlie
df6682d782
llvmpipe: bump texture/scene limits to enable GL 4.1
...
Do we need to make this more dynamic? or have some options for vmware
embedded?
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5724 >
2020-07-06 13:29:43 +10:00
Dave Airlie
0ca266025a
mesa/version: only enable GL4.1 with correct limits.
...
I haven't tested all the limits, but these two should be enough
for driver writers to realise.
I've also submitted a minmax test for piglit to test this.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5727 >
2020-07-06 12:51:30 +10:00
Jonathan Marek
1a83279da5
turnip: enable 420_UNORM formats
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4600 >
2020-07-05 15:25:17 +00:00
Jonathan Marek
7af2a0b9bc
turnip: support multi-image layouts
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4600 >
2020-07-05 15:25:17 +00:00
Jonathan Marek
37cd3c256a
turnip: clear_blit: pass aspect mask to setup function
...
Avoids having to duplicate logic to figure out the write mask on D24S8
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4600 >
2020-07-05 15:25:17 +00:00
Ilia Mirkin
ef11d5fc8b
st/mesa: allow R8 to not be exposed as renderable by driver
...
A3xx GPUs support RG8 and RGBA8, but not R8 for rendering. Add RG8 as
fallbacks for integer formats, and require a renderable format to be
picked for all R8 variants.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5748 >
2020-07-05 00:24:04 -04:00
Eric Engestrom
9e2afe4f05
mesa/glformats: make _mesa_gles_error_check_format_and_type() more consistent
...
Let's consistently use the following code format instead of relying on
falling through to `default`:
if (!req)
return GL_INVALID_OPERATION;
break;
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5729 >
2020-07-04 09:14:42 +00:00
Benjamin Cheng
a573c8cd47
drirc: Add picom to adaptive_sync exclusion list
...
The compton compositor is unmaintained, with a new fork named picom taking
its place. As with the other compositors (including compton), adaptive
sync should not be enabled.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5740 >
2020-07-04 08:46:12 +00:00
Jonathan Marek
19f3c79c7e
turnip: fix tess param bo size calculation
...
ir3 already calculates the stride in the tess param bo, so use that instead
of a incorrect calculation. The calculation of per_vertex_output_size /
per_patch_output_size is wrong because it counts dwords instead of bytes,
and what it counts for per_vertex_output_size is a per-patch size because
the glsl type is already an array of # vertex/patch elements.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5743 >
2020-07-04 03:33:43 +00:00
Vinson Lee
395511d169
nir: Add nir_lower_clip_disable.c to SCons build.
...
Fixes: fb2fe802f6 ("nir: add lowering pass for clip plane enabling")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3217
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5741 >
2020-07-04 01:04:54 +00:00
Timothy Arceri
a1b89dbc8f
gitlab-ci: Enable -Werror in meson-classic job
...
It's warning-clean.
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5730 >
2020-07-04 00:32:26 +00:00
Timothy Arceri
ec8fdf8579
nouveau: fix pointer-sign warning
...
Fixes: e630271e0e ("mesa: don't ever set NullBufferObj in gl_vertex_array_binding")
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5730 >
2020-07-04 00:32:26 +00:00
Eric Anholt
b9e163fa67
util: Avoid strict aliasing bugs in xxhash.
...
XXH32 is doing access through u32 *, and with strict aliasing the compiler
gets to assume that those are independent of the u16 writes we did in
fd6_texture_key setup, and based on various tweaks to the code, would
result in bad hashes computed after inlining. The failure was:
../src/util/hash_table.c:326:_mesa_hash_table_search_pre_hashed: Assertion
`ht->key_hash_function == ((void *)0) || hash == ht->key_hash_function(key)'
failed.)
By setting these two flags, we always take the unaligned,
memcpy-the-32-bit-data path. I believe this should be same perf on x86
(which will happily unaligned load 32 bits in the end), while it will be
slower on arm (where you have to a special unaligned load operation iirc).
This should still be far faster than our old hash.
Fixes: edd62619a1 ("freedreno: replace fnv1a hash function with xxhash")
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5271 >
2020-07-03 23:27:06 +00:00
Dave Airlie
29ce8060eb
draw/clip: fix viewport index for geometry shaders
...
The old code updated the viewport index on the first vertex in
a primitive, however it was picking the first vertex wrong
when used with geometry shaders.
This code has access to the prim info with the primitive lengths
so instead keep track of when a new primitive starts by tracking
the lengths and updating the viewport index then. The prim info
is only valid after a GS or prim assembly, so enable prim assembly
if a vertex shader ever uses viewport index.
This fixes:
piglit arb_viewport_array-render-viewport-2
KHR-GLES31.core.viewport_array.draw_to_single_layer_with_multiple_viewports,Fail
KHR-GLES31.core.viewport_array.draw_mulitple_viewports_with_single_invocation,Fail
KHR-GLES31.core.viewport_array.draw_multiple_layers,Fail
KHR-GLES31.core.viewport_array.depth_range,Fail
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5489 >
2020-07-04 07:19:08 +10:00
Dave Airlie
3366171d0a
draw/clip: cleanup viewport index handling code.
...
This moves code around, and adds initial clamping
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5489 >
2020-07-04 07:19:05 +10:00
Jonathan Marek
0e7b7c3087
turnip: vsc improvements
...
* Remove scratch_bo from cmdbuffer, use a device-global bo instead, which
also includes border color (and eventually shaders for 3D blit path)
* Use CP_SET_BIN_DATA5_OFFSET to allow setting VSC buffer addresses only
once at the start of the cmdstream
* Use scratch bo mechanism for a resizable VSC buffer
* Use feedback from "vsc_draw_overflow" and "vsc_prim_overflow" values to
increase the size of VSC buffer when beginning to record a new cmdbuffer
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5570 >
2020-07-03 14:49:10 +00:00
Jonathan Marek
4ac851ea25
turnip: rework render_tiles loop
...
Loop through pipes and then loop over the tiles in that pipe instead of
looping over all tiles then having to calculate the pipe # and slot #.
Mainly this avoids the hard to follow "config_get_tile" logic, but should
also be a gain due to better use of cache with the VSC data.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5570 >
2020-07-03 14:49:10 +00:00
Jonathan Marek
8898ebce1a
turnip: make tiling config part of framebuffer state
...
Compute the tiling config at framebuffer creation time. A framebuffer will b
be re-used multiple times, so this will avoid having to re-calculate the
tiling config every time a command buffer is recorded.
The tiling config already couldn't use the render area's x1/y1 because of
hw binning, this move makes it so the render area isn't used at all for the
tiling config.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5570 >
2020-07-03 14:49:10 +00:00
Michel Dänzer
31392f8371
Revert "loader/dri3: Check for window destruction in dri3_wait_for_event_locked"
...
This reverts commit d7d7687829 .
It caused freezes with e.g. kwin_x11 due to hitting the 1s timeout.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3214
Reopens: https://gitlab.freedesktop.org/mesa/mesa/-/issues/116
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5722 >
2020-07-03 09:55:50 +00:00
Emmanuel Vadot
02d0b2d560
meson: Add versioning for xvmc tracker
...
The xvmc tracker used to be versionned with autotool but this seems to have been
lost in the meson switch.
Fixes: 22a817af8a ("meson: build gallium xvmc state tracker")
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Signed-off-by: Emmanuel Vadot <manu@FreeBSD.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5708 >
2020-07-03 09:25:52 +00:00
Mike Blumenkrantz
a79ca675f3
st/program: use nir_lower_clip_disable instead of nir_lower_clip_vs conditionally
...
if the shader already outputs gl_ClipDistance, nir_lower_clip_vs will create
duplicate variables when what we want is to just change the existing values
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5529 >
2020-07-03 08:56:30 +00:00
Mike Blumenkrantz
fb2fe802f6
nir: add lowering pass for clip plane enabling
...
a pass which rewrites gl_ClipDistance[n] to an undef if the corresponding
clip plane is disabled in the rasterizer state
this pass is needed for zink to handle api disables of clip planes
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5529 >
2020-07-03 08:56:30 +00:00
Alejandro Piñeiro
f8946bd705
v3d/tex: handle correctly coordinates for cube/cubearrays images
...
When fetching for cube maps, we need to interpret them as 2d texture
arrays, being the third coordinate the index for the face.
Fixes Vulkan CTS tests like the following using v3dv:
dEQP-VK.binding_model.shader_access.primary_cmd_buf.storage_image.fragment.single_descriptor.cube_base_mip
dEQP-VK.binding_model.shader_access.primary_cmd_buf.storage_image.compute.multiple_descriptor_sets.multiple_contiguous_descriptors.cube_array_base_mip
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5675 >
2020-07-03 08:14:57 +00:00
Benjamin Tissoires
0b6e03b848
CI: reduce bandwidth for git pull
...
Over the last 7 days, git pulls represented a total of 1.7 TB.
On those 1.7 TB, we can see:
- ~300 GB for the CI farm on hetzner
- ~730 GB for the CI farm on packet.net
- ~680 GB for the rest of the world
We can not really change the rest of the world*, but we can
certainly reduce the egress costs towards our CI farms.
Right now, the gitlab runners are not doing a good job at
caching the git trees for the various jobs we make, and
we end up with a lot of cache-misses. A typical pipeline
ends up with a good 2.8GB of git pull data. (a compressed
archive of the mesa folder accounts for 280MB)
In this patch, we implemented what was suggested in
https://gitlab.com/gitlab-org/gitlab/-/issues/215591#note_334642576
- we host a brand new MinIO server on packet
- jobs can upload files on 2 locations:
* git-cache/<namespace>/<project>/<branch-name>.tar.gz
* artifacts/<namespace>/<project>/<pipeline-id>/
- the authorization is handled by gitlab with short tokens
valid only for the time of the job is running
- whenever a job runs, the runner are configured to execute
(eval) $CI_PRE_CLONE_SCRIPT
- this variable is set globally to download the current cache
from the MinIO packet server, unpack it and replace the
possibly out of date cache found on the runner
- then git fetch is run by the runner, and only the delta
between the upstream tree and the local tree gets pulled.
We can rebuild the git cache in a schedule job (once a day
seems sufficient), and then we can stop the cache miss
entirely.
First results showed that instead of pulling 280MB of data
in my fork, I got a pull of only 250KB. That should help us.
* arguably, there are other farms in the rest of the world, so
hopefully we can change those too.
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net >
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5428 >
2020-07-03 09:44:36 +02:00
Hyunjun Ko
9190cc9b15
tu,radv: fix potentially wrong offset of flexible array.
...
v2. Remove redundant memset and make the expression simpler.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5703 >
2020-07-03 00:45:16 +00:00
Timothy Arceri
e2209e869a
meson: turn on Wimplicit-fallthrough project wide
...
This will help avoid coding errors and allows for less warnings
from some static analysis tools.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5705 >
2020-07-02 23:52:53 +00:00
Timothy Arceri
26aa02b5ab
nv30: add missing fallthrough comment
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5705 >
2020-07-02 23:52:53 +00:00
Timothy Arceri
651441c16f
mesa: update fallthrough comment so gcc can see it
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5705 >
2020-07-02 23:52:53 +00:00
Timothy Arceri
9549443a8f
svga: add missing fallthrough comments
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5705 >
2020-07-02 23:52:53 +00:00
Timothy Arceri
7579414db2
r300: add and fix up fallthrough comments
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5705 >
2020-07-02 23:52:53 +00:00
Timothy Arceri
dfb9be6994
mesa: fix unintended fallthrough in glIsEnabled()
...
Fixes: 08fae07f52 ("mesa: Handle GL_TEXTURE_GEN_STR_OES in _mesa_Enable()")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5705 >
2020-07-02 23:52:53 +00:00
Timothy Arceri
8b90310b40
mesa: add missing fallthrough comment to teximage.c
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5705 >
2020-07-02 23:52:52 +00:00
Timothy Arceri
d88447d5ce
mesa/vbo: add some missing fallthrough comments
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5705 >
2020-07-02 23:52:52 +00:00
Timothy Arceri
cb8cd64411
spirv: add missing fallthrough comments
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5705 >
2020-07-02 23:52:52 +00:00
Timothy Arceri
580fe89958
radeon: add missing fallthrough comments
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5705 >
2020-07-02 23:52:52 +00:00
Timothy Arceri
f692131641
glsl: move fallthrough comment to where gcc can see it
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5705 >
2020-07-02 23:52:52 +00:00
Timothy Arceri
bf3fc3cf3d
glx: add missing fallthrough comment
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5705 >
2020-07-02 23:52:52 +00:00
Timothy Arceri
cb5fafd617
radeonsi: add missing fallthrough comment
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5705 >
2020-07-02 23:52:52 +00:00
Timothy Arceri
5c4d9816ac
mesa: add fallthrough comments to COPY_SZ_4V()
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5705 >
2020-07-02 23:52:52 +00:00
Timothy Arceri
dbf016e259
nir: fix implicit fallthrough warnings
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5705 >
2020-07-02 23:52:52 +00:00
Timothy Arceri
31dcc173b1
mesa: add fallthrough comments to get.c
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5705 >
2020-07-02 23:52:52 +00:00
Timothy Arceri
f931099270
mesa: add fallthrough comments to glformats.c
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5705 >
2020-07-02 23:52:52 +00:00
Timothy Arceri
040b07c7fe
mesa: fix fallthrough in glformats
...
Before 908f817918 this would fallthrough to GL_INVALID_OPERATION
if the validation condition was not met. But since that change it
will now only return GL_INVALID_OPERATION if
!_mesa_has_EXT_texture_compression_bptc(ctx) is true. This seems
unintended.
Here we fix up the fallthrough and add the fallthrough comment so
this doesn't happen again.
Fixes: 908f817918 ("mesa: expose EXT_texture_compression_bptc in GLES")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3005
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5705 >
2020-07-02 23:52:52 +00:00
Ian Romanick
8591adea38
nir/algebraic: Don't distrubte absolute-value into dot-products
...
Dot product is multiplication followed by addition, and absolute value
does not distribute into addition.
Only vec4 platforms are affected by this change as scalar-only platforms
never have any of the fdot_replicated instructions. In the shader-db
results, below, shaders in MANY different applications are affected.
Trine, Doom3, Enemy Territory: Quake Wars, Counter Strike: Global
Offensive, Mad Max, Metro Last Light, and on and on... I'm really
shocked that there were no test regressions!
All Haswell and earlier platforms had similar results. (Haswell shown)
total instructions in shared programs: 16219743 -> 16219820 (<.01%)
instructions in affected programs: 12171 -> 12248 (0.63%)
helped: 1
HURT: 78
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 0.78% max: 0.78% x̄: 0.78% x̃: 0.78%
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 0.35% max: 2.38% x̄: 0.91% x̃: 1.06%
95% mean confidence interval for instructions value: 0.92 1.03
95% mean confidence interval for instructions %-change: 0.78% 1.00%
Instructions are HURT.
total cycles in shared programs: 538481383 -> 538491045 (<.01%)
cycles in affected programs: 470796 -> 480458 (2.05%)
helped: 149
HURT: 142
helped stats (abs) min: 1 max: 1338 x̄: 71.13 x̃: 4
helped stats (rel) min: 0.06% max: 40.99% x̄: 2.76% x̃: 0.67%
HURT stats (abs) min: 1 max: 2092 x̄: 142.68 x̃: 12
HURT stats (rel) min: 0.07% max: 55.38% x̄: 5.07% x̃: 1.07%
95% mean confidence interval for cycles value: -5.28 71.69
95% mean confidence interval for cycles %-change: -0.07% 2.19%
Inconclusive result (value mean confidence interval includes 0).
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Fixes: 62795475e8 ("nir/algebraic: Distribute source modifiers into instructions")
Closes : #3129
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5581 >
2020-07-02 14:05:33 -07:00
Eric Anholt
99afaa1d54
ci: Disable pixmark-piano trace on a630 due to GPU hangs.
...
I haven't reproduced it with just this trace in a loop locally, but it's
blocked some CI jobs with hangs where a few tiles didn't get
rendered. For example:
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/3314062
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5667 >
2020-07-02 19:12:32 +00:00
Alyssa Rosenzweig
7b0a4f977b
pan/mdg: Schedule based on liveness
...
By estimating liveness in the scheduler and choosing instructions likely
to reduce register pressure, on average we can decrease pressure given a
sufficiently larger window. On the other hand, decreasing pressure
instead of leaning too heavily on the search window enables us to use a
much larger search window without inflating pressure too much. So by
doing both in lockstep, we benefit pretty well.
total instructions in shared programs: 49458 -> 48540 (-1.86%)
instructions in affected programs: 26931 -> 26013 (-3.41%)
helped: 221
HURT: 15
helped stats (abs) min: 1 max: 36 x̄: 4.37 x̃: 2
helped stats (rel) min: 0.31% max: 16.90% x̄: 4.97% x̃: 3.85%
HURT stats (abs) min: 1 max: 4 x̄: 3.13 x̃: 3
HURT stats (rel) min: 0.50% max: 7.14% x̄: 4.53% x̃: 4.55%
95% mean confidence interval for instructions value: -4.65 -3.13
95% mean confidence interval for instructions %-change: -4.94% -3.81%
Instructions are helped.
total bundles in shared programs: 25199 -> 23446 (-6.96%)
bundles in affected programs: 21600 -> 19847 (-8.12%)
helped: 277
HURT: 170
helped stats (abs) min: 1 max: 45 x̄: 7.33 x̃: 6
helped stats (rel) min: 1.06% max: 33.83% x̄: 11.01% x̃: 8.57%
HURT stats (abs) min: 1 max: 6 x̄: 1.63 x̃: 1
HURT stats (rel) min: 1.19% max: 40.00% x̄: 13.36% x̃: 11.11%
95% mean confidence interval for bundles value: -4.61 -3.23
95% mean confidence interval for bundles %-change: -3.00% -0.49%
Bundles are helped.
total quadwords in shared programs: 40269 -> 39652 (-1.53%)
quadwords in affected programs: 35881 -> 35264 (-1.72%)
helped: 242
HURT: 244
helped stats (abs) min: 1 max: 36 x̄: 4.61 x̃: 3
helped stats (rel) min: 0.39% max: 16.33% x̄: 5.33% x̃: 5.13%
HURT stats (abs) min: 1 max: 20 x̄: 2.04 x̃: 1
HURT stats (rel) min: 0.81% max: 21.74% x̄: 7.57% x̃: 6.25%
95% mean confidence interval for quadwords value: -1.71 -0.83
95% mean confidence interval for quadwords %-change: 0.46% 1.82%
Inconclusive result (value mean confidence interval and %-change mean confidence interval disagree).
total registers in shared programs: 3786 -> 3336 (-11.89%)
registers in affected programs: 2161 -> 1711 (-20.82%)
helped: 262
HURT: 35
helped stats (abs) min: 1 max: 7 x̄: 1.87 x̃: 1
helped stats (rel) min: 6.25% max: 66.67% x̄: 28.91% x̃: 25.00%
HURT stats (abs) min: 1 max: 3 x̄: 1.11 x̃: 1
HURT stats (rel) min: 7.69% max: 100.00% x̄: 19.76% x̃: 12.50%
95% mean confidence interval for registers value: -1.70 -1.33
95% mean confidence interval for registers %-change: -25.56% -20.79%
Registers are helped.
total threads in shared programs: 2453 -> 2592 (5.67%)
threads in affected programs: 160 -> 299 (86.87%)
helped: 79
HURT: 6
helped stats (abs) min: 1 max: 2 x̄: 1.85 x̃: 2
helped stats (rel) min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00%
HURT stats (abs) min: 1 max: 2 x̄: 1.17 x̃: 1
HURT stats (rel) min: 50.00% max: 50.00% x̄: 50.00% x̃: 50.00%
95% mean confidence interval for threads value: 1.45 1.82
95% mean confidence interval for threads %-change: 81.08% 97.75%
Threads are [helped].
total spills in shared programs: 168 -> 17 (-89.88%)
spills in affected programs: 167 -> 16 (-90.42%)
helped: 13
HURT: 0
total fills in shared programs: 186 -> 35 (-81.18%)
fills in affected programs: 186 -> 35 (-81.18%)
helped: 14
HURT: 0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5513 >
2020-07-02 14:41:04 -04:00
Icecream95
a6f0d7f003
pan/mdg: Vectorize vlut operations
...
total instructions in shared programs: 49462 -> 49458 (<.01%)
instructions in affected programs: 348 -> 344 (-1.15%)
helped: 2
HURT: 0
total bundles in shared programs: 25201 -> 25199 (<.01%)
bundles in affected programs: 142 -> 140 (-1.41%)
helped: 2
HURT: 0
total quadwords in shared programs: 40273 -> 40269 (<.01%)
quadwords in affected programs: 244 -> 240 (-1.64%)
helped: 2
HURT: 0
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5513 >
2020-07-02 14:41:04 -04:00
Alyssa Rosenzweig
c957249df9
pan/mdg: Skip r1.w write where possible
...
Should help cycle count. Register pressure is spurious here.
total instructions in shared programs: 50501 -> 49517 (-1.95%)
instructions in affected programs: 33342 -> 32358 (-2.95%)
helped: 393
HURT: 0
helped stats (abs) min: 2 max: 3 x̄: 2.50 x̃: 3
helped stats (rel) min: 0.26% max: 33.33% x̄: 11.99% x̃: 9.09%
95% mean confidence interval for instructions value: -2.55 -2.45
95% mean confidence interval for instructions %-change: -13.01% -10.97%
Instructions are helped.
total bundles in shared programs: 25511 -> 25309 (-0.79%)
bundles in affected programs: 7778 -> 7576 (-2.60%)
helped: 202
HURT: 0
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 0.43% max: 20.00% x̄: 5.97% x̃: 4.35%
95% mean confidence interval for bundles value: -1.00 -1.00
95% mean confidence interval for bundles %-change: -6.65% -5.28%
Bundles are helped.
total quadwords in shared programs: 40789 -> 40339 (-1.10%)
quadwords in affected programs: 25453 -> 25003 (-1.77%)
helped: 273
HURT: 0
helped stats (abs) min: 1 max: 3 x̄: 1.65 x̃: 2
helped stats (rel) min: 0.16% max: 22.22% x̄: 5.99% x̃: 3.92%
95% mean confidence interval for quadwords value: -1.71 -1.59
95% mean confidence interval for quadwords %-change: -6.68% -5.30%
Quadwords are helped.
total registers in shared programs: 3911 -> 3784 (-3.25%)
registers in affected programs: 275 -> 148 (-46.18%)
helped: 129
HURT: 2
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 14.29% max: 50.00% x̄: 48.69% x̃: 50.00%
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 50.00% max: 50.00% x̄: 50.00% x̃: 50.00%
95% mean confidence interval for registers value: -1.01 -0.93
95% mean confidence interval for registers %-change: -49.45% -44.91%
Registers are helped.
total threads in shared programs: 2455 -> 2455 (0.00%)
threads in affected programs: 0 -> 0
helped: 0
HURT: 0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5513 >
2020-07-02 14:41:04 -04:00
Alyssa Rosenzweig
de41c4c103
pan/mdg: Prioritize non-moves on VADD/VLUT
...
This helps reduce ALU cycle count.
total instructions in shared programs: 50507 -> 50501 (-0.01%)
instructions in affected programs: 487 -> 481 (-1.23%)
helped: 7
HURT: 3
helped stats (abs) min: 1 max: 2 x̄: 1.29 x̃: 1
helped stats (rel) min: 1.01% max: 8.33% x̄: 4.11% x̃: 4.35%
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 1.54% max: 4.35% x̄: 2.80% x̃: 2.50%
95% mean confidence interval for instructions value: -1.44 0.24
95% mean confidence interval for instructions %-change: -5.12% 1.04%
Inconclusive result (value mean confidence interval includes 0).
total bundles in shared programs: 25640 -> 25511 (-0.50%)
bundles in affected programs: 5879 -> 5750 (-2.19%)
helped: 67
HURT: 7
helped stats (abs) min: 1 max: 16 x̄: 2.04 x̃: 1
helped stats (rel) min: 0.63% max: 18.18% x̄: 4.11% x̃: 2.12%
HURT stats (abs) min: 1 max: 2 x̄: 1.14 x̃: 1
HURT stats (rel) min: 1.75% max: 14.29% x̄: 5.42% x̃: 3.70%
95% mean confidence interval for bundles value: -2.29 -1.20
95% mean confidence interval for bundles %-change: -4.41% -2.00%
Bundles are helped.
total quadwords in shared programs: 40899 -> 40789 (-0.27%)
quadwords in affected programs: 11438 -> 11328 (-0.96%)
helped: 70
HURT: 26
helped stats (abs) min: 1 max: 8 x̄: 2.17 x̃: 1
helped stats (rel) min: 0.42% max: 9.76% x̄: 3.29% x̃: 2.56%
HURT stats (abs) min: 1 max: 5 x̄: 1.62 x̃: 1
HURT stats (rel) min: 0.48% max: 9.68% x̄: 3.58% x̃: 1.99%
95% mean confidence interval for quadwords value: -1.60 -0.69
95% mean confidence interval for quadwords %-change: -2.28% -0.58%
Quadwords are helped.
total registers in shared programs: 3916 -> 3911 (-0.13%)
registers in affected programs: 129 -> 124 (-3.88%)
helped: 10
HURT: 5
helped stats (abs) min: 1 max: 2 x̄: 1.10 x̃: 1
helped stats (rel) min: 8.33% max: 25.00% x̄: 12.84% x̃: 9.55%
HURT stats (abs) min: 1 max: 2 x̄: 1.20 x̃: 1
HURT stats (rel) min: 11.11% max: 66.67% x̄: 27.30% x̃: 14.29%
95% mean confidence interval for registers value: -0.98 0.32
95% mean confidence interval for registers %-change: -12.67% 13.75%
Inconclusive result (value mean confidence interval includes 0).
total threads in shared programs: 2455 -> 2455 (0.00%)
threads in affected programs: 6 -> 6 (0.00%)
helped: 1
HURT: 1
helped stats (abs) min: 2 max: 2 x̄: 2.00 x̃: 2
helped stats (rel) min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00%
HURT stats (abs) min: 2 max: 2 x̄: 2.00 x̃: 2
HURT stats (rel) min: 50.00% max: 50.00% x̄: 50.00% x̃: 50.00%
total loops in shared programs: 6 -> 6 (0.00%)
loops in affected programs: 0 -> 0
helped: 0
HURT: 0
total spills in shared programs: 168 -> 168 (0.00%)
spills in affected programs: 0 -> 0
helped: 0
HURT: 0
total fills in shared programs: 186 -> 186 (0.00%)
fills in affected programs: 0 -> 0
helped: 0
HURT: 0
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5513 >
2020-07-02 14:41:04 -04:00
Alyssa Rosenzweig
01e965d312
pan/mdg: Allow Z/S writes to use any 2nd stage unit
...
This ensures there will not be dependency problems if we emit a move
that tries to read from a parallel instruction.
No shader-db changes.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5513 >
2020-07-02 14:41:04 -04:00
Alyssa Rosenzweig
8ac2c08045
pan/mdg: Defer smul, vlut until after writeout moves
...
We can end up with bad dependencies with a depth/stencil export. Let's
let the writeout special cases consume these values if possible, using a
move otherwise in which case it won't be used in the other slots anyway.
total instructions in shared programs: 50508 -> 50507 (<.01%)
instructions in affected programs: 12 -> 11 (-8.33%)
helped: 1
HURT: 0
total bundles in shared programs: 25640 -> 25640 (0.00%)
bundles in affected programs: 0 -> 0
helped: 0
HURT: 0
total quadwords in shared programs: 40899 -> 40899 (0.00%)
quadwords in affected programs: 0 -> 0
helped: 0
HURT: 0
total registers in shared programs: 3917 -> 3916 (-0.03%)
registers in affected programs: 3 -> 2 (-33.33%)
helped: 1
HURT: 0
total threads in shared programs: 2455 -> 2455 (0.00%)
threads in affected programs: 0 -> 0
helped: 0
HURT: 0
total spills in shared programs: 168 -> 168 (0.00%)
spills in affected programs: 0 -> 0
helped: 0
HURT: 0
total fills in shared programs: 186 -> 186 (0.00%)
fills in affected programs: 0 -> 0
helped: 0
HURT: 0
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5513 >
2020-07-02 13:37:10 -04:00
Alyssa Rosenzweig
2904acd938
pan/mdg: Schedule writeout to VLUT
...
Many thanks to Icecream95 for noticing this is possible if alpha is not
written.
total instructions in shared programs: 50509 -> 50508 (<.01%)
instructions in affected programs: 221 -> 220 (-0.45%)
helped: 2
HURT: 1
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 0.74% max: 1.35% x̄: 1.04% x̃: 1.04%
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 9.09% max: 9.09% x̄: 9.09% x̃: 9.09%
total bundles in shared programs: 25675 -> 25640 (-0.14%)
bundles in affected programs: 5434 -> 5399 (-0.64%)
helped: 34
HURT: 0
helped stats (abs) min: 1 max: 2 x̄: 1.03 x̃: 1
helped stats (rel) min: 0.27% max: 20.00% x̄: 2.29% x̃: 0.67%
95% mean confidence interval for bundles value: -1.09 -0.97
95% mean confidence interval for bundles %-change: -3.64% -0.94%
Bundles are helped.
total quadwords in shared programs: 40887 -> 40899 (0.03%)
quadwords in affected programs: 1995 -> 2007 (0.60%)
helped: 2
HURT: 16
helped stats (abs) min: 1 max: 3 x̄: 2.00 x̃: 2
helped stats (rel) min: 1.67% max: 2.40% x̄: 2.03% x̃: 2.03%
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 0.54% max: 5.88% x̄: 1.40% x̃: 0.86%
95% mean confidence interval for quadwords value: 0.15 1.18
95% mean confidence interval for quadwords %-change: 0.13% 1.90%
Quadwords are HURT.
total registers in shared programs: 3916 -> 3917 (0.03%)
registers in affected programs: 2 -> 3 (50.00%)
helped: 0
HURT: 1
total threads in shared programs: 2455 -> 2455 (0.00%)
threads in affected programs: 0 -> 0
helped: 0
HURT: 0
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5513 >
2020-07-02 13:37:10 -04:00
Alyssa Rosenzweig
14415d581a
pan/mdg: Remove bundle interference code
...
This incorrectly worked around the r1 issue fixed earlier.
total instructions in shared programs: 50514 -> 50509 (<.01%)
instructions in affected programs: 826 -> 821 (-0.61%)
helped: 10
HURT: 5
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 1.10% max: 4.17% x̄: 2.04% x̃: 1.59%
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 1.16% max: 5.00% x̄: 3.10% x̃: 2.17%
95% mean confidence interval for instructions value: -0.87 0.21
95% mean confidence interval for instructions %-change: -1.90% 1.25%
Inconclusive result (value mean confidence interval includes 0).
total bundles in shared programs: 25680 -> 25675 (-0.02%)
bundles in affected programs: 539 -> 534 (-0.93%)
helped: 10
HURT: 5
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 1.54% max: 9.09% x̄: 3.51% x̃: 2.22%
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 2.22% max: 8.33% x̄: 5.44% x̃: 4.17%
95% mean confidence interval for bundles value: -0.87 0.21
95% mean confidence interval for bundles %-change: -3.40% 2.35%
Inconclusive result (value mean confidence interval includes 0).
total quadwords in shared programs: 40887 -> 40887 (0.00%)
quadwords in affected programs: 0 -> 0
helped: 0
HURT: 0
total registers in shared programs: 3916 -> 3916 (0.00%)
registers in affected programs: 22 -> 22 (0.00%)
helped: 2
HURT: 2
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 16.67% max: 25.00% x̄: 20.83% x̃: 20.83%
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 16.67% max: 16.67% x̄: 16.67% x̃: 16.67%
95% mean confidence interval for registers value: -1.84 1.84
95% mean confidence interval for registers %-change: -36.96% 32.79%
Inconclusive result (value mean confidence interval includes 0).
total threads in shared programs: 2455 -> 2455 (0.00%)
threads in affected programs: 0 -> 0
helped: 0
HURT: 0
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5513 >
2020-07-02 13:37:10 -04:00
Alyssa Rosenzweig
5a43f7fcce
pan/mdg: Don't assign destination in writeout block to r1
...
It will misbehave.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5513 >
2020-07-02 13:37:10 -04:00
Alyssa Rosenzweig
d838cb96a5
pan/mdg: Defer nir_fuse_io_16 until after opts
...
Sometimes DCE/etc can opt out things that would force 32-bit, so this is
worthwhile.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5513 >
2020-07-02 13:37:10 -04:00
Alyssa Rosenzweig
78df3b0375
panfrost: Specify stack_shift on SFBD
...
Fixes spilling on T720.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5513 >
2020-07-02 13:37:10 -04:00
Christian Gmeiner
64cdc1311b
etnaviv: move ra into own file
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Acked-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690 >
2020-07-02 17:04:46 +00:00
Christian Gmeiner
027e9e8da3
etnaviv: move nir compiler related stuff into .c file
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Acked-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690 >
2020-07-02 17:04:46 +00:00
Christian Gmeiner
f1df033fcc
etnaviv: move functions that generate asm to own file
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Acked-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690 >
2020-07-02 17:04:46 +00:00
Christian Gmeiner
79427a0190
etnaviv: drop emit macro
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Acked-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690 >
2020-07-02 17:04:46 +00:00
Christian Gmeiner
624b8b4a92
etnaviv: merge struct etna_compile and etna_state
...
I see no good architectural reason for this split.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Acked-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690 >
2020-07-02 17:04:46 +00:00
Christian Gmeiner
0f025e8b81
etnaviv: move liveness related stuff into own file
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Acked-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690 >
2020-07-02 17:04:46 +00:00
Christian Gmeiner
9ae96d32dd
etnaviv: make more use of compile_error(..)
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Acked-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690 >
2020-07-02 17:04:46 +00:00
Christian Gmeiner
96670c8150
etnaviv: drop OPT_V define
...
Directly use NIR_PASS_V(..).
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Acked-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690 >
2020-07-02 17:04:46 +00:00
Christian Gmeiner
1636e14cfd
etnaviv: move etna_lower_alu(..) to etnaviv_nir.c
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Acked-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690 >
2020-07-02 17:04:46 +00:00
Christian Gmeiner
7460d4863d
etnaviv: get rid of etna_compile dependency
...
Needed prep change to be able to move alu lowering.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Acked-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690 >
2020-07-02 17:04:46 +00:00
Christian Gmeiner
12b15cbcbf
etnaviv: move etna_lower_io(..) to etnaviv_nir.c
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Acked-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690 >
2020-07-02 17:04:46 +00:00
Christian Gmeiner
ea17cbf16f
etnaviv: convert enums
...
Atm. it is not possible to move the enums to a header file
as they do not use an identifier but directly define an
object.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Acked-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690 >
2020-07-02 17:04:46 +00:00
Christian Gmeiner
34f776386c
etnaviv: delete not used struct
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Acked-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5690 >
2020-07-02 17:04:46 +00:00
Michel Dänzer
3cdc0d5098
ci: Move deploy stage between container & build stages
...
Having it as the last stage meant that the pages job could only run
once all other jobs had finished.
The new position means it can run in parallel with build jobs.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5711 >
2020-07-02 18:25:28 +02:00
Michel Dänzer
fc41ec16c8
ci: Use "when: always" for pages job
...
"when: on_success" meant that that the job wouldn't run automatically
until all jobs of all earlier stages passed, and would be skipped if
any of them failed. But we need to always run this job if any
documentation files were modified.
Fixes: 8e2cb8ef27 "gitlab-ci: Extend .ci-run-policy template for docs
jobs"
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5711 >
2020-07-02 18:25:25 +02:00
Samuel Pitoiset
ab9ecb607b
radv,vulkan: add a new x11 wsi drirc workaround for DOOM Eternal
...
DOOM Eternal happily creates a swapchain with 2 images for IMMEDIATE.
This fixes a 10% performance issue with RADV.
Cc: 20.1 <mesa-stable@lists.freedesktop.org >
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/5704 >
2020-07-02 08:31:57 +00:00
Samuel Pitoiset
311b9f2583
Revert "vulkan/wsi/x11: Ensure we create at least minImageCount images."
...
This breaks some games like Wolfenstein Youngblood or Wolfenstein 2
that crash at launch if the number of images is more than what they
expected.
We could add vk_x11_strict_image_count to fix these game bugs but
it seems more conservative to revert that change and add a new wsi
drirc workaround for Doom Eternal.
This reverts commit 5f97dfc4c8 .
Cc: 20.1 <mesa-stable@lists.freedesktop.org >
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/5704 >
2020-07-02 08:31:57 +00:00
Samuel Pitoiset
11a6a96f8a
radv: fix wide lines with multisample enabled
...
When set, EXPAND_LINE_WIDTH expands the line width by 1/cos(a),
where a is the minimum angle from horizontal or vertical. This
seems required by OpenGL line rasterization but not by Vulkan.
Similar to what AMDVLK and AMDGPU-PRO do for AA wide lines.
This fixes
dEQP-VK.rasterization.interpolation_multisample_*_bit.*lines_wide.
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/5698 >
2020-07-02 07:51:48 +00:00
Daniel Stone
efec833a18
CI: Disable Windows build due to unstable infrastructure
...
The Windows runner is having a lot of issues cloning repositories,
failing early due to an unhandled HTTP error. Temporarily disable it
until we can figure out what's going on and fix it.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5716 >
2020-07-02 07:26:25 +00:00
Mike Blumenkrantz
f2f57ef9f7
zink: implement Vk_EXT_index_type_uint8
...
this is a simple extension that enables using uint8-sized index buffers,
which lets us avoid having those go through primconvert
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5712 >
2020-07-02 07:11:27 +00:00
Samuel Pitoiset
53372175c9
radv: fix wide points and lines
...
The maximum value for both points and lines is 65536. This doesn't
fix anything known (just found this while looking in that area).
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/5696 >
2020-07-02 08:26:03 +02:00
Dave Airlie
8b8ffb12b4
docs: update llvmpipe GL 4.0 status
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778 >
2020-07-02 04:12:17 +00:00
Dave Airlie
af7a7f6ce7
ci: fixup tests after all indirect images fixes.
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778 >
2020-07-02 04:12:17 +00:00
Dave Airlie
0ecae0ac0b
llvmpipe: handle indirect images properly
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778 >
2020-07-02 04:12:17 +00:00
Dave Airlie
b7b22b735d
draw/sample: add support for indirect images
...
This uses the array functions to implement indirect image support
for draw shaders
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778 >
2020-07-02 04:12:17 +00:00
Dave Airlie
e6f7fe3324
gallivm/nir: add support for indirect image loading
...
This adds support for indirect image loading, image stores
can cause images with different formats to be stored to,
so this operates like the texture code now.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778 >
2020-07-02 04:12:17 +00:00
Dave Airlie
bc1ac7dc3f
gallivm/img: refactor out the texel return type (v2)
...
v2:
refactor to just pass type as pointed out by Roland.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778 >
2020-07-02 04:12:17 +00:00
Dave Airlie
6e25a5a375
gallivm/nir: refactor image operations for indirect support.
...
This just refactors the image code, so that outdata is passed
explicitly, and refactors the internal handling of NONE formats.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778 >
2020-07-02 04:12:17 +00:00
Dave Airlie
3ca3b07fc1
gallivm/nir: support passing image index into image code.
...
This doesn't do anything yet, just adds parsing support for it.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778 >
2020-07-02 04:12:17 +00:00
Dave Airlie
f75c1e83e2
llvmpipe: pass number of images into image soa create
...
Just store this for now to use later with indexing
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778 >
2020-07-02 04:12:17 +00:00
Dave Airlie
8a4ef09e7e
draw: pass number of images to image soa create
...
This is stored for now but will be used as part of indirect
image support
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778 >
2020-07-02 04:12:17 +00:00
Dave Airlie
ee10f24a31
llvmpipe: enable ARB_gpu_shader5
...
This isn't fully free of bugs, but it's good to get CI working,
so fixing those bugs doesn't break anything.
The main buggy areas are missing indirect texture size,
and transform feedback geometry streams.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778 >
2020-07-02 04:12:17 +00:00
Dave Airlie
8807bdb1b7
gallivm/sample: handle size unit offset
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778 >
2020-07-02 04:12:17 +00:00
Dave Airlie
d243655d34
llvmpipe/draw: wire up indirect offset
...
This bounds checks and adds to the llvm index.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778 >
2020-07-02 04:12:17 +00:00
Dave Airlie
3b973eab73
gallivm/sample: pass indirect offset into texture/image units
...
This isn't needed for the basic indirect code, but it is needed for
texture size/image size unfortunately. They could be done with a super
switch, but it seems simple to query them.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778 >
2020-07-02 04:12:17 +00:00
Dave Airlie
e168d148d7
gallivm/nir: handle non-uniform texture offsets
...
The way we construt vertex/geom shaders means these can
diverge, so we have to just hammer it out manually,
there are likely optimisation opportuniities in here
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778 >
2020-07-02 04:12:17 +00:00
Dave Airlie
9172e405ef
gallivm/nir: add texture unit indexing
...
This hooks up the index from NIR into the sampler code.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778 >
2020-07-02 04:12:17 +00:00
Dave Airlie
52a050ea0a
llvmpipe: add support for indirect texture access.
...
This hooks up the sampler switch statement generator
to the llvmpipe sampler interface.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778 >
2020-07-02 04:12:17 +00:00
Dave Airlie
6dc904f600
draw: add support for indirect texture access
...
This hooks up the switch statement generator to the draw code.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778 >
2020-07-02 04:12:17 +00:00
Dave Airlie
28f906ad91
gallivm: add indirect texture switch statement builder.
...
This adds the apis to add an indirect accessor for arrays
of textures, using an LLVM switch statement and per-texture
sampler functions.
It also adds the indexer to the sampler parameters
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778 >
2020-07-02 04:12:16 +00:00
Dave Airlie
8b15a08ebd
gallivm/sample: change texture function generator api
...
This passes some more paramters in directly and changes how
the returns are done in order to reuse this function for
indirect texture support later.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778 >
2020-07-02 04:12:16 +00:00
Dave Airlie
30c5cbbcd2
llvmpipe: pass number of samplers into llvm sampler code.
...
This is to be used later for indirect texture access
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778 >
2020-07-02 04:12:16 +00:00
Dave Airlie
6528a24cc5
draw: pass nr_samplers into llvm sample state creation.
...
This will be used later to handle indirect texture support.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778 >
2020-07-02 04:12:16 +00:00
Timothy Arceri
d55aa78615
nir: add missing break to nir_opt_access()
...
Fixes: f2d0e48ddc ("glsl/nir: Add optimization pass for access flags")
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5714 >
2020-07-02 12:11:30 +10:00
Timothy Arceri
b8409a6af7
egl: move fallthrough comment so gcc can see it
...
Acked-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5714 >
2020-07-02 12:11:30 +10:00
Timothy Arceri
0d5427fa44
iris: add missing fallthrough comment
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5714 >
2020-07-02 12:11:30 +10:00
Timothy Arceri
1a8f918050
intel/compiler: add and fix up fallthrough comments for gcc warnings
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5714 >
2020-07-02 12:11:30 +10:00
Timothy Arceri
512db7ec78
anv: update fallthrough comment so gcc sees it
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5714 >
2020-07-02 12:11:30 +10:00
Timothy Arceri
06dc2f3f47
gallivm: add missing break
...
Fixes: 26c5ae80f0 ("llvmpipe: enable ARB_shader_group_vote")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5714 >
2020-07-02 12:11:30 +10:00
Timothy Arceri
2ed35c7102
llvmpipe: add missing fallthrough comments
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5714 >
2020-07-02 12:11:30 +10:00
Timothy Arceri
de4004f8ba
i965: add and fix fallthrough comments
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5714 >
2020-07-02 12:11:30 +10:00
Matt Turner
8da810a7fb
intel/compiler: Don't emit no-op cr0 changes
...
If mask is 0, we're asking for no changes to cr0.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5566 >
2020-07-02 01:24:06 +00:00
Matt Turner
fe14dc98bf
intel/compiler: Add assert that set bits are within mask
...
We generate bitfields of bits that we want to retain (mask) and bits
that we want to set (brw_mode) in the cr0 register, so the bits we want
to set should be in the set of bits we want to retain.
Also, remove the initialization of mask from
fs_visitor::emit_shader_float_controls_execution_mode since
brw_rnd_mode_from_nir initializes the mask parameter unconditionally.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5566 >
2020-07-02 01:24:06 +00:00
Greg V
29e2a3b8f5
gallium,util: undef ALIGN on FreeBSD to prevent name clash
...
Some rare headers like ipc/shm and pthread_np cause
machine/param.h to be included which defines a macro called ALIGN.
Signed-off-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3559 >
2020-07-01 16:47:05 +00:00
Emmanuel
f678811b56
i965: Explicitly cast value to uint64_t
...
In FreeBSD x86 and aarch64 __u64 is typedef to unsigned long and
is the same size as unsigned long long.
Since we are explicitly specifying the format, cast the value
to the proper type.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Signed-off-by: Emmanuel <manu@FreeBSD.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3559 >
2020-07-01 16:47:05 +00:00
Emmanuel
565a80450d
iris: Explicitly cast value to uint64_t
...
In FreeBSD x86 and aarch64 __u64 is typedef to unsigned long and
is the same size as unsigned long long.
Since we are explicitly specifying the format, cast the value
to the proper type.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Signed-off-by: Emmanuel <manu@FreeBSD.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3559 >
2020-07-01 16:47:05 +00:00
Emmanuel
708db983dd
meson: Do not enable USE_ELF_TLS for FreeBSD
...
Compiling with this option result in too much TLS usage and FreeBSD
cannot handle that.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Signed-off-by: Emmanuel <manu@FreeBSD.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3559 >
2020-07-01 16:47:05 +00:00
Michel Dänzer
6cba468b5e
gitlab-ci: Do not create the "success" job when the test-docs job exists
...
It's redundant in that case.
v2:
* Adapt to v2 of test-docs job rules.
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5469 >
2020-07-01 14:31:38 +00:00
Michel Dänzer
8e2cb8ef27
gitlab-ci: Extend .ci-run-policy template for docs jobs
...
Requires using rules: in the pages job as well, so it doesn't inherit
the rules from the template.
v2:
* Add comment explaining that cases not covered by explicit rules
default to "when: never".
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5469 >
2020-07-01 14:31:38 +00:00
Michel Dänzer
1c612e8c09
gitlab-ci: Use rules: instead of except:/only: for test-docs job
...
Only run the job automatically for Marge Bot, otherwise let it be
triggered manually.
v2:
* Never run this job for the main project, since it's only needed in
pre-merge pipelines.
* Add comment explaining that cases not covered by explicit rules
default to "when: never".
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5469 >
2020-07-01 14:31:38 +00:00
Erik Faye-Lund
196ac4c6f3
ci: move test-docs to container stage
...
While we're at it, rename it to reflect that we're now also testing docs
here.
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5469 >
2020-07-01 14:31:38 +00:00
Erik Faye-Lund
28ca70b6b6
ci: move deploy-stage later in the pipeline
...
This makes it not clutter up the pipeline results page so much.
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5469 >
2020-07-01 14:31:38 +00:00
Erik Faye-Lund
8774707b1e
ci: test docs for non-master builds
...
This ensures that we test on CI before merge-requests gets merged.
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5469 >
2020-07-01 14:31:38 +00:00
Erik Faye-Lund
24fe9f43e5
ci: only build docs if any docs changed
...
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5469 >
2020-07-01 14:31:38 +00:00
Erik Faye-Lund
d1ca80235d
ci: only build docs in the upstream-repo
...
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5469 >
2020-07-01 14:31:38 +00:00
Jonathan Marek
9bebbf5867
freedreno/ir3: add support for INTERP_MODE_NOPERSPECTIVE
...
Check the interp mode and use SYSTEM_VALUE_BARYCENTRIC_LINEAR_* instead
when it is INTERP_MODE_NOPERSPECTIVE.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5582 >
2020-07-01 13:52:59 +00:00
Jonathan Marek
0f5c9f9713
turnip: set missing bary sysvals
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5582 >
2020-07-01 13:52:59 +00:00
Jonathan Marek
2453f2bdb7
freedreno/a6xx: set missing bary sysvals
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5582 >
2020-07-01 13:52:59 +00:00
Jonathan Marek
dadfb4ec58
freedreno/a5xx: set missing bary sysvals
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5582 >
2020-07-01 13:52:59 +00:00
Jonathan Marek
33457fc705
freedreno/ir3: add generic get_barycentric()
...
This will be useful to support the missing barycentric sysvals.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5582 >
2020-07-01 13:52:59 +00:00
Jonathan Marek
75fef41f16
freedreno/a4xx: fake LINEAR_PIXEL varying support for u_blitter
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5582 >
2020-07-01 13:52:59 +00:00
Jonathan Marek
0d419c76bb
freedreno/a3xx: support LINEAR_PIXEL/PERSP_CENTROID/LINEAR_CENTROID sysvals
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5582 >
2020-07-01 13:52:59 +00:00
Jonathan Marek
2e9ded21d1
freedreno/registers: update varying-related registers
...
Note:
* a3xx change based on available register documentation
* a4xx guesses (RB_RENDER_CONTROL2 bits especially)
* a5xx change based on a6xx, these registers seem identical
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5582 >
2020-07-01 13:52:59 +00:00
Michel Dänzer
549b4a3dd4
gitlab-ci: Automatically run pipelines for Marge Bot pre-merge only
...
Marge only merges an MR if the pipeline passed. Running the pipeline
again after merging is redundant.
v2:
* Add rule to ensure docker images are up to date in the main project
registry (Eric Anholt)
Reviewed-by: Eric Anholt <eric@anholt.net >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5680 >
2020-07-01 12:44:41 +02:00
Iago Toral Quiroga
8456ff75b3
v3d/compiler: fix image size for 1D arrays
...
Reviewed by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5692 >
2020-07-01 10:01:46 +00:00
Pierre-Eric Pelloux-Prayer
5f1a16d06d
st/mesa: do not clear NewDriverState for inactive states
...
Fixes: 085aa7f91e ("st/mesa: don't update atomic, SSBO, UBO and TBO states that have no effect")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2951
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5660 >
2020-07-01 09:44:59 +02:00
Erik Faye-Lund
7940b47de6
gallium/docs: remove unused imgmath extension
...
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5691 >
2020-07-01 07:29:21 +00:00
Erik Faye-Lund
27dcdbcc96
gallium/docs: remove non-existent static dir
...
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5691 >
2020-07-01 07:29:21 +00:00
Erik Faye-Lund
1d7bb2dde0
gallium/docs: prefix exts dir with underscore
...
It's generally considered good practice to use underscore-prefixes for
directories that contains non-doumentation files, so let's do this for
our custom extensions as well.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5691 >
2020-07-01 07:29:21 +00:00
Erik Faye-Lund
47d3b80428
gallium/docs: use none for highlight_language
...
We have much more blocks that are of no particular language (mostly
custom ASM variants), so let's instead opt in if we want
syntax-highlighting.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5691 >
2020-07-01 07:29:21 +00:00
Erik Faye-Lund
686f6c7206
gallium/docs: remove reference to non-existent label
...
This label was removed a long time ago, let's also remove the reference
to it.
Fixes: 3acd7a34ab ("st/vega: Remove.")
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5691 >
2020-07-01 07:29:21 +00:00
Erik Faye-Lund
686cf8eaad
gallium/docs: fixup formatting of numbered lists
...
Fixes: 0caf74bbcd ("gallium: add PIPE_CAP_FRAMEBUFFER_MSAA_CONSTRAINTS")
Fixes: 8632626c81 ("gallium: add pipe_resource::nr_storage_samples, and set it same as nr_samples")
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5691 >
2020-07-01 07:29:21 +00:00
Erik Faye-Lund
7f5061c0b7
gallium/docs: update to recent sphinx
...
add_description_unit has been deprectated for a really long time, and was
finally removed (seemingly in Sphinx 2.0, but this doesn't seem to be
properly documented anywhere I can find), so we shouldn't be using this
any more.
Anyway, let's update the code.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5691 >
2020-07-01 07:29:21 +00:00
Dave Airlie
2bf2e6c83d
draw/llvm: fix big-endian mask adjusting
...
This code was broken, but it worked by accident, as the
pad and the edgeflag were reversed, however when Roland
removed the cliptest field back in 2015, he stopped copying
the pad which actually stopped copy the edgeflag.
Fix the function to actually copy the edgeflag.
Fixes: 1b22815af6 ("draw: don't pretend have_clipdist is per-vertex")
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5679 >
2020-07-01 09:52:56 +10:00
Dave Airlie
0e6dfd11f2
mesa/get: fix enum16 big-endian getting.
...
These values were getting casted up to 32-bit, but then extracted
via 16-bit pointer later. Just store via 16-bit.
Fixes a lot of piglit on s390
Fixes: f96a69f916 ("mesa: replace GLenum with GLenum16 in common structures (v4)");
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5679 >
2020-07-01 09:52:56 +10:00
Dave Airlie
b743c9bf2d
llvmpipe: fix occlusion queries on big-endian.
...
Casting to u8 arrays and picking the lowest byte is fairly LE specific
grab the other byte.
Cc: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5679 >
2020-07-01 09:52:56 +10:00
Dave Airlie
3aeb61da49
gallivm/nir: fix big-endian 64-bit splitting/merging.
...
The shuffles need to be swapped to do this properly on big-endian
Cc: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5679 >
2020-07-01 09:52:56 +10:00
Dave Airlie
9286605276
glsl: fix constant packing for 64-bit big endian.
...
In a piglit run on s390 a lot of double tests fail, explicitly
packing/shifting things rather than using memcpy seems to help
Cc: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5679 >
2020-07-01 09:52:48 +10:00
Eric Engestrom
2cd466bf34
docs: add a page explaining the GitLab CI and the Intel CI
...
This explains what they are, what they do and how to use them.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Clayton Craft <clayton.a.craft@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2250 >
2020-06-30 22:58:08 +00:00
Dylan Baker
fde25a6ed9
mesa/swrast: use logf2 instead of util_fast_log2
...
The fast version is apparently not accurate enough. I wrote a very
simply test program that called logf2 and the old LOG2 function 100000
times. Across that the two functions had very similar run times, neither
appeared meaningfully faster, so the optimization of bringing back yet
another way to calculate log2f seems pointless.
Fixes: bd4e769515
("replace LOG2 with util_fast_log2")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2856
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5406 >
2020-06-30 21:43:22 +00:00
Jan Beich
2e5b214506
anv: disable i915_perf warning on non-Linux
...
$ vkcube
INTEL-MESA: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5461 >
2020-06-30 21:05:52 +00:00
Frédéric Bonnard
5a27efdf0e
meson: Revert commit overriding C++ standard with gnu++11 on ppc64el
...
Since a few versions, mesa now needs c++14 and compiling with gnu++11
on ppc64el fails.
Let's use the default standard and fix the collision of types between
c++ and altivec in a another patch.
Cc: mesa-stable
Signed-off-by: Frédéric Bonnard <frediz@debian.org >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4948 >
2020-06-30 20:44:07 +00:00
Frédéric Bonnard
cd7acd09b9
clover: Fix types collision between c++ and altivec
...
For that, we undefine bool, vector, pixel as advised by altivec.h in the
specific case that defines them.
Cc: mesa-stable
Signed-off-by: Frédéric Bonnard <frediz@debian.org >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4948 >
2020-06-30 20:44:07 +00:00
Alyssa Rosenzweig
54d7907c27
nir: Propagate *2*16 conversions into vectors
...
If we have code like:
('f2f16', ('vec2', ('f2f32', 'a@16'), '#b@32'))
We would like to eliminate the conversions, but the existing rules can't
see into the the (heterogenous) vector. So instead of trying to
eliminate in one pass, we add opts to propagate the f2f16 into the
vector. Even if nothing further happens, this is often a win since then
the created vector is smaller (half2 instead of float2). Hence the above
gets transformed to
('vec2', ('f2f16', ('f2f32', 'a@16')), ('f2f16', '#b@32'))
Then the existing f2f16(f2f32) rule will kick in for the first component
and constant folding will for the second and we'll be left with
('vec2', 'a@16', '#b@16')
...eliminating all conversions.
v2: Predicate on !options->vectorize_vec2_16bit. As discussed, this
optimization helps greatly on true vector architectures (like Midgard)
but wreaks havoc on more modern SIMD-within-a-register architectures
(like Bifrost and modern AMD). So let's predicate on that.
v3: Extend for integers as well and add a comment explaining the
transforms.
Results on Midgard (unfortunately a true SIMD architecture):
total instructions in shared programs: 51359 -> 50963 (-0.77%)
instructions in affected programs: 4523 -> 4127 (-8.76%)
helped: 53
HURT: 0
helped stats (abs) min: 1 max: 86 x̄: 7.47 x̃: 6
helped stats (rel) min: 1.71% max: 28.00% x̄: 9.66% x̃: 7.34%
95% mean confidence interval for instructions value: -10.58 -4.36
95% mean confidence interval for instructions %-change: -11.45% -7.88%
Instructions are helped.
total bundles in shared programs: 25825 -> 25670 (-0.60%)
bundles in affected programs: 2057 -> 1902 (-7.54%)
helped: 53
HURT: 0
helped stats (abs) min: 1 max: 26 x̄: 2.92 x̃: 2
helped stats (rel) min: 2.86% max: 30.00% x̄: 8.64% x̃: 8.33%
95% mean confidence interval for bundles value: -3.93 -1.92
95% mean confidence interval for bundles %-change: -10.69% -6.59%
Bundles are helped.
total quadwords in shared programs: 41359 -> 41055 (-0.74%)
quadwords in affected programs: 3801 -> 3497 (-8.00%)
helped: 57
HURT: 0
helped stats (abs) min: 1 max: 57 x̄: 5.33 x̃: 4
helped stats (rel) min: 1.92% max: 21.05% x̄: 8.22% x̃: 6.67%
95% mean confidence interval for quadwords value: -7.35 -3.32
95% mean confidence interval for quadwords %-change: -9.54% -6.90%
Quadwords are helped.
total registers in shared programs: 3849 -> 3807 (-1.09%)
registers in affected programs: 167 -> 125 (-25.15%)
helped: 32
HURT: 1
helped stats (abs) min: 1 max: 3 x̄: 1.34 x̃: 1
helped stats (rel) min: 20.00% max: 50.00% x̄: 26.35% x̃: 20.00%
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 16.67% max: 16.67% x̄: 16.67% x̃: 16.67%
95% mean confidence interval for registers value: -1.54 -1.00
95% mean confidence interval for registers %-change: -29.41% -20.69%
Registers are helped.
total threads in shared programs: 2471 -> 2520 (1.98%)
threads in affected programs: 49 -> 98 (100.00%)
helped: 25
HURT: 0
helped stats (abs) min: 1 max: 2 x̄: 1.96 x̃: 2
helped stats (rel) min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00%
95% mean confidence interval for threads value: 1.88 2.04
95% mean confidence interval for threads %-change: 100.00% 100.00%
Threads are [helped].
total spills in shared programs: 168 -> 168 (0.00%)
spills in affected programs: 0 -> 0
helped: 0
HURT: 0
total fills in shared programs: 186 -> 186 (0.00%)
fills in affected programs: 0 -> 0
helped: 0
HURT: 0
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4999 >
2020-06-30 16:21:33 +00:00
Icecream95
3e3958c44f
panfrost: Do fine-grained flushing for occlusion query results
...
This allows doing occlusion queries in one frame and getting the
results in the next frame without having to flush.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5676 >
2020-06-30 15:14:05 +00:00
Shawn Guo
b1d309eaa3
freedreno/a4xx: fix *_NONE enum conversion
...
Commit e369b8931c ("freedreno: Use explicit *_NONE enum for undefined
formats") only partially converts ~0 to *_NONE enum. It breaks texture
support, and glmark2 texture scene gives a black screen.
Adding the missing conversion of ~0 to *_NONE enum fixes the issue.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5693 >
2020-06-30 14:23:29 +00:00
Daniel Stone
fa67392048
CI: Re-enable Panfrost T860 jobs
...
The lab is back online.
This reverts commit 34db50558d .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5694 >
2020-06-30 14:49:16 +01:00
Marek Olšák
50d7553600
radeonsi: add a debug option to enable NGG culling for tessellation
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5524 >
2020-06-30 10:56:41 +00:00
Marek Olšák
b0c77a5f1d
radeonsi: don't try to enable NGG culling for GS
...
It doesn't do anything.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5524 >
2020-06-30 10:56:41 +00:00
Marek Olšák
90cf741d31
radeonsi: always use Wave64 for HS/GS/VS shader stages (except GS fast launch)
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5524 >
2020-06-30 10:56:41 +00:00
Marek Olšák
9049e39804
radeonsi: always use Wave32 for GS fast launch, because Wave64 hangs
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5524 >
2020-06-30 10:56:41 +00:00
Marek Olšák
8fff9beb44
radeonsi: fix NGG culling for Wave64
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5524 >
2020-06-30 10:56:41 +00:00
Marek Olšák
2866a6f78d
ac/gpu_info: fix num_physical_sgprs_per_simd for gfx10
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5524 >
2020-06-30 10:56:41 +00:00
Marek Olšák
1401fc055c
radeonsi: don't flush in fence_server_sync
...
This reverts commit 50b06cbc10 and fixes
an Android performance regression.
Fixes: 50b06cbc10 "radeonsi: fix fence_server_sync() holding up extra work v2"
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5602 >
2020-06-30 06:38:50 -04:00
Daniel Stone
34db50558d
CI: Temporarily disable Panfrost T860 jobs
...
Phase two of our network reconfiguration is happening this afternoon, so
we need to drop our RK3399 out for a little while. (Part of this
reconfiguration is to shard our devices across networks and racks, so
losing one part of our infrastructure doesn't mean losing any particular
device type.)
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5689 >
2020-06-30 10:34:51 +01:00
Daniel Stone
bb703d4247
CI: Re-enable the Windows VS2019 build job
...
Let's try this and see how it goes.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5689 >
2020-06-30 10:34:05 +01:00
Daniel Stone
e3e1e9f82c
CI: Correct build-directory path on Windows, and keep it
...
Build job artifacts capture Meson logs from _build, so we can analyse
what Meson did during configuration, as well as the full output of any
test jobs.
We were previously calling our build directory 'build', which meant it
wouldn't have been captured by the artifacts, and we were also deleting
it to make really sure there was no chance of logs getting captured
either.
Rename the build directory to '_build' to match the others, and don't
delete it either, so we can keep our configure/test logs.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5689 >
2020-06-30 10:34:02 +01:00
Daniel Stone
ee056dfef6
CI: Try shared libraries on Windows
...
This might make linking a bit less prone to OOM when trying to pull in
LLVM.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5689 >
2020-06-30 10:33:59 +01:00
Daniel Stone
97b4b1254e
CI: Enable assertions on Windows
...
Getting assertion failures is helpful to have, even if we are doing a
release build.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5689 >
2020-06-30 10:33:38 +01:00
Pierre-Eric Pelloux-Prayer
5a05f9714b
radeonsi: bump SI_NUM_SHADER_BUFFERS to 32
...
Some app uses more than 8 SSBOs (https://gitlab.freedesktop.org/mesa/mesa/-/issues/2946 ),
so increase SI_NUM_SHADER_BUFFERS to 32 (which allows 16 SSBOs).
Since we're now using a 64 bits number to track buffers, we could bump
SI_NUM_SHADER_BUFFERS to 48 but that would conflict with Mesa's
MAX_COMBINED_ATOMIC_BUFFERS limit (= 90).
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2122
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5632 >
2020-06-30 09:23:14 +02:00
Timothy Arceri
7e8cfc0add
glsl: remove stale FIXME
...
This is no longer an issue, was likely fixed years ago.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5657 >
2020-06-30 01:56:36 +00:00
Timothy Arceri
64a2500a69
st/glsl_to_nir: disable st_nir_lower_builtin() when packing supported
...
There is no need to lower builtins when uniform packing is
supported by the driver. Lowering is only required by other drivers
because we prepack builtin uniforms.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3140
CC: <stable@lists.freedesktop.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5656 >
2020-06-30 01:29:43 +00:00
Timothy Arceri
4cca5137ae
glsl: define gl_LightSource members in ARB_vertex_program order
...
GLSL shares functionality with ARB_vertex_program but the GLSL
spec defines the gl_LightSource builtin with a member order that
is different from the packing expected in ARB_vertex_program.
This difference introduces a need for specialist lowering code
when handling builtin structs that is not required for normal
uniform structs due to member location mismatches.
Since gl_LightSource can't be redefined it shouldn't matter if
we add the members in the order listed in the spec, just so long
as we add them all. So here we rearrange the definition of the
glsl builtin to reflex our internal layout and that of
ARB_vertex_program. This required for the following patch.
CC: <stable@lists.freedesktop.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5656 >
2020-06-30 01:29:43 +00:00
Timothy Arceri
5ddab654d9
mesa: add _mesa_program_state_value_size() helper
...
This allows us to query the uniform size required to store the
state value.
CC: <stable@lists.freedesktop.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5656 >
2020-06-30 01:29:43 +00:00
Timothy Arceri
0e7b1a6b1a
mesa: remove _mesa prefix from static function
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5656 >
2020-06-30 01:29:42 +00:00
Mike Blumenkrantz
849227d70f
zink: set lower_uadd_carry in nir options
...
fixes a bunch of mulextended piglit tests
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5685 >
2020-06-29 16:03:51 -04:00
Michel Dänzer
d7d7687829
loader/dri3: Check for window destruction in dri3_wait_for_event_locked
...
If the underlying X11 window gets destroyed, the event we're waiting
for may never be delivered, in which case xcb_wait_for_special_event
would hang indefinitely.
Solution:
1. Use xcb_poll_for_special_event to check if an event has arrived yet.
2. If not, Wait up to ~1s for XCB's file descriptor to become readable;
if it does, go back to step 1.
3. If the file descriptor didn't become readable, make a round-trip to
the X server to check that the window still exists. Go back to step
1 if it does, otherwise bail.
Also add an early bail-out when it's known that the window was
destroyed.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/116
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5368 >
2020-06-29 17:05:52 +00:00
Michel Dänzer
7c226116c6
loader/dri3: Use dri3_wait_for_event_locked in loader_dri3_wait_for_msc
...
Before, if one thread ended up waiting in dri3_wait_for_event_locked
and another one in loader_dri3_wait_for_msc at the same time, one thread
could end up processing an event the other thread was waiting for, which
could result in the latter thread waiting longer than necessary
(possibly indefinitely).
Noticed by inspection.
v2:
* Drop xcb_flush call from loader_dri3_wait_for_msc in favour of the one
in dri3_wait_for_event_locked (Kenneth Graunke)
Fixes: 7b0e8264dd "loader/dri3: Try to make sure we only process our
own NotifyMSC events"
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5368 >
2020-06-29 17:05:52 +00:00
Michel Dänzer
ee77951714
loader/dri3: Add dri3_wait_for_event_locked full_sequence out parameter
...
Preparation for the next commit, no functional change intended.
Cc: mesa-stable
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5368 >
2020-06-29 17:05:52 +00:00
Eric Anholt
08c39a8a29
v3d: Fix -Wmaybe-uninitialized compiler warning in the v33 code.
...
We weren't initializing the VCM bits in the !gs path, but v33 doesn't have
GS so we can just mark it unreachable.
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2952 >
2020-06-29 09:07:23 -07:00
Eric Anholt
f55a308c75
v3d: Enable PIPE_CAP_TGSI_TEXCOORD.
...
Dave wants to drop the !TEXCOORD path from NIR, and it's easy enough to
do. Untested.
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2952 >
2020-06-29 09:07:21 -07:00
Eric Anholt
a60e8dfdc5
vc4: Enable PIPE_CAP_TGSI_TEXCOORD.
...
Dave wants to drop the !TEXCOORD path from NIR, and it's easy enough to
do. Untested.
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2952 >
2020-06-29 09:07:19 -07:00
Eric Anholt
64cb81a3a4
gallium/util: Add a helper function for point sprite handling.
...
Many drivers will need to do the same thing here, so consolidate it.
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2952 >
2020-06-29 09:07:17 -07:00
Jonathan Marek
622c548967
turnip: enable depthBiasClamp
...
Passes at least dEQP-VK.dynamic_state.rs_state.depth_bias_clamp
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5678 >
2020-06-29 13:08:51 +00:00
Jonathan Marek
0ed100ea49
turnip: enable largePoints
...
Passes dEQP-VK.rasterization.primitive_size.points.point_size_*
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5678 >
2020-06-29 13:08:51 +00:00
Jonathan Marek
cb10edd544
freedreno/regs: add extra bits for UBWC array pitch
...
This is not completely tested, but matches the max array pitch allowed by
A6XX_TEX_CONST_9_FLAG_BUFFER_ARRAY_PITCH.
Note this still doesn't allow all image sizes, but it allows 16384x16384
cpp=4 images to work.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5678 >
2020-06-29 13:08:51 +00:00
Satyajit Sahu
c425ca5566
frontends/va: Handle dynamic resolution/SVC for VP9
...
VP9 allows frame to use another resolution frame as reference
frames so updating the resolution for decoder when there is a
resolution change.
Signed-off-by: Satyajit Sahu <satyajit.sahu@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5646 >
2020-06-29 12:52:40 +00:00
Iago Toral Quiroga
653dff949e
v3d/compiler: fix spill offset
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Fixes: 97566efe5c ("v3d: Rematerialize MOVs of uniforms instead of spilling them.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5664 >
2020-06-29 14:21:25 +02:00
Samuel Pitoiset
7a5e6fd25f
radv: add support for MRTs compaction to avoid holes
...
SPI_SHADER_COL_FORMAT allocates export memory and CB_SHADER_MASK
map them to higher MRTs if necessary. The hardware allows to remap
MRTs to avoid holes somehow.
For example, if we have a scenario where MRT0 is unused and only
MRT1 and MRT2 are used, SPI_SHADER_COL_FORMAT is 0x77 and
CB_SHADER_MASK/CB_TARGET_MASK are 0x770 (this assumes
SPI_SHADER_UINT16_ABGR is set).
This allows us to remove one workaround that was added for fixing
GPU hangs with DXVK. I think this is because SPI_SHADER_COL_FORMAT
expects contiguous MRTs to be allocated.
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/5434 >
2020-06-29 08:43:14 +00:00
Samuel Pitoiset
4e0dcbb880
radv: use SPI_SHADER_ZERO for non-written color attachments
...
When colorWriteMask is 0 we can assume that this color attachment
is unused.
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/5434 >
2020-06-29 08:43:14 +00:00
Samuel Pitoiset
18b42eebd5
radv: rework 8/16-bit color attachment formats detection
...
To prepare for MRTs compaction.
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/5434 >
2020-06-29 08:43:14 +00:00
Samuel Pitoiset
76ee45d3a8
radv: adjust CB_SHADER_MASK for dual-source blending in the shader info pass
...
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/5434 >
2020-06-29 08:43:14 +00:00
Samuel Pitoiset
26a48d8d35
radv: enable VK_AMD_shader_ballot on GFX6-7 with both compiler backends
...
It gives +1-2 FPS with Doom Eternal on Pitcairn.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5659 >
2020-06-29 07:40:05 +00:00
Boris Brezillon
cff418cc4c
nir: Add new rules to optimize NOOP pack/unpack pairs
...
nir_load_store_vectorize_test.ssbo_load_adjacent_32_32_64_64 expectations
need to be fixed accordingly.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5589 >
2020-06-29 09:18:26 +02:00
Dave Airlie
237d728418
gallivm/nir: fix const loading on big endian systems
...
The code was expecting the lower 32-bits of the 64-bit to be
what it wanted, don't be implicit, pull the value from the union.
This should fix rendering on big endian systems since NIR was
introduced.
Fixes: 44a6b0107b ("gallivm: add nir->llvm translation (v2)")
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5677 >
2020-06-29 08:51:18 +10:00
Jonathan Marek
7d31bc9a34
freedreno/ir3: fix resinfo wrmask
...
resinfo always writes 3 components, which was not being taken into account
Fixes these tests:
dEQP-VK.renderpass.suballocation.attachment_sparse_filling.input_attachment_3
dEQP-VK.renderpass.suballocation.attachment_sparse_filling.input_attachment_7
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5674 >
2020-06-28 16:32:08 +00:00
Erik Faye-Lund
b1c16e5251
docs: use ref-links for internal references
...
Ref-link have two benefits over generic links:
1. They produce the right result for non-HTML outputs
2. They get validated at build-time
So let's use them for internal references instead.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5671 >
2020-06-28 09:06:57 +00:00
Erik Faye-Lund
5ee55b206a
docs: fix internal references
...
It seems last time I tried to fix these, I missed a few spots. So let's
try to get things right this time.
Fixes: 429ff05491 ("docs/relnotes: update internal references")
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5671 >
2020-06-28 09:06:57 +00:00
Erik Faye-Lund
1d250bf291
docs: restore accidentally dropped labels
...
These were accidentally dropped when cleaning up the TOC, making links to
them dead. Because we used plain links, sphinx didn't inform us that
these became dead. Let's restore them.
Fixes: 14f2a81b6f ("docs: drop open-coded toc for articles")
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5671 >
2020-06-28 09:06:57 +00:00
Erik Faye-Lund
05e61a9157
docs: remove non-existent reference
...
The section referenced here was removed a while ago, but it was always
empty anyway. Let's just remove it instead of trying to fix it up.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5671 >
2020-06-28 09:06:57 +00:00
Bas Nieuwenhuizen
3b74e6fa28
meson: Do not require shader cache for radv.
...
We fixed the compile error a while ago.
Fixes: cc10b34e9e "util/disk_cache: Fix disk_cache_get_function_timestamp with disabled cache."
Reviewed-by: Drew Davenport <ddavenport@chromium.org >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5649 >
2020-06-28 01:10:45 +00:00
Vinson Lee
c0c03f4772
rbug: Fix rbug_delete_vs_state lock acquisition.
...
Fix warning reported by Coverity Scan.
Double unlock (LOCK)
double_unlock: mtx_unlock unlocks rb_pipe->call_mutex while it is
unlocked.
Fixes: 07838ff990 ("rbug: Use the call mutex")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3023
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Jakob Bornecrantz <jakob@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5196 >
2020-06-27 00:21:27 +00:00
Alejandro Piñeiro
583d7d3d8d
v3d: moving v3d simulator to src/broadcom
...
So it could be used by both the OpenGL and the Vulkan driver.
In addition to the move, some small changes were needed to be made on
the API. For example, the simulator was receiving v3d_screen on
initialization, and that code setted v3d_screen->sim_file. Now it
returns the new sim_file created.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5666 >
2020-06-27 00:06:58 +00:00
Kristian H. Kristensen
4fccbd0ea6
turnip: Put VK_KHR_external_fence_fd stubs back
...
tu_ImportFenceFdKHR is used by tu_AcquireImageANDROID, which may or
may not work, but let's at least keep things compiling until somebody
has time to tie up the loose ends on the Android side.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5670 >
2020-06-26 16:29:15 -07:00
Kenneth Graunke
39f06e2848
iris: Implement pipe->texture_subdata directly
...
Chris Wilson noted that u_default_texture_subdata's transfer path
sometimes results in wasteful double copies. This patch is based
on an earlier path he wrote, but updated now that we have staging
blits for busy or compressed textures.
Consider the case of idle, non-CCS-compressed, tiled images:
The transfer-based CPU path has to return a "linear" mapping, so upon
map, it mallocs a temporary buffer. u_default_texture_subdata then
copies the client memory to this malloc'd buffer, and transfer unmap
performs a tiled_memcpy to copy it back into the texture. By writing
a direct texture_subdata() implementation, we're able to directly do
a tiled_memcpy from the client memory into the destination texture,
resulting in only one copy.
For linear buffers, there is no advantage to doing things directly, so
we simply fall back to u_default_texture_subdata()'s transfer path to
avoid replicating those cases.
We still may want to use GPU staging buffers for busy destinations
(to avoid stalls) or CCS-compressed images (to compress the data),
at which point we also fall back to the existing path. We thought
to try and use a tiled temporary, but this didn't appear to help.
Improves performance in x11perf -shmput500 by 1.96x on my Icelake.
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2500
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3818 >
2020-06-26 21:20:41 +00:00
Eric Anholt
34630fe081
turnip: Properly return VK_DEVICE_LOST on queuesubmit failures.
...
The device lost support closely matches the anv code for the same.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2769 >
2020-06-26 19:34:17 +00:00
Eric Anholt
487576e3cf
turnip: Fix error handling of DRM_MSM_GEM_INFO ioctls.
...
drmCommandWriteRead gives us a -errno, and we only checked for -1 (-EPERM,
incidentally). All the callers wanted 0 for errors, which they were
getting by the fact that req.value was 0-initialized in our stack
allocation (though this only works as long as the kernel doesn't return an
error after setting req.value to something), and -EPERM not really being
an answer we would expect from an ioctl at this stage in the driver.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2769 >
2020-06-26 19:34:17 +00:00
Eric Anholt
e67c2e1c96
turnip: Do better TU_DEBUG=startup logging of drmGetDevices2() failure.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2769 >
2020-06-26 19:34:17 +00:00
Bas Nieuwenhuizen
aba8c579a9
turnip: semaphore support.
...
There is only one queue for now, so for non-shared semaphores, the
implementation is basically a no-op. For shared semaphores, this
always uses syncobjs. This depends on syncobj support in the msm
kernel driver.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2769 >
2020-06-26 19:34:17 +00:00
Eric Anholt
6283da34a9
ci/baremetal: Bump the kernel to a recent drm-msm-fixes for msm semaphores.
...
We need this to test the new VK feature we're about to land.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2769 >
2020-06-26 19:34:17 +00:00
Daniel Schürmann
5c0f82b0d7
aco: fix partial copies on GFX6/7
...
While we don't allow partial subdword copies,
we still need to be able to split 64bit registers
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5663 >
2020-06-26 19:21:57 +00:00
Lepton Wu
66482303f6
mapi: x86: Fix dynamic entries in x86 tsd stubs.
...
We need to update dynamic entries related code after updating
asm stubs.
Fixes: 45206d7673 ("mapi: Adapted libglvnd x86 tsd changes")
Signed-off-by: Lepton Wu <lepton@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5598 >
2020-06-26 18:28:01 +00:00
Eric Anholt
63805ccd3f
ci/bare-metal: Fail early when we get stuck powering on a cheza.
...
I think I've seen about 3 of this error total so far, but waiting 60
minutes for the scripts to give up wastes marge time.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5651 >
2020-06-26 16:54:07 +00:00
Rob Clark
189a0fecf5
freedreno/ir3: move nir finalization to after cache miss
...
In cases where every variant is a shader-cache-hit, we never need the
post-finalize round of nir opt/lowering passes. So defer this until
the first shader-cache-miss to avoid doing pointless work.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5372 >
2020-06-26 08:55:21 -07:00
Rob Clark
f97acb4bb4
freedreno/ir3: disk-cache support
...
Adds a shader disk-cache for ir3 shader variants. Note that builds with
`-Dshader-cache=false` have no-op stubs with `disk_cache_create()` that
returns NULL.
Binning pass variants are serialized together with their draw-pass
counterparts, due to shared const-state.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5372 >
2020-06-26 08:55:19 -07:00
Rob Clark
6aadb00e60
freedreno/ir3: build binning variant at same time as draw variant
...
For shader-cache, we are going to want to serialize them together.
Which is awkward if the two related variants are not compiled together.
This also decouples allocation and compile, which will simplify adding
shader-cache (which still needs to allocate, but can skip compile).
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5372 >
2020-06-26 08:53:02 -07:00
Rob Clark
83b97bf161
freedreno/a6xx+ir3: stop generating pointless binning shaders
...
Currently we always do sysmem if there is tess. And for GS, the binning
pass VS ends up identical to the draw pass VS, so no point in compiling
it twice. (For GS what we should do someday is generate a binning pass
GS, and possibly if we can do cross-stage linking opts, an optimized
binning pass VS, but the required outputs would somehow have to end up
in the shader variant key.)
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5372 >
2020-06-26 08:53:00 -07:00
Rob Clark
fdbe1ffaf7
freedreno/ir3: shuffle some variant fields
...
Just to group together the parts that will get serialized when we have
shader disk-cache.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5372 >
2020-06-26 08:43:23 -07:00
Rob Clark
c0f22c3d94
freedreno/ir3: add ir3_compiler_destroy()
...
Use ir3_compiler_destroy() rather than open-coding ralloc_free(). This
will give us a place to add more compiler related cleanup code in the
following patches.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5372 >
2020-06-26 08:43:23 -07:00
Rob Clark
f1ab57359c
freedreno/ir3: move finalize_nir to pscreen hook
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5372 >
2020-06-26 08:43:22 -07:00
Rob Clark
d3ae559378
freedreno/ir3: add ir3_finalize_nir()
...
The next step is to hook this into pscreen->finalize_nir() so it can
come before the state tracker's shader-caching.
Unfortunately we still need to do lower_io after mesa/st, so that is
split out into a post-finalize pass.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5372 >
2020-06-26 08:43:22 -07:00
Mike Blumenkrantz
e35b8971a7
zink: use OpFUnordNotEqual for nir_op_fne
...
we want to detect NaNs here, and OpFUnordNotEqual is the variant which does this
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5562 >
2020-06-26 14:07:35 +00:00
Mike Blumenkrantz
765de33d3c
zink: set lower_mul_high and lower_rotate in ntv compiler options
...
we don't implement these
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5562 >
2020-06-26 14:07:35 +00:00
Mike Blumenkrantz
49c13fccf7
zink: handle isign alu in ntv
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5562 >
2020-06-26 14:07:35 +00:00
Mike Blumenkrantz
21fe5b0ffd
zink: handle ixor in ntv
...
fixes spec@glsl-1.30 @execution@built-in-functions@fs-op-assign-bitxor tests
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5562 >
2020-06-26 14:07:35 +00:00
Mike Blumenkrantz
651d093298
zink: lower byte/word extract ops in nir
...
we don't implement these, and pre-optimizing them breaks things in ntv->vtn
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5562 >
2020-06-26 14:07:35 +00:00
Mike Blumenkrantz
90d3455848
zink: add bitfield_reverse handling to ntv
...
fixes several piglit tests
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5562 >
2020-06-26 14:07:35 +00:00
Mike Blumenkrantz
957d8e2658
zink: add ult handling for ntv
...
fixes shaders@glsl-vs-absolutedifference-uint piglit test
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5562 >
2020-06-26 14:07:35 +00:00
Mike Blumenkrantz
2159aa0c49
zink: handle signed and unsigned min/max ops in ntv
...
fixes a number of piglit amd_shader_trinary_minmax tests
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5562 >
2020-06-26 14:07:35 +00:00
Samuel Pitoiset
f13d79f519
radv: remove the load/store workaround for Monster Hunter World with LLVM
...
Now that ACO is default, this is pointless.
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/5658 >
2020-06-26 14:42:44 +02:00
Samuel Pitoiset
a30ad8cb23
radv: remove the shader ballot workaround for Youngblood with LLVM
...
Now that ACO is default, this is now pointless.
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/5658 >
2020-06-26 14:42:42 +02:00
Erik Faye-Lund
099916384a
docs: update favicon
...
I created a new and cleaner favicon for mesa3d.org, and it seems like a
good idea to use that one for the docs as well.
While we're at it, replace the original PNG with the original SVG asset
the ICO-file was generated from.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5643 >
2020-06-26 12:09:22 +00:00
Jonathan Marek
2fbc12a0ac
turnip: fix huge scissor min/max case
...
Now that tu_cs_emit_regs is used for the scissor, it hits an assert when
the scissor is too large. Fixes this dEQP test:
dEQP-VK.draw.scissor.static_scissor_max_int32
Fixes: 9c0ae5704d ("turnip: fix empty scissor case")
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5655 >
2020-06-26 11:34:49 +00:00
Jonathan Marek
1854eeefde
turnip: fix VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES
...
My attempt to be clever here backfired, it overwrites the pNext and stops
the loop (causing deqp to fail to query extension features after that).
Fixes: 62de79ac44 ("turnip: implement VK_KHR_shader_draw_parameters")
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5654 >
2020-06-26 11:11:29 +00:00
Icecream95
6b886fbc0b
panfrost: Add PAN_MESA_DEBUG=gl3 flag
...
This flag allows forcing GL 3.3 without having to use
MESA_GL_VERSION_OVERRIDE etc.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5584 >
2020-06-26 10:30:03 +00:00
Connor Abbott
1288613f1c
freedreno/a6xx: use firstIndex field
...
Analogous to the turnip change.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5644 >
2020-06-26 10:05:24 +00:00
Connor Abbott
ba5e1c5310
tu: Pass firstIndex directly to CP_DRAW_INDX_OFFSET
...
Saves some minor overhead, cleans things up a bit, and removes one more
unknown. We now program the internal registers in the same way between
direct/indirect draws.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5644 >
2020-06-26 10:05:24 +00:00
Connor Abbott
259d07a2ff
freedreno/registers: Label firstIndex field in CP_DRAW_INDX_OFFSET
...
Based on comparing the implementations of CP_DRAW_INDX_OFFSET and
CP_DRAW_INDIRECT, this is what this field is for.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5644 >
2020-06-26 10:05:24 +00:00
Connor Abbott
a32fb2f9d0
freedreno: On a5xx+ INDX_SIZE is MAX_INDICES
...
This was already done correctly for the indirect variants, and turnip
was setting the correct value, but it seems freedreno missed the change
in the non-indirect variant. Also, fix a misspelling of "indices" and
add a type to INDX_SIZE.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5644 >
2020-06-26 10:05:24 +00:00
Connor Abbott
1dd24bf27b
freedreno: Share constlen between different stages properly
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5607 >
2020-06-26 09:34:33 +00:00
Connor Abbott
d9dd989d2a
freedreno: Refactor ir3_cache shader compilation
...
Use an array, which makes it more like turnip and makes implementing the
const limits easier.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5607 >
2020-06-26 09:34:33 +00:00
Connor Abbott
8ad65609da
tu: Share constlen between different stages properly
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5607 >
2020-06-26 09:34:33 +00:00
Connor Abbott
48b1602b50
ir3: Add ir3_trim_constlen()
...
This provides the policy for how to handle reducing constlen for some
stages.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5607 >
2020-06-26 09:34:33 +00:00
Connor Abbott
9edff0cfd4
ir3: Support variants with different constlen's
...
This provides the mechanism for compiling variants with a reduced
constlen. The next patch provides the policy for choosing which to
reduce.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5607 >
2020-06-26 09:34:33 +00:00
Connor Abbott
4554b946c3
ir3: Include ir3_compiler from ir3_shader
...
I wanted to access the ir3_compiler from a small helper inside
ir3_shader.h, which currently isn't possible.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5607 >
2020-06-26 09:34:33 +00:00
Connor Abbott
2841bb1fac
ir3, freedreno: Round up constlen earlier
...
Prevents problems when calculating whether we overflow the shared limit.
Note that on a6xx, the macros handle the assert for us.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5607 >
2020-06-26 09:34:33 +00:00
Iago Toral Quiroga
4845f184d7
v3d/compiler: don't rewrite unused temporaries to point to NOP register
...
This was assuming that unused temporaries are written but never read,
since the NOP register can only be used as a destination register,
but we can end up here also for temporaries that are read once but
never written.
This was found with a graphicsfuzz test that has a switch with
cases that have unreachable discards. In that test, NIR genrates
code like this:
decl_reg vec3 32 r19
...
r20 = mov r19.z
r21 = mov r19.y
r22 = mov r19.x
Where r19.xyz would generate 3 temporary registers that are read but
never written, so we would rewrite them to point to the NOP register
as QPU instruction sources, which is not allowed and would hit an
assert that expect magic reads to be from [r0,r5] only.
Fixes:
dEQP-VK.graphicsfuzz.unreachable-switch-case-with-discards
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5645 >
2020-06-26 08:57:32 +00:00
Neil Roberts
3b1c511b09
v3d: Use stvpmd for non-uniform offsets in GS
...
The offset for the VPM write for storing outputs from the geometry
shader isn’t necessarily uniform across all the lanes. This can happen
if some of the lanes don’t emit some of the vertices. In that case the
offset for the subsequent vertices will be different in each lane. In
that case we need to use the stvpmd instruction instead of stvpmv
because it will scatter the values out.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3150
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5621 >
2020-06-26 09:36:15 +02:00
Neil Roberts
dab8a9169c
v3d: Add missing macro for stvpmd instruction
...
stvpmd is like stvpmv but it scatters the output. It can be used with
non-dynamically uniform offsets.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5621 >
2020-06-26 09:36:15 +02:00
Marek Olšák
71794567f9
radeonsi: remove tabs
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5603 >
2020-06-26 07:02:57 +00:00
Marek Olšák
0cdec11d95
radeonsi: clear per-context buffers at the end of si_create_context
...
We don't want any packets before CONTEXT_CONTROL.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5603 >
2020-06-26 07:02:57 +00:00
Marek Olšák
da78d50bc8
radeonsi: make si_pm4_cmd_begin/end static and simplify all usages
...
There is no longer the confusing trailing si_pm4_cmd_end call.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5603 >
2020-06-26 07:02:57 +00:00
Marek Olšák
7b2a0f880b
radeonsi: disallow adding BOs into si_pm4_state except 1 shader BO per state
...
The si_shader pointer is already there, so use it and remove the array
of BOs.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5603 >
2020-06-26 07:02:57 +00:00
Marek Olšák
3b1e42d2c2
radeonsi: make wait_mem_scratch unmappable
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5603 >
2020-06-26 07:02:57 +00:00
Marek Olšák
428360662f
radeonsi: don't add the tess ring buffers into the cs_preamble state
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5603 >
2020-06-26 07:02:57 +00:00
Marek Olšák
1c1d34a67a
radeonsi: rename init_config states to cs_preamble states
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5603 >
2020-06-26 07:02:57 +00:00
Marek Olšák
bbc0a2d51d
radeonsi: don't add the border color buffer into the init_config state
...
We might have to replace init_config for preemption.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5603 >
2020-06-26 07:02:57 +00:00
Marek Olšák
c7680625c3
ac,winsys/amdgpu: align IBs the same as the kernel
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5603 >
2020-06-26 07:02:57 +00:00
Marek Olšák
556f4458fe
amd: add proper definitions for NOP packets
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5603 >
2020-06-26 07:02:57 +00:00
Samuel Pitoiset
276e6d7bbc
gitlab-ci: attach the Fossilize log file as artifact on failure
...
It might be help.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5627 >
2020-06-26 06:45:23 +00:00
Samuel Pitoiset
4954df417c
gitlab-ci: append Fossilize stdout/stderr to a file to reduce spam
...
Fossilize is really verbose and it's easy to reach the buffer
limit in GitLab CI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5627 >
2020-06-26 06:45:23 +00:00
Samuel Pitoiset
b24b415013
gitlab-ci: set the number of Fossilize threads to 4
...
The shared runners are set up for concurrent jobs ~= CPUs / 4 (x86)
or 8 (ARM).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5627 >
2020-06-26 06:45:23 +00:00
Icecream95
be5d06106f
panfrost: Only copy resources when they are in a pending batch
...
Fixes a performance regression in alacritty, and rendering is still
fine in GLQuake ports.
Fixes: 361fb38662 ("panfrost: Copy resources when mapping to avoid waiting for readers")
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5642 >
2020-06-26 06:32:34 +00:00
Rafael Antognolli
66df2ffa36
anv: Align "used" attribute to 64 bits.
...
This is a 64 bits value that might not be aligned on 32 bit plaforms.
Since it's used with atomics, let's make sure it gets properly aligned
to avoid any potential performance loss.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5637 >
2020-06-25 22:11:36 -07:00
Rafael Antognolli
293221ddda
iris: Align last_seqnos to 64 bits.
...
last_seqnos is used in atomic operations. Specially on 32 bit platorms,
it tends to be slower if it's not aligned to 64 bits (see
cdc331c6f9 ). This fixes a small regression
on Bioshock.
Fixes: aba3aed96e ("iris: fix export of GEM handles")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5637 >
2020-06-25 22:11:08 -07:00
Eric Anholt
2fd746e98e
ci: Remove a stray "always" on the freedreno traces job.
...
This was making it so that the CI would error if the set of files modified
or the pipeline involvd meant the jobs we depend on weren't enabled. It
was just some misplaced debug leftovers of mine.
Fixes: b88c46fa11 ("ci: Add a freedreno a630 tracie run.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5653 >
2020-06-25 23:45:48 +00:00
Eric Anholt
50e20cb036
freedreno/a6xx: Add support for polygon fill mode (as long as front==back).
...
Unlike a4xx, we don't seem to have separate back vs front fields any more.
Still, this improves desktop GL conformance (and one of the traces in
traces-db).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5650 >
2020-06-25 13:46:30 -07:00
Eric Anholt
72c0522db2
turnip: Add support for polygon fill modes.
...
Passes the new tests in dEQP-VK.rasterization.culling.*
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5650 >
2020-06-25 13:46:30 -07:00
Eric Anholt
daee177ca0
freedreno/a6xx: Define the register fields for polygon fill mode.
...
Produced by comparing the traces of:
dEQP-VK.rasterization.culling.front_triangles
dEQP-VK.rasterization.culling.front_triangles_point
dEQP-VK.rasterization.culling.front_triangles_line
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5650 >
2020-06-25 13:46:28 -07:00
Eric Anholt
b88c46fa11
ci: Add a freedreno a630 tracie run.
...
This job runs in about one minute on the current set of traces, and has
successfully revealed some bugs in our current rendering. Takes about 7
minutes currently.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5433 >
2020-06-25 17:33:28 +00:00
Eric Anholt
b5f727afeb
ci/tracie: Fix apitrace dump using "less" which isn't in the ARM rootfs.
...
You would get no output during the "find the last frame" step of the trace
replay.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5433 >
2020-06-25 17:33:28 +00:00
Eric Anholt
9f1412cf3e
ci/tracie: Print the path if the trace isn't found.
...
I hit this a few times while setting up CI.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5433 >
2020-06-25 17:33:28 +00:00
Rohan Garg
7406d627c8
ci: Include trace replay support in ARM rootfses.
...
Builds the renderdoc and apitrace programs so we can replay GL traces on
DUTs.
[Separated out from 5472's commit that also enabled the jobs in LAVA,
dropped unnecessary python packages from arm_build, fixed up arm64_test
build, traces-db in baremetal, new commit message by anholt]
Signed-off-by: Rohan Garg <rohan.garg@collabora.com >
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5433 >
2020-06-25 17:33:28 +00:00
Eric Anholt
acf9d8b75d
ci/bare-metal: Don't include dev packages in arm*test.
...
We just need these to build our rootfs, clean them out afterwards.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5433 >
2020-06-25 17:33:28 +00:00
Eric Anholt
9079b53987
ci/bare-metal: Skip setting of unset variables at startup.
...
It's silly to be setting (and logging the setting of!) all the env vars we
*didn't* set in a job.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5433 >
2020-06-25 17:33:28 +00:00
Tomeu Vizoso
21b2dac793
ci: Move ARM rootfses to stable
...
We build in Debian buster but were currently testing in bullseye-based
ramdisks. This has started being a problem since Python 3.7 was removed
from bullseye.
[ Also bumped arm_test containers, by anholt ]
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5433 >
2020-06-25 17:33:28 +00:00
Tomeu Vizoso
a04672a105
ci: Don't call renderdoc's ReplayController.Shutdown()
...
If we do, Renderdoc will call eglDestroyContext twice, causing crashes
within Mesa.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5433 >
2020-06-25 17:33:28 +00:00
Jonathan Marek
62de79ac44
turnip: implement VK_KHR_shader_draw_parameters
...
Note: going by the blob, VFD_INDEX_OFFSET/FD_INSTANCE_START_OFFSET seem
completely unused by indirect draws, so this changes them to only be set
for non-indirect draws (and moves them to the vs_params draw state).
Passes dEQP-VK.draw.shader_draw_parameters.*
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5635 >
2020-06-25 15:57:45 +00:00
Jonathan Marek
16a9e233da
freedreno/ir3: add support for load_draw_id
...
This is part of adding VK_KHR_shader_draw_parameters for turnip.
IR3_DP_VTXID_BASE/IR3_DP_VTXCNT_MAX offsets are changed to match what
CP_DRAW_INDIRECT_MULTI requires.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5635 >
2020-06-25 15:57:45 +00:00
Jonathan Marek
01799b3448
freedreno/registers: add CP_DRAW_INDIRECT_MULTI
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5635 >
2020-06-25 15:57:45 +00:00
Samuel Pitoiset
7e98f2534c
gitlab-ci: add a list of expected failures for RADV/ACO on NAVI14
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5647 >
2020-06-25 14:15:49 +00:00
Daniel Schürmann
63e1e7209c
radv: enable ACO by default
...
No more dragons have been seen, caution is still required...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5445 >
2020-06-25 15:16:30 +02:00
Daniel Schürmann
db0afb3800
radv: change use_aco -> use_llvm
...
We are about to make ACO the default backend.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5445 >
2020-06-25 15:16:28 +02:00
Daniel Schürmann
b78f64507e
radv: introduce RADV_DEBUG=llvm option
...
This option enables the LLVM compiler backend to be used
for shader compilation
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5445 >
2020-06-25 15:16:23 +02:00
Mike Blumenkrantz
37e7a5e746
zink: unify code for setting resource barriers
...
no functional changes, this code was just duplicated
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5615 >
2020-06-25 12:50:21 +00:00
Samuel Pitoiset
a102896cff
radv: lower 64-bit dfloor on GFX6 for fixing precision issues
...
GFX6 doesn't support v_floor_f64 and the precision of v_fract_f64
which is used to implement 64-bit floor is less than what Vulkan
requires.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5609 >
2020-06-25 12:09:08 +00:00
Samuel Pitoiset
c84f11e7b6
radv: lower 64-bit drcp/dsqrt/drsq for fixing precision issues
...
The hardware precision of v_rcp_f64, v_sqrt_f64 and v_rsq_f64
is less than what Vulkan requires.
This lowers using the Goldschmidt's algorithm to improve precision.
Fixes dEQP-VK.glsl.builtin.precision_double.* on both compiler
backends.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5609 >
2020-06-25 12:09:08 +00:00
Danylo Piliaiev
82b4666783
iris: Honor scanout requirement from DRI
...
Translate PIPE_BIND_SCANOUT as ISL_SURF_USAGE_DISPLAY_BIT,
instead of PIPE_BIND_DISPLAY_TARGET.
PIPE_BIND_DISPLAY_TARGET isn't used for dri images and seem to
be set only for fake winsys buffers (which aren't displayed).
The trouble is that a fake buffer could be multisampled and we
cannot have multisampled surface with display bit.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2313
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4784 >
2020-06-25 11:50:10 +00:00
Pavel Asyutchenko
ec7b55f4cc
vulkan/overlay: fix crash on destroying NULL swapchain
...
Cc: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5616 >
2020-06-25 10:31:50 +00:00
Samuel Pitoiset
8c962f5f61
gitlab-ci: add parallel-rdp fossils
...
https://github.com/Themaister/parallel-rdp
These fossils contain very large and complex shaders.
The small_*.foz files use 8/16-bit arithmetic.
Only RADV uses Fossilize.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Andres Gomez <agomez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5542 >
2020-06-25 08:03:09 +02:00
Rob Clark
6da0647987
freedreno/ir3/ra: fix pre-color edge case
...
Fixes a case where you have something like:
aVecOutput.z = aScalarInput;
In particular, skipping over things that are not the first component is
wrong.. in the above case the input we need to precolor is the 3rd
component. But we need to adjust the target register according to the
offset.
Fixes android.hardware.nativehardware.cts.AHardwareBufferNativeTests
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5601 >
2020-06-25 04:40:40 +00:00
Jonathan Marek
c5b990f435
turnip: disable early_z for VK_FORMAT_S8_UINT
...
This format doesn't have depth, and apparently having earlyz enabled can
cause issues. Fixes at least these tests:
dEQP-VK.renderpass.suballocation.multisample.s8_uint.samples_*
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5586 >
2020-06-25 03:02:56 +00:00
Jonathan Marek
04148f4411
turnip: fix update_stencil_mask
...
The previous value was not being cleared, resulting in some dynamic stencil
state failures. Fixes these two tests:
dEQP-VK.dynamic_state.ds_state.stencil_params_advanced
dEQP-VK.dynamic_state.ds_state.stencil_params_basic_1
Fixes: 233610f8cf ("turnip: refactor draw states and dynamic states")
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5586 >
2020-06-25 03:02:56 +00:00
Jonathan Marek
9c0ae5704d
turnip: fix empty scissor case
...
Fixes these two tests:
dEQP-VK.draw.scissor.empty_dynamic_scissor_first_draw
dEQP-VK.draw.scissor.empty_static_scissor
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5586 >
2020-06-25 03:02:56 +00:00
Rob Clark
7c008c293d
freedreno: handle batch flush in resource tracking
...
In rare cases, we can get into situations where the tracking of read/
written resources triggers a flush of the current batch.
To handle that, (1) take a reference to the current batch, so it doesn't
disappear under us, and (2) check after resource tracking whether the
current batch was flushed. If it is, we have to re-do the resource
tracking, but since we have a fresh batch, it should not get flushed the
second time around.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3160
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5634 >
2020-06-25 00:55:24 +00:00
Rob Clark
16b4da3ba3
freedreno: split out batch clear tracking helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5634 >
2020-06-25 00:55:24 +00:00
Rob Clark
ad136945e6
freedreno: split out batch draw tracking helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5634 >
2020-06-25 00:55:24 +00:00
Rob Clark
d74554b167
freedreno: make foreach_bit() declare it's cursor
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5634 >
2020-06-25 00:55:24 +00:00
Jonathan Marek
1fd2bc10dc
turnip: implement VK_EXT_vertex_attribute_divisor
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5640 >
2020-06-25 00:10:11 +00:00
Eric Engestrom
8018b4b707
docs: fix 20.1.2 relnotes
...
I manually converted them from html and didn't double-check the
result...
Fixes: e94f81e9df ("docs: Add release notes for 20.1.2")
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5639 >
2020-06-25 01:49:46 +02:00
Eric Engestrom
804c6ee0df
docs: update calendar and link releases notes for 20.1.2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5638 >
2020-06-24 23:07:07 +00:00
Eric Engestrom
e94f81e9df
docs: Add release notes for 20.1.2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5638 >
2020-06-24 23:07:07 +00:00
Rob Clark
3065c4bf92
freedreno/ir3: switch PIPE_CAP_TGSI_TEXCOORD
...
We don't really need the varying remapping, and it seems to somehow
happen twice when shader-cache comes into the picture. But we can
just choose not to have this problem.
Now that everything is using the ir3_point_sprite() helper, we can
flip this pipe cap without it being a massive flag-day.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5595 >
2020-06-24 22:29:28 +00:00
Rob Clark
e6d650353a
freedreno: convert builtin blit VS prog to ureg builder
...
The correct varying semantic to use depends on PIPE_CAP_TGSI_TEXCOORD.
To handle this transition switch it over to ureg builder, and query the
pipe-cap to choose the appropriate semantic.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5595 >
2020-06-24 22:29:28 +00:00
Rob Clark
b5574c5165
freedreno/a3xx: use point-coord helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5595 >
2020-06-24 22:29:28 +00:00
Rob Clark
ba6e1514f5
freedreno/a4xx: use point-coord helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5595 >
2020-06-24 22:29:28 +00:00
Rob Clark
3e8c6312c7
freedreno/a5xx: use point-coord helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5595 >
2020-06-24 22:29:28 +00:00
Rob Clark
a474d48e17
freedreno/a6xx: use point-coord helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5595 >
2020-06-24 22:29:28 +00:00
Rob Clark
68d6aa3dd0
freedreno/a6xx: de-duplicate vinterp/vpsrepl state building
...
When we flip the texcoord patch, we'll setup PNTC input slot in the
pre-built interp stateobj, rather than this being a draw-time (slow-
path) built stateobj. But rather than duplicate more of the slow-
path logic, refactor it out into a helper that is reused in both
cases.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5595 >
2020-06-24 22:29:28 +00:00
Rob Clark
022c363cfb
freedreno/ir3: add helper to determine point-coord inputs
...
This will simplify a bit the logic for setting up vinterp/vprepl in the
driver backend, and also avoid it being a flag-day when we switch the
texcoord pipe cap.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5595 >
2020-06-24 22:29:28 +00:00
Jonathan Marek
64c2a10707
turnip: move some logic out of create_render_pass_common
...
CreateRenderPass2 is the common path now, it doesn't make sense to have a
create_render_pass_common. Rename it to tu_render_pass_gmem_config and
move logic not related to gmem config out of it.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5451 >
2020-06-24 22:12:33 +00:00
Jonathan Marek
c9c76f6832
turnip: use RenderPassCreateInfo for render_pass_add_implicit_deps
...
This gets rid of the some unnecessary values that were stored in
tu_render_pass for this. It also makes the render_pass_add_implicit_deps
more generic, with very few references to the tu_render_pass.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5451 >
2020-06-24 22:12:33 +00:00
Jonathan Marek
e4099201bc
turnip: replace a memset(0) with zalloc in CreateRenderPass
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5451 >
2020-06-24 22:12:33 +00:00
Jonathan Marek
70046145d1
turnip: translate CreateRenderPass to CreateRenderPass2
...
It doesn't cut down the code size by much, and might not be the ideal for
performance (unless the compiler is unexpectedly smart), but makes it
easier to maintain (no modifying the same code in two places) and will
allow some simplifications since we wont have to worry about trying to
share code between the two versions.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5451 >
2020-06-24 22:12:33 +00:00
Jonathan Marek
01e2893cba
turnip: implement depthBounds
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5628 >
2020-06-24 20:55:15 +00:00
Jonathan Marek
a9d866910c
freedreno/registers: a6xx depth bounds test registers
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5628 >
2020-06-24 20:55:15 +00:00
Rhys Perry
4fc0499049
aco: remove outdated assert in handle_operands()
...
"target" is no longer expected to be completely inside "swap".
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/5626 >
2020-06-24 20:38:35 +00:00
Rhys Perry
7cad27831d
aco: ignore blocked registers when checking edges in get_reg_impl()
...
If the only two registers available are consecutive and used by killed
operands, both of them will be blocked and fail the edge check.
Totals from 903 (0.66% of 135946) affected shaders:
VGPRs: 30892 -> 30884 (-0.03%)
CodeSize: 1584468 -> 1584044 (-0.03%); split: -0.05%, +0.02%
MaxWaves: 14374 -> 14378 (+0.03%)
Instrs: 306482 -> 306399 (-0.03%); split: -0.06%, +0.03%
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/5626 >
2020-06-24 20:38:35 +00:00
Samuel Pitoiset
91a82d0069
radv: fix checking the return value of cs_finalize()
...
cs_finalize() now returns a Vulkan error code and VK_SUCCESS is 0.
Fixes: 64a92ef7a2 ("radv/winsys: Distinguish device/host memory errors.")
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/5629 >
2020-06-24 15:50:06 +02:00
Samuel Pitoiset
86df5283a3
gitlab-ci: update the list of expected failures for Pitcairn
...
These tests have been fixed as part of
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5207 .
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5625 >
2020-06-24 13:09:43 +00:00
Bas Nieuwenhuizen
aa35670fd0
radv: Make radv_alloc_shader_memory static.
...
Just a cleanup.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5578 >
2020-06-24 13:00:02 +00:00
Bas Nieuwenhuizen
64a92ef7a2
radv/winsys: Distinguish device/host memory errors.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5578 >
2020-06-24 13:00:02 +00:00
Bas Nieuwenhuizen
a5cb88eea4
radv: Handle mmap failures.
...
Which can happen if we have to many mmaps active in the process.
CC: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5578 >
2020-06-24 13:00:02 +00:00
Bas Nieuwenhuizen
04765e6a9a
radv/winsys: Deal with realloc failures in BO lists.
...
Otherwise if realloc fails we silently try to use it. Make recording fail instead.
CC: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5578 >
2020-06-24 13:00:02 +00:00
Rhys Perry
519ddfd312
aco: improve vectorization of 8/16-bit loads/stores
...
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/5207 >
2020-06-24 10:52:28 +00:00
Rhys Perry
ddffcf3627
aco: fix when sub-dword create_vector operand cannot be placed perfectly
...
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/5207 >
2020-06-24 10:52:28 +00:00
Daniel Schürmann
91fd53884d
aco: don't allow partial copies on GFX6/7
...
These are not supported due to missing SDWA instructions
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5207 >
2020-06-24 10:52:28 +00:00
Daniel Schürmann
76b5d72921
aco: align swap operations to 4 bytes on GFX6/7
...
GFX6/7 can only swap full registers
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5207 >
2020-06-24 10:52:28 +00:00
Rhys Perry
91d7e40176
aco: don't create byte-aligned short loads
...
The ISA docs don't seem to say if this is allowed, so just assume short
loads require short alignment.
In practice, the only situation this should affect are byte-aligned u8vec2
loads.
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/5207 >
2020-06-24 10:52:28 +00:00
Rhys Perry
c3259b6e6a
aco: add missing bld.scc() in byte_align_scalar()
...
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/5207 >
2020-06-24 10:52:28 +00:00
Rhys Perry
a0f6ca4393
aco: don't store byte-aligned short stores
...
The ISA docs don't seem to say if this is allowed, so just assume short
stores require short alignment.
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/5207 >
2020-06-24 10:52:28 +00:00
Rhys Perry
a18da83d18
aco: fix copy+paste error in split_buffer_store
...
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/5207 >
2020-06-24 10:52:28 +00:00
Rhys Perry
841fdfcd45
radv/aco,aco: allow SMEM SSBO loads on GFX6/7
...
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/5207 >
2020-06-24 10:52:28 +00:00
Rhys Perry
35b5e1fc7c
aco: allow SMEM for some sub-dword accesses
...
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/5207 >
2020-06-24 10:52:27 +00:00
Rhys Perry
c702f8ed15
aco: only use SMEM if we can prove it's safe
...
Totals from 26 (0.02% of 127638) affected shaders:
SGPRs: 1680 -> 1664 (-0.95%)
VGPRs: 1492 -> 1504 (+0.80%)
CodeSize: 233140 -> 233016 (-0.05%); split: -0.09%, +0.04%
Instrs: 47121 -> 47114 (-0.01%); split: -0.08%, +0.06%
VMEM: 4930 -> 4655 (-5.58%); split: +0.12%, -5.70%
SMEM: 2030 -> 2001 (-1.43%); split: +3.79%, -5.22%
VClause: 891 -> 947 (+6.29%)
SClause: 876 -> 816 (-6.85%)
Copies: 4734 -> 4716 (-0.38%); split: -0.40%, +0.02%
Branches: 2048 -> 2047 (-0.05%)
PreSGPRs: 1400 -> 1396 (-0.29%)
PreVGPRs: 1440 -> 1443 (+0.21%)
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/5207 >
2020-06-24 10:52:27 +00:00
Rhys Perry
0cfee26bee
radv: fix image variable types in meta shaders
...
We write to these variables using image intrinsics.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5207 >
2020-06-24 10:52:27 +00:00
Rhys Perry
c344c083fc
spirv: set variables to restrict by default
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5207 >
2020-06-24 10:52:27 +00:00
Mauro Rossi
1be67d610f
android: freedreno/ir3: simplify generated sources rules
...
Simplification and alignment with meson's sources generation rules
Changelog:
- move rules from src/gallium/drivers/freedreno/Android.gen.mk to Android.ir3.mk
- simplify LOCAL_GENERATED_SOURCES based on $(ir3_GENERATED_FILES)
- remove includes of src/gallium/drivers/freedreno/Android.gen.mk
- remove src/gallium/drivers/freedreno/Android.gen.mk
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com >
Acked-by: Rob Clark <robdclark@gmail.com >
Acked-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5580 >
2020-06-24 10:00:14 +00:00
Mauro Rossi
41683157e7
android: freedreno/ir3: add missing generated sources and rules
...
Changelog:
- Makefile.sources: add ir3_lexer.c and ir3_parser.{c,h} generated sources
- Android.ir3.mk: add the necessary generated sources rules
- Android.ir3.mk: add the necessary include paths
- src/gallium/drivers/freedreno/Android.gen.mk: generate only ir3_nir_{imul,trig}.c for the moment
Fixes the following building error:
target C: libfreedreno_ir3 <= external/mesa/src/freedreno/ir3/ir3_assembler.c
FAILED: out/target/product/x86_64/obj/STATIC_LIBRARIES/libfreedreno_ir3_intermediates/ir3/ir3_assembler.o
...
external/mesa/src/freedreno/ir3/ir3_assembler.c:28:10: fatal error: 'ir3_parser.h' file not found
^~~~~~~~~~~~~~
1 error generated.
Fixes: 1e8808a4a0 ("freedreno/ir3: refactor out helper to compile shader from asm")
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com >
Acked-by: Rob Clark <robdclark@gmail.com >
Acked-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5580 >
2020-06-24 10:00:14 +00:00
Mauro Rossi
b41828c337
android: freedreno: add fd5_layout.c to Makefile.sources
...
Fixes the following building error:
FAILED: out/target/product/x86_64/obj/SHARED_LIBRARIES/gallium_dri_intermediates/LINKED/gallium_dri.so
...
ld.lld: error: undefined symbol: fdl5_layout
clang-9: error: linker command failed with exit code 1 (use -v to see invocation)
Fixes: a1a739995b ("freedreno/a5xx: Move resource layout to fdl.")
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Acked-by: Rob Clark <robdclark@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5580 >
2020-06-24 10:00:14 +00:00
Bas Nieuwenhuizen
5f97dfc4c8
vulkan/wsi/x11: Ensure we create at least minImageCount images.
...
Doom Eternal happily creates a swapchain with 2 images for IMMEDIATE...
This fixes a 10% performance issues with Doom Eternal for me.
Since the game only sets a minImageCount increasing till our own minimum
is totally okay.
CC: <stable@lists.freedesktop.org >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2684
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3156
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4368 >
2020-06-24 09:18:01 +00:00
Mike Blumenkrantz
7b3976d3f8
zink: clamp VkImageCreateInfo.arrayLayers to 1 for image resource creation
...
this is required by spec, so we can generally assume that any time it's 0 here
this is the result of us being lazy elsewhere in the zink driver when we're
manually creating this sort of buffer
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5614 >
2020-06-24 07:01:00 +00:00
Samuel Pitoiset
994224bc29
gitlab-ci: update the list of expected CTS failures for RADV/ACO
...
Based on Vulkan CTS 1.2.3.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5593 >
2020-06-24 06:09:37 +00:00
Kenneth Graunke
6a5fb31fef
nir: Fix divergence analysis for tessellation input/outputs
...
The load_per_vertex_{input,output} intrinsics simply mean that they're
reading an arrayed input/output, which have one element per invocation.
Most accesses to those use gl_InvocationID as the subscript. However,
it's totally possible to read any element of the array. For example,
an evaluation shader might read gl_in[2].gl_Position, or a control
shader might read output[0].
For threads processing a single patch, an input/output load is
convergent if and only if both sources (the per-vertex-array subscript
and the offset) are convergent. For threads processing multiple
patches, we continued to mark them divergent.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5613 >
2020-06-24 03:25:10 +00:00
Kenneth Graunke
8278a46b26
intel: Disable loading drivers on DG1 devices for now
...
Kernel support for DG1 has not yet been merged upstream; per our
long-standing DRM subsystem policy, we should not enable the platform
in userspace until the kernel patches are merged and functional.
We will re-enable this in the future. In the meantime, we retain all
of the infrastructure and code for the platform so that we can continue
developing DG1 support in upstream.
See a discussion here:
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4956#note_547775
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5617 >
2020-06-24 02:48:04 +00:00
Kenneth Graunke
32455b657f
CI: Disable Panfrost Mali-T820, Lima Mali-400 and Lima Mali-450 jobs
...
The runners appear to be unhealthy. Disable for now so people can merge
patches for other drivers in the meantime.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5619 >
2020-06-23 19:26:48 -07:00
Jordan Justen
7f48c6b6a2
iris/compute: Split out iris_load_indirect_location
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5571 >
2020-06-24 00:14:36 +00:00
Jordan Justen
6557c8294d
iris: Split walker and state update into iris_upload_gpgpu_walker
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5571 >
2020-06-24 00:14:36 +00:00
Jordan Justen
ecf3335eef
anv/cmd_buffer: Split GPGPU_WALKER out to emit_gpgpu_walker
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5571 >
2020-06-24 00:14:36 +00:00
Jordan Justen
759b7f83dd
anv/pipeline: Split VFE/INTERFACE_DESCRIPTOR out to emit_media_cs_state
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5571 >
2020-06-24 00:14:35 +00:00
Jonathan Marek
a5918ac63e
turnip: use pipeline cs for shader programs instead of separate bo
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5606 >
2020-06-23 21:12:09 +00:00
Jonathan Marek
a58de1b8d3
turnip: fix ts_cs_memory typo
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5606 >
2020-06-23 21:12:09 +00:00
Kristian H. Kristensen
bf92f041fe
freedreno: Handle DRM_FORMAT_MOD_INVALID in shared code
...
layout_resource_for_modifier() needs to handle DRM_FORMAT_MOD_INVALID
as well, since src/gallium/frontends/dri/dri2.c uses this to indicate
"no modifier" when it's called through the older non-modifier entry
points.
This is similar to 334788d4 ("freedreno: allow INVALID modifier") but
for the generic implementation.
Fixes: 98910626 ("freedreno/a6xx: Implement layout for DRM_FORMAT_MOD_QCOM_COMPRESSED")
Closes : #3154
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5611 >
2020-06-23 19:10:40 +00:00
Jason Ekstrand
561aaeeb48
intel/eu: Add the RNDU opcode
...
We don't want to use it on gen5 and earlier because only RNDD can be
done with a single instruction and we can implement RNDU(x) as -RNDD(-x)
so it's better to just do that when we have the instruction. On gen6
and above, we may as well just use the right instruction.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5596 >
2020-06-23 17:43:54 +00:00
Jason Ekstrand
e0ab48e3ea
intel/eu: Set the right subnr for ALIGN16 destinations
...
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5596 >
2020-06-23 17:43:54 +00:00
Jason Ekstrand
8a0d772dca
intel/eu: Add a brw_urb_dest_msg_type helper
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5596 >
2020-06-23 17:43:54 +00:00
Kenneth Graunke
2c762955d4
intel/eu: Add a brw_urb_desc helper
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5596 >
2020-06-23 17:43:53 +00:00
Jason Ekstrand
ecda98fbb2
intel/compiler: Expose brw_texture_offset to C
...
Some day we probably want to move it out of brw_shader if we're going to
share it with IBC but that can be another day.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5596 >
2020-06-23 17:43:53 +00:00
Jason Ekstrand
479797e130
intel/fs: Move more prog_data setup into populate_wm_prog_data
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5596 >
2020-06-23 17:43:53 +00:00
Jason Ekstrand
fc519cad57
intel/fs: Break wm_prog_data setup into a helper
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5596 >
2020-06-23 17:43:53 +00:00
Jason Ekstrand
2687ec5ee6
intel/fs: Expose a couple of NIR lowering helpers
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5596 >
2020-06-23 17:43:53 +00:00
Kenneth Graunke
bfc1fd22cd
iris: Delete useless #define
...
When I was bringing up the driver, I had BLORP use #ifdefs for
softpin-mode vs. relocation-mode. That all got reworked during
review, but apparently this #define is still kicking around,
even though nothing uses it.
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5610 >
2020-06-23 10:25:31 -07:00
Jose Maria Casanova Crespo
ba15bb383f
nir: only uniforms with dynamically_uniform offset are dynamically_uniform
...
Previously all nir_intrinsic_load_uniform that were used as sources were
considered to be dynamically_uniform but when offsets of load_uniform
are indirect it can not be determined.
This fixes artefacts in Google Maps 3D view in V3D.
Fixes: 886d46b089 ("nir: Add a function to determine if a source is dynamically uniform")
Reviewed-by: Neil Roberts <nroberts@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5587 >
2020-06-23 13:04:04 +00:00
Eric Engestrom
2a61a8d95a
bin/symbols-check: explain C++ symbols workaround
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5556 >
2020-06-23 11:05:39 +00:00
Jonathan Marek
20e12d9ef4
turnip: implement CmdDrawIndirectByteCountEXT
...
Fixes these deqp tests:
dEQP-VK.transform_feedback.simple.backward_dependency*
dEQP-VK.transform_feedback.simple.draw_indirect*
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5579 >
2020-06-23 10:44:19 +00:00
Jonathan Marek
6cf87d777a
turnip: enable VK_EXT_index_type_uint8
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5579 >
2020-06-23 10:44:19 +00:00
Jonathan Marek
52da27aede
turnip: refactor CmdDraw* functions (and a few fixes)
...
This cleans up the CmdDraw* functions to be more straightforward. And a few
fixes applied while going through it:
* Fix indirect draw commands not adding the buffer->bo_offset, and ignoring
drawCount/stride parameters (deqp tests not testing indirect draws very
much apparently).
* Fixed a potential issue with RESTART_INDEX + secondary command bufs.
* Add missing logic for 8-bit indices
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
# Conflicts:
# src/freedreno/vulkan/tu_cmd_buffer.c
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5579 >
2020-06-23 10:44:19 +00:00
Jonathan Marek
98b0d90047
turnip: rework streamout state and add missing counter buffer read/writes
...
Rework the streamout state and at the same time fix some issues, the
biggest one being to actually use the counter buffers instead of ignoring
them completely.
(note it appears the dEQP tests are bad and able to pass with the previous
broken behavior of not ever reading/writing from the counter buffers)
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5579 >
2020-06-23 10:44:19 +00:00
Eric Engestrom
99eecd3775
docs: add planning for 20.2
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5239 >
2020-06-23 10:28:11 +00:00
Eric Engestrom
3f04914713
docs: add some padding to the release calendar
...
This extra padding allows for `-rcX` suffixes.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5239 >
2020-06-23 10:28:11 +00:00
Rob Clark
ade7c3338a
ci: remove some freedreno a6xx skips
...
These don't seem to be flakey anymore. I did still see a flake with
dEQP-GLES31.functional.layout_binding.ssbo.fragment_binding_array so
I put that one back in.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5577 >
2020-06-23 10:01:58 +00:00
Marek Olšák
012b7aab26
driconf: add workarounds for SPECviewperf13
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5459 >
2020-06-23 09:25:24 +00:00
Marek Olšák
ca719c6e30
glsl,driconf: add allow_glsl_120_subset_in_110 for SPECviewperf13
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5459 >
2020-06-23 09:25:24 +00:00
Marek Olšák
f8e8701cf1
radeonsi: replace ctx->screen with sscreen in si_flush_gfx_cs
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5506 >
2020-06-23 09:12:16 +00:00
Marek Olšák
470b319813
radeonsi: don't wait for idle at the end of gfx IBs
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5506 >
2020-06-23 09:12:16 +00:00
Samuel Pitoiset
57606c2ab5
gitlab-ci: stop testing RADV with LLVM
...
ACO is going to be our default compiler soon and it seems useless
to waste CI resources for LLVM.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5543 >
2020-06-23 08:21:56 +00:00
Samuel Pitoiset
0aca04afa5
aco: fix printing ASM on GFX6-7 again
...
Checking errno is actually wrong because it's only updated if
popen() fails (ie. NULL). One solution is to check if the first
line is empty.
Fixes: c95d258d1b ("aco: fix printing ASM on GFX6-7 if clrxdisasm is not found")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5591 >
2020-06-23 07:45:03 +00:00
Tomeu Vizoso
e0518800a1
gitlab-ci: Update CTS runner
...
We need a newer version to be able to successfully run the OpenGL suites
in dEQP.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5494 >
2020-06-23 06:59:27 +00:00
Tomeu Vizoso
287bf5f208
gitlab-ci: Test virgl with Khronos' OpenGL CTS
...
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5494 >
2020-06-23 06:59:27 +00:00
Tomeu Vizoso
2102d5eda5
gitlab-ci: Add manual tests for Virgl using GLES on the host
...
The ones that run automatically will use big GL on the host.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5494 >
2020-06-23 06:59:27 +00:00
Tomeu Vizoso
4417e924bf
gitlab-ci: Run more dEQP tests for virgl
...
Llvmpipe seems to have become faster, and we can run more tests while
still being under 5 minutes per job.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5494 >
2020-06-23 06:59:27 +00:00
Marek Olšák
a2d7f4fe5a
glthread: handle ARB_vertex_attrib_binding
...
This handles ARB_vertex_attrib_binding for vertex uploads correctly.
Before this, the extension might have led to crashes if non-VBO vertex
attribs were present.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5303 >
2020-06-23 06:41:37 +00:00
Marek Olšák
66c2c9c6a9
glthread: rename non_vbo_attrib_mask -> user_buffer_mask, attribs -> buffers
...
just a cleanup, no change in behavior
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5303 >
2020-06-23 06:41:37 +00:00
Marek Olšák
2bf425431d
glapi: fix incorrect param names in ARB_vertex_attrib_binding functions
...
no change in behavior
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5303 >
2020-06-23 06:41:37 +00:00
Marek Olšák
2b8b62c55b
ac/nir: fix 64-bit division for GL CTS
...
This fixes: KHR-GL45.gpu_shader_fp64.builtin.mod_*
Fixes: ba2ec1f3 "ac/nir: use llvm.amdgcn.rcp in ac_build_fdiv()"
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5531 >
2020-06-23 04:46:55 +00:00
Marek Olšák
3fec2f67c3
radeonsi: compact MRTs to save PS export memory space
...
If there are holes between color outputs (e.g. a shader exports MRT1, but
not MRT0), we can remove the holes by moving higher MRTs lower.
The hardware will remap the MRTs to their correct locations if we remove
holes in SPI_SHADER_COL_FORMAT but not CB_SHADER_MASK.
This is a performance optimization, but MRTs with holes are pretty rare,
so there is most likely no effect on any app.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5535 >
2020-06-23 00:23:51 -04:00
Jason Ekstrand
6ac99b9f39
anv: Bump the advertised patch version to 145
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5597 >
2020-06-22 23:24:25 +00:00
Jason Ekstrand
a9ee1b9cf9
vulkan: Update Vulkan XML and headers to 1.2.145
...
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5597 >
2020-06-22 23:24:25 +00:00
Eric Engestrom
677c1bd055
docs: cat maintainer keys to a single file
...
The original issue asked for all the keys in a single file, but I didn't
do that because it's much easier to manage and verify the keys as
separate files, but sphinx doesn't provide a way to expose a folder so
we'd need to create an index.html and have it list all the keys
manually, which is very error prone.
At this point, we might as well just concatenate the keys and expose
a single file, so let's do that.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5568 >
2020-06-22 23:07:16 +00:00
Eric Engestrom
b4335aaf0e
docs: drop deleted file from extra sphinx files
...
Fixes: 3e37b7e6bb ("docs: remove plain-text copy of versions.rst")
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5567 >
2020-06-22 23:06:00 +00:00
Jordan Justen
c72832e83c
anv: Make use of devinfo has_aux_map field
...
Reworks:
* Use device rather than physical_device for info. (Lionel)
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5572 >
2020-06-22 22:32:03 +00:00
Jordan Justen
8c36936832
iris: Make use of devinfo has_aux_map field
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5572 >
2020-06-22 22:32:03 +00:00
Eric Engestrom
4be31ebb61
gitlab-ci: drop gettext from the build images
...
Suggested-by: Pierre-Eric Pelloux-Prayer <pelloux@gmail.com >
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5440 >
2020-06-22 21:50:12 +00:00
Eric Engestrom
04e8eaf4e8
util: rename xmlpool.h to driconf.h
...
To make it clearer what it is and does.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5440 >
2020-06-22 21:50:12 +00:00
Eric Engestrom
2ef983dca6
driconf: drop now unused translation facility
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5440 >
2020-06-22 21:50:12 +00:00
Eric Engestrom
b1f647a3b4
driconf: drop 9% swedish translation
...
Only 7 of the 72 strings are translated, and there doesn't seem to be
any effort to keep it updated.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5440 >
2020-06-22 21:50:12 +00:00
Eric Engestrom
0a19565592
driconf: drop 8% dutch translation
...
Only 6 of the 72 strings are translated, and there doesn't seem to be
any effort to keep it updated.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5440 >
2020-06-22 21:50:12 +00:00
Eric Engestrom
56d76859fa
driconf: drop 6% french translation
...
Only 4 of the 72 strings are translated, and there doesn't seem to be
any effort to keep it updated.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5440 >
2020-06-22 21:50:12 +00:00
Eric Engestrom
a029eafba3
driconf: drop 26% spanish translation
...
Only 19 of the 72 strings are translated, and there doesn't seem to be
any effort to keep it updated.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5440 >
2020-06-22 21:50:12 +00:00
Eric Engestrom
29ee6f6c6a
driconf: drop 15% german translation
...
Only 11 of the 72 strings are translated, and there doesn't seem to be
any effort to keep it updated.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5440 >
2020-06-22 21:50:12 +00:00
Eric Engestrom
ae7759eb21
driconf: drop 28% catalan translation
...
Only 20 of the 72 strings are translated, and there doesn't seem to be
any effort to keep it updated.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5440 >
2020-06-22 21:50:12 +00:00
Mike Blumenkrantz
6e24047573
zink: use correct define value for reserved slot count in ntv
...
this is zero-indexed, so we need to include the zero index in the count
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5592 >
2020-06-22 21:19:18 +00:00
Jordan Justen
c323e0ddf3
intel/dev: Add device info for DG1
...
Reworks:
* Anuj: Set is_dg1
* Anuj: Add dg1 to gen_device_name_to_pci_device_id
* Anuj: Update simulator id
* Rafael: has_llc = false
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4956 >
2020-06-22 11:42:00 -07:00
Rafael Antognolli
37a724e4ae
anv/dg1: Don't use SET_TILING kernel uapi.
...
It is not available on discrete platforms anymore.
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4956 >
2020-06-22 11:42:00 -07:00
Rafael Antognolli
e658835436
iris/bufmgr: Do not use map_gtt or use set/get_tiling on DG1
...
We are starting to see platforms that don't support the get/set tiling
uAPI. (For example, DG1.)
Additionally on DG1 we shouldn't be using the map_gtt anymore.
Let's add some asserts and make sure we don't take those paths
accidentally.
Rework:
* Jordan: Only apply for DG1, not all gen12
* Rafael: Use has_tiling_uapi
* Jordan: Copy has_tiling_uapi from devinfo
* Jordan: merge in "iris: Rework iris_bo_import_dmabuf() a little."
* Jordan: Continue to call get/set_tiling on modifier path
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4956 >
2020-06-22 11:42:00 -07:00
Rafael Antognolli
762e601f77
intel/devinfo: Add function to check for DRM_I915_GEM_GET_TILING.
...
Future (discrete) platforms won't have support for get/set tiling. This
function allows our drivers to query for that, by simply trying to get
the tiling from a dummy buffer.
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4956 >
2020-06-22 11:42:00 -07:00
Rafael Antognolli
86617c08cc
intel/l3: Return the URB size from devinfo for DG1
...
We don't have any URB size set in the L3 config, since it's a fixed
value now. So just return the value that we know from gen_device_info.
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4956 >
2020-06-22 11:42:00 -07:00
Rafael Antognolli
793b409241
intel/isl: Update mocs for DG1
...
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4956 >
2020-06-22 11:42:00 -07:00
Anuj Phogat
3daa866751
intel/l3: Add DG1 L3 configuration
...
Reworks:
* Jordan: Make DG1 L3 config table empty
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com >
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4956 >
2020-06-22 11:41:59 -07:00
Jordan Justen
633dec7163
anv: Set L3 full way allocation at context init if L3 cfg is NULL
...
If the platform's default L3 config is NULL, then it now gets
initialized only at context init time, and cmd_buffer_config_l3 will
always return immediately.
Rework:
* Remove unneeded check on !cfg in cmd_buffer_config_l3 (Jason)
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4956 >
2020-06-22 11:41:59 -07:00
Jordan Justen
e2e0521ecb
iris/l3: Enable L3 full way allocation when L3 config is NULL
...
Reworks:
* Jordan: Check for cfg == NULL rather than is_dg1
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4956 >
2020-06-22 11:41:59 -07:00
Jordan Justen
6054b24f58
intel/l3: Allow platforms to have no l3 configurations
...
On some gen12 platforms we will use the L3FullWayAllocationEnable and
never reconfigure the L3 setup.
Suggested-by: Kenneth Graunke <kenneth@whitecape.org >
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4956 >
2020-06-22 11:41:59 -07:00
Jordan Justen
49fe43e15f
intel/l3: Don't rely on cfg entry URB size being 0 as a sentinal
...
An example entry with URB size being 0 is in the cnl list.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4956 >
2020-06-22 11:41:59 -07:00
Anuj Phogat
f1fba99695
intel/devinfo: Add is_dg1 to device info
...
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4956 >
2020-06-22 11:41:55 -07:00
Brian Ho
64ccb74028
turnip: Enable tessellationShader physical device feature
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5059 >
2020-06-22 14:35:46 +00:00
Brian Ho
497671be35
ir3: Unconditionally enable MERGEDREGS on a6xx
...
As per discussion on !5059 , we don't see any particular reason as to
why MERGEDREGS should be disabled on HS/DS/GS, and none of the dEQP
tests (both VK and GL) fail when MERGEDREGS is enabled. In fact, some
of the VK dEQP tests fail when MERGEDREGS is disabled (e.g. tests
with shaders that employ a0.x). As a result, let's just enable
MERGEDREGS unconditionally on a6xx.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5059 >
2020-06-22 14:35:46 +00:00
Brian Ho
7a836ec631
turnip: Force sysmem for tessellation
...
Tessellation is incompatible with HW binning (dEQP tests fail when
we set forcebin), so force sysmem when we finish recording a command
buffer that uses a tess pipeline.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5059 >
2020-06-22 14:35:46 +00:00
Brian Ho
2718353b38
turnip: Support tess for draws
...
This commit adds tessellation support for draws. We store the IR3
patch type in tu_pipeline so we can use it in tu_emit_draw_*. We then
convert the IR3 patch type to the native adreno patch type and set
the appropriate reg values.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5059 >
2020-06-22 14:35:46 +00:00
Brian Ho
08aaa3d4c4
turnip: Emit HS/DS user consts as draw states
...
Just like VS/GS/FS.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5059 >
2020-06-22 14:35:45 +00:00
Brian Ho
8cb226b258
turnip: Update VFD_CONTROL with tess system values
...
Support for TessCoord, PatchID, TCSHeader.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5059 >
2020-06-22 14:35:45 +00:00
Brian Ho
f08a80dcd4
turnip: Allocate tess BOs as a function of draw size
...
To store tess outputs, the HS stg's into two buffers, one for
per-vertex/per-patch output variables (tess_param) and one for
TessLevelInner/Outer (tess_factor). The addresses of these buffers
are uploaded as consts to the HS/DS and the tess_factor iova is
written to REG_A6XX_PC_TESSFACTOR_ADDR. While the sizes of these
buffers are a function of vetex count and patch count, allocation is
relatively straightforward on freedreno- just keep track of the max
required buffer size for the entire batch and allocate before batch
submit.
In Vulkan, however, a given pipeline can be bound multiple times
across any number of command buffers, each drawing with a different
number of vertices. One solution is to track the max buffer size for
the entire command buffer (similar to fd_batch) and on
vkEndCommandBuffer, allocate appropriately sized tess BOs. Since the
tess BOs addresses are emitted as part of the pipeline state setup
(e.g. PKT4 to REG_A6XX_PC_TESSFACTOR_ADDR), we need to create a new
state group independent of a specific pipeline and parameterize its
IB with the command buffer specific tess BO iovas.
Without a larger refactor, the simplest way to do this is just to
emit per-draw call consts and leverage scratch_bo to re-use buffers.
This way we won't have to store and rewrite earlier packets in the
command stream on vkEndCommandBuffer.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5059 >
2020-06-22 14:35:45 +00:00
Brian Ho
eefdca2e2f
turnip: Parse tess state and support PATCH primtype
...
This commit adds support for VK_PRIMITIVE_TOPOLOGY_PATCH_LIST
primitive topologies.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5059 >
2020-06-22 14:35:45 +00:00
Brian Ho
ff16e72545
turnip: Offset by component when lowering gl_TessLevel*
...
lower_tess_ctrl_block assumes that the gl_TessLevel*
intrinsic_store_outputs have already been collapsed into a single
instruction before the tess lowering step:
store_output ... /* base=0 */ /* wrmask=xyzw */ /* component=0 */
store_output ... /* base=1 */ /* wrmask=xy */ /* component=0 */
While this is true in fd because of st_nir_vectorize_io, we don't do
the same lowering in turnip so each tess level component still has
its own store instruction:
store_output ... /* base=0 */ /* wrmask=x */ /* component=0 */
store_output ... /* base=0 */ /* wrmask=x */ /* component=1 */
store_output ... /* base=0 */ /* wrmask=x */ /* component=2 */
store_output ... /* base=0 */ /* wrmask=x */ /* component=3 */
store_output ... /* base=1 */ /* wrmask=x */ /* component=0 */
store_output ... /* base=1 */ /* wrmask=x */ /* component=1 */
This commit adds a component offset to the tess control lowering. An
alternative is to also perform nir_lower_io_to_vector in turnip, but
ir3 seems to generate the same assembly either way and it's nice to
not have a lowering prereq before tess lowering.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5059 >
2020-06-22 14:35:45 +00:00
Brian Ho
b09e690f3b
turnip: Lower shaders for tessellation
...
To enable lowering of tess-related shaders, this commit sets the
tessellation primitive field of the ir3_shader_key. In addition,
this commit sets various tessellation flags for
spirv_to_nir configuration.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5059 >
2020-06-22 14:35:45 +00:00
Brian Ho
d2df076120
nir: Add an option for lowering TessLevelInner/Outer to vecs
...
The GLSL to NIR compiler supports the LowerTessLevel flag to convert
gl_TessLevelInner/Outer from their GLSL declarations as arrays of
floats to vec4/vec2s to better match how they are represented in
hardware.
This commit adds the similar support to the SPIR-V to NIR compiler so
turnip can use the same IR3/NIR tess lowering passes as freedreno.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5059 >
2020-06-22 14:35:45 +00:00
Brian Ho
d2d4677b56
nir: Support sysval tess levels in SPIR-V to NIR
...
This commit adds a tess_levels_are_sysvals flag to
spirv_to_nir_options similar to GLSLTessLevelsAsInputs in the GLSL to
NIR compiler options. This will be used by turnip as the tess IR3
lowering pass (ir3_nir_lower_tess) operates on TessLevelInner and
TessLevelOuter in the DS as sysvals.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5059 >
2020-06-22 14:35:45 +00:00
Neil Roberts
ffc4d82438
v3d: Disable PIPE_CAP_PRIMITIVE_RESTART
...
The hardware can only support the PIPE_CAP_PRIMITIVE_RESTART_FIXED_INDEX
subset. This will make it stop advertising the NV_primitive_restart
extension without breaking GLES 3.0 support.
v2: Update features.txt
Reviewed-by: Eric Anholt <eric@anholt.net > (v1)
Reviewed by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5559 >
2020-06-22 12:41:56 +00:00
Neil Roberts
1fc346d2be
mesa: Add PrimitiveRestartFixedIndex to gl_constants
...
This is a fine-grained subset of the NV_primitive_restart extension that
only uses the fixed indices provided by GLES 3.0. There’s no public
extension to advertise this behaviour so the bool is added to
gl_constants instead of gl_extensions.
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5559 >
2020-06-22 12:41:56 +00:00
Neil Roberts
bb5fc90135
gallium: Add pipe cap for primitive restart with fixed index
...
Adds PIPE_CAP_PRIMITIVE_RESTART_FIXED_INDEX which is a subset of the
primitive restart cap for when the hardware can only support the fixed
indices specified in GLES.
The switch statements were automatically modified with this command:
find \( \( -name \*.cpp -o -name \*.c \) \! -type l \) \
-exec sed -i -r \
's/^(\s*case\s+PIPE_CAP_PRIMITIVE_RESTART)\s*:.*$/\0\n\1_FIXED_INDEX:/' \
{} \;
v2: Add a note in screen.rst
Reviewed-by: Eric Anholt <eric@anholt.net > (v1)
Reviewed by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5559 >
2020-06-22 12:41:56 +00:00
Karol Herbst
bcf6a9ec63
nv50/ir/ra: fix memory corruption when spilling
...
When doing RA we end up with adding ValueDef references to Values across
all over the shader. This is all fine until we remove the Instruction
defining those Values, which happens when spilling values.
Instead of manipulating the values directly we should just track all
merged in defs in a seperate structure and remove stale references when
an instruction gets deleted in the spiller.
fixes following libasan report:
=================================================================
==612087==ERROR: AddressSanitizer: heap-use-after-free on address 0x6150003ea380 at pc 0x7f1d12142fe9 bp 0x7fffca6fd120 sp 0x7fffca6fd110
READ of size 8 at 0x6150003ea380 thread T0
#0 0x7f1d12142fe8 in nv50_ir::ValueDef::get() const ../src/gallium/drivers/nouveau/codegen/nv50_ir.h:648
#1 0x7f1d12143c02 in nv50_ir::Value::getUniqueInsn() const ../src/gallium/drivers/nouveau/codegen/nv50_ir_inlines.h:229
#2 0x7f1d1221530d in nv50_ir::RegAlloc::BuildIntervalsPass::addLiveRange(nv50_ir::Value*, nv50_ir::BasicBlock const*, int) ../src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp:333
#3 0x7f1d1221872e in nv50_ir::RegAlloc::BuildIntervalsPass::visit(nv50_ir::BasicBlock*) ../src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp:686
#4 0x7f1d1215676c in nv50_ir::Pass::doRun(nv50_ir::Function*, bool, bool) ../src/gallium/drivers/nouveau/codegen/nv50_ir_bb.cpp:495
#5 0x7f1d121563ed in nv50_ir::Pass::run(nv50_ir::Function*, bool, bool) ../src/gallium/drivers/nouveau/codegen/nv50_ir_bb.cpp:477
#6 0x7f1d122262b8 in nv50_ir::RegAlloc::execFunc() ../src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp:1910
#7 0x7f1d122256b0 in nv50_ir::RegAlloc::exec() ../src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp:1849
#8 0x7f1d12226f1e in nv50_ir::Program::registerAllocation() ../src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp:1970
#9 0x7f1d1214092a in nv50_ir_generate_code ../src/gallium/drivers/nouveau/codegen/nv50_ir.cpp:1275
#10 0x7f1d1227461b in nvc0_program_translate ../src/gallium/drivers/nouveau/nvc0/nvc0_program.c:634
#11 0x7f1d12294b21 in nvc0_sp_state_create ../src/gallium/drivers/nouveau/nvc0/nvc0_state.c:620
#12 0x7f1d12294d90 in nvc0_fp_state_create ../src/gallium/drivers/nouveau/nvc0/nvc0_state.c:661
#13 0x7f1d12ad4912 in st_create_fp_variant ../src/mesa/state_tracker/st_program.c:1498
#14 0x7f1d12ad4cd5 in st_get_fp_variant ../src/mesa/state_tracker/st_program.c:1525
#15 0x7f1d12ad8252 in st_precompile_shader_variant ../src/mesa/state_tracker/st_program.c:2053
#16 0x7f1d12c9c851 in st_program_string_notify ../src/mesa/state_tracker/st_cb_program.c:185
#17 0x7f1d12d17731 in st_link_tgsi ../src/mesa/state_tracker/st_glsl_to_tgsi.cpp:7441
#18 0x7f1d12cabaf0 in st_link_shader ../src/mesa/state_tracker/st_glsl_to_ir.cpp:175
#19 0x7f1d127c85ca in _mesa_glsl_link_shader ../src/mesa/program/ir_to_mesa.cpp:3186
#20 0x7f1d1252a9f7 in link_program ../src/mesa/main/shaderapi.c:1285
#21 0x7f1d1252a9f7 in link_program_error ../src/mesa/main/shaderapi.c:1384
#22 0x7f1d1252deb3 in _mesa_LinkProgram ../src/mesa/main/shaderapi.c:1876
#23 0x403e13 in main._omp_fn.0 /home/kherbst/git/shader-db/run.c:926
#24 0x7f1d17b8b4b5 in GOMP_parallel (/lib64/libgomp.so.1+0x124b5)
#25 0x4029e4 in main /home/kherbst/git/shader-db/run.c:765
#26 0x7f1d179b51a2 in __libc_start_main ../csu/libc-start.c:308
#27 0x402d1d in _start (/home/kherbst/git/shader-db/run+0x402d1d)
0x6150003ea380 is located 0 bytes inside of 504-byte region [0x6150003ea380,0x6150003ea578)
freed by thread T0 here:
#0 0x7f1d17e5d96f in operator delete(void*) (/usr/lib64/libasan.so.5.0.0+0x11096f)
#1 0x7f1d1214ec0f in __gnu_cxx::new_allocator<nv50_ir::ValueDef>::deallocate(nv50_ir::ValueDef*, unsigned long) /usr/include/c++/9/ext/new_allocator.h:128
#2 0x7f1d1214dc00 in std::allocator_traits<std::allocator<nv50_ir::ValueDef> >::deallocate(std::allocator<nv50_ir::ValueDef>&, nv50_ir::ValueDef*, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:470
#3 0x7f1d1214c5fb in std::_Deque_base<nv50_ir::ValueDef, std::allocator<nv50_ir::ValueDef> >::_M_deallocate_node(nv50_ir::ValueDef*) /usr/include/c++/9/bits/stl_deque.h:624
#4 0x7f1d121498c4 in std::_Deque_base<nv50_ir::ValueDef, std::allocator<nv50_ir::ValueDef> >::_M_destroy_nodes(nv50_ir::ValueDef**, nv50_ir::ValueDef**) /usr/include/c++/9/bits/stl_deque.h:758
#5 0x7f1d1214704d in std::_Deque_base<nv50_ir::ValueDef, std::allocator<nv50_ir::ValueDef> >::~_Deque_base() /usr/include/c++/9/bits/stl_deque.h:680
#6 0x7f1d12145371 in std::deque<nv50_ir::ValueDef, std::allocator<nv50_ir::ValueDef> >::~deque() /usr/include/c++/9/bits/stl_deque.h:1069
#7 0x7f1d1213bc5b in nv50_ir::Instruction::~Instruction() ../src/gallium/drivers/nouveau/codegen/nv50_ir.cpp:615
#8 0x7f1d1213fb2f in nv50_ir::Program::releaseInstruction(nv50_ir::Instruction*) ../src/gallium/drivers/nouveau/codegen/nv50_ir.cpp:1148
#9 0x7f1d122250fb in nv50_ir::SpillCodeInserter::run(std::__cxx11::list<std::pair<nv50_ir::Value*, nv50_ir::Value*>, std::allocator<std::pair<nv50_ir::Value*, nv50_ir::Value*> > > const&) ../src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp:1830
#10 0x7f1d12221445 in nv50_ir::GCRA::allocateRegisters(nv50_ir::ArrayList&) ../src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp:1541
#11 0x7f1d122262e9 in nv50_ir::RegAlloc::execFunc() ../src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp:1913
#12 0x7f1d122256b0 in nv50_ir::RegAlloc::exec() ../src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp:1849
#13 0x7f1d12226f1e in nv50_ir::Program::registerAllocation() ../src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp:1970
#14 0x7f1d1214092a in nv50_ir_generate_code ../src/gallium/drivers/nouveau/codegen/nv50_ir.cpp:1275
#15 0x7f1d1227461b in nvc0_program_translate ../src/gallium/drivers/nouveau/nvc0/nvc0_program.c:634
#16 0x7f1d12294b21 in nvc0_sp_state_create ../src/gallium/drivers/nouveau/nvc0/nvc0_state.c:620
#17 0x7f1d12294d90 in nvc0_fp_state_create ../src/gallium/drivers/nouveau/nvc0/nvc0_state.c:661
#18 0x7f1d12ad4912 in st_create_fp_variant ../src/mesa/state_tracker/st_program.c:1498
#19 0x7f1d12ad4cd5 in st_get_fp_variant ../src/mesa/state_tracker/st_program.c:1525
#20 0x7f1d12ad8252 in st_precompile_shader_variant ../src/mesa/state_tracker/st_program.c:2053
#21 0x7f1d12c9c851 in st_program_string_notify ../src/mesa/state_tracker/st_cb_program.c:185
#22 0x7f1d12d17731 in st_link_tgsi ../src/mesa/state_tracker/st_glsl_to_tgsi.cpp:7441
#23 0x7f1d12cabaf0 in st_link_shader ../src/mesa/state_tracker/st_glsl_to_ir.cpp:175
#24 0x7f1d127c85ca in _mesa_glsl_link_shader ../src/mesa/program/ir_to_mesa.cpp:3186
#25 0x7f1d1252a9f7 in link_program ../src/mesa/main/shaderapi.c:1285
#26 0x7f1d1252a9f7 in link_program_error ../src/mesa/main/shaderapi.c:1384
#27 0x7f1d1252deb3 in _mesa_LinkProgram ../src/mesa/main/shaderapi.c:1876
#28 0x403e13 in main._omp_fn.0 /home/kherbst/git/shader-db/run.c:926
previously allocated by thread T0 here:
#0 0x7f1d17e5c9d7 in operator new(unsigned long) (/usr/lib64/libasan.so.5.0.0+0x10f9d7)
#1 0x7f1d1215046f in __gnu_cxx::new_allocator<nv50_ir::ValueDef>::allocate(unsigned long, void const*) /usr/include/c++/9/ext/new_allocator.h:114
#2 0x7f1d1214ebec in std::allocator_traits<std::allocator<nv50_ir::ValueDef> >::allocate(std::allocator<nv50_ir::ValueDef>&, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:444
#3 0x7f1d1214dbd3 in std::_Deque_base<nv50_ir::ValueDef, std::allocator<nv50_ir::ValueDef> >::_M_allocate_node() /usr/include/c++/9/bits/stl_deque.h:617
#4 0x7f1d1214c464 in std::_Deque_base<nv50_ir::ValueDef, std::allocator<nv50_ir::ValueDef> >::_M_create_nodes(nv50_ir::ValueDef**, nv50_ir::ValueDef**) (/home/kherbst/local/lib64/dri//nouveau_dri.so+0x829464)
#5 0x7f1d121495cd in std::_Deque_base<nv50_ir::ValueDef, std::allocator<nv50_ir::ValueDef> >::_M_initialize_map(unsigned long) /usr/include/c++/9/bits/stl_deque.h:716
#6 0x7f1d12146f7d in std::_Deque_base<nv50_ir::ValueDef, std::allocator<nv50_ir::ValueDef> >::_Deque_base() /usr/include/c++/9/bits/stl_deque.h:507
#7 0x7f1d1214518d in std::deque<nv50_ir::ValueDef, std::allocator<nv50_ir::ValueDef> >::deque() /usr/include/c++/9/bits/stl_deque.h:912
#8 0x7f1d1213b9c9 in nv50_ir::Instruction::Instruction(nv50_ir::Function*, nv50_ir::operation, nv50_ir::DataType) ../src/gallium/drivers/nouveau/codegen/nv50_ir.cpp:605
#9 0x7f1d1224dd44 in nv50_ir::Function::convertToSSA() ../src/gallium/drivers/nouveau/codegen/nv50_ir_ssa.cpp:385
#10 0x7f1d1224d381 in nv50_ir::Program::convertToSSA() ../src/gallium/drivers/nouveau/codegen/nv50_ir_ssa.cpp:310
#11 0x7f1d121407c0 in nv50_ir_generate_code ../src/gallium/drivers/nouveau/codegen/nv50_ir.cpp:1264
#12 0x7f1d1227461b in nvc0_program_translate ../src/gallium/drivers/nouveau/nvc0/nvc0_program.c:634
#13 0x7f1d12294b21 in nvc0_sp_state_create ../src/gallium/drivers/nouveau/nvc0/nvc0_state.c:620
#14 0x7f1d12294d90 in nvc0_fp_state_create ../src/gallium/drivers/nouveau/nvc0/nvc0_state.c:661
#15 0x7f1d12ad4912 in st_create_fp_variant ../src/mesa/state_tracker/st_program.c:1498
#16 0x7f1d12ad4cd5 in st_get_fp_variant ../src/mesa/state_tracker/st_program.c:1525
#17 0x7f1d12ad8252 in st_precompile_shader_variant ../src/mesa/state_tracker/st_program.c:2053
#18 0x7f1d12c9c851 in st_program_string_notify ../src/mesa/state_tracker/st_cb_program.c:185
#19 0x7f1d12d17731 in st_link_tgsi ../src/mesa/state_tracker/st_glsl_to_tgsi.cpp:7441
#20 0x7f1d12cabaf0 in st_link_shader ../src/mesa/state_tracker/st_glsl_to_ir.cpp:175
#21 0x7f1d127c85ca in _mesa_glsl_link_shader ../src/mesa/program/ir_to_mesa.cpp:3186
#22 0x7f1d1252a9f7 in link_program ../src/mesa/main/shaderapi.c:1285
#23 0x7f1d1252a9f7 in link_program_error ../src/mesa/main/shaderapi.c:1384
#24 0x7f1d1252deb3 in _mesa_LinkProgram ../src/mesa/main/shaderapi.c:1876
#25 0x403e13 in main._omp_fn.0 /home/kherbst/git/shader-db/run.c:926
SUMMARY: AddressSanitizer: heap-use-after-free ../src/gallium/drivers/nouveau/codegen/nv50_ir.h:648 in nv50_ir::ValueDef::get() const
Shadow bytes around the buggy address:
0x0c2a80075420: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c2a80075430: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c2a80075440: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c2a80075450: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fa
0x0c2a80075460: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
=>0x0c2a80075470:[fd]fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c2a80075480: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c2a80075490: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c2a800754a0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fa
0x0c2a800754b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c2a800754c0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Shadow gap: cc
==612087==ABORTING
v2: full rework
v3: manage a full copy instead of recreating new lists on every access
Closes : #3066
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5277 >
2020-06-22 12:29:49 +00:00
Karol Herbst
b8c77d4765
nv50/ir/ra: convert some for loops to Range-based for loops
...
I will touch them in the next commit
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5277 >
2020-06-22 12:29:49 +00:00
Icecream95
361fb38662
panfrost: Copy resources when mapping to avoid waiting for readers
...
It is often faster to copy the whole resource and modify that than
to flush and wait for readers of the BO.
Helps anything which updates textures after already using them in a
frame, such as most GLQuake ports.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5573 >
2020-06-22 12:15:05 +00:00
Icecream95
65b3b08aaf
panfrost: Update sampler views when the texture bo changes
...
The BO reallocation path in panfrost_transfer_map caused textures and
sampler views to get out of sync.
v2: Use the GPU address of the BO in case two BOs get allocated at the
same address.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5573 >
2020-06-22 12:15:05 +00:00
Icecream95
9630012060
panfrost: RGBA4 and RGB5_A1 framebuffer support
...
Tested with fbo_firecube.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5573 >
2020-06-22 12:15:05 +00:00
Icecream95
b96d4449f4
pan/mdg: Fix max_comp calculation for constant printing
...
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5573 >
2020-06-22 12:15:05 +00:00
Icecream95
5b351c801e
pan/decode: Add missing wrap modes
...
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5573 >
2020-06-22 12:15:05 +00:00
Icecream95
e219f04592
pan/decode: Fix helper invocations when tracing
...
midgard1.flags_lo was being changed when tracing, causing helper
invocations to be disabled.
This was found by using mprotect to make BOs read only in
pandecode_fetch_gpu_mem.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5573 >
2020-06-22 12:15:05 +00:00
Gert Wollny
97318994bc
r600/sfn: Don't set num_components on TESS sysvalue intrinsics
...
These instructions are not vectorized, and validation rules added for
this with 167fa2887f
nir/validate: validate intr->num_components
Fixes: 46a3033b43
r600/sfn: Emit some LDS instructions
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5575 >
2020-06-22 12:01:17 +00:00
Gert Wollny
43c23ba9bf
r600/sfn: Add support for shared atomics
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5575 >
2020-06-22 12:01:17 +00:00
Gert Wollny
033968a94e
r600/sfn: Add lowering pass for shared IO
...
Lower shared load and store to use the r600 specific intrinsics.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5575 >
2020-06-22 12:01:17 +00:00
Karol Herbst
14591a45b7
nv50/ir/nir: rework CFG handling
...
Remove all convergency handling as it was broken and get the code to be a
bit closer to TGSI. Also removes pointless asserts.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Tested-by: Ben Skeggs <bskeggs@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5512 >
2020-06-22 11:41:31 +00:00
Karol Herbst
8af22703e9
nv50/ir/nir: rework input output handling
...
New code is a bit more structurized and fixes a bunch of int64 and double
fails. Also disables lower_to_scalar which gives us nice vectorized inputs
and outputs.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Tested-by: Ben Skeggs <bskeggs@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5512 >
2020-06-22 11:41:31 +00:00
Karol Herbst
c31d711913
nv50/ir/nir: handle clip vertex for tess eval shaders
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Tested-by: Ben Skeggs <bskeggs@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5512 >
2020-06-22 11:41:31 +00:00
Karol Herbst
636cf22a1f
nv50/ir/nir: don't emit a restart with set a stream_id
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Tested-by: Ben Skeggs <bskeggs@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5512 >
2020-06-22 11:41:31 +00:00
Karol Herbst
cc71fccb75
nvc0: enable spirv caps with nir
...
This enables the SPIR-V GL extensions moving us a step closer to GL 4.6.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Tested-by: Ben Skeggs <bskeggs@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5512 >
2020-06-22 11:41:31 +00:00
Karol Herbst
e476629853
nv50/ir/nir: fix nv_viewport_array2
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Tested-by: Ben Skeggs <bskeggs@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5512 >
2020-06-22 11:41:31 +00:00
Karol Herbst
984e930b2f
nv50/ir/nir: fix ext_demote_to_helper_invocation
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Tested-by: Ben Skeggs <bskeggs@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5512 >
2020-06-22 11:41:31 +00:00
Karol Herbst
b78c337590
nv50/ir/print: add missing VIEWPORT_MASK handling
...
Also add an STATIC_ASSERT so we catch those issues automatically.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5512 >
2020-06-22 11:41:31 +00:00
Karol Herbst
aecca24d03
nv50/ir/nir: add workaround for double vertex attribs
...
Gallium adjusts the vertrix attrib types for doubles, but can run out of
bounds this way. As the slot is counted from 0 anyway, just fix it.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Tested-by: Ben Skeggs <bskeggs@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5512 >
2020-06-22 11:41:31 +00:00
Samuel Pitoiset
83d2a73b73
aco: improve validation checks for readlane/writelane
...
This allows literals for the lane select on GFX10+. The doc says
that is should be a SGPR or a constant but VOP3 on GFX10+ allows
literals.
Some later validation code checks if literals are allowed anyways.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5010 >
2020-06-22 11:24:27 +00:00
Daniel Schürmann
f03a5f6cac
radv/aco: implement logic64 instead of lowering
...
to make use of the scalar ALU
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5527 >
2020-06-22 10:59:45 +00:00
Rhys Perry
9a389322c4
nir: slight correction to cube_face_coord constant folding
...
ACO does the division with a rcp and then a multiplication.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5547 >
2020-06-22 10:28:40 +00:00
Samuel Pitoiset
c95d258d1b
aco: fix printing ASM on GFX6-7 if clrxdisasm is not found
...
Fixes some dEQP-VK.pipeline.executable_properties.* which expect
a valid string to be returned.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5560 >
2020-06-22 10:38:33 +02:00
Neil Roberts
053df9bd8f
v3d: Let scheduler know GS doesn’t have shared I/O memory
...
Unlike the vertex shaders, the memory for inputs and outputs is stored
in separate segments so the scheduler doesn’t need to serialise them.
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5561 >
2020-06-22 08:23:06 +02:00
Neil Roberts
ed29b576cb
nir/scheduler: Add an option to specify what stages share memory for I/O
...
The scheduler has code to handle hardware that shares the same memory
for inputs and outputs. Seeing as the specific stages that need this is
probably hardware-dependent, this patch makes it a configurable option
instead of hard-coding it to everything but fragment shaders.
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5561 >
2020-06-22 08:23:06 +02:00
Neil Roberts
28e3209985
nir/schedule: Store a pointer to the scoreboard in nir_deps_state
...
nir_deps_state is a struct used as a closure for calculating the
dependencies. Previously it had two fields copied out of the scoreboard.
The closure is initialised in two seperate places. In order to make it
easier to access other members of the scoreboard in the callbacks in
later patches, the closure now just contains a pointer to the scoreboard
and the two bits of copied information are removed.
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5561 >
2020-06-22 08:23:06 +02:00
Neil Roberts
0a18c935e1
v3d: Remove unused member of v3d_compile
...
It looks like gs_input_sizes was added when GS shaders were implemented
but it was never used anywhere.
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5561 >
2020-06-22 08:23:06 +02:00
Neil Roberts
df8dc30cea
nir/scheduler: Handle nir_intrinsic_load_per_vertex_input
...
load_per_vertex_input should probably be handled in the same way as a
regular load_input. I think the nir_schedule pass was written before V3D
had geometry shader support, so that is probably why it hasn’t taken
this into account until now.
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5561 >
2020-06-22 08:23:06 +02:00
Karol Herbst
281f777433
gv100/ir: fix OP_TXG for shadow textures
...
doesn't seem to fix any tests now, but the previous code was obviously
incorrect and I still see fails in those CTS tests:
KHR-GL46.texture_gather.*depth*
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Ben Skeggs <bskeggs@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5576 >
2020-06-22 00:56:00 +02:00
Karol Herbst
42b9aa5f5c
gv100/ir: fix shift lowering
...
Wrap was ignored. Also merge functions to share code.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Ben Skeggs <bskeggs@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5576 >
2020-06-22 00:55:57 +02:00
Karol Herbst
a5445010e4
gv100/ir: fix atom cas
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Ben Skeggs <bskeggs@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5576 >
2020-06-22 00:55:52 +02:00
Jonathan Marek
eb6c546493
freedreno/a4xx: simplify setup_slices
...
Note: untested
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5132 >
2020-06-21 21:11:50 +00:00
Jonathan Marek
6c92a4004c
freedreno/a4xx: restore pitch to bytes change to layout code
...
I lost this change when rebasing the commit moving this.
Fixes: aa2186db0 ("freedreno: move a4xx specific layout code to a4xx code")
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5132 >
2020-06-21 21:11:50 +00:00
Mario Kleiner
2cc51b0dff
vulkan/wsi: Really terminate DRM lease in wsi_release_display().
...
wsi_release_display() implements vkReleaseDisplayEXT() which
is supposed to return control to the lessor of an output
upon call.
We need to terminate the wsi->wait_thread when close()'ing
the wsi->fd, otherwise the wait_thread holds another reference
to the wsi->fd, keeping the lease active, and thereby the
leased output blocked, until vkDestroyInstance() is called.
This gives users their GUI back, instead of extended darkness.
Fixes: 352d320a07 ("vulkan: Add EXT_direct_mode_display [v2]")
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: <mesa-stable@lists.freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5396 >
2020-06-21 11:20:54 +00:00
Rob Clark
82815bc980
freedreno/ir3: split ubo analysis/lowering passes
...
Since binning pass variants share the same const_state with their
draw-pass counterpart, we should re-use the draw-pass variant's ubo
range analysis. So split the two functions of the existing pass
into two parts.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5526 >
2020-06-21 00:52:02 +00:00
Rob Clark
e0f93f6898
freedreno/ir3: splitup get_existing_range()
...
This serves two purposes, one during ubo range analysis, where we want
to create new ranges, and another during the actual ubo lowering. Split
these in two, with read-only ubo analysis state in the second case, to
prepare to split this pass in two.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5526 >
2020-06-21 00:52:02 +00:00
Rob Clark
f2226acd74
freedreno/ir3: split out ubo info from range
...
Split out the description of the ubo from the ubo-range.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5526 >
2020-06-21 00:52:02 +00:00
Jonathan Marek
0c32403c73
turnip: remove unnecessary OVERFLOW_FLAG_REG check
...
The HW deals with overflow automatically, and presumably does it better
(only disabling for pipes that had overflow, and using the visiblity data
available before the overflow)
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5565 >
2020-06-20 19:31:48 +00:00
Jonathan Marek
df2e54f7d4
freedreno/a6xx: remove unnecessary OVERFLOW_FLAG_REG check
...
The HW deals with overflow automatically, and presumably does it better
(only disabling for pipes that had overflow, and using the visiblity data
available before the overflow)
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5565 >
2020-06-20 19:31:48 +00:00
Jonathan Marek
ffecaedf69
freedreno/a6xx: VSC "STRM_ARRAY_PITCH" is "STRM_LIMIT"
...
This was being set wrong in both freedreno and turnip, and setting it
correctly should avoid hangs when there is overflow.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5565 >
2020-06-20 19:31:48 +00:00
Rhys Perry
c977567db6
radv: enable radv_no_dynamic_bounds for more Path of Exile executables
...
It looks like there's also a standalone version and a 32-bit version.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Cc: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5574 >
2020-06-20 11:46:12 +01:00
Erik Faye-Lund
08f64f91d1
gallium/util: add missing include
...
This source-file uses PIPE_OS_WINDOWS to enable the Windows
functionality. But witout including p_config.h, this pre-processor
symbol won't be defined at all.
Let's fix this by adding the missing include, enabling stack-traces on
Windows.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5497 >
2020-06-20 06:51:54 +00:00
Erik Faye-Lund
2d6059d887
gallium/util: limit STACK_LEN on Windows
...
The Windows implementation of debug_backtrace_capture has a limiation
of max 62 frames in total. Subtract a start-frame of 1 and the wrapping
functions frame, and we land at 60.
So let's lower this number on Windows to avoid triggering an assert.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5497 >
2020-06-20 06:51:54 +00:00
Erik Faye-Lund
e6fa8ed968
graw/gdi: do not depend on UNICODE macro
...
Similar to the previous patch, we currently depend on the UNICODE macro
not being set, but it sometimes ends up getting set after all.
Unlike the previous patch, the easier thing to do here, is to lean into
the Unicode wrappers, and use the TEXT()-macro to define a Unicode
or ASCII literal, depending on the setting of the UNICODE macro.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5497 >
2020-06-20 06:51:54 +00:00
Erik Faye-Lund
eda6841420
gallium/os: call "ANSI" version of GetCommandLine
...
The GetCommandLine API comes in two versions, GetCommandLineA (which
returns "ANSI" results), and GetCommandLineW which returns UTF-16
("WIDE") results. Then finally, windows.h provides a wrapper-macro that
defines GetCommandLine to either of the two, based on the setting of
the UNICODE macro.
More information about this mechanism can be found here:
https://docs.microsoft.com/en-us/windows/win32/intl/unicode-in-the-windows-api
For some reason, the UNICODE macro is set during build, even if we're
not explicitly setting it. This leads to us trying to cast a UTF-16
result to a char-pointer, which is obviously not going to do the right
thing.
So let's be defensive, and just call GetCommandLineA directly instead.
This avoids us depending on the setting of the UNICODE-macro in the
first place.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5497 >
2020-06-20 06:51:54 +00:00
Arcady Goldmints-Orlov
04f77595f0
intel/compiler: Always apply sample mask on Vulkan.
...
With OpenGL, shader writes to the sample mask are ignored when not
rendering to a multisample render target. However, on Vulkan, writes to
the sample mask have still have their effect in that case.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3016
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5156 >
2020-06-19 20:24:11 -05:00
Rhys Perry
19b2ac2bb9
radv: enable radv_no_dynamic_bounds for Path of Exile
...
To workaround game bugs. This also enables it for the D3D11 renderer but
that shouldn't be an issue.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Cc: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3081
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3084
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3080
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5569 >
2020-06-19 23:53:47 +00:00
Rhys Perry
f4a643f65e
radv: add new drirc option radv_no_dynamic_bounds
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Cc: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5569 >
2020-06-19 23:53:47 +00:00
Nanley Chery
3915b56e39
iris: Support I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS
...
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5420 >
2020-06-19 23:32:29 +00:00
Nanley Chery
2305ab6938
iris: Refactor modifier_is_supported for gen12
...
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5420 >
2020-06-19 23:32:29 +00:00
Nanley Chery
c19492bcdb
iris: Handle importing aux-enabled surfaces on TGL
...
Ensure main surfaces are properly 64KB-aligned (as suggested by Jordan)
and map the main surface addresses to aux surface addresses on import.
v2. Add a Bspec quote. (Sagar)
v3. Add a bit more to the Bspec comment. (Ken)
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com > (v2)
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5420 >
2020-06-19 23:32:29 +00:00
Nanley Chery
4ed6e43988
gallium/dri2: Support I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS
...
Add a case for this modifier in dri2_get_modifier_num_planes.
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5420 >
2020-06-19 23:32:29 +00:00
Nanley Chery
b25fedeff9
isl/drm: Support I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS
...
Add an entry for this modifier in the modifier_info array.
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5420 >
2020-06-19 23:32:29 +00:00
Nanley Chery
9dea3e1b47
iris: Use ISL_AUX_USAGE_GEN12_CCS_E on gen12
...
Makes iris pass a subtest of the fcc-write-after-clear piglit test
(fast-clear tracking across layers 1 -> 0 -> 1) on gen12.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5363 >
2020-06-19 22:41:40 +00:00
Nanley Chery
230952c210
iris: Don't support sRGB + Y_TILED_CCS on gen9
...
Delete some code that would otherwise need updating for
ISL_AUX_USAGE_GEN12_CCS_E.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5363 >
2020-06-19 22:41:40 +00:00
Nanley Chery
db5d98cde8
intel: Add ISL_AUX_USAGE_GEN12_CCS_E
...
Add a new aux usage which more accurately describes the behavior of
CCS_E on gen12. On this platform, writes using the 3D engine are either
compressed or substituted with fast-cleared blocks.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5363 >
2020-06-19 22:41:40 +00:00
Eric Anholt
d9f7fce83c
ci: Enable NIR validation on a630 GLES2 and VK tests.
...
We get through GLES2 in 5.5 minutes and the vk subset in 8 minutes, so we
can spare the CPU time on these tests.
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5554 >
2020-06-19 14:50:05 -07:00
Eric Anholt
6ee80d8e0c
ci: Bump vulkan CTS to 1.2.3.0.
...
Looks like it fixes some potentially important VK test bugs. But also, it
fixes the GLES31 SSBO layout tests to not be so excessively large, so we
can run them in a reasonable time now. Note that a630 fail list is reset,
since the test list has changed and so we end up with a different subset
of tests being run. Interestingly, in the process the semaphore tests are
now reporting "NotSupported (Exporting and importing semaphore type not
supported at vktSynchronizationSignalOrderTests.cpp:513)" where they
weren't before.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5554 >
2020-06-19 14:50:05 -07:00
Nanley Chery
f8961ea086
iris: Disable sRGB fast-clears for non-0/1 values
...
For texturing and draw calls, HW expects the clear color to be in two
different color spaces after sRGB fast-clears - sRGB in the former and
linear in the latter. Up until now, iris has stored the clear color in
the sRGB color space. Limit the allowable clear colors for sRGB
fast-clears to 0/1 so that both color space requirements are satisfied.
Makes iris pass the sRGB -> sRGB subtest of the fcc-write-after-clear
piglit test on gen9+.
v2:
* Drop iris_context::blend_enables. (Ken)
* Drop some more resolve-related blend-state-tracking code.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4972 >
2020-06-19 21:03:31 +00:00
Nanley Chery
48a3f4c44b
iris: Avoid fast-clear with incompatible view
...
For rendering operations, avoid adding or using fast-cleared blocks if
the render format is incompatible with the clear color interpretation.
Note that the clear color is currently interpreted through the
resource's surface format.
Makes iris pass subtests of the fcc-write-after-clear piglit test:
* UNORM -> SNORM, partial block on gen8+.
* linear -> sRGB, partial block on gen9+.
* UNORM -> SNORM, full block on gen12.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4972 >
2020-06-19 21:03:31 +00:00
Nanley Chery
fbbf79377b
iris: Remove the CCS_D fallback
...
Remove the CCS_D fallback logic so that iris doesn't attempt to use a
non-existent surface state for some renders. Also, add an assertion to
catch the issue.
The fallback in iris_resource_render_aux_usage can lead to this problem
because it doesn't account for the fact that surface states created from
resources with the Y_TILED_CCS modifier may only have CCS_E or NONE as
aux usages (due to iris_resource_create_with_modifiers).
Without this change, the next commit would have triggered the fallback
and regressed the following tests on gen9:
* dEQP-EGL.functional.wide_color.window_888_colorspace_srgb
* dEQP-EGL.functional.wide_color.window_8888_colorspace_srgb
* dEQP-EGL.functional.wide_color.pbuffer_888_colorspace_srgb
* dEQP-EGL.functional.wide_color.pbuffer_8888_colorspace_srgb
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4972 >
2020-06-19 21:03:31 +00:00
Nanley Chery
e533232d8c
iris: Drop can_fast_clear_color's format parameter
...
Pull the resource's format from the pipe_resource instead. Makes the
changes in later commits more obvious.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4972 >
2020-06-19 21:03:31 +00:00
Eric Engestrom
7b7d28ed6d
docs: move "stable" tag explanation next to Fixes:
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5378 >
2020-06-19 19:51:53 +00:00
Eric Engestrom
a096d41094
docs: move Fixes: tag explanation to its own section
...
This also adds the ability to link directly to it:
https://mesa3d.org/submittingpatches.html#fixes
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5378 >
2020-06-19 19:51:53 +00:00
Eric Engestrom
7488d49107
docs: make it clear that the tags needs to be in the commit message
...
Some people have been putting them only in the MR description, which
isn't picked up by our tools. (Note that doing both doesn't hurt.)
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5378 >
2020-06-19 19:51:53 +00:00
Eric Engestrom
731465192a
docs: reword a sentence a bit
...
The "that you know ahead of time" bit just sounded weird as everything on this
page except the backport MR only applies if you know it "ahead of time".
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5378 >
2020-06-19 19:51:53 +00:00
Eric Engestrom
5d27d5eb61
docs: add some formatting to the "backport merge request" option
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5378 >
2020-06-19 19:51:53 +00:00
Eric Engestrom
0e4eb7b86d
docs: prefer Fixes: over Cc: mesa-stable
...
`Fixes:` targets a specific commit and as such is much more precise and
useful than `Cc: mesa-stable`, so let's prefer it when applicable.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5378 >
2020-06-19 19:51:53 +00:00
Eric Engestrom
8fd9893123
docs: drop git sendemail instructions
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5378 >
2020-06-19 19:51:53 +00:00
Eric Engestrom
a29a1588b1
docs: reword "sending a patch revision" to "updating a merge request"
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5378 >
2020-06-19 19:51:53 +00:00
Eric Engestrom
fdebba2770
docs: stop considering Cc: mesa-stable as an email address
...
Our tools haven't needed more than this ^ for a while, and the historical
reasons this used to be an email address don't matter anymore.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5378 >
2020-06-19 19:51:53 +00:00
Kristian H. Kristensen
b1a98a1107
freedreno/a6xx: Set index buffer size to bo size
...
The number of vertices may be out of bound and if we use it for
computing index buffer size we may get too big a size.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5552 >
2020-06-19 19:25:34 +00:00
Kristian H. Kristensen
2580e4f921
freedreno/a6xx: Don't write REG_A6XX_RB_SRGB_CNTL in restore
...
We configure this as part of MRT set up.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5552 >
2020-06-19 19:25:34 +00:00
Jason Ekstrand
77c50891b6
anv: Use resolve_device_entrypoint for dispatch init
...
There's no good reason to have the "which table do I use?" code
duplicated twice. The only advantage to the way we were doing it before
was that we could move the switch statement outside the loop. If this
is ever an actual device initialization perf problem that someone cares
about, we can optimize that when the time comes. For now, the
duplicated cases are simply a platform-enabling pit-fall.
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5530 >
2020-06-19 19:13:56 +00:00
Eric Engestrom
e94a122642
docs: suggest alternative installation methods for meson
...
A couple of popular distros have a habit of never updating anything.
Point their users towards ways of using current versions of meson anyway.
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2988 >
2020-06-19 18:05:25 +00:00
Brian Ho
cca9aa4dfd
turnip: Fill out VkPhysicalDeviceSubgroupProperties
...
This commit fills out VkPhysicalDeviceSubgroupProperties if present
in a VkPhysicalDeviceProperties2. The values here are simply pulled
from the blob.
Fixes some flakes in dEQP-VK.subgroups.* since dEQP was reading
uninitialized values of VkPhysicalDeviceSubgroupProperties.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5564 >
2020-06-19 17:49:09 +00:00
Mike Blumenkrantz
292ade3c9d
zink: use int assignment for vk int type
...
this breaks 32bit builds that use -Werror=int-conversion
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5545 >
2020-06-19 17:31:51 +00:00
Rob Clark
8f11cc4cad
freedreno/ir3: move output_loc to variant
...
This moves the last bit of important state to be serialized from
ir3_shader to ir3_shader_variant.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5508 >
2020-06-19 13:16:57 +00:00
Rob Clark
640ff0e847
freedreno/ir3: move const_state back to variant
...
For shader-cache, we want to not have anything important in `ir3_shader`.
And to have shader variants with lower const size limits (to properly
handle cross-stage limits), we also want variants to be able to have
their own const_state.
But we still need binning pass shaders to align with their draw pass
counterpart so that the same const emit can be used for both passes.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5508 >
2020-06-19 13:16:57 +00:00
Rob Clark
00926954c3
freedreno/ir3: un-embed const_state
...
Make it an rzalloc'd ptr instead of embedded struct, so it can serve as
the mem ctx for immediates. This gets rid of needing to explicitly free
the immediates, so one less thing to deal with when moving const_state.
(Also, after we move const_state to the shader variant, we won't need
one for binning pass variants)
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5508 >
2020-06-19 13:16:57 +00:00
Rob Clark
ab74b792d4
freedreno/ir3: move num_reserved_user_consts out of const_state
...
When we move const_state to the variant, this will need to stay in the
shader, as it applies to all variants (and we need to store it somewhere
before we have any variants)
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5508 >
2020-06-19 13:16:57 +00:00
Rob Clark
74140c2e85
freedreno/ir3: convert over to ralloc
...
The `ir3_shader` is the root mem ctx, with `ir3_shader_variant` hanging
off that, and various variant specific allocations hanging off the
variant.
This lets us delete a bunch of cleanup code.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5508 >
2020-06-19 13:16:57 +00:00
Rob Clark
6039d083f7
freedreno/ir3: pass variant to ir3_create()
...
Prep to convert over to ralloc.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5508 >
2020-06-19 13:16:57 +00:00
Connor Abbott
65660622a1
ir3: Split out variant-specific lowering and optimizations
...
It seems a lot of the lowerings being run the second time were
unnecessary. In addition, when const_state is moved to the variant,
then it will become impossible to know ahead of time whether a variant
needs additional optimizing, which means that ir3_key_lowers_nir() needs
to go away. The new approach should have the same effect, since it skips
running lowerings that are unnecessary and then skips the opt loop if no
optimizations made progress, but it will work better when we move
ir3_nir_analyze_ubo_ranges() to be after variant creation.
The one maybe controversial thing I did is to make
nir_opt_algebraic_late() always happen during variant lowering. I wanted
to avoid code duplication, and it seems to me that we should push the
_late variants as far back as possible so that later opt_algebraic runs
don't miss out on optimization opportunities.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5508 >
2020-06-19 13:16:57 +00:00
Rob Clark
f4654c458f
freedreno/ir3: constify shader key
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5508 >
2020-06-19 13:16:57 +00:00
Rob Clark
91ed8b7fe3
freedreno/ir3: drop shader->num_ubos
...
The only difference between this and `const_state->num_ubos` was that
the latter is counting # of ubos loaded via `ldg` (based on UBO addrs
in push-consts). But turns out there isn't really any reason to care.
Instead just add an early return in the one code-path that cares about
the number of `ldg` UBOs.
This gets rid of one more thing we need to move from `ir3_shader` to
`ir3_shader_variant`.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5508 >
2020-06-19 13:16:57 +00:00
Rob Clark
70fbd48b3a
freedreno/ir3: move ubo_state into const_state
...
As with const_state, this will also need to move into the variant. To
simplify that, just move it into the const_state itself, since after all
it is related.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5508 >
2020-06-19 13:16:57 +00:00
Rob Clark
a8b995c055
freedreno/a6xx: defer userconst cmdstream size calculation
...
The `ubo_state` will also need to move to `ir3_shader_variant`. But we
can prepare for that and simplify things a bit if we calculate the
cmdstream on first emit, once we already have the appropriate variant.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5508 >
2020-06-19 13:16:57 +00:00
Rob Clark
bd55533f5b
freedreno/ir3: add accessor for const_state
...
We are going to want to move this back to the variant, and come up with
a different strategy for binning/nonbinning to share the same constant
layout, in order to implement shader-cache support. (Since then we
can have a mix of dynamically compiled variants and cache hits, so there
is no good place to serialize the const-state.)
To reduce the churn as we re-arrange things, move direct access to the
const-state to a helper fxn. This patch is the boring churny part.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5508 >
2020-06-19 13:16:57 +00:00
Rob Clark
1e8808a4a0
freedreno/ir3: refactor out helper to compile shader from asm
...
Deduplicate a bit of hand-building of ir3_shader/_variant from
computerator and delay test. This also removes the need for
external things to depend on generated ir3_parser header.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5508 >
2020-06-19 13:16:57 +00:00
Pierre-Eric Pelloux-Prayer
b6db703e0f
st/mesa: make texture views inherit compressed_data storage
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2775
Fixes: c3fafa127a ("st/mesa: generalize code for the compressed texture map/unmap fallback")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5492 >
2020-06-19 10:39:08 +02:00
Pierre-Eric Pelloux-Prayer
993c64e6fe
ac/llvm: load 1 byte at a time if unaligned on gfx10
...
If buffer or stride is unaligned we use the same trick as on gfx6:
load 1 byte at a time and recompose the output if needed.
This change fixes lots of deqp/glcts tests:
- dEQP-GLES2.functional.draw.random.1, 10, ...
- dEQP-GLES2.functional.vertex_arrays.multiple_attributes.stride.3_float2_0_float2_0_float2_17, ...
- dEQP-GLES2.functional.vertex_arrays.single_attribute.first.byte_first24_offset1_stride2_quads256, ...
- dEQP-GLES2.functional.vertex_arrays.single_attribute.strides.buffer_0_17_byte2_vec4_dynamic_draw_quads_1, ...
- dEQP-GLES31.functional.draw_indirect.random.14, ...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5502 >
2020-06-19 09:20:16 +02:00
Gert Wollny
bddfbfcb56
r600/sfn: Handle memory_barrier
...
I'm not sure whether this should actually be a barrier accross all
shader processing units, the TGSI code path seems to handle this
only by using GROUP_BARRIER, so let's do the same here.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5206 >
2020-06-19 06:58:07 +00:00
Gert Wollny
34e15cd610
r600/sfn: Take SSBO buffer ID offset into account
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5206 >
2020-06-19 06:58:07 +00:00
Gert Wollny
5aef9ea2a3
r600/sfn: Add support for reading cube image array dim.
...
The cube array size can't be queried directly, the number of array
elements must be passed via a constant buffer.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5206 >
2020-06-19 06:58:07 +00:00
Gert Wollny
e458683a52
r600/sfn: Add support for image_size
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5206 >
2020-06-19 06:58:07 +00:00
Gert Wollny
249dbcb769
r600/sfn: Add imageio support
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5206 >
2020-06-19 06:58:07 +00:00
Gert Wollny
b303540c48
r600/sfn: lower image derefs
...
v2: Signal lowering image derefs by using the CAP
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5206 >
2020-06-19 06:58:07 +00:00
Samuel Pitoiset
2ac5cce1a1
radv: require LLVM 11+ for GFX 10.3 if not using ACO
...
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/5389 >
2020-06-19 08:18:43 +02:00
Samuel Pitoiset
dc698fb5dc
radv: add support for Sienna Cichlid
...
Bits copied from RadeonSI. Totally untested.
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/5389 >
2020-06-19 08:18:41 +02:00
Samuel Pitoiset
8c144482ea
aco: replace == GFX10 with >= GFX10 where it's needed
...
Assume the GFX10.3 ISA is similar to GFX10 which is likely (except
possible minor changes and new instructions for raytracing).
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/5389 >
2020-06-19 08:18:39 +02:00
Samuel Pitoiset
3c28438094
radv: replace == GFX10 with >= GFX10 where it's needed
...
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/5389 >
2020-06-19 08:18:37 +02:00
Matt Turner
1f87106276
intel/tools: Add assembler tests for the cr0 register
...
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5514 >
2020-06-19 02:10:40 +00:00
Matt Turner
e573f21edd
intel/tools: Disallow control subregisters > 3
...
> 4 was probably a typo, since the documentation says that there are 4
subregisters (0-3).
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5514 >
2020-06-19 02:10:40 +00:00
Matt Turner
cc6fc963f0
intel/tools: Require explicit regions/types for special regs
...
The docs say that these registers should only be read with a certain
type, and I'm inclined to believe that the hardware behaves that way,
but it makes the assembler a little more confusing and also confuses the
user of the assembler that some operands don't take types or regions.
Just always requiring regions and types seems like the sensible thing.
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5514 >
2020-06-19 02:10:40 +00:00
Matt Turner
9feb6302f9
intel/tools: Drop srctype from ipreg
...
It's unused, and it would cause shift/reduce conflicts after the next
patch.
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5514 >
2020-06-19 02:10:40 +00:00
Matt Turner
27557e7110
intel/tools: Remove unnecessary reg number checking
...
a0 is the only address register, and cr0 is the only control register,
so there's no need to return the register number, espcially since the
lexer explicitly consumes "a0" and "cr0".
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5514 >
2020-06-19 02:10:40 +00:00
Jonathan Marek
f8110226ba
turnip: move enum translation functions to a common header
...
Instead of having these functions sprinkled around the driver (and ending
with a duplicated tu6_compare_func for example), move everything to a
common header (using the previously unused tu_util.h).
Also applied some simplifications: using a cast when the HW enum matches
the VK enum, and using a lookup table when it makes sense (which is IMO
nicer than the switch case way).
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5538 >
2020-06-18 19:45:44 +00:00
Rhys Perry
f7cc7079b0
aco: use the same regclass as the definition for undef phi operands
...
Subdword phis can't have SGPR operands on GFX6-8.
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/5544 >
2020-06-18 17:29:33 +00:00
Rhys Perry
897a47d847
aco: fix edge check with sub-dword temporaries
...
Fixes RA failure for a parallel-rdp shader on pitcairn.
fossil-db (Navi):
Totals from 2 (0.00% of 128733) affected shaders:
CodeSize: 203656 -> 205724 (+1.02%)
Instrs: 32267 -> 32529 (+0.81%)
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/5544 >
2020-06-18 17:29:33 +00:00
Erik Faye-Lund
747e808697
mesa/main: fix inverted condition
...
I accidentally got one of the conditions wrong here. Sorry for the
mixup.
See ttps://gitlab.freedesktop.org/mesa/mesa/-/issues/3134 for details.
Fixes: b112e62ba4 ("mesa/main: do not allow MESA_ycbcr_texture enums on gles")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5532 >
2020-06-18 17:07:14 +00:00
Karol Herbst
4bc5110eea
nv50/ir/nir: remove image uniform hack
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5480 >
2020-06-18 15:15:17 +00:00
Karol Herbst
c0bbca5c23
nv50/ir/nir: handle image atomic inc and dec
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Ben Skeggs <bskeggs@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5480 >
2020-06-18 15:15:17 +00:00
Karol Herbst
3af27bb7de
nv50/ir/nir: move away from image_deref intrinsics
...
v2: fix lod source of image operation correctly
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5480 >
2020-06-18 15:15:17 +00:00
Karol Herbst
feb83f2f82
nir/lower_images: handle dec and inc
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5480 >
2020-06-18 15:15:17 +00:00
Karol Herbst
43faa9ebb1
nir/lower_images: fix for array of arrays
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5480 >
2020-06-18 15:15:17 +00:00
Karol Herbst
e35e0307cb
st/mesa: lower images when needed
...
The "st/pbo download FS" builtin shader uses image derefs, so even with
PIPE_CAP_NIR_IMAGES_AS_DEREF set to 0 drivers ended up with those.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5480 >
2020-06-18 15:15:17 +00:00
Rhys Perry
365d0aa6c5
aco: shrink mad_info
...
From 24 bytes to 16 bytes.
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/5281 >
2020-06-18 14:26:01 +00:00
Rhys Perry
917260710f
aco: make ssa_info::label 64-bit
...
We'll probably need these extra bits in the future.
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/5281 >
2020-06-18 14:26:01 +00:00
Rhys Perry
47ca84a96d
aco: shrink ssa_info
...
Reorder members so that it's 16 bytes instead of 24.
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/5281 >
2020-06-18 14:26:01 +00:00
Boyuan Zhang
19983d3d4a
radeon/vcn: bump vcn3.0 encode major version to 1
...
And add quality params for this version
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Thong Thai <thong.thai@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: James Zhu <James.Zhu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5501 >
2020-06-18 09:58:04 -04:00
Boyuan Zhang
2be131f538
radeon/vcn/enc: Re-write PPS encoding for HEVC
...
Due to hardware change on VCN3
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Thong Thai <thong.thai@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: James Zhu <James.Zhu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5501 >
2020-06-18 09:58:03 -04:00
Thong Thai
9d5d4f9eaa
radeon/vcn: add vcn 3.0 encode support
...
Signed-off-by: Thong Thai <thong.thai@amd.com >
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: James Zhu <James.Zhu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5501 >
2020-06-18 09:58:03 -04:00
Leo Liu
946c5c6b75
radeon/vcn/dec: add db_aligned_height to message buffer
...
This is required for Sienna
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: James Zhu <James.Zhu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5501 >
2020-06-18 09:58:03 -04:00
Leo Liu
384195b041
radeon/vcn: add Sienna to use internal register offset
...
And re-group them explicitly
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: James Zhu <James.Zhu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5501 >
2020-06-18 09:58:03 -04:00
Leo Liu
909037b557
radeon/vcn: reset the decode flags from message buffer
...
This flag was never used by VCN previously, and now
it's used for feature that is not applied to us.
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: James Zhu <James.Zhu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5501 >
2020-06-18 09:58:03 -04:00
Daniel Schürmann
3817fa7a4d
aco: fix WQM handling in nested loops
...
If on a nested loop
- the outer loop needs WQM but
- the inner loop doesn't need WQM and
- the break condition of the inner loop is computed in the outer loop
then it could happen that we transitioned to Exact before entering the inner loop
which could create an empty exec mask and lead to an infinite loop.
Fixes a GPU hang with RDR2
Cc: 20.1 <mesa-stable@lists.freedesktop.org >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5518 >
2020-06-18 13:40:15 +00:00
Danylo Piliaiev
8ce8895b69
st/mesa: account for "loose", per-mipmap level textures in CopyImageSubData
...
We may have "loose", per-image gallium resources. The src_image->Level
may not match the gallium resource texture level. In such case it is
prescribed (in st_AllocTextureImageBuffer) to specify mipmap level
as zero.
Fixes: f04f13622f
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5477 >
2020-06-18 11:44:14 +00:00
Gurchetan Singh
9760a7ed91
virgl: apply bgra dest swizzle and add Portal 2
...
Apply the destination swizzle on GLES games based on HL2 engine.
Also add Portal 2 since some people are experiencing issues with
that.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5481 >
2020-06-18 10:35:52 +00:00
Jonathan Marek
c95b250a4c
turnip: set the API version
...
Some CTS tests don't run because of this.
Fixes: 91c757b796 ("turnip: use the common code for generating extensions and dispatch tables")
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5522 >
2020-06-18 09:54:48 +00:00
Samuel Pitoiset
fa149b996d
radv: only requires LLVM 9 for GFX10 if not using ACO
...
In case someone links RADV with LLVM 8 and wants to use ACO.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5454 >
2020-06-18 09:45:20 +00:00
Neil Armstrong
4cf4fe9d82
Revert "CI: Disable Panfrost Mali-T820 jobs"
...
This reverts commit 46a32f0b6b .
The lab has recovered health, thus re-enable T820 Panfrost jobs.
Acked-by: Michel Dänzer <mdaenzer@redhat.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4727 >
2020-06-18 09:28:38 +00:00
Neil Armstrong
4793c2bcb9
Revert "CI: Disable Lima jobs due to lab unhealthiness"
...
This reverts commit adeef43d15 .
The lab has recovered health, thus re-enable Lima jobs.
Acked-by: Michel Dänzer <mdaenzer@redhat.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4727 >
2020-06-18 09:28:38 +00:00
Samuel Pitoiset
70cc80805c
radv: compute CB_SHADER_MASK from the fragment shader outputs
...
The fragment shader doesn't necessarily output the number of components
expected by the target format.
Fixes new dEQP-VK.draw.output_location.*.
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/5427 >
2020-06-18 09:16:04 +00:00
Samuel Pitoiset
b848d88059
radv: make sure to set CB_SHADER_MASK correctly for internal CB operations
...
It should be always set to 0xf.
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/5427 >
2020-06-18 09:16:04 +00:00
Erik Faye-Lund
270eeb4105
docs/features: remove driver-list for forward-compatible context
...
This is something that's supported by the Gallium state-tracker, there's
nothing to be done per driver here.
2020-06-18 11:04:54 +02:00
Erik Faye-Lund
eab3cabb9d
docs/features: update ARB_texture_buffer_object line
...
This extension isn't just exposed in OpenGL 3.1 contexts any longer, and
Zink supports it. Let's mark it as such.
2020-06-18 11:04:54 +02:00
Erik Faye-Lund
2a6a21ceb3
docs/features: mark GL3 as complete for zink
2020-06-18 11:04:54 +02:00
Samuel Pitoiset
c4aa64b4c3
radv: lower discards to demote to workaround a RDR2 game bug
...
This fixes some sort of LOD issue.
Cc: 20.1 <mesa-stable@lists.freedesktop.org >
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5525 >
2020-06-18 08:39:28 +02:00
Rob Clark
34499de5b3
glsl_to_nir: fix vote_any/vote_all
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5505 >
2020-06-18 03:40:54 +00:00
Rob Clark
c9976f5e4a
glsl_to_nir: fix shader_clock
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5505 >
2020-06-18 03:40:54 +00:00
Rob Clark
8505e6757b
glsl_to_nir: fix is_helper_invocation
...
Reported-by: Karol Herbst <kherbst@redhat.com >
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5505 >
2020-06-18 03:40:54 +00:00
Rob Clark
f94ba1555d
spirv: drop some dead code
...
This case is never hit, we don't have a nir intrinsic for this spirv
opcode. And when we do, I'm not sure if it would be vectorized or not.
So best just to drop this case.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5505 >
2020-06-18 03:40:54 +00:00
Rob Clark
f43a2cd1d9
spirv: atomic_counter_read_deref is not vectorized
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3141
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5505 >
2020-06-18 03:40:54 +00:00
Jonathan Marek
0a84d22bf2
turnip: fix renderpass gmem configs when there are too many attachments
...
Since a value of at least "align" is used for nblocks, we might end up
with nblocks greater than the number of GMEM blocks remaining. Check for
this case and bail out, sysmem rendering will be used for such cases.
Fixes some of these tests:
dEQP-VK.pipeline.render_to_image.core.*.huge.*
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5499 >
2020-06-18 03:15:27 +00:00
Jonathan Marek
b6b98e9510
turnip: fix a sample shading case
...
Check pipeline's sampleShadingEnable to enable sample shading.
Also fix behavior of gl_Fragcoord with sample shading.
Fixes at least:
dEQP-VK.pipeline.multisample.min_sample_shading.min_0_5.samples_4.primitive_triangle
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5499 >
2020-06-18 03:15:27 +00:00
Jonathan Marek
ff2efd095e
turnip: fix a crash when rasterizerDiscardEnable is set
...
pMultisampleState needs to be ignored when rasterizerDiscardEnable, so the
current code can crash when trying to load msaa_info->pNext.
At the same time this simplifies tu_pipeline_shader_key_init a bit, by not
calling it for the compute shader case (which doesn't need to set anything
in the key struct).
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5499 >
2020-06-18 03:15:26 +00:00
Eric Engestrom
31a66cbe5d
docs: remind release maintainers to sign the tarballs and publish their key
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2857 >
2020-06-18 03:13:47 +00:00
Eric Engestrom
c75e46f6d6
docs: publish our release maintainers' keys
...
They should be published to various key servers as well, but this
provides the authoritative source for their list.
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2140
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2857 >
2020-06-18 03:13:47 +00:00
Rob Clark
1d54fb5b2b
freedreno/ir3: update obsolete comment
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5458 >
2020-06-18 02:46:28 +00:00
Rob Clark
5baf430261
freedreno/computerator: MERGEDREGS update
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5458 >
2020-06-18 02:46:28 +00:00
Rob Clark
0e0d4daa5b
turnip: set .MERGEDREGS based on variant
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5458 >
2020-06-18 02:46:28 +00:00
Rob Clark
c6632c087d
freedreno/a6xx: set .MERGEREGS based on variant
...
Also set HALFREGFOOTPRINT, since in the non-mergeregs case this will be
non-zero.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5458 >
2020-06-18 02:46:28 +00:00
Rob Clark
1cc4cf141a
freedreno/ir3: make mergedregs a property of the variant
...
Rather than assuming a6xx+ means mergedregs. We can actually (mostly?)
do splitregs on a6xx as well. And GS/DS/HS currently require it, which
might be papering over a bug, or might be something to do with how
chaining shaders works. At any rate, we should at least be consistent,
and not have the compiler thinking we are doing mergedregs when we are
actually doing splitregs.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5458 >
2020-06-18 02:46:28 +00:00
Rob Clark
c052087038
freedreno/ir3: re-work assembler API
...
Just pass thru the variant, since it has everything we need. And
will be needed in the next patch.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5458 >
2020-06-18 02:46:28 +00:00
Rob Clark
ffe62e1b6c
freedreno/ir3: pass variant to postsched
...
Prep for the next patch.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5458 >
2020-06-18 02:46:28 +00:00
Rob Clark
38df3f899d
freedreno/ir3: decouple regset from gpu gen
...
Allow different regset's to coexist, so we can make mergedregs vs split
reg file a variant property.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5458 >
2020-06-18 02:46:28 +00:00
Rob Clark
47decc88c2
freedreno/ir3: move mergedreg state out of reg
...
It is only needed one place, let's move it there.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5458 >
2020-06-18 02:46:28 +00:00
Rob Clark
46cdcf590b
freedreno/ir3: convert regmask_t to struct
...
Prep to make merged/split register file mode a property of the regmask,
rather than the ir3_register.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5458 >
2020-06-18 02:46:28 +00:00
Jonathan Marek
d53dc6c376
freedreno/fdl6: rework layout code a bit (reduce linear align to 64 bytes)
...
Reduce linear alignment, and rework the layout code a bit.
This rework has a side effect of also increasing the alignment on linear
levels of tiled (non-ubwc) cpp=1 and cpp=2 layouts. Since we should be
UBWC for those cases anyway, its not a big loss.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5013 >
2020-06-18 02:26:43 +00:00
Jonathan Marek
3a9ab3b6e9
freedreno/a6xx: FETCHSIZE is PITCHALIGN
...
"FETCHSIZE" is actually a "minimum pitch" or "pitchalign" value that's
relevant for mipmaps. The 0 value means 64-bytes. Understanding this allows
some simplifications and will make it possible to use less alignment on
linear formats.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5013 >
2020-06-18 02:26:43 +00:00
Eric Engestrom
6269405a2b
virgl: replace all dup() with os_dupfd_cloexec()
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5369 >
2020-06-18 02:09:56 +00:00
Eric Engestrom
526910e8fa
svga: replace all dup() with os_dupfd_cloexec()
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5369 >
2020-06-18 02:09:56 +00:00
Eric Engestrom
9ca2a4e6fc
freedreno: replace all dup() with os_dupfd_cloexec()
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5369 >
2020-06-18 02:09:56 +00:00
Eric Engestrom
bd5cf70d3d
etnaviv: replace all dup() with os_dupfd_cloexec()
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5369 >
2020-06-18 02:09:56 +00:00
Eric Engestrom
419b446e1e
egl: replace all dup() with os_dupfd_cloexec()
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5369 >
2020-06-18 02:09:56 +00:00
Eric Engestrom
62797c30ed
i965: replace all dup() with os_dupfd_cloexec()
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5369 >
2020-06-18 02:09:56 +00:00
Eric Engestrom
e0e9c2486d
iris: replace all dup() with os_dupfd_cloexec()
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5369 >
2020-06-18 02:09:56 +00:00
Eric Engestrom
00defe2e0a
anv: replace all dup() with os_dupfd_cloexec()
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5369 >
2020-06-18 02:09:56 +00:00
Eric Engestrom
405bffefe1
radv: replace all dup() with os_dupfd_cloexec()
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5369 >
2020-06-18 02:09:56 +00:00
Eric Engestrom
69269a46f1
vulkan/wsi: replace all dup() with os_dupfd_cloexec()
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5369 >
2020-06-18 02:09:56 +00:00
Eric Engestrom
4a8085d67c
replace all F_DUPFD_CLOEXEC with os_dupfd_cloexec()
...
All squashed into a single commit because it shouldn't have any
behaviour change, except that it might work now on platforms where it
was broken because F_DUPFD_CLOEXEC is not supported but FD_CLOEXEC is.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5369 >
2020-06-18 02:09:56 +00:00
Eric Engestrom
0e5ea7a363
util: introduce os_dupfd_cloexec() helper
...
Adapted from wayland's wl_os_dupfd_cloexec().
Suggested-by: Kristian H. Kristensen <hoegsberg@google.com >
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5369 >
2020-06-18 02:09:56 +00:00
Eric Engestrom
b00e1d9ea7
util/os_file: replace broken windows-detection code with detect_os.h
...
The meson-windows-vs2019 job was going down the `!defined(WIN32)` path,
leading to a broken build once that path contained non-windows code.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5369 >
2020-06-18 02:09:56 +00:00
Eric Anholt
bf63da3e95
ci: disable the windows tests until the runner can be stabilized again
...
I've been getting a stream of errors from Marge today like:
FAILED: src/gallium/drivers/llvmpipe/lp_test_conv.exe
link @src/gallium/drivers/llvmpipe/lp_test_conv.exe.rsp
LINK : fatal error LNK1102: out of memory
[1080/1141] Compiling C object src/gallium/frontends/wgl/945cc3d@@wgl@sta/stw_getprocaddress.c.obj
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5534 >
2020-06-18 01:49:56 +00:00
Eric Engestrom
3e37b7e6bb
docs: remove plain-text copy of versions.rst
...
There's no need to keep both, so let's clean things up a bit.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5178 >
2020-06-18 00:39:36 +00:00
Eric Engestrom
9706b7238c
khronos-update.py: add script to simplify update of Khronos headers & xml files
...
The idea is to have the canonical source of each of those files
available without having to remember anything, and to be able to update
all the Vulkan files by simply running `bin/khronos-update.py vulkan`.
The script also handles the fact all the EGL/GL/GLES* headers depend on
the KHR header, and the former should not be updated without updating
the latter.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5177 >
2020-06-18 00:38:12 +00:00
Mike Blumenkrantz
e8ad52f7b0
zink: enable xfb extension in screen creation
...
switch around the feature enabling as well since extensions need the related
feature to also be enabled in order to function
fixes mesa/mesa#2868
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5163 >
2020-06-17 20:42:01 +00:00
Mike Blumenkrantz
e5e657768c
zink: switch to passing VkPhysicalDeviceFeatures2 in VkDeviceCreateInfo
...
extensions need to have their feature structs passed in pNext to be enabled,
so switch to using the feature struct here in preparation for that
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5163 >
2020-06-17 20:42:01 +00:00
Mike Blumenkrantz
1983609212
zink: set PIPE_CAP_VIEWPORT_TRANSFORM_LOWERED and remove POS special casing
...
this cap creates a different varying output which remains constant to be
emitted by xfb, allowing us to drop the special-casing code in ntv
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5163 >
2020-06-17 20:42:01 +00:00
Mike Blumenkrantz
37778fcd9a
zink: implement transform feedback support to finish off opengl 3.0
...
this adds:
* context hooks for gallium stream output methods
* handling for xfb-related queries
* barrier management for pausing and resuming xfb
loosely based on patches originally written by Dave Airlie <airlied@redhat.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5163 >
2020-06-17 20:42:01 +00:00
Mike Blumenkrantz
1b130c42b8
zink: implement streamout and xfb handling in ntv
...
this translates streamout info into xfb decorations and adds some workaround
handling for spurious gl_PointSize values
partly based on patches originally written by Dave Airlie <airlied@redhat.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5163 >
2020-06-17 20:42:01 +00:00
Mike Blumenkrantz
c3f6a59d57
zink: add spirv_builder methods for OpVectorExtractDynamic and OpVectorInsertDynamic
...
based on spirv specs
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5163 >
2020-06-17 20:42:01 +00:00
Mike Blumenkrantz
14dbf51d7f
zink: add spirv builder util functions for emitting xfb decorations
...
based on patches originally written by Dave Airlie <airlied@redhat.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5163 >
2020-06-17 20:42:01 +00:00
Mike Blumenkrantz
f841d11c9f
zink: use '2' variants for device props/feats, check features for ext enabling
...
technically both the extension and feature should be checked when enabling
extensions, and some features cannot be properly enabled without using
the more descriptive versions of these APIs
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5163 >
2020-06-17 20:42:00 +00:00
Jonathan Marek
9f24909b0b
turnip: use u_format for packing gmem clear values
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5485 >
2020-06-17 19:42:32 +00:00
Erik Faye-Lund
03e284ec9e
docs: fixup relnotes after rst-conversion
...
Acked-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5468 >
2020-06-17 18:44:32 +00:00
Samuel Pitoiset
51fb3b09dc
radv/aco: enable FP16 features/extensions on GFX9+
...
This enables shaderFloat16, VK_AMD_gpu_shader_half_float and
VK_AMD_gpu_shader_int16.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5347 >
2020-06-17 18:12:51 +02:00
Rhys Perry
abfe28a6bb
aco: fix validation of opsel when set for the definition
...
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/5521 >
2020-06-17 15:48:35 +00:00
Jonathan Marek
f745ceecee
turnip: use draw states for input attachments
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5446 >
2020-06-17 15:32:30 +00:00
Jonathan Marek
159a1300ce
turnip: input attachment descriptor set rework
...
Implement GMEM input attachments by using non-bindless texture state which
is emitted at the start of every subpass.
This achieves two things:
* More vulkan-like CmdBindDescriptorSets
* Fixing secondary command buffer input attachments with GMEM
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5446 >
2020-06-17 15:32:30 +00:00
Jonathan Marek
233610f8cf
turnip: refactor draw states and dynamic states
...
This reworks dynamic states to use draw states, and reworks draw states.
This moves towards doing as little as possible in bind_draw_states.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5446 >
2020-06-17 15:32:30 +00:00
Jonathan Marek
62a4db4c0f
turnip: delete dead dynamic state code
...
Remove unused code, split this out to reduce the diff in the next patch.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5446 >
2020-06-17 15:32:30 +00:00
Jonathan Marek
aab3398b33
turnip: improve dirty bit handling a bit
...
This moves some logic out of bind_draw_states, moving towards the eventual
goal of doing very little in bind_draw_states.
Split this out as a separate patch to make the DIRTY_INPUT_ATTACHMENTS more
visible: it can be safely removed because pipelines are subpass specific,
so there will always be a pipeline change to go with the CmdBeginRenderPass
and CmdNextSubpass (the CmdBindPipeline may not be in the subpass, but the
draw that flushes the pipeline update will be).
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5446 >
2020-06-17 15:32:30 +00:00
Jonathan Marek
edb8c581db
turnip: move descriptor set BO tracking to CmdBindDescriptorSets
...
This avoids the duplicated code.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5446 >
2020-06-17 15:32:30 +00:00
Jonathan Marek
5ef0f9f622
turnip: compute and graphics have completely separate state
...
The comment about fragment shader state overwriting compute shader state
is wrong, if either path is overwriting the other's state then it is a
mistake.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5446 >
2020-06-17 15:32:30 +00:00
Connor Abbott
a3464c567c
tu: Actually remove dead variables after io lowering
...
I forgot that their derefs would still be lying around, so we need to
eliminate them first.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5519 >
2020-06-17 14:36:50 +00:00
Connor Abbott
168c42290f
ir3: Don't calculate num_samp ourselves
...
In addition to duplicating what core NIR does better, this was wrong for
Vulkan, where it should be 0 as there are no non-bindless samplers.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5519 >
2020-06-17 14:36:50 +00:00
Connor Abbott
568e06b3a6
tu: Set num_components to 0 when building bindless intrinsics
...
Fixes: 167fa288 (" nir/validate: validate intr->num_components")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5520 >
2020-06-17 15:49:40 +02:00
Connor Abbott
6fcbce3b99
tu: Remove tu_shader_compile_options
...
The only two fields were always true, and I don't think we'd ever have
use for them. If we want to disable optimizations then we'd need a
different approach, and I don't even know what include_binning_pass was
for.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5500 >
2020-06-17 13:13:05 +00:00
Connor Abbott
808992fc50
tu: Use the ir3 shader API
...
This will be necessary once we start compiling multiple variants due to
different const size limits, and it will also be necessary for properly
implementing the pipeline cache.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5500 >
2020-06-17 13:13:05 +00:00
Connor Abbott
b1700698a5
tu: Remove num_samp hack
...
Delete the variables so that ir3 thinks there are no samplers and
images instead.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5500 >
2020-06-17 13:13:05 +00:00
Connor Abbott
6f2981176d
ir3: Pass reserved_user_consts to ir3_shader_from_nir()
...
ir3_shader_from_nir() calls ir3_optimize_nir(), which currently sets up
the const state. However, we need to know the number of user consts
reserved by the driver before setting up the const state, which means
that this information needs to be passed into ir3_shader_from_nir()
somehow rather than being set in the shader.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5500 >
2020-06-17 13:13:05 +00:00
Alyssa Rosenzweig
89c8393a16
pan/mdg: Reassociate adds for multiply-by-two
...
Only a single shader-db change it looks like, and not even from
scheduling, no fun.
instructions helped: shader31 MESA_SHADER_FRAGMENT: 64 -> 63 (-1.56%)
quadwords helped: shader31 MESA_SHADER_FRAGMENT: 66 -> 65 (-1.52%)
registers HURT: shader31 MESA_SHADER_FRAGMENT: 2 -> 3 (50.00%)
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5475 >
2020-06-17 12:57:34 +00:00
Alyssa Rosenzweig
a3348f88c8
pan/mdg: Canonicalize (x * 2.0) to (x + x)
...
This lets the previous commit kick in to schedule to either a multiply
or an add. GLES2 shader-db:
total instructions in shared programs: 50514 -> 50459 (-0.11%)
instructions in affected programs: 7436 -> 7381 (-0.74%)
helped: 14
HURT: 7
helped stats (abs) min: 2 max: 8 x̄: 5.00 x̃: 5
helped stats (rel) min: 0.95% max: 1.14% x̄: 1.07% x̃: 1.08%
HURT stats (abs) min: 2 max: 3 x̄: 2.14 x̃: 2
HURT stats (rel) min: 0.85% max: 8.57% x̄: 2.73% x̃: 1.26%
95% mean confidence interval for instructions value: -4.37 -0.87
95% mean confidence interval for instructions %-change: -0.91% 1.31%
Inconclusive result (%-change mean confidence interval includes 0).
total bundles in shared programs: 25680 -> 25573 (-0.42%)
bundles in affected programs: 6148 -> 6041 (-1.74%)
helped: 37
HURT: 7
helped stats (abs) min: 1 max: 9 x̄: 3.14 x̃: 2
helped stats (rel) min: 0.63% max: 8.33% x̄: 2.02% x̃: 2.13%
HURT stats (abs) min: 1 max: 2 x̄: 1.29 x̃: 1
HURT stats (rel) min: 0.88% max: 11.11% x̄: 3.92% x̃: 1.30%
95% mean confidence interval for bundles value: -3.32 -1.54
95% mean confidence interval for bundles %-change: -2.00% -0.14%
Bundles are helped.
total quadwords in shared programs: 40887 -> 40815 (-0.18%)
quadwords in affected programs: 14203 -> 14131 (-0.51%)
helped: 61
HURT: 2
helped stats (abs) min: 1 max: 4 x̄: 1.21 x̃: 1
helped stats (rel) min: 0.16% max: 11.11% x̄: 1.11% x̃: 0.57%
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 2.86% max: 4.00% x̄: 3.43% x̃: 3.43%
95% mean confidence interval for quadwords value: -1.32 -0.96
95% mean confidence interval for quadwords %-change: -1.46% -0.48%
Quadwords are helped.
total registers in shared programs: 3916 -> 3913 (-0.08%)
registers in affected programs: 46 -> 43 (-6.52%)
helped: 5
HURT: 1
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 10.00% max: 33.33% x̄: 14.89% x̃: 10.00%
HURT stats (abs) min: 2 max: 2 x̄: 2.00 x̃: 2
HURT stats (rel) min: 50.00% max: 50.00% x̄: 50.00% x̃: 50.00%
95% mean confidence interval for registers value: -1.79 0.79
95% mean confidence interval for registers %-change: -33.51% 25.37%
Inconclusive result (value mean confidence interval includes 0).
total threads in shared programs: 2455 -> 2454 (-0.04%)
threads in affected programs: 5 -> 4 (-20.00%)
helped: 1
HURT: 1
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00%
HURT stats (abs) min: 2 max: 2 x̄: 2.00 x̃: 2
HURT stats (rel) min: 50.00% max: 50.00% x̄: 50.00% x̃: 50.00%
total loops in shared programs: 6 -> 6 (0.00%)
loops in affected programs: 0 -> 0
helped: 0
HURT: 0
total spills in shared programs: 168 -> 168 (0.00%)
spills in affected programs: 0 -> 0
helped: 0
HURT: 0
total fills in shared programs: 186 -> 186 (0.00%)
fills in affected programs: 0 -> 0
helped: 0
HURT: 0
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5475 >
2020-06-17 12:57:34 +00:00
Alyssa Rosenzweig
6318e46141
pan/mdg: Allow scheduling "x + x" to multipliers
...
One of the neat things with Midgard's wacky VLIW... on VADD/SADD this is
(x + x) literally, on VMUL/SMUL/VLUT this is (x * 2.0) where the 2.0 is
exactly representable in FP16 so it fits nicely as an inline constant.
So we don't need to restrict its scheduling.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5475 >
2020-06-17 12:57:34 +00:00
Alyssa Rosenzweig
bc356abea3
pan/mdg: Factor out unit check
...
We'd like to do something a bit more complicated.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5475 >
2020-06-17 12:57:34 +00:00
Rhys Perry
de7c6950b3
aco: fix sub-dword opsel/sdwa checks
...
These should all check if the operand has a regclass. The opsel check
should also be skipped post-RA.
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/5504 >
2020-06-17 10:57:17 +00:00
Rhys Perry
1e791e51a6
aco: fix validation error from vgpr spill/restore code
...
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/5504 >
2020-06-17 10:57:17 +00:00
Jonathan Marek
d37deebde5
turnip: fix cubic filtering with CmdBlitImage
...
This fixes the newly added cubic blit_image tests for A650, by falling back
to the 3D path and setting the filter correctly.
Note: there are still failures with the texture filtering tests.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5509 >
2020-06-17 08:50:42 +00:00
Jonathan Marek
198b13974a
turnip: fix 3D path always being used for CmdBlitImage
...
This change accidentally made it into 72d7df40a5 , and started causing
blit_image flakes (because of the issue fixed in the previous patch)
Fixes: 72d7df40a5 ("turnip: add layered 3D path clear for CmdClearAttachments")
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5509 >
2020-06-17 08:50:42 +00:00
Jonathan Marek
1622787ee4
turnip: set VFD_INDEX_OFFSET in 3D clear/blit path
...
This was missing an causing flakes when used after a test that set it to
a non-zero value.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5509 >
2020-06-17 08:50:42 +00:00
Samuel Pitoiset
4d13e35315
spirv: do not set num_components for non-vectorized mbcnt_amd intrinsic
...
Fixes: 167fa2887f ("nir/validate: validate intr->num_components")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rob Clark <robdclark@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5493 >
2020-06-17 06:57:13 +00:00
Timothy Arceri
b2e9d21fdd
st_glsl_to_nir: fix potential use after free
...
When updating the shader info used by GL for the API we must
remember to make sure to restore the pointers to its own name
and label strings. There are a number of ways in which the nir
copy of these strings can be freed before GL is finished with
them.
Fixes: 36be8c2fcf ("st/glsl_to_nir: use nir_shader_gather_info()")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2875
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5488 >
2020-06-17 11:35:38 +10:00
Timothy Arceri
7e8e02d543
glsl: small optimisation fix for uniform array resizing
...
The fix in the previous patch removed an erronous attempt to skip
resizing variable types in each stage. Now that has been removed
iterating over each shader stage is no longer required here.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5487 >
2020-06-17 01:06:27 +00:00
Timothy Arceri
a5d3e061af
glsl: fix uniform array resizing in the nir linker
...
The initial support tried to match uniform variables from different
shaders based on the variables pointer. This will obviously never
work, instead here we use the variables name whcih also means we
must disable this optimisation for spirv.
Using the base variable name works because when collecting uniform
references we never iterate past the first array dimension, and
only support resizing 1D arrays (we also don't support resizing
arrays inside structs).
We also drop the resized bool as we can't skip processing the var
just because is was resized in another shader, we must resize
the var in all shaders.
Fixes: a34cc97ca3 ("glsl: when NIR linker enable use it to resize uniform arrays")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3130
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5487 >
2020-06-17 01:06:27 +00:00
Iván Briano
f63a578100
anv: Add VK_EXT_custom_border_color to relnotes
...
Missed it on 5425968d2e
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5136 >
2020-06-17 00:48:39 +00:00
Iván Briano
ed7bebc17b
anv: enable VK_EXT_pipeline_creation_cache_control
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5136 >
2020-06-17 00:48:39 +00:00
Iván Briano
23633f6c69
anv: implement VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT
...
v2:
* Set pPipeline to NULL in the corresponding
graphics/compute_create_pipeline function.
* Keep current ANV behavior of bailing on the first real error.
v3:
* Don't return early if the pipeline succeeded.
v:4(5?):
* Simplify return conditions.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5136 >
2020-06-17 00:48:39 +00:00
Iván Briano
13f44596d7
anv: support externally synchronized pipeline caches
...
Implement the VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT
bits of the VK_EXT_pipeline_creation_cache_control extension.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5136 >
2020-06-17 00:48:39 +00:00
Sagar Ghuge
a0ef4971d0
intel/compiler: Remove unnecessary optimization for MUL
...
2 source instruction only support immediate for src1 operand, so no
point in adding optimization condition for src0 oprand.
v2:
- Update commit message and don't remove ADD optimization (Matt Turner)
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5341 >
2020-06-16 17:11:32 -07:00
Sagar Ghuge
d4f3f9390f
intel/compiler: Optimize integer add with 0 into mov
...
Kaby Lake
total instructions in shared programs: 326560 -> 323616 (-0.90%)
instructions in affected programs: 178062 -> 175118 (-1.65%)
helped: 129
HURT: 0
helped stats (abs) min: 1 max: 118 x̄: 22.82 x̃: 8
helped stats (rel) min: 0.35% max: 6.56% x̄: 2.57% x̃: 2.47%
95% mean confidence interval for instructions value: -27.71 -17.93
95% mean confidence interval for instructions %-change: -2.81% -2.32%
Instructions are helped.
total cycles in shared programs: 43741127 -> 45397851 (3.79%)
cycles in affected programs: 40880261 -> 42536985 (4.05%)
helped: 94
HURT: 34
helped stats (abs) min: 5 max: 6160 x̄: 598.91 x̃: 45
helped stats (rel) min: 0.20% max: 34.86% x̄: 2.52% x̃: 1.09%
HURT stats (abs) min: 1 max: 76198 x̄: 50383.00 x̃: 69677
HURT stats (rel) min: 0.07% max: 48.41% x̄: 15.65% x̃: 6.49%
95% mean confidence interval for cycles value: 8023.10 17863.21
95% mean confidence interval for cycles %-change: <.01% 4.60%
Cycles are HURT.
total spills in shared programs: 1086 -> 978 (-9.94%)
spills in affected programs: 897 -> 789 (-12.04%)
helped: 24
HURT: 0
total fills in shared programs: 1686 -> 1584 (-6.05%)
fills in affected programs: 1371 -> 1269 (-7.44%)
helped: 24
HURT: 0
v2:
- Use brw_reg_type_is_integer (Matt Turner)
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5341 >
2020-06-16 16:54:27 -07:00
Jan Beich
63b81c9915
meson: unbreak sysctl.h detection on BSDs
...
Code:
#include <sys/sysctl.h>
Compiler stdout:
Compiler stderr:
In file included from testfile.c:1:
/usr/include/sys/sysctl.h:1184:40: error: unknown type name 'size_t'
int sysctl(const int *, u_int, void *, size_t *, const void *, size_t);
^
/usr/include/sys/sysctl.h:1185:40: error: unknown type name 'size_t'
int sysctlbyname(const char *, void *, size_t *, const void *, size_t);
^
/usr/include/sys/sysctl.h:1186:42: error: unknown type name 'size_t'
int sysctlnametomib(const char *, int *, size_t *);
^
3 errors generated.
Checking if "sys/sysctl.h" compiles: NO
<https://gitlab.freedesktop.org/mesa/drm/-/commit/1f8ada802391 >
<https://gitlab.freedesktop.org/mesa/drm/-/commit/4083e8f2c659 >
Reviewed-by: Niclas Zeising <zeising@daemonic.se >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5462 >
2020-06-16 23:24:54 +00:00
Eric Anholt
2a80f96b51
docs: Add dri-devel to the mailing lists and drop the DRI wiki link.
...
The DRI wiki is a wasteland at this point, let's just fold the one bit of
useful information in here.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5507 >
2020-06-16 22:09:47 +00:00
Jan Beich
46c368907f
util: enable futex usage on BSDs after 7dc2f47882
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5460 >
2020-06-16 21:44:35 +00:00
Rob Clark
680ca5b393
freedreno/ir3: add post-scheduler cp pass
...
A pass to eliminate extra mov's from an array. We need to do this after
scheduling so we know that there are not any potentially conflicting
array writes between the original `mov` and it's use(s).
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2124
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5280 >
2020-06-16 20:56:15 +00:00
Rob Clark
a60d48a863
freedreno/ir3/cp: extract valid_flags
...
We'll also need this in the postsched-cp pass.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5280 >
2020-06-16 20:56:15 +00:00
Rob Clark
5f1f8f7b17
freedreno/ir3: delay test support for vectorish instructions
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5280 >
2020-06-16 20:56:15 +00:00
Rob Clark
92d6eb4dd5
freedreno/ir3: add helpers to move instructions
...
A bit cleaner than open coding the list manipulation. Plus I want to
use it in the next patch, rather than adding more open coded list
futzing.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5280 >
2020-06-16 20:56:15 +00:00
Rob Clark
9eed0c6011
freedreno/ir3/delay: calculate delay properly for (rptN)'d instructions
...
When a sequence of same instruction is encoded with repeat flag,
destination registers are written on successive cycles. Teach the
delay calculation about this.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5280 >
2020-06-16 20:56:15 +00:00
Rob Clark
c3b30963dd
freedreno/ir3: add test for delay slot calculation
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5280 >
2020-06-16 20:56:15 +00:00
Rob Clark
a69d28769a
freedreno/ir3/print: print (r) flag
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5280 >
2020-06-16 20:56:15 +00:00
Rob Clark
cd376a1434
freedreno/ir3/legalize: don't allow (nopN) if (rptN)
...
These two encodings are mutually exclusive. If the instruction is a
vector(ish) `(rptN)` instruction, then we can't fold a `(nopN)` post-
delay into it.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5280 >
2020-06-16 20:56:15 +00:00
Rob Clark
1418ea0d00
freedreno/a6xx: emit shader names in debug builds
...
To simplify mapping a shader in a cmdstream trace back to glsl.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5280 >
2020-06-16 20:56:15 +00:00
Rob Clark
541c288b5f
freedreno: splitup emit_string_marker
...
So that we can use it internally to emit string markers into a specified
rb.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5280 >
2020-06-16 20:56:15 +00:00
Rob Clark
f35f711c71
freedreno/ir3/cp: properly handle already-folded RELATIV
...
In the `try_swap_mad_two_srcs()` case, valid_flags() gets called both
for the src that we want to try to fold, and for the other src that we
are trying to swap to make that possible. It can happen in the 2nd case
that a RELATIV src has already been folded. Since `ssa()` returns non-
null in both the `IR3_REG_SSA` and `IR3_REG_ARRAY` cases (in the later
case, it is the dependent array access that the current instruction
cannot be moved ahead of), we need to explicitly check that the src
reg we are looking at is still an SSA src.
Reported-by: Jonathan Marek <jonathan@marek.ca >
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5280 >
2020-06-16 20:56:15 +00:00
Rob Clark
1bee79996b
freedreno/ir3/validate: also check instr->address
...
Verify that instructions which have a relative src and/or dest, have
`instr->address`.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5280 >
2020-06-16 20:56:15 +00:00
Rob Clark
f598786775
freedreno/sched: reset delay counters at start of block
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5280 >
2020-06-16 20:56:15 +00:00
Rob Clark
6717fd5719
freedreno/log-parser: fix compute times
...
We also need to clear the table of compute times at the end of the
frame, otherwise results shown will include all the compute jobs since
the beginning of the trace.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5280 >
2020-06-16 20:56:15 +00:00
Eric Anholt
8ea5d8ce83
docs: Replace ancient swrast conformance docs with more current information.
...
I don't think Mesa 4.0 swrast conformance is relevant at this point, just
point people to the current Khronos list. Also, add some more information
on submitting results.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5482 >
2020-06-16 20:54:44 +00:00
Erik Faye-Lund
429ff05491
docs/relnotes: update internal references
...
This time, let's use proper Sphinx roles for the referenes, so we can
reference documents and inline refs.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5471 >
2020-06-16 20:36:38 +00:00
Erik Faye-Lund
9be0e2dbf4
docs: update internal references
...
This time, let's use proper Sphinx roles for the referenes, so we can
reference documents and inline refs.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5471 >
2020-06-16 20:36:38 +00:00
Lionel Landwerlin
762706c5a6
anv: add an option to disable secondary command buffer calls
...
Those are currently hurting Felix' ability to look at the batches.
We can probably detect this in the aubinator but that's a bit more
work than falling back to the previous behavior.
v2: Condition VK_KHR_performance_query to not using this variable (Jason)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5391 >
2020-06-16 20:23:52 +00:00
Jason Ekstrand
20b6ee82ac
nir/intrinsics: Put the _intel intrinsics together at the end
...
All the other driver-specific intrinsics are at the end of the file so
Intel's should go there too.
Reviewed-by: Sagar Ghuge<sagar.ghuge@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5503 >
2020-06-16 20:07:33 +00:00
Dave Airlie
2ac2f7a029
softpipe: change vendor name to something more generic.
...
For consistency with the llvmpipe driver.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5483 >
2020-06-17 05:19:37 +10:00
Dave Airlie
04d6edd725
llvmpipe: change vendor to be more generic.
...
If submitting for conformance it is probably better to have a generic
name for vendor here.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5483 >
2020-06-17 05:19:29 +10:00
Dave Airlie
94acd419da
virgl: change vendor id to reflect reality more.
...
virgl vendor id should probably be little more generic now.
I think I picked this becuase the virtio pci id space was under
RH's name and they did pay for it, but at this point I think it's
better to just use something generic.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5483 >
2020-06-17 05:19:01 +10:00
Jason Ekstrand
8f9b8af782
anv: Add anv_pipeline_init/finish helpers
...
This cleans up pipline create/destroy a bit after the compute/gfx split.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5457 >
2020-06-16 17:02:44 +00:00
Jason Ekstrand
1b693341ac
anv: Add an anv_batch_set_storage helper
...
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5457 >
2020-06-16 17:02:44 +00:00
Jan Beich
fcdefa7e47
anv,iris: unbreak on BSDs after 812cf5f522ab,abf8aed68047
...
../src/intel/vulkan/anv_gem.c:31:10: fatal error: 'linux/sync_file.h' file not found
#include <linux/sync_file.h>
^~~~~~~~~~~~~~~~~~~
../src/gallium/drivers/iris/iris_fence.c:29:10: fatal error: 'linux/sync_file.h' file not found
#include <linux/sync_file.h>
^~~~~~~~~~~~~~~~~~~
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5463 >
2020-06-16 16:02:33 +00:00
Jan Beich
0bd5f9a5bc
drm-uapi: Add sync_file.h
...
Based on <linux/sync_file.h> with BSD portability conditional.
At least FreeBSD supports SYNC_IOC_* via LinuxKPI in DRM.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5463 >
2020-06-16 16:02:33 +00:00
Daniel Schürmann
8006feda09
aco: don't allow SGPRs on logical phis
...
aco_validate() is called after phi lowering, now.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5496 >
2020-06-16 14:46:19 +01:00
Daniel Schürmann
0e47fe3fa2
aco: reorder calls to aco_validate() and cleanup aco_compile_shader()
...
The first call of aco_validate should happen after phi lowering.
Otherwise, subdword restrictions might be violated
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5496 >
2020-06-16 14:46:19 +01:00
Icecream95
ec628aba76
panfrost: Implement ARB_depth_clamp
...
This significantly improves the quality of shadows in OpenMW.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5453 >
2020-06-16 12:59:10 +00:00
Icecream95
fd92dc6b17
panfrost: Clean up panfrost_frag_meta_rasterizer_update
...
Create a pointer to ctx->rasterizer->base so it isn't repeatedly
referred to.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5453 >
2020-06-16 12:59:10 +00:00
Rohan Garg
bfe806c6ad
iris: Fix documentation for _iris_batch_flush
...
_iris_batch_flush has no in_fence and out_fence parameters
Signed-off-by: Rohan Garg <rohan.garg@collabora.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5470 >
2020-06-16 11:47:35 +00:00
Erik Faye-Lund
6785d8c460
zink: expose GLSL 1.30
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5479 >
2020-06-16 09:14:56 +00:00
Erik Faye-Lund
9bf2f4d411
zink: enable cull-distance if supported
...
This is already implemented, and we just need to flip the switch to turn
it on.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5479 >
2020-06-16 09:14:56 +00:00
Erik Faye-Lund
a3d07c4a35
gallium/hud: don't use user vertex buffers
...
This gains back some performance lost in the previous commit, by
bypassing u_vbuf.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5417 >
2020-06-16 08:02:29 +00:00
Erik Faye-Lund
7b86920ae2
Revert "gallium/hud: don't use user vertex buffers"
...
The approach taken in this commit only works on drivers that expose
the PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT capability. For drivers
that don't, the buffer has been unmapped by the time we get to
hud_draw_colored_prims, leading to crashes.
It's not easy to fix the code, but drivers that do support coherent
mapping will most likely do the right think themseleves, so let's just
go back to using user-buffers here.
This reverts commit 4fe1fd4df4 .
Fixes: 4fe1fd4df4 ("gallium/hud: don't use user vertex buffers")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3106
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5417 >
2020-06-16 08:02:29 +00:00
Rob Clark
167fa2887f
nir/validate: validate intr->num_components
...
Validate that num_components is only set for vectorized instructions, to
prevent other nir passes or driver backends from mistakenly relying on
num_components for non-vectorized instructions.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5371 >
2020-06-16 02:48:18 +00:00
Jose Maria Casanova Crespo
be16833d96
vc4: don't relay on intr->num_components for non-vectorized intrinsics
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5371 >
2020-06-16 02:48:18 +00:00
Rob Clark
c148dbe07e
v3d: don't use intr->num_components for non-vectorized intrinsics
...
Squashed-in-fix-from: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5371 >
2020-06-16 02:48:18 +00:00
Rob Clark
5b5b45ebf6
spriv: don't set num_components for non-vectorised intrinsics
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5371 >
2020-06-16 02:48:18 +00:00
Rob Clark
2e5b5d9584
nir/lower-atomics-to-ssbo: don't set num_components
...
Of the possible intrinsics generated, only load_ssbo is vectorized (and
store_ssbo is never generated)
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5371 >
2020-06-16 02:48:18 +00:00
Rob Clark
f70d6030e3
nir/builder: don't set intr->num_components
...
The "load-sysval" intrinsics are not vectorized.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5371 >
2020-06-16 02:48:18 +00:00
Rob Clark
603d3c2991
radv: don't set num_components for non-vectorized intrinsics
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5371 >
2020-06-16 02:48:18 +00:00
Rob Clark
28a14787c0
freedreno/ir3: don't rely on intr->num_components
...
It is better to use `nir_intrinsic_dest_components()` which also handles
the case of intrinsics with a fixed number of dest components.
Somehow this starts showing up with a nir_serialize round-trip with
shader-cache. But we really shouldn't have been relying on
`intr->num_components` directly.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5371 >
2020-06-16 02:48:18 +00:00
Dave Airlie
fce02f4020
mesa/gles3: add support for GL_EXT_shader_group_vote
...
This is the GLES equivalent to ARB_shader_group_vote.
Passes: KHR-GLES31.core.shader_group_vote.*
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5490 >
2020-06-16 12:02:21 +10:00
Dave Airlie
25a629558c
gallivm/cache: don't require a null terminator for cache data.
...
Fixes crashes seen with
./bin/egl_ext_device_base
since cache support was added.
Fixes: 4962d3e107 ("gallivm: add cache interface to mcjit")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3118
Tested-by: Michel Dänzer <mdaenzer@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5467 >
2020-06-16 09:48:01 +10:00
Alyssa Rosenzweig
8b6820c92d
panfrost: Simplify AFBC format check
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5484 >
2020-06-15 21:53:09 +00:00
Alyssa Rosenzweig
27d3685528
panfrost: Enable AFBC for RGB565
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5484 >
2020-06-15 21:53:09 +00:00
Alyssa Rosenzweig
92553b6290
panfrost: Correctly calculate tiled stride
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Fixes: bde19c0e7b ("panfrost: Fix tiled texture "stride"s on Bifrost")
Tested-by: Christian Hewitt <christianshewitt@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5474 >
2020-06-15 21:41:18 +00:00
Alyssa Rosenzweig
6b1498f7ac
panfrost: Fix level_2
...
We're not sure what this is but I've always seen it equal to levels.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Tested-by: Christian Hewitt <christianshewitt@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5474 >
2020-06-15 21:41:18 +00:00
Alyssa Rosenzweig
65e0e891d2
panfrost: Update sampler view in Bifrost path
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Fixes: fafc305600 ("panfrost: Create a new sampler view bo when the layout changes")
Tested-by: Christian Hewitt <christianshewitt@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5474 >
2020-06-15 21:41:18 +00:00
Alyssa Rosenzweig
32b171d669
panfrost: Merge bifrost_bo/midgard_bo
...
The content is difference but a BO is a BO. Let's reduce code repition
between Midgard and Bifrost paths.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Tested-by: Christian Hewitt <christianshewitt@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5474 >
2020-06-15 21:41:18 +00:00
Dave Airlie
84779e5822
llvmpipe/setup: add planes for draw regions if no scissor.
...
Some tests were using a 1x1 fb bound, with a 2x2 viewport,
and all 4 pixels were getting rendered. Test if the fb bounds
need planes added or not.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3101
v2: add lines support
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5394 >
2020-06-16 06:14:44 +10:00
Jonathan Marek
c1e1b13bfe
turnip: simplify stage2 helpers
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5455 >
2020-06-15 15:35:13 -04:00
Jonathan Marek
067370fe87
turnip: remove duplicated stage2opcode and stage2shaderdb
...
Reduce 3 copies of this same logic into a single one.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5455 >
2020-06-15 15:34:52 -04:00
Rhys Perry
a02e7f6799
aco: fix encoding of certain s_setreg_imm32_b32 instructions
...
If the mode is too small, the operand will be an inline constant and the
literal dword won't be written.
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/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
82c265a514
aco: improve check for moving temporaries out of fixed definitions
...
No fossil-db changes.
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/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
e9578e3033
aco: allow GFX9 partial writes with instructions which use opsel
...
Some instructions such as v_mad_f16 can do partial writes on GFX9.
No fossil-db changes.
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/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
82de70d06e
aco: add more opcodes to can_swap_operands
...
fossil-db (Navi, fp16 enabled):
Totals from 310 (0.24% of 127638) affected shaders:
CodeSize: 1290508 -> 1289716 (-0.06%)
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/5245 >
2020-06-15 18:24:22 +00:00
Samuel Pitoiset
3c1b55962e
aco: allow to swap operands for some 16-bit float instructions
...
No fossil-db changes.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
575b431c80
aco: validate sub-dword pseudo instructions
...
No fossil-db changes.
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/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
d16a7190a3
aco: optimize 16-bit and 64-bit float comparisons
...
No fossil-db changes.
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/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
22d7122739
aco: copy-propagate constants through p_extract_vector/p_split_vector
...
fossil-db (Navi, fp16 enabled):
Totals from 1 (0.00% of 127638) affected shaders:
CodeSize: 4388 -> 4392 (+0.09%)
VMEM: 465 -> 458 (-1.51%)
Copies: 54 -> 55 (+1.85%)
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/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
3d6f67950d
aco: improve 8/16-bit constants
...
fossil-db (Navi, fp16 enabled):
Totals from 1 (0.00% of 127638) affected shaders:
CodeSize: 4540 -> 4388 (-3.35%)
Instrs: 861 -> 830 (-3.60%)
Cycles: 3444 -> 3320 (-3.60%)
VMEM: 489 -> 465 (-4.91%)
SMEM: 107 -> 110 (+2.80%)
SClause: 31 -> 30 (-3.23%)
Copies: 58 -> 54 (-6.90%)
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/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
4784111abc
aco: use 32-bit inline constants for 16-bit integer instructions
...
See https://reviews.llvm.org/D81841
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/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
dd23345567
aco: fix half_pi constant for 16-bit fsin/fcos
...
This worked because the optimizer didn't consider that the 16-bit
instruction would interpret the inline constant differently. This will
change in the next commit.
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/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
9b69ed0bb9
aco: improve sub-dword check for sgpr/constant propagation
...
p_create_vector can have sub-dword operands with a v1 definition.
No fossil-db changes.
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/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
1210e0bd62
aco: create 16-bit input and output modifiers
...
fossil-db (Navi, fp16 enabled):
Totals from 1 (0.00% of 127638) affected shaders:
CodeSize: 4552 -> 4540 (-0.26%)
Instrs: 863 -> 861 (-0.23%)
Cycles: 3452 -> 3444 (-0.23%)
VMEM: 490 -> 489 (-0.20%)
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/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
f5a5674178
aco: update comment about preserving fp16/fp64 denormals
...
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/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
7f511efa16
aco: create 16-bit mad/fma
...
fossil-db (Navi, fp16 enabled):
Totals from 1 (0.00% of 127638) affected shaders:
CodeSize: 4868 -> 4552 (-6.49%)
Instrs: 956 -> 863 (-9.73%)
Cycles: 3824 -> 3452 (-9.73%)
VMEM: 504 -> 490 (-2.78%)
SMEM: 109 -> 107 (-1.83%)
VClause: 19 -> 20 (+5.26%)
Copies: 54 -> 58 (+7.41%)
PreVGPRs: 43 -> 41 (-4.65%)
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/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
1b10764e50
aco: try to use fma instead of mad when denormals are enabled
...
v_mad_f32 doesn't support denormals but v_fma_f32 does.
No fossil-db changes.
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/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
6cb42cdd8f
aco: create mads when signed zeros should be preserved
...
This check was added because I thought v_mad_f32 didn't preserve the
signess of zero, but I can't reproduce that and this isn't mentioned
anywhere in LLVM.
No fossil-db changes.
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/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
1b6a319c15
aco: add and set precise flag
...
No fossil-db changes.
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/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
a8f800a836
aco: use p_as_uniform in emit_vop1_instruction
...
No fossil-db changes.
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/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
b6d9e45f47
aco: improve code for f2{i,u}{8,16}
...
Use sub-dword definitions so that the RA can use SDWA
No fossil-db changes.
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/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
34d481fd1f
aco: use num_opcodes instead of last_opcode
...
No fossil-db changes.
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/5245 >
2020-06-15 18:24:22 +00:00
Erik Faye-Lund
e838acf37d
nir: do not try to merge xfb-outputs
...
It's tricky to merge XFB-outputs correctly, because we need there to not
be any overlaps when we get to `nir_gather_xfb_info_with_varyings` later
on. We currently trigger an assert there if we end up merging here.
So let's not even try. This is an optimization, and we can optimize this
in safe cases later if needed. For now, let's play it safe.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5329 >
2020-06-15 16:13:58 +00:00
Rob Clark
b5c810d68b
turnip: drop linking libfreedreno_drm
...
Now that it is no longer required.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5476 >
2020-06-15 15:46:37 +00:00
Rob Clark
1a33faea8c
freedreno/ir3: move the libdrm dependency out of shared code
...
The only reason for this dependency was the fd_bo used for the uploaded
shader. But this isn't used by turnip. Now that we've unified the
cleanup path from gallium, it isn't hard to pull the fd_bo upload/free
parts into ir3_gallium.
This cleanup has the added benefit that the shader disk-cache will not
have to deal with it.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5476 >
2020-06-15 15:46:37 +00:00
Rob Clark
43e0062c5b
freedreno/ir3: unify shader create/delete paths
...
In particular, to move the fd_bo create/delete (which is unneeded by
turnip) out of the shared ir3 code, it is useful to have a single
delete path.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5476 >
2020-06-15 15:46:37 +00:00
Mike Blumenkrantz
828c767113
zink: rework input/output location emission
...
glsl builtins that have no analog in spirv are emitted as regular varyings,
which means they take up a slot.
we need to ensure that there's no conflict between these regular varying
slots (from user-defined varyings) and the glsl translated builtins, so
we do that by "reserving" the max number of varying slots that can be used
by a given stage, then remapping all glsl builtins with no spirv builtin
to a packed layout location that can be consistent across stages
sort of addresses mesa/mesa#3113 except now there's 10 fewer varying slots
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5432 >
2020-06-15 15:36:06 +00:00
Mike Blumenkrantz
f90bc6daa9
zink: handle more glsl->spirv builtin translation
...
this should be all of them, though the check for vertex shader stage needs
to be changed to !fragment stage at some point
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5432 >
2020-06-15 15:36:06 +00:00
Samuel Pitoiset
9b6a8d1742
spirv: fix using OpSampledImage with OpUndef instead of OpType{Image,Sampler}
...
This seems valid per the SPIR-V spec to use OpSampledImage with
OpUndef instead of OpTypeImage or OpTypeSampler. When the image
operand is undefined, SPIRV->NIR emits an undef instruction that
can be removed later by the compiler.
This fixes shader compilation crashes with Red Dead Redemption II.
Cc: mesa-stable@lists.freedesktop.org >
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5230 >
2020-06-15 17:02:53 +02:00
Alyssa Rosenzweig
277b616962
pan/mdg: Precolour blend inputs
...
Instead of requiring an explicit unoptimized move, we can implicitly
colour the blend input intrinsic to r0, where it will be preloaded; this
is a simple task for RA, and does not conflict with anything. If there
are multiple duplicate loads, the latter ones can just be simple moves
which will be copypropped.
We don't need to include a explicit synthetic load, since (scanning
backwards) the read will cause the input to become live at the right
time and the lack of an explicit write will keep it live from the
beginning of the shader. So no need to make it more complicated than it
needs to be.
Saves a cycle in blend shaders.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5449 >
2020-06-15 13:29:25 +00:00
Yevhenii Kolesnikov
ad00159070
nvir: don't use designated initialisers in C++ code
...
This feature only available since C++20.
Fixes: fa0a241b33 ("nvir/nir: move nir options to codegen")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3114
Signed-off-by: Yevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5430 >
2020-06-15 13:29:23 +03:00
Samuel Pitoiset
013d096d15
ac: add ac_choose_spi_color_formats() to common code
...
It's similar between RADV and RadeonSI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5436 >
2020-06-15 08:16:07 +02:00
Jonathan Marek
1d9e6e456a
freedreno/ir3: fix ir3_nir_move_varying_inputs
...
ir3_nir_move_varying_inputs is broken when there a load input outside of
the first block which depends on the result of a previous load input.
This simplification/rework avoids the problem, and should also be faster.
Fixes this dEQP-VK test:
dEQP-VK.pipeline.multisample_interpolation.offset_interpolate_at_pixel_center.128_128_1.samples_2
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5465 >
2020-06-14 17:53:47 +00:00
Eric Engestrom
356be07ce2
intel/tools: make test aware of the meson test wrapper
...
Suggested-by: Dylan Baker <dylan@pnwbakers.com >
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5155 >
2020-06-13 20:32:08 +00:00
Eric Engestrom
ccaa5b034f
intel/tools: rewrite run-test.sh in python
...
Old script created files in the source directory, which is generally
considered bad form.
The rewrite to python instead of duct-taping around in the shell script
goes towards the goal of only having cross-platform python scripts,
which is also harder to make mistakes in than shell scripts.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5155 >
2020-06-13 20:32:08 +00:00
Eric Engestrom
ebb33b2c0a
post_version.py: update script to the new rST way of things
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Eric Engestrom
8bc055fc52
gen_release_notes.py: update script to the new rST way of things
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
9d90791c19
docs/release-calendar: restore missing id
...
I'm not sure how this got dropped, but it somehow did during conversion.
Let's restore it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
8077267026
bin/perf-annotate-jit.py: update internal reference
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
cd01d0dee1
radv: update internal reference
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
7d497e4e09
docs/relnotes: update internal references
...
I'm not 100% sure if it feels right to update these. I mean, this keeps
links working as they should, even if exported to something else than
HTML. But it also feels a bit like history revisionism. It's probably
the right thing to do, though.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
f1fe74afb2
docs: update internal references
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
ea91f4769a
README: update references to internal docs
...
These documents are no longer HTML files, so the internal reference
should be updated.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
0b4f5121f0
docs: drop news in favour of the introduction as index-page
...
This kind of only makes sense once we have a separate home-page. But I
think this is a good way of showing why we should do this; Sphinx
doesn't support pagination, because it's not meant as a general-purpose
website framewrork. And for documentation, pagination is not really
something you need.
There's probably a lot more pages that should be moved into a separate
webpage, similar to this. In general, I think this should be done for
pages that don't relate to the source code too much, e.g isn't needed to
understand the code, or for instance explains how to get the source code.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
064fe5f3f4
gitlab-ci: build and deploy docs
...
Dunno if alpine is a good idea. It's what the gitlab docs use for most
of their examples, so that's what I've gone with... Can probably be
changed to something else if wanted.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
381fc0eca5
docs: include specs into the generated docs
...
Unfortunately, it doesn't seem like there's a way to have sphinx copy
this without moving the files, becasue html_extra_path doesn't copy the
directory itself when given a directory, only files inside and
subdirectories.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
dd3add1b19
docs: bundle extra files
...
These are documents that are bundled in the root of the website, and
contains some useful, extra documentation. Let's include them.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
62abe35e34
docs: use rst-note for highlighted text
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
29c95ff627
docs: reformat license table as rst table
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
84140a7c06
docs: use rst footnotes instead of manual ones
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Laura Ekstrand
8342fe8302
docs: Add the favicon to the new page.
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
17aefa73a1
docs: do not copy source-files to site
...
These docs have publically available sources in the first place, there's
no point in including a copy of them here as well.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Laura Ekstrand
21adb67048
docs: Remove version.
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
54e38882a1
docs: add xlibdriver to table-of-contents
...
It's not so nice to have a hidden article, so let's add this one to the
TOC under "User Topics".
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
14f2a81b6f
docs: drop open-coded toc for articles
...
Sphinx already provides a proper table-of-contents, so we don't need to
roll our own.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
d6be994ef8
docs: use code-blocks
...
Sphinx can syntax-highlight a block if we use the right syntax.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:00 +00:00
Erik Faye-Lund
bf3f0f7a82
docs: format notes as rst-notes
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:00 +00:00
Laura Ekstrand
5aea48001f
docs: include meson in the toctree
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:00 +00:00
Erik Faye-Lund
7039310ae3
docs: use code-block with caption instead of table
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:00 +00:00
Erik Faye-Lund
dcaab1b311
docs: disable syntax-highlighting by default
...
The default is python, which we don't really do a whole lot of in
our docs, so let's just disable to none instead.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:00 +00:00
Erik Faye-Lund
00cd1346bf
docs: use sphinx
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:00 +00:00
Erik Faye-Lund
0841da2fbb
docs: fixup heading-levels
...
I have no idea why pandoc messed up these headers...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:00 +00:00
Erik Faye-Lund
a71f08b715
docs: fixup broken rst
...
This removes a bit of markup, because it seems rst doesn't really
support markup on links this way. I'm not sure why Pandoc generates
this, but it misrenders.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:00 +00:00
Erik Faye-Lund
841a47fb28
docs: escape trailing underscores properly
...
In reStructuredText, a trailing underscore means a hyperlink reference,
but it seems pandoc doesn't get this right for symbols that have already
been escaped. So let's manually fix these up.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:00 +00:00
Erik Faye-Lund
2c0707d13d
docs: escape asterisks
...
Seems pandoc messed these up, and left out some escpaing. Let's fix it
up by hand.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:00 +00:00
Erik Faye-Lund
ceb8084885
docs: escape double colons
...
It seems pandoc doesn't really understand that double colons needs to be
escaped. So let's fix that up by hand.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:00 +00:00
Erik Faye-Lund
10bd811abc
docs: fixup botched table
...
Pandoc silently fails on colspan, breaking this table. But rst supports
this just fine, so let's just hand-convert this table instead.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:00 +00:00
Erik Faye-Lund
1633174b78
docs: delete no longer needed file
...
These files were used by the theming of the old website, and is no
longer needed.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:00 +00:00
Erik Faye-Lund
c9c53e3042
TEMP: remove rst-conversion scripts
...
These have now served their purpose, so let's get rid of them again.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:00 +00:00
Erik Faye-Lund
4d066836e3
docs: convert articles to reructuredtext
...
This uses the previously added scripts to convert the documentation to
reStructuredText, which is both easier to read offline, and can be used
to generate modern HTML for online documentation.
No modification to the generated results have been done.
Acked-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:00 +00:00
Erik Faye-Lund
1df5dbf516
TEMP: add rst-conversion scripts
...
This is just a temporary commit, adding the scripts that performs the
automated conversion of the docs. The next commit contains the results
of the conversion, and the commit following that removes these scripts
again.
To redo the conversion in the next commit, rebase interactively to edit
this commit and delete the next one, and run './update-docs.sh' from the
root directory. Then continue the rebasing, and resolve any conflicts
that might have occurred in the manual fixes on top. Finally, build the
documentation to ensure no further fixups are needed.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:00 +00:00
Eric Engestrom
4de678cd30
iris: drop dead #include "config.h"
...
There hasn't been a config.h in a long time (it was an artifact of the
autotool build).
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5350 >
2020-06-13 01:31:56 +00:00
Eric Engestrom
eeb51c2d36
i965: drop dead #include "config.h"
...
There hasn't been a config.h in a long time (it was an artifact of the
autotool build).
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5350 >
2020-06-13 01:31:56 +00:00
Eric Engestrom
fd2858738b
docs: update the blocks of unused EGL enums assigned to us
...
See src/egl/generate/egl.xml for reference.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5309 >
2020-06-13 01:30:24 +00:00
Eric Engestrom
6497d1d304
intel/genxml: replace gen_sort_tags.py MIT licence with SPDX equivalent
...
Much more readable with the same information :)
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5362 >
2020-06-13 01:16:17 +00:00
Eric Engestrom
ff0f1c6a27
intel/genxml: drop python 2 support for gen_sort_tags.py
...
Python 2 is dead and this script is only run by devs, all of which have
had python3 available for basically forever.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5362 >
2020-06-13 01:16:17 +00:00
Eric Engestrom
6456f71f76
v3d: add missing unlock() in error path
...
CoverityID: 1435701
Fixes: e5a81ac704 ("broadcom/vc5: Don't forget to get the BO offset when opening a dmabuf.")
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5263 >
2020-06-13 00:45:47 +00:00
Jonathan Marek
8c152a5e2a
turnip: remove some dead/redundant code
...
A bit of cleanup to reduce noise in the codebase.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5447 >
2020-06-13 00:11:47 +00:00
Eric Anholt
32143cba4d
ci/bare-metal: Terminate the job with an error on kernel panic.
...
Otherwise, we'll time out after 60 minutes of waiting for the run to
complete.
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2651
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5393 >
2020-06-12 23:34:44 +00:00
Eric Anholt
72fe7b98ea
ci/bare-metal: Stop fetching the git tree.
...
Like for LAVA, make the tradeoff of moving the test scripts and data (55k)
into the artifacts in order to make the per-build jobs not have to pull
down the git tree (hundreds of MB when you don't hit a cached container
for your specific user, which I see happen multiple times a day in my CI
runs).
To do this, we have to be a bit more careful in some places about our
working directory potentially being dirty.
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5393 >
2020-06-12 23:34:44 +00:00
Eric Anholt
109816b518
ci/bare-metal: Use the deqp-runner bits straight out of the artifacts.
...
We've already uploaded and downloaded them from fd.o and put them in the
rootfs, so we can clean up the extra prep work.
Our test job now extends from .test so that the artifacts' install dir
with all the scripts is extracted. This required moving the dependency on
meson-testing to the x86 test-gl/test-vk job blocks.
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5393 >
2020-06-12 23:34:44 +00:00
Eric Anholt
445f3eb0ea
ci/bare-metal: Make which test to run configurable.
...
I'll use this to run tracie in a new job I'm working on.
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5393 >
2020-06-12 23:34:44 +00:00
Eric Anholt
a13209bdec
ci/bare-metal: Reword the final output of the init script on the board.
...
I'm going to be adding tracie, which isn't deqp.
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5393 >
2020-06-12 23:34:44 +00:00
Icecream95
7ef648c0f3
panfrost: Tiled to linear layout conversion
...
Tiling is expensive, so this patch converts textures that appear to be
used for streaming to a linear layout.
Performance of mpv is significantly improved, with software-decoded
1080p mp4 playback on RK3288 going from 30fps to 50fps when testing
with `--untimed --no-audio`.
To keep things simple, conversion only happens when updating the whole
texture and no mipmapping is used.
v2: Make it clear that the heuristic doesn't rely on a texture being
uninitialized, since layout switching code can get confusing (Alyssa).
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4628 >
2020-06-12 19:15:47 +00:00
Icecream95
fafc305600
panfrost: Create a new sampler view bo when the layout changes
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4628 >
2020-06-12 19:15:46 +00:00
Icecream95
3baf10adb9
panfrost: Move sampler view bo creation to a separate function
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4628 >
2020-06-12 19:15:46 +00:00
Matt Turner
66111bc95a
intel/compiler: Drop opt_sampler_eot()
...
Gen9 and Cherryview have the ability to mark texture instructions with
the End-of-thread bit under some conditions, which allows the texture
result to be written to the render target directly, rather than
returning to the EU.
In order to handle overlapping primitives correctly, we have to use the
'sendc' instruction which stalls until other threads potentially writing
to the same locations in the render target are retired. Unfortunately,
this stall happens before the texture is sampled (rather than in
parallel with stall), so for some literal edge cases (like the diagonal
edge between two triangles forming a rectangle) there can be a
performance penalty. As a result, it's probably not a good idea to use
this optimization in general.
I had planned to leave it enabled only for BLORP, where we use rectangle
primitives and are typically clearing/blitting an entire render target
without any overlapping primitives, but I noticed that the optimization
wasn't applied in some normal cases anyway. For example, in the piglit
test tests/shaders/glsl-fs-texture2d-bias.shader_test it is applied to
one BLORP-blit shader but not another due to some kind of mishandling of
register types (the destination register type of the texture operation
is UD while the color source of the render target write is F).
Additionally the instruction scheduler assumed that the combined texture
and render target write operation took 0 cycles, leading to cycle
estimates that are wildly inaccurate. Since the optimization was not
implemented for SIMD32 and our decision whether to use the SIMD32
program is made by comparing the estimated performance with that of the
SIMD16 shader, we wrongly threw out a bunch of SIMD32 programs that are
likely profitable.
total cycles in shared programs: 472807891 -> 473784245 (0.21%)
cycles in affected programs: 108277 -> 1084631 (901.72%)
helped: 0
HURT: 1290
total sends in shared programs: 998955 -> 1000245 (0.13%)
sends in affected programs: 1400 -> 2690 (92.14%)
helped: 0
HURT: 1290
LOST: 0
GAINED: 33
This patch shows no performance changes in Intel's Mesa performance CI.
Given the problems, the lack of evidence that the pass improves
performance, and the fact that the hardware feature was removed from
subsequent GPU generations, I think that the pass is not valuable and
should be removed.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Signed-off-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5412 >
2020-06-12 19:01:26 +00:00
Eric Anholt
dd938356c7
ci: Disable some flaky tests on turnip.
...
These have appeared more than once in the flake reporting channel, and a
couple of them have spuriously failed marge-bot merges.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5429 >
2020-06-12 18:39:58 +00:00
Eric Anholt
44d28dca26
ci: Fix weird filesystem globs appearing in failed test .qpa files.
...
When you get a filure and go looking in the results, you'll find weird stuff like this in the XML:
Reference images fill undefined pixels with 3x3 grid pattern.
Attachment 0 (p' = p bin boot builds
dEQP-VK.renderpass.suballocation.attachment_allocation.grow_shrink.89.qpa
deqp dev etc home init install lib media mnt proc results root run sbin
set-job-env-vars.sh sys tmp usr var (1, 1, 1, 1) + (-1, -1, -1, 1))
because we were not quoting the line and 'p *' was getting expanded.
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5435 >
2020-06-12 17:36:20 +00:00
Dylan Baker
0efaa55ef8
docs: update calendar, add news item, and link releases notes for 20.0.8
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5444 >
2020-06-12 17:23:38 +00:00
Dylan Baker
c947bde6c5
docs: Add sha256sums for 20.0.8
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5444 >
2020-06-12 17:23:38 +00:00
Dylan Baker
0226854e11
docs: Add release notes for 20.0.8
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5444 >
2020-06-12 17:23:38 +00:00
Alyssa Rosenzweig
7ae2110e61
pan/mdg: Prefer type over regmode for schedule constraints
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5443 >
2020-06-12 12:57:11 -04:00
Alyssa Rosenzweig
5cf5d3cc2d
pan/mdg: Analyze types for 64-bitness in RA
...
Instead of reg_mode.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5443 >
2020-06-12 12:57:11 -04:00
Alyssa Rosenzweig
5e5ea25a0d
pan/mdg: Explicitly type 64-bit uniform moves
...
Instead of relying on reg_mode.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5443 >
2020-06-12 12:57:11 -04:00
Jonathan Marek
c93753e618
turnip: add emit renderpass cache flushes for sysmem 3D CmdClearAttachments
...
This clear path behaves like a draw, it needs the same flush as tu_draw.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5426 >
2020-06-12 15:09:07 +00:00
Jonathan Marek
72d7df40a5
turnip: add layered 3D path clear for CmdClearAttachments
...
This fixes cases where the 3D path is used with layered rendering.
Fixes dEQP-VK.renderpass.suballocation.multisample_resolve.layers* failures
Note the blob's 3D fallback path behaves differently, and uses the
framebuffer information to clear each layer individually (changing the MRT
state each time). But that's not possible in all cases, and the blob fails
to clear properly in dEQP-VK.geometry.layered.*.secondary_cmd_buffer cases.
So this clear path is not based on the blob's behavior.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5426 >
2020-06-12 15:09:07 +00:00
Jonathan Marek
093c413722
turnip: share code between 3D blit/clear path and tu_pipeline
...
Instead of filling out registers manually, fill out ir3 structs and re-use
code from tu_pipeline.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5426 >
2020-06-12 15:09:06 +00:00
Jonathan Marek
13525a9c70
turnip: pipeline program state refactor
...
This refactor simplifies things a bit, and will make it easier to share
some logic with tu_clear_blit (see next patches).
This changes the order in which some things are emitted, and emits less
for disabled shader stages. There's also as extra write to SP_GS_PRIM_SIZE
that is removed.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5426 >
2020-06-12 15:09:06 +00:00
Alyssa Rosenzweig
1c1782c6b5
panfrost: Demote mediump varyings to fp16
...
Likewise lowp.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423 >
2020-06-12 14:45:50 +00:00
Alyssa Rosenzweig
a7f524674b
panfrost: Override varying format to minimal precision
...
Spec allows this!
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423 >
2020-06-12 14:45:50 +00:00
Alyssa Rosenzweig
f1de952b69
panfrost: Use shader_info harder
...
We already have this metadata..
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423 >
2020-06-12 14:45:50 +00:00
Alyssa Rosenzweig
3cc425e27d
panfrost: Only store varying formats
...
This reduces linking complexity.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423 >
2020-06-12 14:45:50 +00:00
Alyssa Rosenzweig
8462ca076d
panfrost: Allow R/RG/RGB varyings
...
This can be a bandwidth savings.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423 >
2020-06-12 14:45:50 +00:00
Alyssa Rosenzweig
a0578998a4
panfrost: Remove unused routines
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423 >
2020-06-12 14:45:50 +00:00
Alyssa Rosenzweig
79e349abca
panfrost: Use new varying linking
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423 >
2020-06-12 14:45:50 +00:00
Alyssa Rosenzweig
6ab87c55bc
panfrost: Add high-level varying emit
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423 >
2020-06-12 14:45:50 +00:00
Alyssa Rosenzweig
e9e9b2b39b
panfrost: Add helper to determine if we are capturing
...
That is, is the varying setup for xfb *and* is there a buffer for it?
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423 >
2020-06-12 14:45:50 +00:00
Alyssa Rosenzweig
c31af6fbca
panfrost: Emit xfb records
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423 >
2020-06-12 14:45:50 +00:00
Alyssa Rosenzweig
df24209473
panfrost: Emit special varyings
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423 >
2020-06-12 14:45:50 +00:00
Alyssa Rosenzweig
0c0217d945
panfrost: Emit unlinked varyings
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423 >
2020-06-12 14:45:50 +00:00
Alyssa Rosenzweig
3d04ebf7f8
panfrost: Determine varying buffer presence
...
Essentially the same logic as before, but the assumptions are much more
explicit.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423 >
2020-06-12 14:45:50 +00:00
Alyssa Rosenzweig
258b80b6eb
panfrost: Introduce bitfields for tracking varyings
...
Rather than having all sorts of random state flyng about with varying
emission, we can use a simple present mask and general stride to encode
everything we need for non-XFB cases, and layer XFB on top easily
enough.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423 >
2020-06-12 14:45:50 +00:00
Alyssa Rosenzweig
e26ac2e165
panfrost: Add panfrost_streamout_offset helper
...
Calculates the bias required for an xfb record in the src_offset field
to account for truncating the address to force alignment.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423 >
2020-06-12 14:45:50 +00:00
Alyssa Rosenzweig
24c3b95925
panfrost: Calculate varying size by format
...
Will enable <16-byte varyings.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423 >
2020-06-12 14:45:50 +00:00
Alyssa Rosenzweig
7ac1bb047a
pan/mdg: Avoid fusing ld_vary_16 with non-zero component
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423 >
2020-06-12 14:45:50 +00:00
Daniel Schürmann
1f98d8c804
aco: fix shared subdword loads
...
Shared subdword loads don't need byte alignment as they are split
into multiple loads if necessary.
Fixes: 5cde4989d3 ('aco: remove unnecessary split- and create_vector instructions for subdword loads')
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5441 >
2020-06-12 13:56:12 +00:00
Samuel Pitoiset
e7e9969efe
radv: enable radv_enable_mrt_output_nan_fixup for RAGE 2
...
To fix game artifacts. It's always sad to have to fix game bugs
inside drivers ...
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/5359 >
2020-06-12 14:43:58 +02:00
Samuel Pitoiset
54e7ae569b
radv/llvm: implement radv_enable_mrt_output_nan_fixup workaround
...
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/5359 >
2020-06-12 14:43:58 +02:00
Samuel Pitoiset
7b44f549b3
aco: implement radv_enable_mrt_output_nan_fixup workaround
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5359 >
2020-06-12 14:43:57 +02:00
Samuel Pitoiset
6f21995f98
radv: add new drirc option radv_enable_mrt_output_nan_fixup
...
To replace NaN from FS with zeros to fix game bugs.
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/5359 >
2020-06-12 14:43:31 +02:00
Timothy Arceri
b33f811068
glsl: fix incorrect optimisation in opt_constant_variable()
...
When handling function inputs the optimisation pass incorrectly
assumes the inputs are undefined. Here we simply change things to
assume inputs have always been assigned a value. Any further
optimisations will be taken care of once function inlining takes
place.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2984
Fixes: 65122e9e80 ("ir_constant_variable: New pass to mark constant-assigned variables constant.")
Reviewed-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5413 >
2020-06-12 08:51:54 +00:00
Samuel Pitoiset
07aefe8065
radv: set DB_SHADER_CONTROL.CONSERVATIVE_Z_EXPORT correctly
...
Use the SPIR-V execution modes if set.
Cc: 20.1 <mesa-stable@lists.freedesktop.org >
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/5404 >
2020-06-12 08:22:47 +00:00
Mauro Rossi
900bf50c39
android: nvir/gv100: update sources in Makefile.sources
...
Fixes the following building errors:
FAILED: out/target/product/x86_64/obj/SHARED_LIBRARIES/gallium_dri_intermediates/LINKED/gallium_dri.so
...
ld.lld: error: undefined symbol: nv50_ir::getTargetGV100(unsigned int)
...
ld.lld: error: undefined symbol: nv50_ir::getTargetGV100(unsigned int)
clang-9: error: linker command failed with exit code 1 (use -v to see invocation)
Fixes: 78103abe ("nvir/gv100: initial support")
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
2020-06-12 07:50:08 +02:00
Rob Clark
ee29c682fe
freedreno/ir3: limit pre-fetched tex dest
...
Teach RA to setup additional interference to prevent textures fetched
before the FS starts from ending up in a register that is too high to
encode.
Fixes mis-rendering in multiple playcanv.as webgl apps.
Note that the regression was not actually 733bee57eb8's fault, but
that was the commit that exposed the problem.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3108
Fixes: 733bee57eb ("glsl: lower samplers with highp coordinates correctly")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5431 >
2020-06-11 21:59:54 +00:00
Rob Clark
f80092dad2
freedreno/ir3: remove RA "q-values" optimization
...
This is mainly the "piglit optimization" (ie, since piglit launches an
separate process for for each test). It was never wired up for a6xx,
and makes register class setup unnecessarily complicated. Remove it to
simplify the next patch.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5431 >
2020-06-11 21:59:54 +00:00
Rob Clark
562aaea07c
freedreno/ir3: respect tex prefetch limits
...
Refactor a bit the limit checking in the bindless case, and add tex/samp
limit checking for the non-bindless case, to ensure we do not try to
prefetch textures which cannot be encoded in the # of bits available.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5431 >
2020-06-11 21:59:54 +00:00
Rob Clark
4cabc25fa4
freedreno/ir3: add debug code to print conflicting half-regs
...
I keep re-typing this from time to time when debugging various things.
Which is dumb.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5431 >
2020-06-11 21:59:54 +00:00
Rob Clark
399114329b
nir/print: print tex dest type
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5431 >
2020-06-11 21:59:54 +00:00
Francisco Jerez
479249bce6
iris/icl+: Report same caching domain as main surface for clear color BO.
...
Even though the clear color BO is bound as a read-only buffer, report
the same caching domain as the main BO in use_surface() (typically
IRIS_DOMAIN_RENDER_WRITE) in order to avoid ping-ponging back and
forth between IRIS_DOMAIN_RENDER_WRITE and IRIS_DOMAIN_OTHER_READ,
which leads to increased stall-at-pixel-scoreboard synchronization
between draw calls.
Fixes a 5%-10% FPS regression in some benchmarks spotted on ICL.
Reported-by: Clayton Craft <clayton.a.craft@intel.com >
Fixes: eb5d1c2722 "iris: Annotate all BO uses with domain and sequence number information."
Closes : #3097
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5411 >
2020-06-11 14:00:49 -07:00
Mauro Rossi
7afdc549f4
android: aco: add aco_ir.cpp 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: aco::can_use_SDWA(chip_class, std::__1::unique_ptr<aco::Instruction, aco::instr_deleter_functor> const&)
...
ld.lld: error: undefined symbol: aco::can_use_opsel(chip_class, aco_opcode, int, bool)
...
clang-9: error: linker command failed with exit code 1 (use -v to see invocation)
Fixes: d9cfb8ad ("aco: validate instructions reading/writing upper halves/bytes")
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5425 >
2020-06-11 20:00:16 +02:00
Eric Engestrom
19b18e7219
docs: update calendar, add news item, and link releases notes for 20.1.1
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5421 >
2020-06-11 10:31:31 +00:00
Eric Engestrom
f94190e8b0
docs: Add release notes for 20.1.1
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5421 >
2020-06-11 10:31:31 +00:00
Marek Olšák
0b3e344212
ac/surface: don't free dcc_retile_map on failure
...
because the hash table now owns it.
Fixes: bd553f0546 - ac/surface: cache DCC retile maps (v2)
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5424 >
2020-06-11 10:01:57 +00:00
Marek Olšák
56f2a77a41
ac/surface: enable DCC for the first level in the mip tail on gfx10
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5424 >
2020-06-11 10:01:57 +00:00
Marek Olšák
7406ea37e6
ac/surface: require that gfx8 doesn't have DCC in order to be displayable
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5424 >
2020-06-11 10:01:57 +00:00
Marek Olšák
374f6d568f
ac/surface: don't set is_displayable if displayable DCC is missing
...
If flags.display isn't set, then displayable DCC will not be computed, so
is_displayable will always be false.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5424 >
2020-06-11 10:01:57 +00:00
Marek Olšák
0fcf55329b
amd/addrlib: fix the C++ one definition rule violation
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/1854
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5414 >
2020-06-11 05:11:50 -04:00
Jason Ekstrand
27b7b89922
iris: Better handle metadata in NIR passes
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5171 >
2020-06-11 05:08:12 +00:00
Jason Ekstrand
92cfbb7d0c
intel/nir: Call nir_metadata_preserve on !progress
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5171 >
2020-06-11 05:08:12 +00:00
Jason Ekstrand
2b676b2ce8
nir: Properly preserve metadata in more cases
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5171 >
2020-06-11 05:08:12 +00:00
Jason Ekstrand
5e1c42d85f
nir: Call nir_metadata_preserve on !progress
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5171 >
2020-06-11 05:08:12 +00:00
Jason Ekstrand
b0d1f9a72f
nir: Add a nir_shader_preserve_all_metadata helper
...
There are some passes which really work on the shader level and it's
easier if we have a helper which preserves metadata on the whole shader.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5171 >
2020-06-11 05:08:12 +00:00
Jason Ekstrand
e017ee95c1
nir: Add a nir_metadata_all enum value
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5171 >
2020-06-11 05:08:12 +00:00
Dave Airlie
30f94b3e7d
gallivm/sample: fix texel type for stencil 8-bit
...
This has to be unsigned, so clamping works properly for border
colors.
Fixes dEQP-GLES31.functional.texture.border_clamp.range_clamp.nearest_uint_stencil
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5379 >
2020-06-11 14:41:23 +10:00
Dave Airlie
47c2318063
gallivm/conv: enable conversion min code. (v2)
...
I'm not sure why this code was if (0), but if (1) for it fixes
dEQP-GLES31.functional.texture.border_clamp.range_clamp.nearest_float_color
This test expects +inf to get mapped to 255 and -inf to 0, both values
were ending up at 0.
v2: also enable in the SSE paths
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5379 >
2020-06-11 14:41:19 +10:00
Dave Airlie
45606ee804
gallivm/format: convert unsigned values to float properly.
...
This fixes:
dEQP-GLES31.functional.draw_indirect.random.2
which ends up with 3x32-bit USCALED values going down this path
some of which have the top bit set, and end up converted to signed
float instead of unsigned float values.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5379 >
2020-06-11 14:41:14 +10:00
Dave Airlie
a2c16ecb2e
llvmpipe: fix subpixel bits reporting.
...
This fixes some vulkan tests later.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5379 >
2020-06-11 14:41:09 +10:00
Dave Airlie
f6ce962f00
gallivm/nir: add group barrier support
...
Fixes crash in
dEQP-GLES31.functional.synchronization.inter_invocation.image_write_read
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5379 >
2020-06-11 14:41:05 +10:00
Dave Airlie
069aee7cc5
draw/gs: add more info to debugging.
...
adds invocations and vertex streams to default off debug,
fixes compile as well due to missing ,
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5379 >
2020-06-11 14:41:02 +10:00
Dave Airlie
092f6226ea
draw/gs: fix emitting inactive primitives crash
...
Fixes dEQP-GLES31.functional.geometry_shading.emit.line_strip_emit_1_end_1
This test only emits 1 primitive, but the stores don't respect
the current mask, which might only have one lane active, for that single
primitive. Also fix the final emit path to use the emitted_mask
rather than the current execution mask.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5379 >
2020-06-11 14:40:57 +10:00
Eric Anholt
cc13ffffba
ci: Leave a note as to what might be going on with a test.
...
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z
fails pretty strangely (given that we're passing everything else) and
there's an old VK-GL-CTS bug open about this test, and it's suspicious
that all the ARM drivers seem to have trouble with it. I tried dropping
to -O0 on guilding that file in the CTS and it didn't help, though.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5419 >
2020-06-10 23:37:32 +00:00
Eric Anholt
d5e993af47
freedreno/a6xx: Fix clip_halfz support.
...
Same bit as on other gens, apparently it just got missed on this one.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5419 >
2020-06-10 23:37:32 +00:00
Ben Skeggs
af3c2f3cfd
nvc0: initial support for tu1xx
...
v2:
- add proper method definitions
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:42 +00:00
Ben Skeggs
268dc60d3a
nvc0: initial support for gv100
...
v2:
- remove unnecessary MAX2()
- add proper method definitions
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:42 +00:00
Ben Skeggs
839aeffb49
nvc0: remove hardcoded blitter vertprog
...
I don't really feel like writing SM70 SASS by hand...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:42 +00:00
Ben Skeggs
4f3fbfb82e
nvc0: move setting of entrypoint for a shader stage to a function
...
GV100 requires something different, cleaner to move this to a single place.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:42 +00:00
Ben Skeggs
550f1c6d33
nvc0: use NVIDIA headers for GP100- compute QMD
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:42 +00:00
Ben Skeggs
443d369bd5
nvc0: use NVIDIA headers for GK104->GM2xx compute QMD
...
v2:
- add header debug_printf(), and indent the output
v3:
- rename one of the helper macros
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:42 +00:00
Ben Skeggs
7458e21e2b
nvir/gv100: enable support for tu1xx
...
SM75 has a bunch more stuff, but is otherwise backwards-compatible
with SM70 SASS.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:42 +00:00
Ben Skeggs
78103abe87
nvir/gv100: initial support
...
v2:
- add TargetGV100::isBarrierRequired() for OP_BREV
- use NV50_IR_SUBOP_LOP3_LUT() convenience macro where it makes sense
- separated out nir_lower_idiv into its own commit
- make use of the shared function to generate compiler options
- disable lower_fpow, nir's lowering is broken
v3:
- use replaceCvt() instead of custom NEG/ABS/SAT lowering
v4:
- remove WAR from peephole, not needed now we're using replaceCvt()
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:42 +00:00
Ben Skeggs
cacf296109
nvir/nir/gm107: switch off lower_extract_word
...
We can use PRMT here.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:42 +00:00
Ben Skeggs
57259fa802
nvir/nir/gm107: switch off lower_extract_byte
...
We can use PRMT here.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:42 +00:00
Ben Skeggs
d58290270a
nvir/nir/gm107: turn on nir_lower_extract64
...
About to disable lowering for extract_byte/word in favour of a better
local implementation, but still need lowering for 64-bit versions.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:42 +00:00
Ben Skeggs
f29e6a9e7e
nvir/nir/gm107: split nir shader compiler options from gf100
...
We can enable some more things here vs earlier GPUs.
v2:
- make use of the shared function to generate compiler options
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:42 +00:00
Ben Skeggs
5f8ddbd069
nvir/gm107: separate out header for sched data calculator
...
SM70 code emitter will want to reuse this.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:42 +00:00
Ben Skeggs
e0379e4549
nvir/gm107: replace SHR+AND+AND with PRMT+PRMT in PFETCH lowering
...
This is more SM70-friendly.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:41 +00:00
Ben Skeggs
4f7798be9f
nvir/gm107: implement OP_PERMT
...
PFETCH lowering will be changed to use this as it's more SM70-friendly,
and this will also allow us to implement extract_byte/word opcodes.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:41 +00:00
Ben Skeggs
9670c087a7
nvir/nir: use nir_lower_idiv
...
NIR provides a common implementation of this so we don't need to use a
hand-written built-in library.
v2:
- use idiv_precise instead
Especially important on SM70 where we don't have an assembler.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:41 +00:00
Ben Skeggs
59b44f90aa
nvir/nir: nir expects the shift amount to wrap, rather than clamp
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:41 +00:00
Ben Skeggs
126954aade
nvir/nir: implement nir_op_uror
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:41 +00:00
Ben Skeggs
23d56c842d
nvir/nir: implement nir_op_urol
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:41 +00:00
Ben Skeggs
4af791c3bd
nvir/nir: implement nir_op_extract_i16
...
v2:
- use getSSA() instead of getScratch()
v3:
- fix whitespace
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:41 +00:00
Ben Skeggs
bfdef484f5
nvir/nir: implement nir_op_extract_u16
...
v2:
- use getSSA() instead of getScratch()
v3:
- fix whitespace
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:41 +00:00
Ben Skeggs
37bef78c79
nvir/nir: implement nir_op_extract_i8
...
v2:
- use getSSA() instead of getScratch()
v3:
- fix whitespace
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:41 +00:00
Ben Skeggs
da390389d0
nvir/nir: implement nir_op_extract_u8
...
v2:
- use getSSA() instead of getScratch()
v3:
- fix whitespace
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:41 +00:00
Ben Skeggs
b80033abc6
nvir/nir: turn on lower_rotate
...
This isn't implemented, and won't be for GPUs that don't support SHF.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:41 +00:00
Ben Skeggs
2ad6f1b7bb
nvir/nir: flesh out options
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:41 +00:00
Ben Skeggs
fa0a241b33
nvir/nir: move nir options to codegen
...
These seem to make more sense living with the compiler.
v2:
- use a shared function to generate the per-chipset structs
- remove nir.h include from header, not needed
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:41 +00:00
Ben Skeggs
789fa7e378
nvir/nir: fix fragment program output when using MRT
...
v2:
- use BITFIELD64_BIT()
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:41 +00:00
Karol Herbst
ce7754e31b
nvir/nir: use component helpers instead of insn->num_components
...
We have nir_intrinsic_dest_components and nir_intrinsic_src_components
which handle all the corner cases.
Fixes a bunch of regressions like front_face stuff.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Ben Skeggs <bskeggs@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:41 +00:00
Ben Skeggs
a2420c2280
nvir: run replaceZero() before replaceCvt()
...
replaceCvt() will miss some cases otherwise.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:41 +00:00
Ben Skeggs
7dbb7572e2
nvir: add constant folding for OP_PERMT
...
Important for SM70 INSBF/EXTBF lowering, as these can can often be
eliminated completely.
v2:
- skip CF when subOp is set
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:41 +00:00
Ben Skeggs
a831967c72
nvir: introduce OP_FINAL
...
Required to support SM70 GS.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:41 +00:00
Ben Skeggs
5c3040e93a
nvir: introduce OP_SGXT
...
Required for SM70 EXTBF lowering.
v2:
- added constant folding
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:41 +00:00
Ben Skeggs
6fd41da1ef
nvir: introduce OP_BMSK
...
This replaces the existing implementation without adding lowering for
earlier GPUs. The reason for this is because the existing code isn't
at all correct, and it also can't be hit anyway.
Will be required to support SM70 lowering passes.
v2:
- fixup source selection
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:41 +00:00
Ben Skeggs
e1e4d1d373
nvir: introduce OP_SHF
...
We already use a hack from NVC0LegalizeSSA::handleShift() on GK110 and
newer which encodes SHF into the existing SHL/SHR opcodes, but there's
a couple of problems with it:
- LO/HI are swapped in one of the directions, which is very confusing.
- The initial SM70 code will emit this from NIR->NVIR, and using the
existing encodings will confuse the optimisation passes.
As I want to limit the impact on other GPUs from the initial bring-up
of Volta/Turing, let's add an explicit representation of SHF in the IR.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:41 +00:00
Ben Skeggs
60b28f7a50
nvir: introduce OP_BREV with lowering to EXTBF_REV for current GPUs
...
SM70 has this instruction, but no BFE.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:41 +00:00
Ben Skeggs
ddedfcdf21
nvir: introduce OP_WARPSYNC
...
Will be required to support SM70.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:41 +00:00
Ben Skeggs
4b9b7e4dd3
nvir: introduce OP_LOP3_LUT
...
Will be required to support SM70, but is also available on earlier GPUs.
v2:
- add convenience macro suggested by Karol
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:41 +00:00
Ben Skeggs
b80aff88fe
nvir: bump max encoding size of instructions
...
SM70 SASS is encoded into 16 bytes.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377 >
2020-06-10 22:52:41 +00:00
Erik Faye-Lund
67ad75a282
gallium/hud: do not specify potentially invalid depth-range
...
Setting the depth-scale to 1 while leaving the depth-translation at 0
means our near-plane is at -1 in OpenGL semantics, which is
out-of-range on some drivers. In particular, Zink has this limitation.
But since we'll only pass a zero z in here anyway, we might as well
multiply it by zero, and get the same result. This avoids the problem.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5408 >
2020-06-10 22:27:08 +00:00
Dave Airlie
978285f69a
draw: add disk caching for draw shaders
...
This adds the cache search/insert and compile skipping for cached
objects to the VS/GS/TES/TCS stages in draw.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5049 >
2020-06-11 06:05:41 +10:00
Dave Airlie
db82faff71
llvmpipe: hook draw disk cache up
...
Connect the draw callbacks into the llvmpipe code.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5049 >
2020-06-11 06:05:41 +10:00
Dave Airlie
e07e5137b0
draw: add disk cache callbacks for draw shaders
...
This provides a set of hooks from the driver that draw can
use to access the disk cache for the draw shaders.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5049 >
2020-06-11 06:05:41 +10:00
Dave Airlie
c2864081e1
llvmpipe/cs: add shader caching
...
As for fragment shader, skip compilation step if we have the shaders
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5049 >
2020-06-11 06:05:40 +10:00
Dave Airlie
f0d91c9af3
llvmpipe/fs: add caching support
...
Serialize and check if the object is in the cache, it there is
a cached object skip compilation code once we've constructed
the function interface.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5049 >
2020-06-11 06:05:40 +10:00
Dave Airlie
1b2e345110
gallivm: don't cache shaders that use fetch functions.
...
This needs to be reworked, but it's a bit messy as we have to store
all the fetch pointers to be added as globals later once gallivm
has been initialised further. For now just refuse to cache shaders
that hit these paths (mainly ETC1 and BPTC).
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5049 >
2020-06-11 06:05:40 +10:00
Dave Airlie
6c0c61cb48
llvmpipe: add infrastructure for disk cache support
...
This hooks up the gallium API and adds the APIs needed
for shader stages to search and add things to the cache.
It also adds cache stats debug printing.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5049 >
2020-06-11 06:05:40 +10:00
Dave Airlie
4962d3e107
gallivm: add cache interface to mcjit
...
MCJIT uses an ObjectCache object to implement the cache,
this creates and instances of it and adds it to the MCJIT
instances, it stores the cached object for later use by
the outer layers.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5049 >
2020-06-11 06:05:40 +10:00
Dave Airlie
b15ecb1717
gallivm: skip operations if we have a cached object.
...
If the object is loaded from the cache, a bunch of gallivm/llvm
interactions can be skipped.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5049 >
2020-06-11 06:05:40 +10:00
Dave Airlie
7b7c02d161
gallivm: add support for a cache object
...
This plumbs the cache object into the gallivm API, nothing uses
it yet.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5049 >
2020-06-11 06:05:40 +10:00
Dave Airlie
333ee94285
gallivm: rework debug printf hook to use global mapping.
...
Cached shaders require relinking, so hardcoding the pointer
can't work. This switches out the printf code to use new
proper API.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5049 >
2020-06-11 06:05:40 +10:00
Dave Airlie
f511d2a553
gallivm: rework coroutine malloc/free callouts.
...
When using cached shaders we have to relink the shader with
external symbols when it's loaded. However the way gallivm does
function calls now hardcodes the function pointer into the shader.
LLVM had a mechanism for doing this properly using global mappings,
this switches the coroutine alloc/free code to use a global mapping.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5049 >
2020-06-11 06:05:40 +10:00
Dave Airlie
d815d74f75
llvmpipe/draw: drop variant number from function names.
...
When we use an object cache for the MCJIT we can have identical
cache entries from the same shader variant in different shaders,
but the JIT objcache uses the function name to relink things,
so it has to be consistent. Just drop the variants from the
function names.
Note the modules still have the variant info.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5049 >
2020-06-11 06:05:40 +10:00
Dave Airlie
e639e311a1
llvmpipe/cs: overhaul cs variant key state.
...
This just realigns it with the fs state, and fixes some issues
where shaders weren't getting cached correctly.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5049 >
2020-06-11 06:05:28 +10:00
Dave Airlie
8735e96c53
util/disk_cache: add fallback for disk_cache_get_function_identifier
...
Otherwise drivers need to have a ifdef on windows, easier to fix
here hopefully.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5049 >
2020-06-11 06:05:28 +10:00
Christian Gmeiner
456e8103ef
ci: fix possible spuriously run of jobs
...
Need to list arm_test-base here as well, or jobs using this
template may spuriously run if the arm_test-base job fails or
is cancelled.
Suggested-by: Michel Dänzer <mdaenzer@redhat.com >
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5405 >
2020-06-10 16:13:50 +00:00
Marek Olšák
bd553f0546
ac/surface: cache DCC retile maps (v2)
...
This reduces overhead when resizing windows or when allocating
similar image sizes over and over again.
v2: optimize the memory footprint of the cache
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5398 >
2020-06-10 15:35:46 +00:00
Marek Olšák
4cf674c8f7
ac/surface: add a wrapper structure to hold ADDR_HANDLE
...
and more things in the future.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5398 >
2020-06-10 15:35:46 +00:00
Marek Olšák
e6996d6fbd
amd/addrlib: remove unused members of ADDR2_COMPUTE_DCC_ADDRFROMCOORD_INPUT
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5398 >
2020-06-10 15:35:46 +00:00
Marek Olšák
a99f4d5382
amd/addrlib: don't recompute DCC info for every ComputeDccAddrFromCoord call
...
This decreases the DCC retile map overhead from 23% to 18%.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5398 >
2020-06-10 15:35:46 +00:00
Marek Olšák
a1b9eb62f6
ac/surface: don't recompute the DCC retile map for imported textures
...
The retile map is not used in this case, and the retile map computation
takes 39% of CPU time when resizing a window.
This brings it down to 23%.
The dcc_retile_use_uint16 setting has to be derived from DCC sizes.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5398 >
2020-06-10 15:35:46 +00:00
Rhys Perry
1b2e1163b2
aco: fix moving sub-dword values out of a register for a fixed definition
...
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/5040 >
2020-06-10 15:05:11 +00:00
Rhys Perry
edf863d1d2
aco: use Info::definition_size instead of definition's regclass
...
16-bit abs/neg creates v_xor_b32/v_and_b32 with v2b definitions. These
instructions never do partial writes without SDWA.
No shader-db changes.
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/5040 >
2020-06-10 15:05:11 +00:00
Rhys Perry
207c35cbe8
aco: add Info::{operand_size,definition_size}
...
No shader-db changes.
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/5040 >
2020-06-10 15:05:11 +00:00
Rhys Perry
62ea429a99
aco: prefer 4-byte aligned definitions
...
shader-db (Navi, fp16 enabled):
Totals from 42 (0.03% of 127638) affected shaders:
CodeSize: 811984 -> 806224 (-0.71%)
Instrs: 155733 -> 155939 (+0.13%); split: -0.04%, +0.18%
Cycles: 1982568 -> 1984400 (+0.09%); split: -0.06%, +0.15%
VMEM: 7187 -> 7121 (-0.92%); split: +0.86%, -1.78%
SMEM: 1770 -> 1769 (-0.06%)
VClause: 1475 -> 1476 (+0.07%)
Copies: 12406 -> 12606 (+1.61%); split: -0.46%, +2.07%
Branches: 5901 -> 5900 (-0.02%); split: -0.25%, +0.24%
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/5040 >
2020-06-10 15:05:11 +00:00
Rhys Perry
56345b8c61
aco: allow reading/writing upper halves/bytes when possible
...
Use SDWA, opsel or a different opcode to achieve this.
shader-db (Navi, fp16 enabled):
Totals from 42 (0.03% of 127638) affected shaders:
VGPRs: 3424 -> 3416 (-0.23%)
CodeSize: 811124 -> 811984 (+0.11%); split: -0.12%, +0.23%
Instrs: 156638 -> 155733 (-0.58%)
Cycles: 1994180 -> 1982568 (-0.58%); split: -0.59%, +0.00%
VMEM: 7019 -> 7187 (+2.39%); split: +3.45%, -1.05%
SMEM: 1771 -> 1770 (-0.06%); split: +0.06%, -0.11%
VClause: 1477 -> 1475 (-0.14%)
Copies: 13216 -> 12406 (-6.13%)
Branches: 5942 -> 5901 (-0.69%)
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/5040 >
2020-06-10 15:05:11 +00:00
Rhys Perry
98060ba0f0
aco: p_extract_vector in 64-bit u2f16/i2f16
...
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/5040 >
2020-06-10 15:05:11 +00:00
Rhys Perry
d9cfb8ad48
aco: validate instructions reading/writing upper halves/bytes
...
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/5040 >
2020-06-10 15:05:11 +00:00
Icecream95
3a1a40b443
panfrost: Add writes_stencil to the EARLY_Z disable list
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5065 >
2020-06-10 13:54:03 +00:00
Icecream95
deaef1df15
pan/mdg: Print writeout sources in mir_print_instruction
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5065 >
2020-06-10 13:54:03 +00:00
Icecream95
d37e901e35
pan/mdg: Add new depth store lowering
...
This uses the new nir_intrinsic_store_combined_output_pan intrinsic,
which can write depth, stencil and color in a single instruction. If
there are no color writes, the "depth RT" is written to.
Fixes the dEQP GLES3 depth write tests, as well as the piglit tests
fragdepth_gles2, glsl-1.10-fragdepth and when modified to not rely
on depth/stencil reload, glsl-fs-shader-stencil-export.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5065 >
2020-06-10 13:54:03 +00:00
Icecream95
a68063402b
pan/mdg: Add depth/stencil support to emit_fragment_store
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5065 >
2020-06-10 13:54:03 +00:00
Icecream95
7534a31a11
pan/mdg: Move search_var to earlier in midgard_compile.c
...
It will be needed by the new zs lowering.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5065 >
2020-06-10 13:54:03 +00:00
Icecream95
2f3d60c84b
pan/mdg: Add new depth writeout code
...
We schedule depth writeout to smul and stencil to vlut, so scheduling
to smul has to be disabled in these cases.
When only writing stencil, scheduling to smul is still disabled to
prevent stencil writeout from being scheduled there.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5065 >
2020-06-10 13:54:03 +00:00
Icecream95
92d3f1fe59
pan/mdg: Replace writeout booleans with a single value
...
A single value is easier to deal with than three separate booleans.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5065 >
2020-06-10 13:54:03 +00:00
Icecream95
bcc8f28b1a
nir: Replace the zs_output_pan intrinsic with combined_output_pan
...
Depth and stencil writes are combined with color writes, so we need
this intrinsic which has sources for color, RT, depth and stencil.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5065 >
2020-06-10 13:54:03 +00:00
Icecream95
2a5504fb92
pan/mdg: Remove writeout case from bytemask_of_read_components
...
By setting the swizzle for the fragment color, and setting qmask to ~0
for branches, the special case for writeout branches can be removed
from mir_bytemask_of_read_components_index.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5065 >
2020-06-10 13:54:03 +00:00
Icecream95
8f36904bae
pan/mdg: Remove old depth writeout code
...
We need to be able to do color writeout at the same time as depth
writeout. The old code can't do that, so needs to be removed.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5065 >
2020-06-10 13:54:03 +00:00
Icecream95
7da8667a7b
pan/mdg: Remove old zs store lowering
...
It is broken for when there are also color writes, and will be
replaced with a new lowering which takes that into account.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5065 >
2020-06-10 13:54:03 +00:00
Icecream95
ddc2ae32cf
pan/mdg: Move r1.w writeout to branch->dest
...
There will need to be sources for depth and stencil writeout, so
something has to be moved to the dest of the writeout branch.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5065 >
2020-06-10 13:54:03 +00:00
Icecream95
5f5a973709
pan/mdg: Add a macro for printing instruction source information
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5065 >
2020-06-10 13:54:03 +00:00
Alyssa Rosenzweig
dc8bffe999
nir: Remove nir_intrinsic_output_u8_as_fp16_pan
...
Now unused in favour of nir_intrinsic_load_output, happily.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5287 >
2020-06-10 09:30:31 +00:00
Pierre-Eric Pelloux-Prayer
8275dc1ed5
ac/surface: fix epitch when modifying surf_pitch
...
This is needed otherwise it can cause bad rendering of UYVY files.
The align(..., 256 / surf->bpe) constraint comes from addrlib.
Fixes: 69aadc4933 ("radeonsi: fix surf_pitch for subsampled surface")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5314 >
2020-06-10 09:11:23 +00:00
Pierre-Eric Pelloux-Prayer
e9826a1bb2
ac/surface: set SCANOUT if surf->is_displayable
...
Fixes: ba10fb3f7f ("radeonsi: preserve the scanout flag for shared resources on gfx9 and gfx10")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5314 >
2020-06-10 09:11:23 +00:00
Erik Faye-Lund
10f07495f6
zink: only report device-local memory as video-memory
...
While the definition of "video memory" isn't super clear, I think it's
pretty reasonable to assume host-memory isn't meant to be included. So
let's only count dedicated memory here.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3107
Reviewed-by: Witold Baryluk <witold.baryluk@gmail.com >
Tested-by: Witold Baryluk <witold.baryluk@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5409 >
2020-06-10 08:58:09 +00:00
Samuel Pitoiset
9b58c4958b
ac/nir: fix integer comparisons with pointers
...
If we get a comparison between a pointer and an integer, LLVM
complains if the operands aren't of the same type.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3085
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5397 >
2020-06-10 08:18:22 +00:00
Pierre-Eric Pelloux-Prayer
24ceb6a594
radeonsi/ngg: try GS multi-cycling mode if default mode failed
...
If gsprim_lds_size is larger than target_lds_size then gfx10_ngg_calculate_subgroup_info
will fail.
This commit adds a logic to try the multi-cycling in this case because it's
using less memory.
This fix glsl-1.50-gs-max-output when using NGG.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5401 >
2020-06-10 09:33:58 +02:00
Pierre-Eric Pelloux-Prayer
ce7692fc19
radeonsi: add return value to gfx10_ngg_calculate_subgroup_info
...
gfx10_ngg_calculate_subgroup_info uses assert to detect invalid configuration,
but if asserts are disabled it will continue its execution.
This commits adds a boolean return value to let the caller know that something
went wrong and that the results mustn't be used.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3103
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5401 >
2020-06-10 09:33:48 +02:00
Andrii Simiklit
2c711beb5c
glsl: fix crash on glsl macro redefinition
...
In case shader contains two equal macro defines, first one with trailing spaces
and the second one without.
`#define A 1 `
`#define A 1`
The parser crashes
Fixes: 0346ad3774 ("glsl: ignore trailing whitespace when define redefined")
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Signed-off-by: Andrii Simiklit <andrii.simiklit@globallogic.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5312 >
2020-06-10 03:29:39 +00:00
Jason Ekstrand
0c37cbf807
anv/allocator: Compare to start_offset in state_pool_free_no_vg
...
In d11e4738a8 , we started using a start_offset to allow us to
allocate pools where the base address isn't at the start of the pool.
This is useful for binding table pools which want to be relative to
surface state base address (more or less), among other things. However,
we had a bug where, if you have a negative offset, everything returned
to the pool would end up being returned to the "back" of the pool. This
isn't what we want for binding tables in the softpin world. This was
causing us to never actually re-use any binding table blocks. How this
passed CTS, I have no idea.
Closes : #3100
Fixes: d11e4738a8 "anv/allocator: Add a start_offset to anv_state_pool"
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5395 >
2020-06-09 22:52:26 +00:00
Alyssa Rosenzweig
5d547858da
panfrost: Ensure we have ro before using it
...
Even through the resouce requested has a BIND_SCANOUT or related tag,
this does not mean that we have a render-only driver.
This can trivially happen as one requests such resource from GBM, while
using the panfrost fd (and hence panfrost_dri.so)
Forward port of !3000
Signed-off-by: Emil Velikov <emil.velikov@collabora.com >
Signed-off-by: Robert Foss <robert.foss@collabora.com >
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Closes : #2664
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5410 >
2020-06-09 22:09:07 +00:00
Samuel Pitoiset
64f2d45c3b
radv/aco: enable shaderInt8 and VK_KHR_shader_float16_int8 on GFX6-GFX7
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5226 >
2020-06-09 21:25:38 +00:00
Samuel Pitoiset
be4dd6abd1
radv/aco: enable shaderInt16 on GFX6-GFX7
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5226 >
2020-06-09 21:25:38 +00:00
Samuel Pitoiset
b3aee3aa23
radv/aco: enable 8-bit/16-bit storage on GFX6-GFX7
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5226 >
2020-06-09 21:25:38 +00:00
Daniel Schürmann
5cde4989d3
aco: remove unnecessary split- and create_vector instructions for subdword loads
...
This helps GFX6/7 by removing unnecessary shuffle code.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5226 >
2020-06-09 21:25:38 +00:00
Samuel Pitoiset
5446e3cf2e
aco: fix alignment of vectors with 4 elements
...
I think this case was just missing.
This fixes a bunch of 16-bit storage related CTS failures like
dEQP-VK.ssbo.phys.layout.single_basic_type.std430.u16vec4.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5226 >
2020-06-09 21:25:38 +00:00
Samuel Pitoiset
c7bd0f8cd5
aco: implement 8-bit/16-bit conversions on GFX6-GFX7
...
Use v_bfe to implement small bitsize conversions because the
compiler probably optimizes this better.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5226 >
2020-06-09 21:25:38 +00:00
Daniel Schürmann
db957f9135
aco: optimize packing of 16bit subdword registers on GFX6/7
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5226 >
2020-06-09 21:25:38 +00:00
Daniel Schürmann
2a51840c52
aco: skip partial copies on first iteration when lowering to hw
...
Helps some Detroit : Become Human shaders.
Totals from affected shaders: (VEGA)
Code Size: 47693912 -> 47670212 (-0.05 %) bytes
Instructions: 9183788 -> 9177863 (-0.06 %)
Copies: 910052 -> 904127 (-0.65 %)
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5226 >
2020-06-09 21:25:38 +00:00
Daniel Schürmann
1d6f667193
aco: coalesce copies more aggressively when lowering to hw
...
Helps some Detroit : Become Human shaders.
Totals from affected shaders: (VEGA)
Code Size: 9880420 -> 9879088 (-0.01 %) bytes
Instructions: 1918553 -> 1918220 (-0.02 %)
Copies: 177783 -> 177450 (-0.19 %)
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5226 >
2020-06-09 21:25:38 +00:00
Daniel Schürmann
b21d2d9a9f
aco: add and use scratch SGPR to lower subdword p_create_vector on GFX6/7
...
This is needed to lower some corner cases correctly,
in case the same operand occurs multiple times:
e.g. v0 = p_create_vector(v0[0:8], v0[0:8], v0[0:8], v0[0:8])
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5226 >
2020-06-09 21:25:38 +00:00
Daniel Schürmann
9e8e12ea6d
aco: adjust GFX6 subdword lowering workarounds for 8bit
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5226 >
2020-06-09 21:25:38 +00:00
Daniel Schürmann
b083581010
aco: Workarounds subdword lowering on GFX6/7
...
As there are no SDWA instructions, we need to take care not to overwrite
the upper bits of other copy_operation's operands.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5226 >
2020-06-09 21:25:38 +00:00
Daniel Schürmann
942e3c40c3
aco: use full-register instructions to implement subdword packing on GFX6/7
...
On GFX6/7, there are no SDWA instructions.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5226 >
2020-06-09 21:25:38 +00:00
Daniel Schürmann
3f03db848d
aco: simplify statistics collection for copies
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5226 >
2020-06-09 21:25:38 +00:00
Daniel Schürmann
0560831593
aco: fix register assignment for p_create_vector on GFX6/7
...
In case, some operand was already placed in the definition space,
it could happen that it wasn't considered for live-range splits.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5226 >
2020-06-09 21:25:38 +00:00
Mike Blumenkrantz
98d07bd5a0
zink: emit interpolation decorations for ntv outputs
...
this matches up with nir internal states pre/post ntv
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5384 >
2020-06-09 20:56:09 +00:00
Mike Blumenkrantz
ad8e61621b
zink: track program usages for each shader
...
when shaders are created and destroyed in large numbers, the same pointers
get reused for different shaders, which can lead to bad lookups in the
program_cache hash table.
now each shader tracks its program usage to automatically remove itself from
that program in order to avoid hash collisions
fixes mesa/mesa#3053
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5315 >
2020-06-09 20:30:25 +00:00
Erik Faye-Lund
48925f6927
zink: assert that image-view format isn't undefined
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5407 >
2020-06-09 19:35:26 +00:00
Erik Faye-Lund
2d3c6605d6
zink: emulate B8G8R8X8_SRGB with B8G8R8A8_SRGB
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5407 >
2020-06-09 19:35:26 +00:00
Eric Anholt
3e11f04d4e
turnip: Expose robustBufferAccess.
...
It is a required device feature, and all enabled tests in
dEQP-VK.robustness.* pass.
Reviewed-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5266 >
2020-06-09 18:28:18 +00:00
Eric Anholt
3d5429d646
ci: Use rsync for initial nfsroot population on cheza.
...
rm -rf and then copying over all the contents again is a waste of time
when we'll almost always be using the same rootfs. Saves about 30s of job
time.
Closes : #3065
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5266 >
2020-06-09 18:28:18 +00:00
Eric Anholt
9e11cce517
ci: Enable pre-merge fractional vulkan CTS runs on the turnip driver.
...
Test 1/50th of the CTS on a630 pre-merge, since we've got hardware that
can do it and infrastructure that should handle instability with a
less-mature driver.
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5266 >
2020-06-09 18:28:18 +00:00
Eric Anholt
dd167788ec
ci: Build the full VK CTS for baremetal testing.
...
I'm going to enable the VK CTS on cheza, so swap the deqp we have in the
container. build-deqp-vk already included GLES deqp binaries and data,
and is a newer branch than the last opengl-es-cts tag.
This brings a few things back over from build-deqp-gl for testlog
extraction, and copyes out the GLES mustpass lists.
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5266 >
2020-06-09 18:28:18 +00:00
Eric Anholt
eca02ec44a
ci: Disable shader cache on vulkan CI runs.
...
I found it to be flaky in freedreno CI, and tracked down the issue to
parallel-deqp-runner needing to manage the shader cache
(https://gitlab.freedesktop.org/mesa/parallel-deqp-runner/-/merge_requests/13 ).
Until we fix that in the runner, disable it. This should matter less now
that we prebuild the SPIRV, though.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5266 >
2020-06-09 18:28:17 +00:00
Eric Anholt
f70030d276
ci: Bump up to the current version of the VK CTS.
...
For enabling VK CTS on freedreno, I've heard there were important
stability fixes in the CTS recently.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5266 >
2020-06-09 18:28:17 +00:00
Eric Anholt
58dd904c59
turnip: Fix crashes in compute with no descriptors to load.
...
Found when trying to rebase cheza VK CI on top of this change.
Fixes: 334204823e ("tu: Fix context faults loading unused descriptor sets")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5266 >
2020-06-09 18:28:17 +00:00
Thong Thai
b2324f4560
frontends/vdpau: Default destination rect to source rect
...
mpv is passing in a NULL destination_video_rect, which results in a
black screen when playing videos using VDPAU in some cases.
Signed-off-by: Thong Thai <thong.thai@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5386 >
2020-06-09 18:02:09 +00:00
Marek Olšák
0795241dde
radeonsi: require LLVM 11 for gfx10.3
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5383 >
2020-06-09 16:17:36 +00:00
Marek Olšák
9538b9a68e
radeonsi: add support for Sienna Cichlid
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5383 >
2020-06-09 16:17:36 +00:00
Marek Olšák
789cdab3b6
ac: align num_vgprs for gfx10.3
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5383 >
2020-06-09 16:17:36 +00:00
Marek Olšák
2cc4bfbe01
radeonsi: don't set any XNACK options on gfx10.3
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5383 >
2020-06-09 16:17:36 +00:00
Marek Olšák
430d384c31
radeonsi: set BIG_PAGE fields on gfx10.3
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5383 >
2020-06-09 16:17:36 +00:00
Marek Olšák
7edf15ad47
radeonsi: move L2_CACHE_CONTROL registers into si_emit_framebuffer_state
...
the next commit will set more fields.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5383 >
2020-06-09 16:17:36 +00:00
Marek Olšák
788696c7b2
radeonsi: implement R9G9B9E5 render target and image store support on gfx10.3
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5383 >
2020-06-09 16:17:36 +00:00
Marek Olšák
a54bcb9429
radeonsi: enable larger SDMA clears and copies on gfx10.3
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5383 >
2020-06-09 16:17:36 +00:00
Marek Olšák
c4b5fd9ab0
radeonsi: honor a user-specified pitch on gfx10.3
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5383 >
2020-06-09 16:17:36 +00:00
Marek Olšák
abe89e1329
ac/surface: add displayable DCC code for gfx10.3
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5383 >
2020-06-09 16:17:36 +00:00
Marek Olšák
a23802bcb9
ac,radeonsi: start adding support for gfx10.3
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5383 >
2020-06-09 16:17:36 +00:00
Marek Olšák
a1602516d7
ac,radeonsi: replace == GFX10 with >= GFX10 where it's needed
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5383 >
2020-06-09 16:17:36 +00:00
Marek Olšák
ceaf848c56
radeonsi: enable ARB_sparse_buffer
...
This seems to be working now, but it wasn't working before.
I don't know what fixed this. Tested on Raven and Navi14.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5402 >
2020-06-09 16:00:38 +00:00
Connor Abbott
334204823e
tu: Fix context faults loading unused descriptor sets
...
The app is allowed to never bind descriptor sets that are statically
unused by the pipeline, which would've caused a context fault since
CP_LOAD_STATE6 would try to load the descriptors that don't exist. Fix
this by not preloading descriptors from unused descriptor sets. We could
do more fine-grained accounting of which descriptors are used, but this
is enough to fix the problem.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5400 >
2020-06-09 15:35:29 +00:00
Danylo Piliaiev
a751051248
i965: Work around incorrect usage of glDrawRangeElements in UE4
...
Unreal Engine 4 has a bug in usage of glDrawRangeElements,
causing it to be called with a number of vertices in place
of "end" parameter (which specifies the maximum array index
contained in indices).
Since there is unknown amount of games affected and we
could not identify that a game is built with UE4 - we are
forced to make a blanket workaround, disregarding max_index
in range calculations. Fortunately all such calls look like:
glDrawRangeElements(GL_TRIANGLES, 0, 3, 3, ...);
So we are able to narrow down this workaround.
This was uncovered after b684030c3a
broke a bunch of UE4 games.
Cc: 20.1 <mesa-stable@lists.freedesktop.org >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2917
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5203 >
2020-06-09 15:04:35 +00:00
Connor Abbott
487aa807bd
tu: Rewrite flushing to use barriers
...
Replace the various ad-hoc flushes that we've inserted, copied from
freedreno, etc. with a unified system that uses the user-supplied
information via vkCmdPipelineBarrier() and subpass dependencies.
There are a few notable differences in behavior:
- We now move setting RB_CCU_CNTL up a little in the gmem case, but
hopefully that won't matter too much. This matches what the Vulkan blob
does.
- We properly implement delayed setting of events, completing our
implementaton of events.
- Finally, of course, we should be a lot less flush-happy. We won't emit
useless CCU/cache flushes with multiple copies, renderpasses, etc. that
don't depend on each other, and also won't flush/invalidate the cache
around renderpasses unless we actually need to.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4964 >
2020-06-09 14:40:52 +00:00
Connor Abbott
29abf49886
tu: Remove useless event_write helpers
...
tu6_emit_cache_flush() was wrongly named, and with the removal of the
last parameter both are useless.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4964 >
2020-06-09 14:40:52 +00:00
Connor Abbott
f4f6a9be9f
tu: Don't actually track seqno's for events
...
We just dropped the last user which actually cared about the seqno.
This never worked anyway, since the seqno was never reset between
multiple executions of the same command buffer. Turn the part of the
control buffer which used to track the seqno into a dummy dword, and
figure out automatically whether we need to include it. We will
implement seqnos again eventually, with timline semaphores, but that
will likely be totally different.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4964 >
2020-06-09 14:40:52 +00:00
Connor Abbott
dfb176a0ac
tu: Remove useless post-binning flushes
...
The Vulkan blob doesn't do this, and based on my understanding of how
the blob works this is unnecessary. CACHE_FLUSH is already serialized
against all 3d commands so you don't need to wait for rendering commands
to finish before issuing it, and the subsequent wfi + WAIT_FOR_ME will
cause the CP to wait for the CACHE_FLUSH to finish, so there's also no
need to wait for it to complete. The CACHE_INVALIDATE also seems
unnecessary, and also isn't done by the blob.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4964 >
2020-06-09 14:40:51 +00:00
Icecream95
18c067f9f0
panfrost: Mark PIPE_BUFFER BOs as not renderable
...
Without this, memory usage explodes by 16x due to height alignment.
Closes : #2715
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4451 >
2020-06-09 13:52:52 +00:00
Pierre-Eric Pelloux-Prayer
db57624c0c
winsys/radeon: do not cast bo->va as void*
...
Using a util_hash_table_create_ptr_keys to store bo->va address doesn't
work on 32 bits.
This commit makes radeon_drm_winsys::bo_vas a hash_table_u64 instead.
Tested by Miklós Máté.
CC: 20.1 <mesa-stable@lists.freedesktop.org >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3056
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5380 >
2020-06-09 11:28:16 +02:00
Christian Gmeiner
839bc2daa9
ci: use separate docker images for baremetal builds
...
Using arm_test-base as a separate base layer as well for storage &
network bandwidth efficiency.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5381 >
2020-06-09 06:29:30 +00:00
Christian Gmeiner
408b36a11d
ci: add arm_test-base docker image
...
Similar to x86_build-base.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5381 >
2020-06-09 06:29:30 +00:00
Samuel Pitoiset
d7923c74d4
radv/llvm: expose VK_EXT_shader_demote_to_helper_invocation with LLVM 9+
...
It should already work with the LLVM backend.
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/5361 >
2020-06-09 08:04:23 +02:00
Marek Olšák
d76e8131ac
glthread: sync in glFlush for multiple contexts
...
See the code comment.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5382 >
2020-06-09 05:07:01 +00:00
Marek Olšák
90c34aed1d
gallium/u_vbuf: add a faster path for uploading non-interleaved attribs
...
+1% higher FPS in torcs.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5304 >
2020-06-09 00:45:26 -04:00
Marek Olšák
88e8f1a38d
gallium/u_vbuf: get rid of some pointer dereferences
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5304 >
2020-06-09 00:45:23 -04:00
Ben Skeggs
a6c747e8e0
nir: use bitfield_insert instead of bfi in nir_lower_double_ops
...
NVIDIA hardware doesn't have an equivilant to bfi, but we do already have
a lowering for bitfield_insert->bfi.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5373 >
2020-06-09 08:38:22 +10:00
Jonathan Marek
7b4f0eadc1
turnip: fix VFD_CONTROL for binning pass
...
Fixes some cases with TU_DEBUG=forcebin, specifically the failures in:
dEQP-VK.glsl.*_vertex
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5370 >
2020-06-08 16:28:48 -04:00
Jonathan Marek
ab72c07aef
turnip: use common emit_xs_cntl to fill a6xx_sp_xs_ctrl_reg0
...
Note this changes the value of SP_GS_CTRL_REG0, by using FOUR_QUADS and
setting MERGEDREGS. ir3 expects MERGEDREGS, and using FOUR_QUADS instead
of TWO_QUADS doesn't seem to hurt.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5370 >
2020-06-08 16:28:43 -04:00
Jonathan Marek
e16608e233
turnip: fix HW binning with geometry shader
...
Fixes failures with TU_DEBUG=forcebin and geometry shaders, for example:
dEQP-VK.binding_model.*geometry*
dEQP-VK.transform_feedback.simple.query*
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5370 >
2020-06-08 16:23:05 -04:00
Jonathan Marek
6ac4d778fa
turnip: correctly emit non-binning vs in transform feedback case
...
The offset given to tu6_emit_shader_object was wrong, binning_vs_offset
should only be used when using the binning pass vs.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5370 >
2020-06-08 16:23:05 -04:00
Jonathan Marek
6cc95abb27
freedreno/a6xx: use nonbinning VS when GS is used
...
The current "ds = state->bs" seems broken, and the "vs = state->bs" is
unnecessary (already set above). Since it was added as part of a GS-related
patch, I think this is what was intended.
Note: tesselation disables GMEM rendering so we shouldn't have to worry
about hs/ds + binning interaction.
Fixes: 0eebedb619 ("freedreno/a6xx: Emit program state for GS")
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5370 >
2020-06-08 16:23:05 -04:00
Jonathan Marek
88d5917cc1
turnip: clamp sampler minLod/maxLod
...
Otherwise A6XX_TEX_SAMP_1_{MIN,MAX}_LOD silently overflows.
This fixes these tests:
dEQP-VK.texture.explicit_lod.2d.derivatives.*
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5375 >
2020-06-08 19:52:41 +00:00
Jonathan Marek
fecd83a0e8
turnip: update some properties based on blob driver
...
subTexelPrecisionBits/mipmapPrecisionBits change fixes some failures in:
dEQP-VK.texture.explicit_lod.*
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5375 >
2020-06-08 19:52:41 +00:00
Jonathan Marek
8c26c9eed8
turnip: move HLSQ_UPDATE_CNTL write to before xs config writes
...
This matches the blob and gallium driver more closely, and fixes a
rendering issue observed on a650.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5376 >
2020-06-08 18:08:23 +00:00
Caio Marcelo de Oliveira Filho
d1f6d2f3e8
nir: Fix logic that ends combine barrier sequence
...
The combination must stop when we see a scoped barrier that have
execution scope, i.e. it has control barrier behavior. The code was
mistakenly looking at the wrong scope.
Fixes: 345b5847b4 ("nir: Replace the scoped_memory barrier by a scoped_barrier")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5365 >
2020-06-08 15:49:24 +00:00
Caio Marcelo de Oliveira Filho
fe214d60bc
intel/fs: Add Fall-through comment
...
Just to clarify the missing break is intentional.
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5365 >
2020-06-08 15:49:24 +00:00
Caio Marcelo de Oliveira Filho
e5bb4b1ee8
spirv: Memory semantics is optional for OpControlBarrier
...
Fixes: 3ed2123d77 ("spirv: Use scoped barriers for SpvOpControlBarrier")
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5365 >
2020-06-08 15:49:24 +00:00
Caio Marcelo de Oliveira Filho
b7a3821a5c
nir: Fix printing execution scope of a scoped barrier
...
Fixes: 345b5847b4 ("nir: Replace the scoped_memory barrier by a scoped_barrier")
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5365 >
2020-06-08 15:49:24 +00:00
Christian Gmeiner
7ec2582087
etnaviv: drop translate_blend(..)
...
PIPE_BLEND_* matches 1:1 the hardware defines.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4187 >
2020-06-08 15:35:13 +00:00
Danylo Piliaiev
9f1cf0e491
glsl: inline functions with unsupported return type before converting to nir
...
glsl_to_nir doesn't expect non-vector/scalar return types in functions.
Fixes: 7e60d5a501
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3058
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3060
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Tested-by: Witold Baryluk <witold.baryluk@gmail.com >
Reviewed-by: Witold Baryluk <witold.baryluk@gmail.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5333 >
2020-06-08 15:01:50 +00:00
Rhys Perry
43e69475ad
aco: use v_xor3_b32
...
fossil-db (Navi):
Totals from 334 (0.26% of 128321) affected shaders:
CodeSize: 3345532 -> 3345484 (-0.00%); split: -0.00%, +0.00%
Instrs: 624662 -> 622778 (-0.30%); split: -0.30%, +0.00%
Mostly affects some parallel-rdp shaders
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/5357 >
2020-06-08 13:20:01 +00:00
Rhys Perry
1234faa7bf
ac/gpu_info, radv: set max_wave64_per_simd to 20 on GFX10
...
Fixes RADV max_waves reporting for GFX10
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5356 >
2020-06-08 10:26:59 +00:00
Samuel Pitoiset
86f21e4eba
nir/lower_explicit_io: fix NON_UNIFORM access for UBO loads
...
Make sure to propagate the NON_UNIFORM access for UBO loads, so
that non-uniform loads are correctly lowered.
Cc: <mesa-stable@lists.freedesktop.org >
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5311 >
2020-06-08 07:35:43 +00:00
Arcady Goldmints-Orlov
b38d3cdcea
nir/spirv/glsl450: increase asin(x) precision
...
asin(x) is now implemented using a piecewise approximation, which
improves the precision for |x| < 0.5
Previously, we were using a polynomial approximation for both the
asin() and acos() functions. Unfortunately, for asin(), this polynomial
does not have enough precision to satisfy the Vulkan CTS requiremenents,
which define the asin() precision based on the precision of
atan2(x, sqrt(1.0 - x*x)). The piecewise approximation gives the needed
precision in the problematic range.
v2: Skip the piecewise approximation for acos
Closes : #1843
Acked-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3809 >
2020-06-08 07:10:17 +00:00
Samuel Pitoiset
008b0d1701
ac/nir: adjust an assertion for D16 on GFX6-GFX7
...
16-bit types can be used with MUBUF on GFX6-GFX7.
Fixes: c3e0ba52a0 ("ac/nir: support 16-bit data in buffer_load_format opcodes")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5325 >
2020-06-08 08:45:32 +02:00
Peter Seiderer
b3beb6207f
v3d_bufmgr: fix time_t printf
...
Fixes:
error: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘time_t’ {aka ‘long long int’}
Signed-off-by: Peter Seiderer <ps.report@gmx.net >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4279 >
2020-06-07 18:08:47 +02:00
Peter Seiderer
d512028d06
pan_bo.h: add time.h include for time_t
...
Fixes:
../src/gallium/drivers/panfrost/pan_bo.h:93:9: error: unknown type name ‘time_t’
Signed-off-by: Peter Seiderer <ps.report@gmx.net >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4279 >
2020-06-07 18:08:17 +02:00
Peter Seiderer
07ba5e47e6
vc4_bufmgr: fix time_t printf
...
Fixes:
error: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘time_t’ {aka ‘long long int’}
Signed-off-by: Peter Seiderer <ps.report@gmx.net >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4279 >
2020-06-07 18:07:47 +02:00
Timothy Arceri
e43ab7bb05
glsl: fix potential slow compile times for GLSLOptimizeConservatively
...
See code comment for full description of the change.
Fixes: 0a5018c1a4 ("mesa: add gl_constants::GLSLOptimizeConservatively")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3034
Tested-by: Witold Baryluk <witold.baryluk@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5346 >
2020-06-07 03:28:30 +00:00
Charmaine Lee
dd81f4853c
llvmpipe: do not enable tessellation shader without llvm coroutines support
...
Tessellation shader in llvmpipe depends on llvm coroutines support. So do not
advertise tessellation shader support in llvmpipe if GALLIVM_HAVE_CORO is FALSE.
This fixes assertion in LLVMTokenTypeInContext() running tessellation shader
tests with llvm version < 6.
Fixes: eb522717 "llvmpipe: add support for tessellation shaders"
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5366 >
2020-06-06 22:45:21 +00:00
Marcin Ślusarz
990b3782bc
intel/compiler: fix Android build
...
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Fixes: 689acc7398 ("intel/compiler: Extract control barriers from scoped barriers")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3087
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5354 >
2020-06-06 18:42:03 +00:00
Vinson Lee
6a841dbf4e
intel/genxml: Migrate from deprecated xml.etree.ElementTree getchildren.
...
xml.etree.ElementTree getchildren was deprecated since Python 2.7 and
will be removed in Python 3.9.
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5348 >
2020-06-06 08:20:13 +00:00
Mauro Rossi
06650a771d
android: svga: fix build for GL4.1 support
...
Fixes the following building errors:
external/mesa/src/gallium/drivers/svga/svga_context.c:184: error: undefined reference to 'svga_init_ts_functions'
external/mesa/src/gallium/drivers/svga/svga_context.c💯 error: undefined reference to 'svga_cleanup_tcs_state'
out/target/product/x86_64/obj_x86/STATIC_LIBRARIES/libmesa_pipe_svga_intermediates/libmesa_pipe_svga.a(svga_state.o):svga_state.c:hw_draw_state_sm5: error: undefined reference to 'svga_hw_tes'
out/target/product/x86_64/obj_x86/STATIC_LIBRARIES/libmesa_pipe_svga_intermediates/libmesa_pipe_svga.a(svga_state.o):svga_state.c:hw_draw_state_sm5: error: undefined reference to 'svga_hw_tcs'
Fixes: ccb4ea5a "svga: Add GL4.1(compatibility profile) support in svga driver"
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com >
Reviewed-by: Charmaine Lee <charmainel@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5364 >
2020-06-06 09:32:25 +02:00
Mauro Rossi
0570c7a7b5
android: util: fix build for GL4.1 support
...
Fixes the following building errors:
external/mesa/src/gallium/drivers/svga/svga_state_tgsi_transform.c:154: error: undefined reference to 'tgsi_write_vpos'
external/mesa/src/gallium/drivers/svga/svga_state_tgsi_transform.c:201: error: undefined reference to 'tgsi_remove_dynamic_indexing'
Fixes: 48a7456f ("util: Add util functionality for GL4.1 support")
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com >
Reviewed-by: Charmaine Lee <charmainel@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5364 >
2020-06-06 09:32:19 +02:00
Vinson Lee
faa339e666
Switch from cElementTree to ElementTree.
...
The xml.etree.cElementTree module will be removed in Python 3.9. Since
Python 3.3 the xml.etree.cElementTree module has been deprecated, the
xml.etree.ElementTree module uses a fast implementation whenever
available.
Builds using Python 2.7 can still work but with the slower
implementation.
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Acked-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5349 >
2020-06-05 23:42:54 -07:00
Icecream95
a61532e4db
Revert "panfrost: Keep cached BOs mmap'd"
...
This reverts commit 794c239a99 .
A kernel bug causes cached BOs to not be unmapped correctly,
triggering "bad page cache" kernel messages and causing short hangs.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5355 >
2020-06-05 23:51:32 +00:00
Icecream95
d97aaad155
pan/midgard: Use a signed value for checking inline constants
...
Inline constants are sign extended, so we should use a int16_t instead
of an unsigned type.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5351 >
2020-06-05 22:51:45 +00:00
Eric Anholt
0bacb280a8
freedreno/ir3: Handle cases where we decide not to lower UBO 0 loads.
...
We advertize 4096 vec4s of GL uniform storage, but the HW can only store
512 vec4s in the const buffer.
Closes : #3049
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5273 >
2020-06-05 13:43:30 -07:00
Eric Anholt
e349f50279
freedreno/ir3: Drop the max_const on a6xx to 512.
...
The GLES blob on the p3a limits constlen to 512 between VS and FS across
a6xx gpu ids (615, 630, 640, and 650). Experimentally, exceeding that
limit in any one stage results in rendering corruption or GPU hangs
(though my most detailed testing had a loop limit in a uniform, so that
may the cause of the hang). Clamp the limit we use inside of a shader so
we don't exceed it within a stage.
This commit doesn't resovle limiting inter-stage. Experimentally, I've
found that I can push up to a total of ~768 vec4s between VS and FS on
a630, with or without uniform updates between each draw. We'll need to do
some shader key-based limiting of constlen at draw time to respect that
limit, but that's left for future work, and this commit is enough for the
google earth case that initiated this work.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5273 >
2020-06-05 13:36:29 -07:00
Eric Anholt
486b894307
freedreno/ir3: Account for driver params in UBO max const upload.
...
The const state setup needs to be able to push its driver params, so
account for them in the analyze_ubo_ranges.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5273 >
2020-06-05 13:36:29 -07:00
Eric Anholt
a25347ab92
freedreno/ir3: Stop shifting UBO 1 down to be UBO 0.
...
It turns out the GL uniforms file is larger than the hardware constant
file, so we need to limit how many UBOs we lower to constbuf loads. To do
actual UBO loads, we'll need to be able to upload UBO 0's pointer or
descriptor.
No difference on nohw 1 UBO update drawoverhead case (n=35).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5273 >
2020-06-05 13:36:29 -07:00
Eric Anholt
9e58ab09ff
freedreno/ir3: Drop unnecessary alignment of pushed UBO size.
...
The analysis pass gives us vec4-aligned size, and all of our other
constbuf allocations here are in vec4 units, so we can just divide by 16.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5273 >
2020-06-05 13:36:29 -07:00
Eric Anholt
07ec745014
freedreno/ir3: Stop pushing immediates once we've filled the constbuf.
...
If we filled the constbuf up with UBOs, we may need to avoid generating
more immediate push constants.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5273 >
2020-06-05 13:36:29 -07:00
Eric Anholt
ab29f2da42
freedreno/ir3: Refactor ir3_cp's lower_immed().
...
There was duplicated handling in the callers that we can just move inside.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5273 >
2020-06-05 13:36:29 -07:00
Eric Anholt
4065861807
freedreno: Upload gallium constbufs as needed when referenced as a UBO.
...
For now we never ask to set up UBO 0 as a real UBO, so this doesn't
trigger, but it gets us ready for handling the case where UBO 0 is too big
to be push constants in the HW.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5273 >
2020-06-05 13:36:29 -07:00
Eric Anholt
d1f9d1e26a
freedreno/a6xx: Add support for ALPHA_TO_ONE.
...
Fixes piglit ext_framebuffer_multisample-draw-buffers-alpha-to-one
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5343 >
2020-06-05 18:11:22 +00:00
Eric Anholt
ac1ab9294a
turnip: Add support for alphaToOne.
...
Comparing a blob trace using the feature to one not, the difference was
pretty obvious and in the spot you'd expect compared to alphaToCoverage.
The SP_ reg didn't have a corresponding bit set, though it also has an
alphaToCoverage.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5343 >
2020-06-05 18:11:22 +00:00
Eric Anholt
79f3003445
turnip: Use tu_cs_emit_regs() for BLEND_CONTROL.
...
Just a cleanup since I was in the area.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5343 >
2020-06-05 18:11:22 +00:00
Rhys Perry
5d13c7477e
radv: set keep_statistic_info with RADV_DEBUG=shaderstats
...
Needed for RADV_DEBUG=shaderstats to dump ACO statistics.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5358 >
2020-06-05 15:11:01 +00:00
Eric Engestrom
981d07c74a
intel: fix gen_sort_tags.py
...
The script was failing for me (python 3.8), not sure if this is a recent
python version break or not as I don't know how often people have been
running this script:
Processing ./gen9.xml... Traceback (most recent call last):
File "./gen_sort_tags.py", line 177, in <module>
main()
File "./gen_sort_tags.py", line 170, in main
genxml[:] = enums + sorted_structs.values() + instructions + registers
TypeError: can only concatenate list (not "odict_values") to list
Turning the odict into a list fixes it for me, and the resulting xml
file are identical to before :)
Fixes: 903e142f0d ("genxml: add a sorting script")
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5352 >
2020-06-05 14:31:13 +00:00
Samuel Pitoiset
bfff330f06
radv/aco: enable VK_KHR_shader_subgroup_extended_types on GFX6-GFX7
...
CTS pass on Pitcairn (GFX6). This extension isn't really useful
without 8-bit/16-bit storage though but this is going to be exposed
soon.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5327 >
2020-06-05 16:04:08 +02:00
Samuel Pitoiset
6391f9ab4c
aco: fix nir_intrinsic_quad_* with 8-bit in GFX6-GFX7
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5327 >
2020-06-05 16:04:06 +02:00
Samuel Pitoiset
e1523b34c2
aco: fix sign-extend 8-bit subgroup operations on GFX6-GFX7
...
SDWA is GFX8+.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5327 >
2020-06-05 16:04:05 +02:00
Samuel Pitoiset
ee4bc13de2
aco: use v_bfe_u32 for unsigned reductions sign-extension on GFX6-GFX7
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5327 >
2020-06-05 16:04:03 +02:00
Eric Engestrom
a874132cc4
intel/genxml: drop sort_xml.sh and move the loop directly in gen_sort_tags.py
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5353 >
2020-06-05 13:44:18 +00:00
Bas Nieuwenhuizen
c67ef7695a
radv: Use ac_surface to allocate aux surfaces.
...
For consistency and a bunch of codesharing.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5194 >
2020-06-05 13:27:55 +00:00
Bas Nieuwenhuizen
63db31fdfc
amd/common: Add total alignment calculation.
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5194 >
2020-06-05 13:27:55 +00:00
Bas Nieuwenhuizen
f70b577683
radv: Allocate values/predicates at the end of the image.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5194 >
2020-06-05 13:27:55 +00:00
Bas Nieuwenhuizen
ec671e8718
radv: Disable HTILE in ac_surface.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5194 >
2020-06-05 13:27:55 +00:00
Bas Nieuwenhuizen
f84b4e2639
radv: Disable DCC in ac_surface.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5194 >
2020-06-05 13:27:55 +00:00
Bas Nieuwenhuizen
81dee6cf8f
radv: Use offsets in surface struct.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5194 >
2020-06-05 13:27:55 +00:00
Bas Nieuwenhuizen
ffae3589c9
radv: Rely on ac_surface for avoiding cmask for linear images.
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5194 >
2020-06-05 13:27:55 +00:00
Bas Nieuwenhuizen
b5488a863c
radv: Enforce the contiguous memory for DCC layers in ac_surface.
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5194 >
2020-06-05 13:27:55 +00:00
Bas Nieuwenhuizen
d3db633f6d
radv: Pass no_metadata_planes info in to ac_surface.
...
Also do not allocate aux surfaces for multi-plane images. I may
have messed up and used plane 1 offsets for the other planes as well.
I cannot imagine that sharing aux surfaces between the planes will
work well.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5194 >
2020-06-05 13:27:55 +00:00
Bas Nieuwenhuizen
599ea341dd
radv: Use ac_surface to determine fmask enable.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5194 >
2020-06-05 13:27:55 +00:00
Christian Gmeiner
4b7de75b4b
ci: add U-Boot specific fetch strings
...
U-Boot's fastboot over udp generates the following output:
Listening for fastboot command on x.y.z.w
Also add a general 'data abort' error string seen with an
too old U-Boot version:
https://github.com/u-boot/u-boot/commit/95712af
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5258 >
2020-06-05 11:02:35 +00:00
Christian Gmeiner
06d8171994
ci: extend expect-output.sh
...
We need to support different fastboot fetch strings for different
bootloader solutions. Lets extend expect-output.sh to support
multiple fetch strings (-f) and add support for error catch
strings (-e) to stop the CI run early.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5258 >
2020-06-05 11:02:35 +00:00
Rob Clark
ef5b8bbc5e
freedreno/computerator: fix missing dependency on generated header
...
Fixes:
```
../mesa-freedreno-20.2.0_pre/src/freedreno/computerator/ir3_asm.c:25:10: fatal error: 'ir3/ir3_parser.h' file not found
#include "ir3/ir3_parser.h"
^~~~~~~~~~~~~~~~~~
1 error generated.
```
Fixes: da467817e3 ("freedreno/ir3: Move ir3 assembler to backend compiler")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5340 >
2020-06-05 09:48:47 +00:00
Eric Engestrom
7a68045b5d
glapi: remove deprecated .getchildren() that has been replace with an iterator
...
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3086
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Vinson Lee <vlee@freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5342 >
2020-06-05 09:16:13 +00:00
Samuel Pitoiset
c9a9b363ce
radv/aco: enable 64-bit atomic features if RADV is linked with LLVM 8
...
Just in case someone links RADV with this old LLVM 8 and wants ACO.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5331 >
2020-06-05 07:40:29 +00:00
Neha Bhende
ba37d408da
svga: Performance fixes
...
This is a squash commit of in house performance fixes and misc bug fixes
for GL4.1 support.
Performance fixes:
* started using system memory for constant buffer to gain 3X performance boost with metro redux
Misc bug fixes:
* fixed usage of vertexid in shader
* added empty control point phase in hull shader for zero ouput control point
* misc shader signature fixes
* fixed clip_distance input declaration
* clearing the dirty bit for the surface while using direct map if surface is already flushed
and there is no pending primitive
This patch also uses SVGA_RETRY macro for commands retries. Part of it is already
used in previous patch.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Charmaine Lee <charmainel@vmware.com >
Signed-off-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5317 >
2020-06-05 06:36:54 +00:00
Neha Bhende
ccb4ea5a43
svga: Add GL4.1(compatibility profile) support in svga driver
...
This patch is a squash commit of a very long in-house patch series.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Charmaine Lee <charmainel@vmware.com >
Signed-off-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5317 >
2020-06-05 06:36:54 +00:00
Neha Bhende
52ce25be87
svga/include: Headers for GL4.1 support
...
This brings in the new types, enums and #defines for GL 4.1
features in the virtual device.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Charmaine Lee <charmainel@vmware.com >
Signed-off-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5317 >
2020-06-05 06:36:54 +00:00
Neha Bhende
dc3505f87e
winsys/drm: Add GL4.1 support in drm winsys
...
This is to check whether virtual hardware has SM5 support
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Charmaine Lee <charmainel@vmware.com >
Signed-off-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5317 >
2020-06-05 06:36:54 +00:00
Neha Bhende
48a7456f4d
util: Add util functionality for GL4.1 support
...
This patch adds the following tgsi utilities
* tgsi_dynamic_indexing: This utility flattens out the dyanamic indexing of constant buffers
* tgsi_vpos: This utility writes zeros to position at index 0 in vertex shader.
This utility can be used if there is no shader output in vertex shader
* util_make_tess_ctrl_passthrough_shader: This adds passthough tessellation control shader.
Input of passthrough tess ctrl shader is output of vertex shader
and output is input of tessellation eval shader.
If program has tessellation eval shader but no tessellation control shader,
this utility can be used to create passthrough tessellation control shader.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Charmaine Lee <charmainel@vmware.com >
Signed-off-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5317 >
2020-06-05 06:36:54 +00:00
Rob Clark
f1f81abfd4
freedreno/a6xx: more early-z
...
Technically we only have to do late-z in the alpha-test or discard case
if depth-write is enabled. If depth write is disabled, the depth read /
test / conditional-write interlock that we need to emulate is not a
problem, so we can still use early-z test.
There is a slightly weird case when there is no zsbuf attachment (see
dEQP-GLES31.functional.fbo.no_attachments.*) where the hw wants us to
use LATE_Z.. not entirely sure if this is an interaction with occlusion
query or just a pecularity of how the hw works when there is no depth
buffer.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5336 >
2020-06-05 00:57:44 +00:00
Dave Airlie
4d7ee2749f
ci: bump virglrenderer to latest version
...
Need this for upcoming GL 4.0 llvmpipe support.
Reviewed-by: Elie Tournier <elie.tournier@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5323 >
2020-06-04 20:05:26 +00:00
Eric Anholt
ec98cff6a9
turnip: Simplify vertex buffer bindings.
...
We were remapping the bindings so the HW binding points were consecutive,
which there's no need for. Now that we don't shuffle, we can mostly drop
the dependency on the pipeline for this SDS.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5321 >
2020-06-04 19:42:54 +00:00
Eric Anholt
5c9728d960
turnip: Don't bother clamping VB size.
...
From the VK spec: "All elements of pOffsets must be less than the size of
the corresponding element in pBuffers"
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5321 >
2020-06-04 19:42:54 +00:00
Eric Anholt
52942f18c6
turnip: Move vertex buffer bindings to SET_DRAW_STATE.
...
This means that the HW can skip over the vertex buffer state when it's not
used in a bin. The blob also has this behavior.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5321 >
2020-06-04 19:42:54 +00:00
Dave Airlie
c8c7450fc7
llvmpipe: move coroutines out of noopt case
...
the virgl CI code was using the noopt path and crashing with a
wierd can't select llvm.coro.subfn.addr error, turns out we have
to call the cleanup pass no matter what.
This enable a lot more virgl gles31 passes, but we have
to disable tessellation shaders as now they executed, they
crash due to missing OES_gpu_shader5, I should try and reenable
them when llvmpipe is further along
Fixes: d32690b43c ("gallivm: add coroutine pass manager support")
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Acked-by: Elie Tournier <elie.tournier@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5320 >
2020-06-04 19:08:34 +00:00
Alyssa Rosenzweig
2d1688345a
pan/mdg: Ensure ld_vary_16 is aligned
...
Otherwise packing may fail.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Fixes: 5f8dd413bc ("pan/mdg: Handle 16-bit ld_vary")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5339 >
2020-06-04 17:46:45 +00:00
Kristian H. Kristensen
de8be1de13
freedreno/a6xx: Fix VFD_CONTROL emit
...
The FETCH_CNT field isn't actually the FETCH count. We don't have a
lot of data where it's different from DECODE_CNT, so there's not much
to go by. It could be number of VFD_DEST_CNTL or maybe DECODE_CNT for
binning. For now, setting both to number of DEST_CNTL gets Google
Earth working again.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5324 >
2020-06-04 15:50:41 +00:00
Clément Guérin
202252566b
radv: Always expose non-visible local memory type on dedicated GPUs
...
DOOM Eternal expects this type, but RADV doesn't expose it when the VRAM
is entirely host-visible, in my case on Fiji. Matches AMDVLK behavior.
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/3054
Cc: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5308 >
2020-06-04 15:16:30 +00:00
Alyssa Rosenzweig
622e3a8510
pan/mdg: Legalize inverts with constants
...
We need to force src_invert to be in the right place even if we flip
when lowering an embedded->inline constant.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Fixes: 449e5ded93 ("pan/mdg: Treat inot as a modifier")
Reported-by: Icecream95 <ixn@keemail.me >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5299 >
2020-06-04 13:17:11 +00:00
Erik Faye-Lund
e61a98877c
nir: reuse existing psiz-variable
...
For shaders where there's already a psiz-variable, we should rather
reuse it than create a second one. This can happen if a shader writes
gl_PointSize, but disables GL_PROGRAM_POINT_SIZE.
Fixes: 878c94288a ("nir: add lowering-pass for point-size mov")
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5328 >
2020-06-04 09:12:54 +00:00
Lionel Landwerlin
57e4d0aa1c
i965: fix export of GEM handles
...
We reuse DRM file descriptors internally. Therefore when we export a
GEM handle we must do so in the file descriptor used externally.
v2: Fix dmabuf leak
Fix GEM handle leaks by tracking exported handles
v3: Check os_same_file_description error (Michel)
Don't create multiple exports for a given GEM table
v4: Add WARN_ONCE (Ken)
v5: Remove blank line (Ian)
Remove unused field (Ian)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2882
Fixes: 4094558e86 ("i965: share buffer managers across screens")
Tested-by: Eric Engestrom <eric@engestrom.ch >
Tested-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4861 >
2020-06-04 07:31:38 +00:00
Lionel Landwerlin
aba3aed96e
iris: fix export of GEM handles
...
We reuse DRM file descriptors internally. Therefore when we export a
GEM handle we must do so in the file descriptor used externally.
This change also fixes a file descriptor leak of the FD given at
screen creation.
v2: Don't bother checking fd equals, they're always different
Fix dmabuf leak
Fix GEM handle leaks by tracking exported handles
v3: Check os_same_file_description error (Michel)
Don't create multiple exports for a given GEM table
v4: Add WARN_ONCE (Ken)
Rename external_fd to winsys_fd
v5: Remove export lock in favor of bufmgr's
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2882
Fixes: 7557f16059 ("iris: share buffer managers accross screens")
Tested-by: Eric Engestrom <eric@engestrom.ch >
Tested-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4861 >
2020-06-04 07:31:38 +00:00
Lionel Landwerlin
e41e820648
i965: don't forget to set screen on duped image
...
We'll start using this field more for querying image properties.
Without it we run into a crash.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4861 >
2020-06-04 07:31:38 +00:00
Lionel Landwerlin
604a86e46f
iris: fix BO destruction in error path
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: <mesa-stable@lists.freedesktop.org >
Tested-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4861 >
2020-06-04 07:31:38 +00:00
Vinson Lee
c3025bde19
mesa: Fix NetBSD compiler macro.
...
Reported-by: Rafał Mikrut <mikrutrafal54@gmail.com >
Fixes: a63b90712a ("mesa: also check for __NetBSD__")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3015
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5191 >
2020-06-03 21:09:54 -07:00
Rob Clark
e9cda38031
freedreno/a6xx: also consider alpha-test for ztest-mode
...
Looks like we don't have CI coverage for this (since deqp==GLES) but
alpha test is conceptually the same as frag shaders with discard, and
should be handled as such.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5298 >
2020-06-04 02:34:54 +00:00
Rob Clark
1e3731e711
freedreno/a6xx: add early-lrz-late-z mode
...
Now that we are doing a better job of managing LRZ, add support for the
EARLY_LRZ_LATE_Z mode. Since we properly disable LRZ write in cases
where we don't know a fragment's z value during the binning pass (or
when blend is enabled in a later draw, meaning we will need the earlier
fragment's color), we can enable a mode that keeps the early-lrz test
when the frag shader has kill/discard. This will only discard geometry
that is definitely not visible.
This is a pretty big win for games/benchmarks that have a lot of frag
shaders with kill/discard. More than 10% gain for gfxbench trex/mh and
40% gain for mh31.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5298 >
2020-06-04 02:34:54 +00:00
Rob Clark
07887c9f34
freedreno/a6xx: re-work LRZ state tracking
...
In particular, properly detect reversal of depth-test direction.
With that we can remove a lot of cases where we were unnecessarily
invalidating LRZ, which was simply papering over the direction-
reversal issue in deqp.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5298 >
2020-06-04 02:34:54 +00:00
Rob Clark
27e501bcfc
freedreno/a6xx: update depth-plane control regs
...
And document the early-lrz-late-z mode.
Initially I thought this would be two bits to control early-lrz vs
early-z. But having early-z without early-lrz does not make sense,
and the way the values line up makes an enum fit better.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5298 >
2020-06-04 02:34:54 +00:00
Rob Clark
f6307426ed
freedreno/a6xx: sync registers from envytools
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5298 >
2020-06-04 02:34:54 +00:00
Rob Clark
ebcf3545db
freedreno/ir3: split kill from no_earlyz
...
Unlike other conditions which prevent early-discard of fragments, kill
does not prevent early LRZ test. Split `has_kill` from `no_earlyz` so
we can take advantage of this.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5298 >
2020-06-04 02:34:54 +00:00
Kristian H. Kristensen
346bb81f40
docs/features.txt: Update for freedreno
...
We've had GL_OES_texture_cube_map_array for a while for a4xx+ and
support for geometry and tessellation for a6xx+.
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5319 >
2020-06-04 00:56:20 +00:00
Kristian H. Kristensen
5fb7cad95c
freedreno/a6xx: Turn on robustness extensions
...
With UBO access going through LDC, all memory access uses buffer based
io primitives. We can then advertise
PIPE_CAP_ROBUST_BUFFER_ACCESS_BEHAVIOR and
PIPE_CAP_DEVICE_RESET_STATUS_QUERY, which turn on GL_EXT_robustness,
GL_KHR_robust_buffer_access_behavior and GL_KHR_robustness.
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5319 >
2020-06-04 00:56:20 +00:00
Vinson Lee
8b353524b0
vdpau: Fix wrong calloc sizeof argument.
...
Fix warning reported by Coverity Scan.
Wrong sizeof argument (SIZEOF_MISMATCH)
suspicious_sizeof: Passing argument 3544UL (sizeof
(vlVdpPresentationQueue)) to function calloc that returns a pointer of
type vlVdpPresentationQueueTarget * is suspicious because a multiple of
sizeof (vlVdpPresentationQueueTarget) /*16*/ is expected.
Fixes: 65fe0866ae ("vl: implemented a few functions and made stubs to get mplayer running")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3026
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5182 >
2020-06-03 17:01:47 -07:00
Francisco Jerez
8252bb0ec6
OPTIONAL: iris: Perform BLORP buffer barriers outside of iris_blorp_exec() hook.
...
The iris_blorp_exec() hook needs to be executed under a single
indivisible sync region, which means that in cases where we need to
emit a PIPE_CONTROL for a buffer barrier we won't be able to track the
subsequent commands separately from the previous commands, which will
prevent us from optimizing out subsequent PIPE_CONTROLs if we
encounter the same buffers again. In particular I've encountered this
situation in some SynMark test-cases which perform lots of BLORP
operations with the same buffer bound as both source and destination
(in order to generate mipmaps): In such a scenario if the source
requires flushing we'd also end up flushing for the destination
redundantly, even though a single PIPE_CONTROL would have been
sufficient.
This avoids a 4.5% FPS regression in SynMark OglHdrBloom and a 3.5%
FPS regression in SynMark OglMultithread.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3875 >
2020-06-03 23:12:22 +00:00
Francisco Jerez
4b00338bde
iris: Remove iris_flush_depth_and_render_caches().
...
This helper is unused now.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3875 >
2020-06-03 23:12:22 +00:00
Francisco Jerez
46adb83a29
iris: Emit single render target flush PIPE_CONTROL on format mismatch.
...
The big-hammer iris_flush_depth_and_render_caches() is largely
redundant whenever a format mismatch is detected from
iris_cache_flush_for_render(). There is no need to kick the depth,
sampler nor constant caches in that case.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3875 >
2020-06-03 23:12:22 +00:00
Francisco Jerez
b928188493
iris: Open-code iris_cache_flush_for_read() and iris_cache_flush_for_depth().
...
These have become one-liners now so they can be easily inlined.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3875 >
2020-06-03 23:12:22 +00:00
Francisco Jerez
74c774dce9
iris: Remove render cache hash table-based synchronization.
...
The render cache hash table is now *mostly* redundant with the more
general seqno matrix-based cache tracking mechanism. Most hash table
operations are now gone except for the format mismatch checks done in
iris_cache_flush_for_render(). Redundant code removed as a separate
patch for bisectability.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3875 >
2020-06-03 23:12:22 +00:00
Francisco Jerez
aa78d05a23
iris: Remove depth cache set tracking and synchronization.
...
The depth cache set is now redundant with the more general seqno
matrix-based cache tracking mechanism. Removed as a separate patch
for bisectability.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3875 >
2020-06-03 23:12:22 +00:00
Francisco Jerez
6b98072511
iris: Perform compute predraw flushes from compute batch.
...
Whenever iris_predraw_resolve_inputs() ends up doing a flush or
invalidate, we really want it to be on the same batch which is going
to consume the result. Any resolves should still be performed from
the render batch thanks to the previous patch.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3875 >
2020-06-03 23:12:22 +00:00
Francisco Jerez
8e8198f349
iris: Remove batch argument of iris_resource_prepare_access() and friends.
...
The resolves performed by this function are only expected to work from
the render batch, so make sure we use it independently of the batch
the caller wants to use. This function provides no synchronization
guarantees anyway, the caller is expected to insert any cache flushing
and synchronization required for the resolved surface to be visible to
the target batch.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3875 >
2020-06-03 23:12:22 +00:00
Francisco Jerez
878c770d13
iris: Insert buffer barrier in existing cache flush helpers.
...
As a first step to phasing out the current hashtable-based depth and
render cache tracking mechanisms.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3875 >
2020-06-03 23:12:22 +00:00
Francisco Jerez
e226590898
iris: Implement buffer-local memory barrier based on cache coherency matrix.
...
This takes advantage of the previously introduced cache tracking
infrastructure in order to define a multi-purpose barrier operation
that allows the caller to order memory operations with respect to
previous operations performed on the same buffer from any other cache
domain.
v2: Assorted CPU overhead micro-optimizations (Francisco).
v3: Use C99 designated initializers (Ken).
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3875 >
2020-06-03 23:12:22 +00:00
Francisco Jerez
8a6349eb86
iris: Update cache coherency matrix on PIPE_CONTROL.
...
This introduces a batch synchronization boundary at every PIPE_CONTROL
command, and updates the cache coherency status tracked during batch
construction according to the specified control bits.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3875 >
2020-06-03 23:12:22 +00:00
Francisco Jerez
fc221875cf
iris: Introduce cache coherency matrix for batch-local memory ordering.
...
This introduces a representation of the cache coherency status of the
GPU at any point in the batch. This is done by defining a matrix C of
synchronization sequence numbers such that at any point of batch
construction, a memory operation from domain i introduced into the
batch is guaranteed to be ordered after any memory operation from
domain j in a previous batch section with seqno n if the following
condition holds:
C_i_j >= n
This allows us to efficiently determine whether additional flushing
and/or invalidation is required in order to access a buffer object
from some arbitrary domain.
Except for batch buffer reset which requires clearing the whole
matrix, all operations on the matrix are either O(n) or O(1) on the
number of caching domains (which is basically constant).
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3875 >
2020-06-03 23:12:22 +00:00
Francisco Jerez
4b7fd91be6
iris: Report use of any in-flight buffers on first draw call after sync boundary.
...
This is the main performance trade-off of this cache tracking
mechanism: In order for the seqno vector of buffer objects to be
accurate, they need to be marked as used again every time the batch is
split into a new synchronization section if they remain bound to the
pipeline. This can be achieved easily by re-using
iris_restore_render_saved_bos() and iris_restore_compute_saved_bos(),
which currently serve a similar purpose across batch buffer
boundaries.
The impact on Piglit drawoverhead results seems to be within a
standard deviation of the current results.
XXX - It might be possible to completely remove the current
iris_batch::contains_draw flag at a small additional performance
cost.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3875 >
2020-06-03 23:12:22 +00:00
Francisco Jerez
ae88e79f69
iris: Drop redundant iris_address::write flag.
...
The write flag is redundant since it can be inferred easily from the
iris_address::access domain. This allows the iris_address struct to
be laid out more efficiently in memory, leading to a measurable
improvement in several Piglit Drawoverhead test-cases.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3875 >
2020-06-03 23:12:22 +00:00
Francisco Jerez
eb5d1c2722
iris: Annotate all BO uses with domain and sequence number information.
...
Probably the most annoying patch to review from the whole series --
Mark every buffer object use as accessed through some caching domain
with the sequence number of the current synchronization section of the
batch. The additional argument of iris_use_pinned_bo() makes sure I'd
have gotten a compile error if I had missed any buffer added to the
batch validation list.
There are only a few exceptions where a buffer is left untracked while
adding it to the validation list, justified below:
- Batch buffers: These are strictly read-only for the moment.
- BLORP buffer objects: Their seqnos are bumped manually at the end
of iris_blorp_exec() instead, in order to avoid plumbing domain
information through BLORP address combining.
- Scratch buffers: The contents of these are strictly thread-local.
- Shader images and SSBOs: Accesses of these buffers are explicitly
synchronized at the API level.
v2: Opt out of tracking more aggressively (Ken): In addition to the
above, surface states, binding tables, instructions and most
dynamic states are now left untracked, which means a *lot* more BO
uses marked IRIS_DOMAIN_NONE which need to be reviewed extremely
carefully, since the cache tracker won't be able to provide any
coherency guarantees for them.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3875 >
2020-06-03 23:12:22 +00:00
Francisco Jerez
e81c07de41
iris: Bracket batch operations which access memory within sync regions.
...
This delimits all batch operations which access memory between
iris_batch_sync_region_start() and iris_batch_sync_region_end() calls.
This makes sure that any buffer objects accessed within the region are
considered in use through the same caching domain until the end of the
region.
Adding any buffer to the batch validation list outside of a sync
region will lead to an assertion failure in a future commit, unless
the caller explicitly opted out of the cache tracking mechanism.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3875 >
2020-06-03 23:12:22 +00:00
Francisco Jerez
8cbe953548
iris: Add infrastructure to partition batch into sync boundaries.
...
This introduces some minimalistic infrastructure which will be used in
order to partition the batch into a series of sections, each one with
a unique, monotonically-increasing sequence number. Section
boundaries will typically lie at points in the batch where the
execution and memory coherency status of some previous commands are
known, e.g. at batch buffer boundaries or PIPE_CONTROL commands.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3875 >
2020-06-03 23:12:22 +00:00
Francisco Jerez
7878cbec59
iris: Add batch-local synchronization book-keeping to iris_bo.
...
The purpose of this is to represent the cache coherency state of a
buffer as a vector of integers (AKA seqnos), one for each incoherent
caching domain of the GPU. A seqno will identify a single section of
a batch buffer uniquely across the whole pipe_screen (which means that
there will be no ambiguity about what context a given seqno belongs to
even if there are multiple threads accessing the same buffer in
parallel), and is guaranteed to be allocated in monotonically
increasing order within any given context. The iris_bo_bump_seqno()
helper is provided for marking the last update of a buffer from a
given caching domain in a lockless manner.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3875 >
2020-06-03 23:12:22 +00:00
Alyssa Rosenzweig
b73b339531
panfrost: Mark point sprites as todo on Bifrost
...
Emulating them will be a rather annoying dance. Let's not worry about
this until further down the line when we have a better sence of how to
do handle them efficiently.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5290 >
2020-06-03 22:58:46 +00:00
Alyssa Rosenzweig
0ef527928c
panfrost: Fix gl_PointSize out of GL_POINTS
...
In this case, vs->writes_point_size is true as the VS writes
gl_PointSize, but panfrost_writes_points_size() is false as we are not
drawing points so the hardware doesn't process it. Thus the varying
descriptor is emitted but elements is never written. When the VS runs,
it will attempt to write to elements, a NULL pointer.
The behaviour is architecture-independent. On Midgard, the write
silently fails, hence why this bug was never noticed before. On Bifrost,
this raises an MMU fault.
The fix is to set the format to VARYING_DISCARD to ignore the write.
Noticed on Neverball.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5290 >
2020-06-03 22:58:46 +00:00
Alyssa Rosenzweig
3f8abd8676
panfrost: Prefer sysval for gl_PointCoord on Bifrost
...
It's like gl_FragCoord. Still not implemented. This unfortunately makes
point sprites a lot more complicated.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5290 >
2020-06-03 22:58:46 +00:00
Alyssa Rosenzweig
bc7397f376
pan/bi: Disassemble gl_PointCoord reads.
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5290 >
2020-06-03 22:58:46 +00:00
Alyssa Rosenzweig
3e4a0c2bca
panfrost: Explicitly convert to 32-bit for logic-ops
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reported-by: Icecream95 <ixn@keemail.me >
Fixes: 19b4e586f6 ("panfrost: Switch to pan_lower_framebuffer")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5289 >
2020-06-03 22:48:10 +00:00
Alyssa Rosenzweig
6d00eaf733
panfrost: Readd MIDGARD_SHADERLESS quirk to t760
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reported-by: Icecream95 <ixn@keemail.me >
Fixes: e53d27de61 ("panfrost: Add quirks for blend shader types")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5289 >
2020-06-03 22:48:10 +00:00
Francisco Jerez
46183a999b
iris: Extend iris_context dirty state flags to 128 bits.
...
We're nearly out of dirty bits, and some patches pending review on
GitLab no longer apply due to that. Make room for them by splitting
off shader stage-specific bits into a separate stage_dirty mask.
An alternative would be to split compute-related bits into a separate
mask, but that would prevent the '<< stage' indexing done in various
parts of the driver from working.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5279 >
2020-06-03 22:22:19 +00:00
Francisco Jerez
45918e0d8c
iris: Simplify iris_batch_prepare_noop().
...
This makes iris_batch_prepare_noop() return a boolean instead of
passing through the relevant set of dirty flags. It will make it
easier to change the representation of dirty flags.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5279 >
2020-06-03 22:22:19 +00:00
Rob Clark
26a3c7b363
nir/lower_tex: fixes for fp16 yuv lowering
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3079
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5318 >
2020-06-03 21:24:13 +00:00
Rob Clark
0f3255ef0a
nir/builder: add bitsize conversion helpers
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5318 >
2020-06-03 21:24:13 +00:00
Rob Clark
866618c5c8
nir: extract out convert_to_bitsize() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5318 >
2020-06-03 21:24:13 +00:00
Rob Clark
924bfb6560
nir: get_base_type() should return enum type
...
Needed by the next patch, for c++ code which is more strict about
conversions between integers and enums.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5318 >
2020-06-03 21:24:12 +00:00
Alyssa Rosenzweig
dce7722ef8
panfrost: Handle writes_memory correctly
...
We need to pass it thru to EARLY_Z and WRITES_GLOBAL instead of ignoring
and assuming respectively. Nontrivial performance fix.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5300 >
2020-06-03 20:48:24 +00:00
Alyssa Rosenzweig
2447b3b9d3
panfrost: Document MALI_WRITES_GLOBAL bit
...
We've been setting this unconditionally -- oops!
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5300 >
2020-06-03 20:48:24 +00:00
Alyssa Rosenzweig
ee59d1ad77
panfrost: Update MALI_EARLY_Z description
...
Via the ES3.1 early-z testing force, I've confirmed this bit is e-z.
I've also confirmed e-z must be disabled for global writes, as expected.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5300 >
2020-06-03 20:48:24 +00:00
Marcin Ślusarz
7e26a02e5f
iris: remove unused iris_bo->swizzle_mode
...
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5313 >
2020-06-03 18:38:00 +00:00
Samuel Pitoiset
77f08982af
aco: sign-extend input/identity for 16-bit subgroup ops on GFX6-GFX7
...
16-bit subgroup ops are implemented with 32-bit instructions
on GFX6-GFX7.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5227 >
2020-06-03 19:48:43 +02:00
Samuel Pitoiset
f31c9b4edf
aco: fix subdword copies on GFX6-GFX7
...
SDWA is only GFX8+. Use v_mov_b32 since the upper 16 bits don't matter.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5227 >
2020-06-03 19:48:42 +02:00
Samuel Pitoiset
a521c67d22
aco: implement 16-bit nir_intrinsic_quad_* on GFX6-GFX7
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5227 >
2020-06-03 19:48:40 +02:00
Samuel Pitoiset
6b08d269bf
aco: implement 16-bit reduce operations on GFX6-GFX7
...
No fp16 on GFX6-GFX7.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5227 >
2020-06-03 19:48:37 +02:00
Alyssa Rosenzweig
0e73d879e3
pan/bi: Handle vectorized load_const
...
In preparation for 16-bit vectors.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5307 >
2020-06-03 17:35:10 +00:00
Alyssa Rosenzweig
1b09c6993d
pan/bi: Passthrough second argument of F32_TO_F16
...
At the NIR level this is a second vector source of the first (only)
argument; at the BIR level this is a pair of scalars.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5307 >
2020-06-03 17:35:10 +00:00
Alyssa Rosenzweig
8a4efe2d73
pan/bi: Pack second argument of F32_TO_F16
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5307 >
2020-06-03 17:35:10 +00:00
Alyssa Rosenzweig
323eecaf13
pan/bi: Fix SEL.16 swizzle
...
2 scalar arguments, not 1 vector.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5307 >
2020-06-03 17:35:10 +00:00
Alyssa Rosenzweig
9ed1ae4724
pan/bi: Handle SEL with vec3 16-bit
...
Otherwise we end up with a missing argument.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5307 >
2020-06-03 17:35:10 +00:00
Alyssa Rosenzweig
afc18c62d7
panfrost: Passthrough NATIVE loads/stores
...
Now that we handle load_output directly, this works for e.g. RGB565 on
Midgard.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5285 >
2020-06-03 15:36:57 +00:00
Alyssa Rosenzweig
36af05bbde
pan/mdg: Handle regular nir_intrinsic_load_output
...
Instead of the vendored version. Only for blend shaders at the moment,
frag shaders fb_fetch has a lot more going on.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5285 >
2020-06-03 15:36:57 +00:00
Alyssa Rosenzweig
293d37e19d
pan/mdg: Allow f2u8 and friends thru
...
Now that we can handle destination sizes directly, this keeps us from
needing to chew through so many conversions.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5285 >
2020-06-03 15:36:57 +00:00
Alyssa Rosenzweig
0ae0141f5b
pan/mdg: Handle f2u8
...
This is similar to f2u16.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5285 >
2020-06-03 15:36:57 +00:00
Alyssa Rosenzweig
f8b881f161
pan/mdg: Fold roundmode into applicable instructions
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5285 >
2020-06-03 15:36:57 +00:00
Alyssa Rosenzweig
93513cd9ff
pan/mdg: Implement *_rtz conversions with roundmode
...
Use rte as the canonical type.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5285 >
2020-06-03 15:36:57 +00:00
Alyssa Rosenzweig
6290e83190
pan/mdg: Lower roundmodes
...
So now we can use the IR field semantically.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5285 >
2020-06-03 15:36:57 +00:00
Alyssa Rosenzweig
1bef784867
pan/mdg: Add opcode roundmode property
...
When the output is rounded in a specified direction.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5285 >
2020-06-03 15:36:57 +00:00
Alyssa Rosenzweig
2eb4c85e42
pan/mdg: Add roundmode enum
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5285 >
2020-06-03 15:36:57 +00:00
Alyssa Rosenzweig
014d2e46a7
pan/mdg: Distinguish blend shaders in internal shader-db
...
Since these shaders are purely internal, the optimization criteria are a
bit different, so it's worth calling attention to this when dumping.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5285 >
2020-06-03 15:36:57 +00:00
Icecream95
99446c9f7d
panfrost: Only use AFBC YTR with RGB and RGBA
...
The "lossless colorspace transform" is lossy for R and RG formats.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5293 >
2020-06-03 15:19:43 +00:00
Icecream95
9ac106defe
panfrost: Decode AFBC flag bits
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5293 >
2020-06-03 15:19:43 +00:00
Timothy Arceri
a34cc97ca3
glsl: when NIR linker enable use it to resize uniform arrays
...
Here we turn on uniform array resizing in the NIR linker and disable
the GLSL IR resizing pass when the NIR linker is enabled.
This will potentially make uniform arrays smaller due to NIR
optimising away more uniform uses.
Shader-db results (SKL):
total instructions in shared programs: 14947192 -> 14944093 (-0.02%)
instructions in affected programs: 138088 -> 134989 (-2.24%)
helped: 822
HURT: 4
total cycles in shared programs: 324868402 -> 324794597 (-0.02%)
cycles in affected programs: 3904170 -> 3830365 (-1.89%)
helped: 2333
HURT: 1485
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4910 >
2020-06-03 10:34:22 +00:00
Timothy Arceri
7d1eadb790
glsl: gather uniform dereference info before main linking loop
...
We want to gather information for all stages here before the main
linking loop. In the following patch we will use to information
to reduce the size of uniform arrays where possible.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4910 >
2020-06-03 10:34:22 +00:00
Timothy Arceri
a13d8d48ce
glsl: add update_array_sizes() helper to the NIR uniform linker
...
This will be used to reduce the size of uniform arrays and replace
the current glsl ir pass. Doing this in NIR allows us to better
optimise the size of uniform arrays.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4910 >
2020-06-03 10:34:22 +00:00
Timothy Arceri
6aea287b0a
glsl: add struct to gather more info about uniform array access
...
This will be used in the following patches to allow the linker
to resize uniform arrays based on array dereferences.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4910 >
2020-06-03 10:34:22 +00:00
Timothy Arceri
d6d78f9b7f
util: add BITSET_LAST_BIT() helper
...
This is the reverse of BITSET_FFS()
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4910 >
2020-06-03 10:34:22 +00:00
Timothy Arceri
f518508a81
i965: call brw_nir_lower_uniforms() after uniform linking is complete
...
i965 currently uses the NIR uniform linker for spirv support. Until
now the only reason there has been no issue with calling the
lowering pass before the linker is because no garbage collection
is done between the calls.
An upcoming change to the linker will add an optimisation to resize
unform arrays where possible. Because lowering causes the array
defs to no longer be used the new optimisation ends up resizing the
arrays to 0. To fix this we move the lowering call after the
linking calls.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4910 >
2020-06-03 10:34:22 +00:00
Simon Ser
907bacea13
gbm: document that gbm_bo_map exposes a linear view
...
Drivers (Gallium, i965) expose a linear view of the buffer via
gbm_bo_map.
Signed-off-by: Simon Ser <contact@emersion.fr >
Reviewed-by: Daniel Stone <daniel@fooishbar.org >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5238 >
2020-06-03 10:09:52 +00:00
Danylo Piliaiev
9f3956fea0
glsl: Don't replace lrp pattern with lrp if arguments are not floats
...
We don't have "lrp(int, int, int)" and validation of ir_triop_lrp
fails down the road.
Fixes: 8d37e991
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3059
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Tested-by: Witold Baryluk <witold.baryluk@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5257 >
2020-06-03 09:06:25 +00:00
Boris Brezillon
3ed2123d77
spirv: Use scoped barriers for SpvOpControlBarrier
...
If use_scoped_barrier is set to true, we don't have to split the control
and memory barriers.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4900 >
2020-06-03 07:39:52 +00:00
Boris Brezillon
689acc7398
intel/compiler: Extract control barriers from scoped barriers
...
Add a lowering pass extracting all control barriers embedded in scoped
barriers into proper control barriers so we can get rid of the logic
inserting control barriers when an SpvOpControlBarrier with WorkGroup
scope is parsed in spirv_to_nir().
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4900 >
2020-06-03 07:39:52 +00:00
Boris Brezillon
345b5847b4
nir: Replace the scoped_memory barrier by a scoped_barrier
...
SPIRV OpControlBarrier can have both a memory and a control barrier
which some hardware can handle with a single instruction. Let's
turn the scoped_memory_barrier into a scoped barrier which can embed
both barrier types. Note that control-only or memory-only barriers can
be supported through this new intrinsic by passing NIR_SCOPE_NONE to the
unused barrier type.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Suggested-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4900 >
2020-06-03 07:39:52 +00:00
Boris Brezillon
94438a64bf
spirv: Split the vtn_emit_scoped_memory_barrier() logic
...
We are about to add support for scoped control+memory barriers. Let's
move the convert from SPIRV to NIR enums logic in helpers so we can
easily re-use them.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4900 >
2020-06-03 07:39:52 +00:00
Samuel Pitoiset
d3c937c0e4
radv: enable zero VRAM for all VKD3D (DX12->VK) games
...
To fix rendering issues with Metro Exodus, RE2 and 3 and probably
more titles. It seems the default behaviour of DX12 anyways.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3064
Cc: <mesa-stable@lists.freedesktop.org >
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/5262 >
2020-06-03 08:00:19 +02:00
Samuel Pitoiset
fd5ffd3a83
radv: enable zero VRAM for Doom Eternal
...
That fixes some rendering issues. Probably some unitialized data
from the game.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3064
Cc: <mesa-stable@lists.freedesktop.org >
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/5262 >
2020-06-03 07:59:57 +02:00
Timothy Arceri
c183ea94af
gitlab-ci: bump piglit checkout commit
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4797 >
2020-06-03 02:22:23 +00:00
Timothy Arceri
7873276f68
glsl/spirv: remove dead uniforms in spirv nir linker
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4797 >
2020-06-03 02:22:23 +00:00
Timothy Arceri
a494b62410
glsl: remove dead uniforms in the nir linker
...
This is now possible as we do uniform linking via a nir based linker.
Shader-db results for IRIS (SKL):
total instructions in shared programs: 14947192 -> 14946397 (<.01%)
instructions in affected programs: 39498 -> 38703 (-2.01%)
helped: 230
HURT: 18
total cycles in shared programs: 324868402 -> 324847058 (<.01%)
cycles in affected programs: 706701 -> 685357 (-3.02%)
helped: 599
HURT: 449
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4797 >
2020-06-03 02:22:23 +00:00
Timothy Arceri
60bee4c70c
glsl: add can_remove_uniform() helper to the NIR linker
...
This helper reflects the rules we follow in the GLSL IR linker when
deciding if we can remove a dead uniform. This check is required to
avoid regressions when turning on NIR dead uniform clean up in the
following patch.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4797 >
2020-06-03 02:22:23 +00:00
Timothy Arceri
04dbf709ed
nir: add callback to nir_remove_dead_variables()
...
This allows us to do API specific checks before removing variable
without filling nir_remove_dead_variables() with API specific code.
In the following patches we will use this to support the removal
of dead uniforms in GLSL.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4797 >
2020-06-03 02:22:23 +00:00
Timothy Arceri
bc79442f3f
nir: add glsl_get_ifc_packing() helper
...
This will be used in the following patch.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4797 >
2020-06-03 02:22:23 +00:00
Alyssa Rosenzweig
7ac617c117
pan/mdg: Don't double-replicate blend on T720
...
We already do this unconditionally in NIR.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5305 >
2020-06-03 00:32:24 +00:00
Bas Nieuwenhuizen
edd56bad94
radv: Use common gfx10_format_table.h
...
Save some python code and build time, as well as some code duplication.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5291 >
2020-06-03 00:17:00 +00:00
Bas Nieuwenhuizen
560f095dd5
radv: Include gfx10_format_table.h only from a single source file.
...
The radeonsi variant has everything in the header, so lets not
include it everywhere.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5291 >
2020-06-03 00:17:00 +00:00
Bas Nieuwenhuizen
b351a50763
radeonsi: Define gfx10_format in the common header.
...
So we don't have to have multiple definitions of the struct when
sharing with radv.
While at it put the table properly in a C file so we don't have to
deal with multiple definitions, and the struct definition isn't
in generated source.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5291 >
2020-06-03 00:17:00 +00:00
Bas Nieuwenhuizen
c98e52f88a
amd/common,radeonsi: Move gfx10_format_table to common.
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5291 >
2020-06-03 00:17:00 +00:00
Bas Nieuwenhuizen
d936f69677
radeonsi: Explicitly map Z16_UNORM_S8_UINT to None for GFX10.
...
We should always use separate planes for textures with this format.
Fixes: 273ead81f1 "util/format: Add VK_FORMAT_D16_UNORM_S8_UINT."
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5291 >
2020-06-03 00:17:00 +00:00
Daniel Stone
415c88eebc
Revert "CI: Disable Panfrost T720/T760"
...
Switches have been rewired, VLANs have been reconfigured, network
elements with non-functional remote management have been removed from
racks and thrown on desks in anger.
This reverts commit ae6e1aee7d1bd49ae494b8a25ca33d092a3a145a.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5301 >
2020-06-02 23:16:05 +00:00
Christian Gmeiner
2dfc241e36
ci: bare-metal: make it possible to use a script for serial
...
Makes it possible to use e.g. a ser2net script to talk to the devices.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5268 >
2020-06-02 22:20:46 +00:00
Erik Faye-Lund
a21966837a
zink: Use store_dest_raw instead of storing an uint
...
I cleaned up the other similar call-sites, but somehow missed this one.
There's nothing different with this, so let's also fix this.
Fixes: 16339646f0 ("zink/spirv: rename functions a bit")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5250 >
2020-06-02 21:45:30 +00:00
Oschowa
c310677a75
radv: Explicitly cast TIMESTAMP_NOT_READY value to uin32_t where needed.
...
Fixes a clang warning.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5228 >
2020-06-02 21:31:17 +00:00
Oschowa
663e8cb4e6
aco: Use correct reference type in for-range-loop.
...
Fixes a clang warning.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5228 >
2020-06-02 21:31:17 +00:00
Oschowa
7b1bc460fd
aco: Don't std::move temporary object.
...
Fixes the following clang warning:
mesa/src/amd/compiler/aco_optimizer.cpp:2928:15: warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
ctx.uses = std::move(dead_code_analysis(program));
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5228 >
2020-06-02 21:31:17 +00:00
Oschowa
536339b0dd
aco: Don't declare 'Block' as class, but define as struct.
...
Fixes clang warnings.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5228 >
2020-06-02 21:31:17 +00:00
Oschowa
c2a778ef0f
radv: Don't take absolute value of unsigned type.
...
Fixes clang warnings.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5228 >
2020-06-02 21:31:17 +00:00
Timur Kristóf
7d2fe60f1c
radv/aco: Always enable subgroup shuffle.
...
It is now supported by both backends on all hw.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5223 >
2020-06-02 21:12:13 +00:00
Timur Kristóf
045c9ffa7d
aco: Implement subgroup shuffle on GFX6-7.
...
GFX6 and GFX7 don't have the ds_bpermute (or permute) instruction,
but we would like to support subgroup shuffle on these old GPUs.
So we introduce a new pseudio instruction which will be lowered
to an "unrolled loop" that emulates bpermute on GFX6 and GFX7
using readlane instructions, while also respecting the exec mask
thanks to v_cmpx.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5223 >
2020-06-02 21:12:12 +00:00
Timur Kristóf
14a5021aff
aco/gfx10: Refactor of GFX10 wave64 bpermute.
...
The emulated GFX10 wave64 bpermute no longer needs a linear_vgpr,
so we don't consider it a reduction anymore. Additionally, the
code is slightly reorganized in preparation for the GFX6 emulated
bpermute.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5223 >
2020-06-02 21:12:12 +00:00
Marek Olšák
fe3947632c
radeonsi: add a hack to disable TRUNC_COORD for shadow samplers
...
This fixes dEQP-GLES3.functional.shaders.texture_functions.textureprojlodoffset.sampler2dshadow_vertex.
This is probably a dEQP bug.
Fixes: d573d1d825
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5209 >
2020-06-02 20:47:49 +00:00
Marek Olšák
85a6bcca61
radeonsi: pass at most 3 images and/or shader buffers via user SGPRs for compute
...
This should slightly decrease shader lifetime.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5209 >
2020-06-02 20:47:49 +00:00
Marek Olšák
877c56bfdc
radeonsi: remove const_buffers_declared hacks
...
This was a bug that was uncovered by 4553fc66a5 .
Piglit: spec@arb_uniform_buffer_object@maxblocks
Fixes: 4553fc66a5
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5209 >
2020-06-02 20:47:49 +00:00
Marek Olšák
ce4575b3b5
radeonsi: remove unused leftover code for INDIRECT_BUFFER inside IBs
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5209 >
2020-06-02 20:47:49 +00:00
Marek Olšák
cac24bee62
nir: gather which images are MSAA
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5209 >
2020-06-02 20:47:49 +00:00
Marek Olšák
6503e4be13
nir: gather which images are buffers
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5209 >
2020-06-02 20:47:49 +00:00
Marek Olšák
f8ef15c061
nir: don't count samplers and images in interface blocks
...
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5209 >
2020-06-02 20:47:49 +00:00
Marek Olšák
c6c8a9bd55
ac/nir: support v2f16 derivatives
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5003 >
2020-06-02 16:29:25 -04:00
Marek Olšák
7c423dd721
ac/nir: set the second v_cvt_pkrtz argument to undef if it's unused
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5003 >
2020-06-02 16:29:25 -04:00
Marek Olšák
bfb95725aa
ac/nir: select v_cvt_pkrtz for all conversions from f32 to f16 for radeonsi
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5003 >
2020-06-02 16:29:25 -04:00
Marek Olšák
1d80015eaf
ac/nir: handle nir_op_[fiu]2[fiu]mp opcodes
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5003 >
2020-06-02 16:29:25 -04:00
Marek Olšák
70b6d54011
ac/nir: support 16-bit data in image opcodes
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5003 >
2020-06-02 16:29:25 -04:00
Marek Olšák
c3e0ba52a0
ac/nir: support 16-bit data in buffer_load_format opcodes
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5003 >
2020-06-02 16:29:25 -04:00
Marek Olšák
b819ba949b
ac/nir: remove type and num_channels args from ac_build_buffer_store_common
...
They were only used for type overloading where we can just use
the type of data.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5003 >
2020-06-02 16:29:25 -04:00
Marek Olšák
b98df7bf50
ac/nir: support vector types in the type suffix of overloaded intrinsics
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5003 >
2020-06-02 16:29:25 -04:00
Marek Olšák
e5ea87cde8
ac/nir: use more types from ac_llvm_context
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5003 >
2020-06-02 16:29:25 -04:00
Marek Olšák
116ec85012
ac: rename has_double_rate_fp16 -> has_packed_math_16bit
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5003 >
2020-06-02 16:29:25 -04:00
Marek Olšák
1af8fe4ed5
gallium: add shader caps INT16 and FP16_DERIVATIVES
...
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002 >
2020-06-02 20:01:18 +00:00
Marek Olšák
733bee57eb
glsl: lower samplers with highp coordinates correctly
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002 >
2020-06-02 20:01:18 +00:00
Marek Olšák
0c0803c32f
glsl: lower the precision of imageLoad
...
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002 >
2020-06-02 20:01:18 +00:00
Marek Olšák
1192989533
glsl: lower mediump partial derivatives
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002 >
2020-06-02 20:01:18 +00:00
Marek Olšák
6fe20ebaaa
glsl: lower mediump integer types to int16 and uint16
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002 >
2020-06-02 20:01:18 +00:00
Marek Olšák
a052a9c277
glsl: handle int16 and uint16 types and add instructions for mediump
...
v2: add more changes to ir_validate.cpp
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002 >
2020-06-02 20:01:18 +00:00
Marek Olšák
9c14a87839
glsl: treat lowp as mediump when lowering builtins
...
This seems to have been missed.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002 >
2020-06-02 20:01:18 +00:00
Marek Olšák
116e006693
nir: add options::vectorize_vec2_16bit to limit vectorization to vec2 16
...
for hardware that is scalar but can do 2 16-bit operations on low and high
16 bits of registers at once.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002 >
2020-06-02 20:01:18 +00:00
Marek Olšák
a6916d1ce8
nir: fix lower_wpos for 16-bit fddy
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002 >
2020-06-02 20:01:18 +00:00
Marek Olšák
92333c6d1a
nir: lower int16 and uint16 in nir_lower_mediump_outputs
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002 >
2020-06-02 20:01:18 +00:00
Marek Olšák
6f2e95f24d
nir: add int16 and uint16 type helpers
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002 >
2020-06-02 20:01:18 +00:00
Marek Olšák
f798513f91
nir: add i2imp and u2ump opcodes for conversions to mediump
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002 >
2020-06-02 20:01:18 +00:00
Alyssa Rosenzweig
f3310cb3e1
nir: Fold f2f16(b2f32(x)) to b2f16(x)
...
By definition.
This reduces register pressure on freedreno so that the noubo expected
failure goes away.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002 >
2020-06-02 20:01:18 +00:00
Eric Engestrom
d32144602c
meson: remove "empty array"/"array of an empty string" confusion
...
Until Meson 0.47, setting `-D arrayoption=` was not the same as setting
`-D arrayoption=[]`; the latter cleared the array, while the former
filled it with an empty string option.
Since Meson 0.47 [1], the former maps to the latter, so empty items can
only be set by explicitly giving an array containing an empty string,
ie. `-D arrayoption="['']"`; however note that this is *not* what we
want in any of the current Mesa code anyway.
This makes the code handling array options a bit more complicated, and
a lot more error-prone, so let's get rid of the confusion by removing
the empty-string option.
[1] f3a8f9c34d
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/386 >
2020-06-02 19:36:12 +00:00
Jonathan Marek
a2903dd767
turnip: fix RENDER_COMPONENTS value
...
This fixes render_components being 0 when mrt_count=8, because shift by 32
is UB and in arm64 it ends up shifting by 0. This fixes tests with 8 MRTs.
Fixes the 3d path sysmem CmdClearAttachments to set RENDER_COMPONENTS, as
it was previously relying on tu6_emit_mrt setting it, but it is now part of
the pipeline state.
Also switch back to the previous behavior of not setting render components
for VK_ATTACHMENT_UNUSED attachments: we don't update the MRT state for
such attachments so we definitely don't want to be trying writing to those.
Fixes: 078aa9df8d ("tu: Move RENDER_COMPONENTS setting to pipeline state")
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5292 >
2020-06-02 18:42:09 +00:00
Daniel Stone
d63bd09eb2
CI: Disable Panfrost T720/T760
...
We're reconfiguring our Cambridge office lab networking and physical
setup for more scalability amongst other things. We can still run jobs
on one RK3399 at the peak outage, but we'll lose the T7x0 this morning,
so disable it until it's all back.
T820 is still disabled due to an unrelated BayLibre internal outage.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5296 >
2020-06-02 10:14:16 -07:00
Michel Dänzer
3acd5a68a4
gitlab-ci: Use separate docker images for cross builds
...
Using x86_build-base as a separate base layer as well for storage &
network bandwidth efficiency.
Using separate images allows dropping the workarounds from the cross
build job scripts.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5296 >
2020-06-02 10:14:16 -07:00
Michel Dänzer
a85da8e3d5
gitlab-ci: Add x86_build-base docker image
...
Similar to x86_test-base.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5296 >
2020-06-02 10:14:16 -07:00
Michel Dänzer
ae400553fb
gitlab-ci: Move meson back to x86_test-gl/vk ephemeral packages lists
...
And python3-distutils back to x86_test-gl's list.
These are not used for building Mesa, only for other components used in
test jobs.
This partially reverts commit c1a290bdd5
"meson: Bump required version to 0.52.0".
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5296 >
2020-06-02 10:07:10 -07:00
Michel Dänzer
b19c094dba
gitlab-ci: Stop using packages from Debian testing
...
Not needed anymore (for now?).
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5296 >
2020-06-02 10:07:07 -07:00
Michel Dänzer
c964be0cd7
gitlab-ci: Use Debian 10 wine-development packages
...
They're version 4.2, new enough for the MinGW job tests to pass.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5296 >
2020-06-02 10:06:38 -07:00
Michel Dänzer
262e3885a2
gitlab-ci: Move LLVM/clang 6/7 packages to the x86_build_old image
...
They're available in Debian 9 (stretch) as well.
This will avoid conflicts with packages from Debian testing.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5296 >
2020-06-02 10:06:27 -07:00
Rhys Perry
b30b6fded8
docs: add missing "shader_" in VK_KHR_shader_subgroup_extended_types
...
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/5295 >
2020-06-02 13:21:42 +01:00
Dylan Baker
fb62e642ae
vulkan-overlay/meson: use install_data instead of configure_file
...
We don't want to copy the file into the build directory, we want to
install it. That's what install_data is for.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2924
Fixes: 56ccea58ae
("vulkan/overlay: Add basic overlay control script.")
Acked-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740 >
2020-06-01 18:59:18 +00:00
Dylan Baker
138c003d22
meson: deprecated 'true' and 'false' in combo options for 'enabled' and 'disabled'
...
To prepare to use meson's builtin feature options in the future, which
are more powerful and provide useful feature for packagers, like the
ability to turn all "automagic" features off, and then explicitly turn
on the ones they want.
This is designed to make the transition softer, since the 'true' and
'false' are still accepted, just with a warning.
Acked-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740 >
2020-06-01 18:59:18 +00:00
Dylan Baker
a63e5cbe48
meson: use 2 space not 3 space indent
...
Acked-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740 >
2020-06-01 18:59:18 +00:00
Dylan Baker
a8e2d79e02
meson: use gnu_symbol_visibility argument
...
This uses a meson builtin to handle -fvisibility=hidden. This is nice
because we don't need to track which languages are used, if C++ is
suddenly added meson just does the right thing.
Acked-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740 >
2020-06-01 18:59:18 +00:00
Dylan Baker
fc7301865e
drm-shim/meson: Use portable override_options for setting C standard
...
Acked-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740 >
2020-06-01 18:59:18 +00:00
Dylan Baker
23df13c988
drm-shim/meson: The name of the target is a string not a list
...
This happens to work, but it's not guaranteed to
Acked-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740 >
2020-06-01 18:59:18 +00:00
Dylan Baker
17dcd535c1
meson: Use builtins for checking gnu __attributes__
...
This requires less code, and will fast skip on compilers that are known
to not have these, like MSVC.
Acked-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740 >
2020-06-01 18:59:18 +00:00
Dylan Baker
6ef314b4fa
meson: Use build_always_stale instead of build_always
...
which was deprecated in 0.47. This doesn't change behavior, just shuts
up a warning.
Acked-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740 >
2020-06-01 18:59:18 +00:00
Dylan Baker
a16e8bfb94
meson: Use the check_header function
...
Instead of open coding it. This was new in 0.47
Acked-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740 >
2020-06-01 18:59:18 +00:00
Dylan Baker
c1a290bdd5
meson: Bump required version to 0.52.0
...
This matches what other graphics space projects require now, and allows
us to simplify a number of cases, as well as make use of new features in
meson.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2737
Acked-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740 >
2020-06-01 18:59:18 +00:00
Alyssa Rosenzweig
30a393f458
pan/mdg: Enable out-of-order execution after texture ops
...
We don't make great use of it (due to the scheduler not being aware
yet), but we can pack for it regardless and maybe pick up some win.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5286 >
2020-06-01 18:38:49 +00:00
Alyssa Rosenzweig
7c0e82d4ab
pan/mdg: Add quirk for missing out-of-order support
...
Added in T760, like the other good parts of Midgard.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5286 >
2020-06-01 18:38:49 +00:00
Alyssa Rosenzweig
31de10c434
pan/mdg: Disassemble out-of-order bits
...
Optimization for texture instructions, allowing ALU and LD/ST within a
single thread while a texture read is still in flight.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5286 >
2020-06-01 18:38:49 +00:00
Alyssa Rosenzweig
ca6759c3f9
panfrost: Remove unused nir_lower_framebuffer pass
...
Superseded.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5284 >
2020-06-01 18:10:59 +00:00
Alyssa Rosenzweig
7de4b98193
panfrost: Don't flush explicitly when mipmapping
...
The reorder work already takes cares of this nicely.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5284 >
2020-06-01 18:10:59 +00:00
Alyssa Rosenzweig
975238dc2a
panfrost: Use VTX tag for vertex texturing
...
Fixes BARRIER faults.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5284 >
2020-06-01 18:10:59 +00:00
Alyssa Rosenzweig
89a9cc7645
panfrost: Permit AFBC of RGB8
...
Ugly but hey.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5284 >
2020-06-01 18:10:59 +00:00
Alyssa Rosenzweig
3a8e5eb1b1
panfrost: Fix PRESENT flag mix-up
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5284 >
2020-06-01 18:10:59 +00:00
Alyssa Rosenzweig
7c793a4867
pan/mdg: Fuse f2f16 into load_interpolated_input
...
To become a ld_vary intrinsic.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5283 >
2020-06-01 12:37:03 -04:00
Alyssa Rosenzweig
5f8dd413bc
pan/mdg: Handle 16-bit ld_vary
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5283 >
2020-06-01 12:36:46 -04:00
Alyssa Rosenzweig
e58112bc08
panfrost: Update fails list
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:24 +00:00
Alyssa Rosenzweig
e42950fe96
panfrost: Use internal_format throughout
...
Fixes R32F_S8 texturing.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:24 +00:00
Alyssa Rosenzweig
e7765a8c7f
panfrost: Add separate_stencil BO to batch
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:24 +00:00
Alyssa Rosenzweig
6aa7f6792d
panfrost: Check for large tilebuffer requirements
...
Fixes the rest of dEQP-GLES3.functional.fragment_out.array.uint.*, this
situation occurs with MRT and large pixels.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:24 +00:00
Alyssa Rosenzweig
c46b11438d
panfrost: Let Gallium pack colours
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
8dc8b66403
panfrost: Account for differing types in blend lower
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
0c9fe82ee9
panfrost: Conditionally allow fp16 blending
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
19b4e586f6
panfrost: Switch to pan_lower_framebuffer
...
It now supports what we need.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
4c286cc0a2
panfrost: Un/pack sRGB via NIR
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
5d14757c03
panfrost: Un/pack R11G11B10
...
NIR has a helper for it already; we can reuse.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
e24e248b84
panfrost: Un/pack RGB10_A2_UINT
...
It's different. Because forget me.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
91cc678551
panfrost: Un/pack RGB10_A2_UNORM
...
It's a funny one.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
7de0e5500b
panfrost: Un/pack RGB565 and RGB5A1
...
Basically the same as RGBA4
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
ff590702da
panfrost: Un/pack UNORM 4
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
eab8701e7c
panfrost: Flesh out dispatch
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
e937dd521b
panfrost: Un/pack 8-bit UNORM
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
f01aabb829
panfrost: Un/pack pure 8-bit
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
9a6483bb47
panfrost: Un/pack pure 16-bit
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
c31bcca48e
panfrost: Un/pack pure 32-bit
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
e5fcc193f7
panfrost: Stub out lowering boilerplate
...
Structure ourselves as a NIR pass replacing loads/stores with
unpacked/packed versions as necessary. Not actually functional yet.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
dbd72a8f94
panfrost: Determine classes for stores
...
Fewer special cases here, thankfully.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
18a767df35
panfrost: Determine load classes for formats
...
Via quirks.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
e53d27de61
panfrost: Add quirks for blend shader types
...
Every hardware has its own set of what it can and can't do... let's
document it all as quirks so the lowering code is GPU-agnostic.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
60d647f9de
panfrost: Determine unpacked type for formats
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
5c82f8a097
panfrost: Add theory for new framebuffer lowering
...
We take a somewhat different strategy that should be more flexible.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
5a175e4a1b
pan/mdg: Implement raw colourbuf loads on T720
...
Uses a similar path to the fp16 cbuf loads on T760. It should make sense
given the symmetry with T860.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
4f82aad7a2
pan/mdg: Drop the u8 from the colorbuf op names
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
49840a8a58
pan/mdg: Print 8-bit constants
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
0ff0291896
pan/mdg: Handle bitsize for packs
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
e9c780b1d0
pan/mdg: Treat packs "specially"
...
We maybe would prefer synthetic ops? We'll find out in due time..
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
c495c6c295
pan/mdg: Add pack_unorm_4x8 via 8-bit
...
More efficient than the 32-bit version in NIR.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
551d990a7c
pan/mdg: Handle un/pack opcodes as moves
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Chris Wilson
605b0e8acf
iris: Fixup copy'n'paste mistake in Makefile.sources
...
In changing iris_seqno.[ch] to iris_fine_fence.[ch] and moving the
lines earlier, the newline escape was forgotten.
Fixes: 034329128b ("iris: Rename iris_seqno to iris_fine_fence")
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5264 >
2020-05-31 22:01:48 +00:00
Satyeshwar Singh
aaec065f03
intel/dev: Don't consider all TGL SKUs as GT1 only
...
We should be passing _gt instead of 1 to GEN12_FEATURES or else all TGL
SKUs will be considered as gt1 only.
Fixes: 54996ad492 ("intel/dev: Split .num_subslices out of GEN12_FEATURES macro")
Signed-off-by: Satyeshwar Singh <satyeshwar.singh@intel.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5261 >
2020-05-30 17:24:58 -07:00
Vinson Lee
d2f8105b60
r300g: Remove extra printf format specifiers.
...
Fix warning reported by Coverity Scan.
Missing argument to printf format specifier (PRINTF_ARGS)
missing_argument: No argument for format specifier %s.
Fixes: 04c1536bf7 ("r300g: rasterizer debug logging")
Fixes: 85efb2fff0 ("r300g: try to use color varyings for texcoords if max texcoord limit is exceeded")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5274 >
2020-05-30 14:28:01 -07:00
Ilia Mirkin
6e1c47b98d
nouveau: allow invalidating coherent/persistent buffer backings
...
This is needed to support the core's usage of coherent buffers for
glVertex-style input. The reason why this was disallowed is that any
mappings will be invalidated. Let the state tracker worry about that,
and just reallocate when we're told.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Cc: mesa-stable@lists.freedesktop.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5276 >
2020-05-30 17:59:24 +00:00
Jason Ekstrand
c48f42e178
intel/fs: Emit HALT for discard on Gen4-5
...
Using HALT to immediately jump to the end of the shader is required to
implement GL_EXT_gpu_shader4 and OpenGL 3.0. However, vanilla OpenGL
1.2 doesn't forbid it and it likely makes something somewhere faster.
We should be consistent and implement the same discard behavior on all
hardware if we can.
The rules for HALT on Gen4-5 are a bit different from Gen6+. On the
older hardware, there is no stack for HALT; instead it's up to software
to save and restore mask registers. However, there's no real saving
needed since we only use HALT to jump to the end of the program where
we're about about to do our FB writes. All we need to do is reset AMask
to DMask, the value it was initialized to at the start of the thread.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5244 >
2020-05-30 06:21:15 +00:00
Jason Ekstrand
94aa7997e4
intel/fs: Fix unused texture coordinate zeroing on Gen4-5
...
We were inserting the right number of MOVs but, thanks to the way we
advanced msg_end earlier in the function, were often writing the zeros
past the end of where we actually read in the register file.
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5243 >
2020-05-30 01:08:50 -05:00
Jason Ekstrand
a7c8811fe4
intel/vec4: Stomp the return type of RESINFO to UINT32
...
We already do this in the FS back-end; we just weren't doing it in vec4
so RESINFO messages weren't returning the right data.
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5243 >
2020-05-30 01:08:50 -05:00
Timothy Arceri
e843303d6f
radv: fix regression with builtin cache
...
If the ~/.cache dir already exists continue on without failing.
Fixes: cd61f5234d ("radv: Handle failing to create .cache dir.")
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5249 >
2020-05-30 04:01:28 +00:00
Bas Nieuwenhuizen
7e4c8949c6
gallium/dri: Remove lowered_yuv tracking for plane mapping.
...
Just heard that etnaviv is also compatible with it even
in the non-lowered cases, so let us enable it for everyone.
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5253 >
2020-05-30 02:49:54 +00:00
Vinson Lee
13735c4f47
panfrost: Fix printf format specifier.
...
bifrost_sampler_descriptor.zero1 is of type uint8_t.
Fix warning reported by Coverity.
Invalid type in argument to printf format specifier (PRINTF_ARGS)
invalid_type: Argument s->zero1 to format specifier %lx was expected to
have type unsigned long but has type unsigned char.
Fixes: 6148d1be4b ("panfrost: Fix size of bifrost sampler descriptor")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5248 >
2020-05-30 02:10:12 +00:00
Marek Olšák
4925fb97f6
glthread: don't upload for glDraw inside a display list and always sync
...
Let the vbo module handle it, not glthread.
This handles functions set in vbo_initialize_save_dispatch.
Fixes: 2840bc3065 ("glthread: upload non-VBO vertices and indices for non-Indirect non-IBM draws")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3001
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5246 >
2020-05-30 01:42:56 +00:00
Bas Nieuwenhuizen
cf99267147
util/format: Add more multi-planar formats.
...
These don't have a fourcc code as far as I can tell, but we want
them for internal Vulkan use.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5195 >
2020-05-30 01:22:51 +00:00
Bas Nieuwenhuizen
d491b0dfd9
util/format: Use correct pipe format for VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM.
...
NV12 is UVUVUV (https://wiki.videolan.org/YUV#NV12 ) and in Vulkan is
VK_FORMAT_G8_B8R8_2PLANE_420_UNORM. So U=B and V=R. So plane order in
VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM is YUV, which is PIPE_FORMAT_IYUV.
Further confirmation: https://fourcc.org/yuv.php U=Cb V=Cr. From the nir
ycbcr conversion, B=Cb and R=Cr.
Fixes: 75d7ee8029 "util/format: translate 422_UNORM and 420_UNORM vulkan formats"
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5195 >
2020-05-30 01:22:51 +00:00
Bas Nieuwenhuizen
273ead81f1
util/format: Add VK_FORMAT_D16_UNORM_S8_UINT.
...
Not participating in packing/unpacking/stencil-only/depth-only,
because it doesn't mix well in a single plane.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5195 >
2020-05-30 01:22:51 +00:00
Vinson Lee
f047d585ee
etnaviv: Fix memory leak on error path.
...
Fix warning reported by Coverity Scan.
Resource leak (RESOURCE_LEAK)
leaked_storage: Variable pq going out of scope leaks the storage it
points to.
Suggested-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Fixes: eed5a00989 ("etnaviv: convert perfmon queries to acc queries")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5220 >
2020-05-30 01:04:30 +00:00
Alyssa Rosenzweig
bccb3deee2
panfrost: Probe G31/G52 if PAN_MESA_DEBUG=bifrost
...
We're not *quite* ready to open the flood gates on Bifrost (a major
blocker is CI, which is itself blocked on the lockdowns - expected to be
resolved in the coming months..)
Nevertheless, let's add a debug option to probe on compatible Bifrost
devices to avoid keeping out-of-tree patches around.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5272 >
2020-05-29 19:24:45 -04:00
Alyssa Rosenzweig
be8cbe0b41
panfrost: Add GPU IDs for G31/G52
...
Dvalin/Gondul respectively.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5272 >
2020-05-29 19:24:05 -04:00
Alyssa Rosenzweig
229084f5de
panfrost: Disable QUAD_STRIP/POLYGON on Bifrost
...
Support was dropped and now raises a DATA_INVALID_FAULT on G31. Unknown
if retained on other devices. GL_QUADS is still ok.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:56 +00:00
Alyssa Rosenzweig
4be2cd604b
pan/bi: Passthrough deps of the branch target
...
Now that we have the infrastructure, follow the branch.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:56 +00:00
Alyssa Rosenzweig
8230a04f51
pan/bi: Allow two successors in header packing
...
We need to take the union of the dependencies.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:56 +00:00
Alyssa Rosenzweig
db2c10d032
pan/bi: Measure backwards branches as well
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:56 +00:00
Alyssa Rosenzweig
a42731536d
pan/bi: Add bi_foreach_block_from_rev helper
...
Needed for next commit.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
c697992ca1
pan/bi: Defer block naming until after emit
...
This ensures names are meaningful.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
bd6ff4f7e1
pan/bi: Pack unconditional branch
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
e4791d2bf8
pan/bi: Set branch conditional bit
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
ffe7a61a46
pan/bi: Set back-to-back bit more accurately
...
See Connor's ISA notes. Basically set unless it's a branch (explicit or
fallthrough).
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
3aacfaf87e
pan/bi: Set branch_conditional if b2b is set
...
Match the blob.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
e945d4f79d
pan/bi: Pack proper clause offsets
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
682b63cdc2
pan/bi: Measure distance between blocks
...
For branch offset calculation.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
64c49ab1fc
pan/bi: Add bi_foreach_clause_in_block_from{_rev} helpers
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
64bedbfa67
pan/bi: Link clauses back to their blocks
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
9c32956750
pan/bi: Preliminary branch packing
...
Simple == 0 branch packing. Offset is still to-do.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
cd9a08d4f2
pan/bi: Assign constant port for branch offsets
...
By convention.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
cdff3ebc9a
pan/bi: Set branch_constant if there is a branch
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
b9967ab6da
pan/bi: Pack branch offset constants
...
This is not fully generic but for a single constant it will do.
Extensions left for future work.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
627872ef7f
pan/bi: Add branch constant field to IR
...
The offsets used for branches need some extra bits twiddled, so add a
field to the clause to indicate this is happening. This is not ambiguous
since a clause can only have a single branch.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
f1298ae336
pan/bi: Passthrough ZERO in branch packing
...
There's a special mode for it.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
d619ff009b
pan/bi: Fix branch condition typesize
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
1cdd55a81e
pan/bi: Fix CONVERT component counting
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
d8c6a71878
pan/bi: Only rewrite COMBINE dest if not SSA
...
If it's already a register, there's no point in rewriting and it will
disturb the existing register, i.e. for
if (..) {
r0 = vecN ..
} else {
r0 = vecN ..
}
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
e42a5dfd4f
pan/bi: Fix emit_if successor assignment
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Fixes: 9a00cf3d1e ("pan/bi: Add support for if-else blocks")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
b34eb94d9c
pan/bi: Allow printing branches without targets
...
Useful for debugging codegen.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
a4fc16a1d4
pan/bi: Remove schedule_barrier
...
Legacy from Midgard.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
b3ae088b96
pan/bi: Add helper to measure clause size
...
Useful for branching.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
2a4e4477fc
pan/bi: Add bi_layout.c for clause layout helpers
...
Figuring out what "shapes" of clauses are kosher happens during
scheduling, not packing, but shouldn't distract the scheduler. So let's
add a new file for these sorts of questions.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
c3de28bb49
pan/bi: Remove more artefacts of 2-pass scheduling
...
A clause is, by definition, already scheduled.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
4096be05af
pan/bi: Add MUL.i32 to disasm
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
ec8665615f
pan/bi: Disassemble pos=0xe
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
a658a4f7a5
pan/bi: Document constant count invariant
...
constants + instructions <= 13
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
ac64bf9b20
pan/bi: Move bi_flip_ports out of port assignment
...
It's more of a packing fixup than anything scheduler-y, and port
assignment will soon be the domain of the scheduler.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
95e3776d3e
pan/bi: Add FILE* argument to bi_print_registers
...
In case we need it in general IR printing.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
dd96b451f6
pan/bi: Drop struct from bi_registers
...
It's a full-fledged part of the IR now.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
b042ddef32
pan/bi: Move bi_registers to bi_bundle
...
Make it a part of the IR itself.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
79f30d8a86
pan/bi: Move bi_registers to common IR structures
...
Port assignments are critical to scheduling, this can't just live in
bi_pack.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
59f8f20306
pan/bi: Remove comment about old scheduler design
...
I've realized it really has to be 1-pass to be sane.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
635bf652ed
pan/bi: Remove FMA? parameter from get_src
...
We can lower away zeroes a bit earlier.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:55 +00:00
Alyssa Rosenzweig
20f6c7a913
panfrost: Preload gl_FragCoord on Bifrost
...
It's a precoloured register but we do need to specify in the cmdstream
that we want the preloading to happen.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5267 >
2020-05-29 20:19:46 +00:00
Alyssa Rosenzweig
1d194f8ac4
panfrost: Set reads_frag_coord as a sysval
...
In addition to parsing out the varying. This is needed so it works on
Bifrost as well.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5267 >
2020-05-29 20:19:46 +00:00
Alyssa Rosenzweig
52875a34aa
panfrost: Don't generate gl_FragCoord varying on Bifrost
...
It's treated as a sysval there, so that's silly.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5267 >
2020-05-29 20:19:46 +00:00
Rob Clark
11470fcde2
freedreno/a6xx: fix vsc assert
...
Fixes a debug build assert seeing with an android app. Not quite sure
which path was passing us draw_info w/ instance_count==0. But we should
just treat non-instanced draws as having a single instance.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5091 >
2020-05-29 19:35:08 +00:00
Kristian H. Kristensen
f6f7bc2979
freedreno/a6xx: Program VFD_DEST_CNTL from program stateobj
...
This only depends on the generated shader.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5140 >
2020-05-29 18:59:56 +00:00
Kristian H. Kristensen
7aa809e31c
freedreno/a6xx: Create stateobj for VFD_DECODE
...
This now only depends on vertex state and we can create it once
up front in pctx->create_vertex_elements_state().
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5140 >
2020-05-29 18:59:56 +00:00
Kristian H. Kristensen
8952dd6d99
freedreno/a6xx: Decouple VFD_FETCH and VFD_DECODE
...
We used to output a VFD_FETCH entry for each VFD_DECODE, but we can
instead output just one VFD_FETCH per VBO and point multiple
VFD_DECODE entries at the same VFD_FETCH entry. There's typically
fewer VBOs than vertex elements so this is a small win in itselfs, but
more importantly, the VFD_DECODE state now only depends on program
state.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5140 >
2020-05-29 18:59:56 +00:00
Kristian H. Kristensen
c15db8928f
freedreno/a6xx: Move per element offset to VFD_DECODE
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5140 >
2020-05-29 18:59:56 +00:00
Eric Anholt
601a029e67
ci: Rename x86_cross_arm_test to just arm_test.
...
This gets us back to the behavior we used to have for freedreno: clicking
play on arm_test gets you testing of the ARM platforms that aren't under
arm-build (the LAVA runners).
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5247 >
2020-05-29 16:46:44 +00:00
Eric Anholt
9c9ade4685
ci: Don't build an arm_test container now that the last user is gone.
...
db410c and cheza used to use it, and now both are on baremetal.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5247 >
2020-05-29 16:46:44 +00:00
Eric Anholt
6f4fc4ff71
ci: Switch cheza (freedreno a630) testing to baremetal.
...
Now that we have scripts in place to do baremetal testing of cheza, switch
it over. As of this writing, we have 5 chezas for baremetal and 4 for the
old docker CI setup (just 2 fewer than we originally had before this work,
since some had had filesystem failures and I switched those first), and
once we are sure of this we can backport to stable branch CI and move the
rest of them to baremetal.
I've run a lot of jobs through the baremetal scripts as I worked on
sorting out vulkan CTS stability, so I feel good about the stability of
the GLES CTS here.
The options job is now split out to separate jobs, as we don't currently
have a way to stack multiple sets deqp runs with different env vars in a
single baremetal run, and just chaining cros_servo.sh invocations runs
into a lack of cleanup of the serial-watching scripts which we rely on
container exit sorting out for us. This means a little less than 2x the
artifacts downloads we had before for a630 and a few more container
instantiations.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5247 >
2020-05-29 16:46:44 +00:00
Eric Anholt
c89a749f66
ci: Add scripts for controlling bare-metal chezas.
...
This will let us:
- deploy kernels for testing code depending on new kernel featuers
- Ensure a pristine state in the HW before starting our tests
- Avoid disk rot on the chezas taking them out (we'd lost 3/9 in a few
months).
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5247 >
2020-05-29 16:46:44 +00:00
Eric Anholt
3a1010e21a
ci: Build a cheza kernel.
...
This is a set of kernel options I've come up with mostly cribbing from
chrome os's kernel config snippet. We also build an lzma kernel, as
uncompressed kernel is big but lzma is the only compression supported by
the bootloader. With that image, we have to pack it into a FIT formatted
image+dtb blob.
CONFIG_SUNRPC_DEBUG is added so that you can set "nfsrootdebug" to figure
out what's going wrong with your nfs mount (mine were "both the tcp and
nfsvers options were required, and don't try to use 'default' as the root
path to defer to DHCP's answer because otherwise you get
/tftpboot/default, just use an empty root path which doesn't prepend
/tftpboot.")
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5247 >
2020-05-29 16:46:44 +00:00
Eric Anholt
b678568a5e
ci: Disable the firmware loader user helper option in arm64 kernels.
...
We won't have a user helper, so don't block for 60 seconds for it to show
up. Speeds up debug of new kernel builds.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5247 >
2020-05-29 16:46:44 +00:00
Samuel Pitoiset
9d645a19eb
radv/aco: enable VK_KHR_subgroup_extended_types on GFX8+
...
Should be working now.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5148 >
2020-05-29 11:20:58 +00:00
Samuel Pitoiset
e22567089c
aco: sign-extend input/indentity for 32-bit reduce ops on GFX10
...
Because some 16-bit instructions are already VOP3 on GFX10, we use
the 32-bit variants to remove the temporary VGPR and to use DDP with
the arithmetic instructions.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5148 >
2020-05-29 11:20:58 +00:00
Samuel Pitoiset
83dcd1690b
aco: allow gfx10_wave64_bpermute with 8-bit/16-bit input
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5148 >
2020-05-29 11:20:58 +00:00
Samuel Pitoiset
8ece71507d
aco: allocate a temp VGPR for some 8-bit/16-bit reduction ops on GFX10
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5148 >
2020-05-29 11:20:58 +00:00
Samuel Pitoiset
2e0ea9bcca
aco: implement 8-bit/16-bit reductions on GFX10
...
Some 16-bit instructions are VOP3 on GFX10 and we have to emit a
32-bit DPP mov followed by the ALU instruction.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5148 >
2020-05-29 11:20:58 +00:00
Samuel Pitoiset
75a730ced5
aco: fix register allocation for subdword instructions on GFX10
...
Cc: 20.1 <mesa-stable@lists.freedesktop.org >
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5148 >
2020-05-29 11:20:58 +00:00
Bas Nieuwenhuizen
ad609bf55a
frontend/dri: Implement mapping individual planes.
...
It is kinda surprising that
image2 = fromPlanar(image, 2, NULL)
mapImage(..., image2, ...)
does not map the third plane.
This implements that behavior in the case where the DRI frontend
lowers the multi-planar textures.
In the case it doesn't this would need driver support. AFAIU at
least etnaviv is impacted, and while it looks possible, I don't
have the etnaviv knowledge to implement it.
Instead of silently returning weird results (either always plane 0
or possibly something interleaved) this adds an error return on
mapping multi-planar textures otherwise.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5200 >
2020-05-29 09:12:33 +00:00
Vinson Lee
a2ee293422
zink: Check fopen result.
...
Fix warning reported by Coverity.
Dereference null return value (NULL_RETURNS)
dereference: Dereferencing a pointer that might be NULL fp when calling
fwrite.
Fixes: 8d46e35d16 ("zink: introduce opengl over vulkan")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5235 >
2020-05-29 08:59:19 +00:00
Samuel Pitoiset
7503863fe2
radv/aco: enable VK_EXT_subgroup_size_control
...
ACO should already support Wave32 on GFX10 with all shader stages
and CTS pass. RADV currently only allows Wave32 with the compute
shader stage.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5056 >
2020-05-29 10:12:26 +02:00
Rob Clark
6f39126200
freedreno/a6xx: document LRZ flag buffer
...
Doesn't seem to be a big win, although I could still be missing
something in my implementation. But might as well add the
documentation.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5217 >
2020-05-29 00:38:28 +00:00
Rob Clark
a3947f9d24
freedreno/a6xx: LRZ fix for alpha-test
...
Similarly to stencil-test, if alpha-test is enabled, we don't know
necessarily whether the fragment will pass.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3045
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5217 >
2020-05-29 00:38:28 +00:00
Neha Bhende
838666a41d
util: Initialize pipe_shader_state for passthrough and transform shaders
...
mesa/st is initializing pipe_shader_state for user define shaders.
This patch intialized pipe_shader_state for all passthough
and transform shaders.
This fixes crashes for several opengl apps. Issue is found in vmware
internal testing
Fixes: f01c0565bb ("draw: free the NIR IR.")
Reviewed-by: Charmaine Lee <charmainel@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5240 >
2020-05-28 23:27:53 +00:00
Chris Wilson
034329128b
iris: Rename iris_seqno to iris_fine_fence
...
Rename iris_seqno to iris_fine_fence, borrowed from si_fine_fence, to
avoid introducing any confusion with any other seqno used for tracking
pipelines.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5233 >
2020-05-28 12:47:19 -07:00
Gert Wollny
682e14d3ea
nir: lower_tex: Don't normalize coordinates for TXF with RECT
...
v2: remove the option to actually request normalization and its
application in Intel < Gen6 (Jason)
v3: Also don't lower for query operations (Jason)
Fixes: 1ce8060c25
nir/lower_tex: support for lowering RECT textures
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5105 >
2020-05-28 18:39:29 +00:00
Eric Anholt
f0c102c075
ci: Quick exit qpa extraction for non-matching qpas.
...
When you're bringing up a new driver in CI with significant number of
failures (or when a CI run breaks a driver), the QPA extraction can easily
take the whole job timeout as we go about processing each QPA (100 of them
in my early VK CI fails) per unexpected result we're saving (50), which
involves reading and each line of the file in shell. By quickly filtering
out the QPA files not including our test, we can save all that shell
overhead, bringing QPA extract time down to a couple of minutes.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5225 >
2020-05-28 16:23:59 +00:00
Eric Anholt
46d9b500f4
ci: Move baremetal DEQP_NO_SAVE_RESULTS setup to the yml.
...
I'm going to want it unset (artifacts enabled) for the cheza jobs.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5225 >
2020-05-28 16:23:59 +00:00
Eric Anholt
33e0821a99
ci: Add DEQP_EXPECTED_RENDERER support for VK tests.
...
I used this to debug what was going on with freedreno VK in CI.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5225 >
2020-05-28 16:23:59 +00:00
Eric Anholt
6766d51c15
ci: Auto-detect the architecture for VK ICD filenames.
...
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5225 >
2020-05-28 16:23:59 +00:00
Eric Anholt
044f50b9fd
ci: Drop old comment about enabling --deqp-watchdog.
...
The parallel deqp runner does its own 60s watchdog.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5225 >
2020-05-28 16:23:59 +00:00
Eric Anholt
c343d00ede
ci: Drop double ".txt" suffix on the unexpected results file.
...
Just a cosmetic fix in reviewing logs.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5225 >
2020-05-28 16:23:59 +00:00
Samuel Pitoiset
10c4a7cf59
spirv,radv,anv: implement no-op VK_GOOGLE_user_type
...
This extension only allows HLSL shader compilers to optionally embed
unambiguous type information which can be safely ignored by the driver.
This fixes a crash with the recent Vulkan backend of Path Of Exile
(it uses the extension without checking if it's supported).
Cc: <mesa-stable@lists.freedesktop.org >
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5237 >
2020-05-28 17:30:24 +02:00
Rhys Perry
01ce7887bf
aco: fix 64-bit shared_atomic_exchange
...
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/4880 >
2020-05-28 10:34:03 +00:00
Rhys Perry
1f2fd9c62e
aco: don't reorder barriers in the scheduler
...
Unless we're reordering it around a barrier of the same type
No shader-db changes.
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/4880 >
2020-05-28 10:34:03 +00:00
Rhys Perry
e1900ee2c7
aco: preserve more fields when combining additions into SMEM
...
Totals from 11 (0.01% of 127638) affected shaders:
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Fixes: 93c8ebfa78 ('aco: Initial commit of independent AMD compiler')
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4880 >
2020-05-28 10:34:03 +00:00
Rhys Perry
95d5c1b8a1
aco: check instruction format before waiting for a previous SMEM store
...
Totals from 7 (0.01% of 127638) affected shaders:
CodeSize: 40336 -> 40320 (-0.04%)
Instrs: 7807 -> 7803 (-0.05%)
Cycles: 118588 -> 118344 (-0.21%); split: -0.23%, +0.02%
SMEM: 331 -> 339 (+2.42%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Fixes: 1749953ea3 ('aco/gfx10: Wait for pending SMEM stores before loads')
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4880 >
2020-05-28 10:34:03 +00:00
Rhys Perry
5ccc7c277c
aco: consider SDWA during value numbering
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Fixes: 23ac24f5b1
('aco: add missing conversion operations for small bitsizes')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5164 >
2020-05-28 09:55:58 +00:00
Rhys Perry
8aa98cebc1
aco: fix interaction with 3f branch workaround and p_constaddr
...
The offset was incorrect if we inserted a nop before the p_constaddr.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Fixes: 93c8ebfa ('aco: Initial commit of independent AMD compiler')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5164 >
2020-05-28 09:55:58 +00:00
Michel Dänzer
1fc1b87762
gitlab-ci: Pull in GCC 9 from Debian testing in x86_test-gl/vk images
...
The GCC 8 packages from buster are no longer compatible with libc6 from
testing. We could use the GCC 8 packages from testing instead, but this
is easier.
v2:
* Update piglit-quick_gl test results, due to the piglit issue fixed by
https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/294
Reviewed-by: Eric Anholt <eric@anholt.net > # v1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5186 >
2020-05-28 08:01:24 +00:00
Michel Dänzer
c2366f01fd
gitlab-ci: x86_test-base image as common base for x86_test-gl/vk
...
Making use of the relatively recent FDO_BASE_IMAGE feature of the
templates, the x86_test-base image contents are shared as a separate
layer by the x86_test-gl/vk images (meaning the former only needs to be
downloaded once for either or both of the latter). This should be more
efficient in terms of overall network bandwidth and storage, in
particular if the base image changes less often than the -gl/vk ones.
v2:
* List x86_test-base in needs: along with x86_test-gl/vk (see parent
commit)
* Always put $STABLE/TESTING_EPHEMERAL on separate lines, will make it
easier to add any non-ephemeral packages
Reviewed-by: Eric Anholt <eric@anholt.net > # v1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5186 >
2020-05-28 08:01:24 +00:00
Michel Dänzer
43111ea745
gitlab-ci: Also list arm/x86_build in needs: of test jobs
...
Without this, the test jobs may spuriously run if the arm/x86_build
jobs fail.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5186 >
2020-05-28 08:01:24 +00:00
Caio Marcelo de Oliveira Filho
bccf2a25a8
intel: Add helper to calculate GPGPU_WALKER::RightExecutionMask
...
Suggested by Jason.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5142 >
2020-05-27 18:16:31 -07:00
Caio Marcelo de Oliveira Filho
78e400d4a5
iris, i965: Update limits for ARB_compute_variable_group_size
...
The CS compiler now produces multiple SIMD variants, so the previous
trade-off between "always using SIMD32" and "having a smaller max
invocations" is now gone.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5142 >
2020-05-27 18:16:31 -07:00
Caio Marcelo de Oliveira Filho
46b428074f
iris, i965: Drop max_variable_local_size
...
This was used to decide which SIMD width to generate code for
ARB_compute_variable_group_size. Now that compiler will generate
multiple SIMD widths, this information is unused.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5142 >
2020-05-27 18:16:31 -07:00
Caio Marcelo de Oliveira Filho
90ec26a800
intel/fs: Generate multiple CS SIMD variants for variable group size
...
This will make the GL drivers pick the right SIMD variant for a given
group size set during dispatch. The heuristic implemented in
brw_cs_simd_size_for_group_size() is the same as in brw_compile_cs().
The cs_prog_data::simd_size field was removed. The generated SIMD
sizes are marked in a bitmask, which is already used via
brw_cs_simd_size_for_group_size() by the drivers.
When in variable group size, it is OK if larger SIMD shader spill,
since we'd need it for the cases where the smaller one can't hold all
the invocations.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5142 >
2020-05-27 18:16:31 -07:00
Caio Marcelo de Oliveira Filho
9b8347c988
anv: Use new helper functions to pick SIMD variant for CS
...
Also combine the existing individual anv helpers into a single one for
all CS related parameters.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5142 >
2020-05-27 18:16:31 -07:00
Caio Marcelo de Oliveira Filho
594374dd8d
iris: Use new helper functions to pick SIMD variant for CS
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5142 >
2020-05-27 18:16:31 -07:00
Caio Marcelo de Oliveira Filho
c9f4bda6ce
iris: Set CS KernelStatePointer at dispatch
...
There's an update for INTERFACE_DESCRIPTOR_DATA at dispatch, so we can
just move the KSP assignment there. This flexibility will later allow
variable group size to pick the right SIMD variant.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5142 >
2020-05-27 18:16:31 -07:00
Caio Marcelo de Oliveira Filho
ee0fc0f6dc
i965: Use new helper functions to pick SIMD variant for CS
...
Also expand the existing i965 helper to return the other CS related
paramters.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5142 >
2020-05-27 18:16:31 -07:00
Caio Marcelo de Oliveira Filho
cb26d9c311
intel/fs: Add helper to get prog_offset and simd_size
...
This indirection will be used by the variable group size case in a
later change.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5142 >
2020-05-27 18:16:31 -07:00
Caio Marcelo de Oliveira Filho
5b5e77caa7
intel/fs: Support INTEL_DEBUG=no8,no32 in compute shaders
...
The "no32" flag will have precedence over "do32", like is done for FS.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5142 >
2020-05-27 18:16:31 -07:00
Caio Marcelo de Oliveira Filho
10d0f39beb
intel/fs: Remove min_dispatch_width spilling decision from RA
...
Move the decision one level up, let brw_compile_*() functions use the
spilling information to decide whether or not a certain width
compilation can spill (passed via run_*() functions).
The min_dispatch_width was used to compare with the dispatch_width and
decide whether "a previous shader is already available, so don't
accept spill".
This is replaced by:
- Not calling run_*() functions if it is know beforehand a smaller width
already spilled -- since the larger width will spill and fail;
- Explicitly passing whether or not a shader is allowed to spill. For
the cases where the smaller width is available and haven't spilled,
the larger width will be compiled but is only useful if it won't
spill.
Moving the decision to this level will be useful later for variable
group size, which is a case where we want all the widths to be allowed
to spill.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5142 >
2020-05-27 18:16:31 -07:00
Eric Engestrom
9526e14b5c
docs: update calendar, add news item, and link releases notes for 20.1.0
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5234 >
2020-05-27 23:34:32 +00:00
Eric Engestrom
e94a811a46
docs: Add release notes for 20.1.0
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5234 >
2020-05-27 23:34:32 +00:00
Mike Blumenkrantz
dff1bac634
zink: always use logical eq ops in ntv with 1bit inputs
...
integer and float compare ops cannot take boolean types, so the bit size
of the inputs should be checked here so that we can swap to the logical
equality functions if we're being passed a bool value
resolves tons of validator errors in glsl piglit tests
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5231 >
2020-05-27 23:20:22 +00:00
Vinson Lee
df2c68ee4f
pan/bi: Initialize struct fma_op_info member extended.
...
Fix warning reported by Coverity Scan.
Uninitialized scalar variable (UNINIT)
uninit_use: Using uninitialized value info. Field info.extended is
uninitialized.
Fixes: 8c79c710d4 ("pan/bi: Identify extended FMA opcodes")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5224 >
2020-05-27 15:41:21 -07:00
Erico Nunes
b3023055e0
lima/ppir: use a ready list in node_to_instr
...
After the recent optimizations in ppir lowering that increase options
for combining, node_to_instr now may have multiple options of nodes to
insert and needs to decide which is better.
For example, if an instruction uses both a varying and a texture, there
are two nodes nodes that can be inserted to the load varying slot in the
same instruction (ld_var and ld_coords). It is much more advantageous to
pipeline the load texture coords since that enables the higher precision
path for texture coordinates. However, with the current recursive
expansion, this cannot be influenced.
This simple ready list implementation in node_to_instr allows it to
choose the next node to expand based on a priority score, rather than
relying on the random order coming from the recursive expansion.
Other than preferring nodes with pipeline output (which covers ld_coords
vs ld_var), nodes using later slots in the pipeline are now expanded
first, allowing node_to_instr to make all of the earlier (pipelineable)
nodes available in the ready list so the best one can be chosen when
picking nodes for the earlier slots.
Fixes: 632a921bd0 lima/ppir: optimize tex loads with single successor
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5092 >
2020-05-27 21:15:33 +00:00
Alyssa Rosenzweig
9ae8b4af75
pan/bi: Suppress inf/nan for now
...
This is a (hopefully temporary) hack. The blob does it for ES2 at any
rate.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5232 >
2020-05-27 16:58:00 -04:00
Alyssa Rosenzweig
6f589f4e04
pan/bi: Add CSEL.16 packing tests
...
Passing but let's increase coverage.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5232 >
2020-05-27 16:49:45 -04:00
Alyssa Rosenzweig
87ca1c1eea
pan/bi: Pack compact vertex texturing
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5232 >
2020-05-27 16:49:45 -04:00
Alyssa Rosenzweig
6650fa22c7
pan/bi: Add f16 TEXC.vtx op
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5232 >
2020-05-27 16:49:44 -04:00
Alyssa Rosenzweig
731dfc6066
pan/bi: Allow vertex txl with lod=0 as compact
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5232 >
2020-05-27 16:49:44 -04:00
Alyssa Rosenzweig
fd0324a1ce
pan/bi: Document compute_lod bit for compact tex
...
At least I assume this works this way.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5232 >
2020-05-27 16:49:44 -04:00
Alyssa Rosenzweig
d31bc0e21c
pan/bi: Also add compact vertex texturing
...
This implies lod=0.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5232 >
2020-05-27 16:49:44 -04:00
Alyssa Rosenzweig
f514bdd106
pan/bi: Add TEX.vtx opcode for vertex texturing
...
Always has an LOD.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5232 >
2020-05-27 16:49:44 -04:00
Alyssa Rosenzweig
2fd3ad91c7
pan/decode: Decode Bifrost shader flags
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5232 >
2020-05-27 16:49:44 -04:00
Alyssa Rosenzweig
ee6a5a5f05
panfrost: Set MALI_BIFROST_EARLY_Z as necessary
...
Fixes blending.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5232 >
2020-05-27 16:49:44 -04:00
Alyssa Rosenzweig
3f78f25ce9
panfrost: Identify MALI_BIFROST_EARLY_Z flag
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5232 >
2020-05-27 16:49:44 -04:00
Alyssa Rosenzweig
1c2d0418c1
panfrost: Add defines for bifrost unk1 flags
...
Instead of open-coding.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5232 >
2020-05-27 16:49:44 -04:00
Alyssa Rosenzweig
55e3305a5b
panfrost: Document Midgard Inf/NaN suppress bit
...
We should probably not be setting this..
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5232 >
2020-05-27 16:49:44 -04:00
Alyssa Rosenzweig
0e88dff374
panfrost: Ensure nonlinear strides are 16-aligned
...
To match how they are encoded.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Fixes: bde19c0e7b ("panfrost: Fix tiled texture "stride"s on Bifrost")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5232 >
2020-05-27 16:49:43 -04:00
Alyssa Rosenzweig
d45936c01c
panfrost: Identify Bifrost texture format swizzle
...
We don't force w=1 for Bifrost textures. We already compose this into
the swizzle as necessary, so we can just ignore this field I think. But
let's identify it so we don't forget what it is.
The blob uses it to force w=1 for <= 3-channel formats (0x10), as well
as a flag to swap r/b for BGRA (0x4). There are probably other flags
here but it doesn't.. really matter to us.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5232 >
2020-05-27 16:49:43 -04:00
Alyssa Rosenzweig
e3692fd53e
panfrost: Set unk2 to accomodate blending
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5232 >
2020-05-27 16:49:43 -04:00
Alyssa Rosenzweig
3d6cc14513
panfrost: Share MRT blend flag calculation with Bifrost
...
As far as I know the field is the same.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5232 >
2020-05-27 16:49:43 -04:00
Alyssa Rosenzweig
f5cf54fc1d
panfrost: Force Z/S tiling on Bifrost
...
Like we do on SFBD since we don't know the format bits yet.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5232 >
2020-05-27 16:49:43 -04:00
Alyssa Rosenzweig
f512489b2e
panfrost: Tweak Bifrost colour buffer magic
...
For tiled or linear.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5232 >
2020-05-27 16:49:43 -04:00
Alyssa Rosenzweig
76e871d3ff
panfrost: Tweak zsbuf magic numbers for Bifrost
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5232 >
2020-05-27 16:49:43 -04:00
Alyssa Rosenzweig
aeb5801892
panfrost: Adjust null_rt for Bifrost
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5232 >
2020-05-27 16:49:43 -04:00
Alyssa Rosenzweig
83cd3f0b4e
panfrost: Fix Bifrost blending with depth-only FBO
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5232 >
2020-05-27 16:49:41 -04:00
James Zhu
a91306677c
ac/gpu_info: Correct Acturus cu bitmap
...
The cu bitmap in amd gpu info structure is
4x4 size array, and it's usually suitable for Vega
ASICs which has 4*2 SE/SH layout.
But for Arcturus, SE/SH layout is changed to 8*1.
To mostly reduce the impact, we make it compatible
with current bitmap array as below:
SE4,SH0 --> cu_bitmap[0][1]
SE5,SH0 --> cu_bitmap[1][1]
SE6,SH0 --> cu_bitmap[2][1]
SE7,SH0 --> cu_bitmap[3][1]
Signed-off-by: James Zhu <James.Zhu@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5212 >
2020-05-27 10:49:02 -04:00
Danylo Piliaiev
296c04d78c
intel/fs: Work around dual-source blending hangs in combination with SIMD16
...
It was found that dual-source blending hangs with SIMD16 dispatch in some
specific but unknown situation. Which in the wild happen when rgba
anti-aliasing is enabled for fonts.
Cc: <mesa-stable@lists.freedesktop.org >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2183
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5037 >
2020-05-27 14:35:13 +03:00
Erik Faye-Lund
dd2bd68fa6
zink: use general-layout when blitting to/from same resource
...
This avoids a validator warning when for instance generating mipmaps.
Fixes: d2bb63c8d4 ("zink: Use optimal layout instead of general. Reduces valid layer warnings. Fixes RADV image noise.")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5199 >
2020-05-27 09:01:17 +00:00
Pierre-Eric Pelloux-Prayer
d9eaac02e5
radeonsi/drirc: enable zerovram option for 7 Days to Die
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2686
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5168 >
2020-05-27 09:28:46 +02:00
Jonathan Marek
ddfd2e626a
turnip: support VkImageDrmFormatModifierExplicitCreateInfoEXT
...
This will be used to import images which have different layout from what
turnip uses by default. For example non-UBWC (linear) images from the video
decoder on some hardware have a 512 pitch alignment.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4596 >
2020-05-27 04:02:58 +00:00
Jonathan Marek
da409fb7b8
freedreno/layout: add explicit offset/pitch argument to fdl6_layout
...
fdl6_layout will return false when the explicit pitch is not valid.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4596 >
2020-05-27 04:02:58 +00:00
Timothy Arceri
f1acf492de
glsl: fix slow linking of uniforms in the nir linker
...
Currently the nir linker resizes the amount of storage needed to hold
uniform information on the fly while linking. As shaders can contain
thousands of uniforms this can be very slow. For example some Godot
shaders can take 30 seconds to compile on some machines.
In this change we count the amount of storage needed before we start
processing the uniforms. This is what the GLSL IR linker does also.
Fixes: 95f555a93a ("st/glsl_to_nir: make use of nir linker for linking uniforms")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2996
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5137 >
2020-05-27 00:59:20 +00:00
Timothy Arceri
f6214750eb
glsl: stop cascading errors if process_parameters() fails
...
Generally we do not completely stop compilation as soon as we see an error,
instead we continue on to attemp to find any futher errors.
This means we shouldn't be checking state->error to see if any error has
happened during the compilation process, doing so was causing
process_parameters() to fail on completely valid functions if there was
any error found in the shader previously. This then caused the valid
functions not to be found because the paramlist was considered empty,
resulting in the compiler spewing out misleading error messages.
Here we simply add the IR error value to the param list when we have
an issue with processing a parameter, this leads to much better error
messaging.
Fixes: 53e4159eaa ("glsl: stop processing function parameters if error happened")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5205 >
2020-05-27 00:31:05 +00:00
Vinson Lee
755c040060
freedreno: Add missing va_end.
...
Fix warning reported by Coverity Scan.
Missing varargs init or cleanup (VARARGS)
missing_va_end: va_end was not called for ap.
Fixes: a0ca1462f3 ("freedreno: add logging infrastructure")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5221 >
2020-05-27 00:12:38 +00:00
Jason Ekstrand
e91108691d
nir: Fix sources for image atomic fadd
...
Somehow we ended up with an extra scalar source up-front. It doesn't
look like any drivers use this opcode yet so no real harm has been done
by it being wrong.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5218 >
2020-05-26 23:24:45 +00:00
Alyssa Rosenzweig
247f2fb32a
pan/decode: Dump unknown2
...
Looks to be 0.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5219 >
2020-05-26 22:58:21 +00:00
Alyssa Rosenzweig
6a19d49b2e
pan/decode: Dump missing field on Bifrost
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5219 >
2020-05-26 22:58:21 +00:00
Alyssa Rosenzweig
c2c8b1ac57
pan/decode: Fix tiler warning
...
../src/panfrost/pandecode/decode.c:1176:60: warning: taking address of
packed member of ‘struct mali_framebuffer’ may result in an unaligned
pointer value [-Waddress-of-packed-member]
1176 |
pandecode_midgard_tiler_descriptor(&fb->tiler, fb->width1 + 1,
fb->height1 + 1, is_fragment, true);
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5219 >
2020-05-26 22:58:21 +00:00
Alyssa Rosenzweig
4bc7d521b1
pan/decode: Fix unused variable warning
...
Check unused for now.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5219 >
2020-05-26 22:58:21 +00:00
Alyssa Rosenzweig
a621235720
nouveau: Use SATURATE
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5100 >
2020-05-26 22:31:31 +00:00
Alyssa Rosenzweig
9e53562980
etnaviv: Use SATURATE
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5100 >
2020-05-26 22:31:31 +00:00
Alyssa Rosenzweig
bb5e10af24
iris: Use SATURATE
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5100 >
2020-05-26 22:31:31 +00:00
Alyssa Rosenzweig
17199107fd
i965: Use SATURATE
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5100 >
2020-05-26 22:31:31 +00:00
Alyssa Rosenzweig
f59d02a86d
intel: Use SATURATE
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5100 >
2020-05-26 22:31:31 +00:00
Alyssa Rosenzweig
7ea2ad0b39
softpipe: Use SATURATE
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5100 >
2020-05-26 22:31:31 +00:00
Alyssa Rosenzweig
9983c4cd68
panfrost: Use SATURATE
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5100 >
2020-05-26 22:31:31 +00:00
Alyssa Rosenzweig
82996a8cff
glsl: Use SATURATE
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5100 >
2020-05-26 22:31:31 +00:00
Alyssa Rosenzweig
a024b39427
gallium/draw: Use SATURATE
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5100 >
2020-05-26 22:31:31 +00:00
Alyssa Rosenzweig
747cb95e3c
mesa/swrast: Use SATURATE
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5100 >
2020-05-26 22:31:31 +00:00
Alyssa Rosenzweig
05bacdb917
mesa: Use SATURATE
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5100 >
2020-05-26 22:31:31 +00:00
Alyssa Rosenzweig
0f1fde1faf
util/format: Use SATURATE
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5100 >
2020-05-26 22:31:31 +00:00
Alyssa Rosenzweig
35938c15e2
util: Add SATURATE macro
...
Equivalent to clamp(x, 0.0, 1.0) or fsat in NIR. Useful for format
packing, among other uses given the variety of substituions in-tree.
v2: Drop brackets (Eric).
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5100 >
2020-05-26 22:31:31 +00:00
Caio Marcelo de Oliveira Filho
8cc7711924
intel/fs: Remove redundant assert()
...
This is covered by the two previous similar asserts. Each time `v` is
assigned this is asserted.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5213 >
2020-05-26 20:35:03 +00:00
Caio Marcelo de Oliveira Filho
462bc408fe
intel/fs: Early return when can't satisfy explicit group size
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5213 >
2020-05-26 20:35:03 +00:00
Caio Marcelo de Oliveira Filho
2a308ee4c7
intel/fs: Remove unused state from brw_nir_lower_cs_intrinsics
...
After 2663759af0 ("intel/fs: Add and use a new load_simd_width_intel
intrinsic") the local_workgroup_size is not used anymore except for
assertions at the pass' start, so drop it from state struct.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5213 >
2020-05-26 20:35:03 +00:00
Caio Marcelo de Oliveira Filho
5e0525e145
intel/fs: Remove unused emission of load_simd_with_intel
...
The nir_intrinsic_load_simd_width_intel is always lowered by the
brw_nir_lower_simd() pass before the emission happens. This is likely
a "leftover" from patch rewriting/squashing that happened when this
intrinsic was added.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5213 >
2020-05-26 20:35:03 +00:00
Kristian H. Kristensen
a5a413e19a
egl/android: Drop unused variable
...
src/egl/drivers/dri2/platform_android.c:332:29: warning: unused
variable 'dri2_dpy' [-Wunused-variable]
Reviewed-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5174 >
2020-05-26 12:46:18 -07:00
Kristian H. Kristensen
09efdccf4a
egl/android: Move get_format under HAVE_DRM_GRALLOC guard where it's used
...
src/egl/drivers/dri2/platform_android.c:159:12: warning: unused
function 'get_format' [-Wunused-function]
Reviewed-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5174 >
2020-05-26 12:46:18 -07:00
Kristian H. Kristensen
c26317ebd6
mesa/st: Use memset to zero out struct
...
This is a non-stop source of warnings and build breakage. memset works
everywhere.
src/mesa/state_tracker/st_tgsi_lower_depth_clamp.c:354:45: warning:
suggest braces around initialization of subobject [-Wmissing-braces]
Reviewed-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5174 >
2020-05-26 12:46:18 -07:00
Kristian H. Kristensen
12653beacb
mapi: Fix a couple of warning in generated code
...
safe_mul may not be used and clang doesn't understand the "optimize"
attribute.
src/mapi/glapi/gen/marshal_generated0.c:1216:16: warning: unknown
attribute 'optimize' ignored [-Wunknown-attributes]
src/mapi/glapi/gen/marshal_generated0.c:36:19: warning: unused
function 'safe_mul' [-Wunused-function]
Reviewed-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5174 >
2020-05-26 12:46:18 -07:00
Kristian H. Kristensen
8341f30f1e
src/util: Remove out-of-range comparison
...
Silence the warning about this always-true comparison.
src/util/softfloat.c:214:42: warning: comparison of constant 32768
with expression of type 'int16_t' (aka 'short') is always false
[-Wtautological-constant-out-of-range-compare]
} else if ((e > 0x1d) || (0x8000 <= m)) {
~~~~~~ ^ ~
Reviewed-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5174 >
2020-05-26 12:46:18 -07:00
Kristian H. Kristensen
f4e64e9f53
freedreno/ir3: Avoid {0} initializer for struct reginfo
...
First element is not a scalar. Just initialize the struct like we do
elsewhere.
src/freedreno/ir3/disasm-a3xx.c:958:33: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5174 >
2020-05-26 12:46:18 -07:00
Kristian H. Kristensen
06ab93d694
turnip: Use {} initializer to silence warning
...
We're already using the {} syntax elsewhere in turnip.
src/freedreno/vulkan/tu_formats.c:828:71: warning: suggest braces
around initialization of subobject [-Wmissing-braces]
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5174 >
2020-05-26 12:46:18 -07:00
Kristian H. Kristensen
697fe1c801
turnip: Use tu6_reduction_mode() to avoid warning
...
This makes it a little more explicit that the values line up.
src/freedreno/vulkan/tu_device.c:2209:75: warning: implicit conversion
from enumeration type 'const VkSamplerReductionMode' (aka 'const enum
VkSamplerReductionMode') to different enumeration type 'enum
a6xx_reduction_mode' [-Wenum-conversion]
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5174 >
2020-05-26 12:46:18 -07:00
Kristian H. Kristensen
fff17707ea
turnip: Use hw enum when emitting A6XX_RB_STENCIL_CONTROL
...
We're hard-coding this value, so let's use the hw enum and avoid a
warning.
src/freedreno/vulkan/tu_clear_blit.c:2091:19: warning: implicit
conversion from enumeration type 'enum VkStencilOp' to different
enumeration type 'enum adreno_stencil_op' [-Wenum-conversion]
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5174 >
2020-05-26 12:46:18 -07:00
Rob Clark
6aa3004d60
freedreno/gmem: split out helper to calc # of bins
...
Gets the `nbins_x`/`y` local vars out of the main layout function,
to prevent any confusion like what was fixed in the previous patch
from sneaking back in.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5189 >
2020-05-26 19:29:34 +00:00
Rob Clark
fcecdcd822
freedreno/gmem: fix nbins_x/y mismatch
...
`layout_gmem()` recalculates the # of bins in x/y dimensions after
aligning the bin width/height to required dimensions. Because of this,
the resulting gmem config could have fewer bins in either dimension.
But the tile/bin layout and the pipe assignment logic were still using
the original values. Which could result in extraneous bins with a
width and/or height of zero.
Because the gmem rendering code uses `gmem->bin_w`/`h` to determine
the number of bins, this could result in some zero size bins being
executed, while later valid bins are skipped. Which can leave un-
rendered portions of the screen (generally lower-right).
To fix this, be sure to use `gmem->bin_w`/`h` rather than the local
variables.
Fixes: 1bd38746d5 ("freedreno/gmem: rework gmem layout algo")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5189 >
2020-05-26 19:29:34 +00:00
Rob Clark
9b91d88b33
freedreno/gmem: add some asserts
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5189 >
2020-05-26 19:29:34 +00:00
Rob Clark
1679efe927
freedreno/gmemtool: add verbose mode
...
And real getopt arg parsing.. now that we have one.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5189 >
2020-05-26 19:29:34 +00:00
Rob Clark
9c6693f0e4
freedreno/gmemtool: add a405
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5189 >
2020-05-26 19:29:34 +00:00
Rob Clark
b20663c5ba
freedreno/gmemtool: make GMEM alignment per-gen
...
`gmem_page_align` is generation specific (with the exception of a2xx
which has a different value for fast-clear). So we should override the
value from the captured gmem_key according to the gpu we are emulating
for the purposes of calculating gmem config.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5189 >
2020-05-26 19:29:34 +00:00
Rob Clark
fec8288081
freedreno/gmem: make noscis debug actually do something on a6xx
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5188 >
2020-05-26 19:14:22 +00:00
Rob Clark
3024d00900
freedreno: handle PIPE_TRANSFER_MAP_DIRECTLY
...
Just something I noticed in the process of debugging the issue fixed in
the previous commit.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5188 >
2020-05-26 19:14:22 +00:00
Rob Clark
8728c42031
freedreno: clear last_fence after resource tracking
...
The resource tracking in the clear/draw_vbo/blit paths could itself
trigger a flush. Which would update last_fence. So we need to clear
last_fence *after* all the dependency tracking.
Fixes: ddb7fadaf8 ("freedreno: avoid no-op flushes by re-using last-fence")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2992
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5188 >
2020-05-26 19:14:22 +00:00
Rob Clark
4c97a716a6
freedreno: add batch debugging
...
Something I cooked up in the process of debugging the issue fixed in the
next commit. Might come in useful again in the future.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5188 >
2020-05-26 19:14:22 +00:00
Rhys Perry
8e2009c448
nir: fix lowering to scratch with boolean access
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Fixes: 18ed82b084
('nir: Add a pass for selectively lowering variables to scratch space')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5214 >
2020-05-26 18:54:17 +00:00
Kristian H. Kristensen
e369b8931c
freedreno: Use explicit *_NONE enum for undefined formats
...
This adds RB, VFMT and TFMT NONE values for a3xx-a5xx and FMT6_NONE
for a6xx. Use those values instead of open coded (enum xxx) ~0 or
sometimes even ~0, which triggers out-of-enum range warnings.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5173 >
2020-05-26 18:35:03 +00:00
Eric Anholt
5ec3747fbe
freedreno/ir3: Use RESINFO for a6xx image size queries.
...
The closed GL driver uses resinfo on images with the writeonly flag (using
the texture-path's getsize only for readonly images). The closed vulkan
driver seems to use resinfo regardless. Using resinfo doesn't need any
fixups after the instruction. It also avoids one of the needs for the
TEX_CONST state for the image, which is awkward to set up in the GL
driver.
The new handler goes into ir3_a6xx to be next to the other current image
code, but the a4xx version is left in place because it wants a bunch of
sampler helpers.
Fixes assertion failure in dEQP-VK.image.image_size.buffer.readonly_32.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3501 >
2020-05-26 18:17:46 +00:00
Eric Anholt
2ec4c53ef9
freedreno/ir3: Move handle_bindless_cat6 to compiler_nir and reuse.
...
There was an open coded version for ldc, and now we can drop that. I
needed to do it for resinfo as well.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3501 >
2020-05-26 18:17:46 +00:00
Eric Anholt
2068b01430
freedreno/ir3: Refactor out IBO source references.
...
All the users of the unsigned result just wanted an ir3_instruction to
reference. Move a6xx's helpers to ir3_image.c and inline the old unsigned
results version.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3501 >
2020-05-26 18:17:46 +00:00
Eric Anholt
00b9099dd5
freedreno: Set the immediate flag in a4/a5xx resinfos.
...
Noticed comparing our RESINFO asm to qcom's for the same test, and if I
drop this bit their disasm switches from immediate to reg. ldgb seems to
have the same behavior.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3501 >
2020-05-26 18:17:46 +00:00
Eric Anholt
ae00da5ddb
freedreno: Fix resinfo asm, which doesn't have srcs besides IBO number.
...
In the process, clarify what's going on with the LDC/LDIB case.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3501 >
2020-05-26 18:17:46 +00:00
Eric Anholt
c1cb75678d
freedreno: Add more resinfo/ldgb testcases.
...
Since I'm going to start using the resinfo opcode, make sure we can disasm
the blob's instances of it that I've found. And, since resinfo disasm
will impact ldgb on pre-a6xx, include some of those too.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3501 >
2020-05-26 18:17:46 +00:00
Eric Anholt
5d4a911d8c
freedreno: Fix printing of unused src in disasm of cat6 RESINFO.
...
Compare to QC's disasm right next to ours, and we clearly had an extra src
that wouldn't make sense.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3501 >
2020-05-26 18:17:46 +00:00
Eric Anholt
4f02b48071
freedreno/a6xx: Fix the size of buffer image views.
...
We were using the size of the underlying buffer (in R8 elements), while we
need to be using the size of the image view (which may be a subset of the
underlying buffer, and may be in a different format from R8).
This fix means less dereferencing off of the end of shader image views for
buffer images, but more importantly is needed to get the right answer from
resinfo if we are to switch to that.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3501 >
2020-05-26 18:17:46 +00:00
Connor Abbott
3987e25c03
tu: Add missing storage image/texel buffer bits
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5122 >
2020-05-26 11:16:09 +00:00
Connor Abbott
439a4ac025
tu: Respect VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT
...
This came up with some image tests that are enabled by the next commit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5122 >
2020-05-26 11:16:09 +00:00
Connor Abbott
08d22bb908
tu: Fix IBO descriptor for cubes
...
They act the same as 2D arrays when used as storage images, and we're
supposed to override the IBO descriptor to reflect this.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5122 >
2020-05-26 11:16:09 +00:00
Marcin Ślusarz
f7ab9c4eb1
glsl: cleanup vertex shader input checks
...
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5133 >
2020-05-26 10:15:17 +00:00
Marcin Ślusarz
e89d34aaca
glsl_to_tgsi: add fallthrough comments
...
All those cases are supposed to hit an assert in ir_binop_bit_or case.
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5133 >
2020-05-26 10:15:17 +00:00
Marek Olšák
38a4b86145
radeonsi/gfx10: implement most performance counters
...
PAL has all of them.
GE perf counters don't work - no idea why.
I only tested the few that I like to use.
There is no documentation, though most of the enums had already been
in the headers.
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5184 >
2020-05-26 06:00:54 -04:00
Marek Olšák
2a3806ffa3
amd: replace SH -> SA (shader array) in comments
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5184 >
2020-05-26 06:00:54 -04:00
Marek Olšák
2cf46f2e3d
ac/gpu_info: replace num_good_cu_per_sh with min/max_good_cu_per_sa
...
Perf counters use the new max number.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5184 >
2020-05-26 06:00:54 -04:00
Marek Olšák
8c3fe285c9
radeonsi: don't hardcode most perf counter block counts
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5184 >
2020-05-26 06:00:54 -04:00
Erik Faye-Lund
f3c1833b77
docs/features: mark GL_ARB_texture_multisample as done for zink
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5159 >
2020-05-26 07:55:17 +00:00
Erik Faye-Lund
cd1639cbe3
zink: expose PIPE_CAP_TEXTURE_MULTISAMPLE
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5159 >
2020-05-26 07:55:17 +00:00
Erik Faye-Lund
4f90e818c8
zink: implement nir_texop_txf_ms
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5159 >
2020-05-26 07:55:17 +00:00
Gert Wollny
caa83e4d79
r600/sfn: remove debug output leftover
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5187 >
2020-05-26 06:17:42 +00:00
Gert Wollny
cead23cb8a
r600/sfn: Correctly update the number of literals when forcing a new
...
group
When forcing a new instruction group by adding a ALU_OP_NOP, the
literals for the instruction that triggered this must be taken into
account for the next group, so update the number of literals
accordingly.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5187 >
2020-05-26 06:17:42 +00:00
Gert Wollny
12381a0410
r600/sfn: use modern c++ in printing LDS read instruction
...
Closes #3021
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5187 >
2020-05-26 06:17:42 +00:00
Gert Wollny
eccf939b6f
r600/sfn: Fix mapping for f32tof64 and f64tof32
...
We define the mapping based on the vector unit opcode.
Closes #3013
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5187 >
2020-05-26 06:17:42 +00:00
Gert Wollny
901793d558
r600: Fix duplicated subexpression in r600_asm.c
...
Fixes: 4422ce1b04
r600: force new CF with TEX only if any texture value is written
Closes #3012
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5187 >
2020-05-26 06:17:42 +00:00
Rob Clark
ceab349483
freedreno/drm: disallow exported buffers in bo cache
...
Otherwise we can MADVISE(WONTNEED) a bo that someone else is still
using. We already handled that in the dma-buf and flink-name export
paths.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5204 >
2020-05-25 20:47:24 +00:00
Vinson Lee
1241f8cb4c
r600/sfn: Use correct setter method.
...
Fix warning reported by Coverity Scan.
Useless call (USELESS_CALL)
side_effect_free: Calling v->pin_to_channel() is only useful for its
return value, which is ignored.
Fixes: 5d10e3ec60 ("r600/nir: Pin interpolation results to channel")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5197 >
2020-05-25 20:34:36 +00:00
Erik Faye-Lund
ed1fd7bcc6
zink: pass batch instead of context for queries
...
This makes things a bit more consistent IMO.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5141 >
2020-05-25 20:20:49 +00:00
Erik Faye-Lund
43c691b5b0
zink: do not dig into resource for nr_samples
...
The pipe_surface also know this, so no point in digging so deep.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5141 >
2020-05-25 20:20:49 +00:00
Erik Faye-Lund
e38513e828
zink: use samples from state
...
There's no reason to compute this, when it's already passed in.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5141 >
2020-05-25 20:20:49 +00:00
Alyssa Rosenzweig
fcbc022787
nir: Add un/pack_32_4x8 opcodes
...
Complement the existing un/pack_32_2x16 opcodes. These are useful for
8-bit format packing. On Midgard, they are equivalent to just a 32-bit
move, but other GPUs could lower to other packs if needed.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5107 >
2020-05-25 20:03:52 +00:00
Dmitriy Nester
46d5b07c5c
util: delete fnv1a hash function
...
xxhash is faster than fnv1a in almost all circumstances, so we're
switching to it globally.
Signed-off-by: Dmytro Nester <dmytro.nester@globallogic.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2405
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4020 >
2020-05-25 19:41:09 +00:00
Dmitriy Nester
bf4d652f3f
zink: replace fnv1a hash function with xxhash
...
xxhash is faster than fnv1a in almost all circumstances, so we're
switching to it globally.
Signed-off-by: Dmytro Nester <dmytro.nester@globallogic.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4020 >
2020-05-25 19:41:09 +00:00
Dmitriy Nester
33fd35e2d3
r600: replace fnv1a hash function with xxhash
...
xxhash is faster than fnv1a in almost all circumstances, so we're
switching to it globally.
Signed-off-by: Dmytro Nester <dmytro.nester@globallogic.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4020 >
2020-05-25 19:41:09 +00:00
Dmitriy Nester
387176829b
util/hash_table: replace fnv1a hash function with xxhash
...
xxhash is faster than fnv1a in almost all circumstances, so we're
switching to it globally.
Signed-off-by: Dmytro Nester <dmytro.nester@globallogic.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4020 >
2020-05-25 19:41:09 +00:00
Dmitriy Nester
013df58498
i965: replace fnv1a hash function with xxhash
...
xxhash is faster than fnv1a in almost all circumstances, so we're
switching to it globally.
Signed-off-by: Dmytro Nester <dmytro.nester@globallogic.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4020 >
2020-05-25 19:41:09 +00:00
Dmitriy Nester
edd62619a1
freedreno: replace fnv1a hash function with xxhash
...
xxhash is faster than fnv1a in almost all circumstances, so we're
switching to it globally.
Signed-off-by: Dmytro Nester <dmytro.nester@globallogic.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4020 >
2020-05-25 19:41:09 +00:00
Dmitriy Nester
0e9af02323
nir: replace fnv1a hash function with xxhash
...
xxhash is faster than fnv1a in almost all circumstances, so we're
switching to it globally.
Signed-off-by: Dmytro Nester <dmytro.nester@globallogic.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4020 >
2020-05-25 19:41:09 +00:00
Alyssa Rosenzweig
1d647b1c48
panfrost: Only run batch debug when specifically asked
...
It's expensive and in a hot path; even for general debug builds we won't
need this, only if we're specifically hacking on batch code.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5202 >
2020-05-25 16:01:18 +00:00
Alyssa Rosenzweig
4c5d1e2860
panfrost: Add debug print before query flushes
...
Just so we know if they're happening.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5202 >
2020-05-25 16:01:18 +00:00
Bas Nieuwenhuizen
be784cc77b
radv: Implement vkGetSwapchainGrallocUsage2ANDROID.
...
This was implemented in version 6 of the VK_ANDROID_native_buffer
extension and we only implement version 5. However, the Android
Vulkan loader only checks whether vkGetInstanceProcAddr for the
function is not NULL.
This all went wrong when we switched to the layer code from ANV.
Because the function may now be different per device, it adds fallback
functions that dispatch to the dispatch table. So if we didn't implement
the function we still returned a pointer to the dispatch function,
which made the Android Vulkan loader believe it was supported.
Dispatch functions:
d555794f30/src/amd/vulkan/radv_entrypoints_gen.py (L328)
Fixes: d555794f30 "radv: update entrypoints generation from ANV"
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2936
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5198 >
2020-05-25 15:34:44 +00:00
Simon Ser
9a74746bd1
EGL: sync headers with Khronos
...
Taken from EGL-Registry commit 90b78b0662e2f0548cfd1926fb77bf628933541b.
With this update EGL_WL_bind_wayland_display and
EGL_WL_create_wayland_buffer_from_image are now in the registry, so we
don't need to define them in eglmesaext.h anymore.
The eglSwapBufferWithDamage* functions now take a const rects argument.
The eglapi.c function signature is updated accordingly.
Signed-off-by: Simon Ser <contact@emersion.fr >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4953 >
2020-05-25 14:06:38 +00:00
Danylo Piliaiev
045267d1e6
st/mesa: Clear texture's views when texture is removed from Shared->TexObjects
...
If texture is shared between several contexts, calling glDeleteTextures
will remove it from ctx->Shared->TexObjects - which makes impossible for
contexts, when destroyed, to release their views to this texture. Which
leaves dangling pointers to destroyed contexts.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2960
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Reviewed-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/5106 >
2020-05-25 12:32:16 +00:00
Bas Nieuwenhuizen
a51ab5f956
radv: Do not close fd -1 when NULL-winsys creation fails.
...
Fixes: cd6ec2b1ab "radv: implement a dummy winsys for creating devices without AMDGPU"
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5181 >
2020-05-25 11:12:07 +00:00
Bas Nieuwenhuizen
cd0c5b64cc
radv: Remove dead code.
...
pool is always non-NULL, and is also accessed before this check
in the function, so remove the pool = NULL case.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5181 >
2020-05-25 11:12:07 +00:00
Bas Nieuwenhuizen
cd61f5234d
radv: Handle failing to create .cache dir.
...
Fixes: f4e499ec79 "radv: add initial non-conformant radv vulkan driver"
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5181 >
2020-05-25 11:12:07 +00:00
Bas Nieuwenhuizen
906435fb0e
radv/winsys: Remove extra sizeof multiply.
...
The pointer is already uint64_t*, so the sizeof was too much ...
Fixes: eeff7e1154 "radv: Add userspace fence buffer per context."
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5181 >
2020-05-25 11:12:07 +00:00
Michel Dänzer
6c99de98ec
gitlab-ci: Enable -Werror in meson-s390x job
...
It's warning-clean.
v2:
* Prevent -Werror from being enabled in `meson-ppc64le` job as well
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5185 >
2020-05-25 08:49:25 +00:00
Samuel Pitoiset
b3c0f82841
radv: advertise VK_AMD_texture_gather_bias_lod
...
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/5147 >
2020-05-25 08:51:10 +02:00
Samuel Pitoiset
2e265b94a2
radv: add support for querying which formats support texture gather LOD
...
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/5147 >
2020-05-25 08:51:10 +02:00
Samuel Pitoiset
94570e87bd
aco: add support for bias/lod with texture gather
...
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/5147 >
2020-05-25 08:51:10 +02:00
Samuel Pitoiset
e99c818cf0
ac/nir: add support for bias/lod with texture gather
...
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/5147 >
2020-05-25 08:51:10 +02:00
Samuel Pitoiset
41dc3ce449
spirv: add support for bias/lod with OpImageGather
...
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/5147 >
2020-05-25 08:51:10 +02:00
Samuel Pitoiset
dd39bf52b0
spirv: add SpvCapabilityImageGatherBiasLodAMD
...
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/5147 >
2020-05-25 08:51:10 +02:00
Yevhenii Kolesnikov
c7943343a0
glsl: subroutine signatures must match exactly
...
From GLSL 4.60.7 spec, section 6.1.2 "Subroutines":
It is a compile-time error if arguments and return type don’t match
between the function and each associated subroutine type.
Before, if subroutine type and implementation function were declared
with types, that could be implicitly converted, it led to a runtime crash.
Signed-off-by: Yevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5125 >
2020-05-24 23:55:44 +00:00
Samuel Pitoiset
5bc18b79a4
radv: advertise shaderDeviceClock on GFX8+
...
Unsupported on GFX6-GFX7.
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/5117 >
2020-05-24 20:37:59 +02:00
Samuel Pitoiset
14292310d9
ac/nir: implement nir_intrinsic_shader_clock with device scope
...
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/5117 >
2020-05-24 20:37:58 +02:00
Samuel Pitoiset
b034f6cf2a
ac/nir: fix shader clock with subgroup scope
...
The compiler should emit s_memtime instead of s_memrealtime for
the subgroup scope. I don't know why this LLVM 9 checks was for
but LLVM 8 also has this amdgcn intrinsic.
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/5117 >
2020-05-24 20:37:54 +02:00
Samuel Pitoiset
cecd4aad46
aco: implement nir_intrinsic_shader_clock with device scope
...
Use s_memrealtime instead.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5117 >
2020-05-24 20:37:52 +02:00
Samuel Pitoiset
37c88c670f
spirv: add ReadClockKHR support with device scope
...
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/5117 >
2020-05-24 20:37:50 +02:00
Samuel Pitoiset
769bf48d16
radv: remove useless assignment in build_streamout_vertex()
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3025
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/5158 >
2020-05-24 18:28:07 +00:00
Samuel Pitoiset
e1fa60838e
radv: cleanup physical device features
...
Similar to the physical device properties.
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/5116 >
2020-05-24 20:06:03 +02:00
Samuel Pitoiset
198e5e2e9e
radv: do not return from radv_GetPhysicalDeviceFeatures2()
...
This function returns void.
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/5116 >
2020-05-24 20:06:02 +02:00
Christopher Egert
c130a3402e
r600: Use TRUNC_COORD on samplers
...
As per d573d1d825 the same should be done
here. It seems like TRUNCATE_COORD not available on r600, so this is
limited to evergreen.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5078 >
2020-05-24 01:40:50 +02:00
Vinson Lee
4174a13459
panfrost: Ensure final.no_colour is initialized.
...
Fix warning reported by Coverity Scan.
Uninitialized scalar variable (UNINIT)
uninit_use: Using uninitialized value final. Field final.no_colour is
uninitialized.
Fixes: 3e4e849e6a ("panfrost: Disable tib read/write when colourmask = 0x0")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5183 >
2020-05-23 21:00:52 +00:00
Vinson Lee
73c0f60d8c
r600/sfn: Initialize VertexStageExportForGS m_num_clip_dist member variable.
...
Fix warning reported by Coverity Scan.
Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member m_num_clip_dist is not
initialized in this constructor nor in any functions that it calls.
Fixes: f7df2c57a2 ("r600/sfn: extract class to handle the VS export to different stages")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5180 >
2020-05-23 20:47:07 +00:00
Vinson Lee
76a2aeeef3
llvmpipe: Fix variable name.
...
Fix warning reported by Coverity Scan.
Unused value (UNUSED_VALUE)
assigned_value: Assigning value from res->nr_samples to
jit_tex->sample_stride here, but that stored value is overwritten before
it can be used.
Fixes: 2e5cddacf7 ("llvmpipe: add num_samples/sample_stride support to jit textures")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3022
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5179 >
2020-05-23 20:30:15 +00:00
Eric Engestrom
4e147e2c94
docs: drop no-longer-relevant comment about bugzilla
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5172 >
2020-05-23 16:06:40 +00:00
Eric Engestrom
444138d6d9
tree-wide: fix deprecated GitLab URLs
...
They will stop working in the next GitLab release, so let's update them
ASAP to make sure things are propagated to everyone by then.
See:
https://about.gitlab.com/releases/2020/05/06/gitlab-com-13-0-breaking-changes/#removal-of-deprecated-project-paths
Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5111 >
2020-05-23 15:33:50 +00:00
Marek Olšák
9375e72d8d
radeonsi/gfx8: enable TC-compatible HTILE from the beginning as before
...
Fixes: 0d83e7f4b9 - radeonsi: enable TC-compatible HTILE on demand for best Z/S performance
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2921
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2967
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5095 >
2020-05-23 03:45:07 -04:00
Marek Olšák
d30e1e486d
radeonsi: don't enable TC-compatible HTILE for stencil if stencil doesn't use it
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5095 >
2020-05-23 03:45:09 -04:00
Marek Olšák
caeb44aa24
radeonsi: split si_all_descriptors_begin_new_cs and rename functions
...
A future commit will extend it.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5095 >
2020-05-23 03:45:07 -04:00
Marek Olšák
7b6b35c6b5
radeonsi: move resetting tracked registers into a new function
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5095 >
2020-05-23 03:45:07 -04:00
Marek Olšák
3509d3bd53
ac: update register and packet definitions for preemption
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5095 >
2020-05-23 03:45:07 -04:00
Marek Olšák
56af131f33
Revert "radeonsi: don't wait for idle at the end of gfx IBs"
...
This reverts commit 266fec1307 .
The kernel doesn't wait for idle as part of implicit sync.
Fixes: 266fec1307
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2950
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5095 >
2020-05-23 03:44:44 -04:00
Marek Olšák
3f1f23239a
radeonsi: decrease the max GS invocation count to 32
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5095 >
2020-05-23 03:44:44 -04:00
Marek Olšák
3cd96b5109
radeonsi: don't use INDIRECT_BUFFER within IBs
...
It's fragile. If I change the size or alignment, it hangs. Better safe than
sorry.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5095 >
2020-05-23 03:44:44 -04:00
Marek Olšák
8db739880a
ac/surface: don't compute single-sample CMASK if it's unaligned
...
Displayable DCC can cause this and fail the assertion later.
Fixes: cf61f635ff
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5095 >
2020-05-23 03:44:44 -04:00
Marek Olšák
21504eab78
ac/gpu_info: compute the best safe IB alignment
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5095 >
2020-05-23 03:44:44 -04:00
Kristian H. Kristensen
5f365affc9
freedreno: Use the right amount of &'s
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5176 >
2020-05-22 15:03:55 -07:00
Vinson Lee
1f33ca1fed
freedreno: Add missing break statement.
...
Reported-by: Coverity Scan
Fixes: 5a6beb6a24 ("freedreno: add adreno 650")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5169 >
2020-05-22 19:08:30 +00:00
Jason Ekstrand
f0e075ce6e
nir/copy_prop_vars: Record progress in more places
...
Fixes: 96c32d7776 "nir/copy_prop_vars: handle load/store of vector..."
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5170 >
2020-05-22 18:41:15 +00:00
Jason Ekstrand
db6d9cdf06
nir/opt_deref: Report progress if we remove a deref
...
Fixes: a1c688517d "nir/opt_deref: Properly optimize ptr_as_array..."
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5170 >
2020-05-22 18:41:15 +00:00
Jason Ekstrand
111b0a6699
nir/lower_double_ops: Rework the if (progress) tree
...
Fixes: d7d35a9522 "nir/lower_doubles: Use the new NIR lowering..."
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5170 >
2020-05-22 18:41:15 +00:00
Thong Thai
78786a219e
frontends/va: Fix deinterlace bottom field first flag
...
Fixes an issue with mpv, where deinterlacing causes the picture to be
offset by one line every other frame in the video.
Signed-off-by: Thong Thai <thong.thai@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5157 >
2020-05-22 18:23:53 +00:00
Alyssa Rosenzweig
569ca93751
pan/mdg: Allow DCE on ld_color_buffer masks
...
Helps with blend shader register pressure.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5153 >
2020-05-22 18:05:14 +00:00
Alyssa Rosenzweig
d8c16200e9
pan/mdg: Ensure we don't DCE into impossible masks
...
We round up for ld/st.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5153 >
2020-05-22 18:05:14 +00:00
Alyssa Rosenzweig
197b398c32
pan/mdg: Lower shifts to 32-bit
...
Kind of a hack..
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5153 >
2020-05-22 18:05:14 +00:00
Alyssa Rosenzweig
7a52e975e4
pan/mdg: Add pack_colour_32 opcode
...
Seen for RGB10_A2UI packing.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5153 >
2020-05-22 18:05:14 +00:00
Alyssa Rosenzweig
f7cf5a30c7
panfrost: Handle !independent_blend for blend shaders
...
Fixes MRT blending.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5153 >
2020-05-22 18:05:14 +00:00
Alyssa Rosenzweig
f9283eff6d
panfrost: Use _mesa_roundevenf when packing clear colours
...
Match blend shader approach.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5153 >
2020-05-22 18:05:14 +00:00
Alyssa Rosenzweig
8bb51992c8
panfrost: Fix dated comment
...
Work register counts are not explicitly stored for blend shaders, and
blend shaders are used for far more than UNORM8.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5153 >
2020-05-22 18:05:14 +00:00
Hanno Böck
be71e2fd08
Properly check mmap return value
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5150 >
2020-05-22 17:15:30 +00:00
Eric Anholt
38f32372aa
ci: Improve baremetal's logging of the job env var passthrough.
...
Trying to read the sh -x script output was rough, just cat the file once
we're done setting it up.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5089 >
2020-05-22 16:44:46 +00:00
Eric Anholt
ae442c3598
ci: Enable a fractional run with UBO-to-constbuf disabled on a3xx.
...
This gets us coverage of an important case in the HW that the CTS
otherwise basically doesn't hit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5089 >
2020-05-22 16:44:46 +00:00
Eric Anholt
b4bccbde36
ci: Don't forget to set NIR_VALIDATE in baremetal runs.
...
Given that a530 doesn't have cpufreq, we really don't have the time to be
running the validator on all of deqp. This also helps explain why I had
to go to such a small fraction on the a3xx gles3 run (which we can now
increase). However, a3xx gles2 seems to be fast enough that we can leave
it enabled and get coverage for older chips.
Because we run more tests now, clear out some stale xfails from the a3xx
list.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5089 >
2020-05-22 16:44:46 +00:00
Eric Anholt
6839ad59e6
ci: Do an explicit NIR validation-enabled pass on freedreno a630.
...
We disable it for most of the CTS because it's slow, but let's do a
fractional run to make sure that we don't hit any obvious failures.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5089 >
2020-05-22 16:44:46 +00:00
Eric Anholt
90cf494338
ci: Fix DEQP_CASELIST_FILTER (used by a630 noubo run)
...
We were doing sed -i /filter/p, which printed everything but printed the
filtered things twice (though they'd only get tested once). Now that the
filter works, run all the UBO tests instead of doing a 1/5 run, revealing
a new failure.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5089 >
2020-05-22 16:44:46 +00:00
Krzysztof Raszkowski
09fc9c5f6c
gallium/swr: Fix building swr with MSVC
...
Fix building swr with MSVC by turning off
UNICODE before including windows.h.
Reviewed-by: Jan Zielinski <jan.zielinski@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5166 >
2020-05-22 17:34:26 +02:00
Danylo Piliaiev
4025583123
mesa: Fix double-lock of Shared->FrameBuffers and usage of wrong mutex
...
Fixes: 7534c536ca
Fixes: 8cfb3e4ee5
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3024
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5160 >
2020-05-22 14:50:21 +00:00
Erik Faye-Lund
0d2ec80dea
zink: hammer in an explicit wait when retrieving buffer contents for reading
...
this ensures that the buffer returned is synchronized as expected, though
it incurs a significant performance hit and will hopefully be improved in future
patches
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5120 >
2020-05-22 13:24:10 +00:00
Mike Blumenkrantz
af2d993535
zink: reset query on-demand when beginning a new query from resume
...
the current query pool implementation expects queries to be reset at
the time they're initiated, which means queries started at this point
need to also be explicitly reset
the zink_begin_query() function can't be reused here or else the
query will be double-added to the active list, triggering an infinite loop
ref mesa/mesa#3000
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5120 >
2020-05-22 13:24:10 +00:00
Mike Blumenkrantz
3933747d87
zink: fix vkCmdResetQueryPool usage
...
the final parameter here is the number of queries to reset, not the
index of the last query, meaning that the value passed needs to be
(curr_query + 1) in order to reset the query corresponding to
curr_query
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5120 >
2020-05-22 13:24:10 +00:00
Mike Blumenkrantz
ae32a1ed20
zink: flush active queries on destroy and free query object
...
queries with a valid active_list pointer are likely to still be active,
and vk spec requires them to have completed prior to being destroyed
this isn't completely accurate, as it's currently possible for queries
to remain in the active list while not actually being active, but it
resolves driver crashes that can occur from destroying a stilll-running
query pool object
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5120 >
2020-05-22 13:24:10 +00:00
Mike Blumenkrantz
4592c1d45d
zink: add SpvId returns to a couple ntv functions
...
this is helpful for debugging
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5120 >
2020-05-22 13:24:10 +00:00
Mike Blumenkrantz
21a7fdf97c
zink: explicitly zero some arrays in ntv
...
just to be safe
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5120 >
2020-05-22 13:24:10 +00:00
Pierre-Eric Pelloux-Prayer
e75effc629
radeonsi/sdma: remove useless compare
...
clang warning:
result of comparison of constant 65536 with expression of type 'uint16_t'
(aka 'unsigned short') is always true
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5119 >
2020-05-22 09:12:18 +02:00
Pierre-Eric Pelloux-Prayer
004ac58509
amdgpu: fix unitialized variable
...
clang warning:
variable 'va_handle' is used uninitialized whenever 'if' condition is false
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5119 >
2020-05-22 09:12:14 +02:00
Pierre-Eric Pelloux-Prayer
d92ab0e763
radeonsi: fix inversed arguments in si_test_gds_memory_management
...
clang warning:
implicit conversion from enumeration type 'enum radeon_bo_usage'
to different enumeration type 'enum radeon_bo_domain'
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5119 >
2020-05-22 09:12:06 +02:00
Pierre-Eric Pelloux-Prayer
dddd91eef3
amd/addrlib: fix forgotten char -> enum conversions
...
clang warning:
result of comparison of constant 115 with expression of type
'const enum Dim' is always false
Fixes: e3e704c7e7 ("amd/addrlib: Use enum instead of sparse chars to identify dimensions")
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5119 >
2020-05-22 09:11:47 +02:00
Ian Romanick
685e79a64b
glsl: Remove integer matrix support from ir_dereference_array::constant_expression_value
...
It looks like this code has existed since day 1, but I have no idea why.
There have never been integer matrices in GLSL.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5135 >
2020-05-21 17:47:08 -07:00
Eric Anholt
22979f90d9
freedreno/a5xx: Define the 2D blit UBWC pitch fields
...
Syncing up with my changes to envytools for decoding texturator output.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5127 >
2020-05-21 17:09:42 -07:00
Eric Anholt
6a154aea0d
freedreno/a5xx: Set MIN_LAYERSZ on 3D textures like we do on a6xx.
...
These fields (TILE_ALL and MIN_LAYERSZ) seem to be the same on a5xx as
a6xx, having looked at some UBWC vs non-UBWC texturator cases. Setting
MIN_LAYERSZ does fix the 3D fail we see in the CTS.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5127 >
2020-05-21 17:09:42 -07:00
Eric Anholt
9f62566ef6
freedreno/a5xx: Add the outline of a unit test for a5xx layout.
...
Includes a few 3D cases from CTS layouts (since I was looking at CTS
failures) which do justify that a5xx's 3D layout workaround is actually
different from a6xx's.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5127 >
2020-05-21 17:09:42 -07:00
Eric Anholt
e7003df717
freedreno/fdl: Separate the list of a6xx testcases from the the test code.
...
I'll be reusing the test code for a5xx.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5127 >
2020-05-21 17:09:42 -07:00
Eric Anholt
a1a739995b
freedreno/a5xx: Move resource layout to fdl.
...
I'm working on fixing the 3D layouts in CI so we can stabilize it, but I
wanted unit tests using the texturator scripts to make sure I don't break
things. This also makes a5xx and a6xx layout easily comparable again.
This is a straightforward move of the code with prsc references replaced
by arguments in the style of fdl6.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5127 >
2020-05-21 17:09:42 -07:00
Alyssa Rosenzweig
e85b6c4ab1
pan/mdg: Eliminate remaining divisions from compiler
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5154 >
2020-05-21 18:29:53 -04:00
Alyssa Rosenzweig
2b9f6d30f8
pan/mdg: Avoid division in printing helpers
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5154 >
2020-05-21 18:29:53 -04:00
Alyssa Rosenzweig
4f5b3802dc
pan/mdg: Eliminate 64-bit swizzle packing division
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5154 >
2020-05-21 18:29:53 -04:00
Alyssa Rosenzweig
28a750c5f2
pan/mdg: Eliminate expand_writemask division
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5154 >
2020-05-21 18:29:53 -04:00
Alyssa Rosenzweig
c6c906ecdf
pan/mdg: Cleanup comments that look like division
...
Don't use a /.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5154 >
2020-05-21 18:29:53 -04:00
Alyssa Rosenzweig
55da8bcede
panfrost: Fix transform feedback types
...
Don't assume float for everything.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5152 >
2020-05-21 20:17:52 +00:00
Alyssa Rosenzweig
ef57325fba
panfrost: Don't set CAN_DISCARD for MFBD
...
It's likely harmless but let's match the blob.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5124 >
2020-05-21 15:50:18 -04:00
Alyssa Rosenzweig
1085f74239
panfrost: Avoid redundant shader executions with mask=0x0
...
Only works for a few Midgard GPUs, but hey.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5124 >
2020-05-21 15:49:47 -04:00
Alyssa Rosenzweig
3e4e849e6a
panfrost: Disable tib read/write when colourmask = 0x0
...
There might still be Z/S updates so we can't drop the whole shader but
we can shortcircuit the colour pipeline.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5124 >
2020-05-21 15:48:53 -04:00
Alyssa Rosenzweig
f69b6e9116
panfrost: Remove dated comment about leaks
...
It's been fixed for a while.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5124 >
2020-05-21 15:48:53 -04:00
Alyssa Rosenzweig
6dd11a6dc3
panfrost: Limit blend shader work count
...
To 8, but later we should go much lower.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5124 >
2020-05-21 15:48:03 -04:00
Alyssa Rosenzweig
b8bd356dff
panfrost: Allow tiling on RECT textures
...
Except for the norm coords bit, they're identical to 2D.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5124 >
2020-05-21 14:43:32 -04:00
Alyssa Rosenzweig
c41cf03589
panfrost: Allow bpp24 tiling
...
It's dumb that we have to but it does help RGB8 nontrivially. Alas.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5124 >
2020-05-21 14:43:32 -04:00
Alyssa Rosenzweig
48cc608859
panfrost: Don't zero staging buffer for tiling
...
It's a little less safe but the memset does take time during
initialization. v3d doesn't either, so I think it's ok.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5124 >
2020-05-21 14:43:32 -04:00
Alyssa Rosenzweig
9f2997dad0
panfrost: Don't set PIPE_CAP_VERTEX_BUFFER_STRIDE_4BYTE_ALIGNED_ONLY
...
I'm not aware of any reason this might be necessary, let's avoid the
translate.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5124 >
2020-05-21 14:43:32 -04:00
Alyssa Rosenzweig
5a4eeb21bf
panfrost: Fill in SCALED formats to format table
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5124 >
2020-05-21 14:43:32 -04:00
Alyssa Rosenzweig
98fc955c6e
panfrost: Remove deadcode
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5124 >
2020-05-21 14:43:32 -04:00
Alyssa Rosenzweig
794c239a99
panfrost: Keep cached BOs mmap'd
...
It doesn't make sense to munmap/mmap repeatedly; they're mapped GPU-side
anyway. So just munmap on free, which will happen in low-mem regardless.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5124 >
2020-05-21 14:43:31 -04:00
Alyssa Rosenzweig
485ec76108
panfrost: Guard experimental fp16 behind debug flag
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
e6293425bf
pan/mdg: Pack 8-bit swizzles in 16-bit ops
...
Let's inch closer to 8-bit.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
ca48143ec4
pan/mdg: Implement condense_writemask for 8-bit
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
f768cb04ed
pan/mdg: Implement vector constant printing for 8-bit
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
28201af080
pan/mdg: Use shifts instead of division for RA sizes
...
We're only dealing with powers-of-two, so this eliminates potential
issues with divisions-by-zero that are otherwise hacked around. Probably
faster too.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
3d435b334b
pan/mdg: Pack barriers correctly
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
fde1f2b7cb
pan/mdg: Fix type checking issues with compute
...
SSBO and barriers.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
4e4c9f5f5a
pan/mdg: Separately pack constants to the upper half
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
d475d19f09
pan/mdg: Only combine 16-bit constants to lower half
...
We can't swizzle both halves simultaneously.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
8b4e278628
pan/mdg: Factor out mir_adjust_constant
...
Each source is semi-independent, we don't need the extra indentation
when the logic is already so complex.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
b833702cc1
pan/mdg: Print constant vectors less wrong
...
For !32-bit types, we need to pay attention to rep_low/high/half to
determine the effective swizzle.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
cd26bd9425
pan/mdg: Round up bytemasks when spilling
...
So we can pack the spills for <32-bit types.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
68d2a889b7
pan/mdg: Print mask when dest=0
...
Forgot this convention differs from Bifrost.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
553c2cf16b
pan/mdg: Set RA bounds for fp16
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
b91d71597e
pan/mdg: Eliminate load_64
...
It can always be inferred from the types.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
1ff2cabe87
pan/mdg: Use type size to determine alignment
...
Generally, f16 needs to be aligned to 16-bit, f32 to 32-bit, ...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
51582e5454
pan/lcra: Allow per-variable bounds to be set
...
Different variables need to respect different bounds. In general,
16-bytes is okay, but for 4-channel 16-bit vectors, we can't cross 8
byte boundaries (else the swizzles will not be packable after), so we
update LCRA to allow this more general form.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
0737080ba6
pan/lcra: Remove unused alignment parameters
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
21405f6fcf
pan/mdg: Ignore dest.type when offseting load swizzle
...
It's always as-if 32-bit.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
4f5bad649b
pan/mdg: Don't generate conversions for fp16 LUTs
...
We can just set the register mode appropriately and then we don't have
to care anywhere else, and there's no extra NIR to chew through. Make
sure we include sqrt too.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
6b023b3545
pan/mdg: Implement b2f16
...
...as iand
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
1108eaa90d
pan/mdg: Streamline dest_override handling
...
We can pass it all off to emit time, and let the types in the IR do the
heavylifting in the meantime, which is a lot easier to get right.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
1e4793a95c
pan/mdg: Remove redundant redundancy
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
1cd65353c9
pan/mdg: Defer modifier packing until emit time
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
edf1479bea
pan/mdg: Remove promote_float pass
...
Now unused.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
72c1e3a66a
pan/mdg: Promote imov to fmov on a NIR level
...
Avoids dedicated MIR promote_fmov pass which is unnecessary.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
3cfe2fc1b1
pan/mdg: Identify scalar integer mods
...
Symmetric with vector mods, except for normal which is packed as
sign-extend. (flag 2 never seen in the wild)
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
d4a42a78d8
pan/mdg: Use type to determine triviality of a move
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
df3d932bb4
pan/mdg: Use src_types to determine size in scheduling
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
95dd478ed3
pan/mdg: Add abs/neg/shift modifiers to IR
...
Rather than twiddling them into the ALU packed field.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
31e13956e1
pan/mdg: Explain ld/st sign/zero extension
...
Now we know why there are duplicates :-)
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
dbcae7c667
pan/mdg: Respect !32-bit sizes in RA
...
So we can take advantage of mediump.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
8c012c8f8b
pan/mdg: Handle dest up/lower correctly with swizzles
...
During emit time.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
8084fc3b66
pan/mdg: Include more types
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
e9a4bd90a8
pan/mdg: Remove mir_get_alu_src
...
Unused.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:14 +00:00
Alyssa Rosenzweig
9915bb2c40
pan/mdg: Remove mir_*size routines
...
We'd rather use the actual type information than inferring modes all
over the place.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:13 +00:00
Alyssa Rosenzweig
40e9bee714
pan/mdg: Fix constant combining crash
...
We need to round up.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:13 +00:00
Alyssa Rosenzweig
eb28a3669b
pan/mdg: Handle comparisons in fp16 path
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151 >
2020-05-21 17:49:13 +00:00
Samuel Pitoiset
2d4493ee11
aco: sign-extend the input and identity for 8-bit subgroup operations
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4494 >
2020-05-21 15:06:48 +00:00
Samuel Pitoiset
c76595aec2
aco: use a temporary SGPR for 8-bit/16-bit literal reduction identities
...
Otherwise, the compiler overwrites s0 which contains the exec mask.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4494 >
2020-05-21 15:06:48 +00:00
Samuel Pitoiset
b3c87c52ea
aco: implement 8-bit/16-bit nir_intrinsic_quad_*
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4494 >
2020-05-21 15:06:48 +00:00
Samuel Pitoiset
dfa62d97a0
aco: implement 8-bit/16-bit nir_intrinsic_{shuffle,_read_invocation}
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4494 >
2020-05-21 15:06:48 +00:00
Samuel Pitoiset
f03e56eaf0
aco: implement 8-bit/16-bit nir_intrinsic_read_first_invocation
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4494 >
2020-05-21 15:06:48 +00:00
Samuel Pitoiset
af7e2c6133
aco: validate 8-bit/16-bit VGPR operands for readfirstlane/readlane/writelane
...
I would expect it to just work as intended and other solutions,
like v_and_b32 to make sure the upper bits are 0, might have some
overhead.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4494 >
2020-05-21 15:06:48 +00:00
Samuel Pitoiset
86e2b03e3f
aco: implement 8-bit/16-bit reductions
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4494 >
2020-05-21 15:06:48 +00:00
Samuel Pitoiset
cc79945b21
aco: declare 8-bit/16-bit reduce operations
...
The 8-bit float variants are only for consistency but are unused.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4494 >
2020-05-21 15:06:48 +00:00
Eric Engestrom
bf97150d45
no_extern_c.h: fix typo in comment
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5145 >
2020-05-21 14:23:41 +00:00
Erik Faye-Lund
089b0310ef
docs: fix broken release-calendar
...
This also removed the branch-row, which is needed to keep things sane.
Fixes: 34718070ef ("docs: update calendar for 20.1.0-rc4")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5143 >
2020-05-21 14:15:24 +00:00
Rhys Perry
40ed7fcc0b
aco: fix typo in insert_waitcnt's kill()
...
No shader-db changes
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3004
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5126 >
2020-05-21 13:01:41 +00:00
Daniel Schürmann
51f4b22fee
aco: don't allow unaligned subdword accesses on GFX6/7
...
There are no SDWA instructions which means that only
full registers can be accessed.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5070 >
2020-05-21 12:07:40 +00:00
Daniel Schürmann
ae390755fe
aco: fix corner case in register allocation
...
We mark dead operands in the register file when searching for
a register for a definition. Only do so, if this space has not
yet been taken by a different definition.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5070 >
2020-05-21 12:07:40 +00:00
Daniel Schürmann
acec00eae0
aco: don't move create_vector subdword operands to unsupported register offsets
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5070 >
2020-05-21 12:07:40 +00:00
Daniel Schürmann
5201985332
aco: restrict copying of create_vector operands to GFX9+
...
This improves code size for Polaris and earlier due to less register swapping
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5070 >
2020-05-21 12:07:40 +00:00
Pierre Moreau
8635c28a92
clover: Address unnecessary copy warnings
...
Signed-off-by: Pierre Moreau <dev@pmoreau.org >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4943 >
2020-05-21 10:58:05 +00:00
Pierre Moreau
15a27ed73b
clover/api: Address missing braces for subobj init
...
Signed-off-by: Pierre Moreau <dev@pmoreau.org >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4943 >
2020-05-21 10:58:05 +00:00
Danylo Piliaiev
5500a2b7fc
meson: Disable GCC's dead store elimination for memory zeroing custom new
...
Some classes use custom new operator which zeroes memory, however gcc does
aggressive dead-store elimination which threats all writes to the memory
before the constructor as "dead stores".
For now we disable this optimization.
The new operators in question are declared via:
DECLARE_RZALLOC_CXX_OPERATORS
DECLARE_LINEAR_ZALLOC_CXX_OPERATORS
The issue was found with lto builds, however there is no guarantee that
it didn't happen with ordinary ones.
CC: <mesa-stable@lists.freedesktop.org >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2977
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/1358
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5104 >
2020-05-21 08:54:30 +00:00
Samuel Pitoiset
a3045cbc97
radv/winsys: remove useless free in radv_amdgpu_create_bo_list()
...
free(NULL) is fine but let's remove it.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3008
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/5131 >
2020-05-21 08:09:18 +00:00
Samuel Pitoiset
57a4837f6b
radv: fix duplicated expression in ac_setup_rings()
...
Probably a search&replace mistake when that common struct was
introduced.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3006
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/5130 >
2020-05-21 07:51:55 +00:00
Samuel Pitoiset
ef042ae7c3
radv: fix missing break in radv_GetPhysicalDeviceFeatures2()
...
Wow, missed that one.
Fixes: 57e796a12a - ("radv: Implement VK_EXT_custom_border_color")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5128 >
2020-05-21 07:36:32 +00:00
Samuel Pitoiset
1ad9a8a884
aco: fix missing break in label_instruction()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5129 >
2020-05-21 09:00:02 +02:00
Dave Airlie
22554e1fbc
llvmpipe: compute shaders work better with all the threads.
...
I got to benchmarking some vulkan compute benchmark and wondered
why my CPUs weren't being saturated, helps if you actually wake up
all the threads in the threadpool.
Fixes: 1b24e3ba75 (llvmpipe: add compute threadpool + mutex)
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5138 >
2020-05-21 14:10:41 +10:00
Nataraj Deshpande
02a1f95386
dri_util: Update internal_format to GL_RGB8 for MESA_FORMAT_R8G8B8X8_UNORM
...
The commit helps to resolve GL_INVALID_OPERATION error returned
during CTS test when Android format RGBX8888 fallback to RGBA8888
and then set color with glTexSubImage2D(format=GL_RGB).
Fixes android.hardware.nativehardware.cts.AHardwareBufferNativeTests:
#SingleLayer_ColorTest_GpuSampledImageCanBeSampled_R8G8B8X8_UNORM
Cc: <mesa-stable@lists.freedesktop.org >
Fixes: bf576772ab ("dri_util: add driImageFormatToSizedInternalGLFormat function")
Signed-off-by: Nataraj Deshpande <nataraj.deshpande@intel.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5034 >
2020-05-21 01:52:46 +00:00
Kristian H. Kristensen
13fc03f4c0
freedreno/a6xx: Avoid stalling for occlusion queries
...
If we postpone computing the counter delta until after each tile (or
sysmem pass), we don't have to stall in the middle of the draw stream.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5064 >
2020-05-21 00:16:55 +00:00
Kristian H. Kristensen
1c21577246
freedreno/a6xx: Emit VFD setup as array writes
...
We can use only one PKT4 for each of VFD_FETCH, VFD_DECODE and
VFD_DEST_CNTL and write all the elements if we split the loop into
three loops.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5064 >
2020-05-21 00:16:55 +00:00
Kristian H. Kristensen
5f494636fa
freedreno/a6xx: Allocate ringbuffer based on VFD count
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5064 >
2020-05-21 00:16:55 +00:00
Kristian H. Kristensen
3275b8082a
freedreno/a6xx: Map inputs to VFD entries up front
...
Break this logic out of the loop in preperation for splitting the VFD
state emit loop up.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5064 >
2020-05-21 00:16:55 +00:00
Kristian H. Kristensen
5b7a73021c
freedreno/a6xx: Create shader dependent streamout state at compile time
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5064 >
2020-05-21 00:16:55 +00:00
Eric Engestrom
9bac0dd99b
compiler: delete leftover autotools test wrapper
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5114 >
2020-05-20 22:19:30 +00:00
Eric Engestrom
ba44990726
git_sha1_gen.py: fix whitespace
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5112 >
2020-05-20 22:05:41 +00:00
Eric Engestrom
c909370117
git_sha1_gen.py: fix code style
...
Bare `except` are bad form as per PEP8.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5112 >
2020-05-20 22:05:41 +00:00
Eric Engestrom
413c6f9905
git_sha1_gen.py: fix out-of-date comment
...
This hasn't been true since 7088622e5f ("buildsys: move file
regeneration logic to the script itself") almost 3 years ago.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5112 >
2020-05-20 22:05:41 +00:00
Eric Engestrom
f68db81cbb
anv: disable VK_EXT_calibrated_timestamps when the timestamp register is unreadable
...
When running in a virtual context, the timestamp register is unreadable
on Gen12+.
While we could work around this, that would result in very inaccurate
results for an extension where the whole point is accuracy, so let's
just disable the extension.
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2797 >
2020-05-20 21:49:10 +00:00
Eric Engestrom
a62ee262fd
anv: replace magic | 1 with already #define'd name
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2797 >
2020-05-20 21:49:10 +00:00
Eric Engestrom
e27f311c85
anv: pass the fd directly to anv_gem_reg_read()
...
This allows its use without the need for an anv_device.
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2797 >
2020-05-20 21:49:10 +00:00
Eric Anholt
6bf40c28c9
ci: Make a530's GLES3/31 fractional runs much more complete.
...
Now that we don't get scheduled to any 19mhz CPUs, the old GLES3 job went
from 12 minutes of deqp-runner runtime to 54s. Increase how much of the
testsuite we cover in exchange, still keeping the runtime at 3-6 min
(compared to previous 10-17 min). Since the tests we're running changed,
reset the xfails list.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5115 >
2020-05-20 21:05:32 +00:00
Eric Anholt
6033c10092
ci: Disable SMP on the a5xx boards.
...
CPU0 comes up at some plausible freq, but the rest are at 19Mhz waiting
for cpufreq to come up, which has not been upstreamed.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5115 >
2020-05-20 21:05:32 +00:00
Andrii Simiklit
d1b7462849
i965/vec4: Ignore swizzle of VGRF for use by var_range_end()
...
Issue description from Matt's commit e7c376ad :
"var_range_end(v, n) loops over the n components of variable number v and
finds the maximum value, giving the last use of any component of v.
Therefore it expects v to correspond to the variable associated with the
.x channel of the VGRF.
var_from_reg() however returns the variable for the first channel of the
VGRF, post-swizzle.
So, if the last register had a swizzle with y, z, or w in the swizzle
component, we would read out of bounds. For any other register, we would
read liveness information from the next register.
The fix is to convert the src_reg to a dst_reg in order to call the
dst_reg version of var_from_reg() that doesn't consider the swizzle."
Closes : #3003
Fixes: 48dfb30f ('intel/compiler: Move all live interval analysis results into vec4_live_variables')
Reviewed-by: Matt Turner <mattst88@gmail.com >
Signed-off-by: Andrii Simiklit <asimiklit.work@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4941 >
2020-05-20 20:19:18 +00:00
Dave Airlie
10095387f5
r600/sfn: fix nop channel assignment.
...
this fixes a bunch of asserting tests on cayman
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5113 >
2020-05-20 19:51:07 +00:00
Eric Engestrom
34718070ef
docs: update calendar for 20.1.0-rc4
...
Adding another release candidate next week.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5134 >
2020-05-20 21:45:49 +02:00
D Scott Phillips
81201e4617
anv/gen11+: Disable object level preemption
...
An unknown issue is causing vs push constants to become corrupted
during object-level preemption. For now, restrict to command
buffer level preemption to avoid rendering corruption.
Cc: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5110 >
2020-05-20 19:08:47 +00:00
Jonathan Marek
5a6beb6a24
freedreno: add adreno 650
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4611 >
2020-05-20 18:24:28 +00:00
Jonathan Marek
72d7d2145c
freedreno/a6xx: use RESOLVE_TS event
...
This is required on a650 to flush the GMEM store.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4611 >
2020-05-20 18:24:28 +00:00
Jonathan Marek
e49748521e
freedreno: reduce extra height alignment in a6xx layout
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4611 >
2020-05-20 18:24:28 +00:00
Jonathan Marek
f6f8a19092
freedreno/a6xx: split up gmem/tile alignment requirements
...
RB_BLIT has a granularity of 16x4, but tile sizes must be 32x16 aligned.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4611 >
2020-05-20 18:24:28 +00:00
Jonathan Marek
bf024c96ad
freedreno/a6xx: don't use gmem_alignw for imported buffers
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4611 >
2020-05-20 18:24:28 +00:00
Jonathan Marek
4b65fcb067
freedreno/a5xx: remove unused reference to gmem_alignw in layout code
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4611 >
2020-05-20 18:24:28 +00:00
Jonathan Marek
aa2186db0e
freedreno: move a4xx specific layout code to a4xx code
...
Every other gen has its own setup_slices
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4611 >
2020-05-20 18:24:28 +00:00
Dylan Baker
5580322486
tests: Make tests aware of meson test wrapper
...
Meson 0.55.0 will set the MESON_EXE_WRAPPER environment variable to the
joined version of that wrapper if it is needed. Our tests that take
compiled targets as arguments can use that information to run cross
built binaries, or if there isn't a wrapper and we get an ENOEXEC, we
can skip the tests gracefully.
We try to use mesonlib.split_args, which handles windows arguments
better than python's builtin shlex module, but fall back to that if the
meson module isn't available for some reason.
Cc: 20.0 20.1 <mesa-stable@lists.freedesktop.org >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5103 >
2020-05-20 17:57:15 +00:00
Thong Thai
ef0d92459c
gallium/auxiliary/vl: Fix compute shader scale_y for interlaced videos
...
Signed-off-by: Thong Thai <thong.thai@amd.com >
Fixes: 494b7ef0c1 ("gallium/auxiliary/vl: Fix compute shader scaling for non-square pixels")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5121 >
2020-05-20 17:32:36 +00:00
Alyssa Rosenzweig
fc06b8b7dc
pan/mdg: Optimize liveness computation in DCE
...
Rather than recompute liveness every block, compute it just once for the
whole shader, which ends up more efficient.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5123 >
2020-05-20 17:06:34 +00:00
Alyssa Rosenzweig
c24dfc9da4
pan/mdg: Precompute mir_special_index
...
Rather than O(N) each call, we can precompute the whole set - also O(N)
- and then subsequent checks are O(1).
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5123 >
2020-05-20 17:06:34 +00:00
Alyssa Rosenzweig
4cf02b5d4a
pan/mdg: Optimize pipelining logic
...
The test and rewrite were both accidentally O(N) to the shader size when
they should be O(1), so overall this takes the pass from O(N^2) to O(N).
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5123 >
2020-05-20 17:06:34 +00:00
Alyssa Rosenzweig
d39f95b75a
pan/mdg: Emit fcsel when beneficial
...
If there are floating point modifiers, we emit fcsel instead of icsel
(and likewise if integer modifiers, icsel instead of fcsel) to minimize
redundant instructions.
total instructions in shared programs: 3628 -> 3626 (-0.06%)
instructions in affected programs: 139 -> 137 (-1.44%)
helped: 2
HURT: 0
total bundles in shared programs: 1886 -> 1885 (-0.05%)
bundles in affected programs: 19 -> 18 (-5.26%)
helped: 1
HURT: 0
total quadwords in shared programs: 3319 -> 3317 (-0.06%)
quadwords in affected programs: 127 -> 125 (-1.57%)
helped: 2
HURT: 0
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5123 >
2020-05-20 17:06:34 +00:00
Lionel Landwerlin
db9e16450d
intel/aub_error_decoder: print driver identifier if found
...
You can find it right before the application batch :
HuC firmware: i915/kbl_huc_ver02_00_1810.bin
status: fetch NONE, load NONE
version: wanted 2.0, found 0.0
header: offset 0, size 0
uCode: offset 0, size 0
RSA: offset 0, size 0
Driver identifier: i965 20.0.0-devel
--- batch buffer (rcs0 (submitted by glxgears [44455])) at 0x0000fffe ec000000
0xfffeec000000: 0x70000007: MEDIA_VFE_STATE
0xfffeec000000: 0x70000007 : Dword 0
DWord Length: 7
0xfffeec000004: 0x00000000 : Dword 1
Per Thread Scratch Space: 0
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3203 >
2020-05-20 15:58:22 +00:00
Lionel Landwerlin
64473fd8f7
anv: add identifier BO
...
A buffer added to all execbufs so that we can attribute a batch that
caused a hang to a particular driver.
v2: Reuse workaround BO
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3203 >
2020-05-20 15:58:22 +00:00
Lionel Landwerlin
507b1ca10c
i965: add identifier BO
...
A buffer added to all execbufs so that we can attribute a batch that
caused a hang to a particular driver.
v2: Reuse workaround BO
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3203 >
2020-05-20 15:58:22 +00:00
Lionel Landwerlin
2a4c361b06
iris: add identifier BO
...
A buffer added to all execbufs so that we can attribute a batch that
caused a hang to a particular driver.
v2: Reuse workaround BO
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3203 >
2020-05-20 15:58:22 +00:00
Lionel Landwerlin
805b32cab9
intel: add identifier for debug purposes
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3203 >
2020-05-20 15:58:22 +00:00
Lionel Landwerlin
e81de67d85
i965: store workaround_bo offset
...
This offset store the location where we read/write into the
workaround_bo. It will allow to select a different address later,
leaving the beginning of the buffer to some other use.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3203 >
2020-05-20 15:58:22 +00:00
Lionel Landwerlin
07781f0afe
iris: store workaround address
...
This will allow to select a different address later, leaving the
beginning of the buffer to some other use.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3203 >
2020-05-20 15:58:22 +00:00
Lionel Landwerlin
33b452aae7
anv: store the workaround address
...
This will allow to select a different address later, leaving the
beginning of the buffer to some other use.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3203 >
2020-05-20 15:58:22 +00:00
Lionel Landwerlin
0ff5b9e692
blorp: rename workaround address function
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3203 >
2020-05-20 15:58:22 +00:00
Lionel Landwerlin
f36708b143
anv: fixup unwinding of device create failure
...
We appear to have the ordering mixed up a bit.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3203 >
2020-05-20 15:58:22 +00:00
Icecream95
faf28b83fd
panfrost: Enable PIPE_CAP_VERTEX_COLOR_UNCLAMPED
...
This tells Mesa to clamp vertex colours in the vertex shader.
This improves rendering in a number of games such as Extreme Tux
Racer and H-Craft Championships.
Cc: 20.1 <mesa-stable@lists.freedesktop.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5075 >
2020-05-20 15:14:28 +00:00
Andrii Simiklit
3725aa7b5d
glsl_type: don't serialize padding bytes from glsl_struct_field
...
This should fix such valgrind warnings:
==37417== Uninitialised byte(s) found during client check request
==37417== at 0x6183471: blob_write_bytes (blob.c:163)
==37417== by 0x629785B: encode_type_to_blob (glsl_types.cpp:2760)
==37417== by 0x61E68D8: write_variable (nir_serialize.c:293)
==37417== by 0x61E6F6A: write_var_list (nir_serialize.c:421)
==37417== by 0x61EBA7A: nir_serialize (nir_serialize.c:2018)
==37417== by 0x5B5E007: serialize_nir_part (brw_program_binary.c:135)
==37417== by 0x5B5E7F3: brw_serialize_program_binary (brw_program_binary.c:299)
==37417== by 0x5FEF5FF: write_program_payload (program_binary.c:177)
==37417== by 0x5FEF7BB: _mesa_get_program_binary_length (program_binary.c:225)
==37417== by 0x5E3D31D: get_programiv (shaderapi.c:912)
==37417== by 0x5E3F730: _mesa_GetProgramiv (shaderapi.c:1827)
==37417== by 0x111DA0: program_binary_save_restore (shader_runner.c:686)
==37417== Address 0x8f59481 is 81 bytes inside a block of size 480 alloc'd
==37417== at 0x483B7F3: malloc (vg_replace_malloc.c:309)
==37417== by 0x618CE67: ralloc_size (ralloc.c:123)
==37417== by 0x618CF35: rzalloc_size (ralloc.c:155)
==37417== by 0x618D245: rzalloc_array_size (ralloc.c:234)
==37417== by 0x629041D: glsl_type::glsl_type(glsl_struct_field const*, unsigned int, glsl_interface_packing, bool, char const*) (glsl_types.cpp:148)
==37417== by 0x6293EC3: glsl_type::get_interface_instance(glsl_struct_field const*, unsigned int, glsl_interface_packing, bool, char const*) (glsl_types.cpp:1271)
==37417== by 0x604C878: (anonymous namespace)::per_vertex_accumulator::construct_interface_instance() const (builtin_variables.cpp:365)
==37417== by 0x6050722: (anonymous namespace)::builtin_variable_generator::generate_varyings() (builtin_variables.cpp:1568)
==37417== by 0x60509CA: _mesa_glsl_initialize_variables(exec_list*, _mesa_glsl_parse_state*) (builtin_variables.cpp:1600)
==37417== by 0x6149AE9: _mesa_ast_to_hir(exec_list*, _mesa_glsl_parse_state*) (ast_to_hir.cpp:131)
==37417== by 0x60706D6: _mesa_glsl_compile_shader (glsl_parser_extras.cpp:2222)
==37417== by 0x5E3DC16: _mesa_compile_shader (shaderapi.c:1211)
==37417== Use of uninitialised value of size 8
==37417== at 0x529AE13: ??? (in /usr/lib/x86_64-linux-gnu/libz.so.1.2.11)
==37417== by 0x6184075: util_hash_crc32 (crc32.c:127)
==37417== by 0x5FEF401: write_program_binary (program_binary.c:95)
==37417== by 0x5FEF8BC: _mesa_get_program_binary (program_binary.c:252)
==37417== by 0x5E40E22: _mesa_GetProgramBinary (shaderapi.c:2411)
==37417== by 0x4914057: stub_glGetProgramBinary (piglit-dispatch-gen.c:24737)
==37417== by 0x111E4A: program_binary_save_restore (shader_runner.c:704)
==37417== by 0x11F765: piglit_display (shader_runner.c:5112)
==37417== by 0x499082F: run_test (piglit_fbo_framework.c:52)
==37417== by 0x4980E89: piglit_gl_test_run (piglit-framework-gl.c:229)
==37417== by 0x110DA9: main (shader_runner.c:72)
v2: - decode_glsl_struct_field_from_blob and
encode_glsl_struct_field should be `static`
( Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com > )
v3: - we can get rid of `struct packed_struct_field_flags`
( Tapani Pälli <tapani.palli@intel.com > )
- we can get rid of `unsigned __pad: 15` bitfield
( Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com > )
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Signed-off-by: Andrii Simiklit <asimiklit.work@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5054 >
2020-05-20 14:15:00 +00:00
Jonathan Marek
0d9996e223
turnip: enable 422_UNORM formats
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4590 >
2020-05-20 13:22:12 +00:00
Jonathan Marek
d070a7ba0c
turnip: implement VK_KHR_sampler_ycbcr_conversion
...
Most changes based on radv, some simplification, since we don't need to
sample multiple planes, 422_UNORM/420_UNORM formats will be supported
directly using the hardware formats for those.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4590 >
2020-05-20 13:22:12 +00:00
Jonathan Marek
70502f071c
freedreno/registers: document 422_UNORM and 420_UNORM formats
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4590 >
2020-05-20 13:22:12 +00:00
Jonathan Marek
75d7ee8029
util/format: translate 422_UNORM and 420_UNORM vulkan formats
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4590 >
2020-05-20 13:22:12 +00:00
Lionel Landwerlin
d0e11231a4
intel/perf: repurpose INTEL_DEBUG=no-oaconfig
...
We initially used this debug option to mean "don't bother registering
the OA configuration into the kernel".
This change makes this option suppress any interaction with the
i915/perf interface. This is useful when debugging self modifying
batches with performance queries while running on the intel_mi_runner.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2775 >
2020-05-20 14:02:27 +03:00
Lionel Landwerlin
2001a80d4a
anv: Implement VK_KHR_performance_query
...
This has the same kernel requirements are VK_INTEL_performance_query
v2: Fix empty queue submit (Lionel)
v3: Fix autotool build issue (Piotr Byszewski)
v4: Fix Reset & Begin/End in same command buffer, using soft-pin &
relocation on the same buffer won't work currently. This version
uses a somewhat dirty trick in anv_execbuf_add_bo (Piotr Byszewski)
v5: Fix enumeration with null pointers for either pCounters or
pCounterDescriptions (Piotr)
Fix return condition on enumeration (Lionel)
Set counter uuid using sha1 hashes (Lionel)
v6: Fix counters scope, should be COMMAND_KHR not COMMAND_BUFFER_KHR (Lionel)
v7: Rebase (Lionel)
v8: Rework checking for loaded queries (Lionel)
v9: Use new i915-perf interface
v10: Use anv_multialloc (Jason)
v11: Implement perf query passes using self modifying batches (Lionel)
Limit support to softpin/gen8
v12: Remove spurious changes (Jason)
v13: Drop relocs (Jason)
v14: Avoid overwritting .sType in
VkPerformanceCounterKHR/VkPerformanceCounterDescriptionKHR (Lionel)
v15: Don't copy the entire
VkPerformanceCounterKHR/VkPerformanceCounterDescriptionKHR (Jason)
Reuse anv_batch rather than custom packing (Jason)
v16: Fix missing MI_BB_END in reconfiguration batch
Only report the extension with kernel support (perf_version >= 3)
v17: Some cleanup of unused stuff
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2775 >
2020-05-20 14:02:27 +03:00
Lionel Landwerlin
ceb822f9e0
intel/perf: reuse offset specified in the query
...
The current code relies on the order of the function
gen_perf_query_result_accumulate() to match the descriptions written
by gen_perf.py. Let's just reuse the offset specified in the python
script.
v2: Use accumlator offsets more (Jason)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2775 >
2020-05-20 14:02:27 +03:00
Lionel Landwerlin
63c193e921
anv: use a query filled by the perf code
...
We're about to use the offset fields from the query object. We can't
just use a made up object.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2775 >
2020-05-20 14:02:27 +03:00
Lionel Landwerlin
93924ab091
intel/perf: report whether the platform supported
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2775 >
2020-05-20 14:02:27 +03:00
Lionel Landwerlin
fe8e8e5099
intel/perf: add counter category to generated code
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2775 >
2020-05-20 14:02:27 +03:00
Lionel Landwerlin
c36933e081
intel/perf: add helper to compute metrics from counters
...
The produced array tells use what metric to enable for a given pass.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2775 >
2020-05-20 14:02:27 +03:00
Lionel Landwerlin
a7890f559b
intel/perf: emit counter units in generated code
...
We'll use this coming extension.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2775 >
2020-05-20 14:02:27 +03:00
Lionel Landwerlin
d15369332f
intel/perf: compute number of passes for a set of counters
...
We want to compute the number of passes required to gather performance
data about a set of counters.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2775 >
2020-05-20 14:02:27 +03:00
Lionel Landwerlin
3f0c4c2afe
intel/perf: create a unique list of counters
...
For a future extension we want to be able to list the counters. Our
existing sets counters might contain the same counters multiple times.
This is a side effect of the fixed OA counters in the HW. We track
thoses with a mask so that we know when a counter is available from
multiple metrics.
v2: Use BITFIELD64_BIT() (Jason)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2775 >
2020-05-20 14:02:27 +03:00
Lionel Landwerlin
65d242ff5e
intel/perf: update generated code to ralloc all data
...
Previously counter descriptions as well register values were written
in global static variables. This isn't really thread safe so instead
ralloc all the data back under the gen_perf_config object.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2775 >
2020-05-20 14:02:27 +03:00
Lionel Landwerlin
a683e7f3dc
intel/perf: store the appropriate OA formats in queries
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2775 >
2020-05-20 14:02:27 +03:00
Lionel Landwerlin
8b8eaa84a3
intel/perf: make pipeline statistic query loading optional
...
On Vulkan most of those are already covered by standard queries so
add the ability to skip them.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2775 >
2020-05-20 14:02:27 +03:00
Lionel Landwerlin
cc13bfbd05
intel/genxml: add PIPE_CONTROL command cache invalidate bit
...
This new bit invalidates the cache/prefetch of commands in the command
streamer. This will be useful for self modifying batches.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2775 >
2020-05-20 14:02:27 +03:00
Lionel Landwerlin
34a0ce58c7
anv: add a new execution mode for secondary command buffers
...
This change adds a call/return execution mode for secondary command
buffer rather than the existing copy into the primary batch mode.
v2: Rework convention to avoid burning an ALU register (Jason)
v3: Use anv_address_add() (Jason)
v4: Move command emissions to anv_batch_chain.c (Jason)
v5: Also move last MI_BBS emission in secondary command buffer to
anv_batch_chain.c (Jason)
v6: Fix end secondary command buffer end (Jason)
v7: Refactor anv_batch_address() to remove additional emit functions
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2775 >
2020-05-20 14:02:27 +03:00
Lionel Landwerlin
a96d92a689
anv: don't reserve a particular register for draw count
...
By using the same mi_builder throughout the draw call, we can just
allocate a register from the mi_builder and unref it when we're done.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2775 >
2020-05-20 14:02:27 +03:00
Lionel Landwerlin
796fccce63
intel/mi-builder: add framework for self modifying batches
...
v2: Use Jason's idea to store addresses to modify
v3: Add ALU flushes (Jason)
v4: Remove ALU flush from gen_mi_self_mod_barrier() (Jason)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net > (v2)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2775 >
2020-05-20 14:02:27 +03:00
Lionel Landwerlin
570bd760d3
intel/genxml: fix bits generation for MI_LOAD_REGISTER_IMM
...
This instruction has a group with the same name than another field above :
<field name="Data DWord" start="64" end="95" type="uint"/>
<group count="0" start="96" size="64">
<field name="Register Offset" start="2" end="22" type="offset"/>
<field name="Data DWord" start="32" end="63" type="uint"/>
</group>
The script was replacing the offset of the field first with the second
one in the group.
This change ignore anything a group within an instruction.
v2: Drop unused variable (Rafael)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2775 >
2020-05-20 14:02:26 +03:00
Denys
ee9b17fc26
gitlab: Ask about reproduction rate in the issue template
...
Reviewed-by: <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5055 >
2020-05-20 10:20:00 +00:00
Jason Ekstrand
989619c05b
nir: Add const to nir_intrinsic_src_components
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5108 >
2020-05-19 20:45:55 +00:00
Alyssa Rosenzweig
29afa88941
pan/mdg: Apply outmods
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5102 >
2020-05-19 20:21:28 +00:00
Alyssa Rosenzweig
db7b0eb911
pan/mdg: Use helpers for branch/discard inversion
...
Doesn't come up on glmark but would covered by the old passes.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5102 >
2020-05-19 20:21:28 +00:00
Alyssa Rosenzweig
5500b1f280
pan/mdg: Remove invert optimizations
...
Unused since last commit.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5102 >
2020-05-19 20:21:28 +00:00
Alyssa Rosenzweig
449e5ded93
pan/mdg: Treat inot as a modifier
...
With this, we may remove all invert passes and simply look at the src
modifier on NIR->MIR and fixup at pack time. No shader-db changes.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5102 >
2020-05-19 20:21:28 +00:00
Alyssa Rosenzweig
b124f5315c
pan/mdg: Apply abs/neg modifiers
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5102 >
2020-05-19 20:21:27 +00:00
Alyssa Rosenzweig
24e2e24dc0
pan/mdg: Ingest fsat_signed/fclamp_pos
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5102 >
2020-05-19 20:21:27 +00:00
Alyssa Rosenzweig
22bb5a9acb
pan/mdg: Prepare for modifier helpers
...
We have to restructure to ensure NIR->MIR does not mutate the NIR and to
allow passing around dest/outmods for the new helpers. If NIR->MIR were
better designed this would be easier. Sigh.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5102 >
2020-05-19 20:21:27 +00:00
Alyssa Rosenzweig
f0455de6fc
pan/mdg: Drop nir_lower_to_source_mods
...
shader-db regressions fixed shortly.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5102 >
2020-05-19 20:21:27 +00:00
Alyssa Rosenzweig
acc5afb0af
pan/mdg: Remove .pos propagation pass
...
Will be replaced later in the series. shader-db regressions but those
fixed momentarily.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5102 >
2020-05-19 20:21:27 +00:00
Alyssa Rosenzweig
aeb55180ff
panfrost: Add modifier detection helpers
...
With the goal of removing modifiers from NIR, these helpers let us
detect modifier patterns without mutating the underlying NIR. These were
intended for upstream, but due to various issues are being (temporarily)
vendored.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5102 >
2020-05-19 20:21:27 +00:00
Alyssa Rosenzweig
c2b0f3c17d
nir: Add fclamp_pos opcode
...
Corresponds to the .pos modifier on all Mali GPUs (lima and panfrost).
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5102 >
2020-05-19 20:21:27 +00:00
Alyssa Rosenzweig
0aedce417a
nir: Add fsat_signed opcode
...
Exists on later Mali. Equivalent to clamp(x, -1.0, 1.0)
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5102 >
2020-05-19 20:21:27 +00:00
Connor Abbott
518909290b
tu: Support VK_FORMAT_FEATURE_BLIT_SRC_BIT for texture-only formats
...
It turns out this is required for compressed formats, and we might as
well enable it for the one other texture-only format too.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5098 >
2020-05-19 19:55:11 +00:00
Connor Abbott
74f1c304e8
tu: Fix buffer compressed pitch calculation with unaligned sizes
...
We can just set the extent and not bufferRowLength/bufferImageHeight,
and the extent may not be a multiple of the block size if it covers the
entire image. In this case we have to first divide to get the
width/height in terms of blocks, and then multiply by the block size to
get the buffer's pitch and layer size. Multiplying and dividing instead
won't get the correct result when the extent covers the entire image and
isn't a multiple of the block size. This also makes the code easier to
follow because we don't calculate a pitch in non-sensical units (bytes
times the block width) as an intermediate step.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5098 >
2020-05-19 19:55:11 +00:00
Connor Abbott
da68c72715
tu: Fall back to 3d blit path for BC1_RGB_* formats
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5098 >
2020-05-19 19:55:11 +00:00
Connor Abbott
3d5cc5ff22
tu: Always initialize image_view fields for blit sources
...
Previously we only supported BLIT_SRC_BIT and BLIT_DEST_BIT together, so
we didn't have to worry about initializing blit-related fields for
texture-only formats, but it turns out that 2d blits work out just fine
with these formats and we'll need to enable BLIT_SRC_BIT for
texture-only formats due to a Vulkan requirement on compressed formats.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5098 >
2020-05-19 19:55:11 +00:00
Jason Ekstrand
cc4a02d0ed
nir: Add a store_reg helper and use the builder in phis_to_regs
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5094 >
2020-05-19 19:31:26 +00:00
Jason Ekstrand
3fdbeb70e1
nir: Add a new helper for iterating phi sources leaving a block
...
This takes the same callback as nir_foreach_src except it walks all phi
sources which leave a given block.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5094 >
2020-05-19 19:31:26 +00:00
Jason Ekstrand
2c8c5cc87d
nir/clone: Re-use clone_alu for nir_alu_instr_clone
...
All it takes are a couple small tweaks to the clone infrastructure to
allow us to use it without any remap table at all. This reduces code
duplication and the chances for bugs that come with it. In particular,
the hand-rolled nir_alu_instr_clone didn't preserve no_[un]signed_wrap,
or source/destination modifiers.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5094 >
2020-05-19 19:31:26 +00:00
Bas Nieuwenhuizen
4c62dbb145
radv/winsys: Finish mapping for sparse residency.
...
This adds the part that disables pagefaults when unbacked sparse
textures get accessed.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5079 >
2020-05-19 19:17:35 +00:00
Ian Romanick
fec36c0668
intel/drm-shim: Return correct values for I915_PARAM_HAS_ALIASING_PPGTT
...
It sure looks like it should be a Boolean value, but it's not. The
values that we really want for later platforms are either 2 or 3. The
old intel_stub.c in shader-db just always returns 3
(I915_GEM_PPGTT_FULL). This returns the same set of values per platform
that kernel 5.6.13 would.
When using the shim for ICL with i965 driver, this fixes:
i965 requires softpin (Kernel 4.5) on Gen10+.
Fixes: 0f4f1d70bf ("intel: add stub_gpu tool")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5061 >
2020-05-19 18:55:29 +00:00
Ian Romanick
c8635b6fd3
intel/drm-shim: Add noop ioctl handler for set_tiling
...
When using the shim for HSW and earlier, this fixes:
DRM_SHIM: unhandled driver DRM ioctl 33 (0xc0106461)
Fixes: 0f4f1d70bf ("intel: add stub_gpu tool")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5061 >
2020-05-19 18:55:29 +00:00
Bas Nieuwenhuizen
f8314291b3
radv: Expose VK_EXT_pipeline_creation_cache_control.
...
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2972
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5072 >
2020-05-19 18:40:04 +00:00
Bas Nieuwenhuizen
32e9283145
radv: Support VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5072 >
2020-05-19 18:40:04 +00:00
Bas Nieuwenhuizen
e11f077bb2
radv: Support VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5072 >
2020-05-19 18:40:04 +00:00
Bas Nieuwenhuizen
dde998685e
radv: Support VK_PIPELINE_COMPILE_REQUIRED_EXT.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5072 >
2020-05-19 18:40:04 +00:00
Alyssa Rosenzweig
46624f277e
panfrost: Enable AFBC for Z24X8
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5069 >
2020-05-19 18:09:26 +00:00
Alyssa Rosenzweig
82792ef19f
panfrost: Fix Z24 vs Z32 mixup
...
We don't actually support Z32_UNORM; the format we've been using as such
is in fact Z24X8 / Z24S8. Fix that and drop Z32_UNORM.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5069 >
2020-05-19 18:09:26 +00:00
Alyssa Rosenzweig
861e7dcae6
panfrost: Switch formats to table
...
Rather than heuristically guessing what PIPE formats correspond to what
in the hardware, hardcode a table. This is more verbose, but a lot more
obvious -- the previous format support code was a source of endless
silent bugs.
v2: Don't report RGB233 (icecream95). Allow RGB5 for texturing
(icecream95).
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5069 >
2020-05-19 18:09:26 +00:00
Alyssa Rosenzweig
6be9e09473
pan/mfbd: Add format codes for PIPE_FORMAT_B5G5R5A1_UNORM
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5069 >
2020-05-19 18:09:26 +00:00
Rhys Perry
aca15d5cba
nir/opt_if: use nir_src_as_bool in opt_peel_loop_initial_if helper
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4757 >
2020-05-19 17:46:38 +00:00
Rhys Perry
50bead32b1
nir/opt_if: run opt_peel_loop_initial_if after all other optimizations
...
Fixes dEQP-VK.graphicsfuzz.loops-ifs-continues-call with RADV.
opt_if_loop_terminator can cause this optimization or
opt_if_simplification to be run on the non-SSA code.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Fixes: 52c8bc0130 ('nir: make opt_if_loop_terminator() less strict')
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2943
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4757 >
2020-05-19 17:46:38 +00:00
Jason Ekstrand
d221f70299
nir: Add documentation for each jump instruction type
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5101 >
2020-05-19 17:21:23 +00:00
Jason Ekstrand
d011fbde5c
nir: Use a switch statement in nir_handle_add_jump
...
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5101 >
2020-05-19 17:21:23 +00:00
Jason Ekstrand
8c87082c94
nir: Validate jump instructions as an instruction type
...
This has the downside of putting block successor validation in two
places that are a bit further apart. However, handling them as a
special case makes the code more confusing than needed. At least two
different people have not noticed that we don't have jump instruction
validation in the last week or two and added it. Being able to search
for validate_jump_instr is useful.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5101 >
2020-05-19 17:21:23 +00:00
Samuel Pitoiset
0fb3dc8d10
radv/aco: enable storageInputOutput16 on GFX9+
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4966 >
2020-05-19 17:05:05 +00:00
Samuel Pitoiset
cc1a1da8ab
aco: fix off-by-one error with 16-bit MTBUF opcodes on GFX10
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4966 >
2020-05-19 17:05:05 +00:00
Samuel Pitoiset
1647e098e9
aco: implement 16-bit interp
...
For 16-bit bank LDS (ie. Kabini/Stoney) we need a slightly different
path. It's completely untested though because I don't have these
chips but according to vkpipeline-db the generated assembly seems fine.
Note that 16-bit I/O is currently only exposed on GFX9+ for both
compiler backends.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4966 >
2020-05-19 17:05:05 +00:00
Samuel Pitoiset
bbbb4057e6
aco: emit v_interp_*_f16 instructions as VOP3 instead of VINTRP
...
This adds a separate emission path in the assembly for the 16-bit
interp instructions.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4966 >
2020-05-19 17:05:05 +00:00
Samuel Pitoiset
34f2c4dc6a
aco: validate v_interp_*_f16 as VOP3 instructions instead of VINTRP
...
16-bit interp instructions are considered VINTRP by the compiler
but they are emitted as VOP3 by the assembler.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4966 >
2020-05-19 17:05:05 +00:00
Samuel Pitoiset
3fba5bb9cc
aco: implement 16-bit vertex fetches with tbuffer_load_format_d16_*
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4966 >
2020-05-19 17:05:05 +00:00
Samuel Pitoiset
7ffd394605
aco: implement 8-bit/16-bit mov's with p_create_vector
...
ACO doesn't lower 8-bit/16-bit mov's in NIR.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2997
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4966 >
2020-05-19 17:05:05 +00:00
Samuel Pitoiset
860b4d16f4
aco: allow to load/store 16-bit values in VMEM for tess and geom
...
We only have to adjust some assertions to allow storing/loading
16-bit values.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4966 >
2020-05-19 17:05:05 +00:00
Samuel Pitoiset
9bd3b67163
aco: convert 16-bit values before exporting MRTs
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4966 >
2020-05-19 17:05:05 +00:00
Samuel Pitoiset
462a5fe6f4
aco: store 16-bit temporary outputs as v2b
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4966 >
2020-05-19 17:05:05 +00:00
Emmanuel Gil Peyrot
a3fb064e00
Expose EGL_KHR_platform_* when EXT is supported
...
On EGL 1.4, one had to check for the existence of EGL_EXT_platform_base
before querying the eglGetPlatformDisplayEXT() and
eglCreatePlatformWindowSurfaceEXT() symbols, to then use them if the
EGL_EXT_platform_* extension for the given platform was exposed.
Since EGL 1.5, the platform functionality was made core, which means we
can obtain the symbols unconditionally, but we can't know the EGL
version before having created a display, at which point we've already
done a platform selection by passing an EGLNativeDisplay. The
EGL_KHR_platform_* extensions thus are used by clients to know whether
it's safe or not to dlsym() the EGL 1.5 symbols.
This commit adds those extensions when the given platform is enabled.
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5052 >
2020-05-19 16:41:54 +00:00
Alyssa Rosenzweig
52d6b4d6c0
pan/decode: Fix min/max_tile_coord mixup
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5099 >
2020-05-19 16:24:49 +00:00
Alyssa Rosenzweig
deb78eec1b
pan/decode: Use a page table for tracking mmaps
...
We create a hash table mapping GPU va's to mmap structures, such that
searching for a mapped address is effectively O(1) rather than O(N) to
the number of mapped entries as with the previous linked list approach.
This is a memory-time tradeoff, but the speed-up is tracing is notable.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5099 >
2020-05-19 16:24:49 +00:00
Rob Clark
3c355f1ae8
freedreno/ir3/validate: add checking for types and opcodes
...
For cases where instructions have a src and/or dst type, validate that
it matches the src/dst register types. And for cases where there are
different opcodes for half vs full, validate that the opcode matches.
Now that we maintain this properly throughout the stages of the ir, we
can drop the fixups from the RA pass.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048 >
2020-05-19 16:06:17 +00:00
Rob Clark
f484d63617
freedreno/ir3: add helpers to deal with src/dst types
...
Add some helpers to properly maintain src/dst types, and in the cases
where opcode depends on src or dst type, maintain that as well.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048 >
2020-05-19 16:06:17 +00:00
Rob Clark
3561d34fff
freedreno/ir3: add simple validate pass
...
We can add to this as we notice other things that are worth validating
between ir3 passes.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048 >
2020-05-19 16:06:17 +00:00
Rob Clark
554f3d54ca
freedreno/ir3: fix mismatched wrmask for overlapping VS inputs
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048 >
2020-05-19 16:06:17 +00:00
Rob Clark
16cd232dbc
freedreno/ir3/cp: fix cmps folding
...
When we start doing cp iteratively, we hit the case that we've already
`cmps.s.*` into a `cmps.s.ne p0.x, ...`.. when we try to do that again
we can invert the logic condition. So check specifically the condition
to prevent this.
TODO we could maybe be more clever about this to combine conditions.
But why isn't that happening in nir? For example, see
dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed.bool
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048 >
2020-05-19 16:06:17 +00:00
Rob Clark
39de27d3b9
freedreno/ir3/print: print cat2 condition
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048 >
2020-05-19 16:06:17 +00:00
Rob Clark
7b86b5ed7d
freedreno/ir3: fix immed type in create_addr0()
...
We can also remove a bunch of manual src/dst flag munging, since the
instruction builders handle this automatically now.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048 >
2020-05-19 16:06:17 +00:00
Rob Clark
3474ba53b5
freedreno/ir3/cf: handle multiple cov's properly
...
There can be multiple (for ex.) f32f16's from a single source, in
particular appearing in different blocks. We need to update all uses
of the src which had conversion folded in, not all the uses of the
individual cov. Also, to avoid invalidating the ssa use info that was
gathered at the beginning of the pass, don't actually eliminate the
cov, but instead change it to a simple mov that the cp pass can gobble
up.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048 >
2020-05-19 16:06:17 +00:00
Rob Clark
3db5d146e9
freedreno/ir3: fix mismatched flags on split
...
We have to fixup the meta:split half flag, because `ir3_split_dest()` is
called before we fixup the dest type. But we should fixup both the
split src and dest, as well as the thing it is splitting.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048 >
2020-05-19 16:06:17 +00:00
Rob Clark
b24b6a8365
freedreno/ir3/group: fix for half-regs
...
If we're inserting a mov to resolve a conflict between meta:collect's
(ie. for .zyx type swizzles, etc), we should use the correct precision.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048 >
2020-05-19 16:06:17 +00:00
Rob Clark
fcfe5eff63
freedreno/ir3: make input/output iterators declare cursor ptr
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048 >
2020-05-19 16:06:17 +00:00
Rob Clark
c1d33eed41
freedreno/ir3: make foreach_ssa_src declar cursor ptr
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048 >
2020-05-19 16:06:17 +00:00
Rob Clark
65f604e3b3
freedreno/ir3: make foreach_src declare cursor ptr
...
To match how the newer iterators work.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048 >
2020-05-19 16:06:17 +00:00
Rob Clark
599fd861d4
freedreno/ir3: be iterative
...
It does pick up a few more cf/cp opportunities, according to sharder-db.
But don't think it will be measurable.
But this will allow some future simplification to cp by pulling out it's
internal iteration.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048 >
2020-05-19 16:06:17 +00:00
Rob Clark
b828929ac9
freedreno/ir3: move where we preserve binning pass inputs
...
For a6xx, since we use same VBO state for binning and VS, we need to
preserve potentially unused inputs. This needs to be done before DCE.
So move it before we add earlier DCE passes.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048 >
2020-05-19 16:06:17 +00:00
Rob Clark
d0cfc06a2c
freedreno/ir3: add IR3_PASS() macro
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048 >
2020-05-19 16:06:17 +00:00
Rob Clark
c9e5605720
freedreno/ir3/postsched: report progress
...
Or do the easy thing and claim we always changed something. It is kinda
hard and not worth the effort to determine for real.
Also rip out unused error handling. This pass should never fail. And
we weren't even actually checking the return.
And while we're at it, switch over to taking the 'struct ir3 ir*`
instead of ctx, to standardize with the other passes.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048 >
2020-05-19 16:06:17 +00:00
Rob Clark
c953794cd6
freedreno/ir3/legalize: report progress
...
It always does something. Just return true for IR3_PASS()
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048 >
2020-05-19 16:06:17 +00:00
Rob Clark
c3630c9d29
freedreno/ir3/group: report progress
...
Not iterative, but this will let IR3_PASS() macro know if there are any
changes to print.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048 >
2020-05-19 16:06:17 +00:00
Rob Clark
721147a05d
freedreno/ir3/deps: report progress
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048 >
2020-05-19 16:06:17 +00:00
Rob Clark
e4ecfde2dd
freedreno/ir3/cp: report progress
...
Later when we do this pass iteratively, we can drop some of the internal
iteration and just rely on this pass getting run until there is no more
progress.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048 >
2020-05-19 16:06:17 +00:00
Rob Clark
372e466301
freedreno/cf: report progress
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048 >
2020-05-19 16:06:17 +00:00
Rob Clark
b6d121502d
freedreno/ir3/dce: report progress
...
Eventually we'll pull the iteration out of the pass itself, but the
first step is to just report progress.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048 >
2020-05-19 16:06:17 +00:00
Rob Clark
9beb2baaff
freedreno/ir3: juggle around ir3_debug_print()
...
In a later patch, this will get folded into an IR3_PASS() macro, at
least for most passes. But to do that, it is better to standardize
on printing the ir3 after the pass.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048 >
2020-05-19 16:06:17 +00:00
Rob Clark
947aa23eff
freedreno/ir3: remove Sethi-Ullman numbering pass
...
We haven't used this for a while.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048 >
2020-05-19 16:06:17 +00:00
Samuel Pitoiset
0ceb56a531
radv: fix missing break in radv_GetPhysicalDeviceProperties2()
...
Fixes: 57e796a12a ("radv: Implement VK_EXT_custom_border_color")
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/5097 >
2020-05-19 15:51:14 +00:00
Rhys Perry
bcb0038c83
aco: fix disassembly with LLVM 11
...
SymbolInfoTy was modified in LLVM 11. It is also in MCDisassembler.h now
and we don't have to duplicate it anymore.
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/5060 >
2020-05-19 14:18:26 +01:00
Gert Wollny
ff98b1b51a
r600/sfn: Fix printing ALU op without dest
...
e.g. GROUP_BARRIER doesn't have a dest.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:14 +00:00
Gert Wollny
1124c3f1b6
r600/sfn: Don't reorder outputs by location
...
This was wrong, if anything it should be sorted by device_location, and NIR usually
provides this.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:14 +00:00
Gert Wollny
9f942a8e7c
r600/sfn: Fix splitting constants that come from different kcache banks.
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:14 +00:00
Gert Wollny
723ae8177e
r600/sfn: Fix clip vertex output as possible stream variable
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
7ae4b7938e
r600/sfn: SSBO: Fix query of dest components
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
7c247f505c
r600/sfn: use the per shader atomic base
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
cd2d7966ac
r600/sfn: Add support for texture_samples
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
358b0a57bf
r600/sfn: support indirect sampler buffer reads.
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
2f3ce9b1d0
r600/sfn: assert when alu dest is missing
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
fd99a7737f
r600/sfn: remove pointless check
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
ff92345a19
r600/sfn: Don't reject VARYING_SLOT_PCNT
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
15d6d35420
r600/sfn: Add FS output sample_mask
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
91a618eae9
r600/sfn: Handle loading sample_pos
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
70b84920be
r600/sfn: Take FOGC, and backcolors into account im GS outputs
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
d777c04095
r600/sfn: Add support for viewport index output
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
607d7fb587
r600/sfn: Make 3vec loads skip possible moves
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
ac2c3fb010
r600/sfn: Fix handling of output register index
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
9db5536643
r600/sfn: Make allocate_reserved_registers forward to a virtual function
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
041df79496
r600/sfn: Fix RAT instruction assembly emission
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
8977946aa2
r600/sfn: Fix GDS assembly emission
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
b6eb19dd63
r600/sfn: Fix RING instruction assembly emission
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
e475eae0fe
r600/sfn: Fix memring print output
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
13bb0a9701
r600/sfn: skip copying LOD if the target register is is the same
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
19673ce47d
r600/sfn: re-use an allocated register in lookup
...
For texture coordinates we always allocate all four components so that
we can use these for LOD and, compare etc.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
dfb0ba8272
r600/sfn: Skip move instructions if they are only ssa and without modifiers
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
aed9618e20
r600/sfn: rework getting a vector and uniforms from the value pool
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
afd47ea83b
r600/sfn: Handle CF index loading from non-X channel
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
54c3d4bd24
r600: Add support for loading index register from other than chan X
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
3baad03616
r600: Lower lerp after tgsi_to_nir
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
b689de3444
r600: Lower int64 ops from TGSI-to-NIR shaders too
...
r600 uses a TGSI shaders with 64 bit ints for a query compute shader.
v2: Use screen version of tgsi_to_nir and fix compile error
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
32305c0959
r600/sfn: Fix printing vertex fetch instruction flags
...
Fixes: f718ac6268
r600/sfn: Add a basic nir shader backend
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Gert Wollny
65d8c692bd
r600/sfn: Unify semantic name and index query and use TEXCOORD semantic
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085 >
2020-05-19 07:52:13 +00:00
Michel Dänzer
667126cc82
Revert "gallium/gallivm: fix compilation issues with llvm 11"
...
This reverts commit e2a7436dd1 .
The corresponding LLVM changes were reverted.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2983
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5087 >
2020-05-19 07:19:35 +00:00
Michel Dänzer
2a6811f0f9
Revert "ac,radeonsi: fix compilations issues with LLVM 11"
...
This reverts commit 42b1696ef6 .
The corresponding LLVM changes were reverted.
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5087 >
2020-05-19 07:19:35 +00:00
Caio Marcelo de Oliveira Filho
c4544f4716
nir: Consider atomic counter intrinsics when setting writes_memory
...
In i965 these get lowered after gather info, so let's consider them
too. Fixes
piglit.spec.arb_framebuffer_no_attachments.arb_framebuffer_no_attachments-atomic
in Gen9, HSW and IVB.
Fixes: 6a6c36e977 ("intel/fs: Use writes_memory from shader_info")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5093 >
2020-05-18 19:06:53 -07:00
Dave Airlie
ee90339cfb
llvmpipe: add gl_SampleMaskIn support.
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050 >
2020-05-19 10:26:46 +10:00
Dave Airlie
310823eccd
gallivm/nir: add sample_mask_in support
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050 >
2020-05-19 10:26:46 +10:00
Dave Airlie
0dac24790e
llvmpipe/fs: hook up the interpolation APIs.
...
This hooks the nir code to the interp code.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050 >
2020-05-19 10:26:46 +10:00
Dave Airlie
3f71a5e25f
llvmpipe: add interp instruction support
...
This allows interpolating an attribute at offset/sample/centroid
locations.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050 >
2020-05-19 10:26:46 +10:00
Dave Airlie
06c10fa3a5
llvmpipe/interp: refactor out centroid calculations
...
These will be reused in the interp instruction code.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050 >
2020-05-19 10:26:46 +10:00
Dave Airlie
c1f5a23a4d
llvmpipe/interp: refactor out use of pixel center offset
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050 >
2020-05-19 10:26:46 +10:00
Dave Airlie
ae5f6ddc05
gallivm/nir: add an interpolation interface.
...
This supports interpolating at a certain location, offsets,
sample or centroid.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050 >
2020-05-19 10:26:46 +10:00
Dave Airlie
53fcb30c12
llvmpipe: remove non-simple interpolation paths.
...
These are broken since adding multisample, and unused for
quite a while.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050 >
2020-05-19 10:26:46 +10:00
Dave Airlie
6b7e03175d
llvmpipe/interp: fix interpolating frag pos for sample shading
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050 >
2020-05-19 10:26:46 +10:00
Dave Airlie
c9690b7471
llvmpipe: use per-sample position not sample id for interp
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050 >
2020-05-19 10:26:46 +10:00
Dave Airlie
5098764483
llvmpipe: don't use sample mask with 0 samples
...
piglit:
spec/arb_sample_shading/builtin-gl-sample-mask 0
spec/arb_sample_shading/builtin-gl-sample-mask-simple 0
CTS:
KHR-GL45.sample_variables.mask.rgba8.samples_0.mask_zero
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050 >
2020-05-19 10:26:46 +10:00
Dave Airlie
b11aa12253
r600/sfn: add emit if start cayman support
...
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5084 >
2020-05-18 21:56:29 +00:00
Dave Airlie
4746796b82
r600/sfn: add callstack non-evergreen support
...
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5084 >
2020-05-18 21:56:29 +00:00
Dave Airlie
19273fb227
r600/sfn: cayman fix int trans op2
...
Fix integer multiplies
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5084 >
2020-05-18 21:56:29 +00:00
Dave Airlie
38560e0d1d
r600/sfn: fix cayman float instruction emission.
...
This is enough to get glxgears working.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5084 >
2020-05-18 21:56:29 +00:00
Dave Airlie
ff9c95421a
r600/sfn: plumb the chip class into the instruction emission
...
In order to emit the correct instruction sequences for cayman
we need this info.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5084 >
2020-05-18 21:56:29 +00:00
Jason Ekstrand
164aed6c81
anv:gpu_memcpy: Emit 3DSTATE_VF_INDEXING on Gen8+
...
If this gets run right after something which uses
VK_VERTEX_INPUT_RATE_INSTANCE on its first vertex binding, we could end
up in serious trouble.
Fixes: 3d9747780b "anv: Add a helper for doing buffer copies with..."
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5090 >
2020-05-18 21:42:05 +00:00
Caio Marcelo de Oliveira Filho
6a6c36e977
intel/fs: Use writes_memory from shader_info
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4815 >
2020-05-18 21:09:17 +00:00
Caio Marcelo de Oliveira Filho
d89c28d314
nir: Use deref intrinsics to set writes_memory when gathering info
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4815 >
2020-05-18 21:09:17 +00:00
Dave Airlie
d50069ab08
r600: enable TEXCOORD semantic for TGSI.
...
This should make intergrating with NIR easier
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5083 >
2020-05-18 20:01:25 +00:00
Eric Anholt
68b3b5bcab
ci: Switch the baremetal runner to be an x86 docker image.
...
The runner is an x86 system, so running the ARM image meant doing
everything at runtime under qemu, and for the xz of the test rootfs that
was quite expensive. Also, we can rebuild x86 images much faster than we
can rebuild arm images for container development, which will help unblock
some of the other feature parity work I have to do versus the old docker
system that cheza is using.
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5033 >
2020-05-18 19:39:46 +00:00
Eric Anholt
8094a9ab68
ci: Update versions of packages to remove from rootfses.
...
testing's versions have updated, and the apt one was pretty big in the
stripped rootfs.
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5033 >
2020-05-18 19:39:46 +00:00
Eric Anholt
18fc6a95b6
ci: Make the create-rootfs more resilient.
...
If the file doesn't exist, fine. We didn't happen to get that package
dragged in.
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5033 >
2020-05-18 19:39:46 +00:00
Eric Anholt
588ea3184c
ci: Make cmake toolchain file for deqp cross build setup.
...
This adds a few more variables that we found we needed for x86-to-arm dEQP
cross builds. Also note that we're now fixed to use ccache in the dEQP
builds.
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5033 >
2020-05-18 19:39:46 +00:00
Eric Anholt
a65521145c
ci: Autodetect whether we need cross setup in lava_arm builds.
...
The x86 baremetal build would have an armhf cross file, and need the
kernel env setup.
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5033 >
2020-05-18 19:39:46 +00:00
Eric Anholt
188916bd06
ci: Move cross file generation to a shared script.
...
We're going to do this in another container soon, and it would also be
nice to consolidate cmake cross setup.
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5033 >
2020-05-18 19:39:46 +00:00
Chris Wilson
34195d69dd
iris: Initialise stub iris_seqno to 0
...
We create a stub never-signaled seqno to force the iris_fence to use the
fence fd, but we need to fully initialise the iris_seqno struct so that
the unset pointers are NULL and we do not try to destroy them later.
==38644== Conditional jump or move depends on uninitialised value(s)
==38644== at 0xF7FBFAA: pipe_resource_reference (u_inlines.h:142)
==38644== by 0xF7FC22F: iris_seqno_destroy (iris_seqno.c:38)
==38644== by 0xF7E8930: iris_seqno_reference (iris_seqno.h:89)
==38644== by 0xF7E8BC3: iris_fence_destroy (iris_fence.c:131)
==38644== by 0xF7E8C41: iris_fence_reference (iris_fence.c:143)
==38644== by 0xEF24525: dri2_destroy_fence (dri_helpers.c:176)
==38644== by 0x4865DC2: dri2_egl_unref_sync (egl_dri2.c:3302)
==38644== by 0x48661E8: dri2_destroy_sync (egl_dri2.c:3433)
==38644== by 0x4855BA4: _eglDestroySync (eglapi.c:1952)
==38644== by 0x4855CF5: eglDestroySyncKHR (eglapi.c:1972)
==38644== by 0x402628: test_cleanup (egl_khr_fence_sync.c:232)
==38644== by 0x40421E: test_eglCreateSyncKHR_native_from_fd (egl_khr_fence_sync.c:1521)
Closes : #2909
Fixes: fd1907efb3 ("iris: Convert fences to using lightweight seqno")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5004 >
2020-05-18 19:22:12 +00:00
Rob Clark
a6184eae31
freedreno/drm: handle ancient kernels
...
Older kernels did not support `MSM_INFO_GET_IOVA`. But this is only
required for (a) clover (ie. `fd_set_global_binding()`) and drm paths
that are limited to newer kernels. So move the location of the assert
to fix new userspace on old kernels.
Fixes: c9e8df61dc ("freedreno: Initialize the bo's iova at creation time.")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Tested-by: Ilia Mirkin <imirkin@alum.mit.edu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5081 >
2020-05-18 19:00:47 +00:00
Rob Clark
106c2a65db
freedreno/drm: don't pass thru 'DUMP' flag on older kernels
...
"softpin" mode was introduced in the same kernel as the 'DUMP' flag. So
if we are using the legacy non-softpin path, clear the dump flag. OTOH
the 'DUMP' flag isn't quite so needed on older kernels, since we would
get all cmdstream, even SDS stateobjs, dumped regardless, as they would
have cmd table entries.
Fixes: b2c23b1e48 ("freedreno: Mark all ringbuffer BOs as to be dumped on crash.")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Tested-by: Ilia Mirkin <imirkin@alum.mit.edu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5081 >
2020-05-18 19:00:47 +00:00
Ilia Mirkin
e422f61e6e
freedreno/a3xx: fix rasterizer discard
...
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5080 >
2020-05-18 18:34:04 +00:00
Rob Clark
5e10506834
freedreno/fdperf: add dependency on generated headers
...
To fix an issue reported here:
https://bugs.chromium.org/p/chromium/issues/detail?id=1083815
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5088 >
2020-05-18 17:53:45 +00:00
Pablo Saavedra
4504d6374d
ci: Fix TypoError error when traces in traces.yml is an empty list
...
v2: Python's nitpick (Andres)
In case of an empty list of traces, the results.yml will contain an empty
curly braces. In YAML, an associative array can also be specified by text
enclosed in curly braces ({}),
This commit also adds the corresponding test to check the behavior of
tracie when no traces are added in the traces.yml file.
Signed-off-by: Pablo Saavedra <psaavedra@igalia.com >
Reviewed-by: Andres Gomez <agomez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4916 >
2020-05-18 17:27:42 +00:00
Pablo Saavedra
e85dc9a240
ci: Split test_tracie_skips_traces_without_checksum in separate cases
...
test_tracie_skips_traces_without_checksum does the logic previous to
the commit 8546d1dd78 . The traces.yml includes
several traces, only the one without checksum is ignored by tracie.
As a complementary action, this change adds an new test
(test_tracie_only_traces_without_checksum) to verify the behavior for
cases where the traces.yml only contains traces without checksum.
Finally, test_tracie_skips_traces_without_checksum is renamed as
test_tracie_traces_with_and_without_checksum
Signed-off-by: Pablo Saavedra <psaavedra@igalia.com >
Reviewed-by: Andres Gomez <agomez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4916 >
2020-05-18 17:27:42 +00:00
Pablo Saavedra
550a4f7764
ci: Migrate tracie tests done in shell script to pytest
...
v2: Verbatim translation from the original shell script
Make the corrections visible in explicit commits (Andres)
Remove redundant code (Alexandros)
Code style nitpick (Rohan)
Reimplementation of the tracie's self-tests using a pythonic test suit
(pytest).
The new tracie/test.py module is almost a direct translation of the
tests defined in the tracie/test.sh. This new implementation of the
test provides a more common framework where define the tests.
Also allows a better introspection for the tests results and/or
resulting errors.
This patch also adds python3-pytest as dependency for the built images
and adapts the tracie-runner scripts to run the self-test using pytest.
Signed-off-by: Pablo Saavedra <psaavedra@igalia.com >
Reviewed-by: Alexandros Frantzis <alexandros.frantzis@collabora.com > [v1]
Reviewed-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Rohan Garg <rohan.garg@collabora.com > [v1]
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4916 >
2020-05-18 17:27:42 +00:00
Pablo Saavedra
37621da7b1
ci: ArgumentParser receives the args from the main parameters
...
Change the main function to receive the args parameter from
sys.argv[1:]. The args parameter will be passed to the
ArgumentParser.parse_args() function as argument.
This change provides an easier main() function signature to use
with pythonic testsuites.
Signed-off-by: Pablo Saavedra <psaavedra@igalia.com >
Reviewed-by: Alexandros Frantzis <alexandros.frantzis@collabora.com >
Reviewed-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4916 >
2020-05-18 17:27:42 +00:00
Pablo Saavedra
eb1f22fb01
ci: TRACES_DB_PATH and RESULTS_PATH defined as relative paths
...
RESULTS_PATH and RESULTS_PATH, as variables in the module context, are
resolved one single time, only during the first module loading. If the
the Python code in execution changes the current dir at some point,
those paths are not going to be updated anymore keeping the paths
wrongly pointing to the old working dir.
This change modify the definition of those variables to use simply
relative paths.
Signed-off-by: Pablo Saavedra <psaavedra@igalia.com >
Reviewed-by: Alexandros Frantzis <alexandros.frantzis@collabora.com >
Reviewed-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4916 >
2020-05-18 17:27:42 +00:00
Lucas Stach
78c46c2126
etnaviv: don't expose timer queries
...
We don't support any timer queries, so stop lying about our
ability to do so.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5086 >
2020-05-18 17:03:05 +02:00
Ilia Mirkin
b5accb3ff9
freedreno/a3xx: parameterize ubo optimization
...
A3xx apparently has higher alignment requirements than later gens for
indirect const uploads. It also has fewer of them. Add compiler
parameters for both settings, and set accordingly for a3xx and a4xx+.
This fixes all the ubo test failures caused by this optimization.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5077 >
2020-05-17 19:51:40 -04:00
Ilia Mirkin
475fb28377
freedreno: fix off-by-one in assertions checking for const sizes
...
Caused assertions to trip even though everything was fine. The number of
constants can be equal to length, so we need less-than-or-equal.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5077 >
2020-05-17 19:51:36 -04:00
Ilia Mirkin
1c05e16666
freedreno/a3xx: fix const footprint
...
In commit 5d8f40a53a , the change was done incorrectly, switching from
max_const to constlen + 1. Instead it should have been constlen - 1,
which is the analog to the former max_const.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5077 >
2020-05-17 19:51:10 -04:00
Ilia Mirkin
9048adbd24
freedreno/ir3: avoid applying (sat) on bary.f
...
This causes failures on a3xx resulting in the non-sensical dEQP failures
on packUnorm2x16. The same test uses ldlv on a4xx+, so just disallow
(sat) on bary.f on all generations.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5074 >
2020-05-17 21:17:57 +00:00
Ilia Mirkin
8d86892ea3
freedreno/a3xx: reinstate rgb10_a2ui texture format
...
Rendering doesn't work, but having the format in place avoids an assert
when selecting the texture format in st_format. I believe it's required
for GLES3, so more tracing is required to determine what bit we're
missing to make rendering work.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5073 >
2020-05-17 14:39:42 -04:00
Ilia Mirkin
ff4df32fae
freedreno/a3xx: there's no r8i/ui rb format, only rg8i/rg8ui
...
This fixes a number of dEQP tests:
dEQP-GLES3.functional.fbo.blit.conversion.r8*
dEQP-GLES3.texture.specification.basic_teximage2d.r8*
and others. The reason why this enum showed up in traces for R8 is that
it was an "upgraded" texture to R8G8.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5073 >
2020-05-17 14:39:42 -04:00
Christopher Egert
78615dcca1
radv: use util_float_to_half_rtz
...
Since commit 8b8af6d398 there is a
performance regression in dirt 4 on picasso APUs.
The game ends up feeding a large value into this which overflows on the
conversion to 16bit float. With the old implementation (which now lives
in util_float_to_half_rtz) it would be clamped to inf-1, while the new
one returns inf. This causes a performance hit somehow at some point
down the line.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Fixes: 8b8af6d398 "gallium/util: Switch util_float_to_half to _mesa_float_to_half()'s impl."
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5062 >
2020-05-17 01:12:59 +02:00
Erico Nunes
632a921bd0
lima/ppir: optimize tex loads with single successor
...
These don't need a mov, and can be used directly with pipeline output.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4975 >
2020-05-16 17:24:03 +02:00
Erico Nunes
a4b7699d84
lima/ppir: rework tex lowering
...
Move steps from lowering to emit, since they can be done earlier in a
single place, rather than in two-steps.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4975 >
2020-05-16 17:24:00 +02:00
Erico Nunes
92611e21c1
lima/ppir: improve handling for successors in other blocks
...
ppir doesn't register successors in other blocks, and causes
ppir_node_has_single_succ to be unreliable as it might return true for
nodes with successors in other blocks.
This is bad for optimization passes that try to pipeline registers or
avoid insertion of movs, as that can generally only be done for nodes
with a single user.
As of now, ppir can't just start adding successors in other blocks as
that breaks the scheduling code.
So this patch is a little hacky but enables pipelining optimizations
during lowering. It can hopefully be removed during future scheduler
rework.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4975 >
2020-05-16 17:23:58 +02:00
Erico Nunes
96c1d5f629
lima/ppir: handle failures on all ppir_emit_cf_list paths
...
In some paths where ppir_emit_cf_list is called, compilation errors such
as in unsupported features were not being handled, allowing compilation
to continue and fail at some random point later.
Handle them properly so compilation aborts in the expected way rather
than what may look like a compiler crash/bug.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4975 >
2020-05-16 17:23:48 +02:00
Eric Engestrom
fa3549c92b
util/rand_xor: extend the urandom path to all non-Windows platforms
...
Any system that provides `/dev/urandom` should be allowed to try to use it.
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2316 >
2020-05-16 12:05:37 +00:00
Eric Engestrom
d76abe98cf
util/rand_xor: fallback Linux to time-based instead of fixed seed
...
When the caller asked for a randomised_seed, we should fall back to the
time-based seed instead of the fixed seed.
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2316 >
2020-05-16 12:05:37 +00:00
Eric Engestrom
e0ce684aae
util/rand_xor: drop unused header
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2316 >
2020-05-16 12:05:37 +00:00
Eric Engestrom
f50f26325f
util/rand_xor: make it clear that {,s_}rand_xorshift128plus take *exactly 2* uint64_t
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2316 >
2020-05-16 12:05:37 +00:00
Eric Engestrom
576bff5c73
gitlab-ci: exclude scripts that don't affect the build
...
All the other files in bin/ are not used by any build system and as such
cannot affect the build.
I've been working on maintainer tools lately and it's frustrating to have
the CI wait for 45 minutes to rebuild everything and not even read/run
the files in the MR when it could've just been merged and moved on to
the next MR 45 minutes ago.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Acked-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5046 >
2020-05-16 11:40:14 +00:00
Thong Thai
494b7ef0c1
gallium/auxiliary/vl: Fix compute shader scaling for non-square pixels
...
Calculate the scale_y parameter instead of assuming square pixels.
Signed-off-by: Thong Thai <thong.thai@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5057 >
2020-05-16 02:17:26 +00:00
Marek Olšák
fd6a5e112a
gallium/u_threaded: execute transfer_unmap with THREAD_SAFE directly
...
This was the original intention, but it wasn't fully implemented.
Fixes: 7f22e0fd29
Closes : #2953
Tested by: John Galt <johngalt@fake.mail >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5030 >
2020-05-15 22:26:52 +00:00
Marek Olšák
c9ccceff10
radeonsi: test uncached clear/copy buffer performance with compute shaders
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4935 >
2020-05-15 22:12:35 +00:00
Marek Olšák
5acf99e81f
radeonsi: compute perf tests - don't test 1 wave/SA limit, test no limit first
...
1 wave/SA is always slow and thus not useful
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4935 >
2020-05-15 22:12:35 +00:00
Marek Olšák
c45a2145f5
radeonsi: disable the L2 cache for CPU read mappings of buffers
...
for faster copying over PCIe and no need to flush L2
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4935 >
2020-05-15 22:12:35 +00:00
Marek Olšák
7356144fe4
radeonsi: disable the L2 cache for most CPU mappings of textures
...
for faster blits over PCIe and no need to flush L2
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4935 >
2020-05-15 22:12:35 +00:00
Marek Olšák
36c0124804
winsys/amdgpu: add RADEON_FLAG_UNCACHED for faster blits over PCIe
...
Small blits benefit more. Good access pattern is required.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4935 >
2020-05-15 22:12:35 +00:00
Marek Olšák
cbbc18bc67
radeonsi: use display_dcc_offset for setting displayable_dcc_cb_mask
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4935 >
2020-05-15 22:12:35 +00:00
Marek Olšák
b5ac9d18d8
radeonsi: use vi_dcc_enabled instead of using tex->surface.dcc_offset directly
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4935 >
2020-05-15 22:12:35 +00:00
Marek Olšák
2c4c1b0499
radeonsi: rename SI_RESOURCE_FLAG_TRANSFER to FORCE_LINEAR
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4935 >
2020-05-15 22:12:35 +00:00
Marek Olšák
4907bb44c3
radeonsi: simplify setting resource usage for si_init_temp_resource_from_box
...
usage was set twice, once in the function, and then after the function
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4935 >
2020-05-15 22:12:35 +00:00
Marek Olšák
f57276309b
radeonsi: tweak clear/copy_buffer limits when to use compute
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4935 >
2020-05-15 22:12:35 +00:00
Marek Olšák
b158b117e1
radeonsi: optimize access pattern for compute blits with linear textures
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4935 >
2020-05-15 22:12:35 +00:00
Marek Olšák
9f8089139f
radeonsi: use correct clear value size for EQAA in expand_fmask
...
based on the fmask_expand_values array.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4935 >
2020-05-15 22:12:35 +00:00
Marek Olšák
2361e8e722
ac/nir: honor ACCESS_STREAM_CACHE_POLICY for L1 and L0 caches too
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4935 >
2020-05-15 22:12:35 +00:00
Joshua Ashton
d573d1d825
radeonsi: Use TRUNC_COORD on samplers
...
The default behaviour (0) is: "round-nearest-even to n.6 and drop fraction when point sampling" whereas the OpenGL spec simply wants us to floor it (1) "truncate when point sampling".
See 8.14.2 in the OpenGL spec:
https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf
The Direct3D spec also mandates this (https://microsoft.github.io/DirectX-Specs/d3d/archive/D3D11_3_FunctionalSpec.htm#7.18.7%20Point%20Sample%20Addressing )
On WineD3D:
This fixes some point-sampling texture precision issues in some Direct3D 9 titles such as Guild Wars 2 and htoL#NiQ: The Firefly Diary that are not present on other vendors.
CC: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3953 >
2020-05-15 21:56:44 +00:00
Sagar Ghuge
65c2362e88
iris: Use modfiy disables for 3DSTATE_WM_DEPTH_STENCIL command
...
Add new IRIS_DIRTY_STENCIL_REF dirty flag which would help us to trigger
separate 3DSTATE_WM_DEPTH_STENCIL packet using modify disable fields.
Instead of merging two packets into one in order to build
3DSTATE_WM_DEPTH_STENCIL state, set_stencil_ref can use
IRIS_DIRTY_STENCIL_REF bit and bind_zsa_state can use
IRIS_DIRTY_WN_DEPTH_STENCIL, both could cause packet to happen with
available information using modify disable bits which allow us to
construct packet by ignoring set of fields.
v2: (Kenneth Graunke)
- Fix condition ordering.
- Club GEN cases.
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3688 >
2020-05-15 21:41:12 +00:00
Thong Thai
864d8acbfd
radeon: Fix whitespaces
...
Minor adjustment to whitespace to align text since the indentation changed
Signed-off-by: Thong Thai <thong.thai@amd.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3523 >
2020-05-15 21:22:39 +00:00
Marek Olšák
f80d653d70
radeonsi: don't expose 16xAA on chips with 1 RB due to an occlusion query issue
...
Only Stoney and Raven2 are affected.
Cc: 20.0 20.1 <mesa-stable@lists.freedesktop.org >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5047 >
2020-05-15 21:04:55 +00:00
Samuel Pitoiset
844d561c58
spirv: handle OpCopyObject correctly with any types
...
This implements OpCopyObject as a blind copy and propagates the
access mask properly even if the source object type isn't a SSA
value.
This fixes some recent dEQP-VK.descriptor_indexing.* failures
since CTS changed and now apply nonUniformEXT after constructing
a combined image/sampler.
Original patch is from Jason Ekstrand.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4909 >
2020-05-15 19:18:53 +00:00
Lucas Stach
9d1821adf0
etnaviv: retarget transfer to render resource when necessary
...
If we have a separate render resource, it may contain more up-to-date
data than what is available in the base resource, so we need to retarget
the transfer to this resource. As the most likely reason for the
existence of the render resource is a multi-tiled render layout we need
to allow this transfer to go through the resolve/blit copy path, as we
can't de-/tile those layouts in software.
Fixes: b962776530 (etnaviv: rework compatible render base)
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5051 >
2020-05-15 20:29:10 +02:00
Rafael Antognolli
bb3545a6ee
intel: Store the aperture size in devinfo.
...
We will later use the devinfo from iris_bufmgr, where we don't have
access to the screen pointer. And since we are moving it, we can reuse
it in Anv and i965.
v2: return error code and check for it on Anv (Lionel).
v3: Remove anv_gem_get_aperture() from anv_private.h and stubs (Lionel).
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5043 >
2020-05-15 16:57:04 +00:00
Axel Davy
a887ad7c84
st/nine: Handle full pSourceRect better
...
Some apps do set pSourceRect to the full area even if not needed.
Filtering out this case is helpful, as we currently do not handle
properly resizing (pDestRect or window size not of the size of the resource)
when pSourceRect is set. Indeed in this case pSourceRect needs to be modified
before being passed to the presentation backend.
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015 >
2020-05-15 15:43:57 +00:00
Axel Davy
dbb0825570
st/nine: Ignore pDirtyRegion
...
We supported it, but it's not much useful.
Besides it gets more complicated to handle right when
you support resizing before display.
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015 >
2020-05-15 15:43:57 +00:00
Axel Davy
1c474dde28
st/nine: Improve pDestRect handling
...
pSourceRect and pDestRect allows to:
A) display a crop of the backbuffer
B) display the content in a subregion (after an offset)
C) resize the content before displaying
Before this patch, only features A and B were supported.
This patch adds C, but breaks A, which current support
relied on C not being implemented.
I think C is more important than A, and A can be added later.
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015 >
2020-05-15 15:43:57 +00:00
Axel Davy
ffed34113b
st/nine: Retry allocations after freeing some space
...
Managed resources can be released whenever we need.
When we have an allocation failure, free them and retry.
Try also to flush the csmt queue in case there were some things released.
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015 >
2020-05-15 15:43:57 +00:00
Axel Davy
d771e0cc60
st/nine: Increase available GPU memory
...
This patch caps to 4GB the limit of GPU memory accessible
only for 32bits build.
This would deserve some tests on windows, so we might change that
behaviour in the future. For example, it's possible that
GetAvailableTextureMem is capped to 4GB on 64bits build.
We cap to a bit less than 4GB, which might help
https://github.com/iXit/Mesa-3D/issues/323
In addition, increase from 80% to 95% the allocation limit above
which we fail allocating.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015 >
2020-05-15 15:43:57 +00:00
Axel Davy
4cf13691be
st/nine: Add missing NULL checks
...
Ideally apps shouldn't make buggy calls.
Still if some do, let's avoid crashing.
Without this patch, if some calls are invalid,
for example if replaying a trace of a game needing
a lot of VRAM on a card with not much VRAM, it can
crash.
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015 >
2020-05-15 15:43:57 +00:00
Axel Davy
725ebc4657
st/nine: Fix a crash if the state is not initialized
...
I don't remember exactly the conditions of the crash,
but I had a trace which was crashing in the gallium driver
before doing any rendering (something about viewports being not initialized).
It's not the first time we hit such a problem, so rather than investigating
that crash, I chose to just initialize every states at device creation.
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015 >
2020-05-15 15:43:57 +00:00
Axel Davy
0222c550c7
st/nine: Fix uninitialized variable in BEM()
...
tmp was not initialized.
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015 >
2020-05-15 15:43:57 +00:00
Axel Davy
5d904d2749
st/nine: Improve return error code in CheckDeviceFormat
...
This seems suspicious, but is better than what we currently do.
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015 >
2020-05-15 15:43:57 +00:00
Axel Davy
54a7a69085
st/nine: Pass more adapter formats for CheckDepthStencilMatch
...
It seems CheckDepthStencilMatch should accept A8R8G8B8
as adapter format. Given the lack of clarity of the doc
relative to the difference between display format
and adapter format (== display format modulo alpha bits),
for now just accept display formats with and without alpha bits.
Fixes: https://github.com/iXit/Mesa-3D/issues/317
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015 >
2020-05-15 15:43:57 +00:00
Axel Davy
edff31c0d9
st/nine: Do not return invalidcall on getrenderstate
...
To be fair I don't remember why I wrote this patch,
but it seems reasonable.
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015 >
2020-05-15 15:43:57 +00:00
Axel Davy
2c61b4db7d
st/nine: Return error when setting invalid depth buffer
...
Prevents a crash with the trace of
https://github.com/iXit/wine-nine-standalone/issues/40
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015 >
2020-05-15 15:43:57 +00:00
Axel Davy
c0f21cbaa1
st/nine: Add checks for pure device
...
Some Get* functions are forbidden for pure device.
Signed-off-by: Axel Davy <axel.davy@ens.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015 >
2020-05-15 15:43:57 +00:00
Erik Faye-Lund
09ac0350fd
zink: implement i2b1
...
This shuold really have been implemented before starting to use these,
but I guess I missed them.
Fixes a crash when starting a game in Warzone 2100.
Fixes: 7f6a491eec ("zink: lower b2b to b2i")
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5053 >
2020-05-15 14:40:07 +00:00
Emmanuel Gil Peyrot
4c212a1168
util/rand_xor: use getrandom() when available
...
This function has been added in glibc 2.25, and the related syscall in
Linux 3.17, in order to avoid requiring the /dev/urandom to exist, and
doing the open()/read()/close() dance on it.
We pass GRND_NONBLOCK so that it doesn’t block if not enough entropy has
been gathered to initialise the /dev/urandom source, and fallback to the
next source in any error case.
Signed-off-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr >
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2026 >
2020-05-15 13:37:20 +02:00
Erik Faye-Lund
cf2b285c55
zink: mark depth-component cube-maps as done
...
This worked fine all along, nothing to be done for this feature. The
piglit tests mostly pass.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5044 >
2020-05-15 09:54:08 +00:00
Jason Ekstrand
ea62c23703
nir: Use 8-bit types for most info fields
...
This shrinks nir_intrinsics.c.o from 73K to 35K and nir_opcodes.c.o from
64K to 31K on a release build.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5045 >
2020-05-15 03:49:18 +00:00
Joshua Ashton
57e796a12a
radv: Implement VK_EXT_custom_border_color
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4877 >
2020-05-15 01:33:10 +00:00
Bas Nieuwenhuizen
9e3c6a7ba7
radv: Provide a better error for permission issues with priorities.
...
Cc: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4816 >
2020-05-15 03:16:29 +02:00
Eduardo Lima Mitev
e7458f19e1
freedreno/uuid: Generate meaningful device and driver UUID
...
Device UUID becomes SHA1('freedreno' + gpu_id).
Driver UUID becomes SHA1(mesa-version + git-head-sha1).
v2: Don't use build_id for driver UUID since it generates different
values for vulkan and gl shared objects. (Kristian)
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4847 >
2020-05-14 19:05:02 +00:00
Eduardo Lima Mitev
9623debf48
freedreno: Centralize UUID generation into new files freedreno_uuid.c/h
...
The new files are created under a 'common' folder under 'src/freedreno',
where shared functionality between GL and Vulkan drivers (that is not
registers, layout or compiler) will be placed.
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4847 >
2020-05-14 19:05:02 +00:00
Rhys Perry
cdfede7336
aco: split operations that use a swap's definition
...
Instead of relying it's read being entirely within the swap's definition.
No shader-db changes.
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/4950 >
2020-05-14 18:36:33 +00:00
Connor Abbott
f293d02dc4
tu: Advertise COLOR_ATTACHMENT_BLEND_BIT for blendable formats
...
Whoops. After fixing dual-source blending, dEQP-VK.pipeline.blend.* all
go from skipped to pass, and fixes a bunch of
dEQP-VK.api.info.format_properties.* tests where blending is required.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5039 >
2020-05-14 18:15:31 +00:00
Connor Abbott
adbdab3ee8
tu: Implement dual-src blending
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5039 >
2020-05-14 18:15:31 +00:00
Connor Abbott
078aa9df8d
tu: Move RENDER_COMPONENTS setting to pipeline state
...
This needs to be pipeline state because it can change when dual-source
blending is active.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5039 >
2020-05-14 18:15:31 +00:00
Connor Abbott
2a9d12d513
ir3: Fixup dual-source blending slot
...
The hardware expects that where MRT0 and MRT1 would normally go are the
dual sources for MRT0, whereas GLSL has an extra "index" parameter that
indicates which source it is. Remap it when handling FS outputs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5039 >
2020-05-14 18:15:31 +00:00
Connor Abbott
0e0580550e
freedreno/a6xx: Document dual-src blending enable bits
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5039 >
2020-05-14 18:15:31 +00:00
Karol Herbst
4aeaef99c0
Revert "nir/validate: validate the stride for deref_ptr_as_array"
...
This reverts commit 667e14e7bd
2020-05-14 17:36:43 +00:00
Dylan Baker
2c6599d6d6
docs: update calendar, add news item, and link releases notes for 20.0.7
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5041 >
2020-05-14 10:14:53 -07:00
Dylan Baker
212ee624f8
docs/relnotes Add sha256 sums to 20.0.7
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5041 >
2020-05-14 10:14:39 -07:00
Dylan Baker
e5e9a0dfd7
docs: Add release notes for 20.0.7
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5041 >
2020-05-14 10:14:36 -07:00
Ian Romanick
ceae09da15
intel: Silence unused parameter warning in __intel_log_use_args
...
...in every file that includes intel_log.h.
In file included from src/intel/vulkan/anv_private.h:93,
from src/intel/vulkan/genX_cmd_buffer.c:27:
src/intel/common/intel_log.h: In function ‘__intel_log_use_args’:
src/intel/common/intel_log.h:75:34: warning: unused parameter ‘format’ [-Wunused-parameter]
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4994 >
2020-05-14 16:47:08 +00:00
Ian Romanick
4cb2330e56
anv: Silence unused parameter warning in anv_image_get_clear_color_addr
...
...in every file that includes anv_private.h.
In file included from src/intel/vulkan/genX_cmd_buffer.c:27:
src/intel/vulkan/anv_private.h: In function ‘anv_image_get_clear_color_addr’:
src/intel/vulkan/anv_private.h:3690:57: warning: unused parameter ‘device’ [-Wunused-parameter]
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4994 >
2020-05-14 16:47:08 +00:00
Ian Romanick
b44eb50f2d
anv/tests: Silence unused parameter warnings in main
...
src/intel/vulkan/tests/block_pool_no_free.c: In function ‘main’:
src/intel/vulkan/tests/block_pool_no_free.c:147:14: warning: unused parameter ‘argc’ [-Wunused-parameter]
src/intel/vulkan/tests/block_pool_no_free.c:147:27: warning: unused parameter ‘argv’ [-Wunused-parameter]
src/intel/vulkan/tests/block_pool_grow_first.c: In function ‘main’:
src/intel/vulkan/tests/block_pool_grow_first.c:27:14: warning: unused parameter ‘argc’ [-Wunused-parameter]
src/intel/vulkan/tests/block_pool_grow_first.c:27:27: warning: unused parameter ‘argv’ [-Wunused-parameter]
src/intel/vulkan/tests/state_pool.c: In function ‘main’:
src/intel/vulkan/tests/state_pool.c:36:14: warning: unused parameter ‘argc’ [-Wunused-parameter]
src/intel/vulkan/tests/state_pool.c:36:27: warning: unused parameter ‘argv’ [-Wunused-parameter]
src/intel/vulkan/tests/state_pool_padding.c: In function ‘main’:
src/intel/vulkan/tests/state_pool_padding.c:27:14: warning: unused parameter ‘argc’ [-Wunused-parameter]
src/intel/vulkan/tests/state_pool_padding.c:27:27: warning: unused parameter ‘argv’ [-Wunused-parameter]
src/intel/vulkan/tests/state_pool_no_free.c: In function ‘main’:
src/intel/vulkan/tests/state_pool_no_free.c:115:14: warning: unused parameter ‘argc’ [-Wunused-parameter]
src/intel/vulkan/tests/state_pool_no_free.c:115:27: warning: unused parameter ‘argv’ [-Wunused-parameter]
src/intel/vulkan/tests/state_pool_free_list_only.c: In function ‘main’:
src/intel/vulkan/tests/state_pool_free_list_only.c:35:14: warning: unused parameter ‘argc’ [-Wunused-parameter]
src/intel/vulkan/tests/state_pool_free_list_only.c:35:27: warning: unused parameter ‘argv’ [-Wunused-parameter]
v2: Use 'int main(void)' instead. Suggested by Jason.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4994 >
2020-05-14 16:47:08 +00:00
Ian Romanick
f4638cfdad
anv/tests: Don't rely on assert or changing NDEBUG in tests
...
This is the last part of the fix for #2903 .
v2: Add test_common.h.
Fixes: f7c56475d2 ("anv/tests: compile to something sensible in release builds")
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4994 >
2020-05-14 16:47:08 +00:00
Daniel Schürmann
66e3c74f9c
aco: fix WQM coalescing
...
get_reg_specified() doesn't handle special registers like SCC.
Fixes: a5fc96b533 ('aco: coalesce parallelcopies during register allocation')
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5036 >
2020-05-14 16:30:19 +00:00
Jason Ekstrand
4151bddab5
anv: Fix descriptor set clean-up on BO allocation failure
...
This was a bit of rebase fail when writing 682c81bdfb . We stopped
freeing descriptor sets back to the pool and started calling
vk_object_base_finish. This commit reverts a that hunk should have
never made its way into the final patch.
Fixes: 682c81bdfb "vulkan,anv: Add a base object struct type"
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Tested-by: Mark Janes <mark.a.janes@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5032 >
2020-05-14 16:14:34 +00:00
Jason Ekstrand
3f74c6a881
anv: Call vk_object_base_finish for image views
...
Fixes: 682c81bdfb "vulkan,anv: Add a base object struct type"
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5032 >
2020-05-14 16:14:34 +00:00
Erik Faye-Lund
ed95f69dd5
zink: correct PIPE_SHADER_CAP_MAX_SHADER_IMAGES
...
We don't support shader-images yet, so this is premature to expose.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5024 >
2020-05-14 15:58:43 +00:00
Erik Faye-Lund
50ebe5a991
zink: do not expose real value for PIPE_CAP_MAX_VIEWPORTS
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5024 >
2020-05-14 15:58:43 +00:00
Ian Romanick
adc6336273
meta: Remove support for multisample blits
...
Since i965 no longer uses this function for blitting color buffers,
there is no driver left that will ever support multisample textures and
use _mesa_meta_BlitFramebuffer.
v2: Delete blit_state::msaa_shaders and enum blit_msaa_shader.
text data bss dec hex filename
12243286 1344936 1290748 14878970 e308fa before/lib64/dri/i965_dri.so
12240398 1344936 1290748 14876082 e2fdb2 after/lib64/dri/i965_dri.so
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/856 >
2020-05-14 15:35:43 +00:00
Ian Romanick
bb28ce7988
meta: Coalesce the GLSL and FF paths in meta_clear
...
text data bss dec hex filename
12243286 1344936 1290748 14878970 e308fa before/lib64/dri/i965_dri.so
12243286 1344936 1290748 14878970 e308fa after/lib64/dri/i965_dri.so
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/856 >
2020-05-14 15:35:43 +00:00
Ian Romanick
5be7785190
meta: Use same vertex coordinates for GLSL and FF clears
...
text data bss dec hex filename
12243446 1344936 1290748 14879130 e3099a before/lib64/dri/i965_dri.so
12243286 1344936 1290748 14878970 e308fa after/lib64/dri/i965_dri.so
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/856 >
2020-05-14 15:35:43 +00:00
Ian Romanick
e5d2fbf352
meta: Stop frobbing MatrixMode
...
text data bss dec hex filename
12243510 1344936 1290748 14879194 e309da before/lib64/dri/i965_dri.so
12243446 1344936 1290748 14879130 e3099a after/lib64/dri/i965_dri.so
v2: Use _mesa_load_matrix to set the projection matrix instead of
frobbing dirty bits directly. Suggested by Jason. Clean up some
comments in the neighborhood. Since glOrtho isn't called, there's no
point in mentioning it in the comment. Only _mesa_load_identity_matrix
on the projection matrix when it isn't set to an ortho matrix.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/856 >
2020-05-14 15:35:43 +00:00
Ian Romanick
29f10ede71
mesa: Add function to calculate an orthographic projection
...
Unlike the existing _math_matrix_ortho, the new _math_float_ortho
function just stores the calculated matrix in an array of floats. It
does not multiply the new matrix with data already stored.
text data bss dec hex filename
12243486 1344936 1290748 14879170 e309c2 before/lib64/dri/i965_dri.so
12243510 1344936 1290748 14879194 e309da after/lib64/dri/i965_dri.so
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/856 >
2020-05-14 15:35:43 +00:00
Ian Romanick
c731f2ab63
mesa: Add matrix utility functions to load matrices
...
These are basically DSA versions of glLoadIdentity() and glLoadMatrix()
that are available for internal Mesa use.
text data bss dec hex filename
12243574 1344936 1290748 14879258 e30a1a before/lib64/dri/i965_dri.so
12243486 1344936 1290748 14879170 e309c2 after/lib64/dri/i965_dri.so
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/856 >
2020-05-14 15:35:43 +00:00
Ian Romanick
b5a8d0319b
meta: Remove support for clearing integer buffers
...
Since i965 no longer uses this function for clearing color buffers,
there is no driver left that will ever support integer textures and use
_mesa_meta_glsl_Clear.
As a side note, the has_integer_textures check was rubbish anyway
because meta always smashes the API to API_OPENGL_COMPAT.
text data bss dec hex filename
12244406 1344936 1290748 14880090 e30d5a before/lib64/dri/i965_dri.so
12243574 1344936 1290748 14879258 e30a1a after/lib64/dri/i965_dri.so
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/856 >
2020-05-14 15:35:43 +00:00
Ian Romanick
a5d2c40fb9
meta: Make _mesa_meta_setup_sampler static
...
text data bss dec hex filename
12244854 1344936 1290748 14880538 e30f1a before/lib64/dri/i965_dri.so
12244406 1344936 1290748 14880090 e30d5a after/lib64/dri/i965_dri.so
v2: Put static on the function definition too. Suggested by Paulo.
v3: Reformat prototype. Suggested by Jason.
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com > [v2]
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/856 >
2020-05-14 15:35:43 +00:00
Ian Romanick
27c2082a42
meta: Make _mesa_meta_texture_object_from_renderbuffer static
...
text data bss dec hex filename
12244974 1344936 1290748 14880658 e30f92 before/lib64/dri/i965_dri.so
12244854 1344936 1290748 14880538 e30f1a after/lib64/dri/i965_dri.so
v2: Put static on the function definition too. Suggested by Paulo.
v3: Reformat prototype. Suggested by Jason.
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com > [v2]
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/856 >
2020-05-14 15:35:43 +00:00
Ian Romanick
067cb2f165
i965: Assert that blorp always handles color blits
...
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/856 >
2020-05-14 15:35:43 +00:00
Karol Herbst
667e14e7bd
nir/validate: validate the stride for deref_ptr_as_array
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4068 >
2020-05-14 15:13:13 +00:00
Karol Herbst
7afc9632a6
nir/deref: copy ptr_stride when rematerializing
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4068 >
2020-05-14 15:13:13 +00:00
Jan Palus
a1b69d101a
targets/opencl: fix build against LLVM>=10 with Polly support
...
see https://bugs.llvm.org/show_bug.cgi?id=44870
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4511 >
2020-05-14 14:43:52 +00:00
Eric Anholt
b1151cd2ff
freedreno: Avoid duplicate BO relocs in FD_RINGBUFFER_OBJECTs.
...
For the piglit drawoverhead case, 5/18 of the objects' relocs were
duplicated. We can dedupe them at object create time (since objects are
long-lived) and avoid repeated relocation work at emit time.
nohw drawoverhead program statechange throughput 2.34082% +/- 0.645832%
(n=10).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5020 >
2020-05-14 14:12:15 +00:00
Eric Anholt
a6fe0799fa
freedreno: Fix resource layout dump loop.
...
Apparently I've never dumped a fully populated slices array, so the 0-init
always terminated the loop.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5020 >
2020-05-14 14:12:15 +00:00
Erik Faye-Lund
2eb180db94
zink: disable vkCmdResolveImage when respecting render-condition
...
vkCmdResolveImage doesn't respect render-condition, so let's fall back
to blitter in this case instead.
Fixes: 80d7cc6f129 ("zink: enable conditional rendering if available")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5008 >
2020-05-14 13:55:44 +00:00
Danylo Piliaiev
06b6c687e2
anv: Fix deadlock in anv_timelines_wait
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2945
Fixes: 34f32a6d66
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5005 >
2020-05-14 13:14:57 +00:00
Michel Dänzer
c059b22707
gitlab-ci: Install g++-mingw-w64-x86-64-win32 instead of mingw-w64
...
mingw-w64 pulls in a lot more packages we don't need.
g++-mingw-w64-x86-64-win32 is only available in Debian testing, so get
all mingw packages from there.
Acked-by: Andres Gomez <agomez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4851 >
2020-05-14 12:54:09 +00:00
Michel Dänzer
dcbb189bbe
gitlab-ci: Move lib{drm,pciaccess}-dev cross packages out of loop
...
Simpler like this, since they're only needed for one cross architecture
each.
Acked-by: Andres Gomez <agomez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4851 >
2020-05-14 12:54:09 +00:00
Michel Dänzer
da3aee9263
gitlab-ci: Install WINE from Debian testing
...
Instead of a third-party repository which has proved unreliable at
times.
This pulls in glibc 2.30 from testing in the x86_build image, so we need
to update the x86_test-{gl,vk} images to match.
Acked-by: Andres Gomez <agomez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4851 >
2020-05-14 12:54:09 +00:00
Michel Dänzer
fd9b445145
gitlab-ci: Add Debian testing repository for x86_build image
...
We don't want LLVM 8 packages to be pulled in from testing though (it
would make installing llvm-8-dev for cross architectures a lot more
complicated), so explicitly select buster-backports for them (they were
already implicitly installed from there before, since they're not
available in buster proper).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4851 >
2020-05-14 12:54:09 +00:00
Michel Dänzer
f2773d7067
gitlab-ci: Move down container_pre_build.sh invocation in x86_build.sh
...
It was in the middle of package installations.
Acked-by: Andres Gomez <agomez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4851 >
2020-05-14 12:54:09 +00:00
Michel Dänzer
1c79ac1069
gitlab-ci: Update to current templates
...
Notable changes:
* No longer generate a separate *-built-by-job-* image tag, instead
store the pipeline/job information as labels in the image.
* Clean up some package information files which were accidentally left
before, possibly resulting in slightly smaller images.
Acked-by: Andres Gomez <agomez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4851 >
2020-05-14 12:54:09 +00:00
Duncan Hopkins
cc472a2a7c
zink. Changed sampler default name.
...
Changed the sampler variable name from 'sampler' to 'sampler_<num>' to stop symbol classes in the Metal MSL shaders, as 'sampler' is a keyword.
Improves human readability when debugging issues.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4211 >
2020-05-14 12:24:28 +00:00
Samuel Pitoiset
b1f0233077
radv: enable shaderResourceMinLod
...
This feature was missing for unknown reasons.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4989 >
2020-05-14 10:05:44 +00:00
Samuel Pitoiset
0d63a1a84d
ac/llvm: add support for texturing with clamped LOD
...
This is a requirement for the shaderResourceMinLod feature which
allows to clamp LOD. This uses all image_sample_*_cl variants.
All dEQP-VK.glsl.texture_functions.texture*clamp.* pass.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4989 >
2020-05-14 10:05:44 +00:00
Samuel Pitoiset
aaf5706aa3
aco: add support for texturing with clamped LOD
...
This is a requirement for the shaderResourceMinLod feature which
allows to clamp LOD. This uses all image_sample_*_cl variants.
All dEQP-VK.glsl.texture_functions.texture*clamp.* pass.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4989 >
2020-05-14 10:05:44 +00:00
Samuel Pitoiset
47a769143b
aco: remove useless check for nir_tex_src_bias
...
I think only nir_texop_txb can have a bias operand anyways.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4989 >
2020-05-14 10:05:44 +00:00
Daniel Stone
0f46a3191f
CI: Windows: Build LLVM and llvmpipe
...
We will eventually need to build our own LLVM on Windows in order to
build libclc and other bits which are required for the d3d12 build, as
well as to be able to test SPIR-V/OpenCL on llvmpipe.
Start doing this now, building into the base container, and exercise
this by building llvmpipe under Windows.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4946 >
2020-05-14 06:40:54 +00:00
Daniel Stone
69ffbcb162
llvmpipe: Expect increased exp precision on Windows
...
'Newer' versions of MSVCRT than 2013 appear to have fixed the bug around expf
precision which caused bb9e8c5090 . It's not clear when this was
changed, but at least on Windows 10 machines with Visual Studio 2019,
expf behaves in line with other implementations.
As there is no clear way to test for the version of the VCRT in use,
simply mark this test as expected-pass rather than xfail.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4946 >
2020-05-14 06:40:54 +00:00
Rob Clark
cf21b76383
freedreno/ir3: use lower_wrmasks pass
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
2020-05-13 20:24:53 -07:00
Rob Clark
42d38ad028
nir: add pass to lower disjoint wrmask's
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
2020-05-13 20:24:49 -07:00
Rob Clark
a506d49fae
nir: add helper to copy const_index[]
...
It seems less brittle to not assume they are in the same order for src
and dst instructions.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
2020-05-13 20:24:45 -07:00
Rob Clark
3d3cfea78b
nir: fix indices for ir3 ssbo_atomic intrinsics
...
Caught by the sanity checking in nir_intrinsic_copy_const_indices()
(which is introduced by the next patch).
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
2020-05-13 20:24:42 -07:00
Rob Clark
ea6b404294
freedreno/ir3: use const_index accessors
...
Cleans up a couple spots that were still open-coding this.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
2020-05-13 20:24:38 -07:00
Kristian H. Kristensen
14969aab11
freedreno/ir3: Drop wrmask for ir3 local and global store intrinsics
...
These intrinsics are supposed to map to the underlying hardware
instructions, which don't have wrmask. We use them when we lower
store_output in the geometry pipeline and since store_output gets
lowered to temps, we always see full wrmasks there.
2020-05-13 20:24:33 -07:00
Jason Ekstrand
4627bfcd69
nir: Add some docs to the metadata types
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5028 >
2020-05-14 01:57:12 +00:00
Eric Anholt
3111cee2f6
freedreno: Fix attempts to push UBO contents past the constlen on pre-a6xx.
...
The binning variant likely won't have any UBO load code in it, so we were
writing past constlen (and sometimes asserting about it) when loading more
than one ubo block.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5027 >
2020-05-14 01:30:31 +00:00
Eric Engestrom
7336caa52d
docs: update calendar for 20.1.0-rc3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5026 >
2020-05-14 01:26:41 +00:00
Icecream95
0dd24b381c
panfrost: Fix background showing when using discard
...
This fixes problems in a number of games, including SuperTuxKart,
OpenMW and RVGL.
v2: Use MALI_READS_ZS | 0x20 instead of MALI_WRITES_Z to match with
the blob. Keep using 0x400 | 0x20 when depth is disabled.
Closes : #2620
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5001 >
2020-05-14 01:08:21 +00:00
Danylo Piliaiev
15dd7933bc
anv: Translate relative timeout to absolute when calling anv_timelines_wait
...
Fixes: 34f32a6d66
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5025 >
2020-05-14 00:52:37 +00:00
Jason Ekstrand
0b5288492b
anv: Set MOCS in 3DSTATE_CONSTANT_* on Gen9+
...
While we're here, we add a nice detailed comment about why always
assuming internal is ok.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5022 >
2020-05-14 00:34:47 +00:00
Jason Ekstrand
e3d8edf3e0
anv: Set 3DSTATE_VF_INSTANCING on the SVGS element
...
It probably doesn't matter because that buffer should have a stride of
zero. However, it still seems like a good idea just to be safe.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5022 >
2020-05-14 00:34:47 +00:00
Eric Anholt
723208988e
freedreno: Drop the noubo fails list for CI, since there aren't any now.
...
The remaining two fails in the list are the same as for the normal CI run.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4858 >
2020-05-14 00:10:43 +00:00
Eric Anholt
112c65825f
freedreno/a6xx: Use LDC for UBO loads.
...
It saves addressing math, but may cause multiple loads to be done and
bcseled due to NIR not giving us good address alignment information
currently. I don't have any workloads I know of using non-const-uploaded
UBOs, so I don't have perf numbers for it
This makes us match the GLES blob's behavior, and turnip (other than being
bindful).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4858 >
2020-05-14 00:10:43 +00:00
Eric Anholt
ab93a631b4
freedreno: Trim num_ubos to just the ones we haven't lowered to constbuf.
...
With the upcoming LDC usage in the GL driver, we don't want to be
uploading descriptors for every UBO when they aren't actually in use.
Trimming NIR's num_ubos will avoid that, and cleans up num_ubo handling
elsewhere right now.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4858 >
2020-05-14 00:10:43 +00:00
Eric Anholt
d5176c453e
freedreno/ir3: Move i/o offset lowering after analyze_ubo_ranges.
...
I found that when moving more UBOs to load_ubo_ir3, analyze_ubo_ranges
would move things back in a broken way. We can just run this pass later
and drop the _ir3 path.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4858 >
2020-05-14 00:10:43 +00:00
Eric Anholt
5387c27140
freedreno/ir3: Leave the cursor alone during ir3_nir_try_propagate_bit_shift.
...
Otherwise, we might end up inserting the nir_intrinsic_load_ubo_ir3()
after the non-offset src's definition, leading to nir_validate() failures.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4858 >
2020-05-14 00:10:43 +00:00
Eric Anholt
e0a4d1c4e5
freedreno/ir3: Clean up a silly nir_src_for_ssa(src.ssa).
...
Just copy the src through.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4858 >
2020-05-14 00:10:43 +00:00
Eric Anholt
d2a0cde390
nir: Include num_ubos in the printed shader (if nonzero).
...
I keep wanting this number for debugging shaders.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4858 >
2020-05-14 00:10:43 +00:00
Jason Ekstrand
492d664be0
util/ra: Add [de]serialization support
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5019 >
2020-05-13 23:36:44 +00:00
Jason Ekstrand
38e68db778
util/vma: Add a debug print helper
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5019 >
2020-05-13 23:36:44 +00:00
Jason Ekstrand
adbcef37d2
util/vma: Add an option to configure high/low preference
...
The vma_heap allocator was originally designed to prefer high addresses
in order to find bugs in ANV's high address handling. However, there
are cases where you might want the allocator to prefer lower addresses
for some reason. This provides a configure bit for exactly this
purpose.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5019 >
2020-05-13 23:36:44 +00:00
Caio Marcelo de Oliveira Filho
f40f8f623a
util/list: Add list_foreach_entry_from_safe
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5019 >
2020-05-13 23:36:44 +00:00
Jason Ekstrand
aeb95fda54
util/list: Add a list pair iterator
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5019 >
2020-05-13 23:36:44 +00:00
Iván Briano
5425968d2e
anv: Implement VK_EXT_custom_border_color
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4898 >
2020-05-13 23:20:50 +00:00
Iván Briano
5b07f142d7
anv: Add a way to reserve states from a pool
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4898 >
2020-05-13 23:20:50 +00:00
Iván Briano
32d631dcd2
anv: Disable B5G6R5_UNORM_PACK16
...
It's not a required format and it causes issues with some features.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4898 >
2020-05-13 23:20:50 +00:00
Iván Briano
6ae0762f5c
anv: use the correct format on Android
...
Per https://android.googlesource.com/platform/frameworks/native/+/master/vulkan/libvulkan/swapchain.cpp#745
the format Android requires is R5G6B5, and we have it backwards here.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4898 >
2020-05-13 23:20:50 +00:00
JibbityJobbity
4cf702c332
drirc: Enable glthread for PCSX2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5023 >
2020-05-13 22:48:09 +00:00
Eric Engestrom
445e559e35
post_version.py: stop adding release candidates to the index and relnotes
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2870
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4929 >
2020-05-13 21:35:24 +00:00
Eric Engestrom
ae26149e2e
post_version.py: invert is_point into is_first_release to make its purpose clearer
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4929 >
2020-05-13 21:35:24 +00:00
Eric Engestrom
5fba85bcb8
post_version.py: fix branch name construction for release candidates
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2870
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4929 >
2020-05-13 21:35:24 +00:00
Marek Olšák
64c7363f7e
glthread: stop using GLenum16 to get correct GL errors for out-of-bounds enums
...
Reported by Ian Romanick.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5016 >
2020-05-13 20:10:42 +00:00
Marek Olšák
1152af2eda
radeonsi: also enable tgsi_to_nir caching for compute shaders
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4993 >
2020-05-13 19:43:05 +00:00
Axel Davy
45e69e7d11
radeonsi: Enable tgsi to nir disk cache
...
Enable the tgsi to nir cache for radeonsi.
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4993 >
2020-05-13 19:43:05 +00:00
Axel Davy
f83f538881
st/nine: Enable ttn cache
...
A trace of a Hat in Time, which builds thousands of shaders
takes 339 seconds to run the second time without this patch,
and 41 seconds with it (basically there is no more loading times).
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4993 >
2020-05-13 19:43:05 +00:00
Axel Davy
4db880d805
ttn: Implement disk cache
...
ttn is slow, let's disk cache it.
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4993 >
2020-05-13 19:43:05 +00:00
Axel Davy
522bd414f3
ttn: Add new allow_disk_cache parameter
...
For now this parameter doesn't do anything.
It means the implementation is allowed to use
a cache on disk.
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4993 >
2020-05-13 19:43:05 +00:00
Eric Anholt
6670475a44
freedreno/a6xx: Fix UBWC mipmapping height alignment.
...
After fixing the power of two sizing, pitches worked, but 1-pixel high and
unaligned height miplevels were off.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4931 >
2020-05-13 19:18:16 +00:00
Eric Anholt
81f21ff4ef
freedreno/a6xx: Fix UBWC mipmap sizing.
...
The HW requires a log2 width/height of the level 0 meta_* size in the
descriptors, making it pretty clear that UBWC mipmapping is all
power-of-two sized. Fixes a bunch of failures in the upcoming unit UBWC
layout unit tests.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4931 >
2020-05-13 19:18:16 +00:00
Eric Anholt
b5db2a2574
freedreno/a6xx: Fix UBWC blockheight for RG8.
...
Using texturator on a P3A at 1024x1024, RG8 has log2w/h of 6x7 instead of
R16I/UI's 6x8. The other blockw/h I verified other than cpp=1
(R8/R8I/R8UI didn't use UBWC) and 32 (would need a bigger type).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4931 >
2020-05-13 19:18:16 +00:00
Eric Anholt
9da4ce9953
freedreno: Pull the tile_alignment lookup for a layout to a helper.
...
The r8g8 case UBWC alignment will be changing in the next commit, so
fdl6_get_ubwc_blockwidth needs to start paying attention to r8g8 too.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4931 >
2020-05-13 19:18:16 +00:00
Eric Anholt
dc7ccdb3f5
freedreno/a6xx: Add a testcase for UBWC buffer sharing.
...
These offsets are hand-computed referencing msm_media_info.h, and match
our driver's current behavior.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4931 >
2020-05-13 19:18:16 +00:00
Eric Anholt
e32783c644
freedreno/a6xx: Improve layout testcase logging for UBWC fails.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4931 >
2020-05-13 19:18:16 +00:00
Eric Anholt
2e4ddb6353
freedreno/a4xx+: Increase max texture size to 16384.
...
Noticed when poking around with texture layouts and found that my big
texture layout from the blob buffer overflowed. Values come from
http://vulkan.gpuinfo.org for Adreno 418, 512, 630.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4931 >
2020-05-13 19:18:16 +00:00
Daniel Schürmann
1f7d1541df
nir: reset ssa-defs as non-divergent during divergence analysis instead of upfront
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4062 >
2020-05-13 18:49:22 +00:00
Daniel Schürmann
1b881f3d8e
nir: simplify phi handling in divergence analysis
...
This patch adds some control flow information to the
state to keep track whether a loop contains divergent
continue or break statements to not having to
recalculate this property for every phi.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4062 >
2020-05-13 18:49:22 +00:00
Daniel Schürmann
450b1d87ba
nir: rework phi handling in divergence analysis
...
This patch splits the visit_phi() function into
three different ones according to the kind of phi
(merge-node, loop-header or loop-exit) and calls
them when visiting the cf_nodes.
This allows to revisit loops if the loop header's
phis have changed, only.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4062 >
2020-05-13 18:49:22 +00:00
Daniel Schürmann
febef22459
nir: refactor divergence analysis state
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4062 >
2020-05-13 18:49:22 +00:00
Daniel Schürmann
b9ea0ca6ee
nir: add nir_intrinsic_elect to divergence analysis
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4062 >
2020-05-13 18:49:22 +00:00
Jason Ekstrand
ca2d53f451
nir: Make "divergent" a property of an SSA value
...
v2: fix usage in ACO (by Daniel Schürmann)
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4062 >
2020-05-13 18:49:22 +00:00
Marek Olšák
db94a2d03d
gallium: remove more "state tracker" occurences
...
Trivial.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4902 >
2020-05-13 13:47:27 -04:00
Marek Olšák
7480069703
gallium: rename PIPE_RESOURCE_FLAG_ST_PRIV to FRONTEND_PRIV
...
Acked-by: Eric Anholt <eric@anholt.net >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4902 >
2020-05-13 13:47:27 -04:00
Marek Olšák
8c9b9aac7d
gallium: change comments to remove 'state tracker'
...
Acked-by: Eric Anholt <eric@anholt.net >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4902 >
2020-05-13 13:47:27 -04:00
Marek Olšák
d6287a94b6
gallium: rename 'state tracker' to 'frontend'
...
Acked-by: Eric Anholt <eric@anholt.net >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4902 >
2020-05-13 13:46:53 -04:00
Connor Abbott
b408734e5e
tu: Implement fallback linear staging blit for CopyImage
...
Also, rewrite the format decision code so that we correctly decide when
the linear fallback is needed, even if UBWC is disabled. As part of
that, I also moved around some of the code to handle compressed formats
to make sure that copying compressed formats with a linear staging blit
works (this is now possible since we started allowing tiled compressed
textures).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5007 >
2020-05-13 13:39:04 +00:00
Connor Abbott
40e842c009
tu: Add noubwc debug flag to disable UBWC
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5007 >
2020-05-13 13:39:04 +00:00
Connor Abbott
ed79f805fa
tu: Add a "scratch bo" allocation mechanism
...
This is simpler than a full-blown memory reuse mechanism, but is good
enough to make sure that repeatedly doing a copy that requires the
linear staging buffer workaround won't use excessive memory or be slowed
down due to repeated allocations.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5007 >
2020-05-13 13:39:04 +00:00
Rhys Perry
7ce527a4fe
aco: improve phi affinities with p_split_vector
...
Totals from 5860 (4.59% of 127638) affected shaders:
VGPRs: 460212 -> 460216 (+0.00%)
CodeSize: 65554356 -> 65464816 (-0.14%)
Instrs: 12655972 -> 12633578 (-0.18%)
Copies: 1309994 -> 1292163 (-1.36%)
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/4990 >
2020-05-13 13:12:08 +00:00
Rhys Perry
51e797e233
aco: consider affinities when creating v_mac_f32
...
Totals from 8487 (6.65% of 127638) affected shaders:
CodeSize: 62061988 -> 62058020 (-0.01%); split: -0.01%, +0.01%
Instrs: 11910757 -> 11885409 (-0.21%); split: -0.21%, +0.00%
Copies: 1065244 -> 1040945 (-2.28%); split: -2.30%, +0.02%
Branches: 349665 -> 348914 (-0.21%)
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/4990 >
2020-05-13 13:12:08 +00:00
Rhys Perry
138eed45b5
aco: mark phi definitions as last-seen phi operands
...
Totals from 14340 (11.23% of 127638) affected shaders:
SGPRs: 1251648 -> 1251512 (-0.01%)
VGPRs: 994556 -> 994104 (-0.05%); split: -0.06%, +0.01%
CodeSize: 122894528 -> 121099604 (-1.46%); split: -1.49%, +0.03%
MaxWaves: 106039 -> 106103 (+0.06%); split: +0.06%, -0.00%
Instrs: 23860066 -> 23414317 (-1.87%); split: -1.90%, +0.03%
Copies: 2448228 -> 2049305 (-16.29%); split: -16.37%, +0.07%
Branches: 789381 -> 757921 (-3.99%); split: -4.62%, +0.64%
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/4990 >
2020-05-13 13:12:08 +00:00
Rhys Perry
c1c0cf7a66
aco: fix consecutively written vgprs from vmem instructions
...
If one VMEM instruction uses a sampler and the other doesn't, we can't do
this optimization.
Totals from 47 (0.04% of 127638) affected shaders:
CodeSize: 271744 -> 271656 (-0.03%); split: -0.04%, +0.01%
Instrs: 52783 -> 52761 (-0.04%); split: -0.05%, +0.01%
Cycles: 5547040 -> 5546952 (-0.00%); split: -0.00%, +0.00%
VMEM: 10022 -> 9887 (-1.35%)
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/4949 >
2020-05-13 12:26:42 +00:00
Rhys Perry
0c7bed72f7
aco: simplify consecutive ordered vmem/lds writes optimization
...
This was unnecessary and messed with statistics
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/4949 >
2020-05-13 12:26:42 +00:00
Andres Gomez
a6beb051af
gitlab-ci: correct tracie behavior with replay errors
...
[dump_trace_images] Info: Dumping trace /tmp/tracie.test.ap5pshYcsg/traces-db/trace1/magenta.testtrace... ERROR
[dump_trace_images] Debug: === Failure log start ===
invalid literal for int() with base 16: 'in'
[dump_trace_images] Debug: === Failure log end ===
[check_image] Trace /tmp/tracie.test.ap5pshYcsg/traces-db/trace1/magenta.testtrace couldn't be replayed. See above logs for more information.
Traceback (most recent call last):
File "/tmp/tracie.test.ap5pshYcsg/tracie.py", line 176, in <module>
main()
File "/tmp/tracie.test.ap5pshYcsg/tracie.py", line 164, in main
ok, result = gitlab_check_trace(project_url, commit_id, args.device_name, trace, expectation)
TypeError: cannot unpack non-iterable bool object
Fixes: efbbf8bb81 ("tracie: Print results in a machine readable format")
Signed-off-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4839 >
2020-05-13 13:57:36 +03:00
Andres Gomez
8546d1dd78
gitlab-ci: create always the "results" directory with tracie
...
Otherwise, we will fail when the traces description file doesn't
contain any checksum for the specified device.
Fixes: efbbf8bb81 ("tracie: Print results in a machine readable format")
Signed-off-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4839 >
2020-05-13 13:57:13 +03:00
Samuel Pitoiset
1ef03dade1
radv: add a LLVM version string workaround for SotTR and ACO
...
When the LLVM version is too old or missing, SotTR applies shader
workarounds and that reduces performance by 2-5% with ACO.
SotTR workarounds are applied with LLVM 8 and older, so reporting
LLVM 9.0.1 should be fine.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Edmondo Tommasina <edmondo.tommasina@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4984 >
2020-05-13 07:57:18 +00:00
Samuel Pitoiset
91c757b796
turnip: use the common code for generating extensions and dispatch tables
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4987 >
2020-05-13 08:45:29 +02:00
Samuel Pitoiset
ddfae50b67
anv: use the common code for generating extensions and dispatch tables
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4987 >
2020-05-13 08:45:28 +02:00
Samuel Pitoiset
857051c5c6
radv: use the common code for generating extensions and dispatch tables
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4987 >
2020-05-13 08:45:26 +02:00
Samuel Pitoiset
bee8a57942
vulkan: import common code for generating extensions
...
ANV and RADV have similar Python code for generating extensions
and dispatch tables.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4987 >
2020-05-13 08:45:23 +02:00
Samuel Pitoiset
9b1138e3f0
radv: implement VK_EXT_private_data
...
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/4886 >
2020-05-13 08:23:49 +02:00
Samuel Pitoiset
178adfa6a8
radv: use the base object struct types
...
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/4886 >
2020-05-13 08:23:23 +02:00
Samuel Pitoiset
65458528fc
radv: use the common base object type for VkDevice
...
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/4886 >
2020-05-13 08:23:23 +02:00
Marek Vasut
2b535ac61b
etnaviv: Disable seamless cube map on GC880
...
The GC880 on iMX6DL indicates in it's minorFeatures2 register that it
does support SEAMLESS_CUBE_MAP, however when the TE.SAMPLER_CONFIG1
VIVS_TE_SAMPLER_CONFIG1_SEAMLESS_CUBE_MAP bit is set on GC880 on iMX6DL,
the result is corrupted image. In particular, the following ~112 dEQPs
are affected and fail:
dEQP-GLES2.functional.texture.filtering.cube.*
This only happens on MX6DL GC880, MX6Q GC2000 and STM32MP1 GC400(GCnano)
do not report the minorFeatures2 SEAMLESS_CUBE_MAP bit and ignore the
TE_SAMPLER_CONFIG1 VIVS_TE_SAMPLER_CONFIG1_SEAMLESS_CUBE_MAP bit (note
that ss->seamless_cube_map is unconditionally set by mesa at times even
PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE returns 0), so there is no visible
problem and there are no failing dEQP tests on the GC2000 and GCnano.
This might imply that the minorFeatures2 SEAMLESS_CUBE_MAP has some
different meaning on GC880 or the SEAMLESS_CUBE_MAP behaves differently
on the GC880.
This patch does not set the SEAMLESS_CUBE_MAP bit on hardware which does
not indicate support for seamless cube map and on GC880, which results
in reduction in failed dEQPs: 635 to 186 on GC880, 274 to 270 on GC2000
and no change on GC400(GCnano).
Fixes: 8dd26fa2f0 ("etnaviv: support GL_ARB_seamless_cubemap_per_texture")
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Signed-off-by: Marek Vasut <marex@denx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4865 >
2020-05-13 05:40:21 +00:00
Rob Clark
f079c00ffc
freedreno/a6xx: fix max-scissor opt
...
On a6xx we need a 0,0 based scissor in the binning pass, but can use the
blit-scissor to avoid restore/resolve of untouched pixels, and use the
conditional execution if the IB to bin to skip bins with no geometry
(due to the scissor).
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5021 >
2020-05-13 03:59:44 +00:00
Rob Clark
d6706fdc46
freedreno/ir3/sched: try to avoid syncs
...
Similar to what we do in postsched. It is useful for pre-RA sched to be
a bit aware of things that would cause syncs. In particular for the tex
fetches, since the vecN src/dst tends to limit postsched's ability to
re-order them.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4923 >
2020-05-13 03:28:40 +00:00
Rob Clark
d95a6e3a0c
freedreno/ir3/sched: avoid scheduling outputs
...
If an instruction's only use is as an output, and it increases register
pressure, then try to avoid scheduling it until there are no other
options.
A semi-common pattern is `fragcolN.a = 1.0`, this pushes all these
immed loads to the end of the shader.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4923 >
2020-05-13 03:28:40 +00:00
Rob Clark
488cf208d5
freedreno/ir3/postsched: try to avoid (sy) syncs
...
Similar to avoidance of `(ss)` syncs, it turns out to be helpful to
avoid `(sy)` syncs as well. This helps us turn an tex, (sy)alu, tex,
(sy)alu sequence into tex, tex, (sy)alu, alu, which is a big win in
gfxbench gl_fill2.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4923 >
2020-05-13 03:28:40 +00:00
Rob Clark
25f4fb346e
freedreno/ir3/postsched: reset sfu_delay on sync
...
Once we schedule an instruction that will require an `(ss)` sync flag,
there is no need to delay any further instructions that consume an
SFU result (until the next SFU instruction is scheduled).
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4923 >
2020-05-13 03:28:40 +00:00
Rob Clark
f351e1d137
freedreno/ir3: limit # of tex prefetch by shader size
...
It seems for short frag shaders, too much prefetch can be detrimental.
I think what we *really* want to do is decide after pre-RA sched, when
we also know about nop's and what the actual ir3 instruction count is.
But that will require re-working how prefetch lowering works. For now
this is a super crude heuristic to attempt to approximate a good
solution.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4923 >
2020-05-13 03:28:40 +00:00
Rob Clark
d69f6fd852
freedreno/ir3: fix indirect cb0 load_ubo lowering
...
We can no longer assume that `state->ranges[0]` is block 0. It *often*
is, but when we encounter a "real" ubo that we lower to `load_uniform`
before a block 0 `load_ubo`, it could end up another entry in the table.
Resulting in the second pass after gathering ubo ranges, not finding a
valid range. Which results in a `load_ubo` for a thing that is not
actually a ubo making it's way into ir3 frontend. Resulting in grabbing
what we think is a ubo address out of some unrelated const register, and
trying to dereference that. Which as you can imagine, fails in amusing
ways.
Fixes: fc850080ee ("ir3: Rewrite UBO push analysis to support bindless")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4954 >
2020-05-12 23:51:46 +00:00
Rob Clark
c4dc877cb5
freedreno/ir3: don't allow negative const_offset
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4954 >
2020-05-12 23:51:46 +00:00
Alyssa Rosenzweig
8d8ba7fb44
panfrost: Run dEQP-GLES3.functional.shaders.derivate.* on CI
...
Should be stable now, and should pass except for MSAA tests
(multisampling is still a todo overall).
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5014 >
2020-05-12 22:30:42 +00:00
Alyssa Rosenzweig
b7bd021c70
pan/mdg: Fix derivative swizzle
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5014 >
2020-05-12 22:30:42 +00:00
Alyssa Rosenzweig
bac29316b0
pan/mdg: Set types for derivatives
...
Closes #2900
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5014 >
2020-05-12 22:30:42 +00:00
Alyssa Rosenzweig
69e4d4fabe
pan/mdg: Remove texture_op_count
...
Was used as a crude approximation of the terminate flag, which we now
can do properly.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5014 >
2020-05-12 22:30:41 +00:00
Alyssa Rosenzweig
344dd91497
pan/mdg: Use analysis to set .cont/.last flags
...
Corresponds roughly to what we analyze. Note that "terminate AND
execute" is a contradiction (rather: it's equivalent to just
terminating), hence why there are only three possibilities for the
states of the flags:
.cont = continue, don't execute
.last = don't continue, don't execute
.cont.last = continue and execute
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5014 >
2020-05-12 22:30:41 +00:00
Alyssa Rosenzweig
9a7f0e268b
pan/mdg: Use the helper invo analyze passes
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5014 >
2020-05-12 22:30:41 +00:00
Alyssa Rosenzweig
d429187bf3
pan/mdg: Analyze helper execution requirements
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5014 >
2020-05-12 22:30:41 +00:00
Alyssa Rosenzweig
3228b3106a
pan/mdg: Analyze helper invocation termination
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5014 >
2020-05-12 22:30:41 +00:00
Alyssa Rosenzweig
0da03c68ae
pan/mdg: Explain helper invocations dataflow theory
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5014 >
2020-05-12 22:30:41 +00:00
Arcady Goldmints-Orlov
95fd950d35
intel/compiler: fix alignment assert in nir_emit_intrinsic
...
Fixes: c643979228 (intel/fs: Choose memory message type based on bit size)
Fixes: dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i8vec2
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5000 >
2020-05-12 22:14:31 +00:00
Eric Anholt
a663c595bc
freedreno: Skip taking the lock for resource usage if it's already flagged.
...
Improves nohw drawoverhead 8-ubos update throughput by 13.493% +/-
0.391444% (n=15).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5011 >
2020-05-12 21:42:00 +00:00
Eric Anholt
356f99161d
freedreno: Move the resource_read early out to an inline.
...
Looking at perf, the drawoverhead test case was now spending 13% CPU (89%
in that function) on stack management.
nohw drawoverhead throughput 1.03902% +/- 0.380257% (n=13).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4996 >
2020-05-12 21:19:50 +00:00
Eric Anholt
d393837332
freedreno: Add an early out for preparing to read a resource.
...
nohw drawoverhead 8 UBOs test throughput 1.06093% +/- 0.363376% (n=10).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4996 >
2020-05-12 21:19:50 +00:00
Eric Anholt
3e424bcdfc
freedreno: Split the fd_batch_resource_used by read vs write.
...
This is for an optimization I plan in a following commit. I found I had
to add likely()s to avoid a perf regression from branch prediction.
On the drawoverhead 8 UBOs test, the HW can't quite keep up with the CPU,
but if I set nohw then this change is 1.32023% +/- 0.373053% (n=10).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4996 >
2020-05-12 21:19:50 +00:00
Eric Anholt
fdcadf611e
freedreno: Add a nohw flag to skip submitting to the kernel.
...
For some CPU-side-only optimizations, it can be nice to disable rendering
so that we can see what the impact is even on cases where the GPU can't
quite keep up.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4996 >
2020-05-12 21:19:50 +00:00
Brian Ho
a43e974064
turnip: Execute ir3_nir_lower_gs pass again
...
This commit fixes a GS regression introduced in !4562 where
ir3's GS lowering pass was moved from common code (ir3_nir) to
freedreno-specific code (ir3_shader). For GS support in turnip, we
need to add the GS lowering pass back in, this time in tu_shader.
As for the nir_gather_info change, the GS lowering pass has always
introduced a discard_if intrinsic into the GS. Previously, we simply
ran nir_shader_gather_info before GS lowering, but now since we lower
the GS before we need to remove the assertion that only a FS can use
the discard_if intrinsic.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4892 >
2020-05-12 13:42:55 -07:00
Rob Clark
1bd38746d5
freedreno/gmem: rework gmem layout algo
...
And try a bit harder to find an optimal layout. Improves on a sub-
optimal layout we arrive at in the 4 MRT pass in manhattan, picking
up a bit more than 3%.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4976 >
2020-05-12 18:16:48 +00:00
Rob Clark
c46f46befe
freedreno/gmem: relax alignment on a6xx
...
The blob only uses single page alignment, and empirically that appears
to work just fine.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4976 >
2020-05-12 18:16:48 +00:00
Rob Clark
ad6e06621b
freedreno: add gmemtool
...
A simple standalone thing to run through a bunch of GMEM layouts for a
given gpu.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4976 >
2020-05-12 18:16:48 +00:00
Rob Clark
ef5f238fd0
freedreno/gmem: add helper to dump GMEM layout
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4976 >
2020-05-12 18:16:48 +00:00
Rob Clark
6a49d9c396
freedreno/gmem: add div_align() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4976 >
2020-05-12 18:16:48 +00:00
Rob Clark
96b5a70f45
freedreno: initialize max_scissor
...
Somehow the initialization of this got lost somewhere along the way,
resulting in assuming minx/miny are always zero.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4976 >
2020-05-12 18:16:48 +00:00
Rob Clark
1387e77801
freedreno/gmem: don't assume scissor opt when estimating # of bins
...
We potentially don't know yet what the resulting scissor bounds are, so
we can't assume this when estimating number of bins per pipe for VSC
size calculations.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4976 >
2020-05-12 18:16:48 +00:00
Jason Ekstrand
3c87618d35
vulkan: Handle vkGet/SetPrivateDataEXT on Android swapchains
...
There is an annoying spec corner on Android. Because VkSwapchain is
implemented in the Vulkan loader on Android which may not know about
this extension, we have to handle it as a special case inside the
driver. We only have to do this on Android and only for VkSwapchainKHR.
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4882 >
2020-05-12 18:01:48 +00:00
Jason Ekstrand
51c6bc13ce
anv,vulkan: Implement VK_EXT_private_data
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4882 >
2020-05-12 18:01:48 +00:00
Jonathan Marek
d76e722ed6
turnip: enable tiling for compressed formats
...
Now that layout code supports this, we can enable it.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5009 >
2020-05-12 17:25:38 +00:00
Jonathan Marek
f543d87f23
turnip: update "fetchsize" value to match fdl6_layout changes
...
It seems this is actually a "minimum pitch" value. For example
TFETCH6_2_BYTE means a minimum pitch of 128 bytes for mipmap levels.
This fixes breakage with compressed formats. For example this test:
dEQP-VK.pipeline.sampler.view_type.2d.format.eac_r11_snorm_block.mipmap.linear.lod.equal_min_3_max_3
Fixes: a34b3fa198 ("freedreno/fdl: Align after dividing by block size")
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5009 >
2020-05-12 17:25:38 +00:00
Eric Anholt
f789c5975c
freedreno: Fix non-constbuf-upload UBO block indices and count.
...
The nir_analyze_ubo_ranges pass removes all UBO block 0 loads to reverse
what nir_lower_uniforms_to_ubo() had done, and we only upload UBO pointers
to the HW for UBO block 1-N, so let's just fix up the shader state.
Fixes an off by one in const state layout setup, and some really dodgy
register addressing trying to deal with dynamic UBO indices when the UBO
pointers happen to be at the start of the constbuf.
There's no fixes tag, though this fixes a bug from September, because it
would require the num_ubos fix in nir_lower_uniforms_to_ubo.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4992 >
2020-05-12 17:01:55 +00:00
Eric Anholt
4553fc66a5
nir: Fix count when we didn't lower load_uniforms but did shift load_ubos.
...
The fixed commit was really nice in mostly fixing num_ubos to reflect the
shader after lowering, but for
dEQP-GLES31.functional.compute.basic.ubo_to_ssbo_single_invocation there
are no default uniforms and so we skipped the increment, even though we
shifted the block index up.
Fixes: 4777ee1a62 ("nir: Always create UBO variable when lowering uniforms to ubo")
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4992 >
2020-05-12 17:01:55 +00:00
Eric Anholt
0f2e44d55b
freedreno: Drop the "write" arg to emit_const_bo now relocs don't care.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4967 >
2020-05-12 16:30:57 +00:00
Eric Anholt
51d7a71bd4
freedreno: Replace OUT_RELOCW with OUT_RELOC.
...
Final cleanup commit now that they're the same.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4967 >
2020-05-12 16:30:57 +00:00
Eric Anholt
064f395a89
freedreno: Tell the kernel that all BOs are for writing.
...
Using non-write flags is pretty dubious -- it means the kernel tracking an
array of read-only consumers of the BO and having exclusive consumers wait
on each reader's fence. It allows multiple readers through dma-bufs to do
work in parallel, but at the cost of kernel CPU time and memory management
of the shared array. Other drivers have dropped this distinction since
dma-buf sharing is usually producer-consumer, not producer-two-consumers,
and the userspace and kernel space tracking is expensive.
For us, this lets us drop the flags passed in for relocs and tracked in
the ringbuffer reloc lists. The end result of the flags reduction work is
drawoverhead uniforms test throughput 2.37195% +/- 0.365579% (n=15)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4967 >
2020-05-12 16:30:57 +00:00
Eric Anholt
b2c23b1e48
freedreno: Mark all ringbuffer BOs as to be dumped on crash.
...
We can avoid passing these flags around in the DRM backends by just
marking ring BOs up front.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4967 >
2020-05-12 16:30:57 +00:00
Eric Anholt
554b959df0
freedreno: Replace OUT_RELOCD with permanently flagging shader BOs for it.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4967 >
2020-05-12 16:30:57 +00:00
Eric Anholt
9d8d936dfc
freedreno: Start moving relocs flags into the BOs.
...
It's silly to have all the reloc emitters passing around FD_RELOC_READ
when you have to have it set on all relocs (that don't include WRITE,
which implies read) for the kernel to actually track the fences on the BO.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4967 >
2020-05-12 16:30:57 +00:00
Samuel Pitoiset
4235624b6a
aco: optimize add/sub(a, cndmask(b, 0, 1, cond)) -> addc/subbrev_co(0, a, b)
...
v2: outline into a separate function and also optimize additions (by Daniel Schürmann)
Totals from affected shaders: (VEGA)
SGPRS: 938888 -> 941496 (0.28 %)
VGPRS: 832068 -> 831532 (-0.06 %)
Spilled SGPRs: 618 -> 618 (0.00 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 3696 -> 3696 (0.00 %) dwords per thread
Code Size: 72893900 -> 72558928 (-0.46 %) bytes
LDS: 18201 -> 18201 (0.00 %) blocks
Max Waves: 64256 -> 64268 (0.02 %)
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Co-authored-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4419 >
2020-05-12 16:15:17 +00:00
Daniel Schürmann
a5fc96b533
aco: coalesce parallelcopies during register allocation
...
These are the result of lowering to CSSA, and should be removed if possible
Totals from affected shaders: (VEGA)
SGPRS: 544544 -> 544544 (0.00 %)
VGPRS: 418224 -> 418224 (0.00 %)
Spilled SGPRs: 141826 -> 141826 (0.00 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 0 -> 0 (0.00 %) dwords per thread
Code Size: 65853740 -> 64703380 (-1.75 %) bytes
LDS: 0 -> 0 (0.00 %) blocks
Max Waves: 13669 -> 13669 (0.00 %)
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4952 >
2020-05-12 15:59:31 +00:00
Jon Turney
38cc649fcb
glthread: Fix use of alloca() without #include "c99_alloca.h"
...
../src/mesa/main/glthread_draw.c: In function ‘_mesa_marshal_MultiDrawElementsBaseVertex’:
../src/mesa/main/glthread_draw.c:812:36: error: implicit declaration of function ‘alloca’; did you mean ‘malloc’? [-Werror=implicit-function-declaration]
812 | const GLvoid **out_indices = alloca(sizeof(indices[0]) * draw_count);
| ^~~~~~
| malloc
../src/mesa/main/glthread_draw.c:812:36: error: initialization of ‘const GLvoid **’ {aka ‘const void **’} from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
cc1: some warnings being treated as errors
Include c99_alloca.h to portably make the alloca() prototype available.
Fixes: 2840bc30
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4920 >
2020-05-12 14:46:12 +00:00
Lucas Stach
dc6c42dc77
etnaviv: generalize FE stall before loading shader and sampler states
...
It seems that some of the new shader and sampler states added with
Halti0 are not self-synchronizing anymore. Make sure to stall the FE
before loading those new states to avoid corruption of the in-flight
draw state.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3963 >
2020-05-12 16:13:31 +02:00
Daniel Stone
8e5fc97be6
CI: Re-enable Panfrost T7x0 jobs
...
The hardware issue in the lab preventing jobs from being run on those
machines (and limiting T820 availability), leading to them being
disabled in !4965 , has been fixed.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Fixes: 696bafac40 ("CI: Disable Panfrost T7x0 jobs")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5006 >
2020-05-12 11:33:06 +01:00
Samuel Pitoiset
8c6350d2bb
radv: update the list of allowed Android extensions
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4985 >
2020-05-12 10:29:48 +02:00
Samuel Pitoiset
021270cb31
radv: handle different Vulkan API versions correctly
...
Loosely based on ANV.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4985 >
2020-05-12 10:29:46 +02:00
Samuel Pitoiset
69430921fc
radv: limit the Vulkan version to 1.1 for Android
...
Vulkan 1.2 seems rejected. This hardcodes the Android version to
1.1.107.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2936
Fixes: 7f5462e349 ("radv: enable Vulkan 1.2")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4985 >
2020-05-12 10:29:44 +02:00
Gert Wollny
50eabb7035
r600: Fix nir compiler options, i.e. don't lower IO to temps for TESS
...
Also fix alignments and add umad24 and umul24 options.
Fixes: 6747a984f5
r600: Enable tesselation for NIR
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4982 >
2020-05-12 06:34:07 +00:00
Alejandro Piñeiro
f7fcbe9830
v3d/tex: use TMUSLOD register if possible
...
TMUSLOD register is the same that TMUS but having the same effect that
setting disable_autolod on the TMU configuration parameter 2.
So using that register is potentially more efficient, as in several
cases we would be able to skip writing P2.
One case where we can't use it is for texture cube maps, as we need to
use TMUSCM.
v2: don't put a comment in the middle of the conditions (Iago)
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4962 >
2020-05-11 23:52:46 +00:00
Alejandro Piñeiro
c3af695bb0
v3d/tex: set up default values for Configuration Parameter 1 if possible
...
Texture access has three configuration parameters, P0 (texture), P1
(sampler) and P2(lookup). P1 and P2 are optional, but if P2 is needed
(like for example to set the offset for texelFetchOffset), then you
need to set P1.
But until now when setting up P1 we were asking the driver to fill up
the address with the shader state. But in that case we can just fill
that address with the default value NULL.
So let's avoid asking the driver to fill that default values, and do
it directly on the compiler. This is a good-to-have on OpenGL, and
likely would be needed on Vulkan.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4962 >
2020-05-11 23:52:46 +00:00
Alejandro Piñeiro
50c2c76ea3
v3d/tex: only look up the 2nd texture gather offset for 1d non-arrays
...
Commit 1bc71e8b65 already did that for
the 3rd offset, but it also needs to do it for the 2nd (to handle 1d
array).
Fixes assertion failures with Vulkan CTS tests using 1darray
targets. Seems that there isn't too many 1darray tests on OpenGL CTS,
and OpenGL-ES don't support 1d arrays, but the same problem could
arise eventually on OpenGL.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4962 >
2020-05-11 23:52:46 +00:00
Ani
ad8c5bba0a
drirc: Enable glthread for rpcs3
...
Closes : #2939
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4988 >
2020-05-11 23:25:19 +00:00
Icecream95
d1290e7948
pan/midgard: Fix old style shadows
...
This fixes the sky being red in OpenMW, as well as some of the Mesa
demos using shadows (shadowtex, shadow_sampler).
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4997 >
2020-05-12 10:36:30 +12:00
Axel Davy
47bfc799da
gallium/util: Fix leak in the live shader cache
...
When the nir backend is used, the create_shader
call is supposed to release state->ir.nir.
When the cache hits, create_shader is not called,
thus state->ir.nir should be freed.
There is nothing to be done for the TGSI case as the
tokens release is done by the caller.
This fixes a leak noticed in:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/2931
Fixes: 4bb919b0b8
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4980 >
2020-05-11 19:42:37 +00:00
Ian Romanick
412e29c277
nir/algebraic: Eliminate useless extract before unpack
...
The shader helped for spills and fills is the big compute shader in Dirt
Showdown. One of the shaders hurt for spills and fills on Broadwell is
the big compute shader in Bioshock Infinite, but combined with the
previous commit, it's still an impovement.
Tiger Lake
total instructions in shared programs: 21833218 -> 21832449 (<.01%)
instructions in affected programs: 66104 -> 65335 (-1.16%)
helped: 106
HURT: 14
helped stats (abs) min: 1 max: 67 x̄: 7.87 x̃: 5
helped stats (rel) min: 0.19% max: 5.76% x̄: 1.27% x̃: 0.95%
HURT stats (abs) min: 1 max: 14 x̄: 4.64 x̃: 1
HURT stats (rel) min: 0.19% max: 4.12% x̄: 1.41% x̃: 0.19%
95% mean confidence interval for instructions value: -8.51 -4.30
95% mean confidence interval for instructions %-change: -1.23% -0.69%
Instructions are helped.
total cycles in shared programs: 506180109 -> 506196314 (<.01%)
cycles in affected programs: 1671429 -> 1687634 (0.97%)
helped: 37
HURT: 84
helped stats (abs) min: 1 max: 490 x̄: 73.27 x̃: 24
helped stats (rel) min: 0.02% max: 7.98% x̄: 1.25% x̃: 0.41%
HURT stats (abs) min: 1 max: 5000 x̄: 225.19 x̃: 8
HURT stats (rel) min: 0.03% max: 10.22% x̄: 1.22% x̃: 0.42%
95% mean confidence interval for cycles value: 2.85 265.00
95% mean confidence interval for cycles %-change: 0.04% 0.88%
Cycles are HURT.
Ice Lake and Skylake had similar results. (Ice Lake shown)
total instructions in shared programs: 19961317 -> 19960543 (<.01%)
instructions in affected programs: 30268 -> 29494 (-2.56%)
helped: 39
HURT: 0
helped stats (abs) min: 1 max: 142 x̄: 19.85 x̃: 7
helped stats (rel) min: 0.19% max: 7.87% x̄: 2.33% x̃: 2.31%
95% mean confidence interval for instructions value: -29.46 -10.23
95% mean confidence interval for instructions %-change: -2.95% -1.71%
Instructions are helped.
total cycles in shared programs: 498863755 -> 498865843 (<.01%)
cycles in affected programs: 1831136 -> 1833224 (0.11%)
helped: 57
HURT: 65
helped stats (abs) min: 1 max: 1400 x̄: 128.93 x̃: 25
helped stats (rel) min: 0.05% max: 3.49% x̄: 0.89% x̃: 0.71%
HURT stats (abs) min: 1 max: 1887 x̄: 145.18 x̃: 15
HURT stats (rel) min: 0.02% max: 9.88% x̄: 1.83% x̃: 0.73%
95% mean confidence interval for cycles value: -58.30 92.53
95% mean confidence interval for cycles %-change: 0.16% 0.97%
Inconclusive result (value mean confidence interval includes 0).
total spills in shared programs: 8774 -> 8773 (-0.01%)
spills in affected programs: 20 -> 19 (-5.00%)
helped: 1
HURT: 0
total fills in shared programs: 9496 -> 9494 (-0.02%)
fills in affected programs: 40 -> 38 (-5.00%)
helped: 1
HURT: 0
Broadwell
total instructions in shared programs: 17859373 -> 17858548 (<.01%)
instructions in affected programs: 38452 -> 37627 (-2.15%)
helped: 31
HURT: 0
helped stats (abs) min: 1 max: 143 x̄: 26.61 x̃: 10
helped stats (rel) min: 0.19% max: 7.87% x̄: 2.57% x̃: 2.69%
95% mean confidence interval for instructions value: -39.79 -13.44
95% mean confidence interval for instructions %-change: -3.25% -1.89%
Instructions are helped.
total cycles in shared programs: 525858109 -> 525869236 (<.01%)
cycles in affected programs: 2058597 -> 2069724 (0.54%)
helped: 44
HURT: 75
helped stats (abs) min: 2 max: 1330 x̄: 187.84 x̃: 23
helped stats (rel) min: 0.04% max: 31.31% x̄: 2.13% x̃: 0.85%
HURT stats (abs) min: 1 max: 3915 x̄: 258.56 x̃: 47
HURT stats (rel) min: 0.02% max: 10.53% x̄: 2.81% x̃: 2.21%
95% mean confidence interval for cycles value: -26.06 213.07
95% mean confidence interval for cycles %-change: 0.19% 1.78%
Inconclusive result (value mean confidence interval includes 0).
total spills in shared programs: 25744 -> 25730 (-0.05%)
spills in affected programs: 1578 -> 1564 (-0.89%)
helped: 4
HURT: 2
total fills in shared programs: 31710 -> 31689 (-0.07%)
fills in affected programs: 4346 -> 4325 (-0.48%)
helped: 3
HURT: 3
Haswell
total instructions in shared programs: 16228399 -> 16227783 (<.01%)
instructions in affected programs: 22201 -> 21585 (-2.77%)
helped: 27
HURT: 0
helped stats (abs) min: 1 max: 68 x̄: 22.81 x̃: 11
helped stats (rel) min: 0.19% max: 7.87% x̄: 2.92% x̃: 2.86%
95% mean confidence interval for instructions value: -31.96 -13.66
95% mean confidence interval for instructions %-change: -3.68% -2.15%
Instructions are helped.
total cycles in shared programs: 538613967 -> 538701354 (0.02%)
cycles in affected programs: 1653044 -> 1740431 (5.29%)
helped: 36
HURT: 81
helped stats (abs) min: 2 max: 708 x̄: 104.50 x̃: 17
helped stats (rel) min: <.01% max: 15.01% x̄: 1.67% x̃: 0.65%
HURT stats (abs) min: 1 max: 30100 x̄: 1125.30 x̃: 304
HURT stats (rel) min: 0.02% max: 16.21% x̄: 8.98% x̃: 11.60%
95% mean confidence interval for cycles value: 23.78 1470.01
95% mean confidence interval for cycles %-change: 4.29% 7.12%
Cycles are HURT.
total spills in shared programs: 23418 -> 23409 (-0.04%)
spills in affected programs: 177 -> 168 (-5.08%)
helped: 2
HURT: 0
total fills in shared programs: 25919 -> 25896 (-0.09%)
fills in affected programs: 568 -> 545 (-4.05%)
helped: 3
HURT: 0
Ivy Bridge
total instructions in shared programs: 15265983 -> 15265759 (<.01%)
instructions in affected programs: 8418 -> 8194 (-2.66%)
helped: 5
HURT: 0
helped stats (abs) min: 18 max: 99 x̄: 44.80 x̃: 26
helped stats (rel) min: 1.74% max: 4.26% x̄: 3.12% x̃: 3.00%
95% mean confidence interval for instructions value: -86.29 -3.31
95% mean confidence interval for instructions %-change: -4.43% -1.81%
Instructions are helped.
total cycles in shared programs: 422930336 -> 422929589 (<.01%)
cycles in affected programs: 59347 -> 58600 (-1.26%)
helped: 3
HURT: 2
helped stats (abs) min: 72 max: 1060 x̄: 433.33 x̃: 168
helped stats (rel) min: 1.14% max: 3.48% x̄: 2.23% x̃: 2.06%
HURT stats (abs) min: 265 max: 288 x̄: 276.50 x̃: 276
HURT stats (rel) min: 4.79% max: 5.64% x̄: 5.22% x̃: 5.22%
95% mean confidence interval for cycles value: -829.08 530.28
95% mean confidence interval for cycles %-change: -4.43% 5.93%
Inconclusive result (value mean confidence interval includes 0).
total spills in shared programs: 4953 -> 4946 (-0.14%)
spills in affected programs: 344 -> 337 (-2.03%)
helped: 2
HURT: 0
total fills in shared programs: 5548 -> 5521 (-0.49%)
fills in affected programs: 838 -> 811 (-3.22%)
helped: 2
HURT: 0
No shader-db changes on any earlier Intel platform.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4515 >
2020-05-11 12:07:01 -07:00
Ian Romanick
bc0bbb8f0b
nir/algebraic: Add some half packing optimizations for pack_half_2x16_split
...
Like 1f72857739 ("nir/algebraic: add some half packing optimizations"),
but for the pack_half_2x16_split variant.
The shader helped for spills and fills is the big compute shader in
Bioshock Infinite.
Tiger Lake
total instructions in shared programs: 21834539 -> 21833218 (<.01%)
instructions in affected programs: 60119 -> 58798 (-2.20%)
helped: 105
HURT: 0
helped stats (abs) min: 5 max: 50 x̄: 12.58 x̃: 9
helped stats (rel) min: 0.86% max: 26.46% x̄: 2.58% x̃: 1.70%
95% mean confidence interval for instructions value: -14.35 -10.81
95% mean confidence interval for instructions %-change: -3.20% -1.97%
Instructions are helped.
total cycles in shared programs: 506215169 -> 506180109 (<.01%)
cycles in affected programs: 1445088 -> 1410028 (-2.43%)
helped: 97
HURT: 8
helped stats (abs) min: 1 max: 16882 x̄: 387.76 x̃: 26
helped stats (rel) min: 0.05% max: 18.31% x̄: 1.77% x̃: 1.34%
HURT stats (abs) min: 21 max: 635 x̄: 319.12 x̃: 212
HURT stats (rel) min: 0.39% max: 20.08% x̄: 8.96% x̃: 4.46%
95% mean confidence interval for cycles value: -782.96 115.15
95% mean confidence interval for cycles %-change: -1.74% -0.16%
Inconclusive result (value mean confidence interval includes 0).
Ice Lake, Skylake, and Broadwell had similar results. (Ice Lake shown)
total instructions in shared programs: 19962974 -> 19961317 (<.01%)
instructions in affected programs: 63471 -> 61814 (-2.61%)
helped: 105
HURT: 0
helped stats (abs) min: 6 max: 82 x̄: 15.78 x̃: 11
helped stats (rel) min: 1.11% max: 28.65% x̄: 3.17% x̃: 2.16%
95% mean confidence interval for instructions value: -18.38 -13.18
95% mean confidence interval for instructions %-change: -3.86% -2.48%
Instructions are helped.
total cycles in shared programs: 498908953 -> 498863755 (<.01%)
cycles in affected programs: 1566998 -> 1521800 (-2.88%)
helped: 89
HURT: 15
helped stats (abs) min: 2 max: 17502 x̄: 532.19 x̃: 69
helped stats (rel) min: 0.07% max: 18.54% x̄: 4.71% x̃: 3.12%
HURT stats (abs) min: 3 max: 661 x̄: 144.47 x̃: 16
HURT stats (rel) min: 0.14% max: 20.57% x̄: 4.29% x̃: 0.30%
95% mean confidence interval for cycles value: -903.93 34.74
95% mean confidence interval for cycles %-change: -4.50% -2.32%
Inconclusive result (value mean confidence interval includes 0).
total spills in shared programs: 8776 -> 8774 (-0.02%)
spills in affected programs: 25 -> 23 (-8.00%)
helped: 1
HURT: 0
total fills in shared programs: 9500 -> 9496 (-0.04%)
fills in affected programs: 46 -> 42 (-8.70%)
helped: 1
HURT: 0
Haswell
total instructions in shared programs: 16229912 -> 16228399 (<.01%)
instructions in affected programs: 61257 -> 59744 (-2.47%)
helped: 105
HURT: 0
helped stats (abs) min: 6 max: 51 x̄: 14.41 x̃: 11
helped stats (rel) min: 0.77% max: 28.65% x̄: 3.08% x̃: 2.15%
95% mean confidence interval for instructions value: -16.14 -12.68
95% mean confidence interval for instructions %-change: -3.77% -2.40%
Instructions are helped.
total cycles in shared programs: 538654481 -> 538613967 (<.01%)
cycles in affected programs: 1448966 -> 1408452 (-2.80%)
helped: 58
HURT: 47
helped stats (abs) min: 9 max: 22604 x̄: 957.00 x̃: 74
helped stats (rel) min: 0.40% max: 18.81% x̄: 6.22% x̃: 3.03%
HURT stats (abs) min: 5 max: 3720 x̄: 318.98 x̃: 49
HURT stats (rel) min: 0.20% max: 34.50% x̄: 5.05% x̃: 2.12%
95% mean confidence interval for cycles value: -999.84 228.14
95% mean confidence interval for cycles %-change: -2.86% 0.51%
Inconclusive result (value mean confidence interval includes 0).
Ivy Bridge
total instructions in shared programs: 15266086 -> 15265983 (<.01%)
instructions in affected programs: 7272 -> 7169 (-1.42%)
helped: 3
HURT: 0
helped stats (abs) min: 21 max: 41 x̄: 34.33 x̃: 41
helped stats (rel) min: 0.66% max: 5.43% x̄: 2.44% x̃: 1.23%
total cycles in shared programs: 422930883 -> 422930336 (<.01%)
cycles in affected programs: 49259 -> 48712 (-1.11%)
helped: 3
HURT: 0
helped stats (abs) min: 106 max: 221 x̄: 182.33 x̃: 220
helped stats (rel) min: 0.71% max: 5.95% x̄: 2.46% x̃: 0.72%
No changes on any earilier Intel platforms.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4515 >
2020-05-11 12:07:01 -07:00
Ian Romanick
a2bf41ec65
nir/algebraic: Optimize ushr of pack_half, not ishr
...
When a = -1.0, pack_half_2x16(vec2(0x0000, 0xBC00)) will produce
0xBC000000. The ishr will produce 0xFFFFBC00. The replacement
pack_half_2x16(vec2(0xBC00, 0x0000)) will produce 0x0000BC00.
Fixes: 1f72857739 ("nir/algebraic: add some half packing optimizations")
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
Cc: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4515 >
2020-05-11 12:07:01 -07:00
Kenneth Graunke
ab16bff97d
intel: Delete hardcoded devinfo->urb.size values for Gen7+ (sans DG1).
...
On all Gen7+ platforms except DG1, the URB is a subsection of the
configurable L3 cache, and so the size can vary. The size listed
in the documentation on those platforms is an "example size", picked
by calculating it based on an arbitrarily chosen L3 config.
Hardcoding a value for those platforms provides no value and only
confuses people trying to fill out these tables when doing hardware
enabling. anv and iris never use this field. i965 uses it to
initialize brw->urb.size, but then updates that in update_urb_size()
to be the correct value, so the initial value doesn't matter.
Delete the values for Gen7+ and update the comment accordingly.
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4969 >
2020-05-11 09:40:56 -07:00
Abhishek Kumar
0bea2a1321
egl: Limit the EGL ver for android
...
Android support EGL 1.5 from Q onwards,
so limit EGL ver to 1.4 for P and below.
Closes : #2892
Signed-off-by: Abhishek Kumar <abhishek4.kumar@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4951 >
2020-05-11 13:06:22 +00:00
Serge Martin
9c839e6394
amd/common: Fix incorrect use of asprintf instead of vasprintf
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2020-05-11 12:54:41 +02:00
Erik Faye-Lund
39d59cf87a
docs/features: mark GL_NV_conditional_render as done for zink
...
Requires VK_EXT_conditional_rendering.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4835 >
2020-05-11 09:09:34 +00:00
Dave Airlie
5743fa6e70
zink: enable conditional rendering if available
...
This doesn't seem to work perfect, but I'm not sure what is possible
in GL vs Vulkan here
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2867
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4835 >
2020-05-11 09:09:34 +00:00
Erik Faye-Lund
5c7dea394f
zink: add a GET_PROC_ADDR macro to simplify load_device_extensions
...
This doesn't do much for now, but it will keep thing cleaner in the next
commit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4835 >
2020-05-11 09:09:34 +00:00
Erik Faye-Lund
b8fd70eef2
zink: load vk_GetMemoryFdKHR while creating screen
...
We're about to load some more extension-pointers as well, so let's
create a separate place for doing this.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4835 >
2020-05-11 09:09:34 +00:00
Pierre-Eric Pelloux-Prayer
c668bdf05c
radeonsi: do not use cmask with encrypted texture
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4401 >
2020-05-11 10:26:05 +02:00
Pierre-Eric Pelloux-Prayer
8873ea0e25
radeonsi: determine secure flag must be set for gfx IB
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4401 >
2020-05-11 10:25:53 +02:00
Pierre-Eric Pelloux-Prayer
92e64f4b41
amdgpu: use AMDGPU_IB_FLAGS_SECURE when requested
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4401 >
2020-05-11 10:25:53 +02:00
Pierre-Eric Pelloux-Prayer
2c2ab36f53
radeonsi: add support for PIPE_RESOURCE_FLAG_ENCRYPTED
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4401 >
2020-05-11 10:25:53 +02:00
Pierre-Eric Pelloux-Prayer
413d91bbcb
gallium: PIPE_RESOURCE_FLAG_ENCRYPTED
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4401 >
2020-05-11 10:25:53 +02:00
Pierre-Eric Pelloux-Prayer
5c58cbe84d
radeonsi/sdma: implement tmz support
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4401 >
2020-05-11 10:25:53 +02:00
Pierre-Eric Pelloux-Prayer
5d96c26b67
radeonsi: force using staging texture when uploading to secure texture
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4401 >
2020-05-11 10:25:53 +02:00
Pierre-Eric Pelloux-Prayer
fe2a3b804b
amdgpu: add encrypted slabs support
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4401 >
2020-05-11 10:25:53 +02:00
Pierre-Eric Pelloux-Prayer
2853ed1a24
radeonsi: allocate framebuffer texture as secure when using tmz
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4401 >
2020-05-11 10:25:53 +02:00
Pierre-Eric Pelloux-Prayer
5a67b52de4
radeon: add RADEON_CREATE_ENCRYPTED flag
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4401 >
2020-05-11 10:25:53 +02:00
Pierre-Eric Pelloux-Prayer
856a03b4c1
radeonsi: add AMD_DEBUG=tmz option
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4401 >
2020-05-11 10:25:53 +02:00
Pierre-Eric Pelloux-Prayer
977e19d5cf
amdgpu/radeon: add secure api
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4401 >
2020-05-11 10:25:53 +02:00
Pierre-Eric Pelloux-Prayer
506f5d9bda
ac/surface: remove shadowing declaration
...
Fixes: 7691de0dce ("ac/surface,radeonsi: move the set/get_bo_metadata code to ac_surface.c")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2929
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4983 >
2020-05-11 08:15:15 +00:00
Samuel Pitoiset
266978f7ca
aco: prevent invalid loads/stores vectorization if robustness is enabled
...
Only UBO, SSBO, global and push constants accesses should matter.
This fixes a bunch of new robustness2 failures. Note that RADV/LLVM
isn't affected because it relies on LLVM for loads/stores
vectorization and LLVM doesn't vectorize in this situation as well.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4881 >
2020-05-11 07:25:16 +00:00
Samuel Pitoiset
04718a9cd6
nir: do not vectorize load/store if offset can overflow and robustness enabled
...
This prevents vectorization for loads/stores that can overflow if
the low offset is negative and the range greater or equal than 0.
The caller can pass the list of variable modes that matter for
robust access.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4881 >
2020-05-11 07:25:15 +00:00
Samuel Pitoiset
3fba0a7a6f
aco: fix 64-bit trunc with negative exponents on GFX6
...
v_frexp_exp returns the exponent as an unsigned value.
Also, v_ashr returns either 0 or -1 depending on the sign of the
source operand, but what we want is only the sign bit.
Fixes a bunch of recent dEQP-VK.glsl.builtin.precision_double.* tests.
Cc: <mesa-stable@lists.freedesktop.org >
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4921 >
2020-05-11 08:31:23 +02:00
Guido Günther
56f955e485
etnaviv: drm: Normalize nano seconds
...
Make sure the nano second part is less than one second. This matches
what clock_settime expects and allows for more concise kernel
interfaces.
Signed-off-by: Guido Günther <guido.gunther@puri.sm >
Reviewed-by: Jonathan Marek <jonathan@marek.ca >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3534 >
2020-05-10 07:32:12 +00:00
Guido Günther
022327f753
etnaviv: drm: Use NSEC_PER_SEC
...
Signed-off-by: Guido Günther <agx@sigxcpu.org >
Reviewed-by: Jonathan Marek <jonathan@marek.ca >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3534 >
2020-05-10 07:32:12 +00:00
Mauro Rossi
a92a483ff7
freedreno: android: add adreno-pm4-pack.xml.h generation to android build
...
Fixes the following building errors:
In file included from external/mesa/src/gallium/drivers/freedreno/a6xx/fd6_blitter.c:40:
external/mesa/src/gallium/drivers/freedreno/a6xx/fd6_pack.h:42:10: fatal error: 'adreno-pm4-pack.xml.h' file not found
^~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
In file included from external/mesa/src/gallium/drivers/freedreno/a6xx/fd6_blend.c:36:
external/mesa/src/gallium/drivers/freedreno/a6xx/fd6_pack.h:42:10: fatal error: 'adreno-pm4-pack.xml.h' file not found
^~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
In file included from external/mesa/src/gallium/drivers/freedreno/a6xx/fd6_const.c:26:
external/mesa/src/gallium/drivers/freedreno/a6xx/fd6_pack.h:42:10: fatal error: 'adreno-pm4-pack.xml.h' file not found
^~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
Fixes: ee293160 "freedreno/a6xx: add OUT_PKT()"
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4973 >
2020-05-09 16:19:14 +00:00
Mauro Rossi
5dc3b22dd0
freedreno/drm: android: add libfreedreno_registers static dependency
...
The dependency is required to get the necessary generated headers
Fixes the following building error:
In file included from external/mesa/src/freedreno/drm/msm_bo.c:27:
In file included from external/mesa/src/freedreno/drm/msm_priv.h:30:
In file included from external/mesa/src/freedreno/drm/freedreno_priv.h:51:
external/mesa/src/freedreno/drm/freedreno_ringbuffer.h:35:10: fatal error: 'adreno_common.xml.h' file not found
#include "adreno_common.xml.h"
^~~~~~~~~~~~~~~~~~~~~
1 error generated.
Fixes: 6c688ae8 ("freedreno: Deduplicate ringbuffer macros with computerator/fdperf")
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4973 >
2020-05-09 16:19:14 +00:00
Erico Nunes
e622e010fd
lima/ppir: rework select conditions
...
This is yet another simple optimization that attemts to save the
insertion of an unnecessary mov for a large number of cases.
If the node outputting the condition for select satisfies a few
requirements (which are common in the case of comparison conditions),
it can just be changed to pipeline output and used directly.
In case of difficult corner cases, just fall back to the mov as before.
The sel_cond op is removed as the scheduler can be smart enough to place
nodes that output to ^fmul in the ALU_SCL_MUL slot, and as there can be
alu ops other than just mov.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4632 >
2020-05-09 14:40:40 +02:00
Erico Nunes
a0c58867cd
lima/ppir: add fallback mov option for const scheduler
...
It turns out that with more aggressive combining, there can be cases
where the available const slots are not enough for one instruction.
In particular, fcsel can take up to two consts, and a previous alu slot,
such as a comparison condition, might require an additional const.
So add a fallback for it like for uniforms.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4632 >
2020-05-09 14:40:37 +02:00
Erico Nunes
8c47640731
lima/ppir: rework store output
...
In many cases, it is possible to avoid creating a mov for the store
output node.
Additionally, nodes other than alu, such as load varying, can be valid
store output nodes too.
This is another small optimization, but helps a vast majority of
programs by 1 instruction.
Shaders with discard easily become complicated to handle properly.
Some example issues: ppir has to rely on instruction ordering; or a
node with ssa output could be required both before a discard_if (as a
condition) and after it (as the instruction with the 'stop' bit set).
So don't try to handle them here.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4632 >
2020-05-09 14:40:34 +02:00
Erico Nunes
570f1420db
lima/ppir: rework emit nir to ppir
...
The previous code assumed that a ppir node would be created for each nir
instr and used that to add it to the list of nodes and verify success.
This didn't make much sense anymore since some emit paths create
multiple nodes anyway, and this didn't allow for an emit call to not
create any new ppir node while still returning success.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4632 >
2020-05-09 14:40:21 +02:00
Erico Nunes
6b21b771f7
lima/ppir: remove unused clone functions
...
With the previous refactors moving these lowering steps to a nir pass,
these are no longer needed.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4535 >
2020-05-09 11:30:07 +00:00
Erico Nunes
8c4157138f
lima/ppir: duplicate consts in nir
...
Move the duplicate consts step to a nir pass.
This makes the nir representation closer to what ppir will have in the
result.
Additionally, it handles the case where a const is used multiple times
by a single node (which can happen in instructions like fcsel). The new
implementation will only emit a single load const for that case.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4535 >
2020-05-09 11:30:07 +00:00
Erico Nunes
5e6c386118
lima/ppir: duplicate intrinsics in nir
...
Move the duplicate uniform and varying steps to a nir pass, along with
some changes in the duplicating strategy.
Node duplication is now done per user of the varying/uniform. This is
inspired by what the offline shader compiler seems to usually do, and as
usual aims to reduce register pressure and better utilize the ld_uni and
ld_var instruction slots.
It is worth noting that due to a bug/feature, ppir was already
duplicating uniforms per successor in ppir_node_add_src even if the
comment indicated it was meant to be per-block.
Additionally, ppir was duplicating load uniform nodes twice for nodes
that use the same uniform in more than one source, resulting in one
unnecessary (and unpipelineable) load. This new implementation in nir
only creates one load in that case.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4535 >
2020-05-09 11:30:07 +00:00
Erico Nunes
09003ba070
lima/ppir: combine varying loads in node_to_instr
...
Varying loads with a single successor have a high potential to be
combined with its successor node, like ppir does for uniforms, rather
than being in a separate instruction.
Even if ppir becomes capable of combining instructions in a separate
step, combining varying loads during node_to_instr is trivial enough
that it seems to be worth doing it in this stage, and this benefits
pretty much every program that uses varyings.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4535 >
2020-05-09 11:30:07 +00:00
Erico Nunes
c6a3987f32
lima/ppir: do not assume single src for pipeline outputs
...
Even if a node has pipeline output and a single successor, it is still
valid for that successor to have multiple references to that pipeline
node. A trivial example is add(u.x,u.y) where u is a uniform.
It is even possible for this to occur with consts as operands of fcsel.
So remove uses of ppir_node_get_src_for_pred as that would assume a
single src in the node that uses the pipeline.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4535 >
2020-05-09 11:30:07 +00:00
Erico Nunes
741aa3439d
lima/ppir: fix lod bias register codegen
...
The lod bias register is correctly run through the entire compilation
process, but in the end its allocated register value was never being
added to the instruction.
It seems that most programs were lucky enough that lod bias was assigned
register 0.x so that things worked anyway.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4535 >
2020-05-09 11:30:07 +00:00
Erico Nunes
cef1c73634
lima/ppir: introduce liveness internal live set
...
The current solution for handling registers that live and die within a
single instruction does not handle all cases. In particular, these
intra-instruction use register also conflict with registers that are
part of the live_in set.
Unfortunately, adding them to the live_in set is not an easy solution as
that would cause them to be propagated upwards. So, add a separate set
to handle these registers in the particular instructions, without
propagating them.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4535 >
2020-05-09 11:30:07 +00:00
Lionel Landwerlin
9e790fea7c
genxml: pack: deal with default field not being simple integers
...
Storing integers into enums doesn't seem to cause issues in C, but
with our builder tests written in C++ this causes warnings/errors.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4938 >
2020-05-09 07:20:48 +00:00
Lionel Landwerlin
942d4538a4
genxml: factor out utility functions
...
v2: Use the regexp version (Jordan)
Also fix regexp that missed the ' character replacement (Lionel)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4938 >
2020-05-09 07:20:48 +00:00
Lionel Landwerlin
d07f69413e
genxml: fix invalid end value for video fields
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4938 >
2020-05-09 07:20:48 +00:00
Lionel Landwerlin
af17e392b2
genxml: run sorting script
...
Helps running diff/meld between generations :)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4938 >
2020-05-09 07:20:48 +00:00
Jordan Justen
45c33313e6
intel/dev: Add device info for RKL
...
Cc: 20.1 <mesa-stable@lists.freedesktop.org >
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by : Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4955 >
2020-05-09 01:39:43 +00:00
Jordan Justen
54996ad492
intel/dev: Split .num_subslices out of GEN12_FEATURES macro
...
The .num_subslices field makes it problematic to reuse the
GEN12_FEATURES macro in other macros.
This also fixes the number of L3 banks for tgl gt1, except that this
was already fixed by Jason (dynamically) in:
86f67952d3 ("intel/devinfo: Compute the correct L3$ size for Gen12")
Cc: 20.1 <mesa-stable@lists.freedesktop.org >
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by : Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4955 >
2020-05-09 01:39:43 +00:00
Qiang Yu
07b0fbea92
panfrost: don't always build bifrost_compiler
...
src/panfrost/shared is shared with lima driver, build
bifrost_compiler for lima driver is meaningless and
get link error when only lima driver is enabled.
So only build bifrost_compiler when configued with:
meson -Dtools=panfrost
Fixes: ec2a59cd7a "panfrost: Move non-Gallium files outside of Gallium"
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4960 >
2020-05-09 01:27:41 +00:00
Qiang Yu
727a0a53fd
radeonsi: remove emacs style config file
...
As radeonsi has synced the code style with main mesa,
remove the orginal radeonsi spec emacs config file and
use the top level dir .dir-locals.el
Acked-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/4961 >
2020-05-09 00:57:26 +00:00
D Scott Phillips
6c998c7adf
intel/dump_gpu: Fix name of LD_PRELOAD in env append logic
...
Checking for the wrong environment variable name to be set causes
us to stomp any pre-existing LD_PRELOAD.
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4970 >
2020-05-08 14:49:07 -07:00
Marek Olšák
1a59590e5d
ac/surface: fix broken pitch override on gfx8
...
Fixes: 441eaef6a9 - amd: unify code for overriding offset and stride for imported buffers
Closes : #2920
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4968 >
2020-05-08 16:37:10 -04:00
Eric Anholt
c9e8df61dc
freedreno: Initialize the bo's iova at creation time.
...
Avoids repeated conditionals at reloc time checking if we need to go ask
the kernel.
No statistically significant difference on the drawoverhead case I'm
looking at (n=300).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4957 >
2020-05-08 12:35:39 -07:00
Eric Anholt
b3c4e6a597
freedreno: Rename append_bo() in case it doesn't get inlined.
...
In a debugoptimized build, it wasn't inlined and so I wasn't noticing
where a bunch of CPU usage was going in the DRM functions.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4957 >
2020-05-08 12:35:39 -07:00
Eric Anholt
e1c74f3fac
freedreno: Clean up tests around ORing in the reloc flags.
...
gcc was surprisingly not seeing through this to just do an AND and an OR.
Improves drawoverhead's few uniforms / 1 change throughput 1.64141% +/-
0.188152% (n=60).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4957 >
2020-05-08 12:35:39 -07:00
Eric Anholt
6c688ae81f
freedreno: Deduplicate ringbuffer macros with computerator/fdperf
...
They're sugar around freedreno_ringbuffer.h, so put them there and reuse them.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4957 >
2020-05-08 12:35:38 -07:00
Hyunjun Ko
094c7646a3
freedreno,tu: Don't request fragcoord components not being read.
...
v1. Replace the existed bool type with new bitfield and edit register
files to take a mask instead of duplicating codes to do masking.
v2. Use fragcoord_compmask != 0 instead of fragcoord_compmask > 0 since
it represents a bitfield.
Tested with
dEQP-VK.glsl.builtin_var.simple.fragcoord_xyz/w
dEQP-GLES2.functional.shaders.builtin_variable.fragcoord_xyz/w
Closes : #2680
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4723 >
2020-05-08 17:45:03 +00:00
Jason Ekstrand
ab5590e92b
vulkan/object: Always include the type
...
This was causing problems for some of the ANV unit tests when run in
release mode. Having a public struct whose layout depends on NDEBUG
seems kind-of sketchy anyway.
Fixes: 32f20783a5 "vulkan: Add run-time object type asserts in..."
Closes : #2903
Reviewed-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/4959 >
2020-05-08 17:09:27 +00:00
Jason Ekstrand
d11e4738a8
anv/allocator: Add a start_offset to anv_state_pool
...
This allows a pool's allocations to start somewhere other than the base
address. Our first real use of this will be to use a negative offset
for the binding table pool to make it so that the offset is baked into
the pool and the code in anv_batch_chain.c doesn't have to understand
pool offsetting.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4897 >
2020-05-08 16:54:17 +00:00
pal1000
772b15ad32
util: Make process_test path compatible with mingw native toolchains
...
v2: Make sure we require winepath when using mingw crosscompilers
v3: Also take into account mingw clang toolchains
Acked-by: Roland Scheidegger <sroland@vmware.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Fixes: f8f14130 ("util/u_process: add util_get_process_exec_path")
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2788
CC: "20.1" <mesa-stable@lists.freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4731 >
2020-05-08 14:09:09 +00:00
Daniel Stone
696bafac40
CI: Disable Panfrost T7x0 jobs
...
One of the dispatchers in the office (with all the T7x0 boards) has gone
AWOL, and we don't have physical access to restore it. Disable it until
we can get in and fix it.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4965 >
2020-05-08 14:44:09 +01:00
Con Kolivas
78d267e6da
Linux: Change minimum priority threads from SCHED_IDLE to nice 19 SCHED_BATCH.
...
SCHED_IDLE on linux can lead to extraordinarily long periods of no scheduling
leading to starvation of minimum priority threads for such an extended period
that it can eventually lead to GUI stalls. Switch to renicing the threads to
the lowest priority and use the SCHED_BATCH scheduling policy which is a hint
to the scheduler that this is latency insensitive thread instead. This change
has been confirmed to address unexpected GUI related stalls in mesa
applications across a range of different linux kernels.
Signed-off-by: Con Kolivas <kernel@kolivas.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4912 >
2020-05-08 10:14:40 +00:00
Erik Faye-Lund
f66bf5ba44
docs/features: add zink features
...
This is base on the exported extension strings, with some known-bad
extensions removed. There might be more that should be removed, as their
support isn't per-spec, but this gives us some more information, at
least.
There's also a few features that seems to be trivial to enable, simply
by flipping a cap. But let's document what is expected to work first.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2075
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4963 >
2020-05-08 09:41:04 +00:00
Lionel Landwerlin
8bcfce2fcd
anv: fix alignments for uniform buffers
...
We were not consistent with minimums reported in the physical device
properties.
Fixes a few CTS tests :
dEQP-VK.memory.requirements.dedicated_allocation.buffer.regular
dEQP-VK.memory.requirements.extended.buffer.regular
dEQP-VK.memory.requirements.core.buffer.regular
v2: Use define for the limit
v3: Rename define
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: a0de2e0090 ("anv: increase minUniformBufferOffsetAlignment to 64")
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4940 >
2020-05-08 08:59:02 +00:00
Samuel Pitoiset
f105b69464
radv: report correct backend IR in hang reports when ACO is used
...
Trivial.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4911 >
2020-05-08 08:45:26 +02:00
Samuel Pitoiset
290d480c55
radv: do not print the LLVM version string twice in hang reports
...
It's already part of the device name, and it should now also
correctly report when ACO is used.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4911 >
2020-05-08 08:45:26 +02:00
Samuel Pitoiset
b1ef1c1211
radv: remove the LLVM version string when ACO is used
...
Now that ACO supports all shader stages (the only exception is NGG
GS on Navi10 but it fallbacks to legacy GS) it makes sense to remove
the LLVM version string reported as part of the device name.
The LLVM version string was added in the past for some Feral games
to workaround LLVM issues by detecting the version. With ACO, this
is unecessary because the Mesa version is enough to eventually enable
specific shader workarounds.
When the LLVM version string is missing, it is assumed that an old
LLVM is used and workarounds are automatically applied. The only
Vulkan games that might be affected is Shadow of The Tomb Raider
but the impact should be fairly small.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4911 >
2020-05-08 08:45:26 +02:00
Tapani Pälli
ee2aef3ea5
anv: call base finish only if pass given in DestroyRenderPass
...
Fixes: 682c81bdfb ("vulkan,anv: Add a base object struct type")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4936 >
2020-05-08 08:36:45 +03:00
Erik Faye-Lund
a885ee5258
st/wgl: allocate and resolve msaa-textures
...
LLVMpipe recently got the ability to render to MSAA-surfaces, but in
order for this to work on Windows, we need to allocate a separate MSAA
resource and resolve using a blit before we can display it.
Without this, we end up always displaying the first sample instead of
the resolved result.
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4926 >
2020-05-07 22:38:03 +00:00
Erik Faye-Lund
947bb04fcc
st/wgl: pass st_context_iface into stw_st_framebuffer_present_locked
...
We're going to need this to be able to resolve MSAA buffers.
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4926 >
2020-05-07 22:38:03 +00:00
Blaž Tomažič
808eb20186
radeonsi: Fix omitted flush when moving suballocated texture
...
Fixes: 5e805cc74b "radeonsi: flush the context after resource_copy_region for buffer exports"
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4925 >
2020-05-07 17:00:08 -04:00
Daniel Schürmann
37e89e3027
aco: either copy-propagate or inline create_vector operands
...
Don't do both at the same time as it breaks DCE
Fixes: 2dc550202e ('aco: copy-propagate p_create_vector copies of vectors')
Fixes: dEQP-VK.glsl.builtin.precision_double.ldexp.compute.scalar on GFX6-GFX7
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4922 >
2020-05-07 20:40:41 +00:00
Marek Olšák
c9e7362402
ac/surface: override all offsets including metadata offsets
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4863 >
2020-05-07 20:13:41 +00:00
Marek Olšák
441eaef6a9
amd: unify code for overriding offset and stride for imported buffers
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4863 >
2020-05-07 20:13:41 +00:00
Marek Olšák
c164ea86e1
ac/surface,radeonsi: move the set/get_umd_metadata code into ac_surface.c
...
The indentation is on purpose. The whole file will be reindented to this
code style some other time.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4863 >
2020-05-07 20:13:41 +00:00
Marek Olšák
7691de0dce
ac/surface,radeonsi: move the set/get_bo_metadata code to ac_surface.c
...
The indentation is on purpose. The whole file will be reindented to this
code style some other time.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4863 >
2020-05-07 20:13:41 +00:00
Marek Olšák
56e37374dd
amd: assume HTILE is always rb/pipe_aligned, remove ac_surface.u.gfx9.htile
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4863 >
2020-05-07 20:13:41 +00:00
Marek Olšák
cf61f635ff
amd: assume CMASK is always rb/pipe_aligned, remove ac_surface.u.gfx9.cmask
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4863 >
2020-05-07 20:13:41 +00:00
Marek Olšák
127aaf0b9a
amd: remove duplicated definitions from amdgpu_drm.h
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4863 >
2020-05-07 20:13:41 +00:00
Marek Olšák
25edf9b136
amd: update amdgpu_drm.h
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4863 >
2020-05-07 20:13:41 +00:00
Dave Airlie
89d4b6b5c8
llvmpipe: make sample position a global array.
...
I messed this up and LLVM asserts on it.
Use the gallivm struct wrappers to make it clearer.
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2913
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Tested-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4933 >
2020-05-07 18:38:51 +00:00
Ian Romanick
3b6449d453
nir/algebraic: Optimize some bfe patterns
...
v2: Use -x instead of 32-x in shift counts.
Tiger Lake
total instructions in shared programs: 17597691 -> 17597405 (<.01%)
instructions in affected programs: 224557 -> 224271 (-0.13%)
helped: 74
HURT: 17
helped stats (abs) min: 1 max: 71 x̄: 14.36 x̃: 7
helped stats (rel) min: 0.08% max: 1.80% x̄: 0.50% x̃: 0.37%
HURT stats (abs) min: 1 max: 141 x̄: 45.71 x̃: 40
HURT stats (rel) min: 0.03% max: 3.55% x̄: 1.20% x̃: 1.14%
95% mean confidence interval for instructions value: -10.53 4.24
95% mean confidence interval for instructions %-change: -0.38% 0.01%
Inconclusive result (value mean confidence interval includes 0).
total cycles in shared programs: 333595656 -> 333180770 (-0.12%)
cycles in affected programs: 70056467 -> 69641581 (-0.59%)
helped: 91
HURT: 4
helped stats (abs) min: 1 max: 25174 x̄: 4571.40 x̃: 400
helped stats (rel) min: <.01% max: 2.23% x̄: 0.40% x̃: 0.21%
HURT stats (abs) min: 1 max: 370 x̄: 277.75 x̃: 370
HURT stats (rel) min: 0.01% max: 0.04% x̄: 0.04% x̃: 0.04%
95% mean confidence interval for cycles value: -5981.55 -2752.89
95% mean confidence interval for cycles %-change: -0.48% -0.29%
Cycles are helped.
Ice Lake, Skylake, Broadwell, and Haswell had similar results. (Ice Lake shown)
total instructions in shared programs: 16117204 -> 16116723 (<.01%)
instructions in affected programs: 207109 -> 206628 (-0.23%)
helped: 100
HURT: 0
helped stats (abs) min: 1 max: 9 x̄: 4.81 x̃: 7
helped stats (rel) min: 0.10% max: 1.58% x̄: 0.23% x̃: 0.20%
95% mean confidence interval for instructions value: -5.51 -4.11
95% mean confidence interval for instructions %-change: -0.27% -0.19%
Instructions are helped.
total cycles in shared programs: 330487341 -> 330082421 (-0.12%)
cycles in affected programs: 68037050 -> 67632130 (-0.60%)
helped: 89
HURT: 7
helped stats (abs) min: 2 max: 24610 x̄: 4567.07 x̃: 400
helped stats (rel) min: <.01% max: 1.52% x̄: 0.39% x̃: 0.22%
HURT stats (abs) min: 1 max: 370 x̄: 221.29 x̃: 170
HURT stats (rel) min: 0.01% max: 1.66% x̄: 0.58% x̃: 0.04%
95% mean confidence interval for cycles value: -5780.79 -2655.05
95% mean confidence interval for cycles %-change: -0.42% -0.22%
Cycles are helped.
Ivy Bridge
total instructions in shared programs: 11873641 -> 11873137 (<.01%)
instructions in affected programs: 147464 -> 146960 (-0.34%)
helped: 54
HURT: 0
helped stats (abs) min: 9 max: 10 x̄: 9.33 x̃: 9
helped stats (rel) min: 0.29% max: 0.41% x̄: 0.34% x̃: 0.34%
95% mean confidence interval for instructions value: -9.46 -9.20
95% mean confidence interval for instructions %-change: -0.35% -0.33%
Instructions are helped.
total cycles in shared programs: 175769085 -> 175549519 (-0.12%)
cycles in affected programs: 60770592 -> 60551026 (-0.36%)
helped: 54
HURT: 0
helped stats (abs) min: 252 max: 13434 x̄: 4066.04 x̃: 1290
helped stats (rel) min: 0.02% max: 0.74% x̄: 0.34% x̃: 0.26%
95% mean confidence interval for cycles value: -5323.59 -2808.48
95% mean confidence interval for cycles %-change: -0.41% -0.27%
Cycles are helped.
No changes on any earlier Intel platforms.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4156 >
2020-05-07 10:55:50 -07:00
Ian Romanick
f46eabf84e
nir/algebraic: Split ibfe and ubfe with two constant sources
...
I also tried splitting ubfe instructions with one or zero constants,
and zero shaders in shader-db were affected.
The "lost" shader is a compute shader that was promoted from SIMD8 to
SIMD16, so is also counted as the gained shader.
v2: Further restrict bfe splitting. bfe with multiple constants is
better on at least some Radeon GPUs. Use -x instead of 32-x in shift
counts.
v3: Fix the outer shift count for ibfe lowering. Add c=0 optimizations
to prevent bad lowering. Both suggested by Rhys. Add shift by -32
optimizations.
Tiger Lake
total instructions in shared programs: 17608764 -> 17596316 (-0.07%)
instructions in affected programs: 303765 -> 291317 (-4.10%)
helped: 113
HURT: 46
helped stats (abs) min: 1 max: 458 x̄: 120.67 x̃: 21
helped stats (rel) min: 0.09% max: 11.23% x̄: 3.47% x̃: 1.39%
HURT stats (abs) min: 1 max: 201 x̄: 25.83 x̃: 6
HURT stats (rel) min: 0.23% max: 5.18% x̄: 1.53% x̃: 1.11%
95% mean confidence interval for instructions value: -101.13 -55.45
95% mean confidence interval for instructions %-change: -2.61% -1.44%
Instructions are helped.
total cycles in shared programs: 338390770 -> 333530868 (-1.44%)
cycles in affected programs: 79438330 -> 74578428 (-6.12%)
helped: 112
HURT: 64
helped stats (abs) min: 2 max: 268955 x̄: 44261.93 x̃: 1452
helped stats (rel) min: <.01% max: 29.51% x̄: 4.72% x̃: 2.23%
HURT stats (abs) min: 2 max: 17618 x̄: 1522.41 x̃: 84
HURT stats (rel) min: <.01% max: 7.34% x̄: 1.35% x̃: 0.34%
95% mean confidence interval for cycles value: -37232.47 -17993.69
95% mean confidence interval for cycles %-change: -3.37% -1.65%
Cycles are helped.
total spills in shared programs: 8944 -> 8138 (-9.01%)
spills in affected programs: 3240 -> 2434 (-24.88%)
helped: 67
HURT: 0
total fills in shared programs: 9373 -> 7842 (-16.33%)
fills in affected programs: 4736 -> 3205 (-32.33%)
helped: 67
HURT: 0
LOST: 1
GAINED: 2
Ice Lake and Skylake had similar results. (Ice Lake shown)
total instructions in shared programs: 16123288 -> 16116876 (-0.04%)
instructions in affected programs: 241155 -> 234743 (-2.66%)
helped: 126
HURT: 2
helped stats (abs) min: 1 max: 209 x̄: 50.90 x̃: 7
helped stats (rel) min: 0.07% max: 5.94% x̄: 1.76% x̃: 0.65%
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 0.05% max: 0.24% x̄: 0.15% x̃: 0.15%
95% mean confidence interval for instructions value: -61.29 -38.89
95% mean confidence interval for instructions %-change: -2.05% -1.42%
Instructions are helped.
total cycles in shared programs: 335419163 -> 330438819 (-1.48%)
cycles in affected programs: 77515502 -> 72535158 (-6.42%)
helped: 139
HURT: 37
helped stats (abs) min: 2 max: 269140 x̄: 36374.19 x̃: 597
helped stats (rel) min: <.01% max: 28.60% x̄: 3.67% x̃: 1.31%
HURT stats (abs) min: 4 max: 17618 x̄: 2045.08 x̃: 174
HURT stats (rel) min: 0.02% max: 8.32% x̄: 2.61% x̃: 0.62%
95% mean confidence interval for cycles value: -37799.30 -18795.51
95% mean confidence interval for cycles %-change: -3.13% -1.57%
Cycles are helped.
total spills in shared programs: 8065 -> 7306 (-9.41%)
spills in affected programs: 3153 -> 2394 (-24.07%)
helped: 67
HURT: 0
total fills in shared programs: 8710 -> 7412 (-14.90%)
fills in affected programs: 4466 -> 3168 (-29.06%)
helped: 67
HURT: 0
LOST: 1
GAINED: 1
Broadwell
total instructions in shared programs: 14970538 -> 14965967 (-0.03%)
instructions in affected programs: 227040 -> 222469 (-2.01%)
helped: 126
HURT: 2
helped stats (abs) min: 1 max: 136 x̄: 36.29 x̃: 8
helped stats (rel) min: 0.07% max: 6.02% x̄: 1.47% x̃: 0.89%
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 0.05% max: 0.24% x̄: 0.14% x̃: 0.14%
95% mean confidence interval for instructions value: -43.05 -28.37
95% mean confidence interval for instructions %-change: -1.69% -1.19%
Instructions are helped.
total cycles in shared programs: 336237662 -> 333035960 (-0.95%)
cycles in affected programs: 72066394 -> 68864692 (-4.44%)
helped: 134
HURT: 42
helped stats (abs) min: 4 max: 122640 x̄: 24344.54 x̃: 1833
helped stats (rel) min: <.01% max: 26.93% x̄: 4.02% x̃: 2.38%
HURT stats (abs) min: 1 max: 17205 x̄: 1439.69 x̃: 92
HURT stats (rel) min: <.01% max: 7.12% x̄: 1.34% x̃: 0.62%
95% mean confidence interval for cycles value: -23753.58 -12629.40
95% mean confidence interval for cycles %-change: -3.50% -1.98%
Cycles are helped.
total spills in shared programs: 21122 -> 20204 (-4.35%)
spills in affected programs: 3644 -> 2726 (-25.19%)
helped: 67
HURT: 0
total fills in shared programs: 24879 -> 23460 (-5.70%)
fills in affected programs: 4883 -> 3464 (-29.06%)
helped: 67
HURT: 0
Haswell
total instructions in shared programs: 13148269 -> 13145444 (-0.02%)
instructions in affected programs: 137046 -> 134221 (-2.06%)
helped: 97
HURT: 3
helped stats (abs) min: 1 max: 137 x̄: 30.58 x̃: 3
helped stats (rel) min: 0.14% max: 4.38% x̄: 1.38% x̃: 0.44%
HURT stats (abs) min: 1 max: 70 x̄: 47.00 x̃: 70
HURT stats (rel) min: 0.05% max: 5.82% x̄: 3.90% x̃: 5.82%
95% mean confidence interval for instructions value: -37.15 -19.35
95% mean confidence interval for instructions %-change: -1.56% -0.89%
Instructions are helped.
total cycles in shared programs: 321221834 -> 318333159 (-0.90%)
cycles in affected programs: 54932349 -> 52043674 (-5.26%)
helped: 95
HURT: 53
helped stats (abs) min: 4 max: 123390 x̄: 30648.39 x̃: 702
helped stats (rel) min: <.01% max: 28.87% x̄: 4.27% x̃: 2.87%
HURT stats (abs) min: 4 max: 2357 x̄: 432.49 x̃: 113
HURT stats (rel) min: <.01% max: 3.44% x̄: 1.03% x̃: 0.54%
95% mean confidence interval for cycles value: -26154.16 -12881.99
95% mean confidence interval for cycles %-change: -3.20% -1.55%
Cycles are helped.
total spills in shared programs: 19878 -> 19293 (-2.94%)
spills in affected programs: 3020 -> 2435 (-19.37%)
helped: 41
HURT: 2
total fills in shared programs: 20918 -> 19875 (-4.99%)
fills in affected programs: 3968 -> 2925 (-26.29%)
helped: 41
HURT: 2
LOST: 0
GAINED: 1
Ivy Bridge
total instructions in shared programs: 11875585 -> 11873641 (-0.02%)
instructions in affected programs: 78065 -> 76121 (-2.49%)
helped: 27
HURT: 0
helped stats (abs) min: 8 max: 134 x̄: 72.00 x̃: 72
helped stats (rel) min: 0.36% max: 4.23% x̄: 2.42% x̃: 2.42%
95% mean confidence interval for instructions value: -83.68 -60.32
95% mean confidence interval for instructions %-change: -2.78% -2.07%
Instructions are helped.
total cycles in shared programs: 178232734 -> 175769085 (-1.38%)
cycles in affected programs: 50018707 -> 47555058 (-4.93%)
helped: 27
HURT: 0
helped stats (abs) min: 82035 max: 99953 x̄: 91246.26 x̃: 92278
helped stats (rel) min: 4.40% max: 5.69% x̄: 4.93% x̃: 4.95%
95% mean confidence interval for cycles value: -93674.20 -88818.32
95% mean confidence interval for cycles %-change: -5.09% -4.78%
Cycles are helped.
total spills in shared programs: 4182 -> 3739 (-10.59%)
spills in affected programs: 1089 -> 646 (-40.68%)
helped: 27
HURT: 0
total fills in shared programs: 5216 -> 4345 (-16.70%)
fills in affected programs: 1874 -> 1003 (-46.48%)
helped: 27
HURT: 0
No changes on any earlier Intel platforms.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4156 >
2020-05-07 10:55:50 -07:00
Ian Romanick
0d605a8bbf
nir/algebraic: Recognize open-coded byte or word extract from bfe
...
v2: Move word-extract patterns up near the byte-extract patterns.
Suggested by Rhys.
Tiger Lake
total instructions in shared programs: 21369236 -> 21368712 (<.01%)
instructions in affected programs: 913104 -> 912580 (-0.06%)
helped: 209
HURT: 165
helped stats (abs) min: 1 max: 30 x̄: 5.35 x̃: 3
helped stats (rel) min: 0.03% max: 6.92% x̄: 0.28% x̃: 0.12%
HURT stats (abs) min: 1 max: 18 x̄: 3.61 x̃: 3
HURT stats (rel) min: 0.04% max: 0.87% x̄: 0.16% x̃: 0.12%
95% mean confidence interval for instructions value: -2.04 -0.76
95% mean confidence interval for instructions %-change: -0.14% -0.04%
Instructions are helped.
total cycles in shared programs: 490161481 -> 490175959 (<.01%)
cycles in affected programs: 72557244 -> 72571722 (0.02%)
helped: 193
HURT: 189
helped stats (abs) min: 1 max: 14240 x̄: 509.16 x̃: 71
helped stats (rel) min: <.01% max: 13.71% x̄: 0.44% x̃: 0.05%
HURT stats (abs) min: 2 max: 4210 x̄: 596.53 x̃: 173
HURT stats (rel) min: <.01% max: 5.59% x̄: 0.54% x̃: 0.14%
95% mean confidence interval for cycles value: -96.33 172.13
95% mean confidence interval for cycles %-change: -0.07% 0.16%
Inconclusive result (value mean confidence interval includes 0).
total spills in shared programs: 10780 -> 10782 (0.02%)
spills in affected programs: 18 -> 20 (11.11%)
helped: 0
HURT: 1
total fills in shared programs: 10396 -> 10370 (-0.25%)
fills in affected programs: 2292 -> 2266 (-1.13%)
helped: 27
HURT: 1
Ice Lake
total instructions in shared programs: 19556356 -> 19555446 (<.01%)
instructions in affected programs: 833336 -> 832426 (-0.11%)
helped: 400
HURT: 0
helped stats (abs) min: 1 max: 20 x̄: 2.27 x̃: 2
helped stats (rel) min: 0.07% max: 4.42% x̄: 0.14% x̃: 0.10%
95% mean confidence interval for instructions value: -2.42 -2.13
95% mean confidence interval for instructions %-change: -0.18% -0.11%
Instructions are helped.
total cycles in shared programs: 488026481 -> 488008714 (<.01%)
cycles in affected programs: 81581708 -> 81563941 (-0.02%)
helped: 193
HURT: 206
helped stats (abs) min: 1 max: 3615 x̄: 576.35 x̃: 131
helped stats (rel) min: <.01% max: 4.50% x̄: 0.49% x̃: 0.22%
HURT stats (abs) min: 1 max: 2244 x̄: 453.73 x̃: 170
HURT stats (rel) min: <.01% max: 5.71% x̄: 0.36% x̃: 0.14%
95% mean confidence interval for cycles value: -127.23 38.17
95% mean confidence interval for cycles %-change: -0.12% 0.03%
Inconclusive result (value mean confidence interval includes 0).
total fills in shared programs: 9935 -> 9908 (-0.27%)
fills in affected programs: 2208 -> 2181 (-1.22%)
helped: 27
HURT: 0
Skylake
total instructions in shared programs: 17766078 -> 17765186 (<.01%)
instructions in affected programs: 822017 -> 821125 (-0.11%)
helped: 399
HURT: 1
helped stats (abs) min: 1 max: 20 x̄: 2.27 x̃: 2
helped stats (rel) min: 0.07% max: 4.46% x̄: 0.15% x̃: 0.10%
HURT stats (abs) min: 12 max: 12 x̄: 12.00 x̃: 12
HURT stats (rel) min: 0.50% max: 0.50% x̄: 0.50% x̃: 0.50%
95% mean confidence interval for instructions value: -2.39 -2.07
95% mean confidence interval for instructions %-change: -0.18% -0.11%
Instructions are helped.
total cycles in shared programs: 470905548 -> 470907497 (<.01%)
cycles in affected programs: 78598491 -> 78600440 (<.01%)
helped: 202
HURT: 192
helped stats (abs) min: 1 max: 3690 x̄: 228.98 x̃: 60
helped stats (rel) min: <.01% max: 4.51% x̄: 0.24% x̃: 0.03%
HURT stats (abs) min: 1 max: 2260 x̄: 251.05 x̃: 77
HURT stats (rel) min: <.01% max: 5.31% x̄: 0.24% x̃: 0.06%
95% mean confidence interval for cycles value: -45.01 54.90
95% mean confidence interval for cycles %-change: -0.07% 0.05%
Inconclusive result (value mean confidence interval includes 0).
total spills in shared programs: 9941 -> 9943 (0.02%)
spills in affected programs: 26 -> 28 (7.69%)
helped: 0
HURT: 1
total fills in shared programs: 10293 -> 10268 (-0.24%)
fills in affected programs: 2391 -> 2366 (-1.05%)
helped: 27
HURT: 1
Broadwell
total instructions in shared programs: 17463211 -> 17462366 (<.01%)
instructions in affected programs: 861444 -> 860599 (-0.10%)
helped: 399
HURT: 1
helped stats (abs) min: 1 max: 20 x̄: 2.14 x̃: 2
helped stats (rel) min: 0.03% max: 4.46% x̄: 0.14% x̃: 0.09%
HURT stats (abs) min: 7 max: 7 x̄: 7.00 x̃: 7
HURT stats (rel) min: 0.33% max: 0.33% x̄: 0.33% x̃: 0.33%
95% mean confidence interval for instructions value: -2.26 -1.97
95% mean confidence interval for instructions %-change: -0.17% -0.10%
Instructions are helped.
total cycles in shared programs: 507048912 -> 506898243 (-0.03%)
cycles in affected programs: 79806433 -> 79655764 (-0.19%)
helped: 248
HURT: 136
helped stats (abs) min: 1 max: 8450 x̄: 1124.18 x̃: 64
helped stats (rel) min: <.01% max: 5.91% x̄: 0.83% x̃: 0.05%
HURT stats (abs) min: 2 max: 7632 x̄: 942.12 x̃: 103
HURT stats (rel) min: <.01% max: 5.62% x̄: 0.71% x̃: 0.08%
95% mean confidence interval for cycles value: -647.01 -137.73
95% mean confidence interval for cycles %-change: -0.47% -0.10%
Cycles are helped.
total spills in shared programs: 22996 -> 22998 (<.01%)
spills in affected programs: 31 -> 33 (6.45%)
helped: 0
HURT: 1
total fills in shared programs: 25951 -> 25923 (-0.11%)
fills in affected programs: 2444 -> 2416 (-1.15%)
helped: 29
HURT: 1
Haswell
total instructions in shared programs: 15841325 -> 15840554 (<.01%)
instructions in affected programs: 869679 -> 868908 (-0.09%)
helped: 394
HURT: 6
helped stats (abs) min: 1 max: 20 x̄: 2.15 x̃: 2
helped stats (rel) min: 0.06% max: 4.46% x̄: 0.14% x̃: 0.09%
HURT stats (abs) min: 7 max: 18 x̄: 12.83 x̃: 13
HURT stats (rel) min: 0.32% max: 0.82% x̄: 0.59% x̃: 0.61%
95% mean confidence interval for instructions value: -2.16 -1.69
95% mean confidence interval for instructions %-change: -0.16% -0.09%
Instructions are helped.
total cycles in shared programs: 520417167 -> 520279766 (-0.03%)
cycles in affected programs: 80949963 -> 80812562 (-0.17%)
helped: 246
HURT: 139
helped stats (abs) min: 1 max: 8152 x̄: 790.08 x̃: 129
helped stats (rel) min: <.01% max: 11.46% x̄: 0.70% x̃: 0.09%
HURT stats (abs) min: 1 max: 7085 x̄: 409.78 x̃: 80
HURT stats (rel) min: <.01% max: 5.25% x̄: 0.31% x̃: 0.06%
95% mean confidence interval for cycles value: -526.34 -187.43
95% mean confidence interval for cycles %-change: -0.49% -0.18%
Cycles are helped.
total spills in shared programs: 21714 -> 21729 (0.07%)
spills in affected programs: 174 -> 189 (8.62%)
helped: 0
HURT: 6
total fills in shared programs: 22136 -> 22132 (-0.02%)
fills in affected programs: 2848 -> 2844 (-0.14%)
helped: 31
HURT: 6
Ivy Bridge
total instructions in shared programs: 15177059 -> 15177003 (<.01%)
instructions in affected programs: 79370 -> 79314 (-0.07%)
helped: 29
HURT: 0
helped stats (abs) min: 1 max: 2 x̄: 1.93 x̃: 2
helped stats (rel) min: 0.06% max: 0.16% x̄: 0.08% x̃: 0.07%
95% mean confidence interval for instructions value: -2.03 -1.83
95% mean confidence interval for instructions %-change: -0.09% -0.07%
Instructions are helped.
total cycles in shared programs: 420424359 -> 420417254 (<.01%)
cycles in affected programs: 29562648 -> 29555543 (-0.02%)
helped: 23
HURT: 6
helped stats (abs) min: 2 max: 2741 x̄: 432.57 x̃: 142
helped stats (rel) min: <.01% max: 0.26% x̄: 0.04% x̃: 0.02%
HURT stats (abs) min: 4 max: 1184 x̄: 474.00 x̃: 226
HURT stats (rel) min: <.01% max: 0.11% x̄: 0.05% x̃: 0.05%
95% mean confidence interval for cycles value: -553.48 63.48
95% mean confidence interval for cycles %-change: -0.05% <.01%
Inconclusive result (value mean confidence interval includes 0).
total fills in shared programs: 6420 -> 6393 (-0.42%)
fills in affected programs: 1901 -> 1874 (-1.42%)
helped: 27
HURT: 0
No changes on any earlier Intel platforms.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4156 >
2020-05-07 10:55:50 -07:00
Jan Zielinski
58dfb38f78
gallium/swr: Fix crashes in sampling code
...
Add missing functions used by the new
sampling code in llvmpipe (num_samples and
sample_stride)
Reviewed-by: Krzysztof Raszkowski <krzysztof.raszkowski@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4947 >
2020-05-07 17:31:21 +00:00
Tomeu Vizoso
58b66f82e6
panfrost: Handle MALI_RGB8_UNORM in panfrost_format_to_bifrost_blend
...
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4944 >
2020-05-07 17:16:53 +00:00
Tomeu Vizoso
9c3e82296c
panfrost: Don't trample on top of Bifrost-specific unions
...
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4944 >
2020-05-07 17:16:53 +00:00
Alyssa Rosenzweig
7e53cce3ba
pan/decode: Fix flags_hi printing
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4944 >
2020-05-07 17:16:52 +00:00
Tomeu Vizoso
a4d41a1510
panfrost: Add checksum BOs to batch
...
So they don't get released before the last frame finishes rendering.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4944 >
2020-05-07 17:16:52 +00:00
Lionel Landwerlin
4f17e9eef6
anv: don't expose VK_INTEL_performance_query without kernel support
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 2b5f30b1d9 ("anv: implement VK_INTEL_performance_query")
Acked-by: Timothy Strelchun <timothy.strelchun@intel.com >
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4937 >
2020-05-07 16:42:44 +00:00
Connor Abbott
6d513eb0db
tu: Support pipelines without a fragment shader
...
Apparently this is allowed, and the CTS started doing this more often
recently which resulted in frequent hangs running the entire CTS. I
copied the code to create an empty FS from radv.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4928 >
2020-05-07 16:05:53 +00:00
Erik Faye-Lund
7ba2333cc1
util/os_memory: never use os_memory_debug.h
...
This is currently broken hard, because this code is being used in more
places that it used to be, and fixing that is prohibitively hard right
now.
This is far from ideal, as it leaves the same inconsistency in the
EMBEDDED_DEVICE code-path. But that only used by VMWare, so it's
probably better if they fix it, as they know their requirements better
than we do.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2911
Fixes: 76f79db3f5 ("util: stop including files from mesa/main")
Acked-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4919 >
2020-05-07 13:34:30 +00:00
Jose Maria Casanova Crespo
905edc376d
v3d: Include supported DXT formats to enable s3tc/dxt extensions
...
DXT1_RGBA and sRGB variants of DXT[135] formats are enabled as
valid format on V3D.
Once all S3TC formats supported by V3C are enabled the following
extensions become exposed by gallium.
* GL_ANGLE_texture_compression_dxt3
* GL_ANGLE_texture_compression_dxt5,
* GL_EXT_texture_compression_dxt1
* GL_EXT_texture_compression_s3tc
* GL_S3_s3tc
* GL_EXT_texture_compression_s3tc_srgb
This enables 206 passing piglit test related to gl_compressed.*s3tc_dxt
Cc: 20.0 20.1 <mesa-stable@lists.freedesktop.org >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4934 >
2020-05-07 14:03:34 +02:00
Jose Maria Casanova Crespo
e3ecf48dda
v3d: Fix swizzle in DXT3 and DXT5 formats
...
Swizzles were ignoring the W component of the format DXT3_RGBA and
DXT5_RGBA.
This fixes 15 piglit tests:
spec/!opengl 1.1/copyteximage 2d
spec/!opengl 1.2/copyteximage 3d
spec/arb_texture_compression/fbo-generatemipmap-formats/gl_compressed_rgba
spec/arb_texture_compression/fbo-generatemipmap-formats/gl_compressed_rgba npot
spec/arb_texture_compression/texwrap formats bordercolor-swizzled/gl_compressed_rgba, swizzled, border color only
spec/arb_texture_compression/texwrap formats bordercolor/gl_compressed_rgba, border color only
spec/arb_texture_cube_map/copyteximage cube
spec/arb_texture_cube_map/copyteximage cube samples=2
spec/arb_texture_cube_map/copyteximage cube samples=4
spec/arb_texture_rectangle/copyteximage rect
spec/arb_texture_rectangle/copyteximage rect samples=2
spec/arb_texture_rectangle/copyteximage rect samples=4
spec/ext_texture_array/copyteximage 2d_array
spec/ext_texture_array/copyteximage 2d_array samples=2
spec/ext_texture_array/copyteximage 2d_array samples=4
Fixes: 469bbd8387 "broadcom/vc5: Move the formats table to per-V3D-version compile."
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4934 >
2020-05-07 14:03:34 +02:00
Rhys Perry
17ed4a01ee
docs/envvars: update RADV_FORCE_FAMILY
...
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/4907 >
2020-05-07 11:32:06 +00:00
Rhys Perry
5c6afd0f34
docs/envvars: document ACO_DEBUG
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4907 >
2020-05-07 11:32:06 +00:00
Rhys Perry
1aaec1f3f4
docs: add src/amd/ to sourcetree.html
...
This file doesn't seem to have been updated in years but this was pretty
easy to do.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4907 >
2020-05-07 11:32:06 +00:00
Pierre Moreau
38bbfd3a57
clover/nir: Check the result of spirv_to_nir
...
Fixes: deb04adf2a ("clover: add support for passing kernels as nir to the driver")
Signed-off-by: Pierre Moreau <dev@pmoreau.org >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4901 >
2020-05-07 11:05:04 +00:00
Rhys Perry
abc4a82857
nir: make fsat return 0.0 with NaN instead of passing it through
...
This is how lower_fsat and ACO implements fsat and is a more useful
definition since it can be exactly created from fmin(fmax(a, 0.0), 1.0).
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3716 >
2020-05-07 10:39:19 +00:00
Rhys Perry
d8a27c0bb3
compiler/spirv: flag nclamp/nmin/nmax as exact
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3716 >
2020-05-07 10:39:19 +00:00
Elie Tournier
9a11aa4ece
docs/features: Add ARB_clear_texture to virgl
...
Signed-off-by: Elie Tournier <elie.tournier@collabora.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4345 >
2020-05-07 10:21:50 +00:00
Elie Tournier
2e6bbab9ae
virgl: Enable CAP_CLEAR_TEXTURE if host supports it
...
Signed-off-by: Elie Tournier <elie.tournier@collabora.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4345 >
2020-05-07 10:21:50 +00:00
Elie Tournier
e705a2a9f4
virgl: implement ARB_clear_texture
...
Signed-off-by: Elie Tournier <elie.tournier@collabora.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4345 >
2020-05-07 10:21:50 +00:00
Gert Wollny
a6321c4b5a
r600: Fix warning regarding mixing enums and unsigned in ?: expression
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4939 >
2020-05-07 11:01:02 +02:00
Gert Wollny
5469fcea75
r600: remove some unused variables to silence warnings
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4939 >
2020-05-07 11:00:54 +02:00
Gert Wollny
79f20eb819
r600/sb: replace memset by using member initialization/assignment
...
Closes #2860
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4939 >
2020-05-07 11:00:51 +02:00
Gert Wollny
ee3f4ab2f4
r600: remove unused static functions
...
Related #2860
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4939 >
2020-05-07 11:00:47 +02:00
Gert Wollny
9a244778f7
r600: Annotate some case fallthroughs
...
Also fix indentions where aproprate
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4939 >
2020-05-07 11:00:26 +02:00
Samuel Pitoiset
f9dbca8db5
ci: run radv-fossils with Pitcairn (GFX6) and Bonaire (GFX7) too
...
This job is really small and it shouldn't hurt to cover two more
generations. This will prevent breaking the world on GFX6-GFX7
because we don't regularly test these chips.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4873 >
2020-05-07 09:24:24 +02:00
Samuel Pitoiset
a44cfac502
ci: set ACO_DEBUG=validateir,validatera global for RADV testing
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4873 >
2020-05-07 09:24:17 +02:00
Samuel Pitoiset
5dbf862b13
ci: remove unused .test-radv-fossilize rule
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4873 >
2020-05-07 09:24:14 +02:00
Arcady Goldmints-Orlov
a0de2e0090
anv: increase minUniformBufferOffsetAlignment to 64
...
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4904 >
2020-05-06 19:45:01 -05:00
Rob Clark
e8cdf12511
freedreno/a6xx: enable tiled compressed textures
...
I wasn't expecting this to be too useful, since compressed textures are
already block based.. but gfxbench gl_fill says otherwise.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4868 >
2020-05-06 17:11:34 -07:00
Rob Clark
193560c44b
freedreno/a6xx: compressed blit fixes
...
width/height are not necessarily aligned to block boundaries, so we need
to round up.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4868 >
2020-05-06 17:11:34 -07:00
Kristian H. Kristensen
85f2cd84ac
freedreno/a6xx: Set tfetch correctly for compressed formats
...
The fetchsize is just the blocksize for compressed formats, which gets
rid of the ASTC special cases add handles ETC1/2 as well.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4868 >
2020-05-06 17:11:34 -07:00
Kristian H. Kristensen
a34b3fa198
freedreno/fdl: Align after dividing by block size
...
For compressed formats, we need to align the number of blocks, not the
logical number of pixels in the texture. Only compressed formats have
block width/height > 1, so we can just unconditionally multiply the
alignment by the block width/height.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4868 >
2020-05-06 17:11:34 -07:00
Eric Engestrom
6292059662
docs: update calendar for 20.1.0-rc2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4927 >
2020-05-06 21:54:47 +00:00
Eric Anholt
2637961d29
ci: Fix the nick used in IRC reporting.
...
robclark found that we needed unique IDs when multiple runners were trying
to report flakes at the same time, but it turns out due to nick limits (16
chars on freenode) we were just getting all the runners appended with
"-142" (or whatever the prefix of the pipelines are these days). And, for
the new flake reporting from baremetal, all the runners ended up being
just "google-freedreno".
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4896 >
2020-05-06 18:34:38 +00:00
Eric Anholt
2c50176dfe
ci: Improve the flakes reports on IRC.
...
We were incorrectly taking the merge-request on non-MR pipelines (the
master build after merge) due to a missing '$'. And, for those pipelines,
it would be nice to note whether they're for master or a stable branch.
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4896 >
2020-05-06 18:34:38 +00:00
Eric Anholt
3b5e71cb18
ci: Enable IRC flake reporting on freedreno baremetal boards.
...
The IRC channel is useful for me to track and ban flaky tests before they
irritate people too much.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2654
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4896 >
2020-05-06 18:34:38 +00:00
Eric Anholt
c7bbc211d6
ci: Clean up setup of the job-specific env vars in baremetal testing.
...
Avoids copy and paste errors when adding more vars.
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4896 >
2020-05-06 18:34:38 +00:00
Marek Olšák
29da521280
radeonsi: fix compilation of monolithic PS
...
This was totally broken. Monolithic PS is only used if FBFETCH or
interpolateAtSample are used.
When the PS prolog was built, it overwrote ctx->main_fn.
Discovered by @eefano.
Fixes: 8832a88434 "radeonsi: move PS LLVM code into si_shader_llvm_ps.c"
Closes : #2814
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4918 >
2020-05-06 17:02:23 +00:00
Marek Olšák
d5109741f3
tgsi_to_nir: translate non-vec4 image stores correctly
...
set the correct number of components for src data and the intrinsic
Reviewed-by: Rob Clark <robdclark@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4908 >
2020-05-06 16:39:07 +00:00
Danylo Piliaiev
784358bd6e
i965: Fix out-of-bounds access to brw_stage_state::surf_offset
...
../src/mesa/drivers/dri/i965/brw_wm_surface_state.c:1378:32: runtime error: index 3503345872 out of bounds for type 'uint32_t [149]'
brw_assign_common_binding_table_offsets has the following comment:
"Unused groups are initialized to 0xd0d0d0d0 to make it obvious that they're
unused but also make sure that addition of small offsets to them will
trigger some of our asserts that surface indices are < BRW_MAX_SURFACES."
Cc: <mesa-stable@lists.freedesktop.org >
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4350 >
2020-05-06 16:09:20 +00:00
Erik Faye-Lund
7f6a491eec
zink: lower b2b to b2i
...
Zink requires 1-bit booleans, but this requirement was missed before
b2b1s started getting automatically inserted. Let's lower these away, to
avoid piglit regressions.
Fixes the following piglits:
- shaders@glsl-vs-if-bool
- spec@!opengl 2.0@vertex-program-two-side
Fixes: c217ee8d35 ("nir: Insert b2b1s around booleans in nir_lower_to")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2902
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4903 >
2020-05-06 09:20:27 +00:00
Samuel Pitoiset
f457e1b6d5
radv/winsys: do not count visible VRAM buffers twice in the budget
...
The VRAM size returned to apps is computed as follows:
vram_size = real_hw_vram_size - visible_vram_size.
Visible VRAM buffers should be counted only in the visible VRAM
counter and not twice. Buffers with the NO_CPU_ACCESS flag are
known to not be mappable, so they are counted in the VRAM counter.
Other buffers, with the CPU_ACCESS flag, or without any of both
(imported buffers) are counted in the visible VRAM counter because
they are mappable.
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/4834 >
2020-05-06 06:58:24 +00:00
Samuel Pitoiset
f3e37f5d26
radv: display an error message if the winsys init failed
...
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/4806 >
2020-05-06 06:44:21 +00:00
Samuel Pitoiset
701f2c3dfc
radv: use a linked list for physical devices
...
Instead of a static array inside the instance object.
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/4806 >
2020-05-06 06:44:21 +00:00
Samuel Pitoiset
8d993c9d2c
radv: don't report error with other vendor DRM devices
...
Enumeration should just skip unsupported DRM devices.
Cc: <mesa-stable@lists.freedesktop.org >
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/4806 >
2020-05-06 06:44:21 +00:00
Samuel Pitoiset
f03abd5041
radv: report INITIALIZATION_FAILED when the amdgpu winsys init failed
...
The driver should be capable if it reaches the winsys initialization.
Cc: <mesa-stable@lists.freedesktop.org >
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/4806 >
2020-05-06 06:44:21 +00:00
Samuel Pitoiset
9c62e63aca
radv: fix a memleak if the physical device initialization failed
...
The disk cache object should be freed.
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/4806 >
2020-05-06 06:44:20 +00:00
Samuel Pitoiset
b867a677e9
radv: rename radv_devices() to radv_enumerate_physical_devices()
...
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/4806 >
2020-05-06 06:44:20 +00:00
Samuel Pitoiset
c504328741
radv: cleanup radv_CreateInstance()
...
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/4806 >
2020-05-06 06:44:20 +00:00
Dave Airlie
dab8803af4
llvmpipe: enable ARB_sample_shading
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:38 +00:00
Dave Airlie
8a83db4204
llvmpipe: add min samples support to the fragment shader.
...
This isn't enabled yet until the state gets hooked up
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:38 +00:00
Dave Airlie
d237e03a16
llvmpipe: enable GL_ARB_shader_texture_image_samples
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:38 +00:00
Dave Airlie
f036643772
gallivm/nir: hooks up texture samples queries
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:38 +00:00
Dave Airlie
8d09d62137
gallivm/sample: add num samples query for txqs (v2)
...
v2: add false to the existing users (Roland)
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:38 +00:00
Dave Airlie
3cc50cabf1
llvmpipe: enable 4x sample MSAA + texture multisample
...
This enables proper support for 4xMSAA and for texture mulitsample
extension.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:38 +00:00
Dave Airlie
94c4577331
drisw: add multisample support to sw dri layer.
...
This allocates the msaa resources like the dri2 layer
and adds the flushes
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:38 +00:00
Dave Airlie
7898978377
llvmpipe: don't choose pixel centers for multisample
...
Don't pick the pixel centers for multisample rendering, fix
the setup program.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:38 +00:00
Dave Airlie
8297513aa9
llvmpipe: choose correct position for multisample
...
For multisample we don't want pixel centers at this stage,
so don't add them in for that case.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:38 +00:00
Dave Airlie
b72f504e99
llvmpipe: choose multisample rasterizer functions per triangle (v2)
...
This just picks the correct cmds to add to the scene.
v2: drop using 32-bit ms (Roland)
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:38 +00:00
Dave Airlie
26cc01cefd
llvmpipe: generate multisample triangle rasterizer functions (v2)
...
This uses the templating to generate multisample version of the
tri plane raster functions
This doesn't generate any optimised version for lower plane numbers,
maybe this is worth doing in the future.
v2: drop generating 32-bit msaa (Roland)
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:38 +00:00
Dave Airlie
8611a6b34b
llvmpipe: fixup multisample coverage masks for covered tiles
...
For fully covered tiles just pass in the filled out mask.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:38 +00:00
Dave Airlie
2d13591ba4
llvmpipe: build 64-bit coverage mask in rasterizer
...
This adds the logic to build the per-sample masks at the lowest
level of the rasterizer block hierarchy
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:38 +00:00
Dave Airlie
88851c4798
llvmpipe: add fixed point sample positions to scene.
...
These will be used in the rasterizer to generate the coverage masks
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:38 +00:00
Dave Airlie
78b7f22838
llvmpipe: add new rast api to pass full 64-bit mask.
...
The 64-bit mask is a 16-bit mask per sample for up to 4 samples.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:38 +00:00
Dave Airlie
c638a59fa8
llvmpipe: disable opaque variant for multisample
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:38 +00:00
Dave Airlie
c5021ebb15
llvmpipe: fix multisample occlusion queries.
...
This needs to check the per-sample mask inside the loop if
multisample is enabled.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:38 +00:00
Dave Airlie
335938cffd
llvmpipe: move color storing earlier in frag shader
...
Move the color storage before the late Z test as for sample
shading it needs to be inside a loop with the fragment shader.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:38 +00:00
Dave Airlie
acba9a93ef
llvmpipe: pass mask store into interp for centroid interpolation
...
This enables centroid interpolation to work, using the current
coverage masks.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:38 +00:00
Dave Airlie
367332b0fc
llvmpipe: don't allow branch to end for early Z with multisample
...
Don't allow the branching optimisation with multisample enabled
as we have to check all samples.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:38 +00:00
Dave Airlie
d9276ae965
llvmpipe: handle gl_SampleMask writing.
...
This is using a load/store to make it easier to add sample shading later.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:38 +00:00
Dave Airlie
69009949e0
llvmpipe: add multisample alpha to one support
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
66a92e5d92
llvmpipe: add multisample alpha to coverage support.
...
Converts alpha into coverage mask.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
38e81938b6
llvmpipe: hook up sample position system value
...
This creates a global static with the current sample positions,
and passes it to the fragment shader which uses it for interpolation
and sample position support.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
210d714f46
llvmpipe: handle multisample color stores.
...
Extract the final per-sample masks and store to the multisample
color buffers using them.
This retypes the pointer to a uint8_t at entry to make the
GEP simpler, then recasts to the blend type.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
102558912b
llvmpipe: interpolate Z at sample points for early depth test.
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
a0195240c4
llvmpipe: handle multisample early depth test/late depth write
...
A set of values have to be passed from the early depth test to the
late depth write, when multisampling is enabled, a range of those
values have to be stored between stages, so create storage for them
and pass the values through the storage.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
9f8c7e232e
llvmpipe: multisample sample mask + early/late depth pass
...
Start adding support for multisample masks and the depth passes
The depth passes have to run per-sample, this isn't complete support
it adds the loops, and handles the execution masks.
One mask is stored per sample, they are combined post the early Z
pass into a single shader execution mask, and then the resulting
shader execution mask is anded back in for the late Z pass.
Init the vars to NULL to avoid gcc warnings
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
f12dac5e10
llvmpipe: move some fs code around
...
this just moves the num_fs loop around for follow on refactors
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
5e949b16c1
llvmpipe: add per-sample depth/stencil test
...
The current depth stencil test code has some optimisations using
the mask when there is only one depth value, multisample requires
per-sample zstencil testing, and for that case just pass in the
mask that needs updating.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
d297f2ecf1
llvmpipe: move getting mask value out of depth code. (v2)
...
In order to add per-sample support to this code, the mask
value is needed not the value from the exec mask.
v2: update comment
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
18fd62a26e
llvmpipe: add per-sample interpolation.
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
8154bdf25b
llvmpipe: add centroid interpolation support.
...
This just adds the implementation and API to the interpolation builders.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
5697b9c00c
llvmpipe: pass interp location into interpolation code.
...
This just tracks the attribute interpolation location into the
interp code.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
339a3a4dea
nir/tgsi: translate the interp location
...
translate sample and centroid locations.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
28cc2ed79c
gallivm: add mask api to force mask
...
For per-sample shading the mask needs to be forced for each
iteration of the fragment shader.
Just adds the API for now.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
d89499063b
gallivm: add sample id/pos intrinsic support
...
The sample position is looked up in an incoming array using the
sample id.
(These are mostly for ARB_sample_shading support)
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
455c8e3584
llvmpipe: add cbuf/zsbuf + coverage samples to the fragment shader key.
...
These will cause different fragment shaders to be generated.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
d2f488684a
llvmpipe: change mask input to fragment shader to 64-bit.
...
In order to handle a 4xMSAA mask (16-bits per sample) increase
the fragment shader API to be 64-bit.
v2: drop pointless if (Roland)
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
67ec1760ee
llvmpipe: add multisample bit to fragment shader key.
...
The fragment shader needs to be regenerated when multisample changes.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
f5463576b9
llvmpipe: plumb multisample state bit into setup code.
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
e47d39aee1
llvmpipe/rast: fix tile clearing for multisample color and depth tiles
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
01e9779c00
llvmpipe: record sample info for color/depth buffers in scene
...
This adds the nr_samples + sample_stride to the scene records
for cbufs and zsbuf.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
a30db60ede
llvmpipe: pass color and depth sample strides into fragment shader.
...
This just adds the interface and passes the depth and sample strides
into the fragment shader, nothing uses them yet.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
24cf7a2b36
draw: disable point/line smoothing for multisample (v2)
...
When MSAA is enabled smoothing is ignored
v2: As pointed out by Roland I got this completely wrong,
fix this to work the other way
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
4c72bb4a96
llvmpipe: handle multisample render target clears
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
782271c0e1
llvmpipe: add clear texture support for multisample textures.
...
This adds the clear paths for multisample textures.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
c8740cbf01
llvmpipe: add multisample resource copy region support.
...
This allows direct copies of all samples between two resources.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
178df06821
llvmpipe: add internal multisample texture mapping path.
...
For clearing and copying textures llvmpipe needs to internally
access the per-sample data.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
cab13f9174
llvmpipe: pass incoming sample_mask into fragment shader context.
...
This links up the api changing the sample mask to passing it into
the fragment shader.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
c070af8511
llvmpipe/jit: pass fragment sample mask via jit context.
...
The incoming sample mask for the fragment shader can be passed
via the jit context
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
0a6150251a
llvmpipe: add get_sample_position support (v2)
...
This just adds the sample values for 4xmsaa, and hooks them
up to the get_sample_position API
v2: move to vulkan standard sample positions
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
f6383673c9
llvmpipe: fix race between draw and setting fragment shader.
...
There is a race with u_blitter shaders + pipeline shaders (aaline/aapoint)
where the draw bind can cause a pipeline flush which can use bind_fs_state to
be reenters and llvmpipe->fs gets the wrong value. Fix this by only
setting the llvmpipe->fs value after the draw binding is complete.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
6befeb6607
gallium/util: split out zstencil clearing code.
...
llvmpipe will want to reuse this for it's multisample clears.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
bcbe5b3d26
llvmpipe: add a max samples define set to 4.
...
I doubt I'll care about much higher MSAA levels, so 4 it is.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
1b02eb1a4c
llvmpipe: add multisample support to texture allocator.
...
This adds a sample stride field and allocates enough memory for
each sample storage. Hook up the sample_stride field to draw
and jit textures and images
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
339aec7241
util: add a resource wrapper to get resource samples
...
This return 1 as a baseline and should be used in allocator paths.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
1970390026
llvmpipe: add samples support to image jit
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
2e5cddacf7
llvmpipe: add num_samples/sample_stride support to jit textures
...
This adds the support for num_samples/sample_stride retrieval to the
jit texture infrastructure.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
bc3641d616
draw: add support for num_samples + sample_stride to the image paths
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
026bf26599
draw: introduce sampler num samples + stride members
...
This adds the num samples + sampler stride into the texture mapping paths,
currently drivers just pass 0 for now.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
609a3bea16
gallivm/nir: add multisample image operations
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
be8a10e265
gallivm/nir: add multisample support to image size
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
ae95a08b9c
gallivm/nir/tgsi: add multisample texture sampling.
...
Both paths are required as u_blitter needs the TGSI path.
This just hooks the instructions up to the sampling code.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
eb5919d9d8
gallivm/sample: add multisample image operation support
...
Just adds in the sample stride.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Dave Airlie
c2545c9b15
gallivm/sample: add multisample support for texel fetch
...
This adds a new callback to get the stride between the per-sample
images, adds a new value for the per-sample index to lookup,
and a flag to use multisampling.
gallivm/sample: add num samples interface for dynamic samplers
This will be used for getting number of samples in jit code.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122 >
2020-05-06 06:20:37 +00:00
Tomeu Vizoso
b6a20804ad
virgl: Properly check for encode_stride when encoding transfers
...
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alexandros Frantzis <alexandros.frantzis@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4763 >
2020-05-06 08:04:58 +02:00
Dave Airlie
99fce3a6d7
llvmpipe: simple texture barrier implementation.
...
Just flush.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4774 >
2020-05-06 15:09:42 +10:00
Dave Airlie
870b6a6050
llvmpipo/nir: free compute shader NIR
...
I forgot this in the last round.
Fixes: 18f896e55d (llvmpipe: add initial nir support)
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4899 >
2020-05-06 05:11:19 +10:00
Dave Airlie
d1ad1be35a
draw/tess: free tessellation control shader i/o memory.
...
Fixes: 0d02a7b8ca (draw: add main tessellation code)
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4899 >
2020-05-06 05:11:07 +10:00
Rhys Perry
a46aa3dc2e
nir: add missing group_memory_barrier handling
...
Totals from 2 (0.00% of 127638) affected shaders:
VGPRs: 164 -> 168 (+2.44%)
CodeSize: 18420 -> 18756 (+1.82%)
Instrs: 3658 -> 3700 (+1.15%)
Cycles: 82912 -> 83080 (+0.20%)
VMEM: 70 -> 69 (-1.43%)
PreVGPRs: 155 -> 168 (+8.39%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
CC: <mesa-stable@lists.freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4889 >
2020-05-05 18:34:02 +00:00
Eric Anholt
9a6bbf4c80
freedreno/ir3: Disable sin/cos range reduction for mediump.
...
robclark noted that the blob wasn't doing range reduction in the mediump
case, and I confirmed it on
dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sin.mediump_float_fragment
vs
dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sin.highp_float_fragment.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4893 >
2020-05-05 17:23:34 +00:00
Axel Davy
aac964af4a
st/nine: Set correctly blend max_rt
...
Currently nine_convert_blend_state has no way
of knowing the number of rts.
For now set to an upper bound.
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Rob Clark <robdclark@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4891 >
2020-05-05 16:45:06 +00:00
Marek Olšák
0d83e7f4b9
radeonsi: enable TC-compatible HTILE on demand for best Z/S performance
...
I haven't measured this, but it can only help.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4866 >
2020-05-05 16:27:29 +00:00
Marek Olšák
39571d384e
radeonsi: allow tc_compatible_htile to be mutable
...
Move the relevant code from si_init_depth_surface to
si_emit_framebuffer_state, so that it can be changed after a pipe_surface
is initialized.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4866 >
2020-05-05 16:27:29 +00:00
Marek Olšák
04085bedc2
radeonsi/gfx9: always use IMG_DATA_FORMAT_S8_32 for 8-bit stencil
...
I wanna remove dependency on tc_compatible_htile from non-dynamic states.
This should be the same as 8_UINT if HTILE is disabled.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4866 >
2020-05-05 16:27:29 +00:00
Marek Olšák
345b8aed5c
ac/surface: unset RADEON_SURF_TC_COMPATIBLE_HTILE if HTILE hasn't been computed
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4866 >
2020-05-05 16:27:29 +00:00
Marek Olšák
266fec1307
radeonsi: don't wait for idle at the end of gfx IBs
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4894 >
2020-05-05 11:52:21 -04:00
Pierre-Eric Pelloux-Prayer
ae4379d81e
ac/nir: export some undef as zero
...
NIR already optimizes undef usage.
If undef reaches llvm, it's probably because of a broken shader.
In this situation, rather than letting llvm use the undef values
to do more optimization and probably produce incorrect results,
we replace undef values by 0.
"undef" values that are directly used in exports are kept as undef,
because this allows llvm to optimize them away.
This is only enabled for radeonsi.
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2689
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4607 >
2020-05-05 12:26:26 +02:00
Pierre-Eric Pelloux-Prayer
0ee1a724bf
gallium: add a new cap PIPE_CAP_GLSL_ZERO_INIT
...
Allows driver to select a zero init mode between the 3 possible values.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4607 >
2020-05-05 12:26:02 +02:00
Pierre-Eric Pelloux-Prayer
ea289d1502
mesa: extend GLSLZeroInit semantics
...
This commit introduces a new way to zero-init variables but keep the
old one to not break any existing behavior.
With this change GLSLZeroInit becomes an integer, with the following
possible values:
- 0: no 0 init
- 1: current behavior
- 2: new behavior. Similar to 1, except ir_var_function_out type are
0 initialized but ir_var_shader_out.
The rationale behind 2 is: zero initializing ir_var_shader_out can
prevent some optimization where out variables are completely eliminated
when not written to.
On the other hand, zero initializing "ir_var_function_out" has no
effect on correct shaders but typically helps shadertoy since the main
function is:
void mainImage(out vec4 fragColor) { ... }
So with this change we're sure that fragColor will always get a value.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4607 >
2020-05-05 12:26:02 +02:00
Pierre-Eric Pelloux-Prayer
679421628b
glsl: add a is_implicit_initializer flag
...
Shared globals and glsl_zero_init can cause linker errors if the
variable is only initialized in 1 place.
This commit adds a flag to variables that have been implicitely
initialized to be able in this situation to keep the explicit
initialization value.
Without this change the global-single-initializer-2-shaders piglit
test fails when using glsl_zero_init.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4607 >
2020-05-05 12:26:02 +02:00
Pierre-Eric Pelloux-Prayer
fa6b22d36a
glsl: rework zero initialization
...
This commit makes zero_init a bitfield of types of variables to zeroinit.
This will allow some flexibility that will be used in the next commit.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4607 >
2020-05-05 12:26:02 +02:00
Pierre-Eric Pelloux-Prayer
84f58a0863
glsl: init gl_FragColor if zero_init=true
...
This fixes shaders doing "gl_FragColor += ..." and doesn't hurt correct
shaders, because the zero init is discarded.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4607 >
2020-05-05 12:26:02 +02:00
Pierre-Eric Pelloux-Prayer
547e81655a
radeonsi: don't print gs_copy_shader stats for shaderdb
...
Fixes: dbc86fa3de ("radeonsi: dump shader stats when hitting the live cache")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4607 >
2020-05-05 12:26:02 +02:00
Samuel Pitoiset
b0a7499d28
radv: enable shaderInt16 unconditionally with LLVM and only GFX8+ with ACO
...
The Vulkan spec says:
"shaderInt16 specifies whether 16-bit integers (signed and unsigned)
are supported in shader code. If this feature is not enabled, 16-bit
integer types must not be used in shader code."
I think it's just safe to enable it because 16-bit integers should
be fully supported with LLVM and also with ACO and GFX8+. On GFX8
and earlier generations, throughput of 16-bit int is same as 32-bit
but that should't change anything.
For GFX6-GFX7 ACO support, we have to implement conversions without
SDWA.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4874 >
2020-05-05 10:04:36 +00:00
Pierre-Eric Pelloux-Prayer
64662dd5ba
radeonsi: add workaround for issue 2647
...
For unknown reasons pixel shaders in KSP game get executed with
infinite interpolation coefficients and this causes an infinite
loop in the shader.
This commit adds a hacky workaround that kills pixel shaders if
invalid interp coeffs are detected and enables it for KSP.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2174
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2647
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4700 >
2020-05-05 09:41:14 +00:00
Erik Faye-Lund
7983d97174
zink: use nir_lower_uniforms_to_ubo
...
Instead of open-coding uniform -> UBO lowering, let's instead use the
one that already exists. This should make things a bit simpler going
forward.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4734 >
2020-05-05 09:17:52 +00:00
Louis-Francis Ratté-Boulianne
4777ee1a62
nir: Always create UBO variable when lowering uniforms to ubo
...
Zink needs to know the sizes of UBOs, and for normal UBOs we get this
from the nir_var_mem_ubo variables. This allows us to treat all of these
the same way.
We're about to need the same information for the in-progress D3D12
driver, so let's do this in a central location instead of in the driver.
This version is also a bit more careful than the Zink version. In
particular, for two reasons:
1. We increase the variable bindings when we adjust the pre-existing
UBOs.
2. We increase shader->info.num_ubos when we insert a new UBO variable.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4734 >
2020-05-05 09:17:51 +00:00
Erik Faye-Lund
354474b9e5
mesa/st: consider NumUniformBlocks instead of num_ubos when binding
...
This is the number of uniform blocks at linking time, not after
finalizing shaders.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4734 >
2020-05-05 09:17:51 +00:00
Erik Faye-Lund
8471f7a5fa
compiler/glsl: explicitly store NumUniformBlocks
...
It's not great to use shader_info for this information, because it
might have gone through lowering of uniforms to UBOs, which can change
the number of UBOs. So let's make sure we know the size of the
UniformBlocks array from when the shader was linked instead.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4734 >
2020-05-05 09:17:51 +00:00
Danylo Piliaiev
8059f206da
glsl: rename has_implicit_uint_to_int_conversion to *_int_to_uint_*
...
There is no uint to int implicit conversion in glsl, this is just
a typo in the name of this function. The correct one would be:
has_implicit_int_to_uint_conversion.
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4884 >
2020-05-05 08:18:14 +00:00
Pierre-Eric Pelloux-Prayer
403eb507f5
driconf: add force_integer_tex_nearest option
...
And enable it for "GRID Autosport" and "DIRT: Showdown" games.
CC: 20.1 <mesa-stable@lists.freedesktop.org >
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1258
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4647 >
2020-05-05 09:40:29 +02:00
Pierre-Eric Pelloux-Prayer
12fb7d7008
mesa: add gl_coontext::ForceIntegerTexNearest
...
Some applications incorrectly use GL_LINEAR* values for integers texture.
copyimage.c already implemented a tolerance for such app in prepare_target_err.
This commit adds a boolean that will treat GL_LINEAR* filters as
GL_NEAREST for integer textures.
CC: 20.1 <mesa-stable@lists.freedesktop.org >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4647 >
2020-05-05 09:40:29 +02:00
Samuel Pitoiset
90d9f9a37e
aco: remove unecessary p_split_vector with v2b reg class
...
Should be fine now that RA take full registers for v2b if it's
not an SDWA instruction.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4879 >
2020-05-05 08:50:10 +02:00
Joshua Ashton
b0cb38f360
vulkan: Update Vulkan XML and headers to 1.2.140
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4878 >
2020-05-05 00:28:00 +00:00
Joshua Ashton
785803a2e5
turnip: Remove RANGE_SIZE usage
...
These were removed from the latest Vulkan headers
https://github.com/KhronosGroup/Vulkan-Docs/issues/1230
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4878 >
2020-05-05 00:28:00 +00:00
Joshua Ashton
24f9aea770
radv: Remove RANGE_SIZE usage
...
These were removed from the latest Vulkan headers
https://github.com/KhronosGroup/Vulkan-Docs/issues/1230
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4878 >
2020-05-05 00:28:00 +00:00
Joshua Ashton
c4d11ea3c4
anv: Remove RANGE_SIZE usage
...
These were removed from the latest Vulkan headers
https://github.com/KhronosGroup/Vulkan-Docs/issues/1230
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4878 >
2020-05-05 00:27:59 +00:00
Mauro Rossi
5779694698
android: iris: add iris_seqno.{c,h} to Makefile.sources
...
Fixes the following undefined symbol building errors:
ld.lld: error: undefined symbol: iris_seqno_init
>>> referenced by iris_batch.c:187 (external/mesa/src/gallium/drivers/iris/iris_batch.c:187)
>>> iris_batch.o:(iris_init_batch) in archive out/target/product/x86_64/obj/STATIC_LIBRARIES/libmesa_pipe_iris_intermediates/libmesa_pipe_iris.a
Fixes: e31b703c ("iris: Place a seqno at the end of every batch")
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com >
Acked-by: Tapani Pälli <tapani.palli@intel.com >
2020-05-04 22:33:04 +02:00
Marek Olšák
c4cdef64ad
ac/surface: fix MSAA crash with FORCE_SWIZZLE_MODE on gfx9
...
Fixes: 3dc2ccc14c "ac/surface: replace RADEON_SURF_OPTIMIZE_FOR_SPACE with !FORCE_SWIZZLE_MODE"
Closes : #2884
Tested-by: Michel Dänzer <mdaenzer@redhat.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4862 >
2020-05-04 20:03:15 +00:00
Alyssa Rosenzweig
1dcf291e3b
pan/bit: Add IMATH packing tests
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4890 >
2020-05-04 18:45:15 +00:00
Alyssa Rosenzweig
8fcc23bf28
pan/bit: Factor out identity swizzle helper
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4890 >
2020-05-04 18:45:15 +00:00
Alyssa Rosenzweig
36e4ffa382
pan/bit: Use swizzle helper for round
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4890 >
2020-05-04 18:45:15 +00:00
Alyssa Rosenzweig
118d53bf93
pan/bit: Remove test names
...
We already have the disasm which is authoritative.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4890 >
2020-05-04 18:45:15 +00:00
Alyssa Rosenzweig
52cdaaacbb
pan/bit: Interpret v4i8 ops
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4890 >
2020-05-04 18:45:15 +00:00
Alyssa Rosenzweig
66163614db
pan/bit: Interpret IMATH
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4890 >
2020-05-04 18:45:15 +00:00
Alyssa Rosenzweig
1799435df0
pan/bi: Don't schedule <32-bit IMATH to FMA
...
The ops don't exist.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4890 >
2020-05-04 18:45:15 +00:00
Alyssa Rosenzweig
2925e88996
pan/bi: Add SUB.v2i16/SUB.v4i8 opcodes to disasm
...
Like their ADD counterparts. Only on ADD.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4890 >
2020-05-04 18:45:15 +00:00
Alyssa Rosenzweig
10c18c6f69
pan/bi: Pack ADD IADD/ISUB for 8/16/32
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4890 >
2020-05-04 18:45:15 +00:00
Alyssa Rosenzweig
a463b2c2ed
pan/bi: Pack FMA IADD/ISUB 32
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4890 >
2020-05-04 18:45:15 +00:00
Alyssa Rosenzweig
cf3c3563e0
pan/bi: Use IMATH for nir_op_iadd
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4890 >
2020-05-04 18:45:15 +00:00
Alyssa Rosenzweig
1a94daef58
pan/bi: Rename BI_ISUB to BI_IMATH
...
We'll use this for iadd, etc too which share similar characteristics.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4890 >
2020-05-04 18:45:15 +00:00
Eric Anholt
5c81f51c3c
freedreno/ir3: Define the bindful uniform/nonuniform desc modes for cat6 a6xx.
...
These come from the disasm tests, and fix our disasm of blob's
uniform/nonuniform cat6 operands. We also now include human-readable names
for all the modes we know about (though bindless gets distinguished by its
.baseN, like Connor's original disasm).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4857 >
2020-05-04 11:15:50 -07:00
Eric Anholt
97b21110b8
freedreno/ir3: Sync some new changes from envytools.
...
With this I also brought in a few new control flow instruction disasm
tests that I'd made back when I wrote the disasm test, but which were too
far from correct to include until now.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4857 >
2020-05-04 11:14:46 -07:00
Eric Anholt
1e5b0c92c5
freedreno/ir3: Add some more tests of cat6 disasm.
...
I put these together from traces I had while trying to do LDC for GL.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4857 >
2020-05-04 11:14:46 -07:00
Marek Olšák
b97cc41aa2
Revert "ac: reassociate FP expressions for inexact instructions for radeonsi"
...
This reverts commit cf2f3c2753 .
It breaks shadows in Unigine Superposition.
Fixes: cf2f3c2753
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4837 >
2020-05-04 11:51:37 -04:00
Alyssa Rosenzweig
5f01869f74
pan/bit: Add ICMP tests
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:16 -04:00
Alyssa Rosenzweig
9bc684cad8
pan/bit: Add more 16-bit fmod tests
...
Swizzles and more abs.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:16 -04:00
Alyssa Rosenzweig
041ba62e87
pan/bit: Add swizzles to round tests
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:16 -04:00
Alyssa Rosenzweig
35c806e701
pan/bi: Don't pack ICMP on FMA
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:16 -04:00
Alyssa Rosenzweig
5cbdf29b7e
pan/bi: Pack ADD ICMP 16
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:16 -04:00
Alyssa Rosenzweig
5bd4172280
pan/bi: Pack ADD ICMP 32
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:16 -04:00
Alyssa Rosenzweig
336d5128f9
pan/bi: Structify ADD ICMP 16
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:16 -04:00
Alyssa Rosenzweig
fdf154d24a
pan/bi: Pack ADD.DISCARD
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:16 -04:00
Alyssa Rosenzweig
7a9b9859e7
pan/bi: Handle discard/branch in get_component_count
...
No dest requires special handling.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:16 -04:00
Alyssa Rosenzweig
8ab5c97895
pan/bi: Fuse conditions into discard_if
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:15 -04:00
Alyssa Rosenzweig
201a11a13a
pan/bi: Add float-only mode to condition fusing
...
Useful for discards.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:15 -04:00
Alyssa Rosenzweig
7d867f787f
pan/bi: Emit discard (not if)
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:15 -04:00
Alyssa Rosenzweig
c9ab73296c
pan/bi: Handle discard_if in NIR->BIR naively
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:15 -04:00
Alyssa Rosenzweig
6627b20de3
pan/bi: Unwrap BRANCH into CONDITIONAL class
...
We can simplify the IR considerably and unify more conditions, which
gives conditional discard for free.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:15 -04:00
Alyssa Rosenzweig
6e5d207293
pan/bi: Remove BI_GENERIC
...
Goofy.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:15 -04:00
Alyssa Rosenzweig
20cb039457
pan/bi: Structify DISCARD
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:15 -04:00
Alyssa Rosenzweig
5c03340fd1
pan/bi: Fix DISCARD ops in disasm
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:15 -04:00
Alyssa Rosenzweig
31a41bb6a6
pan/bi: Disable CSEL4 emit for now
...
We need proper scheduling for 4-src ops to work, so for now disable
condition fusing so we cap at 3-src at a performance penalty. A bit of a
hack but I'd rather not build hacks into a scheduler that will be
rewritten soon anyway.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:15 -04:00
Alyssa Rosenzweig
e14e3065a9
pan/bi: Fix incorrectly flipped swizzle
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:15 -04:00
Alyssa Rosenzweig
8415b3d552
pan/bi: Fix missing swizzle
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:15 -04:00
Alyssa Rosenzweig
c9634894a6
pan/bi: Fix double-abs flipping
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:15 -04:00
Alyssa Rosenzweig
ef9b4b3a0b
pan/bi: Set clause type for gl_FragCoord.z
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:15 -04:00
Alyssa Rosenzweig
47c84ee735
pan/bi: Lower gl_FragCoord
...
We accept a sysval and emit various forms for each component.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:14 -04:00
Alyssa Rosenzweig
c5ef35c433
pan/bi: Passthrough direct ld_var addresses
...
Don't bother wasting a constant.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:14 -04:00
Alyssa Rosenzweig
513c774d58
pan/bi: Print bad instruction on src packing fail
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:14 -04:00
Alyssa Rosenzweig
0561fe3a06
pan/bi: Futureproof COMBINE lowering against non-u32
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:14 -04:00
Alyssa Rosenzweig
c48839086d
pan/bi: Abort on unhandled intrinsics
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:14 -04:00
Alyssa Rosenzweig
94e6263c0b
pan/bi: Abort on unknown op packing
...
We're stable enough this is better than just nop'ing it out.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:14 -04:00
Alyssa Rosenzweig
5a415259fc
pan/bi: Add clause type for gl_FragCoord.zw load
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:14 -04:00
Alyssa Rosenzweig
30f07e0d84
panfrost: Setup gl_FragCoord as sysval on Bifrost
...
..rather than a varying.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4883 >
2020-05-04 11:08:14 -04:00
Christian Gmeiner
89a41dae77
etnaviv: do not use int filter when anisotropic filtering is used
...
The blob does not use this combination. This change moves the
decision if int filter gets used to state emit time.
Fixes: 7aaa0e5908 ("etnaviv: add anisotropic filter support")
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4872 >
2020-05-04 14:39:24 +00:00
Christian Gmeiner
b38e51bd96
etnaviv: fix SAMP_ANISOTROPY register value
...
This caused some serious problems like shredded output, ~1fps and GPU hungs.
Fixes: 7aaa0e5908 ("etnaviv: add anisotropic filter support")
Reported-by: Lukas F. Hartmann <lukas@mntmn.com >
Tested-by: Lukas F. Hartmann <lukas@mntmn.com >
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4872 >
2020-05-04 14:39:24 +00:00
Jason Ekstrand
cb1e0db23e
vulkan/wsi: Make wsi_swapchain inherit from vk_object_base
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Kristian H. Kristensen <hoegsberg@google.com >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4690 >
2020-05-04 14:06:27 +00:00
Jason Ekstrand
32f20783a5
vulkan: Add run-time object type asserts in handle casts
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Kristian H. Kristensen <hoegsberg@google.com >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4690 >
2020-05-04 14:06:27 +00:00
Jason Ekstrand
7628585dd7
anv: Refactor setting descriptors with immutable sampler
...
Don't call anv_sampler_from_handle if the handle may be invalid.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4690 >
2020-05-04 14:06:27 +00:00
Jason Ekstrand
73fb7cdbe1
vulkan,anv: Move the DEFINE_HANDLE_CASTS macros to vk_object.h
...
We've already got these duplicated a bunch of places. They should
really probably live in common code. The new versions take two more
arguments:
1. The struct member which gets you from __driver_type to the
vk_object_base. This requires drivers which use this to also use
vk_object_base.
2. The VkObjectType enum which represents that object type.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Kristian H. Kristensen <hoegsberg@google.com >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4690 >
2020-05-04 14:06:27 +00:00
Jason Ekstrand
682c81bdfb
vulkan,anv: Add a base object struct type
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Kristian H. Kristensen <hoegsberg@google.com >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4690 >
2020-05-04 14:06:27 +00:00
Jason Ekstrand
369703774c
anv: Allocate CPU-side memory for events
...
As discrete graphics looms, we really need to stop storing CPU data
structures in GPU memory. One of the most egregious instances of this
was VkEvent where we had a CPU data structure living inside a dynamic
state pool allocation.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4690 >
2020-05-04 14:06:27 +00:00
Jason Ekstrand
4ac4e8e11f
anv: Stop clflushing events
...
They're allocated out of the dynamic state pool which is snooped.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4690 >
2020-05-04 14:06:27 +00:00
Jason Ekstrand
a9158f7951
vulkan,anv: Add a common base object type for VkDevice
...
We should keep this very minimal; I don't know that we need to go all
struct gl_context on it. However, this gives us at least a tiny base on
which we can start building some common functionality.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Kristian H. Kristensen <hoegsberg@google.com >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4690 >
2020-05-04 14:06:27 +00:00
Jason Ekstrand
9d10bde5a8
vulkan: Allow destroying NULL debug report callbacks
...
Fixes: 086cfa5652 "anv: implementation of VK_EXT_debug_report extension"
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Kristian H. Kristensen <hoegsberg@google.com >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4690 >
2020-05-04 14:06:27 +00:00
Tapani Pälli
46b3cb011f
st/mesa: destroy only own program variants when program is released
...
Earlier commit tried to achieve this but actually did more. This makes
sure the variants for other contexts continue to live.
Fixes: de3d7dbed5 ("mesa/st: release variants for active programs before unref")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2865
Cc: mesa-stable@lists.freedesktop.org
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/4831 >
2020-05-04 13:28:49 +00:00
Pierre-Eric Pelloux-Prayer
7e7bb38bd8
radeonsi: fix export count
...
Fixes: 17acff01a0 ("radeonsi: skip vs output optimizations for some outputs")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2877
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4871 >
2020-05-04 15:11:09 +02:00
Erik Faye-Lund
af55bdd05d
vtn/opencl: native sqrt support
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-By: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4811 >
2020-05-04 11:31:29 +00:00
Erik Faye-Lund
337ff9c088
vtn/opencl: native rsqrt support
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-By: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4811 >
2020-05-04 11:31:29 +00:00
Erik Faye-Lund
2ab6a58c19
vtn/opencl: native recip support
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-By: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4811 >
2020-05-04 11:31:29 +00:00
Erik Faye-Lund
a698c2eedb
vtn/opencl: native powr support
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-By: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4811 >
2020-05-04 11:31:29 +00:00
Erik Faye-Lund
594c49be08
vtn/opencl: native divide support
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-By: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4811 >
2020-05-04 11:31:29 +00:00
Erik Faye-Lund
bce8a86b65
vtn/opencl: native variants of sin/cos
...
These obviously map directly to nir opcodes.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-By: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4811 >
2020-05-04 11:31:29 +00:00
Erik Faye-Lund
f76b379a9a
vtn/opencl: add native_tan-support
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-By: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4811 >
2020-05-04 11:31:29 +00:00
Erik Faye-Lund
aab1361d59
compiler/nir: move tan-calculation to helper
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-By: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4811 >
2020-05-04 11:31:29 +00:00
Dmitriy Nester
58bb817257
mesa: check draw buffer completeness on glClearBufferfv/glClearBufferuiv
...
From OpenGL 4.6, section 9.4.4 "Effects of Framebuffer Completeness on
Framebuffer Operations", page 332:
"An INVALID_FRAMEBUFFER_OPERATION error is generated by attempts to render
to or read from a framebuffer which is not framebuffer complete.
This error is generated regardless of whether fragments are actually read
from or written to the framebuffer. For example, it is generated when a
rendering command is called and the framebuffer is incomplete, even if
RASTERIZER_DISCARD is enabled."
Signed-off-by: Dmytro Nester <dmytro.nester@globallogic.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4833 >
2020-05-04 13:16:30 +03:00
Marek Olšák
f1a40a26a9
Revert "ac/surface: remove RADEON_SURF_TC_COMPATIBLE_HTILE and assume it's always set"
...
This reverts commit f6d87ec8a9 .
It breaks RADV.
Fixes: f6d87ec8a9 "ac/surface: remove RADEON_SURF_TC_COMPATIBLE_HTILE and assume it's always set"
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4864 >
2020-05-02 20:12:38 +00:00
Dave Airlie
ee8f60da19
i965: disable shadow batches when batch debugging.
...
If you want to dump batch state, it needs to have the relocs processed
but the relocs don't get processed on the shadow batch.
Choose debugging over speed here.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4846 >
2020-05-03 05:47:23 +10:00
Dave Airlie
b2164320a0
i965: add support for gen 5 pipelined pointers to dump
...
I wanted to see inside these, so added support to the dumper.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4846 >
2020-05-03 05:47:16 +10:00
Bas Nieuwenhuizen
df9629e593
radv: Extend tiling flags to 64-bit.
...
SCANOUT is bit 63 ....
Fixes: bfd9e7ff24 "radv: Use new scanout gfx9 metadata flag."
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2879
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4859 >
2020-05-02 14:19:01 +00:00
Rhys Perry
b5f7b0ce19
aco: add message to static_assert
...
static_assert without a message is only supported with C++17 and later.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Fixes: c99107ece0
('aco: add explicit padding for all Instruction sub-structs')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4850 >
2020-05-02 13:59:05 +00:00
Rhys Perry
8e02de4d7f
aco: remove use of f-strings
...
f-strings require Python 3.6 but 3.5 is still maintained and used.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2839
Fixes: 2ab45f41 ("aco: implement sub-dword swaps")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4850 >
2020-05-02 13:59:05 +00:00
Nataraj Deshpande
49cc9e9526
anv: Disable extensions based on Android versions
...
This extends commit 2243f0cd for anv with additional
extensions for Pie and Q versions.
Fixes tests with 9_R11 CTS:
dEQP-VK.api.info.android#no_unknown_extensions
dEQP-VK.api.info.device#extensions.
v2: Use snake_case function name (Jason Ekstrand)
Drop Change-Id in commit (Kristian H. Kristensen)
v3: Resolve meson-clang error for ANDROID_API_LEVEL.
Signed-off-by: Nataraj Deshpande <nataraj.deshpande@intel.com >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4827 >
2020-05-01 21:04:26 +00:00
Nataraj Deshpande
a77cf797f1
anv: Limit vulkan version to 1.1 for Android
...
Current Android dessert versions such as Pie, Q reject
vulkan version > 1.1. Clamp the vulkan versions to 1.1
for platforms running these Android desserts.
Fixes android.graphics.cts.VulkanFeaturesTest and
dEQP-VK.api.info.device#properties.
v2: Limit version with '!ANDROID' (Eric Engestrom and Tapani Pälli)
Signed-off-by: Nataraj Deshpande <nataraj.deshpande@intel.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4781 >
2020-05-01 20:50:54 +00:00
Caio Marcelo de Oliveira Filho
33c61eb2f1
iris: Implement ARB_compute_variable_group_size
...
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/4794 >
2020-05-01 12:50:37 -07:00
Caio Marcelo de Oliveira Filho
e645bc6939
intel: Let drivers call brw_nir_lower_cs_intrinsics()
...
The motivating factor is: this lowering may cause
nir_intrinsic_load_local_group_size intrinsics to be added to the
shader, and by moving this around we make possible for the drivers to
lower that intrinsic by themselves.
Iris will do just that in a later patch for implementing variable
group size.
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/4794 >
2020-05-01 12:50:37 -07:00
Caio Marcelo de Oliveira Filho
2663759af0
intel/fs: Add and use a new load_simd_width_intel intrinsic
...
Intrinsic to get the SIMD width, which not always the same as subgroup
size. Starting with a small scope (Intel), but we can rename it later
to generalize if this turns out useful for other drivers.
Change brw_nir_lower_cs_intrinsics() to use this intrinsic instead of
a width will be passed as argument. The pass also used to optimized
load_subgroup_id for the case that the workgroup fitted into a single
thread (it will be constant zero). This optimization moved together
with lowering of the SIMD.
This is a preparation for letting the drivers call it before the
brw_compile_cs() step.
No shader-db changes in BDW, SKL, ICL and TGL.
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/4794 >
2020-05-01 12:50:37 -07:00
Caio Marcelo de Oliveira Filho
4b000b491a
intel/fs: Add an option to lower variable group size in backend
...
Adding this since Iris will handle variable group size parameters by
itself.
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/4794 >
2020-05-01 12:50:28 -07:00
Caio Marcelo de Oliveira Filho
0edb58a84e
intel/fs: Clean up variable group size handling in backend
...
Just use the information from NIR shader_info.
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/4794 >
2020-05-01 12:50:28 -07:00
Kenneth Graunke
1800e4b58c
iris: Implement PIPE_FLUSH_DEFERRED support.
...
(Co-authored with Chris Wilson.)
Frequently, games create fences and later check them with a timeout of
0 to see if that work has completed yet. They do not want the work to
be flushed immediately upon fence creation.
This is what PIPE_FLUSH_DEFERRED does - it inhibits the flush at fence
creation time, but still guarantees that a flush will occur later on
once fence_finish() is called.
Since syncpts can only occur at batch boundaries, when deferring a
flush, we have to wait for the syncpt at the end of the batch being
constructed. This is later than desired, but safe if blocking. To
avoid extra delays, we additionally insert a PIPE_CONTROL to write an
availability bit at the exact point of the fence. We can poll this
on the CPU, allowing us to check whether the fence has gone by, even
if the batch hasn't completed. It can also let us skip kernel calls.
Improves performance in Bioshock Infinite by 10% on Icelake GT2 on
-ForceCompatLevel=5 settings. Thanks to Felix Degrood and Mark Janes
for helping notice the extraneous stalls and batches, Marek Olšák for
adding deferred flush support to Gallium to solve this issue, and
Chris Wilson for reworking a lot of the internals of this work.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3802 >
2020-05-01 19:00:02 +00:00
Kenneth Graunke
df09efe8df
iris: Detect DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT kernel support
...
We will use this for implementing deferred flushes in the next commit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3802 >
2020-05-01 19:00:02 +00:00
Kenneth Graunke
615270502c
intel: Move anv_gem_supports_syncobj_wait to common code.
...
This will let me use this in iris.
We leave the existing anv function for anv_gem_stubs.c faking, but
move the contents to a helper in a new src/intel/common/gen_gem.c file.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3802 >
2020-05-01 19:00:02 +00:00
Kenneth Graunke
07fb925ad8
iris: Flush any current work in iris_fence_await before adding deps
...
Receiving a fence_server_sync (iris_fence_await) means that any future
work needs to wait for the fence. But previous work doesn't need to.
So flush it now, to avoid delaying it arbitrarily.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3802 >
2020-05-01 19:00:02 +00:00
Chris Wilson
3dbde89111
iris: Store a seqno for each batch in the fence
...
In the next patch, we will introduce deferred fences where we will need
to flush a fence later. To do this, we need to know which batch requires
flushing, so keep a 1:1 mapping between seqno[] and the associated
batch.
It's also substantially less confusing to have a 1:1 mapping.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3802 >
2020-05-01 19:00:02 +00:00
Chris Wilson
fd1907efb3
iris: Convert fences to using lightweight seqno
...
By using the breadcrumbs we inject into the batch, we can build a
lightweight fence - that can be evaluated in userspace without having to
check in the kernel. In order to pass the fences between processes, and
to wait efficiently, we continue to track the syncobj for each batch and
use that as a terminator for the fence, and for passing coarse
scheduling decisions to the kernel on execbuf.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3802 >
2020-05-01 19:00:02 +00:00
Chris Wilson
e31b703c42
iris: Place a seqno at the end of every batch
...
We can use seqno as a basic for fast userspace fences: where we can
check a value directly to test for fence completion without having to
query using the kernel. To do so we need to write a breadcrumb from the
batch and track those writes as the basis for our lightweight fences.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3802 >
2020-05-01 19:00:02 +00:00
Kenneth Graunke
fb95ac6855
iris: Destroy transfer slab after batches
...
Batches are going to have an uploader in the next commit, so destroying
batches will destroy uploaders, which will unmap transfers, which will
return things to the slab allocator. So we need to reorder destroying
the slab allocator to the end to avoid crashing.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3802 >
2020-05-01 19:00:02 +00:00
Kenneth Graunke
c94379c770
iris: Give up on not passing ice to iris_init_batch
...
We're going to need it to create a uploader in the batch soon. We still
avoid storing it, to maintain the charade of separation, and make people
think twice about fetching random fields from there and intertwining
things even worse.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3802 >
2020-05-01 19:00:02 +00:00
Kenneth Graunke
4a1ed75b85
iris: Rename iris_syncpt to iris_syncobj for clarity.
...
This is just a refcounted wrapper around a drm_syncobj. There is
enough terminology going on in the area of synchronization (sync
objects, sync files, ...) that I'd rather not invent our own.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3802 >
2020-05-01 19:00:02 +00:00
Kenneth Graunke
812cf5f522
anv: Include linux/sync_file.h instead of cut and pasting contents
...
Linux 4.7 has been out for a long time, this is probably safe to
depend on at this point, rather than cut and pasting the contents.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3802 >
2020-05-01 19:00:02 +00:00
Kenneth Graunke
abf8aed680
iris: Include linux/sync_file.h instead of cut and pasting contents
...
Lets us drop some cut and pasted kernel header contents.
Linux 4.7 came out 4 years before we the first officially supported
release of this driver; iris won't run on kernels older than 4.16,
and 4.18.11+ is strongly recommended. So I suspect it's safe to
assume that a kernel header from 4.7 will exist at build time.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3802 >
2020-05-01 19:00:02 +00:00
Alyssa Rosenzweig
a807c9e91d
panfrost: Update dEQP expectation list
...
These tests were recently fixed.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4852 >
2020-05-01 18:26:37 +00:00
Alyssa Rosenzweig
211dee42d0
pan/mdg: Enable nir_opt_algebraic_distribute_src_mods
...
Helps cleanup some issues otherwise missed by the new source mod
handling. (Noticed a double negative)
total instructions in shared programs: 3606 -> 3605 (-0.03%)
instructions in affected programs: 41 -> 40 (-2.44%)
helped: 1
HURT: 0
total bundles in shared programs: 1883 -> 1883 (0.00%)
bundles in affected programs: 0 -> 0
helped: 0
HURT: 0
total quadwords in shared programs: 3296 -> 3324 (0.85%)
quadwords in affected programs: 596 -> 624 (4.70%)
helped: 0
HURT: 2
total registers in shared programs: 337 -> 336 (-0.30%)
registers in affected programs: 6 -> 5 (-16.67%)
helped: 1
HURT: 0
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4852 >
2020-05-01 18:26:36 +00:00
Alyssa Rosenzweig
1c2d469506
pan/mdg: Drop opt in name of midgard_opt_cull_dead_branch
...
It's necessary for conformance - not an optimization.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4852 >
2020-05-01 18:26:36 +00:00
Alyssa Rosenzweig
ba9f3d1702
pan/mdg: Drop forever todo
...
Not much to be done.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4852 >
2020-05-01 18:26:36 +00:00
Alyssa Rosenzweig
23a20cfcf3
pan/mdg: Move constant switch opts to algebraic pass
...
No shader-db changes.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4852 >
2020-05-01 18:26:36 +00:00
Alyssa Rosenzweig
1628c144a9
pan/mdg: Rename .one to .sat_signed
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4852 >
2020-05-01 18:26:36 +00:00
Alyssa Rosenzweig
f47c60b411
pan/mdg: Ingest actual isub ops
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4852 >
2020-05-01 18:26:36 +00:00
Jose Fonseca
f8601110e4
glthread: Add GLAPIENTRY to _mesa_marshal_MultiDrawArrays.
...
Fixes MSVC build. Trivial.
Fixes: 2840bc3065
2020-05-01 19:15:11 +01:00
Caio Marcelo de Oliveira Filho
2a05ba5414
intel/dev: Bail when INTEL_DEVID_OVERRIDE is not valid
...
Avoids surprises where you set an OVERRIDE but it gets ignored and the
system PCI ID is used.
Also fixes the bug that the error of invalid platform name being
printed too early, even when the passed platform was a PCI ID (which
is also supported).
For the case where euid != uid, a warning was added but the behavior
wasn't changed: it is still going to fallback to system PCI ID.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4841 >
2020-05-01 10:12:01 -07:00
D Scott Phillips
65b05ebdda
anv,iris: Fix input vertex max for tcs on gen12
...
gen12 does away with the single patch dispatch mode for tcs, and
increases some limits so that 8_patch mode can always work. Make the
necessary changes so we don't try to fall back to single patch mode.
Fixes KHR-GL46.tessellation_shader.single.max_patch_vertices and others
Fixes: 44754279ac ("intel/fs/gen12: Use TCS 8_PATCH mode.")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4843 >
2020-05-01 16:49:11 +00:00
Eric Anholt
8f01fa1fb3
freedreno/ir3: Set the FS .msaa flag to true during precompiles.
...
If you're going out of your way to do per-sample interpolation, you are
almost surely going to be doing so to an MSAA framebuffer. Should reduce
recompiles with MSAA enabled.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4562 >
2020-05-01 16:26:32 +00:00
Eric Anholt
812c55b079
freedreno: Immediately compile a default variant of shaders.
...
Now that we normalize our keys fairly well, build a variant at shader
state creation time so that hopefully you don't have to call the compiler
at draw time (as is now the case with glmark2 ES and most of the humus GL
demos).
Fixes : #2782
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4562 >
2020-05-01 16:26:32 +00:00
Eric Anholt
29f58cfbd0
freedreno/ir3: Set up outputs for multi-slot varyings.
...
Necessary to avoid compiler assertion failures in:
dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block_explicit_location.struct.mat3x2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4562 >
2020-05-01 16:26:32 +00:00
Eric Anholt
88dcfaf0ee
freedreno/ir3: Stop initializing regid of so->outputs during setup.
...
It's unused and overwritten by ir3_compile_shader_nir().
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4562 >
2020-05-01 16:26:32 +00:00
Eric Anholt
8c1c218909
freedreno/ir3: Improve shader key normalization.
...
We can remove a bunch of conditional code at key comparison time by
computing a bitmask of used key bits at ir3_shader creation time. This
also gives us a nice place to put additional key simplification to reduce
how many variants we create (like skipping rastflat if we don't read
colors in the FS, or skipping vclamp_color if we don't write colors).
It does mean walking the whole key to AND it, but the key is just 28 bytes
so far so that seems pretty fine.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4562 >
2020-05-01 16:26:32 +00:00
Eric Anholt
6f1e3235f2
freedreno: Emit debug messages when doing draw-time recompiles of shaders.
...
Right now that's "always" unless you have shaderdb set.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4562 >
2020-05-01 16:26:32 +00:00
Eric Anholt
a361567c46
freedreno/ir3: Remove unused half precision shader key flag.
...
The code using it was removed in 4af86bd0b9 ("freedreno/ir3: remove
half-precision output")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4562 >
2020-05-01 16:26:32 +00:00
Eric Anholt
05be0659fe
freedreno: Fix assertion failures on GS/tess shaders with shader-db enabled.
...
We weren't filling in the tess mode of the key, or setting has_gs on GS
shaders, resulting in assertion failures when NIR intrinsics didn't get
lowered.
We have to make a guess at prim mode for TCS, but it should be better to
have some shader-db coverage than none, and it will avoid these failures
happening when we start precompiling shaders.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4562 >
2020-05-01 16:26:32 +00:00
Eric Anholt
f91e49ee29
freedreno/ir3: Skip tess epilogue if the program is missing stores.
...
Some of the negative API tests make shaders for tess stages that don't do
all the stores they need to. Once we start precompiling (or doing
shader-db of tess), we need to at least not segfault when generating them.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4562 >
2020-05-01 16:26:32 +00:00
Eric Anholt
fd8f3b62a4
freedreno: Stop doing binning shaders other than the VS in shader-db.
...
ir3_cache.c only ever asks for binning variants for VS.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4562 >
2020-05-01 16:26:32 +00:00
Eric Anholt
b420d04e1f
freedreno/ir3: Fix register allocation assertion failures.
...
We were failing to tell the allocator about the restriction that scalar
texture instructions (allocated as scalar regs) couldn't be allocated such
that the start of the full unwritemasked vector started before r0. There
was a patch in select_reg_callback on a6xx that tried to work around that,
but you could still end up backed into a corner you shouldn't be because
we didn't tell the RA what it needed.
Fixes compiler assertion failures on a300-a400's blit_z shader, used for
Z32F gmem blits.
Looks like as a result we get tighter register allocation but more nops:
instructions in affected programs: 757945 -> 760356 (0.32%)
nops in affected programs: 317983 -> 320468 (0.78%)
non-nops in affected programs: 27525 -> 27451 (-0.27%)
mov in affected programs: 3098 -> 3023 (-2.42%)
dwords in affected programs: 109664 -> 110656 (0.90%)
last-baryf in affected programs: 112701 -> 112847 (0.13%)
full in affected programs: 4326 -> 4011 (-7.28%)
sstall in affected programs: 120550 -> 120836 (0.24%)
(ss) in affected programs: 13939 -> 13918 (-0.15%)
(sy) in affected programs: 3006 -> 2786 (-7.32%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4562 >
2020-05-01 16:26:32 +00:00
Kristian H. Kristensen
73f34e0d46
freedreno/ir3: Drop hack to clean up split vars
...
When the GS lowering was working on store_output intrinsics, we had to
clean up the split vars to avoid getting confused. Now that we shadow
the output vars instead, there's no confusion and we can drop this
hack.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4562 >
2020-05-01 16:26:31 +00:00
Kristian H. Kristensen
dd8d257a30
freedreno/ir3: Lower GS builtins before lowering IO
...
We mostly got away with replacing a store_output with a store_var, but
for complex types like structs, that doesn't work. Once the IO has
been lowered from vars to intrinsic, we've lost the deref chains and
can't properly shadow the outputs.
This commits moves the GS lowering up so we do it before the output
variables get lowered to store_output. This way the pass works much
like nir_lower_io_to_temporaries() and cleanly shadows the outputs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4562 >
2020-05-01 16:26:31 +00:00
Kristian H. Kristensen
79355fd901
freedreno/ir3: Add ir3_nir_lower_to_explicit_input() pass
...
This pass lowers per-vertex input intrinsics to load_shared_ir3. This
was open coded in the TCS and GS lowering passes before - this way we
can share it. Furthermore, we'll need to run the rest of the GS
lowering earlier (before lowering IO) so we need to split off this
part that operates on the IO intrinsics first.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4562 >
2020-05-01 16:26:31 +00:00
Kristian H. Kristensen
b7bfccf085
freedreno/ir3: Rename ir3_nir_lower_to_explicit_io
...
We rename it to ir3_nir_lower_to_explicit_output, since it only
handles output and we'll add a lowering pass for input next.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4562 >
2020-05-01 16:26:31 +00:00
Kristian H. Kristensen
a16ee14f37
freedreno/ir3: Pass stream output info to ir3_shader_from_nir
...
We need shader->stream_output filled out when we layout the push
constants in ir3_setup_const_state(). Otherwise
const_state->offsets.tfbo ends up as ~0, which doesn't work.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4562 >
2020-05-01 16:26:31 +00:00
Eric Anholt
07f89126cd
freedreno/ir3: Fix the a3xx TF outputs stores.
...
We were trying to deref the vector-collected outputs[] array before it's
been set up, but we want the per-component outputs anyway.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4562 >
2020-05-01 16:26:31 +00:00
Eric Anholt
b0b8011e3e
freedreno/ir3: Set up the block predecessors for a3xx TF
...
Fixes a segfault in ir3_legalize.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4562 >
2020-05-01 16:26:31 +00:00
D Scott Phillips
7bd15135a6
intel/fs: Update location of Render Target Array Index for gen12
...
Render Target Array Index has moved from R0.0[26:16] to
R1.1[26:16] on gen12.
Fixes dEQP-VK.multiview.input_attachments.*
Cc: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4836 >
2020-05-01 08:48:22 -07:00
Tomeu Vizoso
7eb2bc8f52
pan/decode: Properly print tripped zeroes
...
The "%" got lost.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Fixes: 6148d1be4b ("panfrost: Fix size of bifrost sampler descriptor")
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4832 >
2020-05-01 16:52:46 +02:00
Tomeu Vizoso
3a81abf3b2
panfrost: Add Bifrost texture trampoline BO to batch
...
Fixes: d3eb23adb5 ("panfrost: Emit sampler descriptor on bifrost")
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4832 >
2020-05-01 16:52:40 +02:00
Alyssa Rosenzweig
c46731527a
pan/bi: Lower for now sincos
...
Will be implemented later.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4832 >
2020-05-01 16:52:36 +02:00
Tomeu Vizoso
3baf251487
panfrost: mali_attr_meta.unknown1 is zero on Bifrost
...
For unknown1 reasons :)
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4832 >
2020-05-01 16:52:32 +02:00
Tomeu Vizoso
c4400b05be
panfrost: GPUs newer than G-71 don't have swizzles...
...
for attributes and varyings.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4832 >
2020-05-01 16:52:28 +02:00
Tomeu Vizoso
c409428006
pan/decode: Trace to stderr with PANDECODE_DUMP_FILE=stderr
...
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4832 >
2020-05-01 16:52:23 +02:00
Alyssa Rosenzweig
d6588b87bf
panfrost: Update Bifrost fields in mali_shader_meta
...
Not much is known currently about these fields and their values, but
this gets things going in the scenarios we have been testing with so
far.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4832 >
2020-05-01 16:52:19 +02:00
Tomeu Vizoso
07b31f3437
pan/bi: Print shaders only if BIFROST_MESA_DEBUG=shaders
...
Similar to how it's done in the Midgard compiler.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4832 >
2020-05-01 16:52:16 +02:00
Alyssa Rosenzweig
9c7d30fb4a
pan/bi: Enable lower_mediump_outputs NIR pass
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4832 >
2020-05-01 16:52:11 +02:00
Tomeu Vizoso
7104e28651
panfrost: Add a bit more info about some tiler fields
...
Has been observed that after the job chain has completed, those fields
become populated.
tiler_heap_next_start contains an address inside the tiler heap, a bit
before the value that the GPU writes to tiler_heap_free.
used_hierarchy_mask contains a hex value that corresponds to values
observed as hierarchy masks.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4832 >
2020-05-01 16:52:07 +02:00
Tomeu Vizoso
4d581a4bc6
panfrost: Create additional BO for the checksum of imported BOs (Bifrost)
...
Similar to what the blob does. My reason for doing this was mainly so
traces weren't as different, which makes it more work to spot
relevant differences.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4832 >
2020-05-01 16:52:03 +02:00
Tomeu Vizoso
28902ba87e
panfrost: Split bit out of format.unk3
...
On Bifrost traces, we can observe that this bit is always enabled.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4832 >
2020-05-01 16:51:36 +02:00
Samuel Pitoiset
7f130e76ea
ci: add lists of expected failures & skipped tests for RAVEN with ACO
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4848 >
2020-05-01 16:07:47 +02:00
Andres Gomez
263ed2e777
scripts: remove unittest.mock dependency when not used
...
Found upon inspection.
Signed-off-by: Andres Gomez <agomez@igalia.com
Reviewed-and-Tested-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4840 >
2020-05-01 15:01:51 +03:00
Samuel Pitoiset
cc2c3b41b8
ci: fix reporting the number of unexpected/flakes
...
`wc -l $file` returns the number of lines and the filename.
Fixes: b8c66aeb93 ("ci: Clean up some excessive use of pipes in dEQP results processing.")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4829 >
2020-05-01 07:51:44 +00:00
Michel Dänzer
23daa49d4c
gitlab-ci: Use YAML anchor for llvmpipe paths in virgl rules
...
Instead of duplicating them.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4808 >
2020-05-01 07:19:05 +00:00
Rob Clark
60912f1ebd
freedreno: we don't need aligned vbo's
...
This gets rid of the last reason that mesa/st would use `u_vbuf` on
a6xx.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4812 >
2020-05-01 02:05:00 +00:00
Rob Clark
9a7c179473
freedreno/a6xx: add some more formats
...
u_vbuf was translating these for us.. which isn't really necessary.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4812 >
2020-05-01 02:05:00 +00:00
Alyssa Rosenzweig
6f7d94580e
pan/decode: Don't crash on missing payload
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4844 >
2020-05-01 00:27:23 +00:00
Alyssa Rosenzweig
bde19c0e7b
panfrost: Fix tiled texture "stride"s on Bifrost
...
They're not real strides like linear textures but the hw does use them
so we do have to get it right annoyingly.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4844 >
2020-05-01 00:27:23 +00:00
Alyssa Rosenzweig
bbecbedb4c
panfrost: Fix norm coords on bifrost sampler
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4844 >
2020-05-01 00:27:23 +00:00
Alyssa Rosenzweig
401409eff3
panfrost: Fix sampler wrap/filter field orders
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4844 >
2020-05-01 00:27:23 +00:00
Alyssa Rosenzweig
6148d1be4b
panfrost: Fix size of bifrost sampler descriptor
...
Should be 32-bytes, it looks like.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4844 >
2020-05-01 00:27:23 +00:00
Alyssa Rosenzweig
884f869992
panfrost: Fix texture field size
...
I have to imagine this was UB.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4844 >
2020-05-01 00:27:23 +00:00
Alyssa Rosenzweig
d04be375cc
pan/bit: Add round tests
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4844 >
2020-05-01 00:27:23 +00:00
Alyssa Rosenzweig
6bbedf8359
pan/bit: Interpret ROUND
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4844 >
2020-05-01 00:27:23 +00:00
Alyssa Rosenzweig
f1f4f1b816
pan/bit: Add framework forinterpreting double vs float
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4844 >
2020-05-01 00:27:23 +00:00
Alyssa Rosenzweig
130a3fba1c
pan/bi: Pack round opcodes (FMA, either 16 or 32)
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4844 >
2020-05-01 00:27:23 +00:00
Alyssa Rosenzweig
5f35cdaa8d
pan/bi: Pipe multiple textures through
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4844 >
2020-05-01 00:27:23 +00:00
Alyssa Rosenzweig
fc634dc3b2
pan/bi: Add texture indices to IR
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4844 >
2020-05-01 00:27:23 +00:00
Rob Clark
f8424d3b99
freedreno/a6xx: fix LRZ hang
...
In detecting the case where we actually do need to re-emit LRZ state
(due to new batch), we were checking `ctx->last.dirty` to detect when
we cannot trust previous state. But this is cleared before we check
it.
Move where it is cleared to the end of the draw_vbo() path.
Fixes: dfa702e94b ("freedreno/a6xx: limit LRZ state emit")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4842 >
2020-05-01 00:02:28 +00:00
Eric Anholt
0e51082cfa
freedreno/ir3: Leave bools as 1-bit, storing them in full regs.
...
If use NIR's 1-bit bool representation , we get exactly the bool behavior
the hardware provides: CMPS produces true or false, AND/OR/XOR work as
intended without extra absnegs, and we can pass those half values directly
to other CMPS. We emit an absneg for b2b1 ("turn a memory load into a
1-bit NIR boolean"), but we would have done so for the ir3_n2b() on the
use of that value anyway. The most awkward bit is that inot(a@1) is now a
sub(1, a), but we can encode the 1 as an immediate so it's fine.
No significant changes to GL_TIME_ELAPSED on my set of traces (n=21).
instructions in affected programs: 1570638 -> 1548702 (-1.40%)
nops in affected programs: 624053 -> 611381 (-2.03%)
non-nops in affected programs: 959061 -> 949797 (-0.97%)
mov in affected programs: 5258 -> 5252 (-0.11%)
cov in affected programs: 15099 -> 15902 (5.32%)
dwords in affected programs: 469600 -> 452768 (-3.58%)
last-baryf in affected programs: 162211 -> 154726 (-4.61%)
full in affected programs: 4881 -> 4797 (-1.72%)
sstall in affected programs: 173953 -> 174545 (0.34%)
(ss) in affected programs: 10922 -> 10934 (0.11%)
(sy) in affected programs: 728 -> 745 (2.34%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4518 >
2020-04-30 23:36:09 +00:00
Eric Anholt
769adc9546
freedreno/ir3: Drop redundant IR3_REG_HALF setup in ALU ops.
...
It's set by ir3_put_dst() immediately after.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4518 >
2020-04-30 23:36:09 +00:00
Marek Olšák
bdd2f284d9
radeonsi: revert an accidental change in si_clear_buffer
...
The change was in: 7b0b085c94
Fixes: 7b0b085c94 ("radeonsi: drop the negation from fmask_is_not_identity")
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4761 >
2020-04-30 22:27:31 +00:00
Marek Olšák
5afec9bc9f
radeonsi: fix si_compute_clear_render_target with render condition enabled
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4761 >
2020-04-30 22:27:31 +00:00
Marek Olšák
19db1a540c
radeonsi: add a workaround to fix KHR-GL45.texture_view.view_classes on gfx9
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4761 >
2020-04-30 22:27:31 +00:00
Marek Olšák
d6acdbd935
radeonsi: implement and use compute-based DCC decompression on gfx9-10
...
DCC_DECOMPRESS doesn't work. Instead of trying to figure out why,
use a compute blit where the load is compressed and the store is
uncompressed.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4761 >
2020-04-30 22:27:31 +00:00
Marek Olšák
d3da73954a
radeonsi: add SI_IMAGE_ACCESS_DCC_OFF to ignore DCC for shader images
...
A shader-based DCC decompress pass will use this.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4761 >
2020-04-30 22:27:31 +00:00
Marek Olšák
93d5c86081
radeonsi: bind shader images after DCC is disabled for image stores
...
This prevents an infinite recursion with a compute-based DCC decompression
when it restores shader images.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4761 >
2020-04-30 22:27:31 +00:00
Marek Olšák
44d27fd6fb
radeonsi: clean up and deduplicate code around internal compute dispatches
...
In addition to the cleanup, there are these changes in behavior:
- clear_render_target waits for idle after the dispatch and then flushes
L0-L1 caches (this was missing)
- sL0 is no longer invalidated before the dispatch, because src resources
don't use it
- sL0 is no longer invalidated after the dispatch if dst is an image
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4761 >
2020-04-30 22:27:31 +00:00
Marek Olšák
e58dcc47c3
radeonsi: unify and align down the max SSBO/TBO/UBO buffer binding size
...
Rounding down the size fixes:
KHR-GL45.enhanced_layouts.ssb_member_invalid_offset_alignment
Fixes: 03e2adc990
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4761 >
2020-04-30 22:27:31 +00:00
Marek Olšák
b7ffa1560c
tgsi_to_nir: handle TGSI_OPCODE_BARRIER
...
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4761 >
2020-04-30 22:27:31 +00:00
Marek Olšák
d35c3dc80e
tgsi_to_nir: handle TGSI_SEMANTIC_BLOCK_SIZE
...
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4761 >
2020-04-30 22:27:31 +00:00
Marek Olšák
2840bc3065
glthread: upload non-VBO vertices and indices for non-Indirect non-IBM draws
...
This is basically the same thing u_vbuf does.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314 >
2020-04-30 22:01:55 +00:00
Marek Olšák
1485a3ff7b
glthread: handle gl{Push,Pop}ClientAttrib{DefaultEXT} for glthread states
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314 >
2020-04-30 22:01:55 +00:00
Marek Olšák
57bf51a973
glthread: handle POS vs GENERIC0 aliasing
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314 >
2020-04-30 22:01:55 +00:00
Marek Olšák
09f94632e0
glthread: initialize VAOs properly
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314 >
2020-04-30 22:01:55 +00:00
Marek Olšák
47cf310a67
glthread: track primitive restart state
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314 >
2020-04-30 22:01:55 +00:00
Marek Olšák
9037005d60
glthread: track instance divisor changes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314 >
2020-04-30 22:01:55 +00:00
Marek Olšák
c9c9f57b02
glthread: track pointers and strides for Pointer & EXT_dsa attrib functions
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314 >
2020-04-30 22:01:55 +00:00
Marek Olšák
befbd54864
glthread: don't use atomics for refcounting to decrease overhead on AMD Zen
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314 >
2020-04-30 22:01:55 +00:00
Marek Olšák
7f22e0fd29
glthread: do glBufferSubData as unsynchronized upload + GPU copy
...
1. glthread has a private upload buffer (as struct gl_buffer_object *)
2. the new function glInternalBufferSubDataCopyMESA is used to execute the copy
(the source buffer parameter type is struct gl_buffer_object * as GLintptr)
Now glthread can handle arbitrary glBufferSubData sizes without syncing.
This is a good exercise for uploading data outside of the driver thread.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314 >
2020-04-30 22:01:55 +00:00
Marek Olšák
70847eb0a9
mesa: add _mesa_InternalBind{ElementBuffer,VertexBuffers} for glthread
...
Uploaded non-VBO user data will be set via these functions.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314 >
2020-04-30 22:01:55 +00:00
Marek Olšák
a82889e537
mesa: add glInternalBufferSubDataCopyMESA for glthread
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314 >
2020-04-30 22:01:55 +00:00
Marek Olšák
3707cef4fb
mesa: inline vbo_context inside gl_context to remove vbo_context dereferences
...
The number of lines in the disassembly of vbo_exec_api.c.o decreased
by 4.5%, which roughly corresponds to a decrease in instructions
for immediate mode thanks to the removal of ctx->vbo_context dereferences.
It increases performance in one Viewperf11 subtest by 2.8%.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314 >
2020-04-30 22:01:55 +00:00
Marek Olšák
42842306d3
mesa,st/mesa: add a fast path for non-static VAOs
...
Skip most of _mesa_update_vao_derived_arrays if the VAO is not static.
Drivers need a separate codepath for this.
This increases performance by 7% with glthread and the game "torcs".
The reason is that glthread uploads vertices and sets vertex buffers
every draw call, so the overhead is very noticable. glthread doesn't
hide the overhead, because the driver thread is the busiest thread.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314 >
2020-04-30 22:01:55 +00:00
Marek Olšák
2e3a9d7828
mesa: don't update shaders on fixed-func state changes if user shaders are bound
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314 >
2020-04-30 22:01:55 +00:00
Marek Olšák
256d5ca80a
mesa: don't set unnecessary program flags in _mesa_update_state
...
_NEW_PROGRAM is already set.
_NEW_FRAG_CLAMP is not used by the fixed-func fragment shader.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314 >
2020-04-30 22:01:55 +00:00
Mathias Fröhlich
b2b4afdc17
mesa: set _NEW_FRAG_CLAMP only when needed
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314 >
2020-04-30 22:01:55 +00:00
Marek Olšák
21ff963c3a
mesa: don't call _mesa_update_state for _mesa_get_clamp_fragment_color
...
It's not needed.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314 >
2020-04-30 22:01:55 +00:00
Mathias Fröhlich
f1538002b8
st/mesa: Move _NEW_FRAG_CLAMP to NewFragClamp driver flag.
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314 >
2020-04-30 22:01:55 +00:00
Marek Olšák
eb04db7344
mesa: optimize glPush/PopClientAttrib by removing malloc overhead
...
just declare all structures needed by the stack in gl_context.
This improves performance by 5.6% in the game "torcs". FPS: 101.01 -> 106.73
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314 >
2020-04-30 22:01:55 +00:00
Rob Clark
beb02a781c
freedreno/a6xx: don't set SP_FS_CTRL_REG0.VARYING for fragcoord
...
Similar change to 5785bcc8a0 . It appears
on a6xx and in fact this could cause varying corruption before the FS
had a chance to consume the varyings from varying storage.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2838
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4838 >
2020-04-30 21:38:52 +00:00
Lionel Landwerlin
612e35c8d9
iris: don't assert on unfinished aux import in copy paths
...
After a resource is created the first command using it could be a copy
command.
In iris_state we finish the import on surface/view creation but we
don't do that for copies.
v2: Move finish call to gallium entrypoints (Ken)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: <mesa-stable@lists.freedesktop.org >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2725
Reviewed-by: Tapani Pälli <tapani.palli@intel.com > (v1)
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4657 >
2020-04-30 21:18:42 +00:00
Rob Clark
d56b8c4554
freedreno: sync registers with envytools
...
Pull in the `SP_xS_BRANCH_COND` regs to keep the mesa and envytools
copies from getting out of sync.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813 >
2020-04-30 20:03:17 +00:00
Rob Clark
200765457e
freedreno/a6xx: more OUT_REG()
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813 >
2020-04-30 20:03:17 +00:00
Rob Clark
f62cad6b7f
freedreno: scissor vs disabled scissor micro-opt
...
We don't need to deref and check rast state every time scissor changes,
only when rast state changes.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813 >
2020-04-30 20:03:17 +00:00
Rob Clark
373e9ab27c
freedreno/a6xx: convert const emit to OUT_PKT()
...
This is another hot packet. This splits out each of the four cases
(geom vs frag, and indirect vs inline) intentionally, to avoid some
parity bit calc.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813 >
2020-04-30 20:03:17 +00:00
Rob Clark
710537b19c
freedreno/ir3: inline const emit
...
Drop vfunc callbacks for per-gen packet emit, and instead have a header
that is #include'd once per gen.
We'll end up with multiple copies of some of this, but since we never
have multiple gen's of adreno on a single device, only one copy will be
paged in (and hopefully in the I-cache for hot-paths)
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813 >
2020-04-30 20:03:17 +00:00
Rob Clark
aff93f5419
freedreno/a6xx: split out const emit
...
In order to inline the const emit and drop the per-gen vfuncs to emit
the correct sort of packet, we should consolidate all of the entry-
points to const emit in one object file, otherwise we'll end up with
multiple copies per gen.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813 >
2020-04-30 20:03:17 +00:00
Rob Clark
58fd1d7ecd
freedreno/a6xx: convert draw packet to OUT_PKT()
...
This is one of the hotter pkt7 packets, since it is guaranteed to happen
on every draw. Switch to OUT_PKT() for less driver overhead in the draw
path.
Slight bit of cheating for using CP_DRAW_INDX_OFFSET_0 for the first
dword in all cases. Possibly *gen_header.py* could be more clever
and use typedef's in the cases of bitsets like vgt_draw_initiator.
But this works out because it is always the first dword.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813 >
2020-04-30 20:03:17 +00:00
Rob Clark
ee293160d7
freedreno/a6xx: add OUT_PKT()
...
Similar to OUT_REG(), this has the benefits of:
1. No more messing up pkt size
2. Detects errors of mixing up the order of dwords in the packet
3. Optimizes to more efficient code
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813 >
2020-04-30 20:03:17 +00:00
Rob Clark
a142bb8992
freedreno/a6xx: skip unnecessary MRT blend state
...
To lower CP overhead.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813 >
2020-04-30 20:03:17 +00:00
Rob Clark
5d554987c2
freedreno/a6xx: combine sample mask into blend state
...
This gets rid of one lone register we used to emit directly in IB2
whenever blend state changes, at the expense of needing blend state
variants when sample-mask changes. I think typically sample-mask
should not change frequently, so this seems like a fair trade-off.
To further limit the # of variants, we ignore sample-mask bits that
are not relavant for the current # of samples.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813 >
2020-04-30 20:03:17 +00:00
Rob Clark
880edb9dc5
freedreno/a6xx: move blend-color to stateobj
...
To reduce CP overhead for draws skipped in a bin.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813 >
2020-04-30 20:03:17 +00:00
Rob Clark
dfa702e94b
freedreno/a6xx: limit LRZ state emit
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813 >
2020-04-30 20:03:17 +00:00
Rob Clark
3c268afd29
freedreno/a6xx: limit PROG_FB_RAST state emit
...
The dependency on RASTERIZER state is only when rasterizer_discard
changes.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813 >
2020-04-30 20:03:17 +00:00
Rob Clark
46e177389f
freedreno/a6xx: move scissor state to stateobj
...
To reduce CP overhead for draws skipped in a given tile.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813 >
2020-04-30 20:03:17 +00:00
Rob Clark
8cfa765049
freedreno/a6xx: move const state to single stateobj
...
In practice, we end up updating all the shader stages at the same time.
So collapse this into a single group.
Reduces CP overhead.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813 >
2020-04-30 20:03:17 +00:00
Rob Clark
89dbdb806f
freedreno/a6xx: avoid unnecessary clearing VS DP state
...
If there is no (potentially unflushed) VS driver-param state, we don't
need to emit a DISABLE on each frame. So avoid that to reduce CP
overhead.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813 >
2020-04-30 20:03:17 +00:00
Rob Clark
f583dc68e5
freedreno/a6xx: small query cleanup
...
Don't open-code `fd6_event_write()`
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813 >
2020-04-30 20:03:17 +00:00
Rob Clark
e3fc8dd001
freedreno/drm: inline the things
...
The existing structure dates back to when this code was part of libdrm,
and we wanted some of this not to be exposed as ABI between libdrm and
mesa. Now that this is no longer a constraint, inline things.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813 >
2020-04-30 20:03:17 +00:00
Rob Clark
75435d5e2a
freedreno/drm: drop atomic refcnts
...
Since we dropped the async flush_queue, we no longer need the refcnts to
be atomic.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813 >
2020-04-30 20:03:17 +00:00
Eric Anholt
4715502975
freedreno/ir3: Initialize the unused dwords of the immediates consts.
...
Avoids having spurious differences (and weird values to look at!) in
traces from uninitialized memory.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4824 >
2020-04-30 19:23:39 +00:00
Jason Ekstrand
3fac55ce0d
Revert "anv/gen12: Temporarily disable VK_KHR_buffer_device_address (and EXT)"
...
This reverts commit c61ad77cd2 . We now no
longer have a problem with these.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4819 >
2020-04-30 14:45:50 +00:00
Jason Ekstrand
4985e380dd
intel/eu: Use non-coherent mode (BTI=253) for stateless A64 messages
...
We don't care about full IA coherency since we always have the
opportunity in GL or Vulkan to flush the data cache. Using IA-coherent
mode is likely just making A64 access slower than it needs to be.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4819 >
2020-04-30 14:45:50 +00:00
Tomeu Vizoso
0edc29020b
pan/decode: Use correct printf modifier for long int
...
As reported by Coverity:
>>> CID 1462605: API usage errors (PRINTF_ARGS)
>>> Argument "p->zero5" to format specifier "%x" was expected to have type "unsigned int" but has type "unsigned long".
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4724 >
2020-04-30 16:27:46 +02:00
Tomeu Vizoso
03963febef
pan/decode: Check for correct unknown field
...
As reported by Coverity:
>>> CID 1462606: Incorrect expression (COPY_PASTE_ERROR)
>>> "unk1" in "s->unk1" looks like a copy-paste error.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4724 >
2020-04-30 16:27:42 +02:00
Tomeu Vizoso
bc11deb86d
panfrost: Don't leak temporary descriptors array
...
As found by Coverity:
>>> CID 1462596: Resource leaks (RESOURCE_LEAK)
>>> Variable "descriptors" going out of scope leaks the storage it points to.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4724 >
2020-04-30 16:27:38 +02:00
Tomeu Vizoso
3c98c452f0
panfrost: Emit blend descriptors on Bifrost
...
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4724 >
2020-04-30 16:27:34 +02:00
Alyssa Rosenzweig
33b13b9fbd
panfrost: Enumify bifrost blend types
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4724 >
2020-04-30 16:27:29 +02:00
Andres Gomez
5e9ae40430
gitlab-ci: update tracie README after changes in main script
...
v2:
- Update the default location for the traces when there is no
traces-db entry in the traces definition file (Alexandros).
Fixes: 90a39af5f6 "(ci: Drop the git dependency in tracie)"
Signed-off-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Alexandros Frantzis <alexandros.frantzis@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4640 >
2020-04-30 12:21:28 +00:00
Andres Gomez
bd86399db0
.mailmap: add an alias for Andres Gomez
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4739 >
2020-04-30 14:33:20 +03:00
Andres Gomez
3cde4c3a08
.mailmap: add an alias for Iago Toral Quiroga
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4739 >
2020-04-30 14:33:20 +03:00
Lionel Landwerlin
2a70fee7dc
ci: Add intel to shaderdb runs
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Acked-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4594 >
2020-04-30 11:32:54 +03:00
Lionel Landwerlin
0f4f1d70bf
intel: add stub_gpu tool
...
Run shaderdb like this :
intel_stub_gpu -p bxt ./run ./shaders/*
List of platform names is available from
gen_device_name_to_pci_device_id() (src/intel/dev/gen_device_info.c).
v2: Add missing getparam support
Raise max soft limit of file descriptors
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Acked-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4594 >
2020-04-30 11:32:54 +03:00
Lionel Landwerlin
8c3c1d8a99
intel/dev: print out error when platform is not found by name
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Acked-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4594 >
2020-04-30 11:32:54 +03:00
Lionel Landwerlin
fd3c014672
drm-shim: silence warnings
...
Matt is seeing a bunch of warnings :
drm_shim.c:312:4: warning: ignoring return value of ‘asprintf’, declared with attribute warn_unused_result [-Wunused-result]
v2: Add nofail variants of *asprintf (Eric)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4594 >
2020-04-30 11:32:54 +03:00
Lionel Landwerlin
764ef4bf1a
drm-shim: don't create a memfd per BO
...
Running shader-db on big servers with many cores, we're running out of
file descriptors.
Use a single 4Gb memfd instead and allocate from it using a VMA.
v2: Align VMA allocation to 4096 (Eric)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4594 >
2020-04-30 11:32:54 +03:00
Lionel Landwerlin
6b34c8d35f
drm-shim: move handle lock to shim_fd
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4594 >
2020-04-30 09:50:16 +03:00
Rob Clark
f78af33721
gallium: extract out logicop helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4826 >
2020-04-30 03:45:12 +00:00
Roland Scheidegger
51a82ec3e4
gallivm: fix half to float conversions with llvm 11
...
LLVM 11 removes the intrinsic for half to float conversion, so use the fpext
function instead. This function actually works now with half to float, albeit
a quick experiment showed at least the x86 backend cannot lower it itself if
the cpu doesn't support it natively and tries to call external library, which
crashes (and would be very slow anyway as it would be lowered to scalar code),
so for now only use it where we previously used the f16c intrinsic.
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2603
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4800 >
2020-04-30 01:21:21 +00:00
Eric Engestrom
ec6565bb26
cut 20.1 branch
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4823 >
2020-04-29 23:52:43 +00:00
Francisco Jerez
0842758ec0
intel/ir: Update performance analysis parameters for memory fence codegen changes.
...
The SFID field of the SHADER_OPCODE_MEMORY_FENCE and
SHADER_OPCODE_INTERLOCK instructions now indicates the target function
of the memory fence. Account the cycle-count cost to the right shared
unit.
Fixes: f858fa26b4 ("intel/fs,vec4: Pull stall logic for memory fences up into the IR")
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4817 >
2020-04-29 23:40:36 +00:00
Dylan Baker
82aa446049
docs: update calendar, add news item, and link releases notes for 20.0.6
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4822 >
2020-04-29 23:31:32 +00:00
Dylan Baker
06b5a646e8
docs: Add SHA256 sums for 20.0.6
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4822 >
2020-04-29 23:31:32 +00:00
Dylan Baker
55bb55e93c
docs: Add release notes for 20.0.6
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4822 >
2020-04-29 23:31:32 +00:00
Alyssa Rosenzweig
e70cfe47b3
pan/mdg: Be a bit more pedantic in invert passes
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4820 >
2020-04-29 23:07:03 +00:00
Alyssa Rosenzweig
074815ca0e
pan/mdg: Track more types
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4820 >
2020-04-29 23:07:03 +00:00
Rob Clark
a0fe98b478
freedreno: fix buffer import
...
`rsc->layout.cpp` is zero until we `fd_resource_layout_init()`
Fixes: 5a8718f01b ("freedreno: Make the slice pitch be bytes, not pixels.")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4818 >
2020-04-29 22:34:25 +00:00
Marcin Ślusarz
2efa76f795
i965: remove unused variable
...
Last use was removed in 54525808aa .
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4809 >
2020-04-29 21:16:45 +00:00
Bas Nieuwenhuizen
85fe0e551f
radv: Fix implicit sync with recent allocation changes.
...
the implicit sync flag gets set at the beginning at the function,
but I used = instead of |= later.
Fixes: bec9285027 "radv: Stop using memory type indices."
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4814 >
2020-04-29 21:03:39 +00:00
Rob Clark
27cafa9a51
freedreno: switch to simple_mtx
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4810 >
2020-04-29 20:37:00 +00:00
Rob Clark
336a8cd82a
freedreno: add screen lock wrappers
...
This will make it easier to swap out to simple_mtx_t
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4810 >
2020-04-29 20:37:00 +00:00
Rob Clark
8aacaeca68
util/simple_mtx: add assert_locked()
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4810 >
2020-04-29 20:37:00 +00:00