I'm just realized that my kernels compiled with Catalyst 9.3 (or 9.4?) no longer working with Catalyst 9.9.
By word "compiled" I mean sequence of calclCompile, calclLink, calclImageWrite & calclImageRead later when kernel needed.
As always with ATI software the error description is very informative "[Symbol "" used as OUTPUT does not have a memory association.]", it happens with calCtxRunProgram call. As it worked OK with all Catalyst versions prior to 9.9 (and of course I have no idea what's the "" symbol related to) first question is -- what's changed with newest version of Catalyst?
Second question is more complex. Is there any way to control calclCompile behavior especially for inlining functions? I mean literally any way including but not limited to running program with disassembler, put some breakpoints at aticaldd.dll and change registers on fly to forbid compiler inline anything! It takes hours (yeah, hours on 3Ghz system) to compile kernel with several calls and I have feeling that most of this time taken by unsuccessful attempts to inline things. And most funny thing that (for shorter kernels) when compiler finally generates inlined code it runs slower (than other bigger kernels with calls/rets) because code size reaches 350K and looks like RV770 simply cannot handle such huge kernels.
Anyone survived reading above? No? Sigh...