[Mesa-dev] [PATCH v2 3/8] tgsi/scan: add an assert for the size of the samplers_declared bitfield
Brian Paul
brianp at vmware.com
Thu Apr 7 17:48:53 UTC 2016
On 04/07/2016 11:35 AM, Nicolai Hähnle wrote:
> From: Nicolai Hähnle <nicolai.haehnle at amd.com>
>
> The literal 1 is a (signed) int, and shifting into the sign bit is undefined
> in C, so change occurences of 1 to 1u.
> ---
> src/gallium/auxiliary/tgsi/tgsi_scan.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/src/gallium/auxiliary/tgsi/tgsi_scan.c b/src/gallium/auxiliary/tgsi/tgsi_scan.c
> index d90fb1d..0eb8c68 100644
> --- a/src/gallium/auxiliary/tgsi/tgsi_scan.c
> +++ b/src/gallium/auxiliary/tgsi/tgsi_scan.c
> @@ -464,7 +464,7 @@ scan_declaration(struct tgsi_shader_info *info,
> }
> }
> } else if (file == TGSI_FILE_SAMPLER) {
> - info->samplers_declared |= 1 << reg;
> + info->samplers_declared |= 1u << reg;
> } else if (file == TGSI_FILE_SAMPLER_VIEW) {
> unsigned target = fulldecl->SamplerView.Resource;
> assert(target < TGSI_TEXTURE_UNKNOWN);
> @@ -540,6 +540,8 @@ tgsi_scan_shader(const struct tgsi_token *tokens,
> for (i = 0; i < Elements(info->sampler_targets); i++)
> info->sampler_targets[i] = TGSI_TEXTURE_UNKNOWN;
>
> + assert(sizeof(info->samplers_declared) * 8 >= PIPE_MAX_SAMPLERS);
> +
> /**
> ** Setup to begin parsing input shader
> **/
>
For 1-4,
Reviewed-by: Brian Paul <brianp at vmware.com>
More information about the mesa-dev
mailing list