[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freedesktop-xcb
Subject:    Re: [Xcb] sizeof paramters for length less lists
From:       chris () demorecorder ! com
Date:       2015-02-27 6:55:23
Message-ID: 20150227065523.31A7E2440076 () dd17518 ! kasserver ! com
[Download RAW message or body]

Hi Peter,

Peter Harris wrote on 26.02.2015 17:45:

> On 2015-02-26 01:58, chris@demorecorder.com wrote:
[...]
> 
> I'm confused. Earlier you said "so, don't use "(length - 3)/2" inside,
> but use rectangles_len", and then you went to a lot of manual effort to
> define rectangles_len as "(length - 3)/2".
It is needed for other functions, such as:
  xcb_render_set_picture_clip_rectangles_rectangles_length
  xcb_render_set_picture_clip_rectangles_rectangles_iterator

> 
> Given that rectangles_len is already implied by a list with no length,
> and given that creating all the <op>s by hand is error prone, I'd rather
> leave the XML as-is.
> 
> If the generator needs this <op> block for something, shouldn't it be
> calculated from the rest of the request and inserted by an earlier pass
> in the generator? 
That's a really good idea.

It can be implemented in xcb/proto/xcbgen at a place where
parsing and post-processing of a request is finished.
There something like the following can be implemented:
  If a request contains a list without length
  and if the request has only fixed-size fields besides that list
  and if the list members are fixed size,
  then generate a suitable expression like:
     ( length*4 - total_size_of_fixed_size_fields ) / size_of_listmember

Computing the expression in xcb/proto has the advantage
that all generators will be able to use it.
( such as the generator written by Asalle for doing checking
and byteswappig for the X-Server )


So, I suggest to move forward as follows:
* Jaya, please continue to use the modified XML with the list-length expression
  for your testing for getting the generator-side working correctly.
  As far as I can tell, only the sizeof function needs to be fixed.
  (Everything else works already correctly as far as I can tell.)

* Then, somebody adds the code to xcb/proto/xcbgen to compute the
  expression automatically. Jaya, would you like to do that?
  (I can also do it, but before I need to make a patch for the 64-bit sequence-numbers
  that fixes a bug that's already unfixed for too long.) 

* Then it will work correctly without changing the xml.

> Or did I miss something?
No, You didn't miss anything.

Thank you for your idea to make it better.

Regards,

Chris

> 
> Peter Harris
> -- 
>               Open Text Connectivity Solutions Group
> Peter Harris                    http://connectivity.opentext.com/
> Research and Development        Phone: +1 905 762 6001
> pharris@opentext.com            Toll Free: 1 877 359 4866
> 

_______________________________________________
Xcb mailing list
Xcb@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xcb
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic