[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