• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2021 The Khronos Group, Inc.
2//
3// SPDX-License-Identifier: CC-BY-4.0
4
5include::{generated}/meta/{refprefix}VK_FUCHSIA_buffer_collection.txt[]
6
7=== Other Extension Metadata
8
9*Last Modified Date*::
10    2021-09-23
11*IP Status*::
12    No known IP claims.
13*Contributors*::
14  - Craig Stout, Google
15  - John Bauman, Google
16  - John Rosasco, Google
17
18=== Description
19
20A buffer collection is a collection of one or more buffers which were
21allocated together as a group and which all have the same properties.
22These properties describe the buffers' internal representation such as its
23dimensions and memory layout.
24This ensures that all of the buffers can be used interchangeably by tasks
25that require swapping among multiple buffers, such as double-buffered
26graphics rendering.
27
28By sharing such a collection of buffers between components, communication
29about buffer lifecycle can be made much simpler and more efficient.
30For example, when a content producer finishes writing to a buffer, it can
31message the consumer of the buffer with the buffer index, rather than
32passing a handle to the shared memory.
33
34On Fuchsia, the Sysmem service uses buffer collections as a core construct
35in its design.
36VK_FUCHSIA_buffer_collection is the Vulkan extension that allows Vulkan
37applications to interoperate with the Sysmem service on Fuchsia.
38
39include::{generated}/interfaces/VK_FUCHSIA_buffer_collection.txt[]
40
41=== Issues
42
431) When configuring a slink:VkImageConstraintsInfoFUCHSIA structure for
44constraint setting, should a NULL pname:pFormatConstraints parameter be
45allowed ?
46
47*RESOLVED*: No.
48Specifying a NULL pname:pFormatConstraints results in logical complexity of
49interpreting the relationship between the
50slink:VkImageCreateInfo::pname:usage settings of the elements of the
51pname:pImageCreateInfos array and the implied or desired
52tlink:VkFormatFeatureFlags.
53
54The explicit requirement for pname:pFormatConstraints to be non-NULL
55simplifies the implied logic of the implementation and expectations for the
56Vulkan application.
57
58=== Version History
59
60  * Revision 2, 2021-09-23 (John Rosasco)
61    - Review passes
62  * Revision 1, 2021-03-09 (John Rosasco)
63    - Initial revision
64