Skip to content

Commit 7564935

Browse files
authored
Merge pull request #154 from BenAnn/master
fix(webgl): fix pad3d error params
2 parents ed2c56c + f117679 commit 7564935

File tree

2 files changed

+34
-34
lines changed

2 files changed

+34
-34
lines changed

packages/paddlejs-backend-webgl/src/ops/shader/pad3d.ts

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -9,76 +9,76 @@ function recoverShape({ total_shape, channel, height_shape, width_shape }) {
99

1010
function mainFunc(
1111
{ origin },
12-
{ padding, mode, value }
12+
{ paddings, mode, value }
1313
) {
1414
const originShape = recoverShape(origin);
1515
const modes = {
1616
reflect: `
1717
int a;
1818
int b;
19-
if (oPos.a - ${padding[0]} < 0) {
20-
a = ${padding[0]} - oPos.a;
19+
if (oPos.a - ${paddings[0]} < 0) {
20+
a = ${paddings[0]} - oPos.a;
2121
}
22-
else if (oPos.a - ${padding[0]} >= ${originShape[3]}) {
23-
a = ${originShape[3]} - (oPos.a - ${padding[0]} - ${originShape[3]} + 1) - 1;
22+
else if (oPos.a - ${paddings[0]} >= ${originShape[3]}) {
23+
a = ${originShape[3]} - (oPos.a - ${paddings[0]} - ${originShape[3]} + 1) - 1;
2424
}
2525
else {
26-
a = oPos.a - ${padding[0]};
26+
a = oPos.a - ${paddings[0]};
2727
}
28-
if (oPos.b - ${padding[2]} < 0) {
29-
b = ${padding[2]} - oPos.b;
28+
if (oPos.b - ${paddings[2]} < 0) {
29+
b = ${paddings[2]} - oPos.b;
3030
}
31-
else if (oPos.b - ${padding[2]} >= ${originShape[2]}) {
32-
b = ${originShape[2]} - (oPos.b - ${padding[2]} - ${originShape[2]} + 1) - 1;
31+
else if (oPos.b - ${paddings[2]} >= ${originShape[2]}) {
32+
b = ${originShape[2]} - (oPos.b - ${paddings[2]} - ${originShape[2]} + 1) - 1;
3333
}
3434
else {
35-
b = oPos.b - ${padding[2]};
35+
b = oPos.b - ${paddings[2]};
3636
}
3737
o = getValueFromTensorPos_origin(oPos.r, oPos.g, b, a);
3838
`,
3939
replicate: `
4040
int a;
4141
int b;
42-
if (oPos.a - ${padding[0]} < 0) {
42+
if (oPos.a - ${paddings[0]} < 0) {
4343
a = 0;
4444
}
45-
else if (oPos.a - ${padding[0]} >= ${originShape[3]}) {
45+
else if (oPos.a - ${paddings[0]} >= ${originShape[3]}) {
4646
a = ${originShape[3]} - 1;
4747
}
4848
else {
49-
a = oPos.a - ${padding[0]};
49+
a = oPos.a - ${paddings[0]};
5050
}
51-
if (oPos.b - ${padding[2]} < 0) {
51+
if (oPos.b - ${paddings[2]} < 0) {
5252
b = 0;
5353
}
54-
else if (oPos.b - ${padding[2]} >= ${originShape[2]}) {
54+
else if (oPos.b - ${paddings[2]} >= ${originShape[2]}) {
5555
b = ${originShape[2]} - 1;
5656
}
5757
else {
58-
b = oPos.b - ${padding[2]};
58+
b = oPos.b - ${paddings[2]};
5959
}
6060
o = getValueFromTensorPos_origin(oPos.r, oPos.g, b, a);
6161
`,
6262
circular: `
6363
int a;
6464
int b;
65-
if (oPos.a - ${padding[0]} < 0) {
66-
a = int(mod(float(${padding[0]} + oPos.a - 1), float(${originShape[3]})));
65+
if (oPos.a - ${paddings[0]} < 0) {
66+
a = int(mod(float(${paddings[0]} + oPos.a - 1), float(${originShape[3]})));
6767
}
68-
else if (oPos.a - ${padding[0]} >= ${originShape[3]}) {
69-
a = int(mod(float(oPos.a - ${padding[0]} - ${originShape[3]}), float(${originShape[3]})));
68+
else if (oPos.a - ${paddings[0]} >= ${originShape[3]}) {
69+
a = int(mod(float(oPos.a - ${paddings[0]} - ${originShape[3]}), float(${originShape[3]})));
7070
}
7171
else {
72-
a = oPos.a - ${padding[0]};
72+
a = oPos.a - ${paddings[0]};
7373
}
74-
if (oPos.b - ${padding[2]} < 0) {
75-
b = int(mod(float(${padding[2]} + oPos.b - 1), float(${originShape[2]})));
74+
if (oPos.b - ${paddings[2]} < 0) {
75+
b = int(mod(float(${paddings[2]} + oPos.b - 1), float(${originShape[2]})));
7676
}
77-
else if (oPos.b - ${padding[2]} >= ${originShape[2]}) {
78-
b = int(mod(float(oPos.b - ${padding[2]} - ${originShape[2]}), float(${originShape[2]})));
77+
else if (oPos.b - ${paddings[2]} >= ${originShape[2]}) {
78+
b = int(mod(float(oPos.b - ${paddings[2]} - ${originShape[2]}), float(${originShape[2]})));
7979
}
8080
else {
81-
b = oPos.b - ${padding[2]};
81+
b = oPos.b - ${paddings[2]};
8282
}
8383
o = getValueFromTensorPos_origin(oPos.r, oPos.g, b, a);
8484
`,
@@ -92,12 +92,12 @@ function mainFunc(
9292
void main(void) {
9393
ivec4 oPos = getOutputTensorPos();
9494
float o = ${defaultValue};
95-
if (oPos.a - ${padding[0]} >= 0
96-
&& oPos.b - ${padding[2]} >= 0
97-
&& oPos.a - ${padding[0]} < ${originShape[3]}
98-
&& oPos.b - ${padding[2]} < ${originShape[2]}
95+
if (oPos.a - ${paddings[0]} >= 0
96+
&& oPos.b - ${paddings[2]} >= 0
97+
&& oPos.a - ${paddings[0]} < ${originShape[3]}
98+
&& oPos.b - ${paddings[2]} < ${originShape[2]}
9999
) {
100-
o = getValueFromTensorPos_origin(oPos.r, oPos.g, oPos.b - ${padding[2]}, oPos.a - ${padding[0]});
100+
o = getValueFromTensorPos_origin(oPos.r, oPos.g, oPos.b - ${paddings[2]}, oPos.a - ${paddings[0]});
101101
}
102102
else {
103103
${modes[mode]}
@@ -109,7 +109,7 @@ function mainFunc(
109109
export default {
110110
mainFunc,
111111
params: [
112-
'padding',
112+
'paddings',
113113
'mode',
114114
'value'
115115
],

packages/paddlejs-backend-webgl/test/op/data/pad3d.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
},
2020
{
2121
"attrs": {
22-
"padding": [2, 2, 2, 2, 0, 0],
22+
"paddings": [2, 2, 2, 2, 0, 0],
2323
"mode": "constant",
2424
"value": "0.0"
2525
},

0 commit comments

Comments
 (0)