[Mesa-stable] [Mesa-dev] [PATCH] anv/cmd_buffer: Apply flush operations prior to executing secondaries
Jason Ekstrand
jason at jlekstrand.net
Sun Mar 26 01:59:03 UTC 2017
On March 25, 2017 2:54:41 PM Lionel Landwerlin
<lionel.g.landwerlin at intel.com> wrote:
> Hey Jason,
>
> I'm wondering whether we're missing flushing some dynamic state here too.
Nope, the client is required to re-emit it all at the top of the secondary.
> Regardless, the flushing you're adding here is definitely required :
>
> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Thanks! This has been on my radar for a while but it wasn't until Skia
started getting ported that someone actually hit it.
--Jason
> Thanks!
>
> On 24/03/17 23:31, Jason Ekstrand wrote:
>> Cc: "13.0 17.0" <mesa-stable at lists.freedesktop.org>
>> ---
>> src/intel/vulkan/genX_cmd_buffer.c | 5 +++++
>> 1 file changed, 5 insertions(+)
>>
>> diff --git a/src/intel/vulkan/genX_cmd_buffer.c
>> b/src/intel/vulkan/genX_cmd_buffer.c
>> index e2364db..8ec882e 100644
>> --- a/src/intel/vulkan/genX_cmd_buffer.c
>> +++ b/src/intel/vulkan/genX_cmd_buffer.c
>> @@ -654,6 +654,11 @@ genX(CmdExecuteCommands)(
>> */
>> genX(cmd_buffer_enable_pma_fix)(primary, false);
>>
>> + /* The secondary command buffer doesn't know which textures etc. have been
>> + * flushed prior to their execution. Apply those flushes now.
>> + */
>> + genX(cmd_buffer_apply_pipe_flushes)(primary);
>> +
>> for (uint32_t i = 0; i < commandBufferCount; i++) {
>> ANV_FROM_HANDLE(anv_cmd_buffer, secondary, pCmdBuffers[i]);
>>
>
>
More information about the mesa-stable
mailing list