[Mesa-dev] [PATCH 2/5] mesa/glsl: copy num_images to gl_program

Timothy Arceri timothy.arceri at collabora.com
Thu Oct 27 09:01:54 UTC 2016


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.
---
 src/compiler/glsl/glsl_to_nir.cpp | 1 -
 src/mesa/main/shaderapi.c         | 2 ++
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/compiler/glsl/glsl_to_nir.cpp b/src/compiler/glsl/glsl_to_nir.cpp
index 096ab4c..fef89f9 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 be3c203..4d64ae5 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;
-- 
2.7.4



More information about the mesa-dev mailing list