Procházet zdrojové kódy

st/vdpau: add flush on unmap

Flush the context when we unmap a buffer, otherwise VDPAU might
start rendering the next frame while we still reference that buffer.

Signed-off-by: Christian König <christian.koenig@amd.com>
Tested-by: StrangeNoises (rachel@strangenoises.org)
tags/mesa-10.2-rc1
Christian König před 11 roky
rodič
revize
db54fca9b8
1 změnil soubory, kde provedl 4 přidání a 0 odebrání
  1. 4
    0
      src/mesa/state_tracker/st_vdpau.c

+ 4
- 0
src/mesa/state_tracker/st_vdpau.c Zobrazit soubor

@@ -47,6 +47,7 @@
#include "st_context.h"
#include "st_texture.h"
#include "st_format.h"
#include "st_cb_flush.h"

static void
st_vdpau_map_surface(struct gl_context *ctx, GLenum target, GLenum access,
@@ -163,6 +164,7 @@ st_vdpau_unmap_surface(struct gl_context *ctx, GLenum target, GLenum access,
struct gl_texture_image *texImage,
const GLvoid *vdpSurface, GLuint index)
{
struct st_context *st = st_context(ctx);
struct st_texture_object *stObj = st_texture_object(texObj);
struct st_texture_image *stImage = st_texture_image(texImage);

@@ -171,6 +173,8 @@ st_vdpau_unmap_surface(struct gl_context *ctx, GLenum target, GLenum access,
pipe_resource_reference(&stImage->pt, NULL);

_mesa_dirty_texobj(ctx, texObj);

st_flush(st, NULL, 0);
}

void

Načítá se…
Zrušit
Uložit