freedreno/ir3: sched tweaks
A couple tweaks in choosing the best instruction to schedule: 1) If there are one or more "neutral" instructions (ie. does not require delays, and does not increase live values), pick the "deepest" one (ie. the one in longest path of instructions to the end of the shader) 2) And slightly finer blending of weight of effect on live values as the number of live values increases. Note that some slightly special handling of varying input instructions is required. Otherwise, the scheduler would push them *too far* down into fragment shaders. But the varying storage is locked until the last bary.f instruction (with (ei) flag) which can prevent the next batch of vertex shader threads from running, decreasing performance noticably even though the shader-db results look good (reduction in both instruction count and register count). Signed-off-by: Rob Clark <robdclark@chromium.org>
Status | Job ID | Name | Coverage | ||||||
---|---|---|---|---|---|---|---|---|---|
Container | |||||||||
passed |
#1006468
aarch64
|
arm_build |
00:00:29
|
|
|||||
passed |
#1006469
aarch64
|
arm_test |
00:00:18
|
|
|||||
passed |
#1006464
|
lava_arm64 |
00:00:21
|
|
|||||
passed |
#1006463
|
lava_armhf |
00:00:21
|
|
|||||
passed |
#1006465
|
x86_build |
00:00:21
|
|
|||||
passed |
#1006467
|
x86_build_old |
00:00:20
|
|
|||||
passed |
#1006466
|
x86_test |
00:00:21
|
|
|||||
Build | |||||||||
passed |
#1006471
|
lava-build:arm64 |
00:04:28
|
|
|||||
passed |
#1006470
|
lava-build:armhf |
00:05:56
|
|
|||||
passed |
#1006475
aarch64
|
meson-arm64 |
00:04:47
|
|
|||||
passed |
#1006474
aarch64
|
meson-armhf |
00:03:27
|
|
|||||
passed |
#1006476
|
meson-clang |
00:08:20
|
|
|||||
passed |
#1006479
|
meson-clover |
00:08:10
|
|
|||||
passed |
#1006480
|
meson-clover-old-llvm |
00:04:38
|
|
|||||
passed |
#1006482
|
meson-i386 |
00:03:21
|
|
|||||
passed |
#1006473
|
meson-main |
00:02:43
|
|
|||||
passed |
#1006483
|
meson-mingw32-x86_64 |
00:04:56
|
|
|||||
passed |
#1006472
|
meson-testing |
00:04:23
|
|
|||||
passed |
#1006481
|
meson-vulkan |
00:03:06
|
|
|||||
passed |
#1006484
|
scons |
00:04:52
|
|
|||||
passed |
#1006485
|
scons-old-llvm |
00:03:16
|
|
|||||
passed |
#1006477
|
scons-swr |
00:02:41
|
|
|||||
passed |
#1006478
|
scons-win64 |
00:02:25
|
|
|||||
Test | |||||||||
passed |
#1006501
db410c
|
arm64_a306_gles2 |
00:05:56
|
|
|||||
passed |
#1006498
mesa-cheza
|
arm64_a630_gles2 |
00:01:33
|
|
|||||
passed |
#1006500
mesa-cheza
|
arm64_a630_gles3 |
00:05:21
|
|
|||||
failed |
#1006499
mesa-cheza
|
arm64_a630_gles31 |
00:03:54
|
|
|||||
passed |
#1006486
lava-rk3288-veyron-jaq
|
panfrost-t760-test:armhf |
00:04:33
|
|
|||||
passed |
#1006487
lava-rk3399-gru-kevin
|
panfrost-t860-test:arm64 |
00:05:06
|
|
|||||
passed |
#1006489
|
piglit-glslparser+quick_shader |
00:05:59
|
|
|||||
passed |
#1006488
|
piglit-quick_gl |
00:08:26
|
|
|||||
passed |
#1006490
|
test-llvmpipe-gles2 |
00:03:30
|
|
|||||
passed |
#1006491
|
test-softpipe-gles2 |
00:01:31
|
|
|||||
passed |
#1006494
|
test-softpipe-gles31 1/4 |
00:02:58
|
|
|||||
passed |
#1006492
|
test-softpipe-gles3 1/2 |
00:05:16
|
|
|||||
passed |
#1006495
|
test-softpipe-gles31 2/4 |
00:04:37
|
|
|||||
passed |
#1006496
|
test-softpipe-gles31 3/4 |
00:05:40
|
|
|||||
passed |
#1006497
|
test-softpipe-gles31 4/4 |
00:03:17
|
|
|||||
passed |
#1006493
|
test-softpipe-gles3 2/2 |
00:04:55
|
|
|||||
Name | Stage | Failure | ||
---|---|---|---|---|
failed
|
arm64_a630_gles31 | Test | ||
|