mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 20:28:04 +02:00
glsl: Add gl_uniform_storage fields to keep track of image uniform indices.
v2: Promote anonymous struct into named struct. Reviewed-by: Paul Berry <stereotype441@gmail.com>
This commit is contained in:
parent
bb13691d1c
commit
c116541b2c
1 changed files with 22 additions and 17 deletions
|
|
@ -78,6 +78,26 @@ struct gl_uniform_driver_storage {
|
|||
void *data;
|
||||
};
|
||||
|
||||
struct gl_opaque_uniform_index {
|
||||
/**
|
||||
* Base opaque uniform index
|
||||
*
|
||||
* If \c gl_uniform_storage::base_type is an opaque type, this
|
||||
* represents its uniform index. If \c
|
||||
* gl_uniform_storage::array_elements is not zero, the array will
|
||||
* use opaque uniform indices \c index through \c index + \c
|
||||
* gl_uniform_storage::array_elements - 1, inclusive.
|
||||
*
|
||||
* Note that the index may be different in each shader stage.
|
||||
*/
|
||||
uint8_t index;
|
||||
|
||||
/**
|
||||
* Whether this opaque uniform is used in this shader stage.
|
||||
*/
|
||||
bool active;
|
||||
};
|
||||
|
||||
struct gl_uniform_storage {
|
||||
char *name;
|
||||
/** Type of this uniform data stored.
|
||||
|
|
@ -99,24 +119,9 @@ struct gl_uniform_storage {
|
|||
*/
|
||||
bool initialized;
|
||||
|
||||
struct {
|
||||
/**
|
||||
* Base sampler index
|
||||
*
|
||||
* If \c ::base_type is \c GLSL_TYPE_SAMPLER, this represents the index
|
||||
* of this sampler. If \c ::array_elements is not zero, the array will
|
||||
* use sampler indices \c ::sampler through \c ::sampler +
|
||||
* \c ::array_elements - 1, inclusive.
|
||||
*
|
||||
* Note that the index may be different in each shader stage.
|
||||
*/
|
||||
uint8_t index;
|
||||
struct gl_opaque_uniform_index sampler[MESA_SHADER_STAGES];
|
||||
|
||||
/**
|
||||
* Whether this sampler is used in this shader stage.
|
||||
*/
|
||||
bool active;
|
||||
} sampler[MESA_SHADER_STAGES];
|
||||
struct gl_opaque_uniform_index image[MESA_SHADER_STAGES];
|
||||
|
||||
/**
|
||||
* Storage used by the driver for the uniform
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue