diff options
author | Timothy Arceri <tarceri@itsqueeze.com> | 2019-12-23 11:03:35 +1100 |
---|---|---|
committer | Timothy Arceri <tarceri@itsqueeze.com> | 2020-01-07 08:39:16 +1100 |
commit | ed325ac4dd5dbe5ea17cec09ed89e4bf903e5a1d (patch) | |
tree | 0ca2788daffba2aacb3d7cb3f8b1cd2ecb363e21 | |
parent | 0e60ea1d67b2b1398be44cc8ae2ad069bc5980bd (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.c | 12 | ||||
-rw-r--r-- | src/compiler/glsl/gl_nir_linker.h | 2 |
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); |