// This file is automatically generated from // frameworks/rs/tests/java_api/RSUnitTests/RSUnitTests.py /* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "shared.rsh" // Testing vector types float2 f2 = { 1.0f, 2.0f }; float3 f3 = { 1.0f, 2.0f, 3.0f }; float4 f4 = { 1.0f, 2.0f, 3.0f, 4.0f }; double2 d2 = { 1.0, 2.0 }; double3 d3 = { 1.0, 2.0, 3.0 }; double4 d4 = { 1.0, 2.0, 3.0, 4.0 }; char2 i8_2 = { 1, 2 }; char3 i8_3 = { 1, 2, 3 }; char4 i8_4 = { 1, 2, 3, 4 }; uchar2 u8_2 = { 1, 2 }; uchar3 u8_3 = { 1, 2, 3 }; uchar4 u8_4 = { 1, 2, 3, 4 }; short2 i16_2 = { 1, 2 }; short3 i16_3 = { 1, 2, 3 }; short4 i16_4 = { 1, 2, 3, 4 }; ushort2 u16_2 = { 1, 2 }; ushort3 u16_3 = { 1, 2, 3 }; ushort4 u16_4 = { 1, 2, 3, 4 }; int2 i32_2 = { 1, 2 }; int3 i32_3 = { 1, 2, 3 }; int4 i32_4 = { 1, 2, 3, 4 }; uint2 u32_2 = { 1, 2 }; uint3 u32_3 = { 1, 2, 3 }; uint4 u32_4 = { 1, 2, 3, 4 }; long2 i64_2 = { 1, 2 }; long3 i64_3 = { 1, 2, 3 }; long4 i64_4 = { 1, 2, 3, 4 }; ulong2 u64_2 = { 1, 2 }; ulong3 u64_3 = { 1, 2, 3 }; ulong4 u64_4 = { 1, 2, 3, 4 }; static bool test_vector_types() { bool failed = false; rsDebug("Testing F32", 0); _RS_ASSERT(f2.x == 2.99f); _RS_ASSERT(f2.y == 3.99f); _RS_ASSERT(f3.x == 2.99f); _RS_ASSERT(f3.y == 3.99f); _RS_ASSERT(f3.z == 4.99f); _RS_ASSERT(f4.x == 2.99f); _RS_ASSERT(f4.y == 3.99f); _RS_ASSERT(f4.z == 4.99f); _RS_ASSERT(f4.w == 5.99f); rsDebug("Testing F64", 0); _RS_ASSERT(d2.x == 2.99); _RS_ASSERT(d2.y == 3.99); _RS_ASSERT(d3.x == 2.99); _RS_ASSERT(d3.y == 3.99); _RS_ASSERT(d3.z == 4.99); _RS_ASSERT(d4.x == 2.99); _RS_ASSERT(d4.y == 3.99); _RS_ASSERT(d4.z == 4.99); _RS_ASSERT(d4.w == 5.99); rsDebug("Testing I8", 0); _RS_ASSERT(i8_2.x == 2); _RS_ASSERT(i8_2.y == 3); _RS_ASSERT(i8_3.x == 2); _RS_ASSERT(i8_3.y == 3); _RS_ASSERT(i8_3.z == 4); _RS_ASSERT(i8_4.x == 2); _RS_ASSERT(i8_4.y == 3); _RS_ASSERT(i8_4.z == 4); _RS_ASSERT(i8_4.w == 5); rsDebug("Testing U8", 0); _RS_ASSERT(u8_2.x == 2); _RS_ASSERT(u8_2.y == 3); _RS_ASSERT(u8_3.x == 2); _RS_ASSERT(u8_3.y == 3); _RS_ASSERT(u8_3.z == 4); _RS_ASSERT(u8_4.x == 2); _RS_ASSERT(u8_4.y == 3); _RS_ASSERT(u8_4.z == 4); _RS_ASSERT(u8_4.w == 5); rsDebug("Testing I16", 0); _RS_ASSERT(i16_2.x == 2); _RS_ASSERT(i16_2.y == 3); _RS_ASSERT(i16_3.x == 2); _RS_ASSERT(i16_3.y == 3); _RS_ASSERT(i16_3.z == 4); _RS_ASSERT(i16_4.x == 2); _RS_ASSERT(i16_4.y == 3); _RS_ASSERT(i16_4.z == 4); _RS_ASSERT(i16_4.w == 5); rsDebug("Testing U16", 0); _RS_ASSERT(u16_2.x == 2); _RS_ASSERT(u16_2.y == 3); _RS_ASSERT(u16_3.x == 2); _RS_ASSERT(u16_3.y == 3); _RS_ASSERT(u16_3.z == 4); _RS_ASSERT(u16_4.x == 2); _RS_ASSERT(u16_4.y == 3); _RS_ASSERT(u16_4.z == 4); _RS_ASSERT(u16_4.w == 5); rsDebug("Testing I32", 0); _RS_ASSERT(i32_2.x == 2); _RS_ASSERT(i32_2.y == 3); _RS_ASSERT(i32_3.x == 2); _RS_ASSERT(i32_3.y == 3); _RS_ASSERT(i32_3.z == 4); _RS_ASSERT(i32_4.x == 2); _RS_ASSERT(i32_4.y == 3); _RS_ASSERT(i32_4.z == 4); _RS_ASSERT(i32_4.w == 5); rsDebug("Testing U32", 0); _RS_ASSERT(u32_2.x == 2); _RS_ASSERT(u32_2.y == 3); _RS_ASSERT(u32_3.x == 2); _RS_ASSERT(u32_3.y == 3); _RS_ASSERT(u32_3.z == 4); _RS_ASSERT(u32_4.x == 2); _RS_ASSERT(u32_4.y == 3); _RS_ASSERT(u32_4.z == 4); _RS_ASSERT(u32_4.w == 5); rsDebug("Testing I64", 0); _RS_ASSERT(i64_2.x == 2); _RS_ASSERT(i64_2.y == 3); _RS_ASSERT(i64_3.x == 2); _RS_ASSERT(i64_3.y == 3); _RS_ASSERT(i64_3.z == 4); _RS_ASSERT(i64_4.x == 2); _RS_ASSERT(i64_4.y == 3); _RS_ASSERT(i64_4.z == 4); _RS_ASSERT(i64_4.w == 5); rsDebug("Testing U64", 0); _RS_ASSERT(u64_2.x == 2); _RS_ASSERT(u64_2.y == 3); _RS_ASSERT(u64_3.x == 2); _RS_ASSERT(u64_3.y == 3); _RS_ASSERT(u64_3.z == 4); _RS_ASSERT(u64_4.x == 2); _RS_ASSERT(u64_4.y == 3); _RS_ASSERT(u64_4.z == 4); _RS_ASSERT(u64_4.w == 5); if (failed) { rsDebug("test_vector FAILED", 0); } else { rsDebug("test_vector PASSED", 0); } return failed; } void vector_test() { bool failed = false; failed |= test_vector_types(); if (failed) { rsSendToClientBlocking(RS_MSG_TEST_FAILED); } else { rsSendToClientBlocking(RS_MSG_TEST_PASSED); } }