Re: [PyCUDA] OpenGL missing feature

2011-03-09 Thread Andreas Kloeckner
Hi Tomasz,

On Tue, 08 Mar 2011 22:10:37 +0100, =?UTF-8?B?VG9tYXN6IFJ5YmFr?= 
bogom...@post.pl wrote:
 Hello.
 Some time ago I have sent new-style OpenGL wrapper. Don't worry, it works.
 But recently I have been working on new program and noticed that new-style
 OpenGL wrapper requires calling separate functions when mapping buffer and
 surface objects. When mapping ordinary textures, they are treated as
 surfaces, when texture is backed by a buffer, one can just map buffer -
 and this is how I missed this function during testing functionality of
 wrapper. I attach the patch that adds needed function (it also removes old
 comment about missing feature).
 Few problems with current situation (even after applyting this patch):
 1. Programmer needs to remember which mapping contains surface and which
 contains buffer. Would it be better to create separete classes that
 would deal with those cases separately? Even if so, could you Andreas
 apply this patch (to have fully working OpenGL wrapper) and deal with
 changes in API later?

I don't see a big need. IIUC, the only difference would be who generates
the error message--the CUDA implementation or PyCUDA. And in this case,
I prefer letting CUDA do the complaining.

 2. CUDA API returns CUarray. So far the only way of accessing it in PyCUDA
 is through GPUArray, but when attaching to CUarray GPUArray creates new
 object; we need ability to attach to existing CUarray without changing it.
 Sorry for missing this so far. The only explanation is that accessing bare 
 textures in CUDA
 is not used very often - especially as noone has complained about this 
 missing feature so far :-)

Applied (with minor fixes), thanks!

Andreas



pgpbHGygB6pxE.pgp
Description: PGP signature
___
PyCUDA mailing list
PyCUDA@tiker.net
http://lists.tiker.net/listinfo/pycuda


[PyCUDA] OpenGL missing feature

2011-03-08 Thread Tomasz Rybak
Hello.
Some time ago I have sent new-style OpenGL wrapper. Don't worry, it works.
But recently I have been working on new program and noticed that new-style
OpenGL wrapper requires calling separate functions when mapping buffer and
surface objects. When mapping ordinary textures, they are treated as
surfaces, when texture is backed by a buffer, one can just map buffer -
and this is how I missed this function during testing functionality of
wrapper. I attach the patch that adds needed function (it also removes old
comment about missing feature).
Few problems with current situation (even after applyting this patch):
1. Programmer needs to remember which mapping contains surface and which
contains buffer. Would it be better to create separete classes that
would deal with those cases separately? Even if so, could you Andreas
apply this patch (to have fully working OpenGL wrapper) and deal with
changes in API later?
2. CUDA API returns CUarray. So far the only way of accessing it in PyCUDA
is through GPUArray, but when attaching to CUarray GPUArray creates new
object; we need ability to attach to existing CUarray without changing it.
Sorry for missing this so far. The only explanation is that accessing bare 
textures in CUDA
is not used very often - especially as noone has complained about this 
missing feature so far :-)
Best regards
Tomasz Rybak

gl.diff
Description: Binary data
___
PyCUDA mailing list
PyCUDA@tiker.net
http://lists.tiker.net/listinfo/pycuda