Skip to content

Commit 1f87573

Browse files
committed
Change log for March 10, 2016 Vulkan 1.0.6 spec update:
* Bump API patch number and header version number to 6 for this update. Github Issues: * Define 'invocation group' for compute and graphics shaders. Cleanup definition and use of 'workgroup', and add glossary entries (public issue 1). * Various minor editorial fixes (public issue 33). * Clarify locations for block members in the &lt;&lt;interfaces-iointerfaces-locations,Location Assignment>> section (public issue 45). * Editorial fixes for &lt;&lt;commandbuffer-allocation,Command Buffer Allocation>> section (public issues 54, 59). * Clarify behavior of depth test in the &lt;&lt;fragops-depth,Depth Test&gt;&gt; section (public issues 80, 81). * Remove discussion of return codes from flink:vkGetPhysicalDeviceSparseImageFormatProperties and flink:vkGetImageSparseMemoryRequirements, which don't return values (public issue 82). * Allow flink:vkCmdDrawIndirect and flink:vkCmdDrawIndexedIndirect pname:drawCount of 0, as well as 1, when the multiDrawIndirect feature is not supported (public issue 88). * Remove confusing wording in the &lt;&lt;features-limits,Limits>> section describing the slink:VkPhysicalDeviceLimits pname:minTexelBufferOffsetAlignment, pname:minUniformBufferOffsetAlignment, and pname:minStorageBufferOffsetAlignment members as both minimums and maximums (public issue 91). * Clarified that only the RGB components should be affected in places where sRGB is referred to in the spec, such as ASTC formats. Minor re-wording to avoid "color space" when actively incorrect, now that we refer to the Data Format Spec which actually makes a distinction between color space and transfer function (public issue 94). * Treat pname:pPropertyCount == 0 consistently in flink:vkEnumerateInstanceLayerProperties and flink:vkEnumerateDeviceLayerProperties (public issue 99) * Cleanup minor editorial issues in chapters 14-17 (public issue 100). * Clarify definition of flink:vkEnumerateInstanceExtensionProperties and flink:vkEnumerateDeviceExtensionProperties (public issue 101). * Define the flink:vkEnumerateInstanceExtensionProperties and flink:vkEnumerateDeviceExtensionProperties pname:pLayerName parameter to be a pointer to a null-terminated UTF-8 string (public issue 101). * Rearrange "Missing information" references in mandatory format tables (public issue 101). * Clarify that the enumerated extensions returned by flink:vkEnumerateInstanceExtensionProperties and flink:vkEnumerateDeviceExtensionProperties will only include extensions provided by the platform or extensions implemented in implicitly enabled layers (public issue 101). * Miscellaneous editorial fixes. Include the Vulkan spec patch number in the PDF title. Fix label on &lt;&lt;fig-non-strict-lines,Non strict lines>> diagram. Use more easily distinguished symbols in tables in the &lt;&lt;features-required-format-support,Required Format Support>> section. Don't require FQDNs used as layer names be encoded in lower case if not possible, in the &lt;&lt;extensions-naming-conventions, Extension and Layer Naming Conventions>> section (public issues 101, 119, 121). Internal Issues: * Fixed excessive spacing in tables in XHTML (internal issue 18). * Clarify that ename:VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT applies to secondary command buffers. Previously spec only referred to the members of pname:pCommandBuffers being affected by this bit. Added a separate slink:VkSubmitInfo Valid Usage restriction specifying that ename:VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT also applies to any secondary command buffers that are recorded into the primary command buffers in pname:pCommandBuffers (internal issue 106). * Clarify that slink:VkDeviceCreateInfo::pname:pEnabledFeatures can be NULL (internal issue 117). * Remove "the value of" where it is redundant (e.g. speaking of an API parameter, struct member, or SPIR-V variable, but not when speaking of color components) (internal issue 175). * Forced patch version to always be 0 in the header. Add a "VK_API_VERSION_<major>_<minor>" macro for people to use to do the right thing. Add a VK_HEADER_VERSION which captures the header release number independent of the spec patch number (internal issue 176). * Correct description of slink:VkPipelineShaderStageCreateInfo::pname:pName to "a pointer to a null-terminated UTF-8 string" (internal issue #197). Other Commits: * Updated DataFormat spec reference to the new date for revision 5 of that spec. * Fixed KEEP option (to retain LaTeX intermediate files) in the Makefile to be included when edited there, as well as set on the command line. * Reserve and add "VK_IMG_filter_cubic" to the registry, and implement script functionality to add and remove validity from existing functions. Includes schema and readme changes. * Update GL_KHR_vulkan_glsl so push_constants do not have descriptor sets.
1 parent 7380aee commit 1f87573

118 files changed

Lines changed: 1238 additions & 760 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

ChangeLog.txt

Lines changed: 275 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,275 @@
1+
Update Log for the Vulkan-Docs repository on Github. This just
2+
summarizes the periodic public updates, not individual commits to the
3+
tree. For the most part, commits on Github are done as single large
4+
patches at the release point, collecting together the resolution of many
5+
Khronos internal and public issues.
6+
7+
-----------------------------------------------------
8+
9+
February 16, 2016 - Vulkan 1.0 initial public release
10+
11+
-----------------------------------------------------
12+
13+
Change log for February 25, 2015 Vulkan 1.0.4 spec update:
14+
* Bump API patch number from 3 to 4 for the first public update to the
15+
spec. Add patch number to the spec title (this will be done
16+
automatically from XML, later).
17+
* Fixes for numerous editorial issues. Regularize descriptions of
18+
variable-length array queries. Properly tag enumerants so they come
19+
out in the right font (many were mislabeled in usage tags in vk.xml,
20+
or not tagged). Spelling and markup corrections (public issue 4).
21+
* Fix typos and clearly separate description of different types of
22+
memory areas (public issue 5).
23+
* Use standards-compliant preprocessor guard symbols on headers
24+
(public issue 7).
25+
* Note that Github users can't currently set labels on issues, and
26+
recommend a fallback approach (public issue 15).
27+
* Use latexmath prefix on len= attributes (public issue 29).
28+
* Make flink:vkCmdUpdateBuffer pname:dataSize limit consistent (public
29+
issue 65).
30+
* Add VK_KHR_mirror_clamp_to_edge extension to core API branch, as an
31+
optional feature not introducing new commands or enums (internal
32+
issue 104).
33+
* Cleanup invariance language inherited from the GL specification to
34+
not refer to nonexistent (GL-specific) state (internal issue 111).
35+
* Modify the flink:vkCmdDrawIndexed pname:vertexOffset definition to
36+
not be the "base offset within the index buffer" but rather the
37+
"value added to the vertex index before indexing into the vertex
38+
buffer" (internal issue 118).
39+
* Fix drawing chapter in the "Programmable Primitive Shading" section
40+
where it described categories of drawing commands. It referenced
41+
flink:vkCmdDrawIndexed twice. Replace the second reference with
42+
flink:vkCmdDrawIndexedIndirect (internal issue 119).
43+
* Typo fixed in <<sparsememory-examples-advanced,Advanced Sparse
44+
Resources>> sparse memory example (internal issue 122).
45+
* Add flink:VkDisplayPlaneAlphaFlagsKHR to <require> section of
46+
VK_KHR_display extension (internal issue 125)
47+
* Add missing optional="false,true" to
48+
flink:vkGetImageSparseMemoryRequirements
49+
pname:pSparseMemoryRequirementCount parameter (internal issue 132)
50+
* Rename ename:VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT to
51+
ename:VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
52+
(internal issue 133)
53+
* Fix a handful of broken cross-references in the
54+
<<samplers,Samplers>> chapter (internal issue 134).
55+
* Fix "Input Attachement" GLSL example to use correct syntax (internal
56+
issue 135).
57+
* Update XML schema and documentation to accomodate recently added
58+
attributes for validity. Add some introductory material describing
59+
design choices and pointing to the public repository to file issues.
60+
* Put include of validity in the core spec extensions chapter on its
61+
own line, so that asciidoc is happy.
62+
* Fix vertexOffset language to specify that it's the value added to
63+
the vertex index before indexing into the vertex buffer, not the
64+
base offset within the index buffer.
65+
* Fix error in the description of flink:vkCmdNextSubpass.
66+
67+
-----------------------------------------------------
68+
69+
Change log for March 4, 2016 Vulkan 1.0.5 spec update:
70+
* Bump API patch number to 5 for this update.
71+
72+
Github Issues:
73+
* Correctly describe slink:VkPhysicalDeviceProperties pname:deviceName
74+
member as a string, not a pointer to a string. Also one typo fix for
75+
"hetereogeneous" (public issue 4).
76+
* Replace maynot: macro with may: not, and "may: or maynot:" with
77+
"may:" (public issue 4).
78+
* Clarify that redundantly setting the state of a fence or event has
79+
no effect (public issue 4).
80+
* Minor fixes to ref pages to track descriptions of memory bits that
81+
changed in the core spec. Fix name of a member in the description of
82+
sname:sname:VkPipelineMultisampleStateCreateInfo (public issues 8,
83+
13).
84+
* Remove redundant validity statement for
85+
sname:VkGraphicsPipelineCreateInfo::pname:stageCount (public issue
86+
14).
87+
* Fix typos in chapters 7-9 (public issue 14).
88+
* Clarify the example demonstrating the behavior of
89+
code:OpMemoryBarrier in the
90+
&lt;&lt;shaders-execution-memory-ordering,shader memory acces
91+
ordering>> section (public issue 16).
92+
* Specify that freeing mapped memory implicitly unmaps the memory in
93+
the description of flink:vkFreeMemory (public issue 17).
94+
* Forbid allocation callbacks from calling into the API in the
95+
&lt;&lt;memory-allocation,memory allocation>> section (public issue
96+
20).
97+
* Add missing validity rules about size being greater than 0 and
98+
offset being less than size of object. Fix
99+
flink:VkMappedMemoryRange's misinterpretation of offset (public
100+
issues 27, 31).
101+
* Add validity rule disallowing overlapping source/destination
102+
descriptors in flink:VkCopyDescriptorSet (public issue 32).
103+
* Clarify that array and matrix stride has to be a multiple of the
104+
base alignment of the array or matrix in the
105+
&lt;&lt;interfaces-resources-layout,Offset and Stride Assignment>>
106+
section (public issue 38).
107+
* Correct parenthesis floor nesting error in equation for
108+
&lt;&lt;textures-RGB-sexp,RGB to shared exponent conversion>>.
109+
Clarify case of when exp' is forced to 0, avoiding log2(0) undefined
110+
problem (public issue 40).
111+
* Remove redundant statement from the code:FragDepth description in
112+
the &lt;&lt;interfaces-builtin-variables,Built-In Variables>>
113+
section (public issue 47).
114+
* Define the clamping of the
115+
&lt;&lt;textures-level-of-detail-operation,bias added to the scale
116+
factor>> by linking to the slink:VkPhysicalDevice feature
117+
pname:maxSamplerLodBias (public issue 64).
118+
* Fix typo "optimal linear resources" and clarify the set of resources
119+
&lt;&lt;features-limits-bufferImageGranularity,the
120+
pname:bufferImageGranularity resource>> applies to (public issue
121+
67).
122+
* Replace 'descriptor accessed by a pipeline' language for
123+
sname:VkDescriptorSetAllocateInfo with more precise phrasing about
124+
binding a descriptor set before a command that invokes work using
125+
that set (public issue 69).
126+
* tstripadj.svg contained an Inkscape tag which caused Firefox and IE
127+
11 to fail to render it, and was illegal SVG. Generating Plain SVG
128+
from the Inkscape SVG source fixes this (public issue 70).
129+
* Fix validity for sname:VkVertexInputBindingDescription and
130+
sname:VkVertexInputAttributeDescription numbers (public issue 72).
131+
132+
Internal Issues:
133+
* Clarify the meaning of
134+
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in
135+
elink:VkFormatFeatureFlagBits with respect to depth compare
136+
(internal issue 107).
137+
* Added a note explaining that ename:VK_QUEUE_TRANSFER_BIT may or may
138+
not be reported for a queue family that already supports
139+
ename:VK_QUEUE_GRAPHICS_BIT or ename:VK_QUEUE_COMPUTE_BIT as the
140+
former is a strict subset of the latter ones (internal issue 116).
141+
* Add validity language for sname:VkDescriptorSetAllocateInfo about
142+
exceeding the descriptor pool capacity (internal issue 140).
143+
* Add ename:VK_INCOMPLETE success code for
144+
flink:vkEnumeratePhysicalDevices query (internal issue 163).
145+
146+
Other Commits:
147+
* Add the VK_NV_glsl_shader extension definitions to the API.
148+
* Update GL_KHR_vulkan_glsl with 1) origin_upper_left as default 2)
149+
specialization array constant semantics.
150+
* Corrected/updated Data Format Specification date.
151+
152+
-----------------------------------------------------
153+
154+
Change log for March 10, 2016 Vulkan 1.0.6 spec update:
155+
156+
* Bump API patch number and header version number to 6 for this
157+
update.
158+
159+
Github Issues:
160+
161+
* Define 'invocation group' for compute and graphics shaders. Cleanup
162+
definition and use of 'workgroup', and add glossary entries (public
163+
issue 1).
164+
165+
* Various minor editorial fixes (public issue 33).
166+
167+
* Clarify locations for block members in the
168+
&lt;&lt;interfaces-iointerfaces-locations,Location Assignment>>
169+
section (public issue 45).
170+
171+
* Editorial fixes for &lt;&lt;commandbuffer-allocation,Command Buffer
172+
Allocation>> section (public issues 54, 59).
173+
174+
* Clarify behavior of depth test in the &lt;&lt;fragops-depth,Depth
175+
Test&gt;&gt; section (public issues 80, 81).
176+
177+
* Remove discussion of return codes from
178+
flink:vkGetPhysicalDeviceSparseImageFormatProperties and
179+
flink:vkGetImageSparseMemoryRequirements, which don't return values
180+
(public issue 82).
181+
182+
* Allow flink:vkCmdDrawIndirect and flink:vkCmdDrawIndexedIndirect
183+
pname:drawCount of 0, as well as 1, when the multiDrawIndirect
184+
feature is not supported (public issue 88).
185+
186+
* Remove confusing wording in the &lt;&lt;features-limits,Limits>>
187+
section describing the slink:VkPhysicalDeviceLimits
188+
pname:minTexelBufferOffsetAlignment,
189+
pname:minUniformBufferOffsetAlignment, and
190+
pname:minStorageBufferOffsetAlignment members as both minimums and
191+
maximums (public issue 91).
192+
193+
* Clarified that only the RGB components should be affected in places
194+
where sRGB is referred to in the spec, such as ASTC formats. Minor
195+
re-wording to avoid "color space" when actively incorrect, now that
196+
we refer to the Data Format Spec which actually makes a distinction
197+
between color space and transfer function (public issue 94).
198+
199+
* Treat pname:pPropertyCount == 0 consistently in
200+
flink:vkEnumerateInstanceLayerProperties and
201+
flink:vkEnumerateDeviceLayerProperties (public issue 99)
202+
203+
* Cleanup minor editorial issues in chapters 14-17 (public issue 100).
204+
205+
* Clarify definition of flink:vkEnumerateInstanceExtensionProperties
206+
and flink:vkEnumerateDeviceExtensionProperties (public issue 101).
207+
208+
* Define the flink:vkEnumerateInstanceExtensionProperties and
209+
flink:vkEnumerateDeviceExtensionProperties pname:pLayerName
210+
parameter to be a pointer to a null-terminated UTF-8 string (public
211+
issue 101).
212+
213+
* Rearrange "Missing information" references in mandatory format
214+
tables (public issue 101).
215+
216+
* Clarify that the enumerated extensions returned by
217+
flink:vkEnumerateInstanceExtensionProperties and
218+
flink:vkEnumerateDeviceExtensionProperties will only include
219+
extensions provided by the platform or extensions implemented in
220+
implicitly enabled layers (public issue 101).
221+
222+
* Miscellaneous editorial fixes. Include the Vulkan spec patch number
223+
in the PDF title. Fix label on &lt;&lt;fig-non-strict-lines,Non
224+
strict lines>> diagram. Use more easily distinguished symbols in
225+
tables in the &lt;&lt;features-required-format-support,Required
226+
Format Support>> section. Don't require FQDNs used as layer names be
227+
encoded in lower case if not possible, in the
228+
&lt;&lt;extensions-naming-conventions, Extension and Layer Naming
229+
Conventions>> section (public issues 101, 119, 121).
230+
231+
Internal Issues:
232+
233+
* Fixed excessive spacing in tables in XHTML (internal issue 18).
234+
235+
* Clarify that ename:VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT
236+
applies to secondary command buffers. Previously spec only referred
237+
to the members of pname:pCommandBuffers being affected by this bit.
238+
Added a separate slink:VkSubmitInfo Valid Usage restriction
239+
specifying that ename:VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT
240+
also applies to any secondary command buffers that are recorded into
241+
the primary command buffers in pname:pCommandBuffers (internal issue
242+
106).
243+
244+
* Clarify that slink:VkDeviceCreateInfo::pname:pEnabledFeatures can be
245+
NULL (internal issue 117).
246+
247+
* Remove "the value of" where it is redundant (e.g. speaking of an API
248+
parameter, struct member, or SPIR-V variable, but not when speaking
249+
of color components) (internal issue 175).
250+
251+
* Forced patch version to always be 0 in the header. Add a
252+
"VK_API_VERSION_<major>_<minor>" macro for people to use to do the
253+
right thing. Add a VK_HEADER_VERSION which captures the header
254+
release number independent of the spec patch number (internal issue
255+
176).
256+
257+
* Correct description of
258+
slink:VkPipelineShaderStageCreateInfo::pname:pName to "a pointer to
259+
a null-terminated UTF-8 string" (internal issue #197).
260+
261+
Other Commits:
262+
263+
* Updated DataFormat spec reference to the new date for revision 5 of
264+
that spec.
265+
266+
* Fixed KEEP option (to retain LaTeX intermediate files) in the
267+
Makefile to be included when edited there, as well as set on the
268+
command line.
269+
270+
* Reserve and add "VK_IMG_filter_cubic" to the registry, and implement
271+
script functionality to add and remove validity from existing
272+
functions. Includes schema and readme changes.
273+
274+
* Update GL_KHR_vulkan_glsl so push_constants do not have descriptor
275+
sets.

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ Repository Structure
99
--------------------
1010

1111
```
12+
README.md This file
13+
ChangeLog.txt Change log summary
1214
doc/specs/ Main documentation tree
1315
vulkan/ Vulkan specification
1416
appendices/ Appendices - one file each

doc/specs/misc/GL_KHR_vulkan_glsl.txt

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ Status
3333

3434
Version
3535

36-
Last Modified Date: 28-Feb-2016
37-
Revision: 27
36+
Last Modified Date: 7-Mar-2016
37+
Revision: 28
3838

3939
Number
4040

@@ -700,22 +700,22 @@ Changes to Chapter 4 of the OpenGL Shading Language Specification
700700

701701
(Making all stages have the same rule that dvec3 takes two locations...)
702702

703-
Change section 4.4.1.3 "Fragment Shader Inputs" from
703+
Change section 4.4.1.3 "Fragment Shader Inputs" from
704704

705-
"By default, gl_FragCoord assumes a lower-left origin for window
706-
coordinates ... For example, the (x, y) location (0.5, 0.5) is
707-
returned for the lowerleft-most pixel in a window. The origin can be
708-
changed by redeclaring gl_FragCoord with the
709-
origin_upper_left identifier."
705+
"By default, gl_FragCoord assumes a lower-left origin for window
706+
coordinates ... For example, the (x, y) location (0.5, 0.5) is
707+
returned for the lowerleft-most pixel in a window. The origin can be
708+
changed by redeclaring gl_FragCoord with the
709+
origin_upper_left identifier."
710710

711-
To
711+
To
712712

713-
"The gl_FragCoord built-in variable assumes an upper-left origin for
714-
window coordinates ... For example, the (x, y) location (0.5, 0.5) is
715-
returned for the upper-left-most pixel in a window. The origin can be
716-
explicitly set by redeclaring gl_FragCoord with the origin_upper_left
717-
identifier. It is a compile-time error to change it to
718-
origin_lower_left."
713+
"The gl_FragCoord built-in variable assumes an upper-left origin for
714+
window coordinates ... For example, the (x, y) location (0.5, 0.5) is
715+
returned for the upper-left-most pixel in a window. The origin can be
716+
explicitly set by redeclaring gl_FragCoord with the origin_upper_left
717+
identifier. It is a compile-time error to change it to
718+
origin_lower_left."
719719

720720
Add to the end of section 4.4.3 Uniform Variable Layout Qualifiers:
721721

@@ -735,12 +735,14 @@ Changes to Chapter 4 of the OpenGL Shading Language Specification
735735
After the paragraphs about binding ("The binding identifier..."), add
736736

737737
"The /set/ identifier specifies the descriptor set this object belongs to.
738-
It is a compile-time error to apply to just a qualifier or a member of a
739-
block. Any uniform or shader storage block declared without a /set/
740-
identifier is assigned to descriptor set 0. Similarly, any sampler,
741-
texture, or subpass input type declared as a uniform, but without a
742-
/set/ identifier is also assigned to descriptor set 0.
743-
738+
It is a compile-time error to apply /set/ to a standalone qualifier or to
739+
a member of a block. It is a compile-time error to apply /set/ to a block
740+
qualified as a push_constant. By default, any non-push_constant uniform
741+
or shader storage block declared without a /set/ identifier is assigned to
742+
descriptor set 0. Similarly, any sampler, texture, or subpass input type
743+
declared as a uniform, but without a /set/ identifier is also assigned
744+
to descriptor set 0.
745+
744746
"If applied to an object declared as an array, all elements of the array
745747
belong to the specified /set/.
746748

@@ -1152,7 +1154,8 @@ Revision History
11521154

11531155
Rev. Date Author Changes
11541156
---- ----------- ------- --------------------------------------------
1155-
27 28-Feb-2016 JohnK Make the default by origin_upper_left
1157+
28 7-Mar-2016 JohnK Make push_constants not have sets
1158+
27 28-Feb-2016 JohnK Make the default by origin_upper_left
11561159
26 17-Feb-2016 JohnK Expand specialized array semantics
11571160
25 10-Feb-2016 JohnK Incorporate resolutions from the face to face
11581161
24 28-Jan-2016 JohnK Update the resolutions from the face to face

0 commit comments

Comments
 (0)