Jump to content
  • Advertisement
Sign in to follow this  

Things that go break in the night

This topic is 4257 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Something like one year ago I wrote a program which modified a few shaders procedurally. At runtime the hw is probed and a few predefined macros are set to known values so the shader code becomes "GLSL compliant". I used it for a few months and I'm sure it worked. A few days ago, I needed to get it live again and with my horror, I found it to be horribly broken. On the first run (from the previous code, dated almost one year ago!) NVidia's internal Cg compiler produced ARBvp code and bailed out for an out-of-range array index. Upon an overview, it looks like the uniform count has gone wrong. Additionally, the vertex shaders don't work as they should - they produce correct position but not color info, which is set by uniforms so I feel uniform settings is broken but I don't exactly know how. Fragment shaders instead do work just ok. This code was a prototype. It was never designed to be mantained. The idea of opening it again gives me the creeps. Do someone else had issues with various driver / GLSL compilers on NV implementation over the time? Do someone remember what changes happened in the various drivers? It looks like new drivers do expose a higher amount of uniforms. Maybe they now switched to abstracting it a bit like ATi on 9xxx?. Additionally, for some reason, getting the rid of shader object now gives an access violation. I am sure this never happened before and the func pointer / handle seems to be initialized correctly. There also seems to be some minor glitches here and there.

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!