From 99205e66b8e42ab25d8db1e76a1b8e91d233e970 Mon Sep 17 00:00:00 2001 From: Kai Ninomiya Date: Wed, 29 Jun 2022 16:17:42 -0700 Subject: [PATCH] [editorial] Make GPUCommandBuffer one-time-use --- design/CommandSubmission.md | 2 ++ spec/index.bs | 10 +++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/design/CommandSubmission.md b/design/CommandSubmission.md index d7cc716243..318a80074c 100644 --- a/design/CommandSubmission.md +++ b/design/CommandSubmission.md @@ -1,5 +1,7 @@ # Command Submission +**THIS DOCUMENT IS OUTDATED** + Command buffers carry sequences of user commands on the CPU side. They can be recorded independently of the work done on GPU, or each other. They go through the following stages: diff --git a/spec/index.bs b/spec/index.bs index e3ad25e18a..c85ec7b354 100644 --- a/spec/index.bs +++ b/spec/index.bs @@ -711,7 +711,7 @@ may become unusable, e.g. if the owning device is [=lose the device|lost=] or like buffer state [=buffer state/destroyed=]. [=Internal objects=] of some types *can* become [=invalid=] after they are created; specifically, -[=devices=], [=adapters=], and command/pass/bundle encoders. +[=devices=], [=adapters=], {{GPUCommandBuffer}}s, and command/pass/bundle encoders.
A given {{GPUObjectBase}} |object| is valid to use with @@ -7702,6 +7702,9 @@ Command buffers are pre-recorded lists of [=GPU commands=] that can be submitted for execution. Each GPU command represents a task to be performed on the GPU, such as setting state, drawing, copying resources, etc. +A {{GPUCommandBuffer}} can only be submitted once, at which point it becomes [=invalid=]. +To reuse rendering commands across multiple submissions, use {{GPURenderBundle}}. + ## GPUCommandBuffer ## {#command-buffer}