Original Post
Linky.
The principle is simple: offer a direct C-style pointer dereferencing system inside the shader for immediate data access that requires only a one-time setup and some rare runtime configuration, effectively getting rid of all bind functions, which often fall inside tight loops and result in increasingly frequent cache misses. This also relieves the limitation on the number of objects accessible from a shader by directly uncapping it.
Neat stuff. Only problem is, it's nVidia-specific.
I do use nVidia (exclusively even) and I respect their position in the industry more than that of ATI's, but I'm not an nVidia fanboy and, even though CUDA and bindless graphics are fantastic things in their own right, I will not give up compatibility with ATI to write shaders that I have no idea how or if they can be ported later on. At least that is my initial reaction. However, bindless graphics does promise up to 7.5x speed increase (the truth is somewhat closer to 2-2.5x in most less specific situations), which is actually pretty fantastic. I'm not ready to forfeit my current approach and sell my soul to a single company, but I did find this pretty compelling and would like some input on what you guys think what this may result in (IMO the obvious solution is an increasing "C-ification", which will most likely expand to sheer C++ features in shaders at one point, gradually blurring the gap between the two; seeing as shaders were born from assembly, like programming in general, this doesn't seem like an overly weird outcome; however, another question is when will ARB get around to this - the article is from 2009 and today I'm finding it hard to locate any information on ATI's or ARB's stance on the subject).
The principle is simple: offer a direct C-style pointer dereferencing system inside the shader for immediate data access that requires only a one-time setup and some rare runtime configuration, effectively getting rid of all bind functions, which often fall inside tight loops and result in increasingly frequent cache misses. This also relieves the limitation on the number of objects accessible from a shader by directly uncapping it.
Neat stuff. Only problem is, it's nVidia-specific.
I do use nVidia (exclusively even) and I respect their position in the industry more than that of ATI's, but I'm not an nVidia fanboy and, even though CUDA and bindless graphics are fantastic things in their own right, I will not give up compatibility with ATI to write shaders that I have no idea how or if they can be ported later on. At least that is my initial reaction. However, bindless graphics does promise up to 7.5x speed increase (the truth is somewhat closer to 2-2.5x in most less specific situations), which is actually pretty fantastic. I'm not ready to forfeit my current approach and sell my soul to a single company, but I did find this pretty compelling and would like some input on what you guys think what this may result in (IMO the obvious solution is an increasing "C-ification", which will most likely expand to sheer C++ features in shaders at one point, gradually blurring the gap between the two; seeing as shaders were born from assembly, like programming in general, this doesn't seem like an overly weird outcome; however, another question is when will ARB get around to this - the article is from 2009 and today I'm finding it hard to locate any information on ATI's or ARB's stance on the subject).