diff options
| author | Jamie Gennis <jgennis@google.com> | 2011-03-10 14:49:00 -0800 |
|---|---|---|
| committer | Jamie Gennis <jgennis@google.com> | 2011-03-14 11:30:02 -0700 |
| commit | 6cd4656bf11d45ebac40a382c0c8bcb9a21f00cc (patch) | |
| tree | 96c132d858fd4f4319ad053befdd5136ef196bbf | |
| parent | 87e8ab372bd722c5c1a00ff5262acccee5dae5e5 (diff) | |
| download | frameworks_base-6cd4656bf11d45ebac40a382c0c8bcb9a21f00cc.zip frameworks_base-6cd4656bf11d45ebac40a382c0c8bcb9a21f00cc.tar.gz frameworks_base-6cd4656bf11d45ebac40a382c0c8bcb9a21f00cc.tar.bz2 | |
gl2_yuvtex: use the gralloc-provided stride.
This change fixes the gl2_yuvtex test to use the stride chosen by the
gralloc implementation rather than hard-coding it.
Bug: 4081948
Change-Id: If7c96a20fc3fb1df2ff25e6afaa9f34dbad2002c
| -rw-r--r-- | opengl/tests/gl2_yuvtex/gl2_yuvtex.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/opengl/tests/gl2_yuvtex/gl2_yuvtex.cpp b/opengl/tests/gl2_yuvtex/gl2_yuvtex.cpp index 602ea1a..f0b8d12 100644 --- a/opengl/tests/gl2_yuvtex/gl2_yuvtex.cpp +++ b/opengl/tests/gl2_yuvtex/gl2_yuvtex.cpp @@ -186,11 +186,6 @@ const int yuvTexUsage = GraphicBuffer::USAGE_HW_TEXTURE | GraphicBuffer::USAGE_SW_WRITE_RARELY; const int yuvTexFormat = HAL_PIXEL_FORMAT_YV12; const int yuvTexOffsetY = 0; -const int yuvTexStrideY = (yuvTexWidth + 0xf) & ~0xf; -const int yuvTexOffsetV = yuvTexStrideY * yuvTexHeight; -const int yuvTexStrideV = (yuvTexStrideY/2 + 0xf) & ~0xf; -const int yuvTexOffsetU = yuvTexOffsetV + yuvTexStrideV * yuvTexHeight/2; -const int yuvTexStrideU = yuvTexStrideV; const bool yuvTexSameUV = false; static sp<GraphicBuffer> yuvTexBuffer; static GLuint yuvTex; @@ -200,6 +195,11 @@ bool setupYuvTexSurface(EGLDisplay dpy, EGLContext context) { int blockHeight = yuvTexHeight > 16 ? yuvTexHeight / 16 : 1; yuvTexBuffer = new GraphicBuffer(yuvTexWidth, yuvTexHeight, yuvTexFormat, yuvTexUsage); + int yuvTexStrideY = yuvTexBuffer->getStride(); + int yuvTexOffsetV = yuvTexStrideY * yuvTexHeight; + int yuvTexStrideV = (yuvTexStrideY/2 + 0xf) & ~0xf; + int yuvTexOffsetU = yuvTexOffsetV + yuvTexStrideV * yuvTexHeight/2; + int yuvTexStrideU = yuvTexStrideV; char* buf = NULL; status_t err = yuvTexBuffer->lock(GRALLOC_USAGE_SW_WRITE_OFTEN, (void**)(&buf)); if (err != 0) { |
