ChanServ changed the topic of #wayland to: https://wayland.freedesktop.org | Discussion about the Wayland protocol and its implementations, plus libinput
fmuellner_ has quit [Ping timeout: 480 seconds]
Psi-Jack has quit [Quit: Do you type on your PS1 or play on your PS1?]
nerdopolis has quit [Ping timeout: 480 seconds]
Sharply8872 has joined #wayland
Company has quit [Ping timeout: 480 seconds]
Sharply8872 has quit [Quit: Konversation terminated!]
<DemiMarie>
The actual code change is tiny, but some struct definitions had to be moved around so that a regression test could be added.
___nick___ has joined #wayland
nerdopolis has quit [Ping timeout: 480 seconds]
gryffus_ has quit [Read error: Connection reset by peer]
gryffus_ has joined #wayland
___nick___ has quit []
___nick___ has joined #wayland
___nick___ has quit []
___nick___ has joined #wayland
Psi-Jack has quit [Remote host closed the connection]
<Ermine>
Is this the right place to discuss libxkbcommon?
<soreau>
I don't know of any place more fitting
Psi-Jack has joined #wayland
nerdopolis has joined #wayland
<DemiMarie>
What is the layout of YUV formats when used with wl_shm?
<Ermine>
Ok. So I get a bunch of warnings when building libxkbcommon library docs: https://tpaste.us/paj4 . Should I ignore them?
rasterman has joined #wayland
Lucretia has joined #wayland
<DemiMarie>
Actually, I filed an issue for that already. I'll make a PR.
Lucretia has quit [Remote host closed the connection]
Lucretia has joined #wayland
<DemiMarie>
From an application compatibility perspective, is it okay to require stride and offset for shm buffers to be a multiple of 4, or will that break too many applications?
nerdopolis has quit [Ping timeout: 480 seconds]
Brainium has quit [Ping timeout: 480 seconds]
<kennylevinsen>
DemiMarie: it should be a multiple of the block size. I guess a client could post a C8 buffer, although it’s quite unlikely
<bl4ckb0ne>
Ermine: looks like harmless doc issue
<psykose>
has there been a doc/doxygen/md2man/asciidoc/docbook/whatever build in history where it doesn't print 5,231,252 warnings while running during a build
<bl4ckb0ne>
doc is hard y'all
Sachiel has joined #wayland
<daniels>
DemiMarie: find the most lax allowed behaviour between the widely-used compositors, and that’s the most acceptable restriction
<daniels>
Ermine: I’m sure Ran would welcome a PR
<daniels>
any1: you’re not doing it wrong, but having the Qt patch submitted to them and accepted would be very good
<any1>
daniels: I meant getting the bot to link the MR
<emersion>
ah, for that I'd need to set up my bot
<any1>
ahh, I thought there was a bot in here already.
<any1>
Ugh, submitting patches to Qt is a nuisance. I have to set up 2 accounts? wtf..
<any1>
Well, I suppose I only have to set up the account once...
pounce_ is now known as pounce
<any1>
Imagine a world where you could submit patches via email everywhere
<emersion>
maybe we should document the requirements for merging core Wayland protocol changes
<emersion>
in practice it's same as wp but I don't think it's written down anywhere?
<daniels>
probably just w-p but also ‘don’t do this if you can avoid it’
<emersion>
right
Brainium has joined #wayland
ManMower has joined #wayland
Lucretia has quit [Remote host closed the connection]
Brainium has quit [Quit: Konversation terminated!]
<any1>
submitting to Qt is not a frictionless experience. No I have to read a legal document and agree to it
Brainium has joined #wayland
<any1>
s/No/Now
balrog_ has joined #wayland
balrog has quit [Ping timeout: 480 seconds]
kts has quit [Quit: Leaving]
Brainium has quit [Ping timeout: 480 seconds]
<DemiMarie>
daniels: the problem is that some compositors (Weston) are so lax that I am confident there is a security problem.
<DemiMarie>
I was able to cause hilarious results by submitting an XRGB8888 or ARGB8888 (forgot which) buffer with width = stride.
<DemiMarie>
kennylevinsen: Can the pixel width and height be in fractional pixels per block?
<kennylevinsen>
DemiMarie: the stride has to be an integer number of blocks, and the height is an integer number of strides
<DemiMarie>
kennylevinsen: do you mean total image size in bytes?
<DemiMarie>
The height can be less than stride and often will be.
rasterman has quit [Quit: Gettin' stinky!]
<kennylevinsen>
I didn’t mean that its value was a multiple of the stride, but that it is the value that the stride is multiplied by to form the image size. All integer.
<kennylevinsen>
But for simple formats you have 1 pixel per block, and each pixel is then between one and 8 bytes (c8 is 1, rgb332 is 2, rgb888 is 3, argb8888 is 4, f16 is 8)
<kennylevinsen>
Ah sorry you asked about stride and offset alignment. I misread while distracted.
<kennylevinsen>
But yeah, with 1, 2 or 3 byte per pixel formats, it’s definitely not guaranteed that the stride or offset is a multiple of 4 pixels
<DemiMarie>
kennylevinsen: are those formats incompatible with Pixman?
<DemiMarie>
Also, if a block is 2x2 pixels, is an image with an odd width or height allowed.
<any1>
pixman can handle stride
<any1>
there are some formats that are incompatible with pixman on little endian systems
<any1>
err, big endian
* dottedmag
wonders if big-endian will ever end up in the same bin as non-8-bit-byte machines
<kennylevinsen>
DemiMarie: good question, not sure. For reference, the main example I can think of for blocks_per_pixel != 1 is YUV formats, which are 2x1
latex has quit [Remote host closed the connection]
latex has joined #wayland
<DemiMarie>
kennylevinsen: There are 2x2 YUV formats as well
gryffus_ has quit [Remote host closed the connection]
gryffus_ has joined #wayland
<kennylevinsen>
not sure how pixman would handle formats that are more than 1 px tall. We don't have those wired up in wlroots at least, but things like R8, RGB332, RGB565 and RGB888 work fine (and all have their uses)
___nick___ has quit [Remote host closed the connection]
nerdopolis has joined #wayland
rv1sr has quit []
coldfeet has quit [Remote host closed the connection]
Lucretia has joined #wayland
<daniels>
DemiMarie: please find it and let me know
<daniels>
you can get incorrect rendering for sure, but play stupid games and win stupid prizes; for that you can just misrender with ‘correct’ parameters
<daniels>
I don’t believe there’s any security-sensitive issues, but would be very happy to be proven wrong
<DemiMarie>
daniels: the "hilarious" results include things like rendering two entire copies of the window, and once I got a segfault under Valgrind
<kennylevinsen>
did you file bugs for these? :/
<DemiMarie>
I need to
Guest2882 has quit []
cool110 has joined #wayland
cool110 is now known as Guest2918
cool110_ has joined #wayland
cool110_ is now known as Guest2919
Guest2918 has quit [Ping timeout: 480 seconds]
lsd|2 has joined #wayland
<daniels>
rendering two entire copies of the window is expected if you get stride wrong; a segfault is a security issue
<daniels>
again, if you want to misrender as a client, then you don’t need to play tricks with stride; you just need to put garbage in there to begin with