Page 77 (page 91 of the PDF) says about glGetActiveAttrib:
"The returned attribute name can be the name of a generic
attribute or a conventional attribute (which begin with the prefix
"gl_", see the OpenGL Shading Language specification for a
complete list)."
Page 261 (page 275 of the PDF) says about glGetProgramiv:
"If pname is ACTIVE_ATTRIBUTES, the number of active attributes in
program is returned."
It doesn't say anything about built-in vs. user-defined attributes.
From the language around glGetActiveAttrib and the lack of an
exclusion of built-in attributes, which exists other places (e.g.,
around glBindAttribLocation), we can infer that GL_ACTIVE_ATTRIBUTES
should include the active attribute count. It should also be included
in the values returned by glGetActiveAttrib.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43138
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Tested-by: Yi Sun <yi.sun@intel.com>
if (var == NULL
|| var->mode != ir_var_in
- || var->location == -1
- || var->location < VERT_ATTRIB_GENERIC0)
+ || var->location == -1)
continue;
if (current_index == desired_index) {
if (var == NULL
|| var->mode != ir_var_in
- || var->location == -1
- || var->location < VERT_ATTRIB_GENERIC0)
+ || var->location == -1)
continue;
i++;
if (var == NULL
|| var->mode != ir_var_in
- || var->location == -1
- || var->location < VERT_ATTRIB_GENERIC0)
+ || var->location == -1)
continue;
const size_t len = strlen(var->name);