summaryrefslogtreecommitdiff
path: root/cpu_ref/rsCpuIntrinsicHistogram.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpu_ref/rsCpuIntrinsicHistogram.cpp')
-rw-r--r--cpu_ref/rsCpuIntrinsicHistogram.cpp58
1 files changed, 27 insertions, 31 deletions
diff --git a/cpu_ref/rsCpuIntrinsicHistogram.cpp b/cpu_ref/rsCpuIntrinsicHistogram.cpp
index b5dbfa80..1c430b72 100644
--- a/cpu_ref/rsCpuIntrinsicHistogram.cpp
+++ b/cpu_ref/rsCpuIntrinsicHistogram.cpp
@@ -36,10 +36,10 @@ public:
RsdCpuScriptIntrinsicHistogram(RsdCpuReferenceImpl *ctx, const Script *s, const Element *e);
protected:
- void preLaunch(uint32_t slot, const Allocation ** ains, uint32_t inLen,
+ void preLaunch(uint32_t slot, const Allocation * ain,
Allocation * aout, const void * usr,
uint32_t usrLen, const RsScriptCall *sc);
- void postLaunch(uint32_t slot, const Allocation ** ains, uint32_t inLen,
+ void postLaunch(uint32_t slot, const Allocation * ain,
Allocation * aout, const void * usr,
uint32_t usrLen, const RsScriptCall *sc);
@@ -97,12 +97,9 @@ void RsdCpuScriptIntrinsicHistogram::setGlobalVar(uint32_t slot, const void *dat
-void
-RsdCpuScriptIntrinsicHistogram::preLaunch(uint32_t slot,
- const Allocation ** ains,
- uint32_t inLen, Allocation * aout,
- const void * usr, uint32_t usrLen,
- const RsScriptCall *sc) {
+void RsdCpuScriptIntrinsicHistogram::preLaunch(uint32_t slot, const Allocation * ain,
+ Allocation * aout, const void * usr,
+ uint32_t usrLen, const RsScriptCall *sc) {
const uint32_t threads = mCtx->getThreadCount();
uint32_t vSize = mAllocOut->getType()->getElement()->getVectorSize();
@@ -126,7 +123,7 @@ RsdCpuScriptIntrinsicHistogram::preLaunch(uint32_t slot,
}
break;
case 1:
- switch(ains[0]->getType()->getElement()->getVectorSize()) {
+ switch(ain->getType()->getElement()->getVectorSize()) {
case 1:
mRootPtr = &kernelP1L1;
break;
@@ -145,12 +142,9 @@ RsdCpuScriptIntrinsicHistogram::preLaunch(uint32_t slot,
memset(mSums, 0, 256 * sizeof(int32_t) * threads * vSize);
}
-void
-RsdCpuScriptIntrinsicHistogram::postLaunch(uint32_t slot,
- const Allocation ** ains,
- uint32_t inLen, Allocation * aout,
- const void * usr, uint32_t usrLen,
- const RsScriptCall *sc) {
+void RsdCpuScriptIntrinsicHistogram::postLaunch(uint32_t slot, const Allocation * ain,
+ Allocation * aout, const void * usr,
+ uint32_t usrLen, const RsScriptCall *sc) {
unsigned int *o = (unsigned int *)mAllocOut->mHal.drvState.lod[0].mallocPtr;
uint32_t threads = mCtx->getThreadCount();
@@ -171,7 +165,7 @@ void RsdCpuScriptIntrinsicHistogram::kernelP1U4(const RsExpandKernelParams *p,
uint32_t instep, uint32_t outstep) {
RsdCpuScriptIntrinsicHistogram *cp = (RsdCpuScriptIntrinsicHistogram *)p->usr;
- uchar *in = (uchar *)p->ins[0];
+ uchar *in = (uchar *)p->in;
int * sums = &cp->mSums[256 * 4 * p->lid];
for (uint32_t x = xstart; x < xend; x++) {
@@ -179,7 +173,7 @@ void RsdCpuScriptIntrinsicHistogram::kernelP1U4(const RsExpandKernelParams *p,
sums[(in[1] << 2) + 1] ++;
sums[(in[2] << 2) + 2] ++;
sums[(in[3] << 2) + 3] ++;
- in += p->inEStrides[0];
+ in += instep;
}
}
@@ -188,14 +182,14 @@ void RsdCpuScriptIntrinsicHistogram::kernelP1U3(const RsExpandKernelParams *p,
uint32_t instep, uint32_t outstep) {
RsdCpuScriptIntrinsicHistogram *cp = (RsdCpuScriptIntrinsicHistogram *)p->usr;
- uchar *in = (uchar *)p->ins[0];
+ uchar *in = (uchar *)p->in;
int * sums = &cp->mSums[256 * 4 * p->lid];
for (uint32_t x = xstart; x < xend; x++) {
sums[(in[0] << 2) ] ++;
sums[(in[1] << 2) + 1] ++;
sums[(in[2] << 2) + 2] ++;
- in += p->inEStrides[0];
+ in += instep;
}
}
@@ -204,13 +198,13 @@ void RsdCpuScriptIntrinsicHistogram::kernelP1U2(const RsExpandKernelParams *p,
uint32_t instep, uint32_t outstep) {
RsdCpuScriptIntrinsicHistogram *cp = (RsdCpuScriptIntrinsicHistogram *)p->usr;
- uchar *in = (uchar *)p->ins[0];
+ uchar *in = (uchar *)p->in;
int * sums = &cp->mSums[256 * 2 * p->lid];
for (uint32_t x = xstart; x < xend; x++) {
sums[(in[0] << 1) ] ++;
sums[(in[1] << 1) + 1] ++;
- in += p->inEStrides[0];
+ in += instep;
}
}
@@ -219,7 +213,7 @@ void RsdCpuScriptIntrinsicHistogram::kernelP1L4(const RsExpandKernelParams *p,
uint32_t instep, uint32_t outstep) {
RsdCpuScriptIntrinsicHistogram *cp = (RsdCpuScriptIntrinsicHistogram *)p->usr;
- uchar *in = (uchar *)p->ins[0];
+ uchar *in = (uchar *)p->in;
int * sums = &cp->mSums[256 * p->lid];
for (uint32_t x = xstart; x < xend; x++) {
@@ -228,7 +222,7 @@ void RsdCpuScriptIntrinsicHistogram::kernelP1L4(const RsExpandKernelParams *p,
(cp->mDotI[2] * in[2]) +
(cp->mDotI[3] * in[3]);
sums[(t + 0x7f) >> 8] ++;
- in += p->inEStrides[0];
+ in += instep;
}
}
@@ -237,7 +231,7 @@ void RsdCpuScriptIntrinsicHistogram::kernelP1L3(const RsExpandKernelParams *p,
uint32_t instep, uint32_t outstep) {
RsdCpuScriptIntrinsicHistogram *cp = (RsdCpuScriptIntrinsicHistogram *)p->usr;
- uchar *in = (uchar *)p->ins[0];
+ uchar *in = (uchar *)p->in;
int * sums = &cp->mSums[256 * p->lid];
for (uint32_t x = xstart; x < xend; x++) {
@@ -245,7 +239,7 @@ void RsdCpuScriptIntrinsicHistogram::kernelP1L3(const RsExpandKernelParams *p,
(cp->mDotI[1] * in[1]) +
(cp->mDotI[2] * in[2]);
sums[(t + 0x7f) >> 8] ++;
- in += p->inEStrides[0];
+ in += instep;
}
}
@@ -254,14 +248,14 @@ void RsdCpuScriptIntrinsicHistogram::kernelP1L2(const RsExpandKernelParams *p,
uint32_t instep, uint32_t outstep) {
RsdCpuScriptIntrinsicHistogram *cp = (RsdCpuScriptIntrinsicHistogram *)p->usr;
- uchar *in = (uchar *)p->ins[0];
+ uchar *in = (uchar *)p->in;
int * sums = &cp->mSums[256 * p->lid];
for (uint32_t x = xstart; x < xend; x++) {
int t = (cp->mDotI[0] * in[0]) +
(cp->mDotI[1] * in[1]);
sums[(t + 0x7f) >> 8] ++;
- in += p->inEStrides[0];
+ in += instep;
}
}
@@ -270,13 +264,13 @@ void RsdCpuScriptIntrinsicHistogram::kernelP1L1(const RsExpandKernelParams *p,
uint32_t instep, uint32_t outstep) {
RsdCpuScriptIntrinsicHistogram *cp = (RsdCpuScriptIntrinsicHistogram *)p->usr;
- uchar *in = (uchar *)p->ins[0];
+ uchar *in = (uchar *)p->in;
int * sums = &cp->mSums[256 * p->lid];
for (uint32_t x = xstart; x < xend; x++) {
int t = (cp->mDotI[0] * in[0]);
sums[(t + 0x7f) >> 8] ++;
- in += p->inEStrides[0];
+ in += instep;
}
}
@@ -285,12 +279,12 @@ void RsdCpuScriptIntrinsicHistogram::kernelP1U1(const RsExpandKernelParams *p,
uint32_t instep, uint32_t outstep) {
RsdCpuScriptIntrinsicHistogram *cp = (RsdCpuScriptIntrinsicHistogram *)p->usr;
- uchar *in = (uchar *)p->ins[0];
+ uchar *in = (uchar *)p->in;
int * sums = &cp->mSums[256 * p->lid];
for (uint32_t x = xstart; x < xend; x++) {
sums[in[0]] ++;
- in += p->inEStrides[0];
+ in += instep;
}
}
@@ -329,3 +323,5 @@ RsdCpuScriptImpl * rsdIntrinsic_Histogram(RsdCpuReferenceImpl *ctx, const Script
return new RsdCpuScriptIntrinsicHistogram(ctx, s, e);
}
+
+