diff options
author | Antony Riakiotakis <kalast@gmail.com> | 2014-04-02 16:07:45 +0400 |
---|---|---|
committer | Antony Riakiotakis <kalast@gmail.com> | 2014-04-02 16:08:04 +0400 |
commit | 965e5039f5d158c7c89d525e83b830f9ad10adc0 (patch) | |
tree | 14c65dd638311dcec90f8d9ee56fcb4b738e6310 /source/blender/gpu/intern/gpu_codegen.h | |
parent | 26b2645d62f3f60b0125dcb14a8daa03920a6031 (diff) |
Refactor to recent matcap built-ins to not use the built in system.
Those variables would get declared on fragment shader level and since we
use reserved opengl variables, some compilers would throw an error
(NVIDIA allows, some ATI compilers may break). Instead, use a separate
opengl built-in category especially for them. This works on NVIDIA, and
will wait for tests of this commit from ATI users.
Diffstat (limited to 'source/blender/gpu/intern/gpu_codegen.h')
-rw-r--r-- | source/blender/gpu/intern/gpu_codegen.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/gpu/intern/gpu_codegen.h b/source/blender/gpu/intern/gpu_codegen.h index 2e4cfe2e37c..b6db923e5c2 100644 --- a/source/blender/gpu/intern/gpu_codegen.h +++ b/source/blender/gpu/intern/gpu_codegen.h @@ -70,6 +70,7 @@ GPUFunction *GPU_lookup_function(const char *name); typedef enum GPUDataSource { GPU_SOURCE_VEC_UNIFORM, GPU_SOURCE_BUILTIN, + GPU_SOURCE_OPENGL_BUILTIN, GPU_SOURCE_TEX_PIXEL, GPU_SOURCE_TEX, GPU_SOURCE_ATTRIB @@ -108,6 +109,7 @@ struct GPUNodeLink { GPUTexture *dynamictex; GPUBuiltin builtin; + GPUOpenGLBuiltin oglbuiltin; struct GPUOutput *output; }; @@ -155,6 +157,7 @@ typedef struct GPUInput { char attribname[32]; /* attribute name */ int attribfirst; /* this is the first one that is bound */ GPUBuiltin builtin; /* builtin uniform */ + GPUOpenGLBuiltin oglbuiltin; /* opengl built in varying */ } GPUInput; struct GPUPass { |