struct gl_context;
struct gl_shader_program;
+struct gl_nir_linker_options {
+ bool fill_parameters;
+};
+
+bool gl_nir_link_spirv(struct gl_context *ctx,
+ struct gl_shader_program *prog,
+ const struct gl_nir_linker_options *options);
+
+bool gl_nir_link_glsl(struct gl_context *ctx, struct gl_shader_program *prog);
+
bool gl_nir_link_uniforms(struct gl_context *ctx,
- struct gl_shader_program *prog);
+ struct gl_shader_program *prog,
+ bool fill_parameters);
void gl_nir_set_uniform_initializers(struct gl_context *ctx,
struct gl_shader_program *prog);
void nir_build_program_resource_list(struct gl_context *ctx,
- struct gl_shader_program *prog);
+ struct gl_shader_program *prog,
+ bool rebuild_resourse_list);
void gl_nir_link_assign_atomic_counter_resources(struct gl_context *ctx,
struct gl_shader_program *prog);
+void gl_nir_link_check_atomic_counter_resources(struct gl_context *ctx,
+ struct gl_shader_program *prog);
+
void gl_nir_link_assign_xfb_resources(struct gl_context *ctx,
struct gl_shader_program *prog);