summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJamie Gennis <jgennis@google.com>2011-03-10 14:49:00 -0800
committerJamie Gennis <jgennis@google.com>2011-03-14 11:30:02 -0700
commit6cd4656bf11d45ebac40a382c0c8bcb9a21f00cc (patch)
tree96c132d858fd4f4319ad053befdd5136ef196bbf
parent87e8ab372bd722c5c1a00ff5262acccee5dae5e5 (diff)
downloadframeworks_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.cpp10
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) {