[Mesa-dev] [PATCH] radv: fix binding transform feedback buffers

Samuel Pitoiset samuel.pitoiset at gmail.com
Mon Mar 11 09:29:34 UTC 2019


On 3/11/19 10:05 AM, Bas Nieuwenhuizen wrote:
> hmm, nothing to disabled them again?

Apparently not? Except vkResetCommandBuffer() of course.

According to the spec, the behaviour of 
CmdBindTransformFeedbackBuffersEXT() is similar to the other binding 
funcs (eg. vertex buffers).

Maybe we should just check if buffers aren't VK_NULL_HANDLE?

>
> Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
>
> On Tue, Mar 5, 2019 at 6:06 PM Samuel Pitoiset
> <samuel.pitoiset at gmail.com> wrote:
>> The mask should be accumulated if two calls are used for
>> binding two buffers at different indexes. Otherwise, the
>> driver only accounts for the last one.
>>
>> Noticed while glancing at this code.
>>
>> Cc: 18.3 19.0 <mesa-stable at lists.freedesktop.org>
>> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
>> ---
>>   src/amd/vulkan/radv_cmd_buffer.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
>> index 5b66930d137..b8d8583c1b0 100644
>> --- a/src/amd/vulkan/radv_cmd_buffer.c
>> +++ b/src/amd/vulkan/radv_cmd_buffer.c
>> @@ -4987,7 +4987,7 @@ void radv_CmdBindTransformFeedbackBuffersEXT(
>>                  enabled_mask |= 1 << idx;
>>          }
>>
>> -       cmd_buffer->state.streamout.enabled_mask = enabled_mask;
>> +       cmd_buffer->state.streamout.enabled_mask |= enabled_mask;
>>
>>          cmd_buffer->state.dirty |= RADV_CMD_DIRTY_STREAMOUT_BUFFER;
>>   }
>> --
>> 2.21.0
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list