On 19/08/17 17:44, Jordan Justen wrote:
Signed-off-by: Jordan Justen <[email protected]>
Cc: Timothy Arceri <[email protected]>
---
src/compiler/glsl/linker.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp
index 306051f1f0..671c38e8e1 100644
--- a/src/compiler/glsl/linker.cpp
+++ b/src/compiler/glsl/linker.cpp
@@ -4578,9 +4578,9 @@ link_and_validate_uniforms(struct gl_context *ctx,
{
update_array_sizes(prog);
link_assign_uniform_locations(prog, ctx);
+ link_assign_atomic_counter_resources(ctx, prog);
I'm still not 100% sure this is really necessary. Either way in its
current form it will leak memory unless you also update the code in
shaderobj.c to release the old arrays e.g.
if (shProg->data->AtomicBuffers && !shProg->data->cache_fallback) {
to
if (shProg->data->AtomicBuffers) {
Having said this, it seems that I may have been better off making NIR
serialisable and avoid the whole fallback path mess [1]. I'm not sure if
Rob has done any work on this yet but having a NIR level cache would
simplify things considerably and avoid potentially expensive fallbacks
all the way to GLSL IR.
[1] https://lists.freedesktop.org/archives/mesa-dev/2017-May/156616.html
if (!prog->data->cache_fallback) {
- link_assign_atomic_counter_resources(ctx, prog);
link_calculate_subroutine_compat(prog);
check_resources(ctx, prog);
check_subroutine_resources(prog);
_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev