diff options
author | Jason Sams <rjsams@android.com> | 2011-04-20 15:09:01 -0700 |
---|---|---|
committer | Jason Sams <rjsams@android.com> | 2011-04-20 15:09:01 -0700 |
commit | 87fe59a2f4d4c74539bfa0bff5f9a7e320e99415 (patch) | |
tree | 34d774d54f75657d949e034858149dba4e3368ff /rsMatrix3x3.h | |
parent | eed1b156ca3e439f3d178ce99a4fa736527b15f9 (diff) | |
download | rs-87fe59a2f4d4c74539bfa0bff5f9a7e320e99415.tar.gz |
Create runtime stubs for compute driver.
Change-Id: I8e0250a642844a2ad3ff6efc38e385445b7da032
Diffstat (limited to 'rsMatrix3x3.h')
-rw-r--r-- | rsMatrix3x3.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/rsMatrix3x3.h b/rsMatrix3x3.h new file mode 100644 index 00000000..f96d2703 --- /dev/null +++ b/rsMatrix3x3.h @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2011 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. + */ + +#ifndef ANDROID_RS_MATRIX_3x3_H +#define ANDROID_RS_MATRIX_3x3_H + +#include "rsType.h" + + +// --------------------------------------------------------------------------- +namespace android { +namespace renderscript { + +struct Matrix3x3 : public rs_matrix3x3 { + inline float get(uint32_t row, uint32_t col) const { + return m[row*3 + col]; + } + + inline void set(uint32_t row, uint32_t col, float v) { + m[row*3 + col] = v; + } + + void loadIdentity(); + void load(const float *); + void load(const rs_matrix3x3 *); + + void loadMultiply(const rs_matrix3x3 *lhs, const rs_matrix3x3 *rhs); + + void transpose(); + + void multiply(const rs_matrix3x3 *rhs) { + Matrix3x3 tmp; + tmp.loadMultiply(this, rhs); + load(&tmp); + } +}; + +} +} + + + + +#endif + + + + + |