I'm interested in (1) using my graphics card for computations and (2) low-level shader code, and I'm looking for guidance on how I would go about doing the following operations with libdrm (sans Mesa):
* client-side initialization * loading textures into the GPU * loading a bytecode shader into the GPU * creating a texture on the GPU without uploading data * running the shader using the uploaded textures as inputs and the non-uploaded texture as the output * transferring the output texture into main memory * tear-down, finalization
The GPU in question is a Radeon RV730, if any hardware-dependent discussion is needed. I've tried to understand the workflow by looking at the Mesa and Plymouth sources and the documentation I've found for the DRI/DRM, but I could still use some guidance.
On Sat, Jun 11, 2011 at 11:03 AM, Zachary Catlin z@zc.is wrote:
I'm interested in (1) using my graphics card for computations and (2) low-level shader code, and I'm looking for guidance on how I would go about doing the following operations with libdrm (sans Mesa):http://cgit.freedesktop.org/~airlied/radeondemo
Its not something libdrm really does, its only a simple abstraction around ioctls.
http://cgit.freedesktop.org/~airlied/radeondemo
is a simple layer on top that just does some blits using the shaders from the DDX.
Dave.
On Sat, 11 Jun 2011 11:39:39 +1000 Dave Airlie airlied@gmail.com wrote:
Its not something libdrm really does, its only a simple abstraction around ioctls.
I'd managed to figure that out--I just figured the abstraction was there to save a little typing and act as a type-level sanity check.
http://cgit.freedesktop.org/~airlied/radeondemo
is a simple layer on top that just does some blits using the shaders from the DDX.
This is the sort of thing I tried to find. Thanks!
dri-devel@lists.freedesktop.org