文章目录
- 如何写`ScaleImage()`的硬件加速函数(十一)
<2022-05-06 周五>
如何写ScaleImage()
的硬件加速函数(十一)
“如何写ScaleImage()
的硬件加速函数(十)”这里的代码写得比较随意,其中stopi = 0;
赋值为0
后,下面的循环根本没有执行,这才使得显示的图片变正确了;且async_work_group_copy()
的参数传得可能也不对,等等等。
- 我原来的想法是在外部计算好需要的行数传入
kernel
函数,并按照此行数申请好一定长度的一维数组,在async_work_group_copy()
时拷贝相应行数的像素。 - 然后在
async_work_group_copy()
拷贝好的local
内存里按照ScaleImage()
的算法实现Y
方向的缩放。 - 有一个顾虑需不需要考虑?因为
local
内存是对应一个work-group
的,它的各work-item
共享这片local
内存,那每个work-item
是不是都会按照ScaleImage()
的算法处理一次Y
方向的缩放? - 目前看好像不要考虑这个问题,即不影响结果也不影响效率。
- 同时也在考虑,可不可以在进入
kernel
函数之前就缩放好Y
方向呢?
见commit
:a better revision of AccelerateScaleImage()。