diff options
author | Chris Wailes <chriswailes@google.com> | 2014-07-08 11:22:18 -0700 |
---|---|---|
committer | Chris Wailes <chriswailes@google.com> | 2014-07-15 16:42:48 -0700 |
commit | 80ef693674f69c0343c41564e30f80e7fb513b60 (patch) | |
tree | 83dc668eb9dce03f0fca40ee2a7e2f7575755f5c /cpu_ref/rsCpuIntrinsicBlur.cpp | |
parent | 42e563a3bc08f1785f379166b6519009c8066fdc (diff) | |
download | rs-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.cpp | 16 |
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]; |