From db54673b54ee7e2c49d5aa6f77d2fff3eed0aa24 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Fri, 9 Oct 2015 15:49:49 -0700 Subject: [PATCH] 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 Reviewed-by: Iago Toral Quiroga --- src/glsl/nir/glsl_to_nir.cpp | 2 ++ src/glsl/nir/nir.h | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/src/glsl/nir/glsl_to_nir.cpp b/src/glsl/nir/glsl_to_nir.cpp index facb9fa4a7a..ec6bdc8acb0 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 2559ef2a456..13ebbcae564 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; -- 2.30.2