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