diff options
| author | 2012-01-25 14:34:54 -0800 | |
|---|---|---|
| committer | 2012-01-25 14:34:54 -0800 | |
| commit | 5121da171e0215f3bcd5d1fb0b147e7ed3c295a9 (patch) | |
| tree | c88ca0a22bcf679f62193e7cc5e69a3187735373 /tests/RenderScriptTests/SceneGraph | |
| parent | beab555d719a8d956d2d48caa488226df34902a1 (diff) | |
Changing blur passes to use new shader structure.
Change-Id: I8590cc7bfb0ae5b5b55a574852c4c86c3a914ce0
Diffstat (limited to 'tests/RenderScriptTests/SceneGraph')
| -rw-r--r-- | tests/RenderScriptTests/SceneGraph/src/com/android/scenegraph/FullscreenBlur.java | 73 | ||||
| -rw-r--r-- | tests/RenderScriptTests/SceneGraph/src/com/android/scenegraph/RenderState.java | 7 |
2 files changed, 29 insertions, 51 deletions
diff --git a/tests/RenderScriptTests/SceneGraph/src/com/android/scenegraph/FullscreenBlur.java b/tests/RenderScriptTests/SceneGraph/src/com/android/scenegraph/FullscreenBlur.java index e0b4aaecd9d2..17ee621d1e79 100644 --- a/tests/RenderScriptTests/SceneGraph/src/com/android/scenegraph/FullscreenBlur.java +++ b/tests/RenderScriptTests/SceneGraph/src/com/android/scenegraph/FullscreenBlur.java @@ -45,21 +45,18 @@ class FullscreenBlur { static Allocation sRenderTargetBlur2Color;
static Allocation sRenderTargetBlur2Depth;
- static ProgramFragment mPF_BlurH;
- static ProgramFragment mPF_BlurV;
- static ProgramFragment mPF_SelectColor;
- static ProgramFragment mPF_Texture;
- static ScriptField_FBlurOffsets_s mFsBlurHConst;
- static ScriptField_FBlurOffsets_s mFsBlurVConst;
- static ProgramVertex mPV_Paint;
- static ProgramVertex mPV_Blur;
+ static FragmentShader mPF_BlurH;
+ static FragmentShader mPF_BlurV;
+ static FragmentShader mPF_SelectColor;
+ static FragmentShader mPF_Texture;
+ static VertexShader mPV_Paint;
+ static VertexShader mPV_Blur;
// This is only used when full screen blur is enabled
// Basically, it's the offscreen render targets
static void createRenderTargets(RenderScriptGL rs, int w, int h) {
Type.Builder b = new Type.Builder(rs, Element.RGBA_8888(rs));
- b.setX(w/8).setY(h/8);
- Type renderType = b.create();
+ Type renderType = b.setX(w/8).setY(h/8).create();
int usage = Allocation.USAGE_GRAPHICS_TEXTURE | Allocation.USAGE_GRAPHICS_RENDER_TARGET;
sRenderTargetBlur0Color = Allocation.createTyped(rs, renderType, usage);
sRenderTargetBlur1Color = Allocation.createTyped(rs, renderType, usage);
@@ -67,8 +64,7 @@ class FullscreenBlur { b = new Type.Builder(rs, Element.createPixel(rs, Element.DataType.UNSIGNED_16,
Element.DataKind.PIXEL_DEPTH));
- b.setX(w/8).setY(h/8);
- renderType = b.create();
+ renderType = b.setX(w/8).setY(h/8).create();
usage = Allocation.USAGE_GRAPHICS_RENDER_TARGET;
sRenderTargetBlur0Depth = Allocation.createTyped(rs, renderType, usage);
sRenderTargetBlur1Depth = Allocation.createTyped(rs, renderType, usage);
@@ -159,42 +155,31 @@ class FullscreenBlur { compositePass.appendRenderable(quad);
}
- static void initShaders(Resources res, RenderScript rs) {
- ProgramVertex.Builder vb = new ProgramVertex.Builder(rs);
+ static private FragmentShader getShader(Resources res, RenderScriptGL rs,
+ int resID, Type constants) {
+ FragmentShader.Builder fb = new FragmentShader.Builder(rs);
+ fb.setShader(res, resID);
+ fb.addTexture(TextureType.TEXTURE_2D, "color");
+ if (constants != null) {
+ fb.setObjectConst(constants);
+ }
+ FragmentShader prog = fb.create();
+ prog.mProgram.bindSampler(Sampler.CLAMP_LINEAR(rs), 0);
+ return prog;
+ }
+
+ static void initShaders(Resources res, RenderScriptGL rs) {
+ ScriptField_FBlurOffsets_s blurConst = new ScriptField_FBlurOffsets_s(rs, 1);
+ VertexShader.Builder vb = new VertexShader.Builder(rs);
vb.addInput(ScriptField_VertexShaderInputs_s.createElement(rs));
vb.setShader(res, R.raw.blur_vertex);
mPV_Blur = vb.create();
- ProgramFragment.Builder fb = new ProgramFragment.Builder(rs);
- fb.setShader(res, R.raw.texture);
- fb.addTexture(TextureType.TEXTURE_2D);
- mPF_Texture = fb.create();
- mPF_Texture.bindSampler(Sampler.WRAP_LINEAR_MIP_LINEAR(rs), 0);
-
- mFsBlurHConst = new ScriptField_FBlurOffsets_s(rs, 1);
-
- fb = new ProgramFragment.Builder(rs);
- fb.addConstant(mFsBlurHConst.getAllocation().getType());
- fb.setShader(res, R.raw.blur_h);
- fb.addTexture(TextureType.TEXTURE_2D);
- mPF_BlurH = fb.create();
- mPF_BlurH.bindSampler(Sampler.CLAMP_LINEAR(rs), 0);
-
- mFsBlurVConst = new ScriptField_FBlurOffsets_s(rs, 1);
-
- fb = new ProgramFragment.Builder(rs);
- fb.addConstant(mFsBlurVConst.getAllocation().getType());
- fb.setShader(res, R.raw.blur_v);
- fb.addTexture(TextureType.TEXTURE_2D);
-
- mPF_BlurV = fb.create();
- mPF_BlurV.bindSampler(Sampler.CLAMP_LINEAR(rs), 0);
-
- fb = new ProgramFragment.Builder(rs);
- fb.setShader(res, R.raw.select_color);
- fb.addTexture(TextureType.TEXTURE_2D);
- mPF_SelectColor = fb.create();
- mPF_SelectColor.bindSampler(Sampler.CLAMP_LINEAR(rs), 0);
+ mPF_Texture = getShader(res, rs, R.raw.texture, null);
+ mPF_Texture.mProgram.bindSampler(Sampler.WRAP_LINEAR_MIP_LINEAR(rs), 0);
+ mPF_BlurH = getShader(res, rs, R.raw.blur_h, blurConst.getAllocation().getType());
+ mPF_BlurV = getShader(res, rs, R.raw.blur_v, blurConst.getAllocation().getType());
+ mPF_SelectColor = getShader(res, rs, R.raw.select_color, null);
}
}
diff --git a/tests/RenderScriptTests/SceneGraph/src/com/android/scenegraph/RenderState.java b/tests/RenderScriptTests/SceneGraph/src/com/android/scenegraph/RenderState.java index c8a0be03bdcf..2cc8c6b94780 100644 --- a/tests/RenderScriptTests/SceneGraph/src/com/android/scenegraph/RenderState.java +++ b/tests/RenderScriptTests/SceneGraph/src/com/android/scenegraph/RenderState.java @@ -52,13 +52,6 @@ public class RenderState extends SceneGraphBase { mRaster = pr; } - public RenderState(ProgramVertex pv, - ProgramFragment pf, - ProgramStore ps, - ProgramRaster pr) { - // Just to fix the build for now - } - public RenderState(RenderState r) { mVertex = r.mVertex; mFragment = r.mFragment; |