diff options
author | Nicolai Hähnle <[email protected]> | 2016-04-06 11:58:42 -0500 |
---|---|---|
committer | Nicolai Hähnle <[email protected]> | 2016-04-07 13:15:06 -0500 |
commit | 9d2693f58ad27464aabf556e7d6bd4c4eb0fd591 (patch) | |
tree | 7de8e0b09210f634281a5164f541b5b4e946b4da /src/gallium/drivers/radeonsi/si_descriptors.c | |
parent | f270067ef9c755a10d852c3e6ef4e9a01aabcb17 (diff) |
radeonsi: expand the compressed color and depth texture masks to 64 bits
This is in preparation of raising the number of exposed sampler views to 32
bits, which will raise the total number of sampler views to 33 for the
polygon stipple texture. That texture should never be compressed (and it's
certainly not a depth texture), but this approach seems cleaner to me than
special-casing the last slot in all affected code paths.
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_descriptors.c')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_descriptors.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c b/src/gallium/drivers/radeonsi/si_descriptors.c index 815b87bbd7e..6dd2e4fd89d 100644 --- a/src/gallium/drivers/radeonsi/si_descriptors.c +++ b/src/gallium/drivers/radeonsi/si_descriptors.c @@ -264,8 +264,8 @@ static void si_set_sampler_views(struct pipe_context *ctx, unsigned slot = start + i; if (!views || !views[i]) { - samplers->depth_texture_mask &= ~(1 << slot); - samplers->compressed_colortex_mask &= ~(1 << slot); + samplers->depth_texture_mask &= ~(1llu << slot); + samplers->compressed_colortex_mask &= ~(1llu << slot); si_set_sampler_view(sctx, &samplers->views, slot, NULL); continue; } @@ -277,18 +277,18 @@ static void si_set_sampler_views(struct pipe_context *ctx, (struct r600_texture*)views[i]->texture; if (rtex->is_depth && !rtex->is_flushing_texture) { - samplers->depth_texture_mask |= 1 << slot; + samplers->depth_texture_mask |= 1llu << slot; } else { - samplers->depth_texture_mask &= ~(1 << slot); + samplers->depth_texture_mask &= ~(1llu << slot); } if (is_compressed_colortex(rtex)) { - samplers->compressed_colortex_mask |= 1 << slot; + samplers->compressed_colortex_mask |= 1llu << slot; } else { - samplers->compressed_colortex_mask &= ~(1 << slot); + samplers->compressed_colortex_mask &= ~(1llu << slot); } } else { - samplers->depth_texture_mask &= ~(1 << slot); - samplers->compressed_colortex_mask &= ~(1 << slot); + samplers->depth_texture_mask &= ~(1llu << slot); + samplers->compressed_colortex_mask &= ~(1llu << slot); } } } @@ -306,9 +306,9 @@ si_samplers_update_compressed_colortex_mask(struct si_textures_info *samplers) struct r600_texture *rtex = (struct r600_texture *)res; if (is_compressed_colortex(rtex)) { - samplers->compressed_colortex_mask |= 1 << i; + samplers->compressed_colortex_mask |= 1llu << i; } else { - samplers->compressed_colortex_mask &= ~(1 << i); + samplers->compressed_colortex_mask &= ~(1llu << i); } } } |