<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}</style>
</head>
<body><div>On Wed, Mar 21, 2018, at 08:33, Steve Lhomme wrote:<br></div>
<blockquote type="cite"><div>I used to do that with D3D11. It was fine with an integrated (Intel)
GPU. But with discrete GPU the SW decoders were really slow. Having
to use memory via the PCI bus. To counter that I pretend to do
direct rendering and provide CPU memory and during prepare() I copy
back to the GPU. It's much faster for discrete GPUs and doesn't
impact much the integrated ones.<br></div>
</blockquote><div><br></div>
<div>Steve,<br></div>
<div>With OpenGL 4.x, mapped buffer performances are really good with the discrete GPU I tested (GeForce GTX 660).<br></div>
<div>For AMD GPUs, I had to map the buffer with the following option: GL_CLIENT_STORAGE_BIT in order to indicate that we prefer the buffer to be on the CPU side. Cf. <a href="https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glBufferStorage.xhtml">https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glBufferStorage.xhtml</a><br></div>
<div><br></div>
<div>Niklas,<br></div>
<div>Don't forget that we also need feature parity with the OpenGL vout of VLC. This means:<br></div>
<div> - Interop with VAAPI surfaces. VLC use the "EGL_EXT_image_dma_buf_import" extension. I guess we can do the same with Vulkan ? Mapping some DMA buffers to a texture ?<br></div>
<div> - Bonus: Interop with cuda ? (It's not done yet on the GL side of VLC)<br></div>
<div> - Give VLC a way to specify its own Vertex Shaders (for 360°, VR/3D stuff) .<br></div>
<div>- And for Metal/MoltenVK: Interop with IOSurface/CVPixelBuffer.</div>
<div><br></div>
<div><br></div>
<blockquote type="cite"><div><br></div>
<div><u>_______________________________________________</u><br></div>
<div>vlc-devel mailing list<br></div>
<div>To unsubscribe or modify your subscription options:<br></div>
<div><a href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a><br></div>
</blockquote><div><br></div>
</body>
</html>