[Mesa-dev] [PATCH 3/3] radeonsi: fix leaking the null constant buffer
Christian König
deathsimple at vodafone.de
Sat Mar 8 05:15:50 PST 2014
Strange, than this doesn't seems to work. I get valgrind warning that
this is still allocated.
Christian.
Am 08.03.2014 13:52, schrieb Marek Olšák:
> si_release_all_descriptors does this already.
>
> Marek
>
> On Sat, Mar 8, 2014 at 1:21 PM, Christian König <deathsimple at vodafone.de> wrote:
>> From: Christian König <christian.koenig at amd.com>
>>
>> Signed-off-by: Christian König <christian.koenig at amd.com>
>> ---
>> src/gallium/drivers/radeonsi/si_pipe.c | 10 ++++++++--
>> 1 file changed, 8 insertions(+), 2 deletions(-)
>>
>> diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c
>> index 5bc86bb..7e8e09b 100644
>> --- a/src/gallium/drivers/radeonsi/si_pipe.c
>> +++ b/src/gallium/drivers/radeonsi/si_pipe.c
>> @@ -80,6 +80,13 @@ static void si_destroy_context(struct pipe_context *context)
>>
>> si_release_all_descriptors(sctx);
>>
>> + for (int shader = 0; shader < SI_NUM_SHADERS; shader++) {
>> + struct si_buffer_resources *buffers = &sctx->const_buffers[shader];
>> + for (int i = 0; i < NUM_CONST_BUFFERS; i++) {
>> + pipe_resource_reference(&buffers->buffers[i], NULL);
>> + }
>> + }
>> +
>> pipe_resource_reference(&sctx->null_const_buf.buffer, NULL);
>> r600_resource_reference(&sctx->border_color_table, NULL);
>>
>> @@ -190,8 +197,7 @@ static struct pipe_context *si_create_context(struct pipe_screen *screen, void *
>>
>> for (shader = 0; shader < SI_NUM_SHADERS; shader++) {
>> for (i = 0; i < NUM_CONST_BUFFERS; i++) {
>> - sctx->b.b.set_constant_buffer(&sctx->b.b, shader, i,
>> - &sctx->null_const_buf);
>> + sctx->b.b.set_constant_buffer(&sctx->b.b, shader, i, NULL);
>> }
>> }
>>
>> --
>> 1.8.3.2
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list