glsl: fully split apart buffer block arrays
With this change we create the UBO and SSBO arrays separately from the beginning rather than putting them into a combined array and splitting it apart later. A bug is with UBO and SSBO stage reference querying is also fixed as we now use the block index to lookup the references in the separate arrays not the combined buffer block array. Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
This commit is contained in:
@@ -53,13 +53,16 @@ extern bool
|
||||
link_uniform_blocks_are_compatible(const gl_uniform_block *a,
|
||||
const gl_uniform_block *b);
|
||||
|
||||
extern unsigned
|
||||
extern void
|
||||
link_uniform_blocks(void *mem_ctx,
|
||||
struct gl_context *ctx,
|
||||
struct gl_shader_program *prog,
|
||||
struct gl_shader **shader_list,
|
||||
unsigned num_shaders,
|
||||
struct gl_uniform_block **blocks_ret);
|
||||
struct gl_uniform_block **ubo_blocks,
|
||||
unsigned *num_ubo_blocks,
|
||||
struct gl_uniform_block **ssbo_blocks,
|
||||
unsigned *num_ssbo_blocks);
|
||||
|
||||
bool
|
||||
validate_intrastage_arrays(struct gl_shader_program *prog,
|
||||
|
Reference in New Issue
Block a user