<div dir="ltr"><br><div class="gmail_quote"><div class="HOEnZb"><div class="h5"><div dir="ltr"><div class="gmail_quote">I am an OPW intern applicant for round 9 and interested in server-side xcb under mentorship of Christian Linhart.<br><div dir="ltr"><div><br>For my initial small contribution,<br><br>I have changed <valueparam> to <switch> in two requests of the render extension.<br>The reason is that <switch> is recommended in the xml-xcb-spec instead of <valueparam> and the <switch> contains a more precise description of the protocol.<br><br></div>I have following observations : <br><br>1.<span> xcb_render_create_picture_value_list_t :<br> 
A new structure with value mask names is added.<br><br>2. </span>Size computed by function xcb_render_create_picture_value_list_unpack<br><div>
(as used by function xcb_render_create_picture_value_list_sizeof)<br>
does essentially the same as the expression with popcount in xcb_render_create_picture_sizeof, but xcb_render_create_picture_<div>sizeof computes the size of the whole request "render_create_picture"<br>
and xcb_render_create_picture_value_list_sizeof only computes the size of the switch ( with name "value_list" )<br>So it is not directly compatible because the name of the function is different, so it won't compile or link with existing code which uses the previous version.<br><br><span>3. parameter type const uint32_t* of value_list in xcb_render_create_picture and xcb_render_create_picture_checked changed to const void*.<br><br>4. </span><span>In xcb_render_create_picture, again instead of initializing xcb_parts with popcounting elements from value_list, it checks all possible masks using xcb_render_create_picture_value_list_sizeof and initializes xcb_parts.<br><br>5. </span><span>The work of sending request is done in 
xcb_render_create_picture, same things is again repeated in 
xcb_render_create_picture_aux (i dont really have much idea of differences in aux and non-aux functions)<br><br><br></span></div><div><span>Along is a xml (render extension) diff along with libxcl implementation header and c files attached.<br><br></span></div><div><span>Please comment on the diffs and observations and correct me wherever my understanding fails.<br><br></span></div><div><span>Thankyou.<br><br></span></div><div><span>Regards,<br></span></div><div><span>Jaya<br></span></div></div></div>
</div><br></div>
</div></div></div><br></div>