ChanServ changed the topic of #panfrost to: Panfrost - FLOSS Mali Midgard & Bifrost - Logs https://oftc.irclog.whitequark.org/panfrost - <macc24> i have been here before it was popular
atler has quit [Quit: atler]
Rathann has quit [Ping timeout: 480 seconds]
megi2 has quit []
megi has joined #panfrost
nlhowell is now known as Guest1208
nlhowell has joined #panfrost
nlhowell is now known as Guest1209
nlhowell has joined #panfrost
Guest1209 has quit [Ping timeout: 480 seconds]
WoC has quit [Remote host closed the connection]
WoC has joined #panfrost
WoC has quit [Remote host closed the connection]
WoC has joined #panfrost
cphealy_ has joined #panfrost
WoC is now known as Guest1223
WoC has joined #panfrost
bbrezillon has quit [Ping timeout: 480 seconds]
Guest1223 has quit [Remote host closed the connection]
cphealy has quit [Ping timeout: 480 seconds]
camus has joined #panfrost
camus1 has quit [Ping timeout: 480 seconds]
_whitelogger has joined #panfrost
hyrc has joined #panfrost
wens has quit [Server closed connection]
wens has joined #panfrost
Net147 has quit [Server closed connection]
Net147 has joined #panfrost
camus1 has joined #panfrost
camus has quit [Ping timeout: 480 seconds]
nlhowell has quit [nucleus.oftc.net coherence.oftc.net]
kenzie35 has quit [nucleus.oftc.net coherence.oftc.net]
tlwoerner has quit [nucleus.oftc.net coherence.oftc.net]
ezequielg has quit [nucleus.oftc.net coherence.oftc.net]
ckeepax has quit [nucleus.oftc.net coherence.oftc.net]
bluebugs has quit [nucleus.oftc.net coherence.oftc.net]
rcf has quit [nucleus.oftc.net coherence.oftc.net]
alyssa has quit [nucleus.oftc.net coherence.oftc.net]
robink has quit [nucleus.oftc.net coherence.oftc.net]
anholt has quit [nucleus.oftc.net coherence.oftc.net]
join_subline has quit [nucleus.oftc.net coherence.oftc.net]
cgp has quit [nucleus.oftc.net coherence.oftc.net]
trixie has quit [nucleus.oftc.net coherence.oftc.net]
remexre has quit [nucleus.oftc.net coherence.oftc.net]
orkid has quit [nucleus.oftc.net coherence.oftc.net]
wicastC has quit [nucleus.oftc.net coherence.oftc.net]
jkl has quit [nucleus.oftc.net coherence.oftc.net]
cyrozap has quit [nucleus.oftc.net coherence.oftc.net]
jolan_ has quit [nucleus.oftc.net coherence.oftc.net]
suihkulokki has quit [nucleus.oftc.net coherence.oftc.net]
SolidHal8 has quit [nucleus.oftc.net coherence.oftc.net]
krh has quit [nucleus.oftc.net coherence.oftc.net]
spawacz has quit [nucleus.oftc.net coherence.oftc.net]
robclark has quit [nucleus.oftc.net coherence.oftc.net]
daniels has quit [nucleus.oftc.net coherence.oftc.net]
megi has quit [nucleus.oftc.net coherence.oftc.net]
JulianGro has quit [nucleus.oftc.net coherence.oftc.net]
hyrc has quit [nucleus.oftc.net coherence.oftc.net]
dianshi has quit [nucleus.oftc.net coherence.oftc.net]
leah has quit [nucleus.oftc.net coherence.oftc.net]
jenneron[m] has quit [nucleus.oftc.net coherence.oftc.net]
floof58 has quit [nucleus.oftc.net coherence.oftc.net]
pendingchaos has quit [nucleus.oftc.net coherence.oftc.net]
jernej has quit [nucleus.oftc.net coherence.oftc.net]
chewitt has quit [nucleus.oftc.net coherence.oftc.net]
CME has quit [nucleus.oftc.net coherence.oftc.net]
CounterPillow has quit [nucleus.oftc.net coherence.oftc.net]
vstehle has quit [nucleus.oftc.net coherence.oftc.net]
Guest1208 has quit [nucleus.oftc.net coherence.oftc.net]
pjakobsson has quit [nucleus.oftc.net coherence.oftc.net]
wilkom has quit [nucleus.oftc.net coherence.oftc.net]
stebler[m] has quit [nucleus.oftc.net coherence.oftc.net]
Guest7735 has quit [nucleus.oftc.net coherence.oftc.net]
alpernebbi has quit [nucleus.oftc.net coherence.oftc.net]
sigmaris has quit [nucleus.oftc.net coherence.oftc.net]
rellla has quit [nucleus.oftc.net coherence.oftc.net]
ndufresne has quit [nucleus.oftc.net coherence.oftc.net]
stepri01 has quit [nucleus.oftc.net coherence.oftc.net]
mmind00 has quit [nucleus.oftc.net coherence.oftc.net]
karolherbst has quit [nucleus.oftc.net coherence.oftc.net]
el0y has quit [nucleus.oftc.net coherence.oftc.net]
tomeu82 has quit [nucleus.oftc.net coherence.oftc.net]
FLHerne has quit [nucleus.oftc.net coherence.oftc.net]
jschwart has quit [nucleus.oftc.net coherence.oftc.net]
AreaScout_ has quit [nucleus.oftc.net coherence.oftc.net]
br has quit [nucleus.oftc.net coherence.oftc.net]
toggleton[m] has quit [nucleus.oftc.net coherence.oftc.net]
enunes has quit [nucleus.oftc.net coherence.oftc.net]
HayashiEsme[m] has quit [nucleus.oftc.net coherence.oftc.net]
go4godvin has quit [nucleus.oftc.net coherence.oftc.net]
italove3 has quit [nucleus.oftc.net coherence.oftc.net]
xdarklight has quit [nucleus.oftc.net coherence.oftc.net]
hl` has quit [nucleus.oftc.net coherence.oftc.net]
jelly has quit [nucleus.oftc.net coherence.oftc.net]
indy has quit [nucleus.oftc.net coherence.oftc.net]
robmur01 has quit [nucleus.oftc.net coherence.oftc.net]
DPA has quit [nucleus.oftc.net coherence.oftc.net]
jambalaya has quit [nucleus.oftc.net coherence.oftc.net]
Dylanger has quit [nucleus.oftc.net coherence.oftc.net]
alarumbe has quit [nucleus.oftc.net coherence.oftc.net]
mav has quit [nucleus.oftc.net coherence.oftc.net]
wolfshappen has quit [nucleus.oftc.net coherence.oftc.net]
urja has quit [nucleus.oftc.net coherence.oftc.net]
ente` has quit [nucleus.oftc.net coherence.oftc.net]
HdkR has quit [nucleus.oftc.net coherence.oftc.net]
strongtz[m] has quit [nucleus.oftc.net coherence.oftc.net]
Stary has quit [nucleus.oftc.net coherence.oftc.net]
rtp has quit [nucleus.oftc.net coherence.oftc.net]
fahien has quit [nucleus.oftc.net coherence.oftc.net]
robertfoss has quit [nucleus.oftc.net coherence.oftc.net]
mriesch has quit [nucleus.oftc.net coherence.oftc.net]
dhewg has quit [nucleus.oftc.net coherence.oftc.net]
psydroid[m]1 has quit [nucleus.oftc.net coherence.oftc.net]
WoC has quit [nucleus.oftc.net coherence.oftc.net]
cphealy_ has quit [nucleus.oftc.net coherence.oftc.net]
anarsoul has quit [nucleus.oftc.net coherence.oftc.net]
soreau has quit [nucleus.oftc.net coherence.oftc.net]
MoeIcenowy has quit [nucleus.oftc.net coherence.oftc.net]
tchebb has quit [nucleus.oftc.net coherence.oftc.net]
dschuermann has quit [nucleus.oftc.net coherence.oftc.net]
rando25892 has quit [nucleus.oftc.net coherence.oftc.net]
philpax_ has quit [nucleus.oftc.net coherence.oftc.net]
robher has quit [nucleus.oftc.net coherence.oftc.net]
Lyude has quit [nucleus.oftc.net coherence.oftc.net]
cwabbott has quit [nucleus.oftc.net coherence.oftc.net]
austriancoder has quit [nucleus.oftc.net coherence.oftc.net]
narmstrong has quit [nucleus.oftc.net coherence.oftc.net]
jstultz has quit [nucleus.oftc.net coherence.oftc.net]
steev has quit [nucleus.oftc.net coherence.oftc.net]
toggleton[m] has joined #panfrost
robclark has joined #panfrost
spawacz has joined #panfrost
orkid has joined #panfrost
daniels has joined #panfrost
camus1 has quit [Ping timeout: 480 seconds]
camus has joined #panfrost
camus1 has joined #panfrost
camus has quit [Ping timeout: 480 seconds]
camus1 has quit [Ping timeout: 480 seconds]
camus has joined #panfrost
WoC has joined #panfrost
WoC has quit [Ping timeout: 480 seconds]
<narmstrong>
Wow you can dl an FVP for Morello, does it have gpu emulation ?
<daniels>
narmstrong: I don't believe the FVP you can download has the Bifrost model
<stepri01>
The model has the following limitations: It does not execute GPU shader programs. It does not validate all register values or job descriptors.
<stepri01>
The G76 model probably isn't what you thought it was ;)
camus has quit [Read error: Connection reset by peer]
<narmstrong>
indeed, quite useless
atler has joined #panfrost
<stepri01>
narmstrong: Slightly harsh - there's a GLES intercepter as part of Fast Models that can do the rendering on the host and inject the results back in. The G76 model can be used to allow that to be used along with a 'real' driver in the guest - the driver thinks it's talking to hardware but it's actually just a very simple model to keep the driver happy. It can be quite useful for early integration testing
<stepri01>
but it's clearly no good for driver development! ;)
<narmstrong>
No doubt it's useless for integration testing, it's useless for panfrost without the gles intercepter
<stepri01>
yes it's pretty pointless without the interceptor. AFAIK there's nothing stopping it working with panfrost if you have it though - but I don't know if anyone has ever tried
suihkulo1ki has joined #panfrost
orkid_ has joined #panfrost
jolan has joined #panfrost
orkid has quit [synthon.oftc.net weber.oftc.net]
robclark has quit [synthon.oftc.net weber.oftc.net]
spawacz has quit [synthon.oftc.net weber.oftc.net]
jkl has joined #panfrost
krh has joined #panfrost
tris_ has joined #panfrost
join_subline has joined #panfrost
robclark has joined #panfrost
spawacz has joined #panfrost
cyrozap has joined #panfrost
wicastC has joined #panfrost
remexre has joined #panfrost
SolidHal8 has joined #panfrost
camus has joined #panfrost
camus1 has quit [Ping timeout: 480 seconds]
luis has joined #panfrost
luis is now known as Guest1311
Guest1311 has quit [Remote host closed the connection]
<daniels>
stepri01: minor minor details
camus has quit []
rasterman has joined #panfrost
ldearquer has joined #panfrost
<ldearquer>
(Sorry if I am posting this twice, I think my previous attempt was banned...)
<ldearquer>
I happened to be messing with an odroid XU4 and mainline kernel when Alexey posted his patch for T628
<ldearquer>
I tried his patches (and related approaches such as enabling just one core) with no success yet
<ldearquer>
Most changes cause the GPU to hang (and the entire system)
<ldearquer>
Even the heartbeat LED stops
<ldearquer>
w
<ldearquer>
I am testing with glmark2-drm
<ldearquer>
I did one change where only the first job was actually stared (COMMAND_START)
<ldearquer>
The process for all other jobs is still the same, but no COMMAND_START is issued
<ldearquer>
With this approach, the GPU doesn't hang, i.e. the first job is completed succesfully
<ldearquer>
The second job (and all thereafter) obviously timeout
<ldearquer>
And if I change the driver to run a second job, it consistently hangs
<ldearquer>
So it is the second job that causes the hang
<ldearquer>
The first job has slot 0, whereas the second job has slot 1
<ldearquer>
I also tried to remove one of the drm scheduler queues, so that jobs are scheduled one a time (no two slots in parallel), but this didn't help
<ldearquer>
So I am trying to figure out whether the issue is with the second job, due to e.g. some invalid state in the GPU after the first job
<ldearquer>
...or it has to do with the tiler
<ldearquer>
I am just posting this in case someone has more ideas :)
<ldearquer>
Also, I wanted to ask: Is it OK to send fragment jobs to slot 1?
<ldearquer>
Is it "ok" if I make panfrost_job_get_slot() return 1 for all jobs?
<alyssa>
stepri01: I do vaguely recall seeing any actual G71 emulator floating around from one of the Arm-sponsored research projects, but I was too scared to download given the EULA
<alyssa>
ldearquer: At least on Malis I'm familiar with, fragment jobs must be sent to slot 0, and vertex/tiling jobs must be sent to slot 1 (or 2 but that doesn't apply to GLES)
<alyssa>
(GLES2.0)
<alyssa>
narmstrong: For Bifrost at least I don't know if I see the value in a emulator blob
<alyssa>
Decompiling/disassembling is legally dicey, which means it'd be a black box that in the best case is no better than just running on the real board.
<alyssa>
And procuring Bifrost boards (G52, which is software compatible with G76 -- to the best of my knowledge, the only change Arm made to support G76 in Panfrost was adding the GPU ID, everything else followed from Collabora's work on bringing up Mali-G52)
<alyssa>
....procuring Mali-G52 boards is easy and cheap.
<alyssa>
and they're fast enough that building a cluster of Bifrost boards is likely faster/cheaper than building a supercomputer to run an accurate emulator on
GinKage has joined #panfrost
GinKage has quit []
<ldearquer>
alyssa: ok thanks
<alyssa>
ldearquer: It is quite possible the "second job" on "slot 1" -- the job running vertex shaders and tiling -- isn't quite right on Mali-T628
<ldearquer>
alyssa: since JS1 jobs cause the hang, i will try to send simple JS1 jobs. Maybe glmark2 is too complex...
<alyssa>
It shouldn't cause a hang, though
<ldearquer>
alyssa: i thought that, but other T628 are working out there (the last patch from Alexey on dri-devel made it work on his SBC)
<alyssa>
at least the kernel should be able to recover from it
<ldearquer>
alyssa: i think the same... my guess is maybe the tiler pm or clocking is not correctly set up, but couldn't find any difference on kbase
<alyssa>
Do you know if the generic kbase from Arm works?
<ldearquer>
alyssa: There is a hw issue for tiler clock gating override, I will try it.
<alyssa>
(as opposed to only working with a specific Exynos kernel)
<alyssa>
that issue doesn't seem to apply to T628
<ldearquer>
alyssa: tbh i didn't try, but always assumed to be the case, because arm publishes a blob specifically to this exynos, along with the kbase driver
<alyssa>
Hm
<alyssa>
Also, what is the r-p- numbers for your model?
<ldearquer>
i know, it's true it doesn't apply, but i am just trying random things at this point :) r0p1
<alyssa>
thanks
<ldearquer>
missinig clock gating can bring a whole ARM chip down, so I am looking into that as first choice
<alyssa>
I wonder if it's #10127
<ldearquer>
unless i am having some deadlock... but other mali's would have it too
<alyssa>
#10487 will be broken too but that only applies for textures
<alyssa>
#10676 applies
<alyssa>
#10817 will need a workaround
<alyssa>
#10883 too
<ldearquer>
#10127, kbase does nothing about it
<alyssa>
maybe #11035
<ldearquer>
hmm, are issues reported to userspace too?
<ldearquer>
could be the blob doing sthg?
<alyssa>
#10127, #10487 are userspace issues
<alyssa>
the others are kernel
<alyssa>
#11035 needs to be handled in the kernel, that should be a 4 line patch
<alyssa>
same for #10327
<alyssa>
and #10797 and
<alyssa>
grumble. I'll type out those patches for you
<alyssa>
if you test them
<alyssa>
but they won't fix /the/ issue
<ldearquer>
i think it already does (11035), adding SC_LS_PAUSEBUFFER_DISABLE to CONFIG_SHADER
<alyssa>
alright, don't have kernel on this machine
<alyssa>
I haven't had breakfast yet, just got nerdsniped by an interesting problem
soreau has joined #panfrost
<ldearquer>
hahaha
<alyssa>
#10676 is worked around by kbase
<ldearquer>
I think most kernel issues in kbase, if not all, are already handled in mainline
<ldearquer>
i will revise
<alyssa>
that one is slightly nontrivial to work around
<ldearquer>
10676?
<alyssa>
hardware affected by #10676 need extra cache flushes
<ldearquer>
good! yup
<ldearquer>
that is!
<alyssa>
only applies to certain ancient t6xx with multiple core groups
<ldearquer>
i had missed that one!
<alyssa>
which includes you v:
<ldearquer>
i see kbase does something with that one
<ldearquer>
ok, i'll play around with it, thanks a lot!
<ldearquer>
yes, good old exynos5422 :)
<alyssa>
this chip
<alyssa>
this chip is the most broken mali i've ever seen
<alyssa>
and i have a mali-g71 laying around
<ldearquer>
that makes a challenge :D
<alyssa>
ugh
<alyssa>
:-p
<alyssa>
don't expect anything more than GLES 2.0 since there are lots of annoying hardware bugs that only apply to GLES 3.x
<alyssa>
unless you plan on adding workarounds to the compiler too ;-p
<ldearquer>
actually i started by wanting to make some compute shader for converting pixels to HSV colorspace, then i saw it wasn't supported (yet), then saw it wasn't working on my device at all :D
<ldearquer>
then saw Alexey patch on job affinity, and started reading all the drm code
<ldearquer>
i need a healthier hobby
* robmur01
thought ES3 was blocked on the unspeakable SFBD MRT emulation anyway :)
<alyssa>
robmur01: yes, that too.
<alyssa>
that's the bigger issue but yes.
ldearquer has left #panfrost [#panfrost]
nlhowell has joined #panfrost
nlhowell is now known as Guest34
nlhowell has joined #panfrost
nlhowell is now known as Guest35
nlhowell has joined #panfrost
nlhowell is now known as Guest36
nlhowell has joined #panfrost
Guest34 has quit [Ping timeout: 480 seconds]
Guest35 has quit [Ping timeout: 480 seconds]
Guest36 has quit [Ping timeout: 480 seconds]
Bennett has joined #panfrost
Juahyori has joined #panfrost
soreau has quit [Read error: Connection reset by peer]
soreau has joined #panfrost
MajorBiscuit has quit [Ping timeout: 480 seconds]
WoC has quit [Remote host closed the connection]
<Juahyori>
Hello, everyone. I'm a fairly new self taught c/c++ dev, with a very rudimentary understanding of OpenGL, but I'd like to roll up my sleeves and help out with the Panfrost drivers and hopefully learn something on the way. Could anyone point me to any junior tasks / beginner friendly efforts I could help with?
WoC has joined #panfrost
<alyssa>
[ 489.128265] panfrost 13000000.gpu: Unhandled Page fault in AS0 at VA 0x0000000000001800
<alyssa>
access type 0x3: WRITE
<alyssa>
source id 0xA0
<alyssa>
Hm.
<alyssa>
from a /fragment/ job of all things
WoC has quit [Read error: Connection reset by peer]
nlhowell has quit [Ping timeout: 480 seconds]
<alyssa>
I wonder if I'm missing something to link multiple draws
WoC has joined #panfrost
<alyssa>
Well, I was but that wasn't the issue
<alyssa>
am I going to go implement UBOs on Valhall? yeah, guess so
<alyssa>
so indexing is different in Valhall
<alyssa>
presumably for the better
<alyssa>
Index buffers have to be aligned but I think that's fine
<alyssa>
just changes the logic in panfrost
WoC has quit [Remote host closed the connection]
<alyssa>
or not. Hum
<alyssa>
DDK doesn't seem to align them...
MajorBiscuit has joined #panfrost
* alyssa
goofed something with V2F32_TO_V2F16
<alyssa>
vectorizing it, I mean
<alyssa>
still stuck on the wrote to 0x1800 though
<alyssa>
write
<alyssa>
it's happening during the fragment job
<alyssa>
but there's no memory writes from the fragment shader .. the only memory write from the fragment job should be the framebuffer/CRC/etc
<alyssa>
what's weirder, 0x1800 doesn't show up anywhere.
<alyssa>
like, the bytes `00 18` are nowhere to be found
<alyssa>
or `18 00` even
<alyssa>
don't know what souce id 0xA0 is on Valhall
<alyssa>
unimplemented depth/stencil writes, d'oh
<alyssa>
For now, focusing on the Valhall compiler
<alyssa>
so, debugged enough today that the machine survives dEQP-GLES2.functional.shaders.*
<alyssa>
(with the thinking that if I'm passing 100% of the shaders.* the compiler is probably functional enough to upstream)
<alyssa>
as for the failures list -- all but 3 are texturing fails
<anholt>
(actually, I think r300 might just segfault on it)
<alyssa>
anholt: rude ;-p
<anholt>
to be fair, that test is mean to lots of compilers. I'm pretty proud of it.
<alyssa>
ah, that's yours? :)
<alyssa>
of the 3 nontexture fails, all are in dEQP-GLES2.functional.shaders.builtin_variable.*
nlhowell has joined #panfrost
Juahyori has quit [Quit: Page closed]
<steev>
alyssa: so i'm kinda digging in... 21.2 mesa sort of works (there's this weird, black text is white in LightDM) but i can e.g. launch my alacritty that's patched for OGL3.1, i'm gonna slowly work my way up to hopefully find the commit that breaks things