mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-06-19 17:08:25 +02:00
mesa: remove now unused _mesa_get_uniform_location
Cc: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
This commit is contained in:
parent
7f5f7d15fb
commit
fdb8487613
2 changed files with 0 additions and 79 deletions
|
|
@ -978,81 +978,6 @@ _mesa_uniform_matrix(struct gl_context *ctx, struct gl_shader_program *shProg,
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Called via glGetUniformLocation().
|
||||
*
|
||||
* Returns the uniform index into UniformStorage (also the
|
||||
* glGetActiveUniformsiv uniform index), and stores the referenced
|
||||
* array offset in *offset, or GL_INVALID_INDEX (-1).
|
||||
*/
|
||||
extern "C" unsigned
|
||||
_mesa_get_uniform_location(struct gl_shader_program *shProg,
|
||||
const GLchar *name,
|
||||
unsigned *out_offset)
|
||||
{
|
||||
/* Page 80 (page 94 of the PDF) of the OpenGL 2.1 spec says:
|
||||
*
|
||||
* "The first element of a uniform array is identified using the
|
||||
* name of the uniform array appended with "[0]". Except if the last
|
||||
* part of the string name indicates a uniform array, then the
|
||||
* location of the first element of that array can be retrieved by
|
||||
* either using the name of the uniform array, or the name of the
|
||||
* uniform array appended with "[0]"."
|
||||
*
|
||||
* Note: since uniform names are not allowed to use whitespace, and array
|
||||
* indices within uniform names are not allowed to use "+", "-", or leading
|
||||
* zeros, it follows that each uniform has a unique name up to the possible
|
||||
* ambiguity with "[0]" noted above. Therefore we don't need to worry
|
||||
* about mal-formed inputs--they will properly fail when we try to look up
|
||||
* the uniform name in shProg->UniformHash.
|
||||
*/
|
||||
|
||||
const GLchar *base_name_end;
|
||||
long offset = parse_program_resource_name(name, &base_name_end);
|
||||
bool array_lookup = offset >= 0;
|
||||
char *name_copy;
|
||||
|
||||
if (array_lookup) {
|
||||
name_copy = (char *) malloc(base_name_end - name + 1);
|
||||
memcpy(name_copy, name, base_name_end - name);
|
||||
name_copy[base_name_end - name] = '\0';
|
||||
} else {
|
||||
name_copy = (char *) name;
|
||||
offset = 0;
|
||||
}
|
||||
|
||||
unsigned location = 0;
|
||||
const bool found = shProg->UniformHash->get(location, name_copy);
|
||||
|
||||
assert(!found
|
||||
|| strcmp(name_copy, shProg->UniformStorage[location].name) == 0);
|
||||
|
||||
/* Free the temporary buffer *before* possibly returning an error.
|
||||
*/
|
||||
if (name_copy != name)
|
||||
free(name_copy);
|
||||
|
||||
if (!found)
|
||||
return GL_INVALID_INDEX;
|
||||
|
||||
/* If the uniform is built-in, fail. */
|
||||
if (shProg->UniformStorage[location].builtin)
|
||||
return GL_INVALID_INDEX;
|
||||
|
||||
/* If the uniform is an array, fail if the index is out of bounds.
|
||||
* (A negative index is caught above.) This also fails if the uniform
|
||||
* is not an array, but the user is trying to index it, because
|
||||
* array_elements is zero and offset >= 0.
|
||||
*/
|
||||
if (array_lookup
|
||||
&& offset >= (long) shProg->UniformStorage[location].array_elements) {
|
||||
return GL_INVALID_INDEX;
|
||||
}
|
||||
|
||||
*out_offset = offset;
|
||||
return location;
|
||||
}
|
||||
|
||||
extern "C" bool
|
||||
_mesa_sampler_uniforms_are_valid(const struct gl_shader_program *shProg,
|
||||
char *errMsg, size_t errMsgLength)
|
||||
|
|
|
|||
|
|
@ -343,10 +343,6 @@ void GLAPIENTRY
|
|||
_mesa_ProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count,
|
||||
GLboolean transpose, const GLdouble *value);
|
||||
|
||||
unsigned
|
||||
_mesa_get_uniform_location(struct gl_shader_program *shProg,
|
||||
const GLchar *name, unsigned *offset);
|
||||
|
||||
void
|
||||
_mesa_uniform(struct gl_context *ctx, struct gl_shader_program *shader_program,
|
||||
GLint location, GLsizei count,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue