00:31
nerdboy has quit [Ping timeout: 260 seconds]
01:24
stikonas has quit [Remote host closed the connection]
01:50
<
icecream95 >
With 5.5-rc6, even just resizing windows causes a bunch of page faults
01:51
<
icecream95 >
*X11 windows - Wayland still works fine.
01:55
<
icecream95 >
Xalius: So it looks like it is a kernel regression
02:16
<
icecream95 >
I compiled the 5.4.0 panfrost onto 5.5, and that has problems too...
02:20
<
icecream95 >
So it looks like some of the fixes from that branch didn't make it into 5.5
02:33
<
icecream95 >
I don't think that will apply on to 5.5, so I'll have to try and manually patch the kernel
02:36
warpme_ has quit [Quit: Connection closed for inactivity]
04:08
_whitelogger has joined #panfrost
04:17
megi has quit [Ping timeout: 265 seconds]
05:00
davidlt has joined #panfrost
05:24
<
icecream95 >
Xalius: Does the patch fix your problems?
06:20
suihkulokki has quit [Ping timeout: 260 seconds]
06:46
jailbox has quit [Ping timeout: 268 seconds]
07:02
nerdboy has joined #panfrost
07:15
<
tomeu >
bbrezillon: any ideas what we are missing in master? ^
07:22
<
icecream95 >
The texture glmark2 test spends about 20% of the time iterating past null (!) fences in panfrost_flush_all_batches
07:31
<
rellla >
alyssa: do dEQP-GLES2.functional.fragment_ops.depth_stencil.* pass for panfrost if some stencil op is DECR/INCR/DECR_WRAP/INCR_WRAP and the write mask is one with the lower bits not set?
07:32
<
rellla >
these fail on lima, so i wonder if other solve/workaround this
07:34
<
tomeu >
icecream95: :D
07:34
<
tomeu >
icecream95: any idea of why?
07:40
<
icecream95 >
I didn't follow the asm properly and it's actually null readers in panfrost_bo_access_gc_fences
07:43
<
icecream95 >
Is there a NEON instruction to check if all the bits in a vector are 0?
07:45
<
icecream95 >
It looks like the array is only cleared if all the readers are null
07:46
<
icecream95 >
It would probably be faster to just copy the still-alive readers to the start of the array then resize at the end
07:54
<
tomeu >
icecream95: I don't think that function should be called that often though
07:54
<
tomeu >
I'm also seeing lots of time spent there in STK
07:55
<
tomeu >
nothing what that function does should be time critical, I think there must be some logic problem that manifests like that
07:58
<
bbrezillon >
tomeu: the last 2 patches are missing
08:01
<
bbrezillon >
one of them has been respinned by robher
08:11
<
bbrezillon >
icecream95: ack on getting rid of NULL readers and resizing the access->readers array
08:11
<
bbrezillon >
but I'm not sure it will drastically improve things
08:12
<
bbrezillon >
maybe we're just calling panfrost_bo_access_gc_fences() too aggressively
08:15
<
bbrezillon >
tomeu, robmur01, robher: what's the plan regarding those 5.4 fixes, should I send a v3?
08:16
<
icecream95 >
2848edc0eff5570abaac0a4017a9c96ebabbd728 is the first bad commit
08:17
<
icecream95 >
panfrost: Fix panfrost_bo_access memory leak
08:21
<
icecream95 >
I messed up with perf usage, that wasn't the commit introducing the problem...
08:31
yann has quit [Ping timeout: 258 seconds]
08:43
<
tomeu >
icecream95: bbrezillon: just to be sure: you know that the readers arrays just keep growing unbound?
08:44
<
icecream95 >
That's what I was just about to say...
08:44
<
icecream95 >
Most of the time nreaders < 3
08:47
<
tomeu >
bbrezillon: do you know what may be going on?
08:48
<
bbrezillon >
adjust the garbage collection frequency if it's still called too often
08:48
pH5 has joined #panfrost
08:48
<
bbrezillon >
tomeu: I don't know yet
08:49
<
icecream95 >
The array is only cleared if there are no active readers
08:49
<
bbrezillon >
tomeu: duh, 3862 readers!
08:49
<
tomeu >
bbrezillon: I think the gc frequency should be fine, if readers didn't accumulate
08:50
<
tomeu >
better to stop doing insane things, rather than doing them less often :p
08:50
<
bbrezillon >
I didn't know there was so many readers
08:51
<
tomeu >
access*readers gets quite big
08:51
<
bbrezillon >
I suspect one of the reader is never signaled
08:52
<
bbrezillon >
tomeu: do you know how many of them are active (not signaled)?
08:53
<
icecream95 >
I'll repeat if no-one read:
*No elements are removed* except when there are
*no* active readers
08:53
<
icecream95 >
There are usually less than 3 active
08:53
<
tomeu >
icecream95: yeah, that's what bbrezillon is thinking of
08:54
<
bbrezillon >
icecream95: yes, but I wonder why we have unsignaled readers left
08:54
<
tomeu >
guess 3 active in the just submitted batch is fine, but wonder about previous batches
08:55
<
icecream95 >
All the elements in the array except the 1-2 active ones are just NULL pointers
08:56
<
bbrezillon >
icecream95: shrinking the array is indeed a good idea
08:57
Elpaulo has joined #panfrost
08:59
warpme_ has joined #panfrost
09:01
<
icecream95 >
I have a working patch; I'll make an MR tomorrow
09:06
icecream95 has quit [Ping timeout: 240 seconds]
09:12
guillaume_g has joined #panfrost
09:37
yann has joined #panfrost
09:46
<
tomeu >
bbrezillon: ok, I will move to see why our gles3 results are unstabl
10:10
Xalius has joined #panfrost
10:13
<
Xalius >
I think I saw some of those on patchwork, did not all of them make 5.5-rc?
10:25
karolherbst has quit [Ping timeout: 272 seconds]
10:46
karolherbst has joined #panfrost
10:51
raster has joined #panfrost
10:57
Xalius has quit [Remote host closed the connection]
11:02
guillaume_g has quit [Quit: Konversation terminated!]
11:03
guillaume_g has joined #panfrost
11:08
indy has quit [Ping timeout: 272 seconds]
11:19
Elpaulo has quit [Read error: Connection reset by peer]
11:20
Elpaulo has joined #panfrost
11:32
megi has joined #panfrost
12:04
<
tomeu >
narmstrong: should I expect the wifi on the nexbox to work?
12:05
<
narmstrong >
tomeu: not sure
12:05
<
narmstrong >
nop, definitely no
12:06
<
narmstrong >
the sdio stuff hasn't been pushed
12:16
davidlt has quit [Ping timeout: 258 seconds]
12:17
<
narmstrong >
at the time, the qca9377 ath10k was out of tree, now it should work
12:30
buzzmarshall has joined #panfrost
12:31
guillaume_g has quit [Quit: Konversation terminated!]
12:41
guillaume_g has joined #panfrost
13:19
<
alyssa >
^ Let's play spot the bug :V
13:29
alpernebbi has joined #panfrost
13:40
davidlt has joined #panfrost
13:50
jstultz has quit []
13:50
jstultz has joined #panfrost
13:52
<
alyssa >
I found it. It's something silly
13:52
<
robmur01 >
bbrezillon: I guess - I don't have much time myself to review/test things just now, but IIRC they all looked pretty reasonable at a glance.
13:55
<
robmur01 >
alyssa: Hopefully the compiler sees it anyway, but "if (b != a) { c = a - b; ...}" -> "c = a - b; if(c) {...}" ;)
13:55
<
alyssa >
robmur01: Cute ;)
13:56
* robmur01
is currently elbow-deep in optimisation...
13:56
<
robmur01 >
(of something completely unrelated, unfortunately)
14:05
<
alyssa >
Okay, got it workign!!
14:09
<
alyssa >
Never mind that it totally breaks GNOME,
*cough*
14:25
<
daniels >
alyssa: SubTexImage into AFBC?
15:31
Elpaulo has quit [Ping timeout: 240 seconds]
15:44
karolherbst has quit [Ping timeout: 260 seconds]
16:05
karolherbst has joined #panfrost
16:32
yann has quit [Ping timeout: 265 seconds]
17:15
pH5 has quit [Quit: bye]
17:24
krh has joined #panfrost
17:38
guillaume_g has quit [Quit: Konversation terminated!]
17:48
yann has joined #panfrost
17:48
<
alyssa >
daniels: Hmm?
17:48
<
alyssa >
AFBC isn't supported right now (well, it is, but broken and hidden behind a debug flag)
17:49
<
daniels >
alyssa: was trying to figure out the purpose of foo.c
17:49
<
alyssa >
daniels: oh, the issue is that we have a fast path for tiling tile-aligned regions
17:49
<
alyssa >
but if the update isn't tile-aligned, there's a lot of redundancy required in the slow path
17:50
<
alyssa >
..so the trick is to splice it up into a tile aligned centre and borders
18:02
<
alyssa >
Tiling patches seem to help performance substantially
18:02
<
alyssa >
For non-game workloads (desktop environments, GIMP, etc.)
18:02
<
alyssa >
should probably do more rigorous testing but still
18:11
bbrezillon has quit [Ping timeout: 260 seconds]
18:13
<
anarsoul >
alyssa: don't forget to add lima label to your MR
18:13
Xalius has joined #panfrost
18:14
<
Xalius >
icecream95, your patchset worked
18:14
<
Xalius >
writing this from hexchat in Xwayland ;)
18:15
<
Xalius >
Gimp works too without crashes, but it's slower than with glamor disabled
18:16
<
Xalius >
font rendering looks different
18:17
<
Xalius >
I applied the set on top of 5.5-rc5 that seems to work
18:19
<
alyssa >
Xalius: working on it :)
18:20
<
Xalius >
my mesa is a couple days old, do I need to upgrade? :P
18:20
<
alyssa >
Xalius: not yet, still WIP
18:20
bbrezillon has joined #panfrost
18:21
<
alyssa >
Actually should put WIP: on there
18:21
<
alyssa >
not ready for review, still hacking at stuff
18:22
<
alyssa >
probably ready for testing on lima
18:22
<
alyssa >
anarsoul: ^^
18:23
<
Xalius >
I haven't tried sway on lima, should do that
18:24
<
anarsoul >
alyssa: I'll test it later today
18:24
<
alyssa >
anarsoul: Cool
18:24
<
anarsoul >
texture tests in deqp spent 30% of time in tiling routines
18:25
<
alyssa >
Next up will be templating the optimized routine (with macros) so we get a fast path for bpp1/2/4/8
18:25
<
anarsoul >
sounds good
18:25
<
anarsoul >
Xalius: you want mesa from git master for lima
18:25
<
anarsoul >
don't try 19.3
18:26
<
alyssa >
robher: warned me about that :)
18:27
<
Xalius >
yeah I'm only a couple days behind master
18:27
<
anarsoul >
couple days behind is fine
18:28
<
anarsoul >
although we merged some fixes
18:28
<
anarsoul >
and some are pending
18:29
<
anarsoul >
e.g. polygon offset fixes were merged recently - you'll get flickering shadows in q3a without it
18:30
steev has quit [Ping timeout: 252 seconds]
18:30
ezequielg has quit [Read error: Connection reset by peer]
18:31
marex-cloud has quit [Ping timeout: 252 seconds]
18:31
robher has quit [Ping timeout: 245 seconds]
18:31
jstultz has quit [Ping timeout: 245 seconds]
18:31
warpme_ has quit [Ping timeout: 272 seconds]
18:32
anarsoul|c has quit [Ping timeout: 268 seconds]
18:33
anarsoul|c has joined #panfrost
18:33
warpme_ has joined #panfrost
18:33
jstultz has joined #panfrost
18:33
robher has joined #panfrost
18:36
<
Xalius >
I tried openarena quickly and that looked ok
18:37
ezequielg has joined #panfrost
18:37
<
alyssa >
is there any reason to tile formats that aren't bpp1/2/4/8
18:38
<
alyssa >
currently we also support bpp3/6/12/16 but maybe those should just be linear.
18:39
<
anarsoul >
alyssa: what about etc?
18:43
ezequielg has quit [Ping timeout: 260 seconds]
18:44
Xalius has quit [Ping timeout: 265 seconds]
18:58
bbrezillon has quit [Ping timeout: 272 seconds]
19:01
bbrezillon has joined #panfrost
19:09
Xalius has joined #panfrost
19:11
stikonas has joined #panfrost
19:12
indy has joined #panfrost
19:24
raster has quit [Quit: Gettin' stinky!]
19:38
<
anarsoul >
alyssa: it crashes right away on lima
19:38
<
anarsoul >
double free or corruption (out)
19:40
<
anarsoul >
but you can see it in CI
19:40
<
anarsoul >
even for panfrost
19:45
davidlt has quit [Ping timeout: 272 seconds]
19:55
buzzmarshall has quit [Remote host closed the connection]
19:58
Xalius has quit [Quit: Leaving]
20:05
raster has joined #panfrost
20:06
icecream95 has joined #panfrost
20:08
raster has quit [Client Quit]
20:18
raster has joined #panfrost
20:22
<
alyssa >
anarsoul: Hngh
20:23
<
alyssa >
anarsoul: Can't repro locally :V
20:23
<
anarsoul >
alyssa: try deqp?
20:23
Elpaulo has joined #panfrost
20:23
<
alyssa >
seems fine here ..
20:24
<
anarsoul >
but it fails in CI
20:24
<
alyssa >
i see that
20:25
<
alyssa >
what test cases are failing
20:26
stikonas has quit [Remote host closed the connection]
20:26
<
anarsoul >
alyssa: most of them? :)
20:27
<
alyssa >
I'm not seeing any issues here.
20:29
stikonas has joined #panfrost
20:29
<
alyssa >
and I can't debug what I can't reproduce.
20:35
<
anarsoul >
I'll look into it later
20:35
<
anarsoul >
alyssa: you also may want to run it through valgrind
20:36
alpernebbi has quit [Quit: alpernebbi]
20:37
raster has quit [Quit: Gettin' stinky!]
20:56
warpme_ has quit [Quit: Connection closed for inactivity]
20:58
<
anarsoul >
btw -O3 alone cuts 15 seconds (out of 3min 35sec) of functional.texture.* tests
21:04
<
anarsoul >
alyssa: why did you change src_x to x in panfrost_access_tiled_image_generic()?
21:17
NeuroScr has joined #panfrost
21:21
<
anarsoul >
alyssa: so in lima we're using staging buffer for transfer, and it's dimensions are box that's passed to lima_transfer_map()
21:24
<
anarsoul >
alyssa: you basically forgot that src dimensions are not the same as dst
21:35
<
anarsoul >
however it's buggy (doesn't do tiling/untiling correctly)
21:44
anarsoul|c has quit [Quit: Connection closed for inactivity]
21:50
<
anarsoul >
also "fast path" doesn't seem to be so fast, there's negligible difference in functional.texture.* run time (3m20s vs 3m19s)
21:53
<
alyssa >
anarsoul: the fast path is specifically for bpp4
21:53
<
alyssa >
texture.* tests a lot of everything
21:54
<
anarsoul >
fair enough
21:54
<
alyssa >
anarsoul: "you basically forgot that src dimensions ... " this was intentionally changed.
21:54
<
alyssa >
the attached gist is what I had before but that was obviously buggy
21:55
<
anarsoul >
then I guess you have to fix users? :)
21:55
<
alyssa >
The users are internal to that file
21:55
<
alyssa >
you changed the users
21:55
<
alyssa >
(in the gist)
21:56
<
alyssa >
- void *dst_origin = (void *) ((uint8_t *) (dst) - y * src_stride - x*bpp);
21:56
<
anarsoul >
yet you get invalid pointer with this ptr arithmetic
21:56
<
alyssa >
^ ...that should be dst_stride
21:56
<
alyssa >
anarsoul: Correct.
21:57
<
alyssa >
That's okay -- we're changing the semantics of these (completely file-internal) routines
21:57
<
alyssa >
and then x,y,w,h is interpreted as a valid region, anything outside that is out-of-bounds
21:58
<
alyssa >
Your static analyzer won't pick up on that but it doesn't make the logic wrong, and it simplifies stuff
21:58
<
alyssa >
Perhaps that's an
*ugly* solution but. in theory it is fine
21:58
<
alyssa >
I think the dst_stride thing is the problem, running through CI
21:58
<
anarsoul >
yeah, fixing dst_origin fixes the crash
21:59
<
anarsoul >
let me try it on weston
21:59
<
alyssa >
The alternative btw is to add crazy offsets to the _generic calls for the borders. Which it sounds like you would be more comfortable with (since it gets rid of the invalid pointers, even though they won't actually be accessed)
22:00
NeuroScr has quit [Quit: NeuroScr]
22:01
<
alyssa >
I'm fine with either solution
22:07
NeuroScr has joined #panfrost
22:11
<
anarsoul >
alyssa: I think the issue is that you're trying to combine src_x/src_y and dst_x and dst_y
22:12
<
anarsoul >
I think it'll improve readability
22:12
<
anarsoul >
pointer arithmetic is error-prone
22:13
<
anarsoul >
uh, I guess I missed one sentence :)
22:13
raster has joined #panfrost
22:13
<
anarsoul >
just use src_x/src_y/dst_x/dst_y args
22:19
raster has quit [Quit: Gettin' stinky!]
22:22
<
icecream95 >
GALLIUM_HUD works fine with SFBD...
22:44
Depau has quit [Ping timeout: 265 seconds]
22:47
Depau has joined #panfrost
22:50
<
alyssa >
icecream95: Probably because sRGB is totally nop'd out for SFBD so there's nothing to expose ---> nothing to break? :P
22:52
<
icecream95 >
MALI_MFBD_FORMAT_SRGB doesn't seem to do anything
23:01
<
icecream95 >
The only values of mali_rt_format.flags that seems to have any affect is (bit1 ^ bit2) giving a black window
23:22
tgall_foo has quit [Ping timeout: 268 seconds]
23:37
Depau has quit [Ping timeout: 258 seconds]