Skip to content

Commit e0c2ca9

Browse files
authored
Bump @webgpu/types to 0.1.68 (#4534)
1 parent 5c24db5 commit e0c2ca9

File tree

5 files changed

+45
-9
lines changed

5 files changed

+45
-9
lines changed

package-lock.json

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
"@types/w3c-image-capture": "^1.0.10",
5151
"@typescript-eslint/eslint-plugin": "^6.9.1",
5252
"@typescript-eslint/parser": "^6.9.1",
53-
"@webgpu/types": "^0.1.66",
53+
"@webgpu/types": "^0.1.68",
5454
"ansi-colors": "4.1.3",
5555
"babel-plugin-add-header-comment": "^1.0.3",
5656
"babel-plugin-const-enum": "^1.2.0",

src/webgpu/api/validation/capability_checks/limits/limit_utils.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -404,9 +404,11 @@ export class LimitTestsImpl extends GPUTestBase {
404404
this._adapter = await gpu.requestAdapter();
405405
const limit = this.limit;
406406
// MAINTENANCE_TODO: consider removing this skip if the spec has no optional limits.
407+
// Note: The cast below is required because an optional limit has no entry
408+
// in capability_info.ts kLimitInfoKeys, kLimitInfoDefaults, kLimitInfoData
407409
this.skipIf(
408410
(this._adapter?.limits[limit] === undefined && !!this.limitTestParams.limitOptional) ||
409-
getDefaultLimitsForCTS()[limit] === undefined,
411+
!(limit in getDefaultLimitsForCTS()),
410412
`${limit} is missing but optional for now`
411413
);
412414
this.defaultLimit = getDefaultLimitForAdapter(this.adapter, limit);

src/webgpu/api/validation/encoding/encoder_open_state.spec.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ const kRenderPassEncoderCommandInfo: {
9898
setScissorRect: {},
9999
setBlendConstant: {},
100100
setStencilReference: {},
101+
setImmediates: {},
101102
beginOcclusionQuery: {},
102103
endOcclusionQuery: {},
103104
executeBundles: {},
@@ -122,6 +123,7 @@ const kRenderBundleEncoderCommandInfo: {
122123
setBindGroup: {},
123124
setIndexBuffer: {},
124125
setVertexBuffer: {},
126+
setImmediates: {},
125127
pushDebugGroup: {},
126128
popDebugGroup: {},
127129
insertDebugMarker: {},
@@ -139,6 +141,7 @@ const kComputePassEncoderCommandInfo: {
139141
} = {
140142
setBindGroup: {},
141143
setPipeline: {},
144+
setImmediates: {},
142145
dispatchWorkgroups: {},
143146
dispatchWorkgroupsIndirect: {},
144147
pushDebugGroup: {},
@@ -286,6 +289,13 @@ g.test('render_pass_commands')
286289
.beginSubcases()
287290
.combine('finishBeforeCommand', ['no', 'pass', 'encoder'])
288291
)
292+
.beforeAllSubcases(t => {
293+
// MAINTENANCE_TODO: Remove when setImmediates is added to spec.
294+
t.skipIf(
295+
t.params.command === 'setImmediates' && !('setImmediates' in GPURenderPassEncoder.prototype),
296+
'setImmediates not supported'
297+
);
298+
})
289299
.fn(t => {
290300
const { command, finishBeforeCommand } = t.params;
291301
if (command === 'multiDrawIndirect' || command === 'multiDrawIndexedIndirect') {
@@ -440,6 +450,14 @@ g.test('render_bundle_commands')
440450
.beginSubcases()
441451
.combine('finishBeforeCommand', [false, true])
442452
)
453+
.beforeAllSubcases(t => {
454+
// MAINTENANCE_TODO: Remove when setImmediates is added to spec.
455+
t.skipIf(
456+
t.params.command === 'setImmediates' &&
457+
!('setImmediates' in GPURenderBundleEncoder.prototype),
458+
'setImmediates not supported'
459+
);
460+
})
443461
.fn(t => {
444462
const { command, finishBeforeCommand } = t.params;
445463

@@ -456,6 +474,11 @@ g.test('render_bundle_commands')
456474
colorFormats: ['rgba8unorm'],
457475
});
458476

477+
t.skipIf(
478+
command === 'setImmediates' && !('setImmediates' in bundleEncoder),
479+
'setImmediates not supported'
480+
);
481+
459482
if (finishBeforeCommand) {
460483
bundleEncoder.finish();
461484
}
@@ -540,6 +563,13 @@ g.test('compute_pass_commands')
540563
.beginSubcases()
541564
.combine('finishBeforeCommand', ['no', 'pass', 'encoder'])
542565
)
566+
.beforeAllSubcases(t => {
567+
// MAINTENANCE_TODO: Remove when setImmediates is added to spec.
568+
t.skipIf(
569+
t.params.command === 'setImmediates' && !('setImmediates' in GPUComputePassEncoder.prototype),
570+
'setImmediates not supported'
571+
);
572+
})
543573
.fn(t => {
544574
const { command, finishBeforeCommand } = t.params;
545575

src/webgpu/capability_info.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -817,6 +817,10 @@ const [kLimitInfoKeys, kLimitInfoDefaults, kLimitInfoData] =
817817
'maxComputeWorkgroupSizeY': [ , 256, 128, ],
818818
'maxComputeWorkgroupSizeZ': [ , 64, 64, ],
819819
'maxComputeWorkgroupsPerDimension': [ , 65535, 65535, ],
820+
// MAINTENANCE_TODO(4535): Consider allowing optional non-conforming limits. Currently they are not allowed.
821+
// Any limit here is immediately required by all implementations.
822+
// Also, consider having this table statically check that all limits listed in @webgpu/types exist in
823+
// this table.
820824
} as const];
821825

822826
/**

0 commit comments

Comments
 (0)