<HdkR>
Oop. Needed to add support for 3src add instructions
<HdkR>
Now to fix the load and store attribute instructions to actually do something
<HdkR>
cwabbott: Can you give me a definition for the data register?
<HdkR>
It looks like a base register provided in the header out of the regular 64 from the RF. Certain instructions can write upwards of 128bits out in to it. Header additionally has a data register scoreboard dependency for future clauses. Then other instructions implicitly consume the data from the data register without being in the instruction encoding or the regular register information bits
<HdkR>
Sort of sideband data from the "typical" use case of all the other instructions
<HdkR>
I could go forward working on this assumption but I'll wait to be sure. Maybe dump some shaders while waiting :P
stikonas has quit [Remote host closed the connection]
stikonas has joined #panfrost
stikonas has quit [Read error: Connection reset by peer]
<Lyude>
HdkR:
<Lyude>
Do you mean the uniform register that's used for both constants and uniforms?
<HdkR>
Lyude: It's called data register in the disassembler
<Lyude>
ohM
<Lyude>
I know what is, one sec
<HdkR>
Gets used by attribute loadstores and address generation, blend and texture instructions, and...scratch? instructions
<HdkR>
Also UBO load instrutions and...memory loadstores?
<Lyude>
Yep! So
<Lyude>
It's more easily thought as the output location for variable latency instructions, recall that all of the instructions in a clause are not variable latency
<HdkR>
Aye
<HdkR>
So the header declares the base data register and the instructions will use upwards of 128bits of data from that base. Just iterating upwards as it uses more data?
<HdkR>
Does it have alignment requirements?
<HdkR>
Also it only has a single data reg sscoreboard flag? So you effectively can't reorder multiple data register clauses?
<HdkR>
Say you have two clauses in a row that write to the data register(different base for each). The dependency tracking of only one flag would mean you stall through to the second one's data regardless
<Lyude>
Are we defining base as 2
<Lyude>
*32 vs 64
<HdkR>
?
<HdkR>
data register base
<Lyude>
sorry on my phone here and quickly realizing this question is not as sin
<Lyude>
ugh
<HdkR>
:D
<Lyude>
*simple as I thought it would be
<Lyude>
Tldr I don't know NVM sorry!!! That's what I get for trying to answer questions on PTO
<HdkR>
With how the header is laid out, it would be nice if you could use the regular scoreboard dependencies to track which clause the data-reg dependency comes from
<HdkR>
With the bool making it so it tracks the regular scoreboard dependency in addition to the data reg dependency :D
<HdkR>
Obviously I should send ARM an email asking about the peculiarities around data reg dependency tracking. It's the most important bit
<alyssa>
chewitt: I haven't pushed the corresponding patches to mesa for that yet, sorry
<alyssa>
HdkR: "Basic RA shamelessly stolen from the midgard compiler and ...working?" No shame indeed.
<alyssa>
(I stole it from vc4 or something, probably)
<HdkR>
The default implementation is pretty easy, mostly just figuring out what to use from the utility headers
chewitt has joined #panfrost
<alyssa>
chewitt: "I haven't pushed the corresponding patches to mesa for that yet, sorry"
<chewitt>
no problem, I have a variant of the previous hack added so get things working using nodrm/master
<chewitt>
so LE is rebased against 5.0-rc7 and panfrost using mesa master
<chewitt>
memory behaviour seems to be better than before
<chewitt>
although navigation around the GUI feels sluggish and there's still a few graphical glitches where I see triangles that radiate from bottom-left on the screen
<chewitt>
sluggish compared to lima
<chewitt>
the default screensavers (black and dim) still result in triangles radiating from bottom-left and Kodi is unrecoverable at that point
<chewitt>
it would be nice to get those working as 'dim' is enabled by default
<alyssa>
chewitt: It's really hard for me to repro the dimming which makes it hard to debug..
<alyssa>
I wonder if I could add a hack to make dimming apply after seconds, rather than minutes?
<chewitt>
in Kodi settings > interface > screensaver .. select dim as the screensaver, then 'preview' in the menu
<chewitt>
it activates on demand that way
<alyssa>
:eyes:
<chewitt>
before the rebase (so using pre-kmsro code) navigation in panfrost felt normal (equivalent to lima)
<chewitt>
but slower with no crashes is better than faster and crashy :)
<alyssa>
Huh.
<alyssa>
I'm not sure what would've regressed, performance-wise
<alyssa>
Since navigation feels totally zippy on my end
<chewitt>
it's possible something changed with 5.0-rc7 .. but it's normal on other hardware
<alyssa>
chewitt: Oh, I have a suspicion then
<alyssa>
Could you PM me the stdout?
<chewitt>
from Kodi?
<chewitt>
http://ix.io/1BSM <= boot + Kodi start (and almost immediate crash) + Kodi auto restart
<chewitt>
I'm also seeing issues with Kodi rendering lots of thumbnails
<chewitt>
e.g. on the home screen when you navigate down to movies/tvshows and content is pulled from the library to populate in-progress/recently added movies
<alyssa>
Hm, so maybe related uh
<alyssa>
I was looking for those "Uploaded transient" lines
<alyssa>
That's the amount of memory we're memcpy'ing and immediately throwing out every frame, 250kb is more than it should be but I dunno if that's the issue
<chewitt>
has 1,000 empty files that can be scraped to create a library for testing
<chewitt>
(as Kodi mostly uses filenames for scraping)
<chewitt>
so unzip somewhere and add the location as a 'source' then scrape the source to build the library
* alyssa
mumbles
_whitelogger has joined #panfrost
marcodiego has quit [Quit: Leaving]
chewitt has quit [Read error: Connection reset by peer]
<alyssa>
So the last 4 tweets on the Collabora account either mention or are about Panfrost
* alyssa
approves :+1:
indy has joined #panfrost
stikonas has joined #panfrost
<robertfoss>
alyssa: :) embedded world is coming up, and apparently it is a big deals
<robertfoss>
alyssa: I'll disable EGL_BUFFER_AGE in platform_wayland.c then
adjtm_ has quit [Read error: Connection reset by peer]
adjtm has joined #panfrost
stikonas has quit [Remote host closed the connection]
Kwiboo has quit [Read error: Connection reset by peer]
Kwiboo has joined #panfrost
<robertfoss>
alyssa: ^^ doesn't seem to make a difference
<hanetzer>
robher: hey, if you're around, that change you made to 'fix compile for 5.0-rc' in panfrost, as far as you know is that backwards compatible to 4.20.x? gonna be doing some runtime testing with trace stuff and would like to, if possible, stick to a gentoo-sources kernel
<hanetzer>
ah yep.
raster has joined #panfrost
stikonas has quit [Remote host closed the connection]
stikonas has joined #panfrost
raster has quit [Remote host closed the connection]
<daniels>
hanetzer: which page(s) are slow please
<hanetzer>
daniels: was robh/linux-panfrost but I managed to grab it