ChanServ changed the topic of #dri-devel to: <ajax> nothing involved with X should ever be unable to find a bar
kaiwenjon has quit [Quit: WeeChat 3.8]
LeviYun has quit [Ping timeout: 480 seconds]
heat has quit [Read error: Connection reset by peer]
heat has joined #dri-devel
LeviYun has joined #dri-devel
RAOF has quit [Remote host closed the connection]
RAOF has joined #dri-devel
Kayden has quit [Quit: switch networks & locations]
<DemiMarie>
Is there a library that I can use to obtain information about every known DRM format?
kaiwenjon has joined #dri-devel
LeviYun has quit [Ping timeout: 480 seconds]
<DemiMarie>
For each format, I’d like to have enough information to validate dmabuf and shm requests
<bl4ckb0ne>
what kind of infos
<DemiMarie>
Ideally, I'd have high-level operations bool check_wl_shm_params(uint32_t format, uint32_t width, uint32_t height, uint32_t stride, uint32_t size); and similar for dmabuf.
mbrost has joined #dri-devel
<DemiMarie>
actually this should probably be on #_oftc_#wayland:matrix.org
thongthai has quit [Remote host closed the connection]
glennk has quit [Ping timeout: 480 seconds]
LeviYun has joined #dri-devel
davispuh has quit [Ping timeout: 480 seconds]
leizhou has joined #dri-devel
LeviYun has quit [Ping timeout: 480 seconds]
LeviYun has joined #dri-devel
<DemiMarie>
Is validating dmabuf width, height, and stride Mesa's job, the kernel's job, or a Wayland compositor's job?
LeviYun has quit [Ping timeout: 480 seconds]
LeviYun has joined #dri-devel
LeviYun has quit [Ping timeout: 480 seconds]
mbrost has quit [Remote host closed the connection]
gtpfs[m] has joined #dri-devel
LeviYun has joined #dri-devel
gtpfs[m] has left #dri-devel [#dri-devel]
alane has quit []
alane has joined #dri-devel
bolson_ has quit [Ping timeout: 480 seconds]
dviola has joined #dri-devel
LeviYun has quit [Remote host closed the connection]
Company has quit [Ping timeout: 480 seconds]
apteryx has joined #dri-devel
LeviYun has joined #dri-devel
LeviYun has quit [Ping timeout: 480 seconds]
Company has joined #dri-devel
LeviYun has joined #dri-devel
mbrost has joined #dri-devel
pcercuei has quit [Quit: dodo]
leizhou has quit [Remote host closed the connection]
<emersion>
and I wanted to make a library out of it
azerov has quit [Quit: Gateway shutdown]
<DemiMarie>
emersion: what about the database in the kernel?
<DemiMarie>
That said, a library based on your work would be amazing.
azerov has joined #dri-devel
<emersion>
i have an earlier prototype which extracts info from that kernel tablr
<emersion>
table*
<emersion>
but I abandoned it because it's missing info to do something other than validation (e.g. display these layouts and automatically compute compatible formats) and it's a pain to extract
<DemiMarie>
If I am writing a proxy, do I need anything other than validation?
<DemiMarie>
In particular, how should I handle dmabuf?
<DemiMarie>
Can I validate it myself (preferred) or do I need to leave that to the host compositor?
<DemiMarie>
My concern is modifiers.
<DemiMarie>
For shm the validation is easy and I will likely make an MR to wlroots.
<emersion>
right, modifiers are the main hurdle if you want to validate
<DemiMarie>
Can it still be done?
<emersion>
well, there is always a way
<DemiMarie>
Practically :)
<emersion>
but that would require investigating each modifier in kernel code
<DemiMarie>
Yuck
<emersion>
maybe some are missing validation
<emersion>
maybe some are reverse engineered
* DemiMarie
wonders if the kernel code gets it all correct
<emersion>
maybe some nobody knows more details
<emersion>
I'm not sure how much validation matters
<DemiMarie>
My concern is that the guest can lie about width, height, format, or stride.
<emersion>
the GPU would read zeros on out of bounds access with robustness?
<DemiMarie>
Will compositors turn that on?
<emersion>
maybe accessing other buffers by chance is still possible though
<DemiMarie>
That's my concern indeed.
<emersion>
clients wouldn't be able to extract the data though
<DemiMarie>
Still an issue in Qubes OS as it allows spoofing
<emersion>
well if you don't turn it on it's GPU reset
<DemiMarie>
Can I expect that all compositors will, in fact, use it?
<DemiMarie>
If GPU buffer accesses are bounds-checked at runtime then import-time validation is far less important.
<emersion>
I don't know of a compositor that enables it but I haven't checked in detail
<DemiMarie>
I do know that the Vulkan specification prohibits any security vulnerabilities here.
<DemiMarie>
If the compositor uses Vulkan.
<DemiMarie>
Should I make a defensive copy into buffers I allocate?
kzd has quit [Ping timeout: 480 seconds]
kts has joined #dri-devel
<DemiMarie>
I'm actually surprised that robustBufferAccess isn't turned on. Maybe I need to do some tests.
kts has quit []
mbrost has quit [Ping timeout: 480 seconds]
LeviYun has joined #dri-devel
sghuge has quit [Remote host closed the connection]
gbittencourt has quit [Quit: Ping timeout (120 seconds)]
gbittencourt has joined #dri-devel
bmodem has quit [Ping timeout: 480 seconds]
Haaninjo has joined #dri-devel
bmodem has joined #dri-devel
kasper93 has joined #dri-devel
piggz has quit [Quit: Konversation terminated!]
piggz has joined #dri-devel
piggz has quit [Quit: Konversation terminated!]
LeviYun has quit [Ping timeout: 480 seconds]
bmodem has quit [Ping timeout: 480 seconds]
bmodem has joined #dri-devel
kts has quit [Quit: Konversation terminated!]
bmodem has quit [Excess Flood]
bmodem has joined #dri-devel
rgallaispou has quit [Read error: Connection reset by peer]
rgallaispou has joined #dri-devel
piggz has joined #dri-devel
leizhou has joined #dri-devel
pcercuei has joined #dri-devel
LeviYun has joined #dri-devel
leizhou has quit [Ping timeout: 480 seconds]
LeviYun has quit [Ping timeout: 480 seconds]
piggz has quit [Quit: Konversation terminated!]
LeviYun has joined #dri-devel
Omax has quit [Ping timeout: 480 seconds]
piggz has joined #dri-devel
leizhou has joined #dri-devel
Omax has joined #dri-devel
LeviYun has quit [Ping timeout: 480 seconds]
piggz has quit [Quit: Konversation terminated!]
leizhou has quit [Ping timeout: 480 seconds]
LeviYun has joined #dri-devel
nerdopolis has joined #dri-devel
dviola has quit [Quit: WeeChat 4.3.6]
leizhou has joined #dri-devel
dviola has joined #dri-devel
leizhou has quit [Ping timeout: 480 seconds]
jsa has joined #dri-devel
heat has joined #dri-devel
mvlad has joined #dri-devel
leizhou has joined #dri-devel
piggz has joined #dri-devel
guludo has joined #dri-devel
leizhou has quit [Remote host closed the connection]
leizhou has joined #dri-devel
gnuiyl has quit [Remote host closed the connection]
gnuiyl has joined #dri-devel
Peuc has quit [Ping timeout: 480 seconds]
davispuh has joined #dri-devel
amarsh04 has quit []
u-amarsh04 has joined #dri-devel
piggz has quit [Quit: Konversation terminated!]
piggz has joined #dri-devel
LeviYun has quit [Ping timeout: 480 seconds]
piggz has quit [Quit: Konversation terminated!]
piggz has joined #dri-devel
piggz has quit [Quit: Konversation terminated!]
heat has quit [Remote host closed the connection]
heat has joined #dri-devel
LeviYun has joined #dri-devel
vsro has joined #dri-devel
vsro has quit [Remote host closed the connection]
vsro has joined #dri-devel
nerdopolis has quit [Ping timeout: 480 seconds]
piggz has joined #dri-devel
tristianc670482 has quit [Read error: No route to host]
LeviYun has quit [Ping timeout: 480 seconds]
vsro has quit [Ping timeout: 480 seconds]
Company has joined #dri-devel
LeviYun has joined #dri-devel
apteryx has joined #dri-devel
tristianc670482 has joined #dri-devel
thongthai has joined #dri-devel
jsa has quit [Ping timeout: 480 seconds]
bolson has joined #dri-devel
LeviYun has quit [Ping timeout: 480 seconds]
<jfalempe>
tzimmermann: thanks for your drm_client setup series. That means I would able to call a drm_log_client_setup() from drm_client_setup() ? So we can choose on the kernel command line between fbdev emulation and drm_log ?
LeviYun has joined #dri-devel
CATS has quit []
bmodem has quit [Ping timeout: 480 seconds]
bmodem has joined #dri-devel
tobiasjakobi has joined #dri-devel
tobiasjakobi has quit []
leizhou has quit [Remote host closed the connection]
leizhou has joined #dri-devel
LeviYun has quit [Ping timeout: 480 seconds]
alih has quit []
docmax has joined #dri-devel
<tzimmermann>
jfalempe, yes.
<tzimmermann>
IMHO we should later provide kconfig options to enable each client, and an option of selecting a default
gouchi has joined #dri-devel
guludo has quit [Ping timeout: 480 seconds]
LeviYun has joined #dri-devel
leizhou has quit [Remote host closed the connection]
nerdopolis has joined #dri-devel
kzd has joined #dri-devel
vsro has joined #dri-devel
guludo has joined #dri-devel
LeviYun has quit [Ping timeout: 480 seconds]
LeviYun has joined #dri-devel
vsro has quit [Remote host closed the connection]
LeviYun has quit [Ping timeout: 480 seconds]
leizhou has joined #dri-devel
leizhou has quit [Remote host closed the connection]
tzimmermann has quit [Quit: Leaving]
leizhou has joined #dri-devel
piggz has quit [Quit: Konversation terminated!]
sukuna has joined #dri-devel
LeviYun has joined #dri-devel
piggz has joined #dri-devel
apteryx has quit [Ping timeout: 480 seconds]
LeviYun has quit [Ping timeout: 480 seconds]
Company has quit [Quit: Leaving]
Company has joined #dri-devel
Company has quit [Remote host closed the connection]
warpme has quit []
LeviYun has joined #dri-devel
Company has joined #dri-devel
valpackett has quit [Remote host closed the connection]
<DemiMarie>
emersion: I wonder if the kernel should provide a generic validation ioctl.
valpackett has joined #dri-devel
<DemiMarie>
What about requiring future additions to drm_fourcc.h to include enough information?
* DemiMarie
considers forcing a copy to LINEAR at each end
LeviYun has quit [Ping timeout: 480 seconds]
<Company>
(nvidia doesn't support LINEAR afaik)
<karolherbst>
nvidia supports rendering to linear, just not if there is a depth buffer attached
kts has joined #dri-devel
<DemiMarie>
I was actually thinking of just using a copy command.
<DemiMarie>
How likely are things to break if I only advertise LINEAR and then disconnect any client that tries to use something that is not LINEAR?
zamundaaa[m] has joined #dri-devel
<zamundaaa[m]>
karolherbst: only with Vulkan
<zamundaaa[m]>
Rendering to linear with OpenGL does not work
piggz has quit [Quit: Konversation terminated!]
<karolherbst>
ohh, I see
<karolherbst>
I was talking from a hardware perspective here
<DemiMarie>
zamundaaa: can you copy to linear?
<zamundaaa[m]>
No
<zamundaaa[m]>
The driver may do it internally in EGL afaik
<zamundaaa[m]>
But clients that import dmabufs to render to them can't do the same
<DemiMarie>
Is this with Nvidia proprietary driver or the open drivers?
<zamundaaa[m]>
Proprietary
<DemiMarie>
What about Nouveau?
<karolherbst>
I think nvk has a workaround for that
<DemiMarie>
In Qubes OS proprietary drivers won’t be supported.
<karolherbst>
but the gl driver will also not allow this to happen
<zamundaaa[m]>
Afaik Mesa works around this
<karolherbst>
somewhat yes
<karolherbst>
but you can make it run into the issue if you try hard enough
<DemiMarie>
The reason for the restriction is that I need to be able to validate all buffer imports.
<karolherbst>
but as long as you don't have a linear depth buffer, nouveau should be fine to render to linear
<DemiMarie>
I know how to validate linear, but not nonlinear modifiers.
<DemiMarie>
Does Mesa validate imported buffers in any way?
agd5f has joined #dri-devel
agd5f has quit [Remote host closed the connection]
agd5f has joined #dri-devel
coldfeet has joined #dri-devel
agd5f_ has quit [Ping timeout: 480 seconds]
docmax has quit []
user1234 has joined #dri-devel
user1234 has quit [Remote host closed the connection]
agd5f_ has joined #dri-devel
cazzacarna has quit [Ping timeout: 480 seconds]
agd5f_ has quit [Read error: Connection reset by peer]
agd5f_ has joined #dri-devel
LeviYun has joined #dri-devel
agd5f has quit [Ping timeout: 480 seconds]
LeviYun has quit [Ping timeout: 480 seconds]
alanc has quit [Remote host closed the connection]
LeviYun has joined #dri-devel
leizhou has quit [Remote host closed the connection]
urja has quit [Read error: Connection reset by peer]
crabbedhaloablut has quit []
urja has joined #dri-devel
leizhou has joined #dri-devel
crabbedhaloablut has joined #dri-devel
rasterman has quit [Quit: Gettin' stinky!]
LeviYun has quit [Ping timeout: 480 seconds]
alih has joined #dri-devel
coldfeet has quit [Remote host closed the connection]
LeviYun has joined #dri-devel
piggz has joined #dri-devel
cyrinux has quit []
cyrinux has joined #dri-devel
leizhou has quit [Remote host closed the connection]
piggz has quit []
epoch101 has joined #dri-devel
LeviYun has quit [Ping timeout: 480 seconds]
kts has quit [Quit: Konversation terminated!]
piggz has joined #dri-devel
bmodem has quit [Ping timeout: 480 seconds]
leizhou has joined #dri-devel
LeviYun has joined #dri-devel
mamta has joined #dri-devel
alanc has joined #dri-devel
LeviYun has quit [Ping timeout: 480 seconds]
piggz has quit [Quit: Konversation terminated!]
Company has quit [Quit: Leaving]
piggz has joined #dri-devel
Company has joined #dri-devel
LeviYun has joined #dri-devel
LeviYun has quit [Ping timeout: 480 seconds]
pcercuei has quit [Quit: bbl]
pcercuei has joined #dri-devel
sassefa_ has quit []
sassefa has joined #dri-devel
sassefa_ has joined #dri-devel
sassefa has quit [Ping timeout: 480 seconds]
feaneron has joined #dri-devel
piggz has quit [Quit: Konversation terminated!]
Peuc has joined #dri-devel
mvlad has quit [Remote host closed the connection]
sima has quit [Ping timeout: 480 seconds]
Duke`` has quit [Ping timeout: 480 seconds]
piggz has joined #dri-devel
piggz has quit []
mbrost has joined #dri-devel
mamta has quit []
mbrost has quit [Ping timeout: 480 seconds]
LeviYun has joined #dri-devel
YuGiOhJCJ has joined #dri-devel
jfalempe has quit [Quit: jfalempe]
LeviYun has quit [Ping timeout: 480 seconds]
LeviYun has joined #dri-devel
LeviYun has quit [Ping timeout: 480 seconds]
guludo has quit [Quit: WeeChat 4.3.5]
mbrost has joined #dri-devel
LeviYun has joined #dri-devel
leizhou has quit [Remote host closed the connection]
leizhou has joined #dri-devel
gouchi has quit [Remote host closed the connection]