summaryrefslogtreecommitdiff
path: root/rsType.cpp
diff options
context:
space:
mode:
authorJason Sams <jsams@google.com>2014-08-01 16:18:33 -0700
committerJason Sams <jsams@google.com>2014-08-01 16:18:33 -0700
commitd06653c70a67a987a2a1deb1bfb139e927fb7bd4 (patch)
treeaff15ddbc75875db9d129d231d40d8f8ddc1e567 /rsType.cpp
parent770a94c3754944213cf6fafe1c143d857143c9b9 (diff)
downloadrs-d06653c70a67a987a2a1deb1bfb139e927fb7bd4.tar.gz
Fix YUV allocation table.
Change-Id: Ia6265c7eb2fa60f6789eb43b3e03fdfe8327dd7e
Diffstat (limited to 'rsType.cpp')
-rw-r--r--rsType.cpp25
1 files changed, 16 insertions, 9 deletions
diff --git a/rsType.cpp b/rsType.cpp
index d1a84eac..31d6ce8a 100644
--- a/rsType.cpp
+++ b/rsType.cpp
@@ -79,7 +79,11 @@ void Type::compute() {
mHal.state.lodCount = rsMax(l2x, l2y);
mHal.state.lodCount = rsMax(mHal.state.lodCount, l2z);
} else {
- mHal.state.lodCount = 1;
+ if (mHal.state.dimYuv) {
+ mHal.state.lodCount = 3;
+ } else {
+ mHal.state.lodCount = 1;
+ }
}
if (mHal.state.lodCount != oldLODCount) {
if (oldLODCount) {
@@ -96,14 +100,16 @@ void Type::compute() {
uint32_t ty = mHal.state.dimY;
uint32_t tz = mHal.state.dimZ;
mCellCount = 0;
- for (uint32_t lod=0; lod < mHal.state.lodCount; lod++) {
- mHal.state.lodDimX[lod] = tx;
- mHal.state.lodDimY[lod] = ty;
- mHal.state.lodDimZ[lod] = tz;
- mCellCount += tx * rsMax(ty, 1u) * rsMax(tz, 1u);
- if (tx > 1) tx >>= 1;
- if (ty > 1) ty >>= 1;
- if (tz > 1) tz >>= 1;
+ if (!mHal.state.dimYuv) {
+ for (uint32_t lod=0; lod < mHal.state.lodCount; lod++) {
+ mHal.state.lodDimX[lod] = tx;
+ mHal.state.lodDimY[lod] = ty;
+ mHal.state.lodDimZ[lod] = tz;
+ mCellCount += tx * rsMax(ty, 1u) * rsMax(tz, 1u);
+ if (tx > 1) tx >>= 1;
+ if (ty > 1) ty >>= 1;
+ if (tz > 1) tz >>= 1;
+ }
}
if (mHal.state.faces) {
@@ -117,6 +123,7 @@ void Type::compute() {
mHal.state.lodDimY[1] = mHal.state.lodDimY[0] / 2;
mHal.state.lodDimX[2] = mHal.state.lodDimX[0] / 2;
mHal.state.lodDimY[2] = mHal.state.lodDimY[0] / 2;
+ mCellCount += mHal.state.lodDimX[0] * mHal.state.lodDimY[0];
mCellCount += mHal.state.lodDimX[1] * mHal.state.lodDimY[1];
mCellCount += mHal.state.lodDimX[2] * mHal.state.lodDimY[2];