summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2015-10-09 15:49:49 -0700
committerKenneth Graunke <kenneth@whitecape.org>2015-11-10 01:03:43 -0800
commitdb54673b54ee7e2c49d5aa6f77d2fff3eed0aa24 (patch)
tree10a9d9b21f9dbe488bb37b641e4dc2cca5a0b078 /src
parent437d7b611972c52fac32cb54038d3b278f66fd5a (diff)
downloadexternal_mesa3d-db54673b54ee7e2c49d5aa6f77d2fff3eed0aa24.zip
external_mesa3d-db54673b54ee7e2c49d5aa6f77d2fff3eed0aa24.tar.gz
external_mesa3d-db54673b54ee7e2c49d5aa6f77d2fff3eed0aa24.tar.bz2
nir: Store PatchInputsRead and PatchOutputsWritten in nir_shader_info.
These tessellation shader related fields need plumbing through NIR. v2: Use uint32_t instead of uint64_t to match the source type of GLbitfield (caught by Iago Toral). Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Diffstat (limited to 'src')
-rw-r--r--src/glsl/nir/glsl_to_nir.cpp2
-rw-r--r--src/glsl/nir/nir.h5
2 files changed, 7 insertions, 0 deletions
diff --git a/src/glsl/nir/glsl_to_nir.cpp b/src/glsl/nir/glsl_to_nir.cpp
index facb9fa..ec6bdc8 100644
--- a/src/glsl/nir/glsl_to_nir.cpp
+++ b/src/glsl/nir/glsl_to_nir.cpp
@@ -160,6 +160,8 @@ glsl_to_nir(const struct gl_shader_program *shader_prog,
shader->info.num_images = sh->NumImages;
shader->info.inputs_read = sh->Program->InputsRead;
shader->info.outputs_written = sh->Program->OutputsWritten;
+ shader->info.patch_inputs_read = sh->Program->PatchInputsRead;
+ shader->info.patch_outputs_written = sh->Program->PatchOutputsWritten;
shader->info.system_values_read = sh->Program->SystemValuesRead;
shader->info.uses_texture_gather = sh->Program->UsesGather;
shader->info.uses_clip_distance_out =
diff --git a/src/glsl/nir/nir.h b/src/glsl/nir/nir.h
index 2559ef2..13ebbca 100644
--- a/src/glsl/nir/nir.h
+++ b/src/glsl/nir/nir.h
@@ -1490,6 +1490,11 @@ typedef struct nir_shader_info {
/* Which system values are actually read */
uint64_t system_values_read;
+ /* Which patch inputs are actually read */
+ uint32_t patch_inputs_read;
+ /* Which patch outputs are actually written */
+ uint32_t patch_outputs_written;
+
/* Whether or not this shader ever uses textureGather() */
bool uses_texture_gather;