像素缓冲区是不是有大小?我的openGL、cuda互操作程序里只能从pbo里拷贝一部分数据?请各位大神指导~
您好。您的帖子已经阅读了,但是我不懂这个问题。
我建议您继续等待其他会员/版主/NV官方支持/总版主的回复。
- PBO当然是有大小的。
- 第二个问题无法回答,造成这种现象的可能性很多,粗略想想有可能开辟空间时就失败了,或者拷贝的时候数据大小算错了,等等。
追问一下PBO大小是多大?怎么得到的~拷贝的时候我用GL错误检查,没有报错啊~
- PBO的大小应该是在glBufferData()中定义的,应该也可以通过函数查询PBO中的数据大小,具体是什么我不知道,因为我没用过,我以往的经验是PBO里的数据如同global memory里的数组,大小和数值应该心知肚明,你可以google下。
- 没有报错很正常,gl只能报“致命的”错误,比方说你对长为10的数组复制其中5个值,不会给你报错的。
glBufferData()中是自己定义的数据大小,我的意思是PBO最多能分配多大的数据啊~我可以确认开辟空间和拷贝数据大小都是没有错的~不知道为什么生成的图片只有上面四分之一正确,下面四分之三是最后一行数据生成的,都是一样的图像~
这个我就不知道了。以我以往的经验是,PBO可分配的最大容量,如同通过cudaMalloc分配的空间,不能超过显存可用的大小。
不知道为什么我只能从PBO中拷贝出一部分数据出来,跪求各位大神回答是为什么~