1// This file is automatically generated from
2// frameworks/rs/tests/java_api/RSUnitTests/RSUnitTests.py
3/*
4 * Copyright (C) 2017 The Android Open Source Project
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 *      http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18
19package com.android.rs.unittest;
20
21import android.content.Context;
22import android.support.v8.renderscript.RenderScript;
23import android.support.v8.renderscript.Sampler;
24
25public class UT_sampler extends UnitTest {
26    Sampler minification;
27    Sampler magnification;
28    Sampler wrapS;
29    Sampler wrapT;
30    Sampler anisotropy;
31
32    public UT_sampler(Context ctx) {
33        super("Sampler", ctx);
34    }
35
36    private Sampler.Builder getDefaultBuilder(RenderScript RS) {
37        Sampler.Builder b = new Sampler.Builder(RS);
38        b.setMinification(Sampler.Value.NEAREST);
39        b.setMagnification(Sampler.Value.NEAREST);
40        b.setWrapS(Sampler.Value.CLAMP);
41        b.setWrapT(Sampler.Value.CLAMP);
42        b.setAnisotropy(1.0f);
43        return b;
44    }
45
46    private void initializeGlobals(RenderScript RS, ScriptC_sampler s) {
47        Sampler.Builder b = getDefaultBuilder(RS);
48        b.setMinification(Sampler.Value.LINEAR_MIP_LINEAR);
49        minification = b.create();
50
51        b = getDefaultBuilder(RS);
52        b.setMagnification(Sampler.Value.LINEAR);
53        magnification = b.create();
54
55        b = getDefaultBuilder(RS);
56        b.setWrapS(Sampler.Value.WRAP);
57        wrapS = b.create();
58
59        b = getDefaultBuilder(RS);
60        b.setWrapT(Sampler.Value.WRAP);
61        wrapT = b.create();
62
63        b = getDefaultBuilder(RS);
64        b.setAnisotropy(8.0f);
65        anisotropy = b.create();
66
67        s.set_minification(minification);
68        s.set_magnification(magnification);
69        s.set_wrapS(wrapS);
70        s.set_wrapT(wrapT);
71        s.set_anisotropy(anisotropy);
72    }
73
74    private void testScriptSide(RenderScript pRS) {
75        ScriptC_sampler s = new ScriptC_sampler(pRS);
76        initializeGlobals(pRS, s);
77        s.invoke_sampler_test();
78        pRS.finish();
79        s.destroy();
80    }
81
82    private void testJavaSide(RenderScript pRS) {
83        _RS_ASSERT("minification.getMagnification() == Sampler.Value.NEAREST",
84                minification.getMagnification() == Sampler.Value.NEAREST);
85        _RS_ASSERT("minification.getMinification() == Sampler.Value.LINEAR_MIP_LINEAR",
86                minification.getMinification() == Sampler.Value.LINEAR_MIP_LINEAR);
87        _RS_ASSERT("minification.getWrapS() == Sampler.Value.CLAMP",
88                minification.getWrapS() == Sampler.Value.CLAMP);
89        _RS_ASSERT("minification.getWrapT() == Sampler.Value.CLAMP",
90                minification.getWrapT() == Sampler.Value.CLAMP);
91        _RS_ASSERT("minification.getAnisotropy() == 1.0f",
92                minification.getAnisotropy() == 1.0f);
93
94        _RS_ASSERT("magnification.getMagnification() == Sampler.Value.LINEAR",
95                magnification.getMagnification() == Sampler.Value.LINEAR);
96        _RS_ASSERT("magnification.getMinification() == Sampler.Value.NEAREST",
97                magnification.getMinification() == Sampler.Value.NEAREST);
98        _RS_ASSERT("magnification.getWrapS() == Sampler.Value.CLAMP",
99                magnification.getWrapS() == Sampler.Value.CLAMP);
100        _RS_ASSERT("magnification.getWrapT() == Sampler.Value.CLAMP",
101                magnification.getWrapT() == Sampler.Value.CLAMP);
102        _RS_ASSERT("magnification.getAnisotropy() == 1.0f",
103                magnification.getAnisotropy() == 1.0f);
104
105        _RS_ASSERT("wrapS.getMagnification() == Sampler.Value.NEAREST",
106                wrapS.getMagnification() == Sampler.Value.NEAREST);
107        _RS_ASSERT("wrapS.getMinification() == Sampler.Value.NEAREST",
108                wrapS.getMinification() == Sampler.Value.NEAREST);
109        _RS_ASSERT("wrapS.getWrapS() == Sampler.Value.WRAP",
110                wrapS.getWrapS() == Sampler.Value.WRAP);
111        _RS_ASSERT("wrapS.getWrapT() == Sampler.Value.CLAMP",
112                wrapS.getWrapT() == Sampler.Value.CLAMP);
113        _RS_ASSERT("wrapS.getAnisotropy() == 1.0f",
114                wrapS.getAnisotropy() == 1.0f);
115
116        _RS_ASSERT("wrapT.getMagnification() == Sampler.Value.NEAREST",
117                wrapT.getMagnification() == Sampler.Value.NEAREST);
118        _RS_ASSERT("wrapT.getMinification() == Sampler.Value.NEAREST",
119                wrapT.getMinification() == Sampler.Value.NEAREST);
120        _RS_ASSERT("wrapT.getWrapS() == Sampler.Value.CLAMP",
121                wrapT.getWrapS() == Sampler.Value.CLAMP);
122        _RS_ASSERT("wrapT.getWrapT() == Sampler.Value.WRAP",
123                wrapT.getWrapT() == Sampler.Value.WRAP);
124        _RS_ASSERT("wrapT.getAnisotropy() == 1.0f",
125                wrapT.getAnisotropy() == 1.0f);
126
127        _RS_ASSERT("anisotropy.getMagnification() == Sampler.Value.NEAREST",
128                anisotropy.getMagnification() == Sampler.Value.NEAREST);
129        _RS_ASSERT("anisotropy.getMinification() == Sampler.Value.NEAREST",
130                anisotropy.getMinification() == Sampler.Value.NEAREST);
131        _RS_ASSERT("anisotropy.getWrapS() == Sampler.Value.CLAMP",
132                anisotropy.getWrapS() == Sampler.Value.CLAMP);
133        _RS_ASSERT("anisotropy.getWrapT() == Sampler.Value.CLAMP",
134                anisotropy.getWrapT() == Sampler.Value.CLAMP);
135        _RS_ASSERT("anisotropy.getAnisotropy() == 1.0f",
136                anisotropy.getAnisotropy() == 8.0f);
137    }
138
139    public void run() {
140        RenderScript pRS = createRenderScript(true);
141        testScriptSide(pRS);
142        testJavaSide(pRS);
143        passTest();
144        pRS.destroy();
145    }
146}
147