Browse Source

padding vulkan reflect mode

tags/20190908
nihui 6 years ago
parent
commit
c2bc0d1b88
2 changed files with 20 additions and 0 deletions
  1. +10
    -0
      src/layer/vulkan/shader/padding.comp
  2. +10
    -0
      src/layer/vulkan/shader/padding_pack4.comp

+ 10
- 0
src/layer/vulkan/shader/padding.comp View File

@@ -78,6 +78,16 @@ void main()
x = clamp(x, 0, p.w - 1);
y = clamp(y, 0, p.h - 1);

int v_offset = gz * p.cstep + y * p.w + x;
top_blob_data[gz * p.outcstep + gy * p.outw + gx] = bottom_blob_data[v_offset];
}
else if (type == 2)
{
x = abs(x);
y = abs(y);
x = (p.w - 1) - abs(x - (p.w - 1));
y = (p.h - 1) - abs(y - (p.h - 1));

int v_offset = gz * p.cstep + y * p.w + x;
top_blob_data[gz * p.outcstep + gy * p.outw + gx] = bottom_blob_data[v_offset];
}


+ 10
- 0
src/layer/vulkan/shader/padding_pack4.comp View File

@@ -83,6 +83,16 @@ void main()
x = clamp(x, 0, p.w - 1);
y = clamp(y, 0, p.h - 1);

int v_offset = gz * p.cstep + y * p.w + x;
top_blob_data[gz * p.outcstep + gy * p.outw + gx] = bottom_blob_data[v_offset];
}
else if (type == 2)
{
x = abs(x);
y = abs(y);
x = (p.w - 1) - abs(x - (p.w - 1));
y = (p.h - 1) - abs(y - (p.h - 1));

int v_offset = gz * p.cstep + y * p.w + x;
top_blob_data[gz * p.outcstep + gy * p.outw + gx] = bottom_blob_data[v_offset];
}


Loading…
Cancel
Save