#define GLSL_LINKER_H
extern bool
-link_function_calls(gl_shader_program *prog, gl_shader *main,
+link_function_calls(gl_shader_program *prog, gl_linked_shader *main,
gl_shader **shader_list, unsigned num_shaders);
extern void
unsigned int *num_linked_blocks,
struct gl_uniform_block *new_block);
-extern bool
-link_uniform_blocks_are_compatible(const gl_uniform_block *a,
- const gl_uniform_block *b);
-
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_linked_shader *shader,
struct gl_uniform_block **ubo_blocks,
unsigned *num_ubo_blocks,
struct gl_uniform_block **ssbo_blocks,
void
validate_interstage_inout_blocks(struct gl_shader_program *prog,
- const gl_shader *producer,
- const gl_shader *consumer);
+ const gl_linked_shader *producer,
+ const gl_linked_shader *consumer);
void
validate_interstage_uniform_blocks(struct gl_shader_program *prog,
- gl_shader **stages, int num_stages);
+ gl_linked_shader **stages);
extern void
link_assign_atomic_counter_resources(struct gl_context *ctx,
*/
virtual void visit_field(const glsl_type *type, const char *name,
bool row_major, const glsl_type *record_type,
- const unsigned packing,
+ const enum glsl_interface_packing packing,
bool last_field);
/**
virtual void visit_field(const glsl_struct_field *field);
virtual void enter_record(const glsl_type *type, const char *name,
- bool row_major, const unsigned packing);
+ bool row_major, const enum glsl_interface_packing packing);
virtual void leave_record(const glsl_type *type, const char *name,
- bool row_major, const unsigned packing);
+ bool row_major, const enum glsl_interface_packing packing);
virtual void set_buffer_offset(unsigned offset);
*/
void recursion(const glsl_type *t, char **name, size_t name_length,
bool row_major, const glsl_type *record_type,
- const unsigned packing,
+ const enum glsl_interface_packing packing,
bool last_field, unsigned record_array_count,
const glsl_struct_field *named_ifc_member);
};