mesa: Add structures for "new style" uniform tracking in shader programs
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Tested-by: Tom Stellard <thomas.stellard@amd.com>
This commit is contained in:
@@ -77,6 +77,7 @@ struct gl_program_cache;
|
||||
struct gl_texture_object;
|
||||
struct gl_context;
|
||||
struct st_context;
|
||||
struct gl_uniform_storage;
|
||||
/*@}*/
|
||||
|
||||
|
||||
@@ -2205,6 +2206,30 @@ struct gl_shader_program
|
||||
} Vert;
|
||||
|
||||
/* post-link info: */
|
||||
unsigned NumUserUniformStorage;
|
||||
struct gl_uniform_storage *UniformStorage;
|
||||
|
||||
/**
|
||||
* Map of active uniform names to locations
|
||||
*
|
||||
* Maps any active uniform that is not an array element to a location.
|
||||
* Each active uniform, including individual structure members will appear
|
||||
* in this map. This roughly corresponds to the set of names that would be
|
||||
* enumerated by \c glGetActiveUniform.
|
||||
*/
|
||||
struct string_to_uint_map *UniformHash;
|
||||
|
||||
/**
|
||||
* Map from sampler unit to texture unit (set by glUniform1i())
|
||||
*
|
||||
* A sampler unit is associated with each sampler uniform by the linker.
|
||||
* The sampler unit associated with each uniform is stored in the
|
||||
* \c gl_uniform_storage::sampler field.
|
||||
*/
|
||||
GLubyte SamplerUnits[MAX_SAMPLERS];
|
||||
/** Which texture target is being sampled (TEXTURE_1D/2D/3D/etc_INDEX) */
|
||||
gl_texture_index SamplerTargets[MAX_SAMPLERS];
|
||||
|
||||
struct gl_uniform_list *Uniforms;
|
||||
struct gl_program_parameter_list *Varying;
|
||||
GLboolean LinkStatus; /**< GL_LINK_STATUS */
|
||||
|
||||
Reference in New Issue
Block a user