2013-04-24 26 views
0

如果我嘗試上傳數據到圖像緩衝區,函數clEnqueueWriteImage返回-5。 OpenCL規範中沒有指定該錯誤。問題是什麼?命令隊列,內存對象和數據看起來很棒。阻止設置爲trueclEnqueueWriteImage返回-5

我的C++代碼是這樣的:

m_NativeImage = clCreateImage2D(_rContext, _MemoryFlag, &m_NativeImageFormat, m_Width, m_Height, 0, NULL, &Error); 

size_t Origin[] = {0,0,0};   
size_t Region[] = {m_Width, m_Height, 1}; // Size of object to be transferred 

Error = clEnqueueWriteImage(m_NativeCommandQueue, m_NativeImage, _Blocking, Origin, Region, 0, 0, _pData, 0, 0, 0); 
+1

-5意味着CL_OUT_OF_RESOURCES,什麼是你的圖像的大小,什麼格式,如何定義_pData?我猜包裝錯誤。 – Thomas 2013-04-24 22:41:27

+0

圖片是一個546x546 BMP文件(874KB)。我把這個文件加載到一個unsigned char *數組中(_pData是void *)。圖片的格式是否有可能是2的冪次? – 2013-04-25 05:46:14

回答