Merge "Fix an incorrect assert that doesn't account for element array size."
This commit is contained in:
committed by
Android (Google) Code Review
commit
7042613c65
@@ -487,6 +487,7 @@ public class Allocation extends BaseObj {
|
||||
|
||||
final byte[] data = fp.getData();
|
||||
int eSize = mType.mElement.mElements[component_number].getSizeBytes();
|
||||
eSize *= mType.mElement.mArraySizes[component_number];
|
||||
|
||||
if (data.length != eSize) {
|
||||
throw new RSIllegalArgumentException("Field packer sizelength " + data.length +
|
||||
|
||||
@@ -124,7 +124,8 @@ void Allocation::elementData(Context *rsc, uint32_t x, const void *data,
|
||||
}
|
||||
|
||||
const Element * e = mHal.state.type->getElement()->getField(cIdx);
|
||||
if (sizeBytes != e->getSizeBytes()) {
|
||||
uint32_t elemArraySize = mHal.state.type->getElement()->getFieldArraySize(cIdx);
|
||||
if (sizeBytes != e->getSizeBytes() * elemArraySize) {
|
||||
ALOGE("Error Allocation::subElementData data size %zu does not match field size %zu.", sizeBytes, e->getSizeBytes());
|
||||
rsc->setError(RS_ERROR_BAD_VALUE, "subElementData bad size.");
|
||||
return;
|
||||
@@ -157,8 +158,8 @@ void Allocation::elementData(Context *rsc, uint32_t x, uint32_t y,
|
||||
}
|
||||
|
||||
const Element * e = mHal.state.type->getElement()->getField(cIdx);
|
||||
|
||||
if (sizeBytes != e->getSizeBytes()) {
|
||||
uint32_t elemArraySize = mHal.state.type->getElement()->getFieldArraySize(cIdx);
|
||||
if (sizeBytes != e->getSizeBytes() * elemArraySize) {
|
||||
ALOGE("Error Allocation::subElementData data size %zu does not match field size %zu.", sizeBytes, e->getSizeBytes());
|
||||
rsc->setError(RS_ERROR_BAD_VALUE, "subElementData bad size.");
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user