On 26.03.2011 21:52, Denis Steckelmacher wrote:
> Hello,
>
> After some messages on this list, I reconsidered my GSoC proposal and decided 
> to give a try at an OpenCL state tracker. I will base my work on the Clover 
> branch of Mesa.
>
> I read its code, which is very well-done and clean, but I saw one big 
> difficulty : I don't know how to translate LLVM IR to TGSI. The big problem 
> is 
> that TGSI is made mostly with OpenGL in mind. We can use it to decode video 
> frames using vertex and fragment shader stages, but using it to run on the 
> GPU 
> the complex output given by LLVM, and without using any part of the OpenGL 
> pipeline (OpenCL can be used to do mathematics, and that doesn't draw 
> anything 
> on the screen), is tricky.
>
> The problem is how OpenCL can upload data on the GPU and then download the 
> computed results. One solution may be to create one or more textures 
> containing the input data (maybe one texture by input data type), and then 
> use 
Gallium has pipe_resource.
You'd create them for device memory allocations and hand them (or their
addresses) to the compute program (not a shader) which would write to /
load from a global memory location lying within such a resource (or you
might say write to the resource).
Then you just map it to read stuff out if you need to.

> a fragment shader to compute the resulting values and to put them in a render 
> buffer that will never be drawn on screen but instead downloaded from the GPU 
> and sent back to the application.
>
> I don't know if it would be possible to do things like that, especially 
> considering that precise results across all graphics cards may be difficult 
> to 
> get with OpenGL. An other problem of this LLVM to TGSI conversion is that the 
> TGSI instruction set is not completely implemented on all the pipe drivers, 
> and that unimplemented instructions may be needed by a specific LLVM IR 
> instruction.
>
> I'm open to any suggestion regarding this OpenCL state tracker. If you say it 
> will be very difficult to do that during the summer, I think I will apply to 
> work on the OpenGL 3+ support in Mesa (without doing a new state tracker) and 
> the GLSL compiler.
>
> Best regards,
> Denis Steckelmacher.
> _______________________________________________
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to