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