summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimothy Arceri <tarceri@itsqueeze.com>2019-12-23 11:03:35 +1100
committerTimothy Arceri <tarceri@itsqueeze.com>2020-01-07 08:39:16 +1100
commited325ac4dd5dbe5ea17cec09ed89e4bf903e5a1d (patch)
tree0ca2788daffba2aacb3d7cb3f8b1cd2ecb363e21
parent0e60ea1d67b2b1398be44cc8ae2ad069bc5980bd (diff)
glsl: add new gl_nir_link_glsl() helper
This will allow us to do some linking in NIR that was previously done by the GLSL IR linker. To start with this just has calls for linking atomics. Reviewed-by: Alejandro PiƱeiro <apinheiro@igalia.com>
-rw-r--r--src/compiler/glsl/gl_nir_linker.c12
-rw-r--r--src/compiler/glsl/gl_nir_linker.h2
2 files changed, 14 insertions, 0 deletions
diff --git a/src/compiler/glsl/gl_nir_linker.c b/src/compiler/glsl/gl_nir_linker.c
index 07aab9091db..65d3e162a3c 100644
--- a/src/compiler/glsl/gl_nir_linker.c
+++ b/src/compiler/glsl/gl_nir_linker.c
@@ -581,3 +581,15 @@ gl_nir_link_spirv(struct gl_context *ctx, struct gl_shader_program *prog,
return true;
}
+
+bool
+gl_nir_link_glsl(struct gl_context *ctx, struct gl_shader_program *prog)
+{
+ gl_nir_link_assign_atomic_counter_resources(ctx, prog);
+ gl_nir_link_check_atomic_counter_resources(ctx, prog);
+
+ if (prog->data->LinkStatus == LINKING_FAILURE)
+ return false;
+
+ return true;
+}
diff --git a/src/compiler/glsl/gl_nir_linker.h b/src/compiler/glsl/gl_nir_linker.h
index ceb85785d4a..9dae03779b9 100644
--- a/src/compiler/glsl/gl_nir_linker.h
+++ b/src/compiler/glsl/gl_nir_linker.h
@@ -39,6 +39,8 @@ 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,
bool fill_parameters);