Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9eb8b3ae authored by Jason Sams's avatar Jason Sams
Browse files

Check that bound allocations are 1D

We do not support higher order bound allocations. The
stride is not available to the script so they cannot
walk the allocation correctly.

Change-Id: I9447a5d43c3ae1b88fc9522628a17bd5a317ffc6
parent 17fc100e
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -188,6 +188,13 @@ public class Script extends BaseObj {
    public void bindAllocation(Allocation va, int slot) {
        mRS.validate();
        if (va != null) {
            if (mRS.getApplicationContext().getApplicationInfo().targetSdkVersion >= 20) {
                final Type t = va.mType;
                if (t.hasMipmaps() || t.hasFaces() || (t.getY() != 0) || (t.getZ() != 0)) {
                    throw new RSIllegalArgumentException(
                        "API 20+ only allows simple 1D allocations to be used with bind.");
                }
            }
            mRS.nScriptBindAllocation(getID(mRS), va.getID(mRS), slot);
        } else {
            mRS.nScriptBindAllocation(getID(mRS), 0, slot);