15ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni/* 25ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni * Copyright (C) 2012 The Android Open Source Project 35ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni * 45ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni * Licensed under the Apache License, Version 2.0 (the "License"); 55ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni * you may not use this file except in compliance with the License. 65ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni * You may obtain a copy of the License at 75ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni * 85ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni * http://www.apache.org/licenses/LICENSE-2.0 95ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni * 105ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni * Unless required by applicable law or agreed to in writing, software 115ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni * distributed under the License is distributed on an "AS IS" BASIS, 125ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 135ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni * See the License for the specific language governing permissions and 145ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni * limitations under the License. 155ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni */ 165ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni 175ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni#include "ip.rsh" 185ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni// #pragma rs_fp_relaxed 195ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni 205ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Nistatic rs_matrix4x4 Mat = { 215ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni { 225ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni1.0f, 0, 0, 0, 235ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni0.2f, 0.9f, 0.2f, 0, 245ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni0, 0, 1.0f, 0, 255ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni0, 0, 0, 1.0f, 265ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni } 275ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni}; 285ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni 295ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni/* 305ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Nivoid init() { 315ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni rsMatrixLoadIdentity(&Mat); 325ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni} 335ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni*/ 345ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni 355ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Nivoid setMatrix(rs_matrix4x4 m) { 365ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni Mat = m; 375ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni} 385ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni 395ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Nifloat4 RS_KERNEL colormatrix(float4 in) { 405ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni return rsMatrixMultiply(&Mat, in); 415ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni} 425ab5155f7e0e0904f8c11cd0dbdbf7832e3ac948Yang Ni 43