summaryrefslogtreecommitdiff
path: root/cpu_ref/rsCpuIntrinsicBlur.cpp
diff options
context:
space:
mode:
authorChris Wailes <chriswailes@google.com>2014-07-08 11:22:18 -0700
committerChris Wailes <chriswailes@google.com>2014-07-15 16:42:48 -0700
commit80ef693674f69c0343c41564e30f80e7fb513b60 (patch)
tree83dc668eb9dce03f0fca40ee2a7e2f7575755f5c /cpu_ref/rsCpuIntrinsicBlur.cpp
parent42e563a3bc08f1785f379166b6519009c8066fdc (diff)
downloadrs-80ef693674f69c0343c41564e30f80e7fb513b60.tar.gz
Split the RsForEachStubParamStruct in two.
This patch splits the RsForEachStubParamStruct into two smaller structs, one used specifically by the driver and the other by the expanded kernels. Doing so makes it clearer what data is used where. In addition, fewer data are copied between memory locations during kernel invocation. Several fields that were not being used were removed from the structs. Change-Id: I7788ef754add44463b17a6b571c7cde6e73b9712
Diffstat (limited to 'cpu_ref/rsCpuIntrinsicBlur.cpp')
-rw-r--r--cpu_ref/rsCpuIntrinsicBlur.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/cpu_ref/rsCpuIntrinsicBlur.cpp b/cpu_ref/rsCpuIntrinsicBlur.cpp
index c1ca4e2e..22e11762 100644
--- a/cpu_ref/rsCpuIntrinsicBlur.cpp
+++ b/cpu_ref/rsCpuIntrinsicBlur.cpp
@@ -44,10 +44,10 @@ protected:
int mIradius;
ObjectBaseRef<Allocation> mAlloc;
- static void kernelU4(const RsForEachStubParamStruct *p,
+ static void kernelU4(const RsExpandKernelParams *p,
uint32_t xstart, uint32_t xend,
uint32_t instep, uint32_t outstep);
- static void kernelU1(const RsForEachStubParamStruct *p,
+ static void kernelU1(const RsExpandKernelParams *p,
uint32_t xstart, uint32_t xend,
uint32_t instep, uint32_t outstep);
void ComputeGaussianWeights();
@@ -113,7 +113,7 @@ void RsdCpuScriptIntrinsicBlur::setGlobalVar(uint32_t slot, const void *data, si
-static void OneVU4(const RsForEachStubParamStruct *p, float4 *out, int32_t x, int32_t y,
+static void OneVU4(const RsExpandKernelParams *p, float4 *out, int32_t x, int32_t y,
const uchar *ptrIn, int iStride, const float* gPtr, int iradius) {
const uchar *pi = ptrIn + x*4;
@@ -131,7 +131,7 @@ static void OneVU4(const RsForEachStubParamStruct *p, float4 *out, int32_t x, in
out->xyzw = blurredPixel;
}
-static void OneVU1(const RsForEachStubParamStruct *p, float *out, int32_t x, int32_t y,
+static void OneVU1(const RsExpandKernelParams *p, float *out, int32_t x, int32_t y,
const uchar *ptrIn, int iStride, const float* gPtr, int iradius) {
const uchar *pi = ptrIn + x;
@@ -243,7 +243,7 @@ static void OneVFU1(float *out,
}
}
-static void OneHU4(const RsForEachStubParamStruct *p, uchar4 *out, int32_t x,
+static void OneHU4(const RsExpandKernelParams *p, uchar4 *out, int32_t x,
const float4 *ptrIn, const float* gPtr, int iradius) {
float4 blurredPixel = 0;
@@ -258,7 +258,7 @@ static void OneHU4(const RsForEachStubParamStruct *p, uchar4 *out, int32_t x,
out->xyzw = convert_uchar4(blurredPixel);
}
-static void OneHU1(const RsForEachStubParamStruct *p, uchar *out, int32_t x,
+static void OneHU1(const RsExpandKernelParams *p, uchar *out, int32_t x,
const float *ptrIn, const float* gPtr, int iradius) {
float blurredPixel = 0;
@@ -274,7 +274,7 @@ static void OneHU1(const RsForEachStubParamStruct *p, uchar *out, int32_t x,
}
-void RsdCpuScriptIntrinsicBlur::kernelU4(const RsForEachStubParamStruct *p,
+void RsdCpuScriptIntrinsicBlur::kernelU4(const RsExpandKernelParams *p,
uint32_t xstart, uint32_t xend,
uint32_t instep, uint32_t outstep) {
@@ -345,7 +345,7 @@ void RsdCpuScriptIntrinsicBlur::kernelU4(const RsForEachStubParamStruct *p,
}
}
-void RsdCpuScriptIntrinsicBlur::kernelU1(const RsForEachStubParamStruct *p,
+void RsdCpuScriptIntrinsicBlur::kernelU1(const RsExpandKernelParams *p,
uint32_t xstart, uint32_t xend,
uint32_t instep, uint32_t outstep) {
float buf[4 * 2048];