JohnnyonFlame has quit [Read error: Connection reset by peer]
diego_r has quit [Ping timeout: 268 seconds]
lynxeye has joined #etnaviv
<marex>
lynxeye: oh hey, any hint on debugging those MMU faults ?
<lynxeye>
marex: grab the devcoredump when it happens and try to work backwards from the programmed states
<marex>
lynxeye: er, details please ?
<lynxeye>
marex: when the GPU hangs etnaviv produces a devcoredump of the GPU state and currently running job. This can be inspected for post-mortem analysis.
<marex>
lynxeye: is that a file generated somewhere ?
<lynxeye>
By default only the first hang produces a devcoredump. If you want more you need to re-arm the coredump module parameter.
<lynxeye>
It's a dump in vmalloc memory, that's why it also disappears after a while. You can grab it by reading the file. Give me a sec to look up my scripts.
<marex>
lynxeye: thanks
<lynxeye>
marex: I have a udev rule in my system to trigger when a coredump shows up. This starts a small script to compress and store the devcoredump. https://paste.debian.net/1191642/
<marex>
lynxeye: all right, let's enable that, thanks
<marex>
lynxeye: how do you rearm the devcoredump for the next sample then ?
<austriancoder>
marex: you got now the same answer in a week - just use etna-gpu-tools :)
<marex>
austriancoder: the documentation for this could be better :)
<dv_>
the hardwired YUV -> RGB CSC on viv GPUs does not allow for choosing particular color spaces, right?
<dv_>
specifically the coefficients for BT.601 , BT.709 etc.
<dv_>
although, I do recall someone saying that the conversion matrix _can_ be overwritten?
<lynxeye>
dv_: At least we don't know how to configure the color space if it is at all possible.
<lynxeye>
dv_: The 2D GPU has a bit to switch between 601 and 709, so there _might_ also be a bit in the 3D sampler to change this, but nobody RE'ed it.
<dv_>
ah, but the 601 and 709 coefficients themselves are supported at least
<dv_>
cphealy ^
<dv_>
but wait - the 2D GPU, so the PixelEngine?
<lynxeye>
dv_: No, 2D GPU as in GC320, the totally separate core on i.MX6
<dv_>
the block that samples YUV data and stores it into a texture (that is - what's behing the VIV_direct_texture extension) is something entirely different, right?
<dv_>
hm so that switch is not available on imx8 devices then
<lynxeye>
dv_: There is no block to store YUV into textures. There is a YUV tiler, which allows to reorder planar YUV into interleaved YUV. The 3D GPU texture sampler then reads interleaved YUV and gives you RGB as shader input.
<lynxeye>
There is a hardwired CSC in the texture sampler and based on the knowledge that the totally separate 2D GPU, which can also do YUV->RGB conversion has a bit to configure the color space I speculate that there might be something similar for the 3D GPU sampler.
<lynxeye>
But that's nothing more than speculation.