<div dir="ltr">Uli: Thanks for looking at this more closely and confirming my earlier analysis!<div><br></div><div>> <span style="color:rgb(33,33,33)">Worse, it cannot (easily) support splitting up huge requests. It returns</span></div><span style="color:rgb(33,33,33)">the void cookie that is used by the request. If it generates multiple</span><br style="color:rgb(33,33,33)"><span style="color:rgb(33,33,33)">requests, which of the cookies should be returned?</span><br style="color:rgb(33,33,33)"><div><span style="color:rgb(33,33,33)"><br></span></div><div><span style="color:rgb(33,33,33)">Could maybe just force all but the last cookie and return that. Return the error cookie if one of the earlier requests fails. Loses the async, but is call-compatible.</span></div><div><span style="color:rgb(33,33,33)"><br></span></div><div><span style="color:rgb(33,33,33)">Probably better to add another entry point that returns all the cookies as needed.</span></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jan 30, 2019 at 4:31 AM Uli Schlachter <<a href="mailto:psychon@znc.in">psychon@znc.in</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
On 19.01.19 03:51, paul ewing wrote:<br>
> Ah, I think the previous email I linked to may have simply been wrong. It<br>
> states that BIG-REQUESTS increases the max request size to 16GB from 256KB but<br>
> I think the maximum is actually only 16MB.<br>
<br>
The maximum request length is determined by the X11 server. Without<br>
BIG-REQUESTS, the X11 server can announce support for at most 256 KiB,<br>
but it can also support less. BIG-REQUESTS only changes this so that the<br>
X11 server *can* support bigger requests. However, the limit is still<br>
imposed by the X11 server and any overly large requests cause the<br>
connection to be terminated. So no, you cannot increase the limit.<br>
<br>
Also, XCB automatically uses the BIG-REQUESTS extension to query the<br>
maximum supported request size. So, you can just use<br>
xcb_get_maximum_request_length() to query the limit that the X11 server<br>
announces. Splitting huge requests into smaller chunks is something that<br>
libxcb does not do for you.<br>
<br>
> I'll split up the image in the application code for now and see if I can come<br>
> up with a clean implementation before submitting a pull request to xcb.<br>
<br>
Possibly helpful pointer:<br>
<a href="https://gitlab.freedesktop.org/cairo/cairo/commit/51435eeb0c4d9e53d76dae8b5af279ad518a05f8" rel="noreferrer" target="_blank">https://gitlab.freedesktop.org/cairo/cairo/commit/51435eeb0c4d9e53d76dae8b5af279ad518a05f8</a><br>
<br>
> ________________________________<br>
> From: Bart Massey <<a href="mailto:bart@cs.pdx.edu" target="_blank">bart@cs.pdx.edu</a>><br>
> Sent: Friday, January 18, 2019 5:39 PM<br>
> To: paul ewing<br>
> Cc: <a href="mailto:xcb@lists.freedesktop.org" target="_blank">xcb@lists.freedesktop.org</a><br>
> Subject: Re: [Xcb] How can I increase the maximum request length?<br>
> <br>
> Offhand, looks like your bigger display is too big to use a single PutImage request even with BIG-REQUESTS enabled. Looks like xcb_image_put() doesn't break the request into pieces for you (maybe it should? pull requests welcome) so you'll have to put the image a piece at a time: break it into bands and use the y offset.<br>
<br>
>From a quick look: xcb_image_put() does not break requests into smaller<br>
chunks. It just calls xcb_put_image() with some values it got out of the<br>
xcb_image_t*.<br>
<br>
Worse, it cannot (easily) support splitting up huge requests. It returns<br>
the void cookie that is used by the request. If it generates multiple<br>
requests, which of the cookies should be returned?<br>
<br>
<a href="https://sources.debian.org/src/xcb-util-image/0.4.0-1/image/xcb_image.c/?hl=448#L448" rel="noreferrer" target="_blank">https://sources.debian.org/src/xcb-util-image/0.4.0-1/image/xcb_image.c/?hl=448#L448</a><br>
<br>
Cheers,<br>
Uli<br>
-- <br>
Homophobia - The fear that another man will treat you the way you treat<br>
women.<br>
_______________________________________________<br>
Xcb mailing list<br>
<a href="mailto:Xcb@lists.freedesktop.org" target="_blank">Xcb@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/xcb" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/xcb</a></blockquote></div>