Mesa (master): nvc0: scale up inter_bo size so that it' s 16M for a 4K video

Ilia Mirkin imirkin at kemper.freedesktop.org
Mon Jan 4 16:34:00 UTC 2016


Module: Mesa
Branch: master
Commit: b16c9be4a5561bd825176a228c300331f989e837
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b16c9be4a5561bd825176a228c300331f989e837

Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Mon Jan  4 11:26:27 2016 -0500

nvc0: scale up inter_bo size so that it's 16M for a 4K video

Experimentally, 4M causes corruption and slowness, try to ramp it up
with size instead.

Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: "11.0 11.1" <mesa-stable at lists.freedesktop.org>

---

 src/gallium/drivers/nouveau/nvc0/nvc0_video.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_video.c b/src/gallium/drivers/nouveau/nvc0/nvc0_video.c
index 48ffac1..5a946ca 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_video.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_video.c
@@ -169,9 +169,12 @@ nvc0_create_decoder(struct pipe_context *context,
    for (i = 0; i < NOUVEAU_VP3_VIDEO_QDEPTH && !ret; ++i)
       ret = nouveau_bo_new(screen->device, NOUVEAU_BO_VRAM,
                            0, 1 << 20, &cfg, &dec->bsp_bo[i]);
-   if (!ret)
+   if (!ret) {
+      /* total fudge factor... just has to be bigger for higher bitrates? */
+      unsigned inter_size = align(templ->width * templ->height * 2, 4 << 20);
       ret = nouveau_bo_new(screen->device, NOUVEAU_BO_VRAM,
-                           0x100, 4 << 20, &cfg, &dec->inter_bo[0]);
+                           0x100, inter_size, &cfg, &dec->inter_bo[0]);
+   }
    if (!ret) {
       ret = nouveau_bo_new(screen->device, NOUVEAU_BO_VRAM,
                            0x100, dec->inter_bo[0]->size, &cfg,




More information about the mesa-commit mailing list