summaryrefslogtreecommitdiffstats
path: root/src/glsl/linker.h
diff options
context:
space:
mode:
authorFrancisco Jerez <currojerez@riseup.net>2013-09-11 12:14:46 -0700
committerIan Romanick <ian.d.romanick@intel.com>2013-11-07 15:56:57 -0800
commit5c114939b486c153148279302128946a1879e90e (patch)
tree14f8188c988507d61cd8ca91bfe548834f2e7e51 /src/glsl/linker.h
parente63bb298531918c3a17e77a9ad96670e724c9c37 (diff)
downloadexternal_mesa3d-5c114939b486c153148279302128946a1879e90e.zip
external_mesa3d-5c114939b486c153148279302128946a1879e90e.tar.gz
external_mesa3d-5c114939b486c153148279302128946a1879e90e.tar.bz2
glsl: Linker support for ARB_shader_atomic_counters.
v2: Add comments on the purpose of the auxiliary data structures. Check for atomic counter overlaps. Use the contains_atomic() convenience method. Add static assert with the number of expected shader stages. v3: Don't resize atomic arrays. v4: Add comment on the reason why we don't resize atomic counter arrays. Use 'strcmp(...) == 0' instead of '!strcmp(...)'. v5 (idr): Don't use STL in the linker. Signed-off-by: Francisco Jerez <currojerez@riseup.net> Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Diffstat (limited to 'src/glsl/linker.h')
-rw-r--r--src/glsl/linker.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/glsl/linker.h b/src/glsl/linker.h
index 887cd33..7b1f6f9 100644
--- a/src/glsl/linker.h
+++ b/src/glsl/linker.h
@@ -69,6 +69,14 @@ validate_interstage_interface_blocks(struct gl_shader_program *prog,
const gl_shader *producer,
const gl_shader *consumer);
+extern void
+link_assign_atomic_counter_resources(struct gl_context *ctx,
+ struct gl_shader_program *prog);
+
+extern void
+link_check_atomic_counter_resources(struct gl_context *ctx,
+ struct gl_shader_program *prog);
+
/**
* Class for processing all of the leaf fields of a variable that corresponds
* to a program resource.