When INSTANCING = false, the compiler fatals with:
test.glsl(21) : error C3002: call to undefined function "updateVertPosition"
Seems that when dead code elimination eliminates the entire body of the function, it fails to nuke the call before nuking the function. Inserting some no-op code for the disabled case (e.g. a=a) suppresses the problem.
Thanks for the code. This is indeed a compiler bug, we’ll look at it.
As for what is a good way to report bugs. Any of the above works. Posting here is probably the iffiest, since I might or might not see it anytime soon. Or I might totally miss your post.
I encountered the exact same problem doing pretty much the exact same thing as you with an ubershader.
Some additional info :
-I started having this problem with the driver version 180.48 (on Windows XP)
-Adding the line “float FFFDriverFix = 0;” systematically at the beginning of each function bypasses the compiler bug. This might help you until the new driver is out.
Both Apple and IBM has a system similiar to this.
Sun’s version has a voting mechanism so we can
help NV prioritise the bug fixes. It also has a
‘related bugs’ feature containing direct links.
And finally, it has a status so we can all know
if the bug is going to be fixed or not, or if a
workaround is recommended. While this forum is
great, its search is not good and Google doesn’t
search it very well too, resulting in tons of
knowledge lost in time.
The Bugzilla setup over on the registry page is mongo cool - convenient bug report template ready to boot.
But alas even Bugzilla requires the login rigmarole, so it’s not going to be nearly as quick and convenient as e.g. smacking down a rotting trout in the forums here (you’re sure to get a fair share of rotting something or other without some form of culpability anyways).
2Alfonse: it’s not much of a question here
This action will only benefit Nv, increase it’s popularity among developers and finally transform into customer’s money.
Running a text-based bug tracking system doesn’t
cost much infrastructure-wise. I’d be surprised if
it costs more to run than say, this forum, and
definitely just a small fraction of NV’s entire
developer program. The benefits would be huge though.
We all know one of the things that NV does much
better than ATI is its developer program. SDKs,
tools, conferences, newsletters, books (GPU gems)
etc. A bug tracking system is simply an extension
of that. Every company I’ve worked at has an
internal bug tracker so this just feels like a
natural thing to do by NV - the world-wide dev
community (us) is the biggest QA team that NV can
ever hope to have. It’s just a matter of getting
organised: would you prefer to have an email sent
to you on a driver bug you are watching whenever
there’s a follow-up, or manually go through this
forum every other day?
It’d be the job of a competent IT/web engineer to enable
a common login, either thru NV’s dev database or opengl.org’s database. Just look at how Google provides access to all
its products (gmail, reader, docs, youtube etc.) via a
single Google login. The web has advanced a great deal
and all these problems only need a little planning and
foresight to avoid completely.