ChanServ changed the topic of #dri-devel to: <ajax> nothing involved with X should ever be unable to find a bar
Leopold has quit [Remote host closed the connection]
pcercuei has quit [Quit: dodo]
<daniels>
mirko: Iβm afraid you have to do it in the application
ybogdano has joined #dri-devel
yuq825 has joined #dri-devel
mbrost_ has joined #dri-devel
mbrost has quit [Ping timeout: 480 seconds]
mbrost_ has quit [Ping timeout: 480 seconds]
enunes has joined #dri-devel
mbrost has joined #dri-devel
<macromorgan>
would this be the right IRC to discuss panel drivers?
co1umbarius has joined #dri-devel
columbarius has quit [Ping timeout: 480 seconds]
<airlied>
macromorgan: yes most likely
<macromorgan>
would it be possible to get a review of 2 that I submitted upstream? It's the last piece of hardware before I can close the book on a series of handheld devices.
<macromorgan>
The other is a bit odd... it's the only panel (that I can see) of it's kind in the kernel, whereby commands are sent via SPI but data is sent via DSI. There's a few where commands are sent via SPI and data via DPI which I used as a guide: https://lore.kernel.org/dri-devel/20220926164333.7485-3-macroalpha82@gmail.com/
rotationmatrix has quit [Quit: Leaving]
rotationmatrix has joined #dri-devel
<mirko>
macromorgan: feel free to tell me which channel would be suited better - got it from the MAINTAINERS file within the DRM project
alyssa has left #dri-devel [#dri-devel]
<mirko>
daniels: hm, that's unfortunate, especially since the HW supports it natively and it's not just code maintenance re this particular setup, but also computing overhead in software :/
<mirko>
macromorgan: ah, probably your question was totally unrelated to what I was saying - nevermind then..
<mirko>
x
karolherbst has quit [Remote host closed the connection]
karolherbst has joined #dri-devel
mbrost has quit [Ping timeout: 480 seconds]
ngcortes has quit [Remote host closed the connection]
<DemiMarie>
daniels: is there some reason that KMS cannot do a 180 degree rotation?
dreda has quit [Ping timeout: 480 seconds]
rmckeever_ has joined #dri-devel
rmckeever has quit [Ping timeout: 480 seconds]
rmckeever_ has quit []
dreda has joined #dri-devel
dreda is now known as Guest1030
lemonzest has quit [Quit: WeeChat 3.6]
bmodem has joined #dri-devel
kts has joined #dri-devel
Duke`` has joined #dri-devel
Scorpi_ has quit [Remote host closed the connection]
Scorpi has joined #dri-devel
bgs has joined #dri-devel
fab has joined #dri-devel
kts has quit [Quit: Leaving]
Duke`` has quit [Ping timeout: 480 seconds]
kts has joined #dri-devel
pa has quit [Ping timeout: 480 seconds]
mszyprow has joined #dri-devel
mbrost has quit [Read error: Connection reset by peer]
mbrost has joined #dri-devel
srslypascal has quit [Remote host closed the connection]
srslypascal has joined #dri-devel
mbrost has quit [Ping timeout: 480 seconds]
itoral has joined #dri-devel
fab has quit [Quit: fab]
dcz_ has joined #dri-devel
bgs has quit [Remote host closed the connection]
pa has joined #dri-devel
heat has quit [Ping timeout: 480 seconds]
fab has joined #dri-devel
danvet has joined #dri-devel
srslypascal has quit [Remote host closed the connection]
srslypascal has joined #dri-devel
gouchi has joined #dri-devel
gouchi has quit []
tzimmermann has joined #dri-devel
rasterman has joined #dri-devel
frieder has joined #dri-devel
tursulin has joined #dri-devel
MajorBiscuit has joined #dri-devel
rgallaispou has joined #dri-devel
MajorBiscuit has quit [Quit: WeeChat 3.6]
frieder has quit [Quit: Leaving]
frieder has joined #dri-devel
MajorBiscuit has joined #dri-devel
mvlad has joined #dri-devel
srslypascal has quit [Remote host closed the connection]
srslypascal has joined #dri-devel
<linusw>
macromorgan: I try to review display drivers sometimes
swalker__ has joined #dri-devel
swalker_ has joined #dri-devel
swalker_ is now known as Guest1047
swalker__ has quit [Ping timeout: 480 seconds]
<linusw>
macromorgan: I went in and reviewed it.
<linusw>
daniels, DemiMarie: rotation in HW can be done by the display itself in many cases, and then you could use e.g. custom DT props to make it happen.
<linusw>
but in general it would be nice if KMS supported 90/180/270 degrees rotation because vendors use it a lot, sometimes in the panel itself, sometimes in the display controller.
lynxeye has joined #dri-devel
jkrzyszt has joined #dri-devel
<clever>
linusw: as an example, the 2d scanout hardware on the rpi has h-flip and v-flip flags, so it can trivially do a 180 degree rotation and mirroring, but 90/270 require an extra transposer step, that writes the frame to ram and then does scan-out a second time
<linusw>
clever: yeah that's in the display controller then
<clever>
but, i dont think kms has any way to advertise that 90/270 are more expensive
<clever>
and if your already using the 3d core for composition, rotating your vertex data first would drastic reduce memory bandwidth
<linusw>
I guess it falls back to the old 2D acceleration problem space that nobody really want to touch :/
<clever>
the 2d scanout core can also do composition for you
<clever>
its more of a sprite only gpu
<linusw>
aha so it does a bit of blitting and blending and rotating
<clever>
up to ~300 sprites can be defined, each with its own addr, stride, pixel format, hflip, vflip, and alpha
<clever>
but when you have this many sprites, all of them being down-scaled, the memory bandwidth can saturate, and it glitches because it cant generate pixels fast enough
<clever>
but part of that i think was my fault, it was also under-clocked severely
<clever>
to figure out what the relationship is between clock and limits
<clever>
hadnt seen that link before, but ive picked up things while talking to many people over the yeas
<clever>
years*
<clever>
linusw: the rpi compositor can also deal with pixel format conversions, sprites can also be in YUV420 format, and it will automatically convert to rgb
<linusw>
I think the problem as it stands is 2D accelerators are a bit "on the side"
<linusw>
People have happily been merging them into the media subsystem though!
<linusw>
I don't know if standard userspace can even make use of that.
<clever>
another problem, is that while the rpi is able to composite a list of sprites and write it to ram, and linux exposes that as a write-back port in kms
<clever>
its part of the same "graphics card", and only the current DRM master (xorg) can use it
<clever>
so nobody can actually use it
<linusw>
For rotation etc there is things like drivers/media/platform/sunxi/sun8i-rotate
<clever>
Xorg is also another source of problems, it expects all images to be rgb
<clever>
so a video player has to do software yuv->rgb conversions, and cant just pass a yuv frame to the kms layer
<clever>
but i hear that at least for fullscreen playback with vlc on the rpi, it grabs a DRM lease, so it can start slinging raw YUV to kms
<linusw>
I think the media subsystem has the ambition to accelerate video streams, such as deinterlace or format conversions though, using accelerators
<clever>
yeah, rpi has been moving a lot of that into v4l mem2mem devices
<linusw>
oh sweet
<clever>
the h264 encode/decode is still driven by the blob, but there are now v4l wrappers around that
<linusw>
but yeah in general it is a bit "throw the problem over the fence" to media instead of integrating properly
<clever>
so userland doesnt need to know the blob api
<linusw>
thats neat
mszyprow has quit [Read error: Connection reset by peer]
<clever>
bcm2711 (pi4) has h265 decode only, to my surprise, it got proper source on the linux side
<clever>
the blob doesnt support it!
mszyprow has joined #dri-devel
<clever>
the ISP (image sensor pipeline) is involved in many things, and is (in)directly used by 3 v4l classes
<clever>
it can do yuv<->rgb conversions, which shows up as a dedicated v4l device
<clever>
it can do the full bayer->yuv and all the fancy camera processing, as a dedicated v4l device
<clever>
and h264 encoding, requires 2 copies of every frame, one at half-res, with a wonky tiling format, the h264 blob drivers use the ISP to generate that pair
<clever>
motion estimation runs on the half-res frame
<javierm>
clever: can drm leases be used to allow other processes to use those besides Xorg?
<clever>
i believe so
<MrCooper>
karolherbst: I'm hitting a failure compiling rusticl_mesa_inline_bindings_wrapper.c.o, it can't find valgrind.h (for src/util/simple_mtx.h) because the header file path from valgrind.pc isn't set
grayshade[m] has joined #dri-devel
<MrCooper>
clever: FWIW, a Wayland compositor is in a much better position to use such HW capabilities than Xorg
<clever>
MrCooper: i still need to try wayland, but i hear it lacks desktop screen capture, which will mess with a lot of screen-sharing i do for work
<javierm>
clever: yes, I'm familiar with the concept of drm leases. Not with the rpi display controller
<MrCooper>
clever: you hear incorrectly :)
<clever>
maybe its changed since i last heard
<MrCooper>
it's out of scope for Wayland itself, but it can work in a Wayland session via XDG portals and PipeWire
<clever>
javierm: on the rpi hardware, there is 3 channels on the hardware compositor, each channel gets its own list of drm planes to render, some sources say only the 3rd channel can do transposition (90/270 rotations), but my own investigations also say all 3 channels can do write-back
<clever>
javierm: but on the vc4, each channel is limited to driving certain video outputs
<clever>
vc4 has 3 HVS(hardware compositor) channels and 3 pixel valves (crtc like), and each PV is hard-wired to 2 outputs (but only one can be active on a given PV)
<clever>
so if your using hdmi, you must use PV2, and vec(pal/ntsc) must be disabled
<clever>
vc6 (bcm2711/pi4) still has 3 HVS channels, but now has 5 PV's, and complex mux with partial coverage on each (lines 27-33)
<clever>
pv0(dsi0/dpi) and pv3(vec/ntsc/pal) can only be driven by a single hvs channel, but all other outputs can be driven by any hvs channnel
<javierm>
clever: I see. So then yes, drm leases could allow other processes to use the different channels of the HW compositor
<clever>
the current master just has to allow it
<javierm>
clever: exactly. Is the master who leases the resources
<clever>
i'm still fuzzy on exactly what your allowed to do when you have a lease
<clever>
can you change the resolution of an output? or only update the planes on the output?
<clever>
ah, thats abusing the EDID lines, which are just i2c
<clever>
vga also has edid, and can do the same
pcercuei has joined #dri-devel
<javierm>
clever: exactly
<clever>
> A βleaseβ is a contract between the lessor and lessee that identifies which resources may be controlled by the lessee.
<clever>
javierm: i would assume that you could lease out a crtc, and then the other program can change resolutions
<clever>
but i would need to do testing to see what the api actually allows, and what Xorg allows
<javierm>
clever: that's my assumption as well. But it's not stated explicitly and I remember someone mentioned that there were some constraints on the leased resources
<clever>
i remember every single object across all types having a unique id within the entire device
jfalempe has quit [Read error: Connection reset by peer]
jfalempe_ has joined #dri-devel
vliaskov has joined #dri-devel
Haaninjo has joined #dri-devel
ahajda has joined #dri-devel
kts has quit [Quit: Leaving]
YuGiOhJCJ has quit [Remote host closed the connection]
YuGiOhJCJ has joined #dri-devel
pa has quit [Ping timeout: 480 seconds]
devilhorns has joined #dri-devel
itoral has quit [Remote host closed the connection]
Jeremy_Rand_Talos__ has quit [Remote host closed the connection]
Jeremy_Rand_Talos__ has joined #dri-devel
frieder has quit [Quit: Leaving]
frieder has joined #dri-devel
jfalempe has joined #dri-devel
jfalempe_ has quit [Ping timeout: 480 seconds]
Leopold_ has joined #dri-devel
MrCooper has quit [Quit: Leaving]
Leopold___ has joined #dri-devel
MrCooper has joined #dri-devel
mszyprow_ has joined #dri-devel
mszyprow has quit [Remote host closed the connection]
frieder has quit [Quit: Leaving]
frieder has joined #dri-devel
pcercuei has quit [Quit: brb]
<zamundaaa[m]>
clever: the other program can indeed change the mode. It can do whatever it wants with the drm resources given to it
mszyprow_ has quit [Remote host closed the connection]
mszyprow_ has joined #dri-devel
Akari has quit [Ping timeout: 480 seconds]
kts has joined #dri-devel
Jeremy_Rand_Talos_ has joined #dri-devel
Jeremy_Rand_Talos__ has quit [Remote host closed the connection]
hansg has joined #dri-devel
lygstate has joined #dri-devel
mszyprow_ has quit [Remote host closed the connection]
mszyprow_ has joined #dri-devel
devilhorns has quit []
jrayhawk has quit [Quit: irssi upgrade]
jrayhawk has joined #dri-devel
kts has quit [Quit: Leaving]
pcercuei has joined #dri-devel
srslypascal is now known as Guest1072
srslypascal has joined #dri-devel
pcercuei has quit [Quit: brb]
jrayhawk has quit [Ping timeout: 480 seconds]
jrayhawk has joined #dri-devel
sysescool_ has joined #dri-devel
sgruszka has joined #dri-devel
Guest1072 has quit [Ping timeout: 480 seconds]
frieder has quit [Quit: Leaving]
frieder has joined #dri-devel
sysescool has quit [Ping timeout: 480 seconds]
pzanoni has quit [Ping timeout: 480 seconds]
<macromorgan>
linusw: Thank you very much. I'll make the necessary changes and resubmit.
<karolherbst>
ian not online on IRC? :(
<daniels>
karolherbst: he's on OFTC, just not in this channel
<karolherbst>
I see.. nvm, I left a comment on the MR now :)
<karolherbst>
apparently I have to wire up rusticl + iris for CI π
Akari has joined #dri-devel
yuq825 has left #dri-devel [#dri-devel]
sysescool__Linux has joined #dri-devel
<MrCooper>
karolherbst: speaking of rusticl, did you see my message this morning?
<karolherbst>
probably not
<karolherbst>
where did you send it?
<karolherbst>
ohh
<karolherbst>
that one
<karolherbst>
*sigh*
<karolherbst>
yeah a user reported that yesterday
<karolherbst>
it's one of the things I wanted to fix today
<MrCooper>
cool
JohnnyonFlame has joined #dri-devel
sysescool_ has quit [Ping timeout: 480 seconds]
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
frieder has quit [Remote host closed the connection]
frieder has joined #dri-devel
<danvet>
tzimmermann, do you need someone (i.e. me) to look through your damage worker streamlining, and not just bikeshed?
<danvet>
from a quick look it makes sense
pcercuei has joined #dri-devel
Leopold___ has quit []
<karolherbst>
huh, how can I get the include paths of a dependency object in meson?
ahajda has quit [Quit: Going offline, see ya! (www.adiirc.com)]
mszyprow_ has quit [Ping timeout: 480 seconds]
pa has joined #dri-devel
ahajda has joined #dri-devel
ybogdano has joined #dri-devel
ahajda has quit [Quit: Going offline, see ya! (www.adiirc.com)]
bmodem has quit [Ping timeout: 480 seconds]
pzanoni has joined #dri-devel
sgruszka has joined #dri-devel
mbrost has joined #dri-devel
Leopold_ has quit [Remote host closed the connection]
Leopold_ has joined #dri-devel
Guest1047 has quit [Remote host closed the connection]
rgallaispou has quit [Read error: Connection reset by peer]
<jenatali>
lygstate: I'm not comfortable signing off on tree-rearranging changes. You'll need to find other reviewers. I'll stick to my corner of Windows of D3D-mapping drivers
lygstate_ is now known as lygstate
<lygstate>
jenatali: Any one you'd like to suggest?
<jenatali>
Not sure who'd be the right person to look, but I don't think it's me
<robclark>
vsyrjala: probably drm-misc-next is fine, unless abhinav__ can think of anything they might conflict with
mhenning has joined #dri-devel
ngcortes has joined #dri-devel
Jeremy_Rand_Talos_ has quit [Remote host closed the connection]
Jeremy_Rand_Talos_ has joined #dri-devel
fab has quit [Quit: fab]
rotationmatrix has left #dri-devel [#dri-devel]
warpme____ has quit []
kts has quit [Quit: Leaving]
<macromorgan>
is there a list somewhere of the MIPI panel manufacturer codes? Not that it matters but reading panel ID I get 30 00 00 (assume 30 is the manufacturer maybe?)
<vsyrjala>
are those just oui?
rmckeever has joined #dri-devel
<gildekel>
Hello all. First time chatter here. I work on the ChromeOS graphics team, displays.
<gildekel>
But I was wondering if, at this point, it wouldn't make sense to one-up this sort the connectors in drm-core?
<gildekel>
It seems like Intel and MSM already use the same solution, and with my patch, if approved, we may have a case to turn this to the default behavior. Thoughts?
mszyprow_ has joined #dri-devel
mszyprow_ has quit [Remote host closed the connection]
<gildekel>
hwentlan: I have never ran into similar issues in AMD. My intuition tells me there is some effort to order internal panels at the top of the connector list in AMD drivers, but I couldn't verify (still figuring out my way here). Do you happen to know if that's the case?
oneforall2 has quit [Quit: Leaving]
<gildekel>
hwentlan_: I have never ran into similar issues in AMD. My intuition tells me there is some effort to order internal panels at the top of the connector list in AMD drivers, but I couldn't verify (still figuring out my way here). Do you happen to know if that's the case?
oneforall2 has joined #dri-devel
<gildekel>
(ugh. sorry for the spam. I am bad at this π)
<ajax>
i can't think of a good reason not to, and i really dislike the "here's a helper you can call to DTRT" pattern when the "don't do anything special and it'll DTRT" pattern is available
Duke`` has quit [Ping timeout: 480 seconds]
gouchi has quit [Remote host closed the connection]
ngcortes has quit [Read error: Connection reset by peer]
gouchi has joined #dri-devel
Duke`` has joined #dri-devel
bgs has joined #dri-devel
bgs has quit [Remote host closed the connection]
dcz_ has quit [Ping timeout: 480 seconds]
Duke`` has quit [Ping timeout: 480 seconds]
nchery has quit [Ping timeout: 480 seconds]
gouchi has quit [Quit: Quitte]
rmckeever_ has joined #dri-devel
rmckeever has quit [Ping timeout: 480 seconds]
gouchi has joined #dri-devel
gouchi has quit [Remote host closed the connection]
mbrost_ has joined #dri-devel
mbrost has quit [Remote host closed the connection]
pzanoni has quit [Remote host closed the connection]
pzanoni has joined #dri-devel
rasterman has quit [Quit: Gettin' stinky!]
nchery has joined #dri-devel
Haaninjo has quit [Quit: Ex-Chat]
pzanoni has quit [Quit: pzanoni]
<airlied>
hmm functions in llvmpipe do not seem to make lux faster :-P