summaryrefslogtreecommitdiff
path: root/cpu_ref/rsCpuIntrinsicColorMatrix.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpu_ref/rsCpuIntrinsicColorMatrix.cpp')
-rw-r--r--cpu_ref/rsCpuIntrinsicColorMatrix.cpp38
1 files changed, 18 insertions, 20 deletions
diff --git a/cpu_ref/rsCpuIntrinsicColorMatrix.cpp b/cpu_ref/rsCpuIntrinsicColorMatrix.cpp
index 4e90ad72..bf78eb3e 100644
--- a/cpu_ref/rsCpuIntrinsicColorMatrix.cpp
+++ b/cpu_ref/rsCpuIntrinsicColorMatrix.cpp
@@ -169,9 +169,10 @@ public:
virtual ~RsdCpuScriptIntrinsicColorMatrix();
RsdCpuScriptIntrinsicColorMatrix(RsdCpuReferenceImpl *ctx, const Script *s, const Element *e);
- virtual void preLaunch(uint32_t slot, const Allocation ** ains,
- uint32_t inLen, Allocation * aout, const void * usr,
- uint32_t usrLen, const RsScriptCall *sc);
+ virtual void preLaunch(uint32_t slot, const Allocation * ain, Allocation * aout,
+ const void * usr, uint32_t usrLen, const RsScriptCall *sc);
+ virtual void postLaunch(uint32_t slot, const Allocation * ain, Allocation * aout,
+ const void * usr, uint32_t usrLen, const RsScriptCall *sc);
protected:
float fp[16];
@@ -882,13 +883,8 @@ void RsdCpuScriptIntrinsicColorMatrix::kernel(const RsExpandKernelParams *p,
uint32_t xstart, uint32_t xend,
uint32_t instep, uint32_t outstep) {
RsdCpuScriptIntrinsicColorMatrix *cp = (RsdCpuScriptIntrinsicColorMatrix *)p->usr;
-
- // Update the instep due to change in parameter passing.
- instep = p->inEStrides[0];
-
- uchar *out = (uchar *)p->out + outstep * xstart;
- uchar *in = (uchar *)p->ins[0] + instep * xstart;
-
+ uchar *out = (uchar *)p->out + outstep * xstart;
+ uchar *in = (uchar *)p->in + instep * xstart;
uint32_t x1 = xstart;
uint32_t x2 = xend;
@@ -936,15 +932,11 @@ void RsdCpuScriptIntrinsicColorMatrix::kernel(const RsExpandKernelParams *p,
}
}
-void RsdCpuScriptIntrinsicColorMatrix::preLaunch(uint32_t slot,
- const Allocation ** ains,
- uint32_t inLen,
- Allocation * aout,
- const void * usr,
- uint32_t usrLen,
- const RsScriptCall *sc) {
+void RsdCpuScriptIntrinsicColorMatrix::preLaunch(
+ uint32_t slot, const Allocation * ain, Allocation * aout,
+ const void * usr, uint32_t usrLen, const RsScriptCall *sc) {
- const Element *ein = ains[0]->mHal.state.type->getElement();
+ const Element *ein = ain->mHal.state.type->getElement();
const Element *eout = aout->mHal.state.type->getElement();
if (ein->getType() == eout->getType()) {
@@ -961,8 +953,8 @@ void RsdCpuScriptIntrinsicColorMatrix::preLaunch(uint32_t slot,
}
}
- Key_t key = computeKey(ein, eout);
-
+ Key_t key = computeKey(ain->mHal.state.type->getElement(),
+ aout->mHal.state.type->getElement());
#if defined(ARCH_X86_HAVE_SSSE3)
if ((mOptKernel == NULL) || (mLastKey.key != key.key)) {
// FIXME: Disable mOptKernel to pass RS color matrix CTS cases
@@ -1004,6 +996,12 @@ void RsdCpuScriptIntrinsicColorMatrix::preLaunch(uint32_t slot,
#endif //if !defined(ARCH_X86_HAVE_SSSE3)
}
+void RsdCpuScriptIntrinsicColorMatrix::postLaunch(
+ uint32_t slot, const Allocation * ain, Allocation * aout,
+ const void * usr, uint32_t usrLen, const RsScriptCall *sc) {
+
+}
+
RsdCpuScriptIntrinsicColorMatrix::RsdCpuScriptIntrinsicColorMatrix(
RsdCpuReferenceImpl *ctx, const Script *s, const Element *e)
: RsdCpuScriptIntrinsic(ctx, s, e, RS_SCRIPT_INTRINSIC_ID_COLOR_MATRIX) {