This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Too many opengl program count make link failure

Hello, I'm working on mobile game industry.

We are suffering from opengl link program failure.....

I think this is because of too many opengl program count.

If we applied lru cache for shader count, the problem was gone...

I wanna know "Limit of program(compiled shader) count is determined based on memory usage at the time?" 

And "Can too many program(compiled shader) count impact to other gpu resource like texture, constant buffer...? ( Memory size that compiled shader takes up is fixed?? )"

Parents
  • Hi Sung Jin,

    What driver version is used on devices where you see this problem? Some older drivers have an internal 16MB heap for shader code, and if this is exceeded then you might see linking errors. The heap is is dedicated to shader programs so use of other resources would not impact it. If you are hitting this limit, the only work-around is to delete programs -- which in practice usually means implementing some kind of LRU cache like you say. I was curious what driver version(s) you see this problem on as my expectation is that most vendors shipping R19 or newer will have a fix for this.

    Cheers,
    Christian

Reply
  • Hi Sung Jin,

    What driver version is used on devices where you see this problem? Some older drivers have an internal 16MB heap for shader code, and if this is exceeded then you might see linking errors. The heap is is dedicated to shader programs so use of other resources would not impact it. If you are hitting this limit, the only work-around is to delete programs -- which in practice usually means implementing some kind of LRU cache like you say. I was curious what driver version(s) you see this problem on as my expectation is that most vendors shipping R19 or newer will have a fix for this.

    Cheers,
    Christian

Children