The general question is how to sucessfully use linear format 2D image ( created with flag CAL_RESALLOC_GLOBAL_BUFFER ) with uav.
In the CAL Programming guide ( section 7.3 ) we have nice example. There is 2d linear image and IL code uses raw uav to access it. Unfortunatelly it doesn't work. Function calCtxSetMem returns error CAL_RESULT_ERROR.
Also typed uav returns the same error when we try to use it with linear 2d image format. Although it works with tiled format ( without flag ).
I think this is a bug in CAL/driver. Linear format should be supported by uavs ( as stated in CAL programming manual ).
My system is 64 bit ubuntu jaunty with 10.11 driver and 2.2 sdk.
PS. The code is available in CAL++ uavwrite example ( http://sourceforge.net/projects/calpp/ ), svn version
I'm still waiting for any answer from ATI. I think that ignoring post with bug report is really unprofessional ( but it's not the first time I see it on this forum ... ).
I've removed references to wavefrontPerSIMD in svn version.
Also now uavwrite has by default not working version of uav ( with flag CAL_RESALLOC_GLOBAL_BUFFER ). To get working version simply comment line 260 and uncomment line 258 in uawwrite.cpp example.
No change in SDK 2.3 with driver 10.12.
The problem still exists in driver 11.1.
I also have a question - when you post some example in CAL manual shoudn't it be verified that it actually works ?
Driver 11.2 also has this bug.
Thank you for replay.
I can verify that it's possible to create 1D Image with width>maxResource1DWidth when CAL_RESALLOC_GLOBAL_BUFFER flag is set. This solves the problem for me.
But it should be explicitly written in documentation! It really isn't obvious that you can allocate resource with WIDTH greater than MAXIMUM WIDTH !