On Mon, Nov 7, 2016 at 8:31 PM, Leo Liu <leo....@amd.com> wrote:

>
>
> On 11/05/2016 02:44 AM, Nayan Deshmukh wrote:
>
>> Hi Leo,
>>
>> Thanks for the reference patch.
>>
>>       There are only a number of output surfaces taking turns as the
>> mixer render targets, so we probably can use the same pixmap
>>       corresponding to each of output surface texture.
>>
>> The mixer renders to a VdpOutputSurface which is provided to it by the
>> application, so we can't make any assumptions on the surface that will
>> be provided it may or may not be the same. Instead we could have
>> additional fields in vlVdpOutputSurface which stores the handle and
>> pixamp of the texture.
>>
>
> What I meant is in vl dri3 to store certain numbers of pixmaps, and update
> them when texture, handle, size
> changed by calling "pixmap_from_buffer", if the same buffer got reused,
> and then we just can use the same pixmap
> for present.
>
> I just tried the mpv, if no resizing, there are only 3 textures in turn.
>
> I think we should avoid this "creating new pixmap frame by frame", what do
> you think?
>
> I agree this needs to be avoided.

   /* In case of a single gpu we need to get the
    * handle and pixmap for the texture that is set
    */
    if (buffer && scrn->output_texture &&
        !scrn->is_different_gpu)
       allocate_new_buffer = true;

For this case we can simply check if the texture is present among the
available buffers and allocate a new
buffer in case it is not found, but avoid deleting the current buffer if
the no. of buffers is less than a fixed
value like 3.

However I will be busy for 2 weeks so it going to take sometime to complete
the patch.

Regards,
Nayan.

> Regards,
> Leo
>
>
>> Regards,
>> Nayan
>>
>
>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to