From 8e7a9958e740c3278eb143e49317633dcaeea669 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Beaufort?= Date: Tue, 24 Oct 2023 20:12:23 +0200 Subject: [PATCH] Remove pipeline statistics query feature (#3085) --- .../queries/pipeline_statistics.spec.ts | 38 --------------- .../command_buffer/queries/README.txt | 4 +- .../features/query_types.spec.ts | 2 +- .../encoding/queries/begin_end.spec.ts | 47 +------------------ .../encoding/queries/general.spec.ts | 11 ++--- .../queries/pipeline_statistics.spec.ts | 14 ------ 6 files changed, 6 insertions(+), 110 deletions(-) delete mode 100644 src/stress/queries/pipeline_statistics.spec.ts delete mode 100644 src/webgpu/api/validation/encoding/queries/pipeline_statistics.spec.ts diff --git a/src/stress/queries/pipeline_statistics.spec.ts b/src/stress/queries/pipeline_statistics.spec.ts deleted file mode 100644 index ce8a16f4625a..000000000000 --- a/src/stress/queries/pipeline_statistics.spec.ts +++ /dev/null @@ -1,38 +0,0 @@ -export const description = ` -Stress tests for pipeline statistics queries. - -TODO: pipeline statistics queries are removed from core; consider moving tests to another suite. -`; - -import { makeTestGroup } from '../../common/framework/test_group.js'; -import { GPUTest } from '../../webgpu/gpu_test.js'; - -export const g = makeTestGroup(GPUTest); - -g.test('render_pass_one_query_set') - .desc( - `Tests a huge number of pipeline statistics queries over a single query set in a -single render pass.` - ) - .unimplemented(); - -g.test('render_pass_many_query_sets') - .desc( - `Tests a huge number of pipeline statistics queries over a huge number of query -sets in a single render pass.` - ) - .unimplemented(); - -g.test('compute_pass_one_query_set') - .desc( - `Tests a huge number of pipeline statistics queries over a single query set in a -single compute pass.` - ) - .unimplemented(); - -g.test('compute_pass_many_query_sets') - .desc( - `Tests a huge number of pipeline statistics queries over a huge number of query -sets in a single compute pass.` - ) - .unimplemented(); diff --git a/src/webgpu/api/operation/command_buffer/queries/README.txt b/src/webgpu/api/operation/command_buffer/queries/README.txt index 68badafa20fd..8e7c22c315f1 100644 --- a/src/webgpu/api/operation/command_buffer/queries/README.txt +++ b/src/webgpu/api/operation/command_buffer/queries/README.txt @@ -1,7 +1,5 @@ TODO: test the behavior of creating/using/resolving queries. -- pipeline statistics - TODO: pipeline statistics queries are removed from core; consider moving tests to another suite. - timestamp -- nested (e.g. timestamp or PS query inside occlusion query), if any such cases are valid. Try +- nested (e.g. timestamp inside occlusion query), if any such cases are valid. Try writing to the same query set (at same or different indices), if valid. Check results make sense. - start a query (all types) with no draw calls diff --git a/src/webgpu/api/validation/capability_checks/features/query_types.spec.ts b/src/webgpu/api/validation/capability_checks/features/query_types.spec.ts index 3a0b53ef4bac..8016252b1ede 100644 --- a/src/webgpu/api/validation/capability_checks/features/query_types.spec.ts +++ b/src/webgpu/api/validation/capability_checks/features/query_types.spec.ts @@ -14,7 +14,7 @@ g.test('createQuerySet') 'timestamp-query'. - createQuerySet - type {occlusion, timestamp} - - x= {pipeline statistics, timestamp} query {enable, disable} + - x= timestamp query {enable, disable} ` ) .params(u => diff --git a/src/webgpu/api/validation/encoding/queries/begin_end.spec.ts b/src/webgpu/api/validation/encoding/queries/begin_end.spec.ts index 5ce014ede57f..e1329023d7d7 100644 --- a/src/webgpu/api/validation/encoding/queries/begin_end.spec.ts +++ b/src/webgpu/api/validation/encoding/queries/begin_end.spec.ts @@ -1,18 +1,5 @@ export const description = ` Validation for encoding begin/endable queries. - -TODO: pipeline statistics queries are removed from core; consider moving tests to another suite. -TODO: tests for pipeline statistics queries: -- balance: { - - begin 0, end 1 - - begin 1, end 0 - - begin 1, end 1 - - begin 2, end 2 - - } - - x= { - - render pass + pipeline statistics - - compute pass + pipeline statistics - - } `; import { makeTestGroup } from '../../../../../common/framework/test_group.js'; @@ -119,44 +106,12 @@ g.test('nesting') .desc( ` Tests that whether it's allowed to nest various types of queries: -- call {occlusion, pipeline-statistics, timestamp} query in same type or other type. +- call {occlusion, timestamp} query in same type or other type. ` ) .paramsSubcasesOnly([ { begin: 'occlusion', nest: 'timestamp', end: 'occlusion', _valid: true }, { begin: 'occlusion', nest: 'occlusion', end: 'occlusion', _valid: false }, - { begin: 'occlusion', nest: 'pipeline-statistics', end: 'occlusion', _valid: true }, - { - begin: 'occlusion', - nest: 'pipeline-statistics', - end: 'pipeline-statistics', - _valid: true, - }, - { - begin: 'pipeline-statistics', - nest: 'timestamp', - end: 'pipeline-statistics', - _valid: true, - }, - { - begin: 'pipeline-statistics', - nest: 'pipeline-statistics', - end: 'pipeline-statistics', - _valid: false, - }, - { - begin: 'pipeline-statistics', - nest: 'occlusion', - end: 'pipeline-statistics', - _valid: true, - }, - { begin: 'pipeline-statistics', nest: 'occlusion', end: 'occlusion', _valid: true }, { begin: 'timestamp', nest: 'occlusion', end: 'occlusion', _valid: true }, - { - begin: 'timestamp', - nest: 'pipeline-statistics', - end: 'pipeline-statistics', - _valid: true, - }, ] as const) .unimplemented(); diff --git a/src/webgpu/api/validation/encoding/queries/general.spec.ts b/src/webgpu/api/validation/encoding/queries/general.spec.ts index 06990400bae0..0ed2352bfd1a 100644 --- a/src/webgpu/api/validation/encoding/queries/general.spec.ts +++ b/src/webgpu/api/validation/encoding/queries/general.spec.ts @@ -1,10 +1,5 @@ export const description = ` -TODO: pipeline statistics queries are removed from core; consider moving tests to another suite. -TODO: -- Start a pipeline statistics query in all possible encoders: - - queryIndex {in, out of} range for GPUQuerySet - - GPUQuerySet {valid, invalid, device mismatched} - - x ={render pass, compute pass} encoder +Validation for encoding queries. `; import { makeTestGroup } from '../../../../../common/framework/test_group.js'; @@ -19,7 +14,7 @@ g.test('occlusion_query,query_type') .desc( ` Tests that set occlusion query set with all types in render pass descriptor: -- type {occlusion (control case), pipeline statistics, timestamp} +- type {occlusion (control case), timestamp} - {undefined} for occlusion query set in render pass descriptor ` ) @@ -77,7 +72,7 @@ g.test('timestamp_query,query_type_and_index') .desc( ` Tests that write timestamp to all types of query set on all possible encoders: -- type {occlusion, pipeline statistics, timestamp} +- type {occlusion, timestamp} - queryIndex {in, out of} range for GPUQuerySet - x= {non-pass} encoder ` diff --git a/src/webgpu/api/validation/encoding/queries/pipeline_statistics.spec.ts b/src/webgpu/api/validation/encoding/queries/pipeline_statistics.spec.ts deleted file mode 100644 index 5827f460581f..000000000000 --- a/src/webgpu/api/validation/encoding/queries/pipeline_statistics.spec.ts +++ /dev/null @@ -1,14 +0,0 @@ -export const description = ` -Validation for encoding pipeline statistics queries. -Excludes query begin/end balance and nesting (begin_end.spec.ts) -and querySet/queryIndex (general.spec.ts). - -TODO: pipeline statistics queries are removed from core; consider moving tests to another suite. -TODO: -- Test pipelineStatistics with {undefined, empty, duplicated, full (control case)} values -`; - -import { makeTestGroup } from '../../../../../common/framework/test_group.js'; -import { ValidationTest } from '../../validation_test.js'; - -export const g = makeTestGroup(ValidationTest);