Change log for June 10, 2019 Vulkan 1.1.111 spec update:
* Update release number to 111. Github Issues: * Clean up flink:vkGetPhysicalDeviceSurfaceFormatsKHR and flink:vkGetPhysicalDeviceSurfaceFormats2KHR to drop the ename:VK_FORMAT_UNDEFINED case, require callers pass a supported surface, and rearrange some validation-related language (public issue 207). * Allow dynamic and nonuniform indexing of acceleration structures in the <<interfaces-resources-descset, Descriptor Set Interface>> section (public KhronosGroup/glslang issue 1766). Internal Issues: * Clarify when images require the use of YCbCr samplers for slink:VkWriteDescriptorSet and slink:VkImageViewCreateInfo (internal issue 1639). * Remove the "`block`" language around <<features-robustBufferAccess, vectorizing and robust buffer access>> (internal issue 1642). * Allow code:OpTypeImageFormat == code:Unknown for input attachments in the <<interfaces-resources-descset, Descriptor Set Interface>> section (internal issue 1645). * Fix asciidoctor conditionals around ename:VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT in the <<fundamentals-errorcodes>> section (internal issue 1679). * Remove error codes from `vk.xml` for flink:vkUninitializePerformanceApiINTEL, which has a `void` return type (internal issue 1704). * Various subgroup-related fixes in the <<spirvenv-capabilities, Capabilities>>, <<shaders-subgroup-arithmetic, Arithmetic Subgroup Operations>>, <<shaders-subgroup-clustered, Clustered Subgroup Operations>>, and <<shaders-subgroup-partitioned, Partitioned Subgroup Operations>> sections (internal merge request 3164). * Fix asciidoctor markup affecting math rendering in the <<Precision of core SPIR-V Instructions>> table (internal merge request 3166). * Fix incorrect reference to flink:vkGetPhysicalDeviceFeatures2KHR in the description of slink:VkPhysicalDeviceASTCDecodeFeaturesEXT (internal merge request 3169). * Fix a non-sentence in the introduction to the <<textures, Image Operations Overview>> section (internal merge request 3184). * Minor markup, grammar, and typo fixes for the `<<NV_shader_sm_builtins>>` extension spec language (internal merge request 3189). * Clarify that 1D and 1D array format support is optional for cubic filters, immediately following the <<formats-mandatory-features-astc, Mandatory ASTC LDR format support>> table (internal merge request 3194).
This commit is contained in:
parent
619084d44a
commit
ad46c7dc68
|
@ -8,6 +8,58 @@ public pull requests that have been accepted.
|
||||||
|
|
||||||
-----------------------------------------------------
|
-----------------------------------------------------
|
||||||
|
|
||||||
|
Change log for June 10, 2019 Vulkan 1.1.111 spec update:
|
||||||
|
|
||||||
|
* Update release number to 111.
|
||||||
|
|
||||||
|
Github Issues:
|
||||||
|
|
||||||
|
* Clean up flink:vkGetPhysicalDeviceSurfaceFormatsKHR and
|
||||||
|
flink:vkGetPhysicalDeviceSurfaceFormats2KHR to drop the
|
||||||
|
ename:VK_FORMAT_UNDEFINED case, require callers pass a supported
|
||||||
|
surface, and rearrange some validation-related language (public issue
|
||||||
|
207).
|
||||||
|
* Allow dynamic and nonuniform indexing of acceleration structures in the
|
||||||
|
<<interfaces-resources-descset, Descriptor Set Interface>> section
|
||||||
|
(public KhronosGroup/glslang issue 1766).
|
||||||
|
|
||||||
|
Internal Issues:
|
||||||
|
|
||||||
|
* Clarify when images require the use of YCbCr samplers for
|
||||||
|
slink:VkWriteDescriptorSet and slink:VkImageViewCreateInfo (internal
|
||||||
|
issue 1639).
|
||||||
|
* Remove the "`block`" language around <<features-robustBufferAccess,
|
||||||
|
vectorizing and robust buffer access>> (internal issue 1642).
|
||||||
|
* Allow code:OpTypeImageFormat == code:Unknown for input attachments in
|
||||||
|
the <<interfaces-resources-descset, Descriptor Set Interface>> section
|
||||||
|
(internal issue 1645).
|
||||||
|
* Fix asciidoctor conditionals around
|
||||||
|
ename:VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT in the
|
||||||
|
<<fundamentals-errorcodes>> section (internal issue 1679).
|
||||||
|
* Remove error codes from `vk.xml` for
|
||||||
|
flink:vkUninitializePerformanceApiINTEL, which has a `void` return type
|
||||||
|
(internal issue 1704).
|
||||||
|
* Various subgroup-related fixes in the <<spirvenv-capabilities,
|
||||||
|
Capabilities>>, <<shaders-subgroup-arithmetic, Arithmetic Subgroup
|
||||||
|
Operations>>, <<shaders-subgroup-clustered, Clustered Subgroup
|
||||||
|
Operations>>, and <<shaders-subgroup-partitioned, Partitioned Subgroup
|
||||||
|
Operations>> sections (internal merge request 3164).
|
||||||
|
* Fix asciidoctor markup affecting math rendering in the <<Precision of
|
||||||
|
core SPIR-V Instructions>> table (internal merge request 3166).
|
||||||
|
* Fix incorrect reference to flink:vkGetPhysicalDeviceFeatures2KHR in the
|
||||||
|
description of slink:VkPhysicalDeviceASTCDecodeFeaturesEXT (internal
|
||||||
|
merge request 3169).
|
||||||
|
* Fix a non-sentence in the introduction to the <<textures, Image
|
||||||
|
Operations Overview>> section (internal merge request 3184).
|
||||||
|
* Minor markup, grammar, and typo fixes for the
|
||||||
|
`<<NV_shader_sm_builtins>>` extension spec language (internal merge
|
||||||
|
request 3189).
|
||||||
|
* Clarify that 1D and 1D array format support is optional for cubic
|
||||||
|
filters, immediately following the <<formats-mandatory-features-astc,
|
||||||
|
Mandatory ASTC LDR format support>> table (internal merge request 3194).
|
||||||
|
|
||||||
|
-----------------------------------------------------
|
||||||
|
|
||||||
Change log for June 2, 2019 Vulkan 1.1.110 spec update:
|
Change log for June 2, 2019 Vulkan 1.1.110 spec update:
|
||||||
|
|
||||||
* Update release number to 110.
|
* Update release number to 110.
|
||||||
|
|
2
Makefile
2
Makefile
|
@ -121,7 +121,7 @@ VERBOSE =
|
||||||
# ADOCOPTS options for asciidoc->HTML5 output
|
# ADOCOPTS options for asciidoc->HTML5 output
|
||||||
|
|
||||||
NOTEOPTS = -a editing-notes -a implementation-guide
|
NOTEOPTS = -a editing-notes -a implementation-guide
|
||||||
PATCHVERSION = 110
|
PATCHVERSION = 111
|
||||||
ifneq (,$(findstring VK_VERSION_1_1,$(VERSIONS)))
|
ifneq (,$(findstring VK_VERSION_1_1,$(VERSIONS)))
|
||||||
SPECREVISION = 1.1.$(PATCHVERSION)
|
SPECREVISION = 1.1.$(PATCHVERSION)
|
||||||
else
|
else
|
||||||
|
|
|
@ -30,5 +30,7 @@ support cubic filtering.
|
||||||
|
|
||||||
=== Version History
|
=== Version History
|
||||||
|
|
||||||
|
* Revision 2, 2019-06-05 (wwlk)
|
||||||
|
- Clarify 1D optional
|
||||||
* Revision 1, 2019-01-24 (wwlk)
|
* Revision 1, 2019-01-24 (wwlk)
|
||||||
- Initial version
|
- Initial version
|
||||||
|
|
|
@ -19,7 +19,7 @@ include::meta/VK_NV_shader_sm_builtins.txt[]
|
||||||
This extension provides the ability to determine device-specific properties
|
This extension provides the ability to determine device-specific properties
|
||||||
on NVIDIA GPUs.
|
on NVIDIA GPUs.
|
||||||
It provides the number of streaming multiprocessors (SMs), the maximum
|
It provides the number of streaming multiprocessors (SMs), the maximum
|
||||||
number warps (subgroups) that can run on an SM, and shader builtins to
|
number of warps (subgroups) that can run on an SM, and shader builtins to
|
||||||
enable invocations to identify which SM and warp a shader invocation is
|
enable invocations to identify which SM and warp a shader invocation is
|
||||||
executing on.
|
executing on.
|
||||||
|
|
||||||
|
|
|
@ -413,6 +413,11 @@ The application can: pass a SPIR-V module to flink:vkCreateShaderModule that
|
||||||
uses the `SPV_NV_viewport_array2` SPIR-V extension.
|
uses the `SPV_NV_viewport_array2` SPIR-V extension.
|
||||||
endif::VK_NV_viewport_array2[]
|
endif::VK_NV_viewport_array2[]
|
||||||
|
|
||||||
|
ifdef::VK_NV_shader_subgroup_partitioned[]
|
||||||
|
The application can: pass a SPIR-V module to flink:vkCreateShaderModule that
|
||||||
|
uses the `SPV_NV_shader_subgroup_partitioned` SPIR-V extension.
|
||||||
|
endif::VK_NV_shader_subgroup_partitioned[]
|
||||||
|
|
||||||
ifdef::VK_EXT_shader_viewport_index_layer[]
|
ifdef::VK_EXT_shader_viewport_index_layer[]
|
||||||
The application can: pass a SPIR-V module to flink:vkCreateShaderModule that
|
The application can: pass a SPIR-V module to flink:vkCreateShaderModule that
|
||||||
uses the `SPV_EXT_shader_viewport_index_layer` SPIR-V extension.
|
uses the `SPV_EXT_shader_viewport_index_layer` SPIR-V extension.
|
||||||
|
@ -1151,7 +1156,7 @@ are required: to be at least as follows:
|
||||||
| code:OpFMul, code:OpVectorTimesScalar, code:OpMatrixTimesScalar
|
| code:OpFMul, code:OpVectorTimesScalar, code:OpMatrixTimesScalar
|
||||||
2+| Correctly rounded.
|
2+| Correctly rounded.
|
||||||
| code:OpDot(x, y)
|
| code:OpDot(x, y)
|
||||||
2+| Inherited from latexmath:[\sum_{i = 0}^{n - 1} x_{i} \times y_{i}].
|
2+a| Inherited from latexmath:[\sum_{i = 0}^{n - 1} x_{i} \times y_{i}].
|
||||||
| code:OpFOrdEqual, code:OpFUnordEqual
|
| code:OpFOrdEqual, code:OpFUnordEqual
|
||||||
2+| Correct result.
|
2+| Correct result.
|
||||||
| code:OpFOrdLessThan, code:OpFUnordLessThan
|
| code:OpFOrdLessThan, code:OpFUnordLessThan
|
||||||
|
@ -1193,10 +1198,10 @@ different sign than the infinitely precise result.
|
||||||
| code:fma()
|
| code:fma()
|
||||||
2+| Inherited from code:OpFMul followed by code:OpFAdd.
|
2+| Inherited from code:OpFMul followed by code:OpFAdd.
|
||||||
| code:exp(x), code:exp2(x)
|
| code:exp(x), code:exp2(x)
|
||||||
| [eq]#3 + 2 {times} {vert}x{vert}# ULP. | [eq]#1 + 2 {times} {vert}x{vert}# ULP.
|
a| latexmath:[3 + 2 \times \vert x \vert] ULP. a| latexmath:[1 + 2 \times \vert x \vert] ULP.
|
||||||
| code:log(), code:log2()
|
| code:log(), code:log2()
|
||||||
| 3 ULP outside the range [eq]#[0.5, 2.0]#. Absolute error < [eq]#2^-21^# inside the range [eq]#[0.5, 2.0]#.
|
a| 3 ULP outside the range latexmath:[[0.5, 2.0\]]. Absolute error < latexmath:[2^{-21}] inside the range latexmath:[[0.5, 2.0\]].
|
||||||
| 3 ULP outside the range [eq]#[0.5, 2.0]#. Absolute error < [eq]#2^-7^# inside the range [eq]#[0.5, 2.0]#.
|
a| 3 ULP outside the range latexmath:[[0.5, 2.0\]]. Absolute error < latexmath:[2^{-7}] inside the range latexmath:[[0.5, 2.0\]].
|
||||||
| code:pow(x, y)
|
| code:pow(x, y)
|
||||||
2+| Inherited from code:exp2(y {times} code:log2(x)).
|
2+| Inherited from code:exp2(y {times} code:log2(x)).
|
||||||
| code:sqrt()
|
| code:sqrt()
|
||||||
|
@ -1204,45 +1209,45 @@ different sign than the infinitely precise result.
|
||||||
| code:inversesqrt()
|
| code:inversesqrt()
|
||||||
2+| 2 ULP.
|
2+| 2 ULP.
|
||||||
| code:radians(x)
|
| code:radians(x)
|
||||||
2+| Inherited from latexmath:[\frac{x \times \pi}{180}].
|
2+a| Inherited from latexmath:[\frac{x \times \pi}{180}].
|
||||||
| code:degrees(x)
|
| code:degrees(x)
|
||||||
2+| Inherited from latexmath:[\frac{x \times 180}{\pi}].
|
2+a| Inherited from latexmath:[\frac{x \times 180}{\pi}].
|
||||||
| code:sin()
|
| code:sin()
|
||||||
| Absolute error latexmath:[\leq 2^{-11}] inside the range latexmath:[[-\pi, \pi\]]. | Absolute error latexmath:[\leq 2^{-7}] inside the range latexmath:[[-\pi, \pi\]].
|
a| Absolute error latexmath:[\leq 2^{-11}] inside the range latexmath:[[-\pi, \pi\]]. a| Absolute error latexmath:[\leq 2^{-7}] inside the range latexmath:[[-\pi, \pi\]].
|
||||||
| code:cos()
|
| code:cos()
|
||||||
| Absolute error latexmath:[\leq 2^{-11}] inside the range latexmath:[[-\pi, \pi\]]. | Absolute error latexmath:[\leq 2^{-7}] inside the range latexmath:[[-\pi, \pi\]].
|
a| Absolute error latexmath:[\leq 2^{-11}] inside the range latexmath:[[-\pi, \pi\]]. a| Absolute error latexmath:[\leq 2^{-7}] inside the range latexmath:[[-\pi, \pi\]].
|
||||||
| code:tan()
|
| code:tan()
|
||||||
2+| Inherited from latexmath:[\frac{sin()}{cos()}].
|
2+a| Inherited from latexmath:[\frac{\sin()}{\cos()}].
|
||||||
| code:asin(x)
|
| code:asin(x)
|
||||||
2+| Inherited from latexmath:[atan2(x, sqrt(1.0 - x^2))].
|
2+a| Inherited from latexmath:[\mathrm{atan2}(x, sqrt(1.0 - x^2))].
|
||||||
| code:acos(x)
|
| code:acos(x)
|
||||||
2+| Inherited from latexmath:[atan2(sqrt(1.0 - x^2), x)].
|
2+a| Inherited from latexmath:[\mathrm{atan2}(sqrt(1.0 - x^2), x)].
|
||||||
| code:atan(), code:atan2()
|
| code:atan(), code:atan2()
|
||||||
| 4096 ULP | 5 ULP.
|
| 4096 ULP | 5 ULP.
|
||||||
| code:sinh(x)
|
| code:sinh(x)
|
||||||
2+| Inherited from latexmath:[(exp(x) - exp(-x)) \times 0.5].
|
2+a| Inherited from latexmath:[(\exp(x) - \exp(-x)) \times 0.5].
|
||||||
| code:cosh(x)
|
| code:cosh(x)
|
||||||
2+| Inherited from latexmath:[(exp(x) + exp(-x)) \times 0.5].
|
2+a| Inherited from latexmath:[(\exp(x) + \exp(-x)) \times 0.5].
|
||||||
| code:tanh()
|
| code:tanh()
|
||||||
2+| Inherited from latexmath:[\frac{sinh()}{cosh()}].
|
2+a| Inherited from latexmath:[\frac{\sinh()}{\cosh()}].
|
||||||
| code:asinh(x)
|
| code:asinh(x)
|
||||||
2+| Inherited from latexmath:[log(x + sqrt(x^2 + 1.0))].
|
2+a| Inherited from latexmath:[\log(x + sqrt(x^2 + 1.0))].
|
||||||
| code:acosh(x)
|
| code:acosh(x)
|
||||||
2+| Inherited from latexmath:[log(x + sqrt(x^2 - 1.0))].
|
2+a| Inherited from latexmath:[\log(x + sqrt(x^2 - 1.0))].
|
||||||
| code:atanh(x)
|
| code:atanh(x)
|
||||||
2+| Inherited from latexmath:[log(\frac{1.0 + x}{1.0 - x}) \times 0.5].
|
2+a| Inherited from latexmath:[\log(\frac{1.0 + x}{1.0 - x}) \times 0.5].
|
||||||
| code:frexp()
|
| code:frexp()
|
||||||
2+| Correctly rounded.
|
2+| Correctly rounded.
|
||||||
| code:ldexp()
|
| code:ldexp()
|
||||||
2+| Correctly rounded.
|
2+| Correctly rounded.
|
||||||
| code:length(x)
|
| code:length(x)
|
||||||
2+| Inherited from latexmath:[sqrt(dot(x, x))].
|
2+a| Inherited from latexmath:[sqrt(dot(x, x))].
|
||||||
| code:distance(x, y)
|
| code:distance(x, y)
|
||||||
2+| Inherited from latexmath:[length(x - y)].
|
2+a| Inherited from latexmath:[length(x - y)].
|
||||||
| code:cross()
|
| code:cross()
|
||||||
2+| Inherited from [eq]#code:OpFSub(code:OpFMul, code:OpFMul)#.
|
2+| Inherited from [eq]#code:OpFSub(code:OpFMul, code:OpFMul)#.
|
||||||
| code:normalize(x)
|
| code:normalize(x)
|
||||||
2+| Inherited from latexmath:[\frac{x}{length(x)}].
|
2+a| Inherited from latexmath:[\frac{x}{length(x)}].
|
||||||
| code:faceforward
|
| code:faceforward
|
||||||
2+| Correctly rounded.
|
2+| Correctly rounded.
|
||||||
| code:reflect(x, y)
|
| code:reflect(x, y)
|
||||||
|
@ -1274,11 +1279,11 @@ different sign than the infinitely precise result.
|
||||||
| code:fclamp
|
| code:fclamp
|
||||||
2+| Correctly rounded.
|
2+| Correctly rounded.
|
||||||
| code:fmix(x, y, a)
|
| code:fmix(x, y, a)
|
||||||
2+| Inherited from [eq]#x {times} (1.0 - a) + y {times} a#.
|
2+a| Inherited from latexmath:[x \times (1.0 - a) + y \times a].
|
||||||
| code:step
|
| code:step
|
||||||
2+| Correctly rounded.
|
2+| Correctly rounded.
|
||||||
| code:smoothStep(edge0, edge1, x)
|
| code:smoothStep(edge0, edge1, x)
|
||||||
2+| Inherited from [eq]#t {times} t {times} (3.0 - 2.0 {times} t)#,
|
2+a| Inherited from latexmath:[t^{2} \times (3.0 - 2.0 \times t)],
|
||||||
where latexmath:[t = clamp(\frac{x - edge0}{edge1 - edge0}, 0.0, 1.0)].
|
where latexmath:[t = clamp(\frac{x - edge0}{edge1 - edge0}, 0.0, 1.0)].
|
||||||
| code:nmin
|
| code:nmin
|
||||||
2+| Correctly rounded.
|
2+| Correctly rounded.
|
||||||
|
|
|
@ -806,7 +806,6 @@ include::{generated}/api/protos/vkGetPhysicalDeviceSurfaceFormatsKHR.txt[]
|
||||||
If pname:pSurfaceFormats is `NULL`, then the number of format pairs
|
If pname:pSurfaceFormats is `NULL`, then the number of format pairs
|
||||||
supported for the given pname:surface is returned in
|
supported for the given pname:surface is returned in
|
||||||
pname:pSurfaceFormatCount.
|
pname:pSurfaceFormatCount.
|
||||||
The number of format pairs supported will be greater than or equal to 1.
|
|
||||||
Otherwise, pname:pSurfaceFormatCount must: point to a variable set by the
|
Otherwise, pname:pSurfaceFormatCount must: point to a variable set by the
|
||||||
user to the number of elements in the pname:pSurfaceFormats array, and on
|
user to the number of elements in the pname:pSurfaceFormats array, and on
|
||||||
return the variable is overwritten with the number of structures actually
|
return the variable is overwritten with the number of structures actually
|
||||||
|
@ -818,6 +817,15 @@ If pname:pSurfaceFormatCount is smaller than the number of format pairs
|
||||||
supported for the given pname:surface, ename:VK_INCOMPLETE will be returned
|
supported for the given pname:surface, ename:VK_INCOMPLETE will be returned
|
||||||
instead of ename:VK_SUCCESS to indicate that not all the available values
|
instead of ename:VK_SUCCESS to indicate that not all the available values
|
||||||
were returned.
|
were returned.
|
||||||
|
The number of format pairs supported must: be greater than or equal to 1.
|
||||||
|
|
||||||
|
.Valid Usage
|
||||||
|
****
|
||||||
|
* [[VUID-vkGetPhysicalDeviceSurfaceFormatsKHR-surface-02739]]
|
||||||
|
pname:surface must be supported by pname:physicalDevice, as reported by
|
||||||
|
flink:vkGetPhysicalDeviceSurfaceSupportKHR or an equivalent
|
||||||
|
platform-specific mechanism.
|
||||||
|
****
|
||||||
|
|
||||||
include::{generated}/validity/protos/vkGetPhysicalDeviceSurfaceFormatsKHR.txt[]
|
include::{generated}/validity/protos/vkGetPhysicalDeviceSurfaceFormatsKHR.txt[]
|
||||||
--
|
--
|
||||||
|
@ -861,7 +869,6 @@ include::{generated}/api/protos/vkGetPhysicalDeviceSurfaceFormats2KHR.txt[]
|
||||||
If pname:pSurfaceFormats is `NULL`, then the number of format tuples
|
If pname:pSurfaceFormats is `NULL`, then the number of format tuples
|
||||||
supported for the given pname:surface is returned in
|
supported for the given pname:surface is returned in
|
||||||
pname:pSurfaceFormatCount.
|
pname:pSurfaceFormatCount.
|
||||||
The number of format tuples supported will be greater than or equal to 1.
|
|
||||||
Otherwise, pname:pSurfaceFormatCount must: point to a variable set by the
|
Otherwise, pname:pSurfaceFormatCount must: point to a variable set by the
|
||||||
user to the number of elements in the pname:pSurfaceFormats array, and on
|
user to the number of elements in the pname:pSurfaceFormats array, and on
|
||||||
return the variable is overwritten with the number of structures actually
|
return the variable is overwritten with the number of structures actually
|
||||||
|
@ -873,6 +880,16 @@ If pname:pSurfaceFormatCount is smaller than the number of format tuples
|
||||||
supported for the surface parameters described in pname:pSurfaceInfo,
|
supported for the surface parameters described in pname:pSurfaceInfo,
|
||||||
ename:VK_INCOMPLETE will be returned instead of ename:VK_SUCCESS to indicate
|
ename:VK_INCOMPLETE will be returned instead of ename:VK_SUCCESS to indicate
|
||||||
that not all the available values were returned.
|
that not all the available values were returned.
|
||||||
|
The number of format tuples supported must: be greater than or equal to 1.
|
||||||
|
|
||||||
|
.Valid Usage
|
||||||
|
****
|
||||||
|
* [[VUID-vkGetPhysicalDeviceSurfaceFormats2KHR-pSurfaceInfo-02740]]
|
||||||
|
pname:pSurfaceInfo::pname:surface must be supported by
|
||||||
|
pname:physicalDevice, as reported by
|
||||||
|
flink:vkGetPhysicalDeviceSurfaceSupportKHR or an equivalent
|
||||||
|
platform-specific mechanism.
|
||||||
|
****
|
||||||
|
|
||||||
include::{generated}/validity/protos/vkGetPhysicalDeviceSurfaceFormats2KHR.txt[]
|
include::{generated}/validity/protos/vkGetPhysicalDeviceSurfaceFormats2KHR.txt[]
|
||||||
--
|
--
|
||||||
|
@ -1044,15 +1061,8 @@ a color renderable format for ename:VK_IMAGE_TILING_OPTIMAL, then
|
||||||
pname:pSurfaceFormats must: also contain an entry with the same value for
|
pname:pSurfaceFormats must: also contain an entry with the same value for
|
||||||
pname:colorSpace and pname:format equal to the corresponding SRGB (or UNORM)
|
pname:colorSpace and pname:format equal to the corresponding SRGB (or UNORM)
|
||||||
format.
|
format.
|
||||||
|
pname:pSurfaceFormats must: not contain an entry whose value for
|
||||||
[NOTE]
|
pname:format is ename:VK_FORMAT_UNDEFINED.
|
||||||
.Note
|
|
||||||
====
|
|
||||||
If pname:pSurfaceFormats includes just one entry, whose value for
|
|
||||||
pname:format is ename:VK_FORMAT_UNDEFINED, pname:surface has no preferred
|
|
||||||
format.
|
|
||||||
In this case, the application can: use any valid elink:VkFormat value.
|
|
||||||
====
|
|
||||||
|
|
||||||
[NOTE]
|
[NOTE]
|
||||||
.Note
|
.Note
|
||||||
|
|
|
@ -2671,13 +2671,15 @@ ifdef::VULKAN_1_1,VK_KHR_sampler_ycbcr_conversion[]
|
||||||
the pname:imageView member of each pname:pImageInfo element must: have
|
the pname:imageView member of each pname:pImageInfo element must: have
|
||||||
been created without a sname:VkSamplerYcbcrConversionInfo structure in
|
been created without a sname:VkSamplerYcbcrConversionInfo structure in
|
||||||
its pname:pNext chain
|
its pname:pNext chain
|
||||||
* [[VUID-VkWriteDescriptorSet-descriptorType-01947]]
|
* [[VUID-VkWriteDescriptorSet-descriptorType-02738]]
|
||||||
If pname:descriptorType is
|
If pname:descriptorType is
|
||||||
ename:VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, and if any element of
|
ename:VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, and if any element of
|
||||||
pname:pImageInfo has a pname:imageView member that was created with a
|
pname:pImageInfo has a pname:imageView member that was created with a
|
||||||
sname:VkSamplerYcbcrConversionInfo structure in its pname:pNext chain,
|
sname:VkSamplerYcbcrConversionInfo structure in its pname:pNext chain,
|
||||||
then pname:dstSet must: have been allocated with a layout that included
|
then pname:dstSet must: have been allocated with a layout that included
|
||||||
immutable samplers for pname:dstBinding
|
immutable samplers for pname:dstBinding, and the corresponding immutable
|
||||||
|
sampler must: have been created with an _identically defined_
|
||||||
|
sname:VkSamplerYcbcrConversionInfo object
|
||||||
* [[VUID-VkWriteDescriptorSet-descriptorType-01948]]
|
* [[VUID-VkWriteDescriptorSet-descriptorType-01948]]
|
||||||
If pname:descriptorType is
|
If pname:descriptorType is
|
||||||
ename:VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, and pname:dstSet was
|
ename:VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, and pname:dstSet was
|
||||||
|
|
|
@ -193,11 +193,10 @@ considered out of bounds even if the members at the end are not statically
|
||||||
used.
|
used.
|
||||||
====
|
====
|
||||||
|
|
||||||
*** If any buffer access in a given SPIR-V block is determined to be out
|
*** If any buffer access is determined to be out of bounds, then any other
|
||||||
of bounds, then any other access of the same type (load, store, or
|
access of the same type (load, store, or atomic) to the same buffer
|
||||||
atomic) in the same SPIR-V block that accesses an address less than 16
|
that accesses an address less than 16 bytes away from the out of
|
||||||
bytes away from the out of bounds address may: also be considered out
|
bounds address may: also be considered out of bounds.
|
||||||
of bounds.
|
|
||||||
** Out-of-bounds buffer loads will return any of the following values:
|
** Out-of-bounds buffer loads will return any of the following values:
|
||||||
*** Values from anywhere within the memory range(s) bound to the buffer
|
*** Values from anywhere within the memory range(s) bound to the buffer
|
||||||
(possibly including bytes of memory past the end of the buffer, up to
|
(possibly including bytes of memory past the end of the buffer, up to
|
||||||
|
@ -1429,7 +1428,7 @@ describe the following features:
|
||||||
ename:VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 internal precision.
|
ename:VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 internal precision.
|
||||||
|
|
||||||
If the sname:VkPhysicalDeviceASTCDecodeFeaturesEXT structure is included in
|
If the sname:VkPhysicalDeviceASTCDecodeFeaturesEXT structure is included in
|
||||||
the pname:pNext chain of flink:vkGetPhysicalDeviceFeatures2KHR, it is filled
|
the pname:pNext chain of slink:VkPhysicalDeviceFeatures2KHR, it is filled
|
||||||
with values indicating whether each feature is supported.
|
with values indicating whether each feature is supported.
|
||||||
sname:VkPhysicalDeviceASTCDecodeFeaturesEXT can: also be used in the
|
sname:VkPhysicalDeviceASTCDecodeFeaturesEXT can: also be used in the
|
||||||
pname:pNext chain of flink:vkCreateDevice to enable features.
|
pname:pNext chain of flink:vkCreateDevice to enable features.
|
||||||
|
@ -2189,7 +2188,7 @@ structure describe the following features:
|
||||||
If the sname:VkPhysicalDeviceShaderSMBuiltinsFeaturesNV structure is
|
If the sname:VkPhysicalDeviceShaderSMBuiltinsFeaturesNV structure is
|
||||||
included in the pname:pNext chain of slink:VkPhysicalDeviceFeatures2, it is
|
included in the pname:pNext chain of slink:VkPhysicalDeviceFeatures2, it is
|
||||||
filled with values indicating whether the feature is supported.
|
filled with values indicating whether the feature is supported.
|
||||||
sname:VkPhysicalDeviceShaderSMBuiltinFeaturesNV can: also be used in the
|
sname:VkPhysicalDeviceShaderSMBuiltinsFeaturesNV can: also be used in the
|
||||||
pname:pNext chain of slink:VkDeviceCreateInfo to enable the feature.
|
pname:pNext chain of slink:VkDeviceCreateInfo to enable the feature.
|
||||||
|
|
||||||
include::{generated}/validity/structs/VkPhysicalDeviceShaderSMBuiltinsFeaturesNV.txt[]
|
include::{generated}/validity/structs/VkPhysicalDeviceShaderSMBuiltinsFeaturesNV.txt[]
|
||||||
|
|
|
@ -2983,8 +2983,6 @@ If cubic filtering is supported,
|
||||||
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT must: be
|
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT must: be
|
||||||
supported for the following image view types:
|
supported for the following image view types:
|
||||||
|
|
||||||
* ename:VK_IMAGE_VIEW_TYPE_1D
|
|
||||||
* ename:VK_IMAGE_VIEW_TYPE_1D_ARRAY
|
|
||||||
* ename:VK_IMAGE_VIEW_TYPE_2D
|
* ename:VK_IMAGE_VIEW_TYPE_2D
|
||||||
* ename:VK_IMAGE_VIEW_TYPE_2D_ARRAY
|
* ename:VK_IMAGE_VIEW_TYPE_2D_ARRAY
|
||||||
|
|
||||||
|
@ -3040,19 +3038,12 @@ for the following additional formats:
|
||||||
* ename:VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK
|
* ename:VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK
|
||||||
* ename:VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK
|
* ename:VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK
|
||||||
|
|
||||||
If cubic filtering is supported for any other uncompressed formats, the
|
If cubic filtering is supported for any other formats, the following image
|
||||||
following image view types must: be supported for those formats:
|
view types must: be supported for those formats:
|
||||||
|
|
||||||
* ename:VK_IMAGE_VIEW_TYPE_1D
|
|
||||||
* ename:VK_IMAGE_VIEW_TYPE_1D_ARRAY
|
|
||||||
* ename:VK_IMAGE_VIEW_TYPE_2D
|
|
||||||
* ename:VK_IMAGE_VIEW_TYPE_2D_ARRAY
|
|
||||||
|
|
||||||
If cubic filtering is supported for any other compressed formats, the
|
|
||||||
following image view types must: be supported for those formats:
|
|
||||||
|
|
||||||
* ename:VK_IMAGE_VIEW_TYPE_2D
|
* ename:VK_IMAGE_VIEW_TYPE_2D
|
||||||
* ename:VK_IMAGE_VIEW_TYPE_2D_ARRAY
|
* ename:VK_IMAGE_VIEW_TYPE_2D_ARRAY
|
||||||
|
|
||||||
endif::VK_IMG_filter_cubic,VK_EXT_filter_cubic[]
|
endif::VK_IMG_filter_cubic,VK_EXT_filter_cubic[]
|
||||||
|
|
||||||
ifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
|
ifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
|
||||||
|
|
|
@ -1173,14 +1173,14 @@ ifdef::VK_EXT_buffer_device_address[]
|
||||||
* ename:VK_ERROR_INVALID_DEVICE_ADDRESS_EXT A buffer creation failed
|
* ename:VK_ERROR_INVALID_DEVICE_ADDRESS_EXT A buffer creation failed
|
||||||
because the requested address is not available.
|
because the requested address is not available.
|
||||||
endif::VK_EXT_buffer_device_address[]
|
endif::VK_EXT_buffer_device_address[]
|
||||||
ifdef::VK_KHR_win32_surface,VK_EXT_full_screen_exclusive[]
|
ifdef::VK_EXT_full_screen_exclusive[]
|
||||||
* ename:VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT An operation on a
|
* ename:VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT An operation on a
|
||||||
swapchain created with
|
swapchain created with
|
||||||
ename:VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT failed as it
|
ename:VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT failed as it
|
||||||
did not have exlusive full-screen access.
|
did not have exlusive full-screen access.
|
||||||
This may: occur due to implementation-dependent reasons, outside of the
|
This may: occur due to implementation-dependent reasons, outside of the
|
||||||
application's control.
|
application's control.
|
||||||
endif::VK_KHR_win32_surface,VK_EXT_full_screen_exclusive[]
|
endif::VK_EXT_full_screen_exclusive[]
|
||||||
|
|
||||||
If a command returns a run time error, unless otherwise specified any output
|
If a command returns a run time error, unless otherwise specified any output
|
||||||
parameters will have undefined: contents, except that if the output
|
parameters will have undefined: contents, except that if the output
|
||||||
|
|
|
@ -537,6 +537,8 @@ following conditions:
|
||||||
pname:shaderStorageImageReadWithoutFormat feature is enabled and the
|
pname:shaderStorageImageReadWithoutFormat feature is enabled and the
|
||||||
shader module declares the code:StorageImageReadWithoutFormat
|
shader module declares the code:StorageImageReadWithoutFormat
|
||||||
capability.
|
capability.
|
||||||
|
* For code:OpImageRead, if code:Dim is code:SubpassData (indicating a read
|
||||||
|
from an input attachment).
|
||||||
|
|
||||||
The code:Image code:Format of an code:OpTypeImage declaration must: not be
|
The code:Image code:Format of an code:OpTypeImage declaration must: not be
|
||||||
*Unknown*, for variables which are used for code:OpAtomic* operations.
|
*Unknown*, for variables which are used for code:OpAtomic* operations.
|
||||||
|
@ -653,6 +655,11 @@ ifdef::VK_EXT_descriptor_indexing[]
|
||||||
** Non-uniform: pname:shaderStorageBufferArrayNonUniformIndexing and
|
** Non-uniform: pname:shaderStorageBufferArrayNonUniformIndexing and
|
||||||
code:StorageBufferArrayNonUniformIndexingEXT
|
code:StorageBufferArrayNonUniformIndexingEXT
|
||||||
endif::VK_EXT_descriptor_indexing[]
|
endif::VK_EXT_descriptor_indexing[]
|
||||||
|
ifdef::VK_NV_ray_tracing[]
|
||||||
|
* Acceleration structures:
|
||||||
|
** No additional capabilities needed.
|
||||||
|
endif::VK_NV_ray_tracing[]
|
||||||
|
|
||||||
|
|
||||||
ifdef::VK_EXT_descriptor_indexing[]
|
ifdef::VK_EXT_descriptor_indexing[]
|
||||||
If an instruction loads from or stores to a resource (including atomics and
|
If an instruction loads from or stores to a resource (including atomics and
|
||||||
|
@ -2581,7 +2588,7 @@ make that variable contain the sub-pixel position of the sample being
|
||||||
shaded.
|
shaded.
|
||||||
The top left of the pixel is considered to be at coordinate [eq]#(0,0)# and
|
The top left of the pixel is considered to be at coordinate [eq]#(0,0)# and
|
||||||
the bottom right of the pixel is considered to be at coordinate [eq]#(1,1)#.
|
the bottom right of the pixel is considered to be at coordinate [eq]#(1,1)#.
|
||||||
|
+
|
||||||
ifdef::VK_EXT_fragment_density_map[]
|
ifdef::VK_EXT_fragment_density_map[]
|
||||||
If the render pass has a fragment density map attachment, the variable will
|
If the render pass has a fragment density map attachment, the variable will
|
||||||
instead contain the sub-fragment position of the sample being shaded.
|
instead contain the sub-fragment position of the sample being shaded.
|
||||||
|
@ -2589,11 +2596,10 @@ The top left of the fragment is considered to be at coordinate [eq]#(0,0)#
|
||||||
and the bottom right of the fragment is considered to be at coordinate
|
and the bottom right of the fragment is considered to be at coordinate
|
||||||
[eq]#(1,1)# for any fragment area.
|
[eq]#(1,1)# for any fragment area.
|
||||||
endif::VK_EXT_fragment_density_map[]
|
endif::VK_EXT_fragment_density_map[]
|
||||||
|
+
|
||||||
If a fragment shader entry point's interface includes an input variable
|
If a fragment shader entry point's interface includes an input variable
|
||||||
decorated with code:SamplePosition, <<primsrast-sampleshading,Sample
|
decorated with code:SamplePosition, <<primsrast-sampleshading,Sample
|
||||||
Shading>> is considered enabled with a pname:minSampleShading value of 1.0.
|
Shading>> is considered enabled with a pname:minSampleShading value of 1.0.
|
||||||
|
|
||||||
+
|
+
|
||||||
The code:SamplePosition decoration must: be used only within fragment
|
The code:SamplePosition decoration must: be used only within fragment
|
||||||
shaders.
|
shaders.
|
||||||
|
|
|
@ -2912,6 +2912,9 @@ defined object_ of type slink:VkSamplerYcbcrConversion to that used to
|
||||||
create the sampler must: be passed to flink:vkCreateImageView in a
|
create the sampler must: be passed to flink:vkCreateImageView in a
|
||||||
slink:VkSamplerYcbcrConversionInfo added to the pname:pNext chain of
|
slink:VkSamplerYcbcrConversionInfo added to the pname:pNext chain of
|
||||||
slink:VkImageViewCreateInfo.
|
slink:VkImageViewCreateInfo.
|
||||||
|
Conversely, if a slink:VkSamplerYcbcrConversion object is passed to
|
||||||
|
flink:vkCreateImageView, an identically defined
|
||||||
|
slink:VkSamplerYcbcrConversion object must: be used when sampling the image.
|
||||||
|
|
||||||
If the image has a
|
If the image has a
|
||||||
<<formats-requiring-sampler-ycbcr-conversion,multi-planar>> pname:format and
|
<<formats-requiring-sampler-ycbcr-conversion,multi-planar>> pname:format and
|
||||||
|
|
|
@ -973,7 +973,7 @@ For reduction operations, each invocation in a subgroup will obtain the same
|
||||||
result of these arithmetic operations applied across the subgroup.
|
result of these arithmetic operations applied across the subgroup.
|
||||||
For scan operations, each invocation in the subgroup will perform an
|
For scan operations, each invocation in the subgroup will perform an
|
||||||
inclusive or exclusive scan, cumulatively applying the operation across the
|
inclusive or exclusive scan, cumulatively applying the operation across the
|
||||||
invocations in a subgroup in linear order.
|
invocations in a subgroup in an implementation-defined order.
|
||||||
The operations supported are add, mul, min, max, and, or, xor.
|
The operations supported are add, mul, min, max, and, or, xor.
|
||||||
|
|
||||||
[[shaders-subgroup-ballot]]
|
[[shaders-subgroup-ballot]]
|
||||||
|
@ -1023,7 +1023,7 @@ ifdef::VK_VERSION_1_1[]
|
||||||
For fragment shaders, if the pname:subgroupSize field of
|
For fragment shaders, if the pname:subgroupSize field of
|
||||||
slink:VkPhysicalDeviceSubgroupProperties is at least 4, each quad
|
slink:VkPhysicalDeviceSubgroupProperties is at least 4, each quad
|
||||||
corresponds to one of the groups of four shader invocations used for
|
corresponds to one of the groups of four shader invocations used for
|
||||||
<<texture-derivatives-compute,derivatives>>.
|
<<texture-derivatives,derivatives>>.
|
||||||
endif::VK_VERSION_1_1[]
|
endif::VK_VERSION_1_1[]
|
||||||
ifdef::VK_NV_compute_shader_derivatives[]
|
ifdef::VK_NV_compute_shader_derivatives[]
|
||||||
For compute shaders using the code:DerivativeGroupQuadsNV or
|
For compute shaders using the code:DerivativeGroupQuadsNV or
|
||||||
|
@ -1039,11 +1039,11 @@ ifdef::VK_NV_shader_subgroup_partitioned[]
|
||||||
[[shaders-subgroup-partitioned]]
|
[[shaders-subgroup-partitioned]]
|
||||||
=== Partitioned Subgroup Operations
|
=== Partitioned Subgroup Operations
|
||||||
|
|
||||||
The partitioned subgroup operations allow invocations to perform an
|
The partitioned subgroup operations allow a subgroup to partition its
|
||||||
operation among partitions of a subgroup, such that the operation is only
|
invocations into disjoint subsets and to perform scan and reduce operations
|
||||||
performed within the subgroup invocations within a partition.
|
among invocations belonging to the same subset.
|
||||||
The partitions for partitioned subgroup operations can: group the
|
The partitions for partitioned subgroup operations are specified by a ballot
|
||||||
invocations into arbitrary subsets and can: be computed at runtime.
|
operation and can: be computed at runtime.
|
||||||
The operations supported are add, mul, min, max, and, or, xor.
|
The operations supported are add, mul, min, max, and, or, xor.
|
||||||
|
|
||||||
endif::VK_NV_shader_subgroup_partitioned[]
|
endif::VK_NV_shader_subgroup_partitioned[]
|
||||||
|
|
|
@ -7,8 +7,8 @@
|
||||||
|
|
||||||
== Image Operations Overview
|
== Image Operations Overview
|
||||||
|
|
||||||
Image Operations are steps performed by SPIR-V image instructions, where
|
Vulkan Image Operations are operations performed by those SPIR-V Image
|
||||||
those instructions which take an code:OpTypeImage (representing a
|
Instructions which take an code:OpTypeImage (representing a
|
||||||
sname:VkImageView) or code:OpTypeSampledImage (representing a
|
sname:VkImageView) or code:OpTypeSampledImage (representing a
|
||||||
(sname:VkImageView, sname:VkSampler) pair) and texel coordinates as
|
(sname:VkImageView, sname:VkSampler) pair) and texel coordinates as
|
||||||
operands, and return a value based on one or more neighboring texture
|
operands, and return a value based on one or more neighboring texture
|
||||||
|
@ -24,7 +24,8 @@ The discrete samples remain essentially equivalent, however, so we retain
|
||||||
the historical term texel to refer to them.
|
the historical term texel to refer to them.
|
||||||
====
|
====
|
||||||
|
|
||||||
SPIR-V Image Instructions include the following functionality:
|
Image Operations include the functionality of the following SPIR-V Image
|
||||||
|
Instructions:
|
||||||
|
|
||||||
* code:OpImageSample* and code:OpImageSparseSample* read one or more
|
* code:OpImageSample* and code:OpImageSparseSample* read one or more
|
||||||
neighboring texels of the image, and <<textures-texel-filtering,filter>>
|
neighboring texels of the image, and <<textures-texel-filtering,filter>>
|
||||||
|
@ -1341,6 +1342,7 @@ The converted value of any integer that cannot be represented in the target
|
||||||
format is undefined:.
|
format is undefined:.
|
||||||
|
|
||||||
|
|
||||||
|
[[texture-derivatives]]
|
||||||
== Derivative Operations
|
== Derivative Operations
|
||||||
|
|
||||||
SPIR-V derivative instructions include code:OpDPdx, code:OpDPdy,
|
SPIR-V derivative instructions include code:OpDPdx, code:OpDPdy,
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
# The value to start tagging VU statements at, unless overridden by -nextvu
|
# The value to start tagging VU statements at, unless overridden by -nextvu
|
||||||
startVUID = 2738
|
startVUID = 2741
|
||||||
|
|
36
xml/vk.xml
36
xml/vk.xml
|
@ -154,7 +154,7 @@ server.
|
||||||
<type category="define">// Vulkan 1.1 version number
|
<type category="define">// Vulkan 1.1 version number
|
||||||
#define <name>VK_API_VERSION_1_1</name> <type>VK_MAKE_VERSION</type>(1, 1, 0)// Patch version should always be set to 0</type>
|
#define <name>VK_API_VERSION_1_1</name> <type>VK_MAKE_VERSION</type>(1, 1, 0)// Patch version should always be set to 0</type>
|
||||||
<type category="define">// Version of this file
|
<type category="define">// Version of this file
|
||||||
#define <name>VK_HEADER_VERSION</name> 110</type>
|
#define <name>VK_HEADER_VERSION</name> 111</type>
|
||||||
|
|
||||||
<type category="define">
|
<type category="define">
|
||||||
#define <name>VK_DEFINE_HANDLE</name>(object) typedef struct object##_T* object;</type>
|
#define <name>VK_DEFINE_HANDLE</name>(object) typedef struct object##_T* object;</type>
|
||||||
|
@ -7473,7 +7473,7 @@ typedef void <name>CAMetalLayer</name>;
|
||||||
<param><type>VkDevice</type> <name>device</name></param>
|
<param><type>VkDevice</type> <name>device</name></param>
|
||||||
<param>const <type>VkInitializePerformanceApiInfoINTEL</type>* <name>pInitializeInfo</name></param>
|
<param>const <type>VkInitializePerformanceApiInfoINTEL</type>* <name>pInitializeInfo</name></param>
|
||||||
</command>
|
</command>
|
||||||
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_TOO_MANY_OBJECTS,VK_ERROR_OUT_OF_HOST_MEMORY">
|
<command>
|
||||||
<proto><type>void</type> <name>vkUninitializePerformanceApiINTEL</name></proto>
|
<proto><type>void</type> <name>vkUninitializePerformanceApiINTEL</name></proto>
|
||||||
<param><type>VkDevice</type> <name>device</name></param>
|
<param><type>VkDevice</type> <name>device</name></param>
|
||||||
</command>
|
</command>
|
||||||
|
@ -8284,7 +8284,7 @@ typedef void <name>CAMetalLayer</name>;
|
||||||
</extension>
|
</extension>
|
||||||
<extension name="VK_IMG_filter_cubic" number="16" type="device" author="IMG" contact="Tobias Hector @tobski" supported="vulkan">
|
<extension name="VK_IMG_filter_cubic" number="16" type="device" author="IMG" contact="Tobias Hector @tobski" supported="vulkan">
|
||||||
<require>
|
<require>
|
||||||
<enum value="1" name="VK_IMG_FILTER_CUBIC_SPEC_VERSION"/>
|
<enum value="2" name="VK_IMG_FILTER_CUBIC_SPEC_VERSION"/>
|
||||||
<enum value=""VK_IMG_filter_cubic"" name="VK_IMG_FILTER_CUBIC_EXTENSION_NAME"/>
|
<enum value=""VK_IMG_filter_cubic"" name="VK_IMG_FILTER_CUBIC_EXTENSION_NAME"/>
|
||||||
<enum offset="0" extends="VkFilter" name="VK_FILTER_CUBIC_IMG"/>
|
<enum offset="0" extends="VkFilter" name="VK_FILTER_CUBIC_IMG"/>
|
||||||
<enum bitpos="13" extends="VkFormatFeatureFlagBits" name="VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG" comment="Format can be filtered with VK_FILTER_CUBIC_IMG when being sampled"/>
|
<enum bitpos="13" extends="VkFormatFeatureFlagBits" name="VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG" comment="Format can be filtered with VK_FILTER_CUBIC_IMG when being sampled"/>
|
||||||
|
@ -11081,5 +11081,35 @@ typedef void <name>CAMetalLayer</name>;
|
||||||
<enum value=""VK_EXT_extension_277"" name="VK_EXT_extension_277"/>
|
<enum value=""VK_EXT_extension_277"" name="VK_EXT_extension_277"/>
|
||||||
</require>
|
</require>
|
||||||
</extension>
|
</extension>
|
||||||
|
<extension name="VK_NV_extension_278" number="278" type="device" author="NV" contact="Christoph Kubisch @pixeljetstream" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="0" name="VK_NV_EXTENSION_278_SPEC_VERSION"/>
|
||||||
|
<enum value=""VK_NV_extension_278"" name="VK_NV_extension_278"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
<extension name="VK_NV_extension_279" number="279" type="device" author="NV" contact="Christoph Kubisch @pixeljetstream" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="0" name="VK_NV_EXTENSION_279_SPEC_VERSION"/>
|
||||||
|
<enum value=""VK_NV_extension_279"" name="VK_NV_extension_279"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
<extension name="VK_KHR_extension_280" number="280" type="device" author="KHR" contact="Kevin Petit @kevinpetit" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="0" name="VK_KHR_EXTENSION_280_SPEC_VERSION"/>
|
||||||
|
<enum value=""VK_KHR_extension_280"" name="VK_KHR_extension_280"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
<extension name="VK_ARM_extension_281" number="281" type="device" author="ARM" contact="Kevin Petit @kevinpetit" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="0" name="VK_ARM_EXTENSION_281_SPEC_VERSION"/>
|
||||||
|
<enum value=""VK_ARM_extension_281"" name="VK_ARM_extension_281"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
<extension name="VK_EXT_extension_282" number="282" type="device" author="EXT" contact="Jeff Bolz @jeffbolznv" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="0" name="VK_EXT_EXTENSION_282_SPEC_VERSION"/>
|
||||||
|
<enum value=""VK_EXT_extension_282"" name="VK_EXT_extension_282"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
</extensions>
|
</extensions>
|
||||||
</registry>
|
</registry>
|
||||||
|
|
Loading…
Reference in New Issue