Skip to content

Commit 3865788

Browse files
authored
Fix norm16 formats to be unfilterable-float and not float (#4594)
1 parent 35e9011 commit 3865788

3 files changed

Lines changed: 113 additions & 11 deletions

File tree

src/webgpu/format_info.ts

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({
290290

291291
r16unorm: {
292292
color: {
293-
type: 'float',
293+
type: 'unfilterable-float',
294294
copySrc: true,
295295
copyDst: true,
296296
storage: true,
@@ -304,7 +304,7 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({
304304
},
305305
r16snorm: {
306306
color: {
307-
type: 'float',
307+
type: 'unfilterable-float',
308308
copySrc: true,
309309
copyDst: true,
310310
storage: true,
@@ -358,7 +358,7 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({
358358

359359
rg16unorm: {
360360
color: {
361-
type: 'float',
361+
type: 'unfilterable-float',
362362
copySrc: true,
363363
copyDst: true,
364364
storage: true,
@@ -372,7 +372,7 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({
372372
},
373373
rg16snorm: {
374374
color: {
375-
type: 'float',
375+
type: 'unfilterable-float',
376376
copySrc: true,
377377
copyDst: true,
378378
storage: true,
@@ -426,7 +426,7 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({
426426

427427
rgba16unorm: {
428428
color: {
429-
type: 'float',
429+
type: 'unfilterable-float',
430430
copySrc: true,
431431
copyDst: true,
432432
storage: true,
@@ -440,7 +440,7 @@ const kRegularTextureFormatInfo = formatTableWithDefaults({
440440
},
441441
rgba16snorm: {
442442
color: {
443-
type: 'float',
443+
type: 'unfilterable-float',
444444
copySrc: true,
445445
copyDst: true,
446446
storage: true,
@@ -2412,8 +2412,11 @@ export function isTextureFormatFilterable(
24122412
case 'float':
24132413
return true;
24142414
case 'unfilterable-float':
2415-
assert(is32Float(format));
2416-
return hasFeature(features, 'float32-filterable');
2415+
if (is32Float(format)) {
2416+
return hasFeature(features, 'float32-filterable');
2417+
} else {
2418+
return false;
2419+
}
24172420
default:
24182421
return false;
24192422
}

0 commit comments

Comments
 (0)