@@ -3,13 +3,13 @@ Execution Tests for structure member accessing expressions
3
3
` ;
4
4
5
5
import { makeTestGroup } from '../../../../../../common/framework/test_group.js' ;
6
- import { GPUTest } from '../../../../../gpu_test.js' ;
6
+ import { AllFeaturesMaxLimitsGPUTest , GPUTest } from '../../../../../gpu_test.js' ;
7
7
import { ScalarKind , Type , Value , u32 } from '../../../../../util/conversion.js' ;
8
8
import { align } from '../../../../../util/math.js' ;
9
9
import { toComparator } from '../../expectation.js' ;
10
10
import { InputSource , structLayout , structStride } from '../../expression.js' ;
11
11
12
- export const g = makeTestGroup ( GPUTest ) ;
12
+ export const g = makeTestGroup ( AllFeaturesMaxLimitsGPUTest ) ;
13
13
14
14
const kMemberTypes = [
15
15
[ 'bool' ] ,
@@ -140,12 +140,10 @@ g.test('buffer')
140
140
. beginSubcases ( )
141
141
. expand ( 'member_index' , t => t . member_types . map ( ( _ , i ) => i ) )
142
142
)
143
- . beforeAllSubcases ( t => {
143
+ . fn ( async t => {
144
144
if ( t . params . member_types . includes ( 'f16' ) ) {
145
- t . selectDeviceOrSkipTestCase ( 'shader-f16' ) ;
145
+ t . skipIfDeviceDoesNotHaveFeature ( 'shader-f16' ) ;
146
146
}
147
- } )
148
- . fn ( async t => {
149
147
const values = t . params . member_types . map ( ( ty , i ) => Type [ ty ] . create ( i ) ) ;
150
148
const expected = values [ t . params . member_index ] ;
151
149
@@ -286,12 +284,10 @@ g.test('buffer_pointer')
286
284
. beginSubcases ( )
287
285
. expand ( 'member_index' , t => t . member_types . map ( ( _ , i ) => i ) )
288
286
)
289
- . beforeAllSubcases ( t => {
287
+ . fn ( async t => {
290
288
if ( t . params . member_types . includes ( 'f16' ) ) {
291
- t . selectDeviceOrSkipTestCase ( 'shader-f16' ) ;
289
+ t . skipIfDeviceDoesNotHaveFeature ( 'shader-f16' ) ;
292
290
}
293
- } )
294
- . fn ( async t => {
295
291
const values = t . params . member_types . map ( ( ty , i ) => Type [ ty ] . create ( i ) ) ;
296
292
const expected = values [ t . params . member_index ] ;
297
293
@@ -328,12 +324,10 @@ g.test('let')
328
324
. beginSubcases ( )
329
325
. expand ( 'member_index' , t => t . member_types . map ( ( _ , i ) => i ) )
330
326
)
331
- . beforeAllSubcases ( t => {
327
+ . fn ( async t => {
332
328
if ( t . params . member_types . includes ( 'f16' ) ) {
333
- t . selectDeviceOrSkipTestCase ( 'shader-f16' ) ;
329
+ t . skipIfDeviceDoesNotHaveFeature ( 'shader-f16' ) ;
334
330
}
335
- } )
336
- . fn ( async t => {
337
331
const memberType = Type [ t . params . member_types [ t . params . member_index ] ] ;
338
332
const values = t . params . member_types . map ( ( ty , i ) => Type [ ty ] . create ( i ) ) ;
339
333
const expected =
@@ -374,12 +368,10 @@ g.test('param')
374
368
. beginSubcases ( )
375
369
. expand ( 'member_index' , t => t . member_types . map ( ( _ , i ) => i ) )
376
370
)
377
- . beforeAllSubcases ( t => {
371
+ . fn ( async t => {
378
372
if ( t . params . member_types . includes ( 'f16' ) ) {
379
- t . selectDeviceOrSkipTestCase ( 'shader-f16' ) ;
373
+ t . skipIfDeviceDoesNotHaveFeature ( 'shader-f16' ) ;
380
374
}
381
- } )
382
- . fn ( async t => {
383
375
const memberType = Type [ t . params . member_types [ t . params . member_index ] ] ;
384
376
const values = t . params . member_types . map ( ( ty , i ) => Type [ ty ] . create ( i ) ) ;
385
377
const expected =
@@ -423,12 +415,10 @@ g.test('const')
423
415
. beginSubcases ( )
424
416
. expand ( 'member_index' , t => t . member_types . map ( ( _ , i ) => i ) )
425
417
)
426
- . beforeAllSubcases ( t => {
418
+ . fn ( async t => {
427
419
if ( t . params . member_types . includes ( 'f16' ) ) {
428
- t . selectDeviceOrSkipTestCase ( 'shader-f16' ) ;
420
+ t . skipIfDeviceDoesNotHaveFeature ( 'shader-f16' ) ;
429
421
}
430
- } )
431
- . fn ( async t => {
432
422
const memberType = Type [ t . params . member_types [ t . params . member_index ] ] ;
433
423
const values = t . params . member_types . map ( ( ty , i ) => Type [ ty ] . create ( i ) ) ;
434
424
const expected =
@@ -470,12 +460,10 @@ g.test('const_nested')
470
460
. beginSubcases ( )
471
461
. expand ( 'member_index' , t => t . member_types . map ( ( _ , i ) => i ) )
472
462
)
473
- . beforeAllSubcases ( t => {
463
+ . fn ( async t => {
474
464
if ( t . params . member_types . includes ( 'f16' ) ) {
475
- t . selectDeviceOrSkipTestCase ( 'shader-f16' ) ;
465
+ t . skipIfDeviceDoesNotHaveFeature ( 'shader-f16' ) ;
476
466
}
477
- } )
478
- . fn ( async t => {
479
467
const memberType = Type [ t . params . member_types [ t . params . member_index ] ] ;
480
468
const values = t . params . member_types . map ( ( ty , i ) => Type [ ty ] . create ( i ) ) ;
481
469
const expected =
0 commit comments