diff options
author | Jason Sams <jsams@google.com> | 2014-08-01 16:18:33 -0700 |
---|---|---|
committer | Jason Sams <jsams@google.com> | 2014-08-01 16:18:33 -0700 |
commit | d06653c70a67a987a2a1deb1bfb139e927fb7bd4 (patch) | |
tree | aff15ddbc75875db9d129d231d40d8f8ddc1e567 /rsType.cpp | |
parent | 770a94c3754944213cf6fafe1c143d857143c9b9 (diff) | |
download | rs-d06653c70a67a987a2a1deb1bfb139e927fb7bd4.tar.gz |
Fix YUV allocation table.
Change-Id: Ia6265c7eb2fa60f6789eb43b3e03fdfe8327dd7e
Diffstat (limited to 'rsType.cpp')
-rw-r--r-- | rsType.cpp | 25 |
1 files changed, 16 insertions, 9 deletions
@@ -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]; |