[Mesa-dev] [PATCH 2/4] r600g: update compressed_colortex_masks when a cmask is created or disabled
Marek Olšák
maraeo at gmail.com
Thu Mar 10 16:48:43 UTC 2016
On Thu, Mar 10, 2016 at 5:36 PM, Marek Olšák <maraeo at gmail.com> wrote:
> On Thu, Mar 10, 2016 at 12:07 AM, Nicolai Hähnle <nhaehnle at gmail.com> wrote:
>> From: Nicolai Hähnle <nicolai.haehnle at amd.com>
>>
>> ---
>> src/gallium/drivers/r600/r600_state_common.c | 30 ++++++++++++++++++++++++++++
>> 1 file changed, 30 insertions(+)
>>
>> diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c
>> index e3314bb..40ceb8d 100644
>> --- a/src/gallium/drivers/r600/r600_state_common.c
>> +++ b/src/gallium/drivers/r600/r600_state_common.c
>> @@ -693,6 +693,26 @@ static void r600_set_sampler_views(struct pipe_context *pipe, unsigned shader,
>> }
>> }
>>
>> +static void r600_update_compressed_colortex_mask(struct r600_samplerview_state *views)
>> +{
>> + uint32_t mask = views->enabled_mask;
>> +
>> + while (mask) {
>> + unsigned i = u_bit_scan(&mask);
>> + struct pipe_resource *res = views->views[i]->base.texture;
>> +
>> + if (res && res->target != PIPE_BUFFER) {
>> + struct r600_texture *rtex = (struct r600_texture *)res;
>> +
>> + if (rtex->cmask.size) {
>> + views->compressed_colortex_mask |= 1 << i;
>> + } else {
>> + views->compressed_colortex_mask &= ~(1 << i);
>> + }
>
> r600_set_sampler_views contains the same code. This conditional should
> be moved to a separate function, so that both functions can use it.
Whether or not you decide to apply my suggestion above, the whole series is:
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Marek
More information about the mesa-dev
mailing list