[Beignet] LuxRays vs Beignet: next steps

Simon Richter Simon.Richter at hogyros.de
Tue Apr 23 03:49:11 PDT 2013


Hi,

I'm still trying to get LuxRays to work on Beignet. LuxRays can run in
two modes, with or without using images on the GPU side as storage.

With images, the current blockers are:

1. get_image_width is not available

That should be solvable, I think, and this is probably the next thing
I'm going to be looking at.

2. sampler_t initialization with flags does not compile

This is more difficult. sampler_t is a pointer to an int that lives in a
special area, so I wonder how I should go about creating that from the
flags parameter. Do I allocate a sampler variable there and have
sampler_t behave as a smart pointer?

Without images, it is mainly assertions during compilation:

3. LOADI does not handle 64 bit integers

Not sure if that can be easily handled. That will require a rainy
weekend or two.

4. LOADI does not handle booleans

As far as I can see, there is no native boolean type, so it would boil
down to integers. For select() to work, the value representing "true"
should at least have the MSB set, but I think it might also make sense
to create a different internal type that is similar to an integer but
has different semantics.

5. Booleans cannot be used in Phi nodes.

This appears to be related to the missing LOADI boolean support -- a Phi
node where a source path has a fixed value will need a preceding LOADI
-- so I think that is solved when LOADI is fixed.

   Simon


More information about the Beignet mailing list