[Beignet] Beignet changes required to support "no more regions!"

Steven Newbury steve at snewbury.org.uk
Fri May 2 11:16:27 PDT 2014


Beignet has got a little left behind upstream Mesa changes so I've been
patching to compile against mesa/master for my gentoo-opencl overlay.
Eric Anholt has just landed a significant patch series dropping support
for regions in the i965 driver.  Unfortunately, the Beignet DRI resource
sharing code depended on that functionality, so I've been working on
converting it to use buffer objects like the other previous users of the
region code.

First an old issue that I've just worked around for now, I can't figure
out how to fix, but needs addressing:

i965/intel_context.h has been merged with i965/brw_context.h which in
turn needs to be compiled with -std=c99/gnu99, which then breaks
beignet/src/cl_extensions.c, where this happens: 


> cl_extensions.c:19:12: error: initializer element is not constant
>    DECL_ALL_EXTENSIONS
>             ^

cl_utils.h seriously clashes with headers pulled in by brw_context.h.

There are a small number of easy fixes, for which I'll see if I can make
conditional on Mesa version and send to the list.

As for the big one, the intel_region struct is gone, I've had a shot at
converting the code, I'll keep plugging away when I have time in a
couple of days, but if somebody else wants to give it a go don't let me
hold you back! :)  A question though, should the code need to also
compile against older release versions of Mesa, or is it sufficient to
just target current upstream and have it maybe land in a branch?




More information about the Beignet mailing list