[Mesa-dev] [PATCH 3/3] nir: Store PatchInputsRead and PatchOutputsWritten in nir_shader_info.
Iago Toral
itoral at igalia.com
Wed Oct 28 05:23:01 PDT 2015
On Wed, 2015-10-28 at 03:37 -0700, Kenneth Graunke wrote:
> These tessellation shader related fields need plumbing through NIR.
>
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
> ---
> 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 7275b48..3722ae0 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 ac42251..d053273 100644
> --- a/src/glsl/nir/nir.h
> +++ b/src/glsl/nir/nir.h
> @@ -1481,6 +1481,11 @@ typedef struct nir_shader_info {
> /* Which system values are actually read */
> uint64_t system_values_read;
>
> + /* Which patch inputs are actually read */
> + uint64_t patch_inputs_read;
> + /* Which patch outputs are actually written */
> + uint64_t patch_outputs_written;
These two should be fine as uint32_t since we set them from a GLBitfield
which is 32-bit after all... or maybe you were thinking that we might
need to grow these bitfields in Mesa to 64-bits eventually.
All 3 patches are:
Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>
BTW, system_values_read should also be fine as 32-bit for the same
reason. I can send a patch for that if we care.
Iago
> /* Whether or not this shader ever uses textureGather() */
> bool uses_texture_gather;
>
More information about the mesa-dev
mailing list