Made Element accessors thread-safe

Bug: 28177082
Change-Id: I8f3f2d8ce559e93cba29f8eedd5b95d1389deb23
This commit is contained in:
Yang Ni
2016-04-18 16:56:16 -07:00
parent 8dd32a56f7
commit 33703f0c4e
3 changed files with 569 additions and 270 deletions

View File

@@ -98,13 +98,17 @@ public class Sampler extends BaseObj {
* @return Sampler
*/
public static Sampler CLAMP_NEAREST(RenderScript rs) {
if(rs.mSampler_CLAMP_NEAREST == null) {
Builder b = new Builder(rs);
b.setMinification(Value.NEAREST);
b.setMagnification(Value.NEAREST);
b.setWrapS(Value.CLAMP);
b.setWrapT(Value.CLAMP);
rs.mSampler_CLAMP_NEAREST = b.create();
if (rs.mSampler_CLAMP_NEAREST == null) {
synchronized (rs) {
if (rs.mSampler_CLAMP_NEAREST == null) {
Builder b = new Builder(rs);
b.setMinification(Value.NEAREST);
b.setMagnification(Value.NEAREST);
b.setWrapS(Value.CLAMP);
b.setWrapT(Value.CLAMP);
rs.mSampler_CLAMP_NEAREST = b.create();
}
}
}
return rs.mSampler_CLAMP_NEAREST;
}
@@ -118,13 +122,17 @@ public class Sampler extends BaseObj {
* @return Sampler
*/
public static Sampler CLAMP_LINEAR(RenderScript rs) {
if(rs.mSampler_CLAMP_LINEAR == null) {
Builder b = new Builder(rs);
b.setMinification(Value.LINEAR);
b.setMagnification(Value.LINEAR);
b.setWrapS(Value.CLAMP);
b.setWrapT(Value.CLAMP);
rs.mSampler_CLAMP_LINEAR = b.create();
if (rs.mSampler_CLAMP_LINEAR == null) {
synchronized (rs) {
if (rs.mSampler_CLAMP_LINEAR == null) {
Builder b = new Builder(rs);
b.setMinification(Value.LINEAR);
b.setMagnification(Value.LINEAR);
b.setWrapS(Value.CLAMP);
b.setWrapT(Value.CLAMP);
rs.mSampler_CLAMP_LINEAR = b.create();
}
}
}
return rs.mSampler_CLAMP_LINEAR;
}
@@ -138,13 +146,17 @@ public class Sampler extends BaseObj {
* @return Sampler
*/
public static Sampler CLAMP_LINEAR_MIP_LINEAR(RenderScript rs) {
if(rs.mSampler_CLAMP_LINEAR_MIP_LINEAR == null) {
Builder b = new Builder(rs);
b.setMinification(Value.LINEAR_MIP_LINEAR);
b.setMagnification(Value.LINEAR);
b.setWrapS(Value.CLAMP);
b.setWrapT(Value.CLAMP);
rs.mSampler_CLAMP_LINEAR_MIP_LINEAR = b.create();
if (rs.mSampler_CLAMP_LINEAR_MIP_LINEAR == null) {
synchronized (rs) {
if (rs.mSampler_CLAMP_LINEAR_MIP_LINEAR == null) {
Builder b = new Builder(rs);
b.setMinification(Value.LINEAR_MIP_LINEAR);
b.setMagnification(Value.LINEAR);
b.setWrapS(Value.CLAMP);
b.setWrapT(Value.CLAMP);
rs.mSampler_CLAMP_LINEAR_MIP_LINEAR = b.create();
}
}
}
return rs.mSampler_CLAMP_LINEAR_MIP_LINEAR;
}
@@ -158,13 +170,17 @@ public class Sampler extends BaseObj {
* @return Sampler
*/
public static Sampler WRAP_NEAREST(RenderScript rs) {
if(rs.mSampler_WRAP_NEAREST == null) {
Builder b = new Builder(rs);
b.setMinification(Value.NEAREST);
b.setMagnification(Value.NEAREST);
b.setWrapS(Value.WRAP);
b.setWrapT(Value.WRAP);
rs.mSampler_WRAP_NEAREST = b.create();
if (rs.mSampler_WRAP_NEAREST == null) {
synchronized (rs) {
if (rs.mSampler_WRAP_NEAREST == null) {
Builder b = new Builder(rs);
b.setMinification(Value.NEAREST);
b.setMagnification(Value.NEAREST);
b.setWrapS(Value.WRAP);
b.setWrapT(Value.WRAP);
rs.mSampler_WRAP_NEAREST = b.create();
}
}
}
return rs.mSampler_WRAP_NEAREST;
}
@@ -178,13 +194,17 @@ public class Sampler extends BaseObj {
* @return Sampler
*/
public static Sampler WRAP_LINEAR(RenderScript rs) {
if(rs.mSampler_WRAP_LINEAR == null) {
Builder b = new Builder(rs);
b.setMinification(Value.LINEAR);
b.setMagnification(Value.LINEAR);
b.setWrapS(Value.WRAP);
b.setWrapT(Value.WRAP);
rs.mSampler_WRAP_LINEAR = b.create();
if (rs.mSampler_WRAP_LINEAR == null) {
synchronized (rs) {
if (rs.mSampler_WRAP_LINEAR == null) {
Builder b = new Builder(rs);
b.setMinification(Value.LINEAR);
b.setMagnification(Value.LINEAR);
b.setWrapS(Value.WRAP);
b.setWrapT(Value.WRAP);
rs.mSampler_WRAP_LINEAR = b.create();
}
}
}
return rs.mSampler_WRAP_LINEAR;
}
@@ -198,13 +218,17 @@ public class Sampler extends BaseObj {
* @return Sampler
*/
public static Sampler WRAP_LINEAR_MIP_LINEAR(RenderScript rs) {
if(rs.mSampler_WRAP_LINEAR_MIP_LINEAR == null) {
Builder b = new Builder(rs);
b.setMinification(Value.LINEAR_MIP_LINEAR);
b.setMagnification(Value.LINEAR);
b.setWrapS(Value.WRAP);
b.setWrapT(Value.WRAP);
rs.mSampler_WRAP_LINEAR_MIP_LINEAR = b.create();
if (rs.mSampler_WRAP_LINEAR_MIP_LINEAR == null) {
synchronized (rs) {
if (rs.mSampler_WRAP_LINEAR_MIP_LINEAR == null) {
Builder b = new Builder(rs);
b.setMinification(Value.LINEAR_MIP_LINEAR);
b.setMagnification(Value.LINEAR);
b.setWrapS(Value.WRAP);
b.setWrapT(Value.WRAP);
rs.mSampler_WRAP_LINEAR_MIP_LINEAR = b.create();
}
}
}
return rs.mSampler_WRAP_LINEAR_MIP_LINEAR;
}
@@ -218,13 +242,17 @@ public class Sampler extends BaseObj {
* @return Sampler
*/
public static Sampler MIRRORED_REPEAT_NEAREST(RenderScript rs) {
if(rs.mSampler_MIRRORED_REPEAT_NEAREST == null) {
Builder b = new Builder(rs);
b.setMinification(Value.NEAREST);
b.setMagnification(Value.NEAREST);
b.setWrapS(Value.MIRRORED_REPEAT);
b.setWrapT(Value.MIRRORED_REPEAT);
rs.mSampler_MIRRORED_REPEAT_NEAREST = b.create();
if (rs.mSampler_MIRRORED_REPEAT_NEAREST == null) {
synchronized (rs) {
if (rs.mSampler_MIRRORED_REPEAT_NEAREST == null) {
Builder b = new Builder(rs);
b.setMinification(Value.NEAREST);
b.setMagnification(Value.NEAREST);
b.setWrapS(Value.MIRRORED_REPEAT);
b.setWrapT(Value.MIRRORED_REPEAT);
rs.mSampler_MIRRORED_REPEAT_NEAREST = b.create();
}
}
}
return rs.mSampler_MIRRORED_REPEAT_NEAREST;
}
@@ -238,13 +266,17 @@ public class Sampler extends BaseObj {
* @return Sampler
*/
public static Sampler MIRRORED_REPEAT_LINEAR(RenderScript rs) {
if(rs.mSampler_MIRRORED_REPEAT_LINEAR == null) {
Builder b = new Builder(rs);
b.setMinification(Value.LINEAR);
b.setMagnification(Value.LINEAR);
b.setWrapS(Value.MIRRORED_REPEAT);
b.setWrapT(Value.MIRRORED_REPEAT);
rs.mSampler_MIRRORED_REPEAT_LINEAR = b.create();
if (rs.mSampler_MIRRORED_REPEAT_LINEAR == null) {
synchronized (rs) {
if (rs.mSampler_MIRRORED_REPEAT_LINEAR == null) {
Builder b = new Builder(rs);
b.setMinification(Value.LINEAR);
b.setMagnification(Value.LINEAR);
b.setWrapS(Value.MIRRORED_REPEAT);
b.setWrapT(Value.MIRRORED_REPEAT);
rs.mSampler_MIRRORED_REPEAT_LINEAR = b.create();
}
}
}
return rs.mSampler_MIRRORED_REPEAT_LINEAR;
}
@@ -258,13 +290,17 @@ public class Sampler extends BaseObj {
* @return Sampler
*/
public static Sampler MIRRORED_REPEAT_LINEAR_MIP_LINEAR(RenderScript rs) {
if(rs.mSampler_MIRRORED_REPEAT_LINEAR_MIP_LINEAR == null) {
Builder b = new Builder(rs);
b.setMinification(Value.LINEAR_MIP_LINEAR);
b.setMagnification(Value.LINEAR);
b.setWrapS(Value.MIRRORED_REPEAT);
b.setWrapT(Value.MIRRORED_REPEAT);
rs.mSampler_MIRRORED_REPEAT_LINEAR_MIP_LINEAR = b.create();
if (rs.mSampler_MIRRORED_REPEAT_LINEAR_MIP_LINEAR == null) {
synchronized (rs) {
if (rs.mSampler_MIRRORED_REPEAT_LINEAR_MIP_LINEAR == null) {
Builder b = new Builder(rs);
b.setMinification(Value.LINEAR_MIP_LINEAR);
b.setMagnification(Value.LINEAR);
b.setWrapS(Value.MIRRORED_REPEAT);
b.setWrapT(Value.MIRRORED_REPEAT);
rs.mSampler_MIRRORED_REPEAT_LINEAR_MIP_LINEAR = b.create();
}
}
}
return rs.mSampler_MIRRORED_REPEAT_LINEAR_MIP_LINEAR;
}