summaryrefslogtreecommitdiffstats
path: root/src/glsl
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2015-11-17 14:56:32 -0800
committerKenneth Graunke <[email protected]>2015-11-18 10:49:18 -0800
commit2631bfd62c899dfa2a7095685c4f6874d5e9704d (patch)
treecc6422452116e28e40a06b0272f45f0a0a4a7d5e /src/glsl
parentb196f1fff31f1528afa84590926c2935d9b0c255 (diff)
nir: Store the size of the TCS output patch in nir_shader_info.
Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'src/glsl')
-rw-r--r--src/glsl/nir/glsl_to_nir.cpp4
-rw-r--r--src/glsl/nir/nir.h5
2 files changed, 9 insertions, 0 deletions
diff --git a/src/glsl/nir/glsl_to_nir.cpp b/src/glsl/nir/glsl_to_nir.cpp
index 6d24341ce01..c4b53f38b6b 100644
--- a/src/glsl/nir/glsl_to_nir.cpp
+++ b/src/glsl/nir/glsl_to_nir.cpp
@@ -167,6 +167,10 @@ glsl_to_nir(const struct gl_shader_program *shader_prog,
shader_prog->TransformFeedback.NumVarying > 0;
switch (stage) {
+ case MESA_SHADER_TESS_CTRL:
+ shader->info.tcs.vertices_out = shader_prog->TessCtrl.VerticesOut;
+ break;
+
case MESA_SHADER_GEOMETRY:
shader->info.gs.vertices_in = shader_prog->Geom.VerticesIn;
shader->info.gs.output_primitive = sh->Geom.OutputType;
diff --git a/src/glsl/nir/nir.h b/src/glsl/nir/nir.h
index beabcafef4e..46add22da70 100644
--- a/src/glsl/nir/nir.h
+++ b/src/glsl/nir/nir.h
@@ -1544,6 +1544,11 @@ typedef struct nir_shader_info {
struct {
unsigned local_size[3];
} cs;
+
+ struct {
+ /** The number of vertices in the TCS output patch. */
+ unsigned vertices_out;
+ } tcs;
};
} nir_shader_info;