mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-02-10 13:26:32 +00:00
Change log for March 31, 2017 Vulkan 1.0.46 spec update:
* Bump API patch number and header version number to 46 for this update. Github Issues: * Add language to the <<fundamentals-validusage-enums, Valid Usage for Enumerated Types>> section allowing values to be returned from Vulkan that are not present in extensions explicitly enabled by the application, similar to existing language for bit flags in the <<fundamentals-validusage-flags, Valid Usage for Flags>> section (public issue 442). * *Important*: run `gem update --pre asciidoctor-pdf` before trying to build this version of the spec - 1.5.0.alpha15 is required for this change. Removes the monkey patch currently used to draw valid usage blocks across multiple pages which had numerous issues. A fixed version was incorporated into Asciidoctor-PDF for the latest release, so the monkey patch or any variant thereof is no longer required (public issue 465). Internal Issues: * Add ename:VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT to `VK_EXT_debug_report` extension * Fix ptext:pNext member of slink:VkPhysicalDeviceDiscardRectanglePropertiesEXT to be a non-const pointer. Properties structures return values, so the chain should be non-const. * Explicitly remove gl_NumSamples from the `GL_KHR_vulkan_glsl` extension, against 1.0 (internal issue 612). * Add Valid Usage statements requiring that each structure type valid in a ptext:pNext chain must: not appear more than once in a chain (internal issue 752). * Use ename:VK_USE_PLATFORM_WIN32_KHX in the `VK_KHX_external_memory_win32` extension, rather than etext:_KHR (internal issue 754). New Extensions: * `VK_KHR_incremental_present`
This commit is contained in:
parent
e8cbffbd25
commit
f985a50c1f
@ -8,6 +8,49 @@ public issues.
|
||||
|
||||
-----------------------------------------------------
|
||||
|
||||
Change log for March 31, 2017 Vulkan 1.0.46 spec update:
|
||||
|
||||
* Bump API patch number and header version number to 46 for this update.
|
||||
|
||||
Github Issues:
|
||||
|
||||
* Add language to the <<fundamentals-validusage-enums, Valid Usage for
|
||||
Enumerated Types>> section allowing values to be returned from Vulkan
|
||||
that are not present in extensions explicitly enabled by the
|
||||
application, similar to existing language for bit flags in the
|
||||
<<fundamentals-validusage-flags, Valid Usage for Flags>> section (public
|
||||
issue 442).
|
||||
* *Important*: run `gem update --pre asciidoctor-pdf` before trying to
|
||||
build this version of the spec - 1.5.0.alpha15 is required for this
|
||||
change. Removes the monkey patch currently used to draw valid usage
|
||||
blocks across multiple pages which had numerous issues. A fixed version
|
||||
was incorporated into Asciidoctor-PDF for the latest release, so the
|
||||
monkey patch or any variant thereof is no longer required (public issue
|
||||
465).
|
||||
|
||||
Internal Issues:
|
||||
|
||||
* Add ename:VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT
|
||||
to `VK_EXT_debug_report` extension
|
||||
* Fix ptext:pNext member of
|
||||
slink:VkPhysicalDeviceDiscardRectanglePropertiesEXT to be a non-const
|
||||
pointer. Properties structures return values, so the chain should be
|
||||
non-const.
|
||||
* Explicitly remove gl_NumSamples from the `GL_KHR_vulkan_glsl` extension,
|
||||
against 1.0 (internal issue 612).
|
||||
* Add Valid Usage statements requiring that each structure type valid in a
|
||||
ptext:pNext chain must: not appear more than once in a chain (internal
|
||||
issue 752).
|
||||
* Use ename:VK_USE_PLATFORM_WIN32_KHX in the
|
||||
`VK_KHX_external_memory_win32` extension, rather than etext:_KHR
|
||||
(internal issue 754).
|
||||
|
||||
New Extensions:
|
||||
|
||||
* `VK_KHR_incremental_present`
|
||||
|
||||
-----------------------------------------------------
|
||||
|
||||
Change log for March 24, 2017 Vulkan 1.0.45 spec update:
|
||||
|
||||
* Bump API patch number and header version number to 45 for this update.
|
||||
@ -330,10 +373,10 @@ Other Issues:
|
||||
(ename:VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME).
|
||||
* Add new +VK_EXT_SMPTE_2086_metadata+ extension.
|
||||
* In the <<platformCreateSurface_xlib,Xlib Surface>> section of the
|
||||
+VK_KHR_xlib_surface+ specification, add language warning users that
|
||||
`VK_KHR_xlib_surface` specification, add language warning users that
|
||||
they always need to call code:XinitThreads.
|
||||
* Use the term "presentable image" (rather than "swapchain image")
|
||||
consistently in +VK_KHR_swapchain+ and related extensions, and add a
|
||||
consistently in `VK_KHR_swapchain` and related extensions, and add a
|
||||
glossary term defining it.
|
||||
* Relocate the valid usage for samples of
|
||||
flink:vkGetPhysicalDeviceSparseImageFormatProperties2KHR::pname:pFormatInfo
|
||||
@ -877,7 +920,7 @@ Change log for September 6, 2016 Vulkan 1.0.26 spec update:
|
||||
|
||||
Github Issues:
|
||||
|
||||
* Bring sample code in the +VK_KHR_surface+ and +VK_KHR_swapchain+
|
||||
* Bring sample code in the `VK_KHR_surface` and `VK_KHR_swapchain`
|
||||
extension summary appendices up to date, and note they will be replaced
|
||||
with pointers to the LunarG SDK examples in the future (public issue
|
||||
279).
|
||||
|
@ -33,8 +33,8 @@ Status
|
||||
|
||||
Version
|
||||
|
||||
Last Modified Date: 13-Feb-2017
|
||||
Revision: 36
|
||||
Last Modified Date: 26-Mar-2017
|
||||
Revision: 37
|
||||
|
||||
Number
|
||||
|
||||
@ -67,7 +67,7 @@ Overview
|
||||
* shared and packed block layouts
|
||||
* the already deprecated texturing functions (e.g., texture2D())
|
||||
* compatibility-mode-only features
|
||||
* DepthRangeParameters
|
||||
* gl_DepthRangeParameters and gl_NumSamples
|
||||
* gl_VertexID and gl_InstanceID
|
||||
|
||||
The following features are added:
|
||||
@ -1125,6 +1125,8 @@ Changes to Chapter 7 of the OpenGL Shading Language Specification
|
||||
|
||||
"const int gl_MaxInputAttachments = 1;"
|
||||
|
||||
Remove section 7.4 Built-In Uniform State (there is none in Vulkan).
|
||||
|
||||
Changes to Chapter 8 of the OpenGL Shading Language Specification
|
||||
|
||||
Add the following ES language to desktop versions of the specification:
|
||||
@ -1355,6 +1357,7 @@ Revision History
|
||||
|
||||
Rev. Date Author Changes
|
||||
---- ----------- ------- --------------------------------------------
|
||||
37 26-Mar-2017 JohnK Fix glslang issue #369: remove gl_NumSamples.
|
||||
36 13-Feb-2017 JohnK Fix public bug 428: allow anonymous
|
||||
push_constant blocks.
|
||||
35 07-Feb-2017 JohnK Add 'offset' and 'align' to all versions
|
||||
|
@ -86,7 +86,7 @@ VERBOSE =
|
||||
# $(EXTENSIONS))
|
||||
# ADOCOPTS options for asciidoc->HTML5 output
|
||||
NOTEOPTS = -a editing-notes -a implementation-guide
|
||||
SPECREVISION = 1.0.45
|
||||
SPECREVISION = 1.0.46
|
||||
# Spell out RFC2822 format as not all date commands support -R
|
||||
SPECDATE = $(shell echo `date -u "+%a, %d %b %Y %T %z"`)
|
||||
|
||||
@ -123,11 +123,7 @@ ADOCHTMLEXTS = -r $(CURDIR)/config/katex_replace.rb
|
||||
KATEXDIR = katex
|
||||
ADOCHTMLOPTS = $(ADOCHTMLEXTS) -a katexpath=$(KATEXDIR)
|
||||
|
||||
# The monkey patch for asciidoctor-pdf fixes issue #259
|
||||
# (https://github.com/asciidoctor/asciidoctor-pdf/issues/259).
|
||||
# I've submitted a pull request to fix it, once it goes into a gem release, we'll remove this.
|
||||
ADOCPDFEXTS = -r asciidoctor-pdf -r asciidoctor-mathematical \
|
||||
-r $(CURDIR)/config/asciidoctor-pdf-monkeypatch.rb --trace
|
||||
ADOCPDFEXTS = -r asciidoctor-pdf -r asciidoctor-mathematical
|
||||
ADOCPDFOPTS = $(ADOCPDFEXTS) -a mathematical-format=svg \
|
||||
-a imagesoutdir=$(PDFMATHDIR)
|
||||
|
||||
|
@ -353,7 +353,7 @@ parts you don't use) completely before trying to install.
|
||||
|
||||
* Asciidoctor (asciidoctor, version: 1.5.5)
|
||||
* Coderay (coderay, version 1.1.1)
|
||||
* Asciidoctor PDF (asciidoctor-pdf, version: 1.5.0.alpha13)
|
||||
* Asciidoctor PDF (asciidoctor-pdf, version: 1.5.0.alpha15)
|
||||
* Asciidoctor Mathematical (asciidoctor-mathematical, version 0.2.2)
|
||||
* https://github.com/asciidoctor/asciidoctor-mathematical#dependencies[Dependencies
|
||||
for asciidoctor-mathematical] (There are a lot of these!)
|
||||
@ -361,7 +361,16 @@ parts you don't use) completely before trying to install.
|
||||
This is cached under `doc/specs/vulkan/katex/`, and need not be
|
||||
installed from github.
|
||||
|
||||
Only the `asciidoctor` and `coderay` gems is needed if you don't intend to
|
||||
.Note
|
||||
[NOTE]
|
||||
====
|
||||
Asciidoctor-pdf versions before `1.5.0.alpha15` have issues with multi-page
|
||||
valid usage blocks, in that the background only renders for the first page.
|
||||
`alpha.15` fixes this issue (as well as a few others); do not use prior
|
||||
versions.
|
||||
====
|
||||
|
||||
Only the `asciidoctor` and `coderay` gems are needed if you don't intend to
|
||||
build PDF versions of the spec and supporting documents.
|
||||
|
||||
[NOTE]
|
||||
|
@ -172,3 +172,6 @@ We should probably add some.
|
||||
* Revision 5, 2017-01-31 (Baldur Karlsson)
|
||||
- Moved definition of ename:VkDebugReportObjectTypeEXT from debug marker
|
||||
chapter
|
||||
|
||||
* Revision 6, 2017-01-31 (Baldur Karlsson)
|
||||
- Added VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT
|
||||
|
115
doc/specs/vulkan/appendices/VK_KHR_incremental_present.txt
Normal file
115
doc/specs/vulkan/appendices/VK_KHR_incremental_present.txt
Normal file
@ -0,0 +1,115 @@
|
||||
// Copyright (c) 2014-2017 The Khronos Group Inc.
|
||||
// Copyright notice at https://www.khronos.org/registry/speccopyright.html
|
||||
|
||||
[[VK_KHR_incremental_present]]
|
||||
== VK_KHR_incremental_present
|
||||
|
||||
*Name String*::
|
||||
+VK_KHR_incremental_present+
|
||||
*Extension Type*::
|
||||
Device extension
|
||||
*Registered Extension Number*::
|
||||
85
|
||||
*Last Modified Date*::
|
||||
2016-11-02
|
||||
*Revision*::
|
||||
1
|
||||
*IP Status*::
|
||||
No known IP claims.
|
||||
*Dependencies*::
|
||||
- This extension is written against version 1.0 of the Vulkan API.
|
||||
- Requires +VK_KHR_swapchain+ (revision 68).
|
||||
*Contributors*::
|
||||
- Ian Elliott, Google
|
||||
- Jesse Hall, Google
|
||||
- Alon Or-bach, Samsung
|
||||
- James Jones, NVIDIA
|
||||
- Daniel Rakos, AMD
|
||||
- Ray Smith, ARM
|
||||
- Mika Isojarvi, Google
|
||||
- Jeff Juliano, NVIDIA
|
||||
- Jeff Bolz, NVIDIA
|
||||
*Contacts*::
|
||||
- Ian Elliott, Google
|
||||
|
||||
This device extension extends slink:vkQueuePresentKHR, from the
|
||||
+VK_KHR_swapchain+ extension, allowing an application to specify a list of
|
||||
rectangular, modified regions of each image to present.
|
||||
This should be used in situations where an application is only changing a
|
||||
small portion of the presentable images within a swapchain, since it enables
|
||||
the presentation engine to avoid wasting time presenting parts of the
|
||||
surface that haven't changed.
|
||||
|
||||
This extension is leveraged from the +EGL_KHR_swap_buffers_with_damage+
|
||||
extension.
|
||||
|
||||
=== New Object Types
|
||||
|
||||
None.
|
||||
|
||||
=== New Enum Constants
|
||||
|
||||
* Extending ename:VkStructureType:
|
||||
** ename:VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR
|
||||
|
||||
=== New Enums
|
||||
|
||||
None.
|
||||
|
||||
=== New Structures
|
||||
|
||||
* slink:VkRectLayerKHR
|
||||
* slink:VkPresentRegionKHR
|
||||
* slink:VkPresentRegionsKHR
|
||||
|
||||
=== New Functions
|
||||
|
||||
None.
|
||||
|
||||
=== Examples
|
||||
|
||||
None.
|
||||
|
||||
=== Issues
|
||||
|
||||
1) How should we handle steroescopic-3D swapchains? We need to add a layer
|
||||
for each rectangle.
|
||||
One approach is to create another struct that contains the slink:VkRect2D
|
||||
plus layer, and have slink:VkPresentRegionsKHR point to an array of that
|
||||
struct.
|
||||
Another approach is to have two parallel arrays, pRectangles and pLayers,
|
||||
where pRectangles[i] and pLayers[i] must be used together.
|
||||
Which approach should we use, and if the array of a new structure, what
|
||||
should that be called?
|
||||
|
||||
*RESOLVED*: Create a new structure, which is a slink:VkRect2D plus a layer,
|
||||
and will be called slink:VkRectLayerKHR.
|
||||
|
||||
2) Where is the origin of the slink:VkRectLayerKHR?
|
||||
|
||||
*RESOLVED*: The upper left corner of the presentable image(s) of the
|
||||
swapchain, per the definition of framebuffer coordinates.
|
||||
|
||||
3) Does the rectangular region, slink:VkRectLayerKHR, specify pixels of the
|
||||
swapchain's image(s), or of the surface?
|
||||
|
||||
*RESOLVED*: Of the image(s).
|
||||
Some presentation engines may scale the pixels of a swapchain's image(s) to
|
||||
the size of the surface.
|
||||
The size of the swapchain's image(s) will be consistent, where the size of
|
||||
the surface may vary over time.
|
||||
|
||||
4) What if all of the rectangles for a given swapchain contain a width
|
||||
and/or height of zero?
|
||||
|
||||
*RESOLVED*: The application is indicating that no pixels changed since the
|
||||
last present.
|
||||
The presentation engine may use such a hint and not update any pixels for
|
||||
the swapchain.
|
||||
However, all other semantics of flink:vkQueuePresentKHR must still be
|
||||
honored, including waiting for semaphores to signal.
|
||||
|
||||
=== Version History
|
||||
|
||||
* Revision 1, 2016-11-02 (Ian Elliott)
|
||||
- Internal revisions
|
@ -82,6 +82,10 @@ ifdef::VK_KHR_get_physical_device_properties2[]
|
||||
include::VK_KHR_get_physical_device_properties2.txt[]
|
||||
endif::VK_KHR_get_physical_device_properties2[]
|
||||
|
||||
ifdef::VK_KHR_incremental_present[]
|
||||
include::VK_KHR_incremental_present.txt[]
|
||||
endif::VK_KHR_incremental_present[]
|
||||
|
||||
ifdef::VK_KHR_maintenance1[]
|
||||
include::VK_KHR_maintenance1.txt[]
|
||||
endif::VK_KHR_maintenance1[]
|
||||
@ -292,7 +296,7 @@ endif::VK_IMG_filter_cubic[]
|
||||
// :leveloffset: 1
|
||||
|
||||
|
||||
// == MoltenVK +MVK+ Vendor Extensions
|
||||
// == MoltenVK `MVK` Vendor Extensions
|
||||
//
|
||||
// :leveloffset: 2
|
||||
|
||||
|
@ -195,6 +195,10 @@ include::../api/enums/VkDebugReportObjectTypeEXT.txt[]
|
||||
sname:VkObjectTableNVX.
|
||||
* ename:VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT is a
|
||||
sname:VkIndirectCommandsLayoutNVX.
|
||||
ifdef::VK_KHR_descriptor_update_template[]
|
||||
* ename:VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT is
|
||||
a sname:VkDescriptorUpdateTemplateKHR.
|
||||
endif::VK_KHR_descriptor_update_template[]
|
||||
|
||||
[NOTE]
|
||||
.Note
|
||||
|
91
doc/specs/vulkan/chapters/VK_KHR_incremental_present/wsi.txt
Normal file
91
doc/specs/vulkan/chapters/VK_KHR_incremental_present/wsi.txt
Normal file
@ -0,0 +1,91 @@
|
||||
// Copyright (c) 2014-2017 The Khronos Group Inc.
|
||||
// Copyright notice at https://www.khronos.org/registry/speccopyright.html
|
||||
|
||||
// refBegin VkPresentRegionsKHR - Structure hint of rectangular regions changed by vkQueuePresentKHR
|
||||
|
||||
When the +VK_KHR_incremental_present+ extension is enabled, additional
|
||||
fields can: be specified that allow an application to specify that only
|
||||
certain rectangular regions of the presentable images of a swapchain are
|
||||
changed.
|
||||
This is an optimization hint that a presentation engine may: use to only
|
||||
update the region of a surface that is actually changing.
|
||||
The application still must: ensure that all pixels of a presented image
|
||||
contain the desired values, in case the presentation engine ignores this
|
||||
hint.
|
||||
An application can: provide this hint by including the
|
||||
sname:VkPresentRegionsKHR structure in the pname:pNext chain of the
|
||||
sname:VkPresentInfoKHR structure.
|
||||
|
||||
The sname:VkPresentRegionsKHR structure is defined as:
|
||||
|
||||
include::../../api/structs/VkPresentRegionsKHR.txt[]
|
||||
|
||||
* pname:sType is the type of this structure.
|
||||
* pname:pNext is `NULL` or a pointer to an extension-specific structure.
|
||||
* pname:swapchainCount is the number of swapchains being presented to by
|
||||
this command.
|
||||
* pname:pRegions is `NULL` or a pointer to an array of
|
||||
sname:VkPresentRegionKHR elements with pname:swapchainCount entries.
|
||||
If not `NULL`, each element of pname:pRegions contains the region that
|
||||
has changed since the last present to the swapchain in the corresponding
|
||||
entry in the sname:VkPresentInfoKHR::pname:pSwapchains array.
|
||||
|
||||
.Valid Usage
|
||||
****
|
||||
* pname:swapchainCount must: be the same value as
|
||||
sname:VkPresentInfoKHR::pname:swapchainCount, where
|
||||
sname:VkPresentInfoKHR is in the pNext-chain of this
|
||||
sname:VkPresentRegionsKHR structure.
|
||||
****
|
||||
|
||||
include::../../validity/structs/VkPresentRegionsKHR.txt[]
|
||||
|
||||
// refBegin VkPresentRegionKHR - Structure containing rectangular region changed by vkQueuePresentKHR for a given VkImage
|
||||
|
||||
For a given image and swapchain, the region to present is specified by the
|
||||
sname:VkPresentRegionKHR structure, which is defined as:
|
||||
|
||||
include::../../api/structs/VkPresentRegionKHR.txt[]
|
||||
|
||||
* pname:rectangleCount is the number of rectangles in pname:pRectangles,
|
||||
or zero if the entire image has changed and should be presented.
|
||||
* pname:pRectangles is either `NULL` or a pointer to an array of
|
||||
sname:VkRectLayerKHR structures.
|
||||
The sname:VkRectLayerKHR structure is the framebuffer coordinates, plus
|
||||
layer, of a portion of a presentable image that has changed and must: be
|
||||
presented.
|
||||
If non-`NULL`, each entry in pname:pRectangles is a rectangle of the
|
||||
given image that has changed since the last image was presented to the
|
||||
given swapchain.
|
||||
|
||||
include::../../validity/structs/VkPresentRegionKHR.txt[]
|
||||
|
||||
// refBegin VkRectLayerKHR - Structure containing a rectangle, including layer, changed by vkQueuePresentKHR for a given VkImage
|
||||
|
||||
The sname:VkRectLayerKHR structure is defined as:
|
||||
|
||||
include::../../api/structs/VkRectLayerKHR.txt[]
|
||||
|
||||
* pname:offset is the origin of the rectangle, in pixels.
|
||||
* pname:extent is the size of the rectangle, in pixels.
|
||||
* pname:layer is the layer of the image.
|
||||
For images with only one layer, the value of pname:layer must: be 0.
|
||||
|
||||
.Valid Usage
|
||||
****
|
||||
* The sum of pname:offset and pname:extent must: be no greater than the
|
||||
pname:imageExtent member of the sname:VkSwapchainCreateInfoKHR structure
|
||||
given to flink:vkCreateSwapchainKHR.
|
||||
* pname:layer must: be less than pname:imageArrayLayers member of the
|
||||
sname:VkSwapchainCreateInfoKHR structure given to
|
||||
flink:vkCreateSwapchainKHR.
|
||||
****
|
||||
|
||||
include::../../validity/structs/VkRectLayerKHR.txt[]
|
||||
|
||||
Some platforms allow the size of a surface to change, and then scale the
|
||||
pixels of the image to fit the surface.
|
||||
VkRectLayerKHR specifies pixels of the swapchain's image(s), which will be
|
||||
constant for the life of the swapchain.
|
||||
|
||||
// refEnd VkRectLayerKHR
|
@ -614,7 +614,8 @@ E & =
|
||||
+++++++++++++++++++
|
||||
|
||||
latexmath:[\alpha = 1.099 \text{ and } \beta = 0.018 \text{ for 10-bits and
|
||||
less per sample system (the values given in Rec. 709)}] +
|
||||
less per sample system (the values given in Rec.
|
||||
709)}] +
|
||||
latexmath:[\alpha = 1.0993 \text{ and } \beta = 0.0181 \text{ for 12-bits
|
||||
per sample system}]
|
||||
|
||||
|
@ -842,6 +842,10 @@ include::../../api/structs/VkPresentInfoKHR.txt[]
|
||||
|
||||
include::../../validity/structs/VkPresentInfoKHR.txt[]
|
||||
|
||||
ifdef::VK_KHR_incremental_present[]
|
||||
include::../VK_KHR_incremental_present/wsi.txt[]
|
||||
endif::VK_KHR_incremental_present[]
|
||||
|
||||
ifdef::VK_KHR_display_swapchain[]
|
||||
include::../VK_KHR_display_swapchain/display_swapchain_present.txt[]
|
||||
endif::VK_KHR_display_swapchain[]
|
||||
|
@ -717,6 +717,20 @@ A enumerant is valid if:
|
||||
enumerated type, which are suffixed with etext:_BEGIN_RANGE,
|
||||
etext:_END_RANGE, etext:_RANGE_SIZE or etext:_MAX_ENUM.
|
||||
|
||||
Any enumerated type returned from a query command or otherwise output from
|
||||
Vulkan to the application must: not have a reserved value.
|
||||
Reserved values are values not defined by any extension for that enumerated
|
||||
type.
|
||||
|
||||
[NOTE]
|
||||
.Note
|
||||
====
|
||||
This language is intended to accomodate cases such as "`hidden`" extensions
|
||||
known only to driver internals, or layers enabling extensions without
|
||||
knowledge of the application, without allowing return of values not defined
|
||||
by any extension.
|
||||
====
|
||||
|
||||
|
||||
[[fundamentals-validusage-flags]]
|
||||
==== Valid Usage for Flags
|
||||
@ -752,8 +766,9 @@ A bit flag is valid if:
|
||||
For example, in some cases, certain bit flags or combinations of bit
|
||||
flags are mutually exclusive.
|
||||
|
||||
Any etext:Vk*Flags member or parameter used in the API as an output may:
|
||||
contain bit flags undefined in its corresponding etext:FlagBits type.
|
||||
Any etext:Vk*Flags member or parameter returned from a query command or
|
||||
otherwise output from Vulkan to the application may: contain bit flags
|
||||
undefined in its corresponding etext:Vk*FlagBits type.
|
||||
An application cannot: rely on the state of these unspecified bits.
|
||||
|
||||
|
||||
@ -792,6 +807,10 @@ The set of structures connected by ptext:pNext pointers is referred to as a
|
||||
_pname:pNext chain_.
|
||||
If that extension is supported by the implementation, then it must: be
|
||||
enabled.
|
||||
|
||||
Each type of valid structure must: not appear more than once in a
|
||||
ptext:pNext chain.
|
||||
|
||||
Any component of the implementation (the loader, any enabled layers, and
|
||||
drivers) must: skip over, without processing (other than reading the
|
||||
pname:sType and pname:pNext members) any structures in the chain with
|
||||
|
@ -844,19 +844,6 @@ ifdef::VK_KHX_external_memory_win32,VK_KHX_external_memory_fd[]
|
||||
pname:allocationSize and pname:memoryTypeIndex must: match those
|
||||
specified when the memory object being imported was created.
|
||||
endif::VK_KHX_external_memory_win32,VK_KHX_external_memory_fd[]
|
||||
****
|
||||
|
||||
ifdef::editing-notes[]
|
||||
[NOTE]
|
||||
.editing-note
|
||||
====
|
||||
Split Valid Usage block into two parts to work around asciidoctor-pdf
|
||||
problem (internal issue 683).
|
||||
====
|
||||
endif::editing-notes[]
|
||||
|
||||
.Valid Usage
|
||||
****
|
||||
ifdef::VK_KHX_external_memory+VK_KHX_device_group[]
|
||||
* If the parameters define an import operation and the external handle
|
||||
specified was created by the Vulkan API, the device mask specified by
|
||||
|
@ -1328,19 +1328,6 @@ record the commands for the first subpass of that render pass.
|
||||
specified in the pname:framebuffer member of pname:pRenderPassBegin
|
||||
must: have been created with ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT
|
||||
set
|
||||
****
|
||||
|
||||
ifdef::editing-notes[]
|
||||
[NOTE]
|
||||
.editing-note
|
||||
====
|
||||
Split Valid Usage block into two parts to work around asciidoctor-pdf
|
||||
problem (internal issue 683).
|
||||
====
|
||||
endif::editing-notes[]
|
||||
|
||||
.Valid Usage
|
||||
****
|
||||
* If any of the pname:initialLayout or pname:finalLayout member of the
|
||||
sname:VkAttachmentDescription structures or the pname:layout member of
|
||||
the sname:VkAttachmentReference structures specified when creating the
|
||||
|
@ -2639,20 +2639,6 @@ endif::VK_KHX_external_memory[]
|
||||
pname:dstQueueFamilyIndex must: either both be
|
||||
ename:VK_QUEUE_FAMILY_IGNORED, or both be a valid queue family (see
|
||||
<<devsandqueues-queueprops>>)
|
||||
****
|
||||
|
||||
ifdef::editing-notes[]
|
||||
[NOTE]
|
||||
.editing-note
|
||||
====
|
||||
Split Valid Usage block into two parts to work around asciidoctor-pdf
|
||||
problem (internal issue 683).
|
||||
====
|
||||
endif::editing-notes[]
|
||||
|
||||
|
||||
.Valid Usage
|
||||
****
|
||||
* If pname:image was created with a sharing mode of
|
||||
ename:VK_SHARING_MODE_EXCLUSIVE, and pname:srcQueueFamilyIndex and
|
||||
pname:dstQueueFamilyIndex are valid queue families, at least one of them
|
||||
|
@ -1,79 +0,0 @@
|
||||
# Copyright (c) 2016-2017 The Khronos Group Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
module Asciidoctor
|
||||
module Pdf
|
||||
class Converter < ::Prawn::Document
|
||||
def convert_sidebar node
|
||||
add_dest_for_block node if node.id
|
||||
theme_margin :block, :top
|
||||
keep_together do |box_height = nil|
|
||||
start_page_number = page_number
|
||||
start_cursor = cursor
|
||||
# FIXME? Have to draw graphics once before content to get accurate box_height.
|
||||
# This is overwritten by the theme_fill_and_stroke_bounds command, so needs drawing twice
|
||||
pad_box @theme.sidebar_padding do
|
||||
if node.title?
|
||||
theme_font :sidebar_title do
|
||||
# QUESTION should we allow margins of sidebar title to be customized?
|
||||
layout_heading node.title, align: (@theme.sidebar_title_align || @theme.base_align).to_sym, margin_top: 0
|
||||
end
|
||||
end
|
||||
theme_font :sidebar do
|
||||
convert_content_for_block node
|
||||
end
|
||||
end
|
||||
|
||||
if box_height
|
||||
page_spread = (end_page_number = page_number) - start_page_number + 1
|
||||
end_cursor = cursor
|
||||
go_to_page start_page_number
|
||||
move_cursor_to start_cursor
|
||||
page_spread.times do |i|
|
||||
if i == 0
|
||||
y_draw = cursor
|
||||
b_height = page_spread > 1 ? y_draw : (y_draw - end_cursor)
|
||||
else
|
||||
bounds.move_past_bottom
|
||||
y_draw = cursor
|
||||
b_height = page_spread - 1 == i ? (y_draw - end_cursor) : y_draw
|
||||
end
|
||||
bounding_box [0, y_draw], width: bounds.width, height: b_height do
|
||||
theme_fill_and_stroke_bounds :sidebar
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
go_to_page start_page_number
|
||||
move_cursor_to start_cursor
|
||||
pad_box @theme.sidebar_padding do
|
||||
if node.title?
|
||||
theme_font :sidebar_title do
|
||||
# HACK: The "margin_top: 1" makes things work, but I don't know entirely why.
|
||||
# Using the blockquote_padding above instead of sidebar_padding makes the blocks render with the wrong padding.
|
||||
# Using the sidebar_padding it loses the background on subsequent pages unless margin_top is 1 here.
|
||||
# QUESTION should we allow margins of sidebar title to be customized?
|
||||
layout_heading node.title, align: (@theme.sidebar_title_align || @theme.base_align).to_sym, margin_top: 1
|
||||
end
|
||||
end
|
||||
theme_font :sidebar do
|
||||
convert_content_for_block node
|
||||
end
|
||||
end
|
||||
end
|
||||
theme_margin :block, :bottom
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
@ -14,6 +14,7 @@ extensions['VK_GOOGLE_display_timing'] = [ 'VK_KHR_surface', 'VK_KHR_swapchain'
|
||||
extensions['VK_KHR_android_surface'] = [ 'VK_KHR_surface' ]
|
||||
extensions['VK_KHR_display'] = [ 'VK_KHR_surface' ]
|
||||
extensions['VK_KHR_display_swapchain'] = [ 'VK_KHR_display', 'VK_KHR_surface', 'VK_KHR_swapchain' ]
|
||||
extensions['VK_KHR_incremental_present'] = [ 'VK_KHR_surface', 'VK_KHR_swapchain' ]
|
||||
extensions['VK_KHR_mir_surface'] = [ 'VK_KHR_surface' ]
|
||||
extensions['VK_KHR_push_descriptor'] = [ 'VK_KHR_get_physical_device_properties2' ]
|
||||
extensions['VK_KHR_swapchain'] = [ 'VK_KHR_surface' ]
|
||||
@ -40,6 +41,6 @@ extensions['VK_NV_external_memory_win32'] = [ 'VK_NV_external_memory', 'VK_NV_ex
|
||||
extensions['VK_NV_win32_keyed_mutex'] = [ 'VK_NV_external_memory', 'VK_NV_external_memory_capabilities', 'VK_NV_external_memory_win32' ]
|
||||
|
||||
# Define lists of all / KHR / KHX extensions
|
||||
allExts = [ 'VK_AMD_draw_indirect_count', 'VK_AMD_gcn_shader', 'VK_AMD_gpu_shader_half_float', 'VK_AMD_negative_viewport_height', 'VK_AMD_rasterization_order', 'VK_AMD_shader_ballot', 'VK_AMD_shader_explicit_vertex_parameter', 'VK_AMD_shader_trinary_minmax', 'VK_EXT_acquire_xlib_display', 'VK_EXT_debug_marker', 'VK_EXT_debug_report', 'VK_EXT_direct_mode_display', 'VK_EXT_discard_rectangles', 'VK_EXT_display_control', 'VK_EXT_display_surface_counter', 'VK_EXT_hdr_metadata', 'VK_EXT_shader_subgroup_ballot', 'VK_EXT_shader_subgroup_vote', 'VK_EXT_swapchain_colorspace', 'VK_EXT_validation_flags', 'VK_GOOGLE_display_timing', 'VK_IMG_filter_cubic', 'VK_IMG_format_pvrtc', 'VK_KHR_android_surface', 'VK_KHR_descriptor_update_template', 'VK_KHR_display', 'VK_KHR_display_swapchain', 'VK_KHR_get_physical_device_properties2', 'VK_KHR_maintenance1', 'VK_KHR_mir_surface', 'VK_KHR_push_descriptor', 'VK_KHR_sampler_mirror_clamp_to_edge', 'VK_KHR_shader_draw_parameters', 'VK_KHR_surface', 'VK_KHR_swapchain', 'VK_KHR_wayland_surface', 'VK_KHR_win32_surface', 'VK_KHR_xcb_surface', 'VK_KHR_xlib_surface', 'VK_KHX_device_group', 'VK_KHX_device_group_creation', 'VK_KHX_external_memory', 'VK_KHX_external_memory_capabilities', 'VK_KHX_external_memory_fd', 'VK_KHX_external_memory_win32', 'VK_KHX_external_semaphore', 'VK_KHX_external_semaphore_capabilities', 'VK_KHX_external_semaphore_fd', 'VK_KHX_external_semaphore_win32', 'VK_KHX_multiview', 'VK_KHX_win32_keyed_mutex', 'VK_MVK_ios_surface', 'VK_MVK_macos_surface', 'VK_NN_vi_surface', 'VK_NVX_device_generated_commands', 'VK_NVX_multiview_per_view_attributes', 'VK_NV_clip_space_w_scaling', 'VK_NV_dedicated_allocation', 'VK_NV_external_memory', 'VK_NV_external_memory_capabilities', 'VK_NV_external_memory_win32', 'VK_NV_geometry_shader_passthrough', 'VK_NV_glsl_shader', 'VK_NV_sample_mask_override_coverage', 'VK_NV_viewport_array2', 'VK_NV_viewport_swizzle', 'VK_NV_win32_keyed_mutex' ]
|
||||
khrExts = [ 'VK_KHR_android_surface', 'VK_KHR_descriptor_update_template', 'VK_KHR_display', 'VK_KHR_display_swapchain', 'VK_KHR_get_physical_device_properties2', 'VK_KHR_maintenance1', 'VK_KHR_mir_surface', 'VK_KHR_push_descriptor', 'VK_KHR_sampler_mirror_clamp_to_edge', 'VK_KHR_shader_draw_parameters', 'VK_KHR_surface', 'VK_KHR_swapchain', 'VK_KHR_wayland_surface', 'VK_KHR_win32_surface', 'VK_KHR_xcb_surface', 'VK_KHR_xlib_surface' ]
|
||||
allExts = [ 'VK_AMD_draw_indirect_count', 'VK_AMD_gcn_shader', 'VK_AMD_gpu_shader_half_float', 'VK_AMD_negative_viewport_height', 'VK_AMD_rasterization_order', 'VK_AMD_shader_ballot', 'VK_AMD_shader_explicit_vertex_parameter', 'VK_AMD_shader_trinary_minmax', 'VK_EXT_acquire_xlib_display', 'VK_EXT_debug_marker', 'VK_EXT_debug_report', 'VK_EXT_direct_mode_display', 'VK_EXT_discard_rectangles', 'VK_EXT_display_control', 'VK_EXT_display_surface_counter', 'VK_EXT_hdr_metadata', 'VK_EXT_shader_subgroup_ballot', 'VK_EXT_shader_subgroup_vote', 'VK_EXT_swapchain_colorspace', 'VK_EXT_validation_flags', 'VK_GOOGLE_display_timing', 'VK_IMG_filter_cubic', 'VK_IMG_format_pvrtc', 'VK_KHR_android_surface', 'VK_KHR_descriptor_update_template', 'VK_KHR_display', 'VK_KHR_display_swapchain', 'VK_KHR_get_physical_device_properties2', 'VK_KHR_incremental_present', 'VK_KHR_maintenance1', 'VK_KHR_mir_surface', 'VK_KHR_push_descriptor', 'VK_KHR_sampler_mirror_clamp_to_edge', 'VK_KHR_shader_draw_parameters', 'VK_KHR_surface', 'VK_KHR_swapchain', 'VK_KHR_wayland_surface', 'VK_KHR_win32_surface', 'VK_KHR_xcb_surface', 'VK_KHR_xlib_surface', 'VK_KHX_device_group', 'VK_KHX_device_group_creation', 'VK_KHX_external_memory', 'VK_KHX_external_memory_capabilities', 'VK_KHX_external_memory_fd', 'VK_KHX_external_memory_win32', 'VK_KHX_external_semaphore', 'VK_KHX_external_semaphore_capabilities', 'VK_KHX_external_semaphore_fd', 'VK_KHX_external_semaphore_win32', 'VK_KHX_multiview', 'VK_KHX_win32_keyed_mutex', 'VK_MVK_ios_surface', 'VK_MVK_macos_surface', 'VK_NN_vi_surface', 'VK_NVX_device_generated_commands', 'VK_NVX_multiview_per_view_attributes', 'VK_NV_clip_space_w_scaling', 'VK_NV_dedicated_allocation', 'VK_NV_external_memory', 'VK_NV_external_memory_capabilities', 'VK_NV_external_memory_win32', 'VK_NV_geometry_shader_passthrough', 'VK_NV_glsl_shader', 'VK_NV_sample_mask_override_coverage', 'VK_NV_viewport_array2', 'VK_NV_viewport_swizzle', 'VK_NV_win32_keyed_mutex' ]
|
||||
khrExts = [ 'VK_KHR_android_surface', 'VK_KHR_descriptor_update_template', 'VK_KHR_display', 'VK_KHR_display_swapchain', 'VK_KHR_get_physical_device_properties2', 'VK_KHR_incremental_present', 'VK_KHR_maintenance1', 'VK_KHR_mir_surface', 'VK_KHR_push_descriptor', 'VK_KHR_sampler_mirror_clamp_to_edge', 'VK_KHR_shader_draw_parameters', 'VK_KHR_surface', 'VK_KHR_swapchain', 'VK_KHR_wayland_surface', 'VK_KHR_win32_surface', 'VK_KHR_xcb_surface', 'VK_KHR_xlib_surface' ]
|
||||
khxExts = [ 'VK_KHX_device_group', 'VK_KHX_device_group_creation', 'VK_KHX_external_memory', 'VK_KHX_external_memory_capabilities', 'VK_KHX_external_memory_fd', 'VK_KHX_external_memory_win32', 'VK_KHX_external_semaphore', 'VK_KHX_external_semaphore_capabilities', 'VK_KHX_external_semaphore_fd', 'VK_KHX_external_semaphore_win32', 'VK_KHX_multiview', 'VK_KHX_win32_keyed_mutex' ]
|
||||
|
@ -14,6 +14,7 @@ extensions[VK_GOOGLE_display_timing]="VK_KHR_surface VK_KHR_swapchain"
|
||||
extensions[VK_KHR_android_surface]="VK_KHR_surface"
|
||||
extensions[VK_KHR_display]="VK_KHR_surface"
|
||||
extensions[VK_KHR_display_swapchain]="VK_KHR_display VK_KHR_surface VK_KHR_swapchain"
|
||||
extensions[VK_KHR_incremental_present]="VK_KHR_surface VK_KHR_swapchain"
|
||||
extensions[VK_KHR_mir_surface]="VK_KHR_surface"
|
||||
extensions[VK_KHR_push_descriptor]="VK_KHR_get_physical_device_properties2"
|
||||
extensions[VK_KHR_swapchain]="VK_KHR_surface"
|
||||
@ -40,6 +41,6 @@ extensions[VK_NV_external_memory_win32]="VK_NV_external_memory VK_NV_external_me
|
||||
extensions[VK_NV_win32_keyed_mutex]="VK_NV_external_memory VK_NV_external_memory_capabilities VK_NV_external_memory_win32"
|
||||
|
||||
# Define lists of all / KHR / KHX extensions
|
||||
allExts="VK_AMD_draw_indirect_count VK_AMD_gcn_shader VK_AMD_gpu_shader_half_float VK_AMD_negative_viewport_height VK_AMD_rasterization_order VK_AMD_shader_ballot VK_AMD_shader_explicit_vertex_parameter VK_AMD_shader_trinary_minmax VK_EXT_acquire_xlib_display VK_EXT_debug_marker VK_EXT_debug_report VK_EXT_direct_mode_display VK_EXT_discard_rectangles VK_EXT_display_control VK_EXT_display_surface_counter VK_EXT_hdr_metadata VK_EXT_shader_subgroup_ballot VK_EXT_shader_subgroup_vote VK_EXT_swapchain_colorspace VK_EXT_validation_flags VK_GOOGLE_display_timing VK_IMG_filter_cubic VK_IMG_format_pvrtc VK_KHR_android_surface VK_KHR_descriptor_update_template VK_KHR_display VK_KHR_display_swapchain VK_KHR_get_physical_device_properties2 VK_KHR_maintenance1 VK_KHR_mir_surface VK_KHR_push_descriptor VK_KHR_sampler_mirror_clamp_to_edge VK_KHR_shader_draw_parameters VK_KHR_surface VK_KHR_swapchain VK_KHR_wayland_surface VK_KHR_win32_surface VK_KHR_xcb_surface VK_KHR_xlib_surface VK_KHX_device_group VK_KHX_device_group_creation VK_KHX_external_memory VK_KHX_external_memory_capabilities VK_KHX_external_memory_fd VK_KHX_external_memory_win32 VK_KHX_external_semaphore VK_KHX_external_semaphore_capabilities VK_KHX_external_semaphore_fd VK_KHX_external_semaphore_win32 VK_KHX_multiview VK_KHX_win32_keyed_mutex VK_MVK_ios_surface VK_MVK_macos_surface VK_NN_vi_surface VK_NVX_device_generated_commands VK_NVX_multiview_per_view_attributes VK_NV_clip_space_w_scaling VK_NV_dedicated_allocation VK_NV_external_memory VK_NV_external_memory_capabilities VK_NV_external_memory_win32 VK_NV_geometry_shader_passthrough VK_NV_glsl_shader VK_NV_sample_mask_override_coverage VK_NV_viewport_array2 VK_NV_viewport_swizzle VK_NV_win32_keyed_mutex"
|
||||
khrExts="VK_KHR_android_surface VK_KHR_descriptor_update_template VK_KHR_display VK_KHR_display_swapchain VK_KHR_get_physical_device_properties2 VK_KHR_maintenance1 VK_KHR_mir_surface VK_KHR_push_descriptor VK_KHR_sampler_mirror_clamp_to_edge VK_KHR_shader_draw_parameters VK_KHR_surface VK_KHR_swapchain VK_KHR_wayland_surface VK_KHR_win32_surface VK_KHR_xcb_surface VK_KHR_xlib_surface"
|
||||
allExts="VK_AMD_draw_indirect_count VK_AMD_gcn_shader VK_AMD_gpu_shader_half_float VK_AMD_negative_viewport_height VK_AMD_rasterization_order VK_AMD_shader_ballot VK_AMD_shader_explicit_vertex_parameter VK_AMD_shader_trinary_minmax VK_EXT_acquire_xlib_display VK_EXT_debug_marker VK_EXT_debug_report VK_EXT_direct_mode_display VK_EXT_discard_rectangles VK_EXT_display_control VK_EXT_display_surface_counter VK_EXT_hdr_metadata VK_EXT_shader_subgroup_ballot VK_EXT_shader_subgroup_vote VK_EXT_swapchain_colorspace VK_EXT_validation_flags VK_GOOGLE_display_timing VK_IMG_filter_cubic VK_IMG_format_pvrtc VK_KHR_android_surface VK_KHR_descriptor_update_template VK_KHR_display VK_KHR_display_swapchain VK_KHR_get_physical_device_properties2 VK_KHR_incremental_present VK_KHR_maintenance1 VK_KHR_mir_surface VK_KHR_push_descriptor VK_KHR_sampler_mirror_clamp_to_edge VK_KHR_shader_draw_parameters VK_KHR_surface VK_KHR_swapchain VK_KHR_wayland_surface VK_KHR_win32_surface VK_KHR_xcb_surface VK_KHR_xlib_surface VK_KHX_device_group VK_KHX_device_group_creation VK_KHX_external_memory VK_KHX_external_memory_capabilities VK_KHX_external_memory_fd VK_KHX_external_memory_win32 VK_KHX_external_semaphore VK_KHX_external_semaphore_capabilities VK_KHX_external_semaphore_fd VK_KHX_external_semaphore_win32 VK_KHX_multiview VK_KHX_win32_keyed_mutex VK_MVK_ios_surface VK_MVK_macos_surface VK_NN_vi_surface VK_NVX_device_generated_commands VK_NVX_multiview_per_view_attributes VK_NV_clip_space_w_scaling VK_NV_dedicated_allocation VK_NV_external_memory VK_NV_external_memory_capabilities VK_NV_external_memory_win32 VK_NV_geometry_shader_passthrough VK_NV_glsl_shader VK_NV_sample_mask_override_coverage VK_NV_viewport_array2 VK_NV_viewport_swizzle VK_NV_win32_keyed_mutex"
|
||||
khrExts="VK_KHR_android_surface VK_KHR_descriptor_update_template VK_KHR_display VK_KHR_display_swapchain VK_KHR_get_physical_device_properties2 VK_KHR_incremental_present VK_KHR_maintenance1 VK_KHR_mir_surface VK_KHR_push_descriptor VK_KHR_sampler_mirror_clamp_to_edge VK_KHR_shader_draw_parameters VK_KHR_surface VK_KHR_swapchain VK_KHR_wayland_surface VK_KHR_win32_surface VK_KHR_xcb_surface VK_KHR_xlib_surface"
|
||||
khxExts="VK_KHX_device_group VK_KHX_device_group_creation VK_KHX_external_memory VK_KHX_external_memory_capabilities VK_KHX_external_memory_fd VK_KHX_external_memory_win32 VK_KHX_external_semaphore VK_KHX_external_semaphore_capabilities VK_KHX_external_semaphore_fd VK_KHX_external_semaphore_win32 VK_KHX_multiview VK_KHX_win32_keyed_mutex"
|
||||
|
@ -1036,7 +1036,7 @@ void vkGetPhysicalDeviceExternalBufferPropertiesKHX(
|
||||
|
||||
#endif /* VK_KHX_external_memory_capabilities */
|
||||
#ifdef VK_KHX_external_memory_win32
|
||||
#ifdef VK_USE_PLATFORM_WIN32_KHR
|
||||
#ifdef VK_USE_PLATFORM_WIN32_KHX
|
||||
static PFN_vkGetMemoryWin32HandleKHX pfn_vkGetMemoryWin32HandleKHX;
|
||||
VkResult vkGetMemoryWin32HandleKHX(
|
||||
VkDevice device,
|
||||
@ -1067,7 +1067,7 @@ VkResult vkGetMemoryWin32HandlePropertiesKHX(
|
||||
);
|
||||
}
|
||||
|
||||
#endif /* VK_USE_PLATFORM_WIN32_KHR */
|
||||
#endif /* VK_USE_PLATFORM_WIN32_KHX */
|
||||
#endif /* VK_KHX_external_memory_win32 */
|
||||
#ifdef VK_KHX_external_memory_fd
|
||||
static PFN_vkGetMemoryFdKHX pfn_vkGetMemoryFdKHX;
|
||||
@ -1677,7 +1677,7 @@ void vkExtInitInstance(VkInstance instance)
|
||||
#ifndef VK_KHX_external_memory_win32
|
||||
pfn_vkGetMemoryWin32HandleKHX = (PFN_vkGetMemoryWin32HandleKHX)vkGetInstanceProcAddr(instance, "vkGetMemoryWin32HandleKHX");
|
||||
pfn_vkGetMemoryWin32HandlePropertiesKHX = (PFN_vkGetMemoryWin32HandlePropertiesKHX)vkGetInstanceProcAddr(instance, "vkGetMemoryWin32HandlePropertiesKHX");
|
||||
#endif /* VK_USE_PLATFORM_WIN32_KHR */
|
||||
#endif /* VK_USE_PLATFORM_WIN32_KHX */
|
||||
#endif /* VK_KHX_external_memory_win32 */
|
||||
#ifdef VK_KHX_external_memory_fd
|
||||
pfn_vkGetMemoryFdKHX = (PFN_vkGetMemoryFdKHX)vkGetInstanceProcAddr(instance, "vkGetMemoryFdKHX");
|
||||
@ -1884,7 +1884,7 @@ void vkExtInitDevice(VkDevice device)
|
||||
#ifndef VK_KHX_external_memory_win32
|
||||
pfn_vkGetMemoryWin32HandleKHX = (PFN_vkGetMemoryWin32HandleKHX)vkGetDeviceProcAddr(device, "vkGetMemoryWin32HandleKHX");
|
||||
pfn_vkGetMemoryWin32HandlePropertiesKHX = (PFN_vkGetMemoryWin32HandlePropertiesKHX)vkGetDeviceProcAddr(device, "vkGetMemoryWin32HandlePropertiesKHX");
|
||||
#endif /* VK_USE_PLATFORM_WIN32_KHR */
|
||||
#endif /* VK_USE_PLATFORM_WIN32_KHX */
|
||||
#endif /* VK_KHX_external_memory_win32 */
|
||||
#ifdef VK_KHX_external_memory_fd
|
||||
pfn_vkGetMemoryFdKHX = (PFN_vkGetMemoryFdKHX)vkGetDeviceProcAddr(device, "vkGetMemoryFdKHX");
|
||||
|
@ -669,7 +669,7 @@ class ValidityOutputGenerator(OutputGenerator):
|
||||
|
||||
validextensionstructs = param.attrib.get('validextensionstructs')
|
||||
extensionstructs = []
|
||||
|
||||
|
||||
if validextensionstructs is not None:
|
||||
# Check each structure name and skip it if not required by the
|
||||
# generator. This allows tagging extension structs in the XML
|
||||
@ -684,7 +684,7 @@ class ValidityOutputGenerator(OutputGenerator):
|
||||
extensionstructs.append('slink:' + struct)
|
||||
else:
|
||||
self.logMsg('diag', 'makeStructureExtensionPointer: struct', struct, 'IS NOT required')
|
||||
|
||||
|
||||
if len(extensionstructs) == 0:
|
||||
asciidoc += self.makeParameterName(paramname.text)
|
||||
asciidoc += ' must: be `NULL`'
|
||||
@ -692,15 +692,18 @@ class ValidityOutputGenerator(OutputGenerator):
|
||||
asciidoc += self.makeParameterName(paramname.text)
|
||||
asciidoc += ' must: be `NULL` or a pointer to a valid instance of '
|
||||
asciidoc += extensionstructs[0]
|
||||
else:
|
||||
else:
|
||||
asciidoc += 'Each '
|
||||
asciidoc += self.makeParameterName(paramname.text)
|
||||
asciidoc += ' member of any structure (including this one) in the pname:pNext chain must: be either `NULL` or a pointer to a valid instance of '
|
||||
|
||||
|
||||
if len(extensionstructs) == 2:
|
||||
asciidoc += extensionstructs[0] + ' or ' + extensionstructs[1]
|
||||
else:
|
||||
asciidoc += (', ').join(extensionstructs[:-1]) + ', or ' + extensionstructs[-1]
|
||||
asciidoc += '\n'
|
||||
|
||||
asciidoc += '* Each pname:sType member in the pname:pNext chain must: be unique'
|
||||
|
||||
asciidoc += '\n'
|
||||
|
||||
@ -722,7 +725,7 @@ class ValidityOutputGenerator(OutputGenerator):
|
||||
|
||||
# Get the type's category
|
||||
typecategory = self.getTypeCategory(paramtype.text)
|
||||
|
||||
|
||||
if param.attrib.get('noautovalidity') is None:
|
||||
# Generate language to independently validate a parameter
|
||||
if paramtype.text == 'VkStructureType' and paramname.text == 'sType':
|
||||
|
151
src/spec/vk.xml
151
src/spec/vk.xml
@ -112,7 +112,7 @@ maintained in the master branch of the Khronos Vulkan GitHub project.
|
||||
<type category="define">// Vulkan 1.0 version number
|
||||
#define <name>VK_API_VERSION_1_0</name> <type>VK_MAKE_VERSION</type>(1, 0, 0)</type> <!-- The patch version here should never be set to anything other than 0 -->
|
||||
<type category="define">// Version of this file
|
||||
#define <name>VK_HEADER_VERSION</name> 45</type>
|
||||
#define <name>VK_HEADER_VERSION</name> 46</type>
|
||||
|
||||
<type category="define">
|
||||
#define <name>VK_DEFINE_HANDLE</name>(object) typedef struct object##_T* object;</type>
|
||||
@ -1564,7 +1564,7 @@ maintained in the master branch of the Khronos Vulkan GitHub project.
|
||||
</type>
|
||||
<type category="struct" name="VkPresentInfoKHR">
|
||||
<member values="VK_STRUCTURE_TYPE_PRESENT_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkDisplayPresentInfoKHR,VkDeviceGroupPresentInfoKHX,VkPresentTimesInfoGOOGLE">const <type>void</type>* <name>pNext</name></member> <!-- Pointer to next structure -->
|
||||
<member validextensionstructs="VkDisplayPresentInfoKHR,VkPresentRegionsKHR,VkDeviceGroupPresentInfoKHX,VkPresentTimesInfoGOOGLE">const <type>void</type>* <name>pNext</name></member> <!-- Pointer to next structure -->
|
||||
<member optional="true"><type>uint32_t</type> <name>waitSemaphoreCount</name></member> <!-- Number of semaphores to wait for before presenting -->
|
||||
<member optional="true" len="waitSemaphoreCount">const <type>VkSemaphore</type>* <name>pWaitSemaphores</name></member> <!-- Semaphores to wait for before presenting -->
|
||||
<member><type>uint32_t</type> <name>swapchainCount</name></member> <!-- Number of swapchains to present in this call -->
|
||||
@ -1580,7 +1580,7 @@ maintained in the master branch of the Khronos Vulkan GitHub project.
|
||||
<member optional="true"><type>void</type>* <name>pUserData</name></member> <!-- User data provided to callback function -->
|
||||
</type>
|
||||
<type category="struct" name="VkValidationFlagsEXT">
|
||||
<member><type>VkStructureType</type> <name>sType</name></member> <!-- Must be VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT -->
|
||||
<member values="VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT"><type>VkStructureType</type> <name>sType</name></member> <!-- Must be VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT -->
|
||||
<member>const <type>void</type>* <name>pNext</name></member> <!-- Pointer to next structure -->
|
||||
<member><type>uint32_t</type> <name>disabledValidationCheckCount</name></member> <!-- Number of validation checks to disable -->
|
||||
<member len="disabledValidationCheckCount"><type>VkValidationCheckEXT</type>* <name>pDisabledValidationChecks</name></member> <!-- Validation checks to disable -->
|
||||
@ -1768,7 +1768,7 @@ maintained in the master branch of the Khronos Vulkan GitHub project.
|
||||
<member><type>VkShaderStageFlags</type> <name>stageFlags</name></member>
|
||||
</type>
|
||||
<type category="struct" name="VkPhysicalDeviceFeatures2KHR">
|
||||
<member><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkPhysicalDeviceMultiviewFeaturesKHX"><type>void</type>* <name>pNext</name></member> <!-- Pointer to next structure -->
|
||||
<member><type>VkPhysicalDeviceFeatures</type> <name>features</name></member>
|
||||
</type>
|
||||
@ -1825,6 +1825,21 @@ maintained in the master branch of the Khronos Vulkan GitHub project.
|
||||
<member><type>void</type>* <name>pNext</name></member> <!-- Pointer to next structure -->
|
||||
<member><type>uint32_t</type> <name>maxPushDescriptors</name></member>
|
||||
</type>
|
||||
<type category="struct" name="VkPresentRegionsKHR">
|
||||
<member values="VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkPresentRegionsKHR,VkDeviceGroupPresentInfoKHX,VkPresentTimesInfoGOOGLE">const <type>void</type>* <name>pNext</name></member> <!-- Pointer to next structure -->
|
||||
<member><type>uint32_t</type> <name>swapchainCount</name></member> <!-- Copy of VkPresentInfoKHR::swapchainCount -->
|
||||
<member len="swapchainCount" optional="true">const <type>VkPresentRegionKHR</type>* <name>pRegions</name></member> <!-- The regions that have changed -->
|
||||
</type>
|
||||
<type category="struct" name="VkPresentRegionKHR">
|
||||
<member optional="true"><type>uint32_t</type> <name>rectangleCount</name></member> <!-- Number of rectangles in pRectangles -->
|
||||
<member optional="true" len="rectangleCount">const <type>VkRectLayerKHR</type>* <name>pRectangles</name></member> <!-- Array of rectangles that have changed in a swapchain's image(s) -->
|
||||
</type>
|
||||
<type category="struct" name="VkRectLayerKHR">
|
||||
<member><type>VkOffset2D</type> <name>offset</name></member> <!-- upper-left corner of a rectangle that has not changed, in pixels of a presentation images -->
|
||||
<member><type>VkExtent2D</type> <name>extent</name></member> <!-- Dimensions of a rectangle that has not changed, in pixels of a presentation images -->
|
||||
<member><type>uint32_t</type> <name>layer</name></member> <!-- Layer of a swapchain's image(s), for stereoscopic-3D images -->
|
||||
</type>
|
||||
<type category="struct" name="VkExternalMemoryPropertiesKHX" returnedonly="true">
|
||||
<member><type>VkExternalMemoryFeatureFlagsKHX</type> <name>externalMemoryFeatures</name></member>
|
||||
<member optional="true"><type>VkExternalMemoryHandleTypeFlagsKHX</type> <name>exportFromImportedHandleTypes</name></member>
|
||||
@ -2222,7 +2237,7 @@ maintained in the master branch of the Khronos Vulkan GitHub project.
|
||||
</type>
|
||||
<type category="struct" name="VkPhysicalDeviceDiscardRectanglePropertiesEXT">
|
||||
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member> <!-- Pointer to next structure -->
|
||||
<member><type>void</type>* <name>pNext</name></member> <!-- Pointer to next structure -->
|
||||
<member><type>uint32_t</type> <name>maxDiscardRectangles</name></member> <!-- max number of active discard rectangles -->
|
||||
</type>
|
||||
<type category="struct" name="VkPipelineDiscardRectangleStateCreateInfoEXT">
|
||||
@ -4520,10 +4535,10 @@ maintained in the master branch of the Khronos Vulkan GitHub project.
|
||||
<param len="descriptorWriteCount">const <type>VkWriteDescriptorSet</type>* <name>pDescriptorWrites</name></param>
|
||||
</command>
|
||||
<command>
|
||||
<proto><type>void</type> <name>vkTrimCommandPoolKHR</name></proto>
|
||||
<param><type>VkDevice</type> <name>device</name></param>
|
||||
<param externsync="true"><type>VkCommandPool</type> <name>commandPool</name></param>
|
||||
<param optional="true"><type>VkCommandPoolTrimFlagsKHR</type> <name>flags</name></param>
|
||||
<proto><type>void</type> <name>vkTrimCommandPoolKHR</name></proto>
|
||||
<param><type>VkDevice</type> <name>device</name></param>
|
||||
<param externsync="true"><type>VkCommandPool</type> <name>commandPool</name></param>
|
||||
<param optional="true"><type>VkCommandPoolTrimFlagsKHR</type> <name>flags</name></param>
|
||||
</command>
|
||||
<command>
|
||||
<proto><type>void</type> <name>vkGetPhysicalDeviceExternalBufferPropertiesKHX</name></proto>
|
||||
@ -4769,11 +4784,11 @@ maintained in the master branch of the Khronos Vulkan GitHub project.
|
||||
<param><type>VkSurfaceKHR</type>* <name>pSurface</name></param>
|
||||
</command>
|
||||
<command queues="graphics" renderpass="both" cmdbufferlevel="primary,secondary">
|
||||
<proto><type>void</type> <name>vkCmdSetViewportWScalingNV</name></proto>
|
||||
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
|
||||
<param><type>uint32_t</type> <name>firstViewport</name></param>
|
||||
<param><type>uint32_t</type> <name>viewportCount</name></param>
|
||||
<param len="viewportCount" noautovalidity="true">const <type>VkViewportWScalingNV</type>* <name>pViewportWScalings</name></param>
|
||||
<proto><type>void</type> <name>vkCmdSetViewportWScalingNV</name></proto>
|
||||
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
|
||||
<param><type>uint32_t</type> <name>firstViewport</name></param>
|
||||
<param><type>uint32_t</type> <name>viewportCount</name></param>
|
||||
<param len="viewportCount" noautovalidity="true">const <type>VkViewportWScalingNV</type>* <name>pViewportWScalings</name></param>
|
||||
</command>
|
||||
<command queues="graphics" renderpass="both" cmdbufferlevel="primary,secondary">
|
||||
<proto><type>void</type> <name>vkCmdSetDiscardRectangleEXT</name></proto>
|
||||
@ -5154,7 +5169,7 @@ maintained in the master branch of the Khronos Vulkan GitHub project.
|
||||
</extension>
|
||||
<extension name="VK_EXT_debug_report" number="12" type="instance" author="GOOGLE" contact="Courtney Goeltzenleuchter @courtney" supported="vulkan">
|
||||
<require>
|
||||
<enum value="5" name="VK_EXT_DEBUG_REPORT_SPEC_VERSION"/>
|
||||
<enum value="6" name="VK_EXT_DEBUG_REPORT_SPEC_VERSION"/>
|
||||
<enum value=""VK_EXT_debug_report"" name="VK_EXT_DEBUG_REPORT_EXTENSION_NAME"/>
|
||||
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT"/>
|
||||
<enum offset="1" dir="-" extends="VkResult" name="VK_ERROR_VALIDATION_FAILED_EXT"/>
|
||||
@ -5709,7 +5724,7 @@ maintained in the master branch of the Khronos Vulkan GitHub project.
|
||||
<type name="VkExportMemoryAllocateInfoKHX"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_KHX_external_memory_win32" number="74" type="device" requires="VK_KHX_external_memory_capabilities,VK_KHX_external_memory" author="KHX" contact="James Jones @cubanismo" protect="VK_USE_PLATFORM_WIN32_KHR" supported="vulkan">
|
||||
<extension name="VK_KHX_external_memory_win32" number="74" type="device" requires="VK_KHX_external_memory_capabilities,VK_KHX_external_memory" author="KHX" contact="James Jones @cubanismo" protect="VK_USE_PLATFORM_WIN32_KHX" supported="vulkan">
|
||||
<require>
|
||||
<enum value="1" name="VK_KHX_EXTERNAL_MEMORY_WIN32_SPEC_VERSION"/>
|
||||
<enum value=""VK_KHX_external_memory_win32"" name="VK_KHX_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME"/>
|
||||
@ -5820,10 +5835,14 @@ maintained in the master branch of the Khronos Vulkan GitHub project.
|
||||
<enum value=""VK_KHR_extension_84"" name="VK_KHR_EXTENSION_84_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_KHR_extension_85" number="85" author="KHR" contact="Ian Elliott @ianelliott" supported="disabled">
|
||||
<extension name="VK_KHR_incremental_present" number="85" type="device" author="KHR" requires="VK_KHR_swapchain" contact="Ian Elliott ianelliott@google.com" supported="vulkan">
|
||||
<require>
|
||||
<enum value="0" name="VK_KHR_EXTENSION_85_SPEC_VERSION"/>
|
||||
<enum value=""VK_KHR_extension_85"" name="VK_KHR_EXTENSION_85_EXTENSION_NAME"/>
|
||||
<enum value="1" name="VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION"/>
|
||||
<enum value=""VK_KHR_incremental_present"" name="VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME"/>
|
||||
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR"/>
|
||||
<type name="VkPresentRegionsKHR"/>
|
||||
<type name="VkPresentRegionKHR"/>
|
||||
<type name="VkRectLayerKHR"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_KHR_descriptor_update_template" number="86" type="device" author="KHR" contact="Markus Tavenrath @mtavenrath" supported="vulkan">
|
||||
@ -5831,10 +5850,12 @@ maintained in the master branch of the Khronos Vulkan GitHub project.
|
||||
<enum value="1" name="VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION"/>
|
||||
<enum value=""VK_KHR_descriptor_update_template"" name="VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME"/>
|
||||
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR"/>
|
||||
<enum offset="0" extends="VkDebugReportObjectTypeEXT" name="VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT"/>
|
||||
<command name="vkCreateDescriptorUpdateTemplateKHR"/>
|
||||
<command name="vkDestroyDescriptorUpdateTemplateKHR"/>
|
||||
<command name="vkUpdateDescriptorSetWithTemplateKHR"/>
|
||||
<command name="vkCmdPushDescriptorSetWithTemplateKHR"/>
|
||||
<type name="VkDescriptorUpdateTemplateKHR"/>
|
||||
<type name="VkDescriptorUpdateTemplateCreateFlagsKHR"/>
|
||||
<type name="VkDescriptorUpdateTemplateTypeKHR"/>
|
||||
<type name="VkDescriptorUpdateTemplateEntryKHR"/>
|
||||
@ -5885,7 +5906,7 @@ maintained in the master branch of the Khronos Vulkan GitHub project.
|
||||
<command name="vkRegisterObjectsNVX"/>
|
||||
<command name="vkUnregisterObjectsNVX"/>
|
||||
<command name="vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX"/>
|
||||
</require>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_NV_clip_space_w_scaling" number="88" type="device" author="NV" contact="Eric Werness @ewerness" supported="vulkan">
|
||||
<require>
|
||||
@ -6234,5 +6255,95 @@ maintained in the master branch of the Khronos Vulkan GitHub project.
|
||||
<enum value=""VK_KHR_extension_132"" name="VK_KHR_EXTENSION_132_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_133" number="133" author="AMD" contact="Mais Alnasser @malnasse" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_133_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_133"" name="VK_AMD_EXTENSION_133_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_134" number="134" author="AMD" contact="Mais Alnasser @malnasse" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_134_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_134"" name="VK_AMD_EXTENSION_134_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_135" number="135" author="AMD" contact="Mais Alnasser @malnasse" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_135_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_135"" name="VK_AMD_EXTENSION_135_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_136" number="136" author="AMD" contact="Mais Alnasser @malnasse" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_136_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_136"" name="VK_AMD_EXTENSION_136_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_137" number="137" author="AMD" contact="Mais Alnasser @malnasse" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_137_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_137"" name="VK_AMD_EXTENSION_137_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_138" number="138" author="AMD" contact="Mais Alnasser @malnasse" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_138_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_138"" name="VK_AMD_EXTENSION_138_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_139" number="139" author="AMD" contact="Mais Alnasser @malnasse" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_139_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_139"" name="VK_AMD_EXTENSION_139_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_140" number="140" author="AMD" contact="Mais Alnasser @malnasse" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_140_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_140"" name="VK_AMD_EXTENSION_140_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_141" number="141" author="AMD" contact="Mais Alnasser @malnasse" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_141_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_141"" name="VK_AMD_EXTENSION_141_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_142" number="142" author="AMD" contact="Mais Alnasser @malnasse" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_142_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_142"" name="VK_AMD_EXTENSION_142_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_143" number="143" author="AMD" contact="Mais Alnasser @malnasse" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_143_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_143"" name="VK_AMD_EXTENSION_143_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_144" number="144" author="AMD" contact="Mais Alnasser @malnasse" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_144_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_144"" name="VK_AMD_EXTENSION_144_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_KHR_relaxed_block_layout" number="145" author="KHR" contact="John Kessenich @johnk" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_KHR_relaxed_block_layout_SPEC_VERSION"/>
|
||||
<enum value=""VK_KHR_relaxed_block_layout"" name="VK_KHR_relaxed_block_layout_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_KHR_extension_146" number="146" author="KHR" contact="Bill Licea-Kane @billl" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_KHR_extension_146_SPEC_VERSION"/>
|
||||
<enum value=""VK_KHR_extension_146"" name="VK_KHR_extension_146_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_KHR_extension_147" number="147" author="KHR" contact="Jason Ekstrand @jekstrand" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_KHR_extension_147_SPEC_VERSION"/>
|
||||
<enum value=""VK_KHR_extension_147"" name="VK_KHR_extension_147_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
</extensions>
|
||||
</registry>
|
||||
|
@ -43,7 +43,7 @@ extern "C" {
|
||||
#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
|
||||
#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
|
||||
// Version of this file
|
||||
#define VK_HEADER_VERSION 45
|
||||
#define VK_HEADER_VERSION 46
|
||||
|
||||
|
||||
#define VK_NULL_HANDLE 0
|
||||
@ -281,6 +281,7 @@ typedef enum VkStructureType {
|
||||
VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHX = 1000078002,
|
||||
VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHX = 1000079000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
|
||||
VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
|
||||
VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = 1000085000,
|
||||
VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX = 1000086000,
|
||||
VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX = 1000086001,
|
||||
@ -4004,6 +4005,30 @@ VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
|
||||
const VkWriteDescriptorSet* pDescriptorWrites);
|
||||
#endif
|
||||
|
||||
#define VK_KHR_incremental_present 1
|
||||
#define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 1
|
||||
#define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
|
||||
|
||||
typedef struct VkRectLayerKHR {
|
||||
VkOffset2D offset;
|
||||
VkExtent2D extent;
|
||||
uint32_t layer;
|
||||
} VkRectLayerKHR;
|
||||
|
||||
typedef struct VkPresentRegionKHR {
|
||||
uint32_t rectangleCount;
|
||||
const VkRectLayerKHR* pRectangles;
|
||||
} VkPresentRegionKHR;
|
||||
|
||||
typedef struct VkPresentRegionsKHR {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
uint32_t swapchainCount;
|
||||
const VkPresentRegionKHR* pRegions;
|
||||
} VkPresentRegionsKHR;
|
||||
|
||||
|
||||
|
||||
#define VK_KHR_descriptor_update_template 1
|
||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplateKHR)
|
||||
|
||||
@ -4079,7 +4104,7 @@ VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
|
||||
#define VK_EXT_debug_report 1
|
||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
|
||||
|
||||
#define VK_EXT_DEBUG_REPORT_SPEC_VERSION 5
|
||||
#define VK_EXT_DEBUG_REPORT_SPEC_VERSION 6
|
||||
#define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
|
||||
#define VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
|
||||
|
||||
@ -4118,6 +4143,7 @@ typedef enum VkDebugReportObjectTypeEXT {
|
||||
VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
|
||||
VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT = 31,
|
||||
VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT = 32,
|
||||
VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = 1000085000,
|
||||
VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,
|
||||
VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT,
|
||||
VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT = (VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT - VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT + 1),
|
||||
@ -4899,7 +4925,7 @@ typedef struct VkExportMemoryAllocateInfoKHX {
|
||||
|
||||
|
||||
|
||||
#ifdef VK_USE_PLATFORM_WIN32_KHR
|
||||
#ifdef VK_USE_PLATFORM_WIN32_KHX
|
||||
#define VK_KHX_external_memory_win32 1
|
||||
#define VK_KHX_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1
|
||||
#define VK_KHX_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_KHX_external_memory_win32"
|
||||
@ -4942,7 +4968,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandlePropertiesKHX(
|
||||
HANDLE handle,
|
||||
VkMemoryWin32HandlePropertiesKHX* pMemoryWin32HandleProperties);
|
||||
#endif
|
||||
#endif /* VK_USE_PLATFORM_WIN32_KHR */
|
||||
#endif /* VK_USE_PLATFORM_WIN32_KHX */
|
||||
|
||||
#define VK_KHX_external_memory_fd 1
|
||||
#define VK_KHX_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
|
||||
@ -5676,7 +5702,7 @@ typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
|
||||
|
||||
typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
void* pNext;
|
||||
uint32_t maxDiscardRectangles;
|
||||
} VkPhysicalDeviceDiscardRectanglePropertiesEXT;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user