alyssa changed the topic of #panfrost to: Panfrost - FLOSS Mali Midgard & Bifrost - Logs https://freenode.irclog.whitequark.org/panfrost - <daniels> avoiding X is a huge feature
tomboy64 has quit [Ping timeout: 240 seconds]
tomboy64 has joined #panfrost
stikonas has quit [Remote host closed the connection]
nerdboy has joined #panfrost
nerdboy has quit [Ping timeout: 264 seconds]
vstehle has quit [Ping timeout: 240 seconds]
bbrezillon has quit [Ping timeout: 264 seconds]
thefloweringash has joined #panfrost
davidlt has joined #panfrost
buzzmarshall has quit [Remote host closed the connection]
nerdboy has joined #panfrost
<tomeu> alyssa: cool, wonder why you don't have 577c491ff36d hack bifrost_tiler_heap_meta in in that branch though
vstehle has joined #panfrost
<tomeu> alyssa: btw, just got the DDK working on my g31, and the only differences I'm seeing besides those expected from the different screen size is:
<tomeu> - .workgroups_x_shift_2 = 3,
<tomeu> + .workgroups_x_shift_2 = 2,
<tomeu> shaders seem to be compiled exactly the same
<tomeu> oh, and:
<tomeu> - .preload_regs = 0x41,
<tomeu> + .preload_regs = 0x1,
<tomeu> the diff is g52->g31
<tomeu> other difference is that the g52 supports GL_EXT_texture_filter_anisotropic but the g31 doesn't
<tomeu> this is when drawing one face only in kmscube
mias has joined #panfrost
<tomeu> alyssa: one interesting thing about the tiler is that, when I read tiler_heap_free, I no longer have the value I put (tiler_heap_start), but a value 16512 higher
<tomeu> we wait for the job to complete before reading back the cmdstream, but we don't do that when reading the cmdstream from libmali
<tomeu> so wonder if the HW is telling us how much of the heap it used
<tomeu> for us to keep it around for the next frame
<tomeu> alyssa: the exception I was getting pointing to the tiler descriptor was due to the hierarchy mask
<tomeu> I was using 0xf0, which is valid for the resolution in the machine I took the ddk trace (1920x1080)
<tomeu> but on the go2 I had to use 0xa0
<tomeu> now I don't get the exception, but I get some values back in the tiler descriptors
<tomeu> bifrost1.unk1 is also coming back changed, from 0x800200 to 0x800240 :/
<tomeu> for the tiler job, the same 0x40 value is added as well
<tomeu> in bifrost_tiler_meta.zero0, the HW writes 0x14002204000
<tomeu> 0x2204000 is towards the end of the heap
bbrezillon has joined #panfrost
<tomeu> alyssa: with what I'm going to push in a bit, the biggest difference by far in the cmdstream is:
<tomeu> - .uniform_count = 0,
<tomeu> + .uniform_count = 25,
<tomeu> I suspect that may be the last bit, and if not, then something in the shaders
<tomeu> alyssa: pushed to my v12
yann|work has joined #panfrost
yann has quit [Ping timeout: 256 seconds]
yann|work has quit [Ping timeout: 264 seconds]
<icecream95> It looks like performance counters actually work now. :) Time to work out how to parse it, as just the hex-dump isn't very useful...
yann|work has joined #panfrost
<cwabbott> tomeu: fwiw, from what I remember, the tiler_heap_free thing is actually used by the tiler, it's a pointer to the end of the region of the heap that the tiler actually wrote to
<cwabbott> or maybe another way to think about it is that the tiler uses a simple bump allocator internally when it needs more space, and the tiler datastructure is where it stores the allocator state
<cwabbott> so it's expected that the tiler will write to it
<cwabbott> you're supposed to set it to the beginning in the driver, and then let the tiler handle things itself from then on
<cwabbott> also, fwiw, this is probably what the SET_VALUE job was for on midgard... it just got replaced with tiler_heap_free on bifrost
stikonas has joined #panfrost
nerdboy has quit [Ping timeout: 258 seconds]
_whitelogger has joined #panfrost
icecream95 has quit [Ping timeout: 256 seconds]
<tomeu> cwabbott: oh, that makes sense, thanks!
mixfix411 has joined #panfrost
tomboy64 has quit [Write error: Broken pipe]
buzzmarshall has joined #panfrost
tomboy64 has joined #panfrost
tomboy64 has quit [Remote host closed the connection]
tomboy65 has joined #panfrost
<alyssa> cwabbott: I can confirm the midgard piece
<alyssa> SET_VALUE (on midgard *or* Bifrost) is a generic write value primitive (generic on Bifrost, special values on Midgard)
<alyssa> OD
<alyssa> mode=0x3 writes a 64-bit zero
<alyssa> and the given address is to a tiler structure
<alyssa> which marks it off as free/initialized/whatever to the hw (instead of clearing the whole BO)
<cwabbott> yeah, I have to imagine that it's an offset instead of a pointer on midgard
<cwabbott> on bifrost they pulled it out of the heap itself into the descriptor, so that resetting it just involves changing out the descriptor
<alyssa> Aye
<alyssa> cwabbott: BTW, aware of any hair pulling issues where changing the register numbers would suddenlt break a program? nothing else looks changed in the disasm X:
<cwabbott> nope, not that I know of
<alyssa> neiiigh
<alyssa> guess I'll be writing unit tests like crazy tomorrow
<alyssa> thank you
<alyssa> tomeu: thank you for investigating. sounds like you're making excellent progress then!
<alyssa> does it still fault? if not, I'm assuming it's just a compiler issue
<tomeu> alyssa: yeah, no faults
<tomeu> only get the clear color in the screen
<alyssa> tomeu: Awesome :-)
<tomeu> the uniforms thing looks the most suspicious to me
<alyssa> Okay, if I get some time tonight I might take a look but it sounds like your stuff is working
<alyssa> no, we don't use uniforms yet in that sense, we stuff everything in UBOs (it's a compiler todo)
<tomeu> ah, now it all makes sense
<tomeu> Passed: 8/19 (42.1%)
<tomeu> :)
* tomeu was missing deqp-directed hacking
<alyssa> tomeu: :)
<daniels> nice! :D
raster has quit [Quit: Gettin' stinky!]
<Lyude> tomeu: did you figure out tiling?
raster has joined #panfrost
adjtm_ has quit [Remote host closed the connection]
adjtm_ has joined #panfrost
raster has quit [Quit: Gettin' stinky!]
nerdboy has joined #panfrost
nerdboy has quit [Ping timeout: 250 seconds]
cwabbott_ has joined #panfrost
cwabbott has quit [Ping timeout: 265 seconds]
cwabbott_ is now known as cwabbott
chewitt has quit [Quit: Zzz..]
nerdboy has joined #panfrost
nerdboy has quit [Ping timeout: 256 seconds]
davidlt has quit [Ping timeout: 265 seconds]
nerdboy has joined #panfrost
unoccupied has joined #panfrost
nerdboy has quit [Ping timeout: 265 seconds]
raster has joined #panfrost
mias has quit [Ping timeout: 256 seconds]
raster has quit [Remote host closed the connection]
adjtm_ has quit [Remote host closed the connection]
adjtm_ has joined #panfrost
adjtm_ has quit [Remote host closed the connection]
adjtm_ has joined #panfrost