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
Guest6009 is now known as ndufresne
cphealy has quit [Remote host closed the connection]
cphealy has joined #panfrost
camus has quit [Read error: Connection reset by peer]
camus has joined #panfrost
rando25892 has quit [Ping timeout: 480 seconds]
bluebugs has quit [Remote host closed the connection]
mriesch has quit [Remote host closed the connection]
mriesch has joined #panfrost
atler has quit [Quit: atler]
pendingchaos has joined #panfrost
cedric has joined #panfrost
bluebugs has quit [Ping timeout: 480 seconds]
Net147_ has joined #panfrost
Net147 has quit [Ping timeout: 480 seconds]
Net147 has joined #panfrost
Net147_ has quit [Read error: Connection reset by peer]
alpernebbi has joined #panfrost
robher has quit []
robher has joined #panfrost
pjakobsson has joined #panfrost
Net147_ has joined #panfrost
Net147 has quit [Remote host closed the connection]
Net147 has joined #panfrost
Net147_ has quit [Ping timeout: 480 seconds]
Net147_ has joined #panfrost
Net147 has quit [Remote host closed the connection]
camus has quit []
daniels has quit []
daniels has joined #panfrost
jstultz has quit []
jstultz has joined #panfrost
<bbrezillon>
robmur01, stepri01: just had to debug a problem where a compute job was corrupting an executable BO, and finding the source of the corruption would have been easier if we had a way to mark executable BOs non-writable (I hacked the driver to mark all executable BOs non-writable, but I guess we should add an extra flag for that)
Net147 has joined #panfrost
Net147 has quit [Read error: Network is unreachable]
Net147 has joined #panfrost
Net147_ has quit [Read error: Connection reset by peer]
<robmur01>
bbrezillon: can we know the intended purpose of a BO at the point it's mapped in panfrost_gem_open()?
<robmur01>
hmm, actually I see we already have bo->noexec... can we just infer no_exec == RW and !no_exec == RX?
<robmur01>
fiddling with the prot flags in panfrost_mmu_map() will be trivial, but changing permissions once something's already mapped much less so
<stepri01>
I'd be a bit worried about breaking something by simply removing write permissions from !no_exec. But I can't see any issues with having an extra flag to specify that the GPU should never write
<stepri01>
readonly no_exec regions could be useful to catch other bugs in the future
<robmur01>
yeah, I was wondering if RWX might still be needed for some of the tricksy self-modifying stuff with write value jobs
<stepri01>
AFAIK the self-modifying stuff with write value jobs is with job descriptors getting modified, so that doesn't need executable. But I do think there might have been something in the past using a full shader to modify the next job
<stepri01>
The DDK also has "pilot shaders" which precompute 'almost constants' and I've no idea whether that sort of trick requires RWX
<robmur01>
if we're looking at BO flags, might it also be worth thinking about whether we could also identify GPU-private mappings which may benefit from reduced shareability?
camus has joined #panfrost
Net147 has quit [Read error: Connection reset by peer]
Net147 has joined #panfrost
<daniels>
stepri01: oh you do pilot shaders as well
<daniels>
(qcom also has this)
<stepri01>
daniels: I suspect it's a fairly common optimisation
<stepri01>
certainly there seems to be enough content out there which has these almost constant expressions in fragment shaders
italove has joined #panfrost
<bbrezillon>
robmur01, stepri01: yep, I feel like changing the 'exec is RW' behavior is risky (kind of breaking the ABI if someone relies on it, FWIW, mesa doesn't)
<bbrezillon>
robmur01: I guess we can pass that info as well
<robclark>
bbrezillon: on drm/msm side, we have a MSM_BO_GPU_READONLY that can be specified at allocation time.. we use that for things like cmdstream and other things that GPU has no business writing.. it's a thing I'd recommend
<bbrezillon>
robclark: yep, makes perfect senes
<bbrezillon>
well, we do have jobs that are modifying cmdstream descs
<bbrezillon>
but we should be able to figure it out at allocation time, and allocate those from a RW pool
Daanct12 has joined #panfrost
Danct12 has quit [Ping timeout: 480 seconds]
Daaanct12 has joined #panfrost
Daanct12 has quit [Ping timeout: 480 seconds]
Daanct12 has joined #panfrost
Daaanct12 has quit [Ping timeout: 480 seconds]
* robmur01
is pleased to report that Kodi appears to run happily on T624
cedric is now known as bluebugs
nlhowell has joined #panfrost
camus has quit []
Daaanct12 has joined #panfrost
Daanct12 has quit [Ping timeout: 480 seconds]
jschwart has quit [Remote host closed the connection]
jschwart has joined #panfrost
jschwart has quit []
jschwart has joined #panfrost
tomeu has quit [Quit: Ping timeout (120 seconds)]
tomeu has joined #panfrost
rasterman has quit [Remote host closed the connection]