diff options
Diffstat (limited to 'cpu_ref/rsCpuIntrinsicColorMatrix.cpp')
-rw-r--r-- | cpu_ref/rsCpuIntrinsicColorMatrix.cpp | 38 |
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) { |