Skip to content

Commit 17e4b77

Browse files
committed
feat(webgl): add op bilinear_interp_v2 and throw more detail about buildshader
1 parent e9e6e32 commit 17e4b77

File tree

4 files changed

+13
-10
lines changed

4 files changed

+13
-10
lines changed

packages/paddlejs-backend-webgl/src/ops/index.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import split from './shader/split';
2323
import batchnorm from './shader/batchnorm';
2424
import reshape2 from './shader/reshape2';
2525
import bilinear_interp from './shader/bilinear_interp';
26+
import bilinear_interp_v2 from './shader/bilinear_interp_v2';
2627
import transpose2 from './shader/transpose2';
2728
import softmax from './shader/softmax';
2829
import dynamic from './shader/dynamic';
@@ -88,7 +89,8 @@ const ops = {
8889
pow: dynamic('pow'),
8990
sqrt: dynamic('sqrt'),
9091
squeeze2,
91-
pad3d
92+
pad3d,
93+
bilinear_interp_v2
9294
};
9395
export {
9496
ops

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

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,6 @@ function mainFunc(
2525
void main(void) {
2626
// 输出数据
2727
ivec4 oPos = getOutputTensorPos();
28-
// 输出坐标转换为输入坐标
29-
//int sumVal = oPos.g
30-
+ oPos.a * ${out.channel}
31-
+ oPos.b * ${out.channel} * ${out.width_shape}
32-
+ oPos.r * ${out.channel} * ${out.width_shape} * ${out.height_shape};
33-
3428
3529
bool align_flag = ${align_mode} == 0 && !${align_corners};
3630
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
/**
2+
* @file bilinear_interp_v2
3+
* @implements 差值实现方式(BilinearInterpolation)与 bilinear_interp 一致,唯一的区别是 outshape 计算
4+
*/
5+
6+
import bilinear_interp from './bilinear_interp';
7+
8+
export default bilinear_interp;

packages/paddlejs-backend-webgl/src/webgl/buildShader.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,9 @@ import * as textureFunc from '../ops/atom/common_func_with_texture';
1313

1414
export default function buildShader(textureConf, type, inputTensors, fShaderParams, runtime: number, isPacked = false) {
1515
let code = '';
16+
const opName = getExactOpName(type, isPacked);
1617
try {
1718

18-
const opName = getExactOpName(type, isPacked);
19-
2019
const { params = {}, mainFunc, textureFuncConf = {}, commonFuncConf } = ops[opName];
2120

2221
// textureList: [filter, origin, bias]
@@ -50,7 +49,7 @@ export default function buildShader(textureConf, type, inputTensors, fShaderPara
5049
code = populateData(code);
5150
}
5251
catch (e) {
53-
console.error(e);
52+
console.error(`[${opName}]: ` + e);
5453
}
5554

5655
return code;

0 commit comments

Comments
 (0)