summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Arceri <[email protected]>2016-10-27 14:47:09 +1100
committerTimothy Arceri <[email protected]>2016-11-17 12:52:24 +1100
commit9c2042f2ce4c6f8746153138692fb06954ec2ed7 (patch)
treebbd52b5069f6cc74567bb798fcc649fc9704e271
parent6b82e957be216ab3c55e1567f8a1329432e61267 (diff)
mesa/glsl: copy num_images to gl_program
We should be able to free gl_linked_shader after linking in order to do so we need to switch to getting values from gl_program instead. Reviewed-by: Emil Velikov <[email protected]>
-rw-r--r--src/compiler/glsl/glsl_to_nir.cpp1
-rw-r--r--src/mesa/main/shaderapi.c2
2 files changed, 2 insertions, 1 deletions
diff --git a/src/compiler/glsl/glsl_to_nir.cpp b/src/compiler/glsl/glsl_to_nir.cpp
index 096ab4c5e2a..fef89f9272a 100644
--- a/src/compiler/glsl/glsl_to_nir.cpp
+++ b/src/compiler/glsl/glsl_to_nir.cpp
@@ -151,7 +151,6 @@ glsl_to_nir(const struct gl_shader_program *shader_prog,
shader->info->num_ubos = sh->NumUniformBlocks;
shader->info->num_abos = shader_prog->NumAtomicBuffers;
shader->info->num_ssbos = sh->NumShaderStorageBlocks;
- shader->info->num_images = sh->NumImages;
shader->info->uses_clip_distance_out =
sh->Program->ClipDistanceArraySize != 0;
shader->info->separate_shader = shader_prog->SeparateShader;
diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c
index be3c203617d..4d64ae58a98 100644
--- a/src/mesa/main/shaderapi.c
+++ b/src/mesa/main/shaderapi.c
@@ -2165,6 +2165,8 @@ _mesa_copy_linked_program_data(const struct gl_shader_program *src,
struct gl_program *dst = dst_sh->Program;
+ dst->info.num_images = dst_sh->NumImages;
+
switch (dst_sh->Stage) {
case MESA_SHADER_VERTEX:
dst->ClipDistanceArraySize = src->Vert.ClipDistanceArraySize;