diff options
author | Lingfeng Yang <lfy@google.com> | 2016-10-19 08:26:53 -0700 |
---|---|---|
committer | Greg Hartman <ghartman@google.com> | 2018-08-23 17:24:53 -0700 |
commit | 0c079bdd3ab2a67e1976226e0ecedbe53d5a1aff (patch) | |
tree | 884725a7fac9a09160c24a752b5cd3a84a177657 /host/libs/virglrenderer/renderControl_dec | |
parent | bd778f897f201bacbe04bdb865d525616221ed8d (diff) | |
download | opengl-transport-0c079bdd3ab2a67e1976226e0ecedbe53d5a1aff.tar.gz |
[video] Do YV12 conversion on the host with a shader
Doing YV12 conversion in the guest makes gralloc unlock
block for a very long time, which chokes MediaCodec.
Doing YV12 conversion in shader, 1080p60 is achievable
for short bursts, since the conversion is faster by
over 10x (<3ms instead of ~30ms to convert a 1080p
YV12 frame to RGB888).
Still, at 1080p60, there are various stalls/hiccups...
Change-Id: I031c4fd7b1260e89d9bc4398602ea1baea6f5e98
Diffstat (limited to 'host/libs/virglrenderer/renderControl_dec')
-rw-r--r-- | host/libs/virglrenderer/renderControl_dec/renderControl.in | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/host/libs/virglrenderer/renderControl_dec/renderControl.in b/host/libs/virglrenderer/renderControl_dec/renderControl.in index 54a564d20..dca7b50d1 100644 --- a/host/libs/virglrenderer/renderControl_dec/renderControl.in +++ b/host/libs/virglrenderer/renderControl_dec/renderControl.in @@ -32,4 +32,5 @@ GL_ENTRY(EGLint, rcClientWaitSyncKHR, uint64_t sync, EGLint flags, uint64_t time GL_ENTRY(void, rcFlushWindowColorBufferAsync, uint32_t windowSurface) GL_ENTRY(int, rcDestroySyncKHR, uint64_t sync) GL_ENTRY(void, rcSetPuid, uint64_t puid) -GL_ENTRY(void, rcUpdateColorBufferDMA, uint32_t colorbuffer, GLint x, GLint y, GLint width, GLint height, GLenum format, GLenum type, void* pixels, uint32_t pixels_size) +GL_ENTRY(int, rcUpdateColorBufferDMA, uint32_t colorbuffer, GLint x, GLint y, GLint width, GLint height, GLenum format, GLenum type, void* pixels, uint32_t pixels_size) +GL_ENTRY(uint32_t, rcCreateColorBufferDMA, uint32_t width, uint32_t height, GLenum internalFormat, int frameworkFormat) |