diff options
| author | 2022-02-07 15:12:30 +0000 | |
|---|---|---|
| committer | 2022-02-07 15:12:30 +0000 | |
| commit | a04c237023d8595e039607c11e3cade43b0ebbfc (patch) | |
| tree | ffb7c50efeef53864525fece0daa753a9ab13dfd | |
| parent | f696a43966057089adaba88c9835d24a6ece01a0 (diff) | |
| parent | 7843e51a80d314bdf350e0999e2f1f9462893b1a (diff) | |
Merge "Remove isOpaque from RuntimeShader"
11 files changed, 13 insertions, 35 deletions
diff --git a/core/api/current.txt b/core/api/current.txt index 1e79e523659f..438d872d6a72 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -15419,8 +15419,6 @@ package android.graphics { public class RuntimeShader extends android.graphics.Shader { ctor public RuntimeShader(@NonNull String); - ctor public RuntimeShader(@NonNull String, boolean); - method public boolean isForceOpaque(); method public void setColorUniform(@NonNull String, @ColorInt int); method public void setColorUniform(@NonNull String, @ColorLong long); method public void setColorUniform(@NonNull String, @NonNull android.graphics.Color); diff --git a/graphics/java/android/graphics/RuntimeShader.java b/graphics/java/android/graphics/RuntimeShader.java index 57046f5de61d..2ff888b06dd8 100644 --- a/graphics/java/android/graphics/RuntimeShader.java +++ b/graphics/java/android/graphics/RuntimeShader.java @@ -34,8 +34,6 @@ public class RuntimeShader extends Shader { RuntimeShader.class.getClassLoader(), nativeGetFinalizer()); } - private boolean mForceOpaque; - /** * Current native shader builder instance. */ @@ -47,33 +45,17 @@ public class RuntimeShader extends Shader { * @param shader The text of AGSL shader program to run. */ public RuntimeShader(@NonNull String shader) { - this(shader, false); - } - - /** - * Creates a new RuntimeShader. - * - * @param shader The text of AGSL shader program to run. - * @param forceOpaque If true then all pixels produced by the AGSL shader program will have an - * alpha of 1.0f. - */ - public RuntimeShader(@NonNull String shader, boolean forceOpaque) { // colorspace is required, but the RuntimeShader always produces colors in the destination // buffer's colorspace regardless of the value specified here. super(ColorSpace.get(ColorSpace.Named.SRGB)); if (shader == null) { throw new NullPointerException("RuntimeShader requires a non-null AGSL string"); } - mForceOpaque = forceOpaque; mNativeInstanceRuntimeShaderBuilder = nativeCreateBuilder(shader); NoImagePreloadHolder.sRegistry.registerNativeAllocation( this, mNativeInstanceRuntimeShaderBuilder); } - public boolean isForceOpaque() { - return mForceOpaque; - } - /** * Sets the uniform color value corresponding to this shader. If the shader does not have a * uniform with that name or if the uniform is declared with a type other than vec3 or vec4 and @@ -322,7 +304,7 @@ public class RuntimeShader extends Shader { /** @hide */ @Override protected long createNativeInstance(long nativeMatrix, boolean filterFromPaint) { - return nativeCreateShader(mNativeInstanceRuntimeShaderBuilder, nativeMatrix, mForceOpaque); + return nativeCreateShader(mNativeInstanceRuntimeShaderBuilder, nativeMatrix); } /** @hide */ @@ -332,8 +314,7 @@ public class RuntimeShader extends Shader { private static native long nativeGetFinalizer(); private static native long nativeCreateBuilder(String agsl); - private static native long nativeCreateShader( - long shaderBuilder, long matrix, boolean isOpaque); + private static native long nativeCreateShader(long shaderBuilder, long matrix); private static native void nativeUpdateUniforms( long shaderBuilder, String uniformName, float[] uniforms, boolean isColor); private static native void nativeUpdateUniforms( diff --git a/graphics/java/android/graphics/drawable/RippleShader.java b/graphics/java/android/graphics/drawable/RippleShader.java index 53a673122040..4461f39fd006 100644 --- a/graphics/java/android/graphics/drawable/RippleShader.java +++ b/graphics/java/android/graphics/drawable/RippleShader.java @@ -126,7 +126,7 @@ final class RippleShader extends RuntimeShader { private static final double PI_ROTATE_LEFT = Math.PI * -0.0078125; RippleShader() { - super(SHADER, false); + super(SHADER); } public void setShader(Shader shader) { diff --git a/libs/hwui/jni/Shader.cpp b/libs/hwui/jni/Shader.cpp index c505b53b2df1..899c7d4d75e2 100644 --- a/libs/hwui/jni/Shader.cpp +++ b/libs/hwui/jni/Shader.cpp @@ -261,11 +261,10 @@ static jlong RuntimeShader_getNativeFinalizer(JNIEnv*, jobject) { return static_cast<jlong>(reinterpret_cast<uintptr_t>(&SkRuntimeShaderBuilder_delete)); } -static jlong RuntimeShader_create(JNIEnv* env, jobject, jlong shaderBuilder, jlong matrixPtr, - jboolean isOpaque) { +static jlong RuntimeShader_create(JNIEnv* env, jobject, jlong shaderBuilder, jlong matrixPtr) { SkRuntimeShaderBuilder* builder = reinterpret_cast<SkRuntimeShaderBuilder*>(shaderBuilder); const SkMatrix* matrix = reinterpret_cast<const SkMatrix*>(matrixPtr); - sk_sp<SkShader> shader = builder->makeShader(matrix, isOpaque == JNI_TRUE); + sk_sp<SkShader> shader = builder->makeShader(matrix, false); ThrowIAE_IfNull(env, shader); return reinterpret_cast<jlong>(shader.release()); } @@ -419,7 +418,7 @@ static const JNINativeMethod gComposeShaderMethods[] = { static const JNINativeMethod gRuntimeShaderMethods[] = { {"nativeGetFinalizer", "()J", (void*)RuntimeShader_getNativeFinalizer}, - {"nativeCreateShader", "(JJZ)J", (void*)RuntimeShader_create}, + {"nativeCreateShader", "(JJ)J", (void*)RuntimeShader_create}, {"nativeCreateBuilder", "(Ljava/lang/String;)J", (void*)RuntimeShader_createShaderBuilder}, {"nativeUpdateUniforms", "(JLjava/lang/String;[FZ)V", (void*)RuntimeShader_updateFloatArrayUniforms}, diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/charging/DwellRippleShader.kt b/packages/SystemUI/src/com/android/systemui/statusbar/charging/DwellRippleShader.kt index 8dc01f014192..236129f8eb50 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/charging/DwellRippleShader.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/charging/DwellRippleShader.kt @@ -33,7 +33,7 @@ import android.util.MathUtils * * Modeled after frameworks/base/graphics/java/android/graphics/drawable/RippleShader.java. */ -class DwellRippleShader internal constructor() : RuntimeShader(SHADER, false) { +class DwellRippleShader internal constructor() : RuntimeShader(SHADER) { companion object { private const val SHADER_UNIFORMS = """uniform vec2 in_origin; uniform float in_time; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/charging/RippleShader.kt b/packages/SystemUI/src/com/android/systemui/statusbar/charging/RippleShader.kt index 22fbf9139f1d..bdad36c58480 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/charging/RippleShader.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/charging/RippleShader.kt @@ -28,7 +28,7 @@ import android.util.MathUtils * * Modeled after frameworks/base/graphics/java/android/graphics/drawable/RippleShader.java. */ -class RippleShader internal constructor() : RuntimeShader(SHADER, false) { +class RippleShader internal constructor() : RuntimeShader(SHADER) { companion object { private const val SHADER_UNIFORMS = """uniform vec2 in_origin; uniform float in_progress; diff --git a/tests/HwAccelerationTest/src/com/android/test/hwui/BitmapTransitionView.kt b/tests/HwAccelerationTest/src/com/android/test/hwui/BitmapTransitionView.kt index d3ad9e8193c0..3af54503d469 100644 --- a/tests/HwAccelerationTest/src/com/android/test/hwui/BitmapTransitionView.kt +++ b/tests/HwAccelerationTest/src/com/android/test/hwui/BitmapTransitionView.kt @@ -41,7 +41,7 @@ class BitmapTransitionView @JvmOverloads constructor( ImageDecoder.createSource(context.resources, R.drawable.very_large_photo)) private val mShaderA = BitmapShader(mImageA, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP) private val mShaderB = BitmapShader(mImageB, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP) - private val mShader = RuntimeShader(AGSL, false) + private val mShader = RuntimeShader(AGSL) private var mCurrentProgress = -1f private var mForwardProgress = true private var mCurrentAnimator = ValueAnimator.ofFloat(-1f, 1f) diff --git a/tests/HwAccelerationTest/src/com/android/test/hwui/ColorFiltersMutateActivity.java b/tests/HwAccelerationTest/src/com/android/test/hwui/ColorFiltersMutateActivity.java index 65d168bd5238..fafe60b46676 100644 --- a/tests/HwAccelerationTest/src/com/android/test/hwui/ColorFiltersMutateActivity.java +++ b/tests/HwAccelerationTest/src/com/android/test/hwui/ColorFiltersMutateActivity.java @@ -83,7 +83,7 @@ public class ColorFiltersMutateActivity extends Activity { mBlendPaint = new Paint(); mBlendPaint.setColorFilter(new PorterDuffColorFilter(0, PorterDuff.Mode.SRC_OVER)); - mRuntimeShader = new RuntimeShader(sSkSL, false); + mRuntimeShader = new RuntimeShader(sSkSL); mRuntimeShader.setFloatUniform("param1", mShaderParam1); mRuntimeShader.setInputShader("bitmapShader", new BitmapShader(mBitmap1, Shader.TileMode.CLAMP, diff --git a/tests/HwAccelerationTest/src/com/android/test/hwui/RenderEffectViewActivity.kt b/tests/HwAccelerationTest/src/com/android/test/hwui/RenderEffectViewActivity.kt index 06280d295425..3c71b96c6c31 100644 --- a/tests/HwAccelerationTest/src/com/android/test/hwui/RenderEffectViewActivity.kt +++ b/tests/HwAccelerationTest/src/com/android/test/hwui/RenderEffectViewActivity.kt @@ -30,7 +30,7 @@ import android.view.View class RenderEffectViewActivity : Activity() { - private val mDropsShader = RuntimeShader(dropsAGSL, false) + private val mDropsShader = RuntimeShader(dropsAGSL) private var mDropsAnimator = ValueAnimator.ofFloat(0f, 1f) private var mStartTime = System.currentTimeMillis() private lateinit var mScratchesImage: Bitmap diff --git a/tests/HwAccelerationTest/src/com/android/test/hwui/RippleActivity.java b/tests/HwAccelerationTest/src/com/android/test/hwui/RippleActivity.java index 73c4b8af99de..b78907c46744 100644 --- a/tests/HwAccelerationTest/src/com/android/test/hwui/RippleActivity.java +++ b/tests/HwAccelerationTest/src/com/android/test/hwui/RippleActivity.java @@ -109,7 +109,7 @@ public class RippleActivity extends Activity { p.setColor(mColor); mPaint = CanvasProperty.createPaint(p); - mRuntimeShader = new RuntimeShader(sSkSL, false); + mRuntimeShader = new RuntimeShader(sSkSL); mRuntimeShader.setFloatUniform("in_maxRadius", MAX_RADIUS); } diff --git a/tests/HwAccelerationTest/src/com/android/test/hwui/StretchShaderActivity.java b/tests/HwAccelerationTest/src/com/android/test/hwui/StretchShaderActivity.java index 12e338c96aea..2990c9e59fec 100644 --- a/tests/HwAccelerationTest/src/com/android/test/hwui/StretchShaderActivity.java +++ b/tests/HwAccelerationTest/src/com/android/test/hwui/StretchShaderActivity.java @@ -69,7 +69,7 @@ public class StretchShaderActivity extends Activity { linearLayout.setOrientation(LinearLayout.VERTICAL); mBitmap = ((BitmapDrawable) getDrawable(R.drawable.sunset1)).getBitmap(); - mRuntimeShader = new RuntimeShader(SKSL, false); + mRuntimeShader = new RuntimeShader(SKSL); BitmapShader bitmapShader = new BitmapShader(mBitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP); |