[Mesa-dev] [PATCH 06/10] glsl: use last_vert_prog to get last {clip, cull}_distance_array_size
Timothy Arceri
timothy.arceri at collabora.com
Thu Jan 19 06:23:12 UTC 2017
---
src/compiler/glsl/link_varyings.cpp | 6 ++++--
src/compiler/glsl/linker.cpp | 14 --------------
src/mesa/main/mtypes.h | 7 -------
3 files changed, 4 insertions(+), 23 deletions(-)
diff --git a/src/compiler/glsl/link_varyings.cpp b/src/compiler/glsl/link_varyings.cpp
index eef215d..f0df3d6 100644
--- a/src/compiler/glsl/link_varyings.cpp
+++ b/src/compiler/glsl/link_varyings.cpp
@@ -745,10 +745,12 @@ tfeedback_decl::assign_location(struct gl_context *ctx,
unsigned actual_array_size;
switch (this->lowered_builtin_array_variable) {
case clip_distance:
- actual_array_size = prog->LastClipDistanceArraySize;
+ actual_array_size = prog->last_vert_prog ?
+ prog->last_vert_prog->info.clip_distance_array_size : 0;
break;
case cull_distance:
- actual_array_size = prog->LastCullDistanceArraySize;
+ actual_array_size = prog->last_vert_prog ?
+ prog->last_vert_prog->info.cull_distance_array_size : 0;
break;
case tess_level_outer:
actual_array_size = 4;
diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp
index c878ab0..8a50644 100644
--- a/src/compiler/glsl/linker.cpp
+++ b/src/compiler/glsl/linker.cpp
@@ -4774,20 +4774,6 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog)
}
}
- if (num_shaders[MESA_SHADER_GEOMETRY] > 0) {
- prog->LastClipDistanceArraySize = prog->_LinkedShaders[MESA_SHADER_GEOMETRY]->Program->info.clip_distance_array_size;
- prog->LastCullDistanceArraySize = prog->_LinkedShaders[MESA_SHADER_GEOMETRY]->Program->info.cull_distance_array_size;
- } else if (num_shaders[MESA_SHADER_TESS_EVAL] > 0) {
- prog->LastClipDistanceArraySize = prog->_LinkedShaders[MESA_SHADER_TESS_EVAL]->Program->info.clip_distance_array_size;
- prog->LastCullDistanceArraySize = prog->_LinkedShaders[MESA_SHADER_TESS_EVAL]->Program->info.cull_distance_array_size;
- } else if (num_shaders[MESA_SHADER_VERTEX] > 0) {
- prog->LastClipDistanceArraySize = prog->_LinkedShaders[MESA_SHADER_VERTEX]->Program->info.clip_distance_array_size;
- prog->LastCullDistanceArraySize = prog->_LinkedShaders[MESA_SHADER_VERTEX]->Program->info.cull_distance_array_size;
- } else {
- prog->LastClipDistanceArraySize = 0; /* Not used */
- prog->LastCullDistanceArraySize = 0; /* Not used */
- }
-
/* Here begins the inter-stage linking phase. Some initial validation is
* performed, then locations are assigned for uniforms, attributes, and
* varyings.
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index d9f7cfa..5ef3b43 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -2794,13 +2794,6 @@ struct gl_shader_program
struct exec_list EmptyUniformLocations;
/**
- * Size of the gl_ClipDistance array that is output from the last pipeline
- * stage before the fragment shader.
- */
- unsigned LastClipDistanceArraySize;
- unsigned LastCullDistanceArraySize;
-
- /**
* Total number of explicit uniform location including inactive uniforms.
*/
unsigned NumExplicitUniformLocations;
--
2.9.3
More information about the mesa-dev
mailing list