[vlc-commits] direct3d11: limit the amount of pool slices on Winstore apps
Steve Lhomme
git at videolan.org
Mon Feb 19 18:11:03 CET 2018
vlc | branch: master | Steve Lhomme <robux4 at ycbcr.xyz> | Mon Feb 19 14:50:10 2018 +0100| [566fddfa311815eb8a44a922061618ef55565313] | committer: Steve Lhomme
direct3d11: limit the amount of pool slices on Winstore apps
They're limited in memory and don't like too many slices. In most cases
the d3d11va pool will be used instead.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=566fddfa311815eb8a44a922061618ef55565313
---
modules/video_output/win32/direct3d11.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/modules/video_output/win32/direct3d11.c b/modules/video_output/win32/direct3d11.c
index a35fbcb240..ec95a06573 100644
--- a/modules/video_output/win32/direct3d11.c
+++ b/modules/video_output/win32/direct3d11.c
@@ -587,6 +587,13 @@ static picture_pool_t *Pool(vout_display_t *vd, unsigned pool_size)
surface_fmt.i_width = sys->picQuad.i_width;
surface_fmt.i_height = sys->picQuad.i_height;
+#if VLC_WINSTORE_APP
+ /* Phones and the Xbox are memory constrained, rely on the d3d11va pool
+ * which is always smaller, we still get direct rendering from the decoder */
+ if (is_d3d11_opaque(surface_fmt.i_chroma))
+ pool_size = __MIN(pool_size, 6);
+#endif
+
if (SetupQuad( vd, &surface_fmt, &sys->picQuad, &sys->sys.rect_src_clipped,
sys->picQuadConfig, sys->picQuadPixelShader,
surface_fmt.projection_mode, vd->fmt.orientation ) != VLC_SUCCESS) {
More information about the vlc-commits
mailing list