Skip to content
Permalink
Browse files

Change log for January 13, 2019 Vulkan 1.1.98 spec update:

  * Update release number to 98.

Public Issues:

  * Fix missing markup in flink:vkDestroyPipelineLayout valid usage
    statement (pull request 882).
  * Add missing contributors for `<<VK_EXT_buffer_device_address>>` (public
    pull request 891).

Internal Issues:

  * Detect nested bullet points in valid usage blocks and warn about them
    during VUID assignment (internal issue 1382).
  * Update the style guide to document the process for reserving new bits in
    bitmask types (internal issue 1411).
  * Clarify for slink:VkApplicationInfo::pname:apiVersion and in the
    <<fundamentals-validusage-versions, Valid Usage for Newer Core
    Versions>> section when it is valid for an application to use a certain
    version of Vulkan API functionality (for an instance and for a
    device/physical device); and when the validation layers must generate an
    error (internal issue 1412).
  * Add optional <<memory-model-availability-visibility, transitive
    availability/visibility operations to the memory model, including a new
    pname:vulkanMemoryModelAvailabilityVisibilityChains feature for
    slink:VkPhysicalDeviceVulkanMemoryModelFeaturesKHR (internal issue
    1460).
  * Add the code:StorageBuffer storage class to those in the
    <<interfaces-resources-descset, Descriptor Set Interface>> (internal
    issue 1480).
  * Add missing `returnedonly` tags for a number of returned extension
    structures that can be passed in pname:pNext chains (internal issue
    1515).
  * Clean up and rearrange some spec language for
    slink:VkRenderPassCreateInfo and slink:VkAttachmentReference.txt
    (internal issue 1522).
  * Correctly round the code:OpVectorTimesScalar and
    code:OpMatrixTimesScalar SPIR-V operations in the <<Precision of core
    SPIR-V Instructions>> table (internal merge request 2996).
  * Work around cases in flink:vkCmdBeginTransformFeedbackEXT,
    flink:vkCmdEndTransformFeedbackEXT, and
    slink:VkPipelineCoverageModulationStateCreateInfoNV where an array
    parameter is `optional` but the length is not in `vk.xml`. This is an
    interim fix using `noautovalidity` + handcoded VU replacing those that
    should be autogenerated (internal issue 2944 and
    KhronosGroup/Vulkan-ValidationLayers#480).
  * Remove redundant capability validation of the code:float16 and code:int8
    SPIR-V capabilities from the <<spirvenv-capabilities, Capabilities>>
    section, since they are already covered in the preceding table.
  * Update check_spec_links script, including validation for reference page
    open blocks. Fix errors identified by the script.
  • Loading branch information...
oddhack committed Jan 13, 2019
1 parent b59ff9c commit f1a7c4b4f3031f985396f1aa617c51fd8a01c8c8
Showing with 800 additions and 342 deletions.
  1. +1 −1 .gitlab-ci.yml
  2. +55 −0 ChangeLog.txt
  3. +1 −1 Makefile
  4. +1 −1 appendices/VK_AMD_gcn_shader.txt
  5. +1 −1 appendices/VK_AMD_gpu_shader_half_float.txt
  6. +2 −2 appendices/VK_AMD_gpu_shader_int16.txt
  7. +1 −1 appendices/VK_AMD_shader_ballot.txt
  8. +1 −1 appendices/VK_AMD_shader_core_properties.txt
  9. +1 −1 appendices/VK_AMD_shader_explicit_vertex_parameter.txt
  10. +1 −1 appendices/VK_AMD_shader_fragment_mask.txt
  11. +3 −3 appendices/VK_AMD_shader_image_load_store_lod.txt
  12. +1 −1 appendices/VK_AMD_shader_trinary_minmax.txt
  13. +2 −2 appendices/VK_AMD_texture_gather_bias_lod.txt
  14. +18 −18 appendices/VK_ANDROID_external_memory_android_hardware_buffer.txt
  15. +2 −1 appendices/VK_EXT_astc_decode_mode.txt
  16. +2 −2 appendices/VK_EXT_buffer_device_address.txt
  17. +2 −2 appendices/VK_EXT_descriptor_indexing.txt
  18. +4 −4 appendices/VK_EXT_external_memory_dma_buf.txt
  19. +1 −1 appendices/VK_EXT_fragment_density_map.txt
  20. +7 −7 appendices/VK_EXT_image_drm_format_modifier.txt
  21. +4 −4 appendices/VK_EXT_post_depth_coverage.txt
  22. +2 −2 appendices/VK_EXT_shader_stencil_export.txt
  23. +3 −3 appendices/VK_EXT_shader_subgroup_ballot.txt
  24. +3 −3 appendices/VK_EXT_shader_subgroup_vote.txt
  25. +9 −9 appendices/VK_EXT_shader_viewport_index_layer.txt
  26. +1 −1 appendices/VK_GOOGLE_decorate_string.txt
  27. +1 −1 appendices/VK_GOOGLE_hlsl_functionality1.txt
  28. +1 −1 appendices/VK_KHR_16bit_storage.txt
  29. +1 −1 appendices/VK_KHR_8bit_storage.txt
  30. +3 −3 appendices/VK_KHR_android_surface.txt
  31. +1 −1 appendices/VK_KHR_create_renderpass2.txt
  32. +1 −1 appendices/VK_KHR_draw_indirect_count.txt
  33. +7 −6 appendices/VK_KHR_get_display_properties2.txt
  34. +1 −1 appendices/VK_KHR_incremental_present.txt
  35. +1 −1 appendices/VK_KHR_multiview.txt
  36. +2 −2 appendices/VK_KHR_shader_atomic_int64.txt
  37. +6 −6 appendices/VK_KHR_shader_draw_parameters.txt
  38. +2 −2 appendices/VK_KHR_storage_buffer_storage_class.txt
  39. +3 −3 appendices/VK_KHR_variable_pointers.txt
  40. +11 −2 appendices/VK_KHR_vulkan_memory_model.txt
  41. +1 −1 appendices/VK_NVX_device_generated_commands.txt
  42. +4 −4 appendices/VK_NVX_multiview_per_view_attributes.txt
  43. +2 −2 appendices/VK_NV_fragment_shader_barycentric.txt
  44. +6 −6 appendices/VK_NV_geometry_shader_passthrough.txt
  45. +1 −1 appendices/VK_NV_glsl_shader.txt
  46. +2 −2 appendices/VK_NV_ray_tracing.txt
  47. +6 −6 appendices/VK_NV_sample_mask_override_coverage.txt
  48. +2 −2 appendices/VK_NV_shader_subgroup_partitioned.txt
  49. +2 −2 appendices/VK_NV_shading_rate_image.txt
  50. +5 −5 appendices/VK_NV_viewport_array2.txt
  51. +1 −1 appendices/compressedtex.txt
  52. +47 −17 appendices/memorymodel.txt
  53. +12 −17 appendices/spirvenv.txt
  54. +8 −8 chapters/VK_KHR_android_surface/platformCreateSurface_android.txt
  55. +2 −2 chapters/VK_NV_external_memory_win32/import_memory_win32.txt
  56. +3 −3 chapters/clears.txt
  57. +1 −1 chapters/devsandqueues.txt
  58. +14 −9 chapters/features.txt
  59. +8 −5 chapters/fundamentals.txt
  60. +33 −0 chapters/initialization.txt
  61. +7 −4 chapters/interfaces.txt
  62. +13 −13 chapters/memory.txt
  63. +15 −26 chapters/renderpass.txt
  64. +3 −3 chapters/shaders.txt
  65. +7 −7 chapters/synchronization.txt
  66. +10 −0 chapters/vertexpostproc.txt
  67. +3 −2 include/vulkan/vulkan_core.h
  68. +51 −42 reflow.py
  69. +1 −1 reflow_count.py
  70. +26 −3 style/extensions.txt
  71. +2 −0 styleguide.txt
  72. +178 −20 xml/check_spec_links.py
  73. +129 −5 xml/test_check_spec_links.py
  74. +25 −18 xml/vk.xml
@@ -18,7 +18,7 @@ spec-generate:
# number of them. This is a slightly crude way of enforcing "don't add
# errors" but simpler than the alternatives (running against master,
# diff, etc)
- xml/check_spec_links.py -Werror
- xml/check_spec_links.py -Werror --ignore_count 0
artifacts:
when: always
paths:
@@ -8,6 +8,61 @@ public pull requests that have been accepted.

-----------------------------------------------------

Change log for January 13, 2019 Vulkan 1.1.98 spec update:

* Update release number to 98.

Public Issues:

* Fix missing markup in flink:vkDestroyPipelineLayout valid usage
statement (pull request 882).
* Add missing contributors for `<<VK_EXT_buffer_device_address>>` (public
pull request 891).

Internal Issues:

* Detect nested bullet points in valid usage blocks and warn about them
during VUID assignment (internal issue 1382).
* Update the style guide to document the process for reserving new bits in
bitmask types (internal issue 1411).
* Clarify for slink:VkApplicationInfo::pname:apiVersion and in the
<<fundamentals-validusage-versions, Valid Usage for Newer Core
Versions>> section when it is valid for an application to use a certain
version of Vulkan API functionality (for an instance and for a
device/physical device); and when the validation layers must generate an
error (internal issue 1412).
* Add optional <<memory-model-availability-visibility, transitive
availability/visibility operations to the memory model, including a new
pname:vulkanMemoryModelAvailabilityVisibilityChains feature for
slink:VkPhysicalDeviceVulkanMemoryModelFeaturesKHR (internal issue
1460).
* Add the code:StorageBuffer storage class to those in the
<<interfaces-resources-descset, Descriptor Set Interface>> (internal
issue 1480).
* Add missing `returnedonly` tags for a number of returned extension
structures that can be passed in pname:pNext chains (internal issue
1515).
* Clean up and rearrange some spec language for
slink:VkRenderPassCreateInfo and slink:VkAttachmentReference.txt
(internal issue 1522).
* Correctly round the code:OpVectorTimesScalar and
code:OpMatrixTimesScalar SPIR-V operations in the <<Precision of core
SPIR-V Instructions>> table (internal merge request 2996).
* Work around cases in flink:vkCmdBeginTransformFeedbackEXT,
flink:vkCmdEndTransformFeedbackEXT, and
slink:VkPipelineCoverageModulationStateCreateInfoNV where an array
parameter is `optional` but the length is not in `vk.xml`. This is an
interim fix using `noautovalidity` + handcoded VU replacing those that
should be autogenerated (internal issue 2944 and
https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/480).
* Remove redundant capability validation of the code:float16 and code:int8
SPIR-V capabilities from the <<spirvenv-capabilities, Capabilities>>
section, since they are already covered in the preceding table.
* Update check_spec_links script, including validation for reference page
open blocks. Fix errors identified by the script.

-----------------------------------------------------

Change log for January 05, 2019 Vulkan 1.1.97 spec update:

* Update release number to 97.
@@ -115,7 +115,7 @@ VERBOSE =
# ADOCOPTS options for asciidoc->HTML5 output

NOTEOPTS = -a editing-notes -a implementation-guide
PATCHVERSION = 97
PATCHVERSION = 98
ifneq (,$(findstring VK_VERSION_1_1,$(VERSIONS)))
SPECREVISION = 1.1.$(PATCHVERSION)
else
@@ -12,7 +12,7 @@ include::meta/VK_AMD_gcn_shader.txt[]

This extension adds support for the following SPIR-V extension in Vulkan:

* https://www.khronos.org/registry/spir-v/extensions/AMD/SPV_AMD_gcn_shader.html[+SPV_AMD_gcn_shader+]
* https://www.khronos.org/registry/spir-v/extensions/AMD/SPV_AMD_gcn_shader.html[`SPV_AMD_gcn_shader`]

ifdef::editing-notes[]
[NOTE]
@@ -14,7 +14,7 @@ include::meta/VK_AMD_gpu_shader_half_float.txt[]

This extension adds support for the following SPIR-V extension in Vulkan:

* https://www.khronos.org/registry/spir-v/extensions/AMD/SPV_AMD_gpu_shader_half_float.html[+SPV_AMD_gpu_shader_half_float+]
* https://www.khronos.org/registry/spir-v/extensions/AMD/SPV_AMD_gpu_shader_half_float.html[`SPV_AMD_gpu_shader_half_float`]

ifdef::editing-notes[]
[NOTE]
@@ -6,7 +6,7 @@ include::meta/VK_AMD_gpu_shader_int16.txt[]
No known IP claims.
*Interactions and External Dependencies*::
- Requires the
https://www.khronos.org/registry/spir-v/extensions/AMD/SPV_AMD_gpu_shader_int16.html[+SPV_AMD_gpu_shader_int16+]
https://www.khronos.org/registry/spir-v/extensions/AMD/SPV_AMD_gpu_shader_int16.html[`SPV_AMD_gpu_shader_int16`]
SPIR-V extension.
*Contributors*::
- Daniel Rakos, AMD
@@ -18,7 +18,7 @@ include::meta/VK_AMD_gpu_shader_int16.txt[]

This extension adds support for the following SPIR-V extension in Vulkan:

* +SPV_AMD_gpu_shader_int16+
* `SPV_AMD_gpu_shader_int16`

=== Version History

@@ -14,7 +14,7 @@ include::meta/VK_AMD_shader_ballot.txt[]

This extension adds support for the following SPIR-V extension in Vulkan:

* https://www.khronos.org/registry/spir-v/extensions/AMD/SPV_AMD_shader_ballot.html[+SPV_AMD_shader_ballot+]
* https://www.khronos.org/registry/spir-v/extensions/AMD/SPV_AMD_shader_ballot.html[`SPV_AMD_shader_ballot`]

ifdef::editing-notes[]
[NOTE]
@@ -9,7 +9,7 @@ include::meta/VK_AMD_shader_core_properties.txt[]
- Matthaeus Chajdas, AMD

This extension exposes shader core properties for a target physical device
through the VK_KHR_get_physical_device_properties2 extension.
through the `<<VK_KHR_get_physical_device_properties2>>` extension.
Please refer to the example below for proper usage.

=== New Object Types
@@ -13,7 +13,7 @@ include::meta/VK_AMD_shader_explicit_vertex_parameter.txt[]

This extension adds support for the following SPIR-V extension in Vulkan:

* https://www.khronos.org/registry/spir-v/extensions/AMD/SPV_AMD_shader_explicit_vertex_parameter.html[+SPV_AMD_shader_explicit_vertex_parameter+]
* https://www.khronos.org/registry/spir-v/extensions/AMD/SPV_AMD_shader_explicit_vertex_parameter.html[`SPV_AMD_shader_explicit_vertex_parameter`]

ifdef::editing-notes[]
[NOTE]
@@ -6,7 +6,7 @@ include::meta/VK_AMD_shader_fragment_mask.txt[]
No known IP claims.
*Dependencies*::
- Requires the
https://www.khronos.org/registry/spir-v/extensions/AMD/SPV_AMD_shader_fragment_mask.html[+SPV_AMD_shader_fragment_mask+]
https://www.khronos.org/registry/spir-v/extensions/AMD/SPV_AMD_shader_fragment_mask.html[`SPV_AMD_shader_fragment_mask`]
SPIR-V extension.
*Contributors*::
- Aaron Hagan, AMD
@@ -4,10 +4,10 @@ include::meta/VK_AMD_shader_image_load_store_lod.txt[]
2017-08-21
*Interactions and External Dependencies*::
- This extension requires the
https://www.khronos.org/registry/spir-v/extensions/AMD/SPV_AMD_shader_image_load_store_lod.html[+SPV_AMD_shader_image_load_store_lod+]
https://www.khronos.org/registry/spir-v/extensions/AMD/SPV_AMD_shader_image_load_store_lod.html[`SPV_AMD_shader_image_load_store_lod`]
SPIR-V extension.
- This extension requires
https://www.khronos.org/registry/OpenGL/extensions/AMD/AMD_shader_image_load_store_lod.txt[+GL_AMD_shader_image_load_store_lod+]
https://www.khronos.org/registry/OpenGL/extensions/AMD/AMD_shader_image_load_store_lod.txt[`GL_AMD_shader_image_load_store_lod`]
for GLSL-based source languages.
*IP Status*::
No known IP claims.
@@ -18,7 +18,7 @@ include::meta/VK_AMD_shader_image_load_store_lod.txt[]

This extension adds support for the following SPIR-V extension in Vulkan:

* https://www.khronos.org/registry/spir-v/extensions/AMD/SPV_AMD_shader_image_load_store_lod.html[+SPV_AMD_shader_image_load_store_lod+]
* https://www.khronos.org/registry/spir-v/extensions/AMD/SPV_AMD_shader_image_load_store_lod.html[`SPV_AMD_shader_image_load_store_lod`]

=== Version History

@@ -13,7 +13,7 @@ include::meta/VK_AMD_shader_trinary_minmax.txt[]

This extension adds support for the following SPIR-V extension in Vulkan:

* https://www.khronos.org/registry/spir-v/extensions/AMD/SPV_AMD_shader_trinary_minmax.html[+SPV_AMD_shader_trinary_minmax+]
* https://www.khronos.org/registry/spir-v/extensions/AMD/SPV_AMD_shader_trinary_minmax.html[`SPV_AMD_shader_trinary_minmax`]

ifdef::editing-notes[]
[NOTE]
@@ -6,7 +6,7 @@ include::meta/VK_AMD_texture_gather_bias_lod.txt[]
No known IP claims.
*Interactions and External Dependencies*::
- Requires the
https://www.khronos.org/registry/spir-v/extensions/AMD/SPV_AMD_texture_gather_bias_lod.html[+SPV_AMD_texture_gather_bias_lod+]
https://www.khronos.org/registry/spir-v/extensions/AMD/SPV_AMD_texture_gather_bias_lod.html[`SPV_AMD_texture_gather_bias_lod`]
SPIR-V extension.
*Contributors*::
- Dominik Witczak, AMD
@@ -21,7 +21,7 @@ This extension adds two related features.

Firstly, support for the following SPIR-V extension in Vulkan is added:

* +SPV_AMD_texture_gather_bias_lod+
* `SPV_AMD_texture_gather_bias_lod`

Secondly, the extension allows the application to query which formats can be
used together with the new function prototypes introduced by the SPIR-V
@@ -14,16 +14,16 @@ include::meta/VK_ANDROID_external_memory_android_hardware_buffer.txt[]
- Matthew Netsch, Qualcomm
- Andrew Garrard, Samsung

This extension enables an application to import Android code:AHardwareBuffer
objects created outside of the Vulkan device into Vulkan memory objects,
where they can: be bound to images and buffers.
It also allows exporting an code:AHardwareBuffer from a Vulkan memory object
for symmetry with other operating systems.
But since not all code:AHardwareBuffer usages and formats have Vulkan
This extension enables an application to import Android
dlink:AHardwareBuffer objects created outside of the Vulkan device into
Vulkan memory objects, where they can: be bound to images and buffers.
It also allows exporting an dlink:AHardwareBuffer from a Vulkan memory
object for symmetry with other operating systems.
But since not all dlink:AHardwareBuffer usages and formats have Vulkan
equivalents, exporting from Vulkan provides strictly less functionality than
creating the code:AHardwareBuffer externally and importing it.
creating the dlink:AHardwareBuffer externally and importing it.

Some code:AHardwareBuffer images have implementation-defined _external
Some dlink:AHardwareBuffer images have implementation-defined _external
formats_ that may: not correspond to Vulkan formats.
Sampler Y'C~b~C~r~ conversion can: be used to sample from these images and
convert them to a known color space.
@@ -68,7 +68,7 @@ None.
1) Other external memory objects are represented as weakly-typed handles
(e.g. Win32 code:HANDLE or POSIX file descriptor), and require a handle type
parameter along with handles.
code:AHardwareBuffer is strongly typed, so naming the handle type is
dlink:AHardwareBuffer is strongly typed, so naming the handle type is
redundant.
Does symmetry justify adding handle type parameters/fields anyway?

@@ -77,10 +77,10 @@ The handle type is already provided in places that treat external memory
objects generically.
In the places we would add it, the application code that would have to
provide the handle type value is already dealing with
code:AHardwareBuffer-specific commands/structures; the extra symmetry would
dlink:AHardwareBuffer-specific commands/structures; the extra symmetry would
not be enough to make that code generic.

2) The internal layout and therefore size of a code:AHardwareBuffer image
2) The internal layout and therefore size of a dlink:AHardwareBuffer image
may depend on native usage flags that do not have corresponding Vulkan
counterparts.
Do we provide this info to flink:vkCreateImage somehow, or allow the
@@ -90,7 +90,7 @@ approximate?
*RESOLVED*: Allow the allocation size to be unspecified when allocating the
memory.
It has to work this way for exported image memory anyway, since
code:AHardwareBuffer allocation happens in flink:vkAllocateMemory, and
dlink:AHardwareBuffer allocation happens in flink:vkAllocateMemory, and
internally is performed by a separate HAL, not the Vulkan implementation
itself.
There is a similar issue with flink:vkGetImageSubresourceLayout: the layout
@@ -114,7 +114,7 @@ Implementations are encouraged to minimize differences as much as possible
without causing compatibility problems for existing OpenGL ES applications
or violating Vulkan requirements.

4) Should an code:AHardwareBuffer with code:AHARDWAREBUFFER_USAGE_CPU_*
4) Should an dlink:AHardwareBuffer with code:AHARDWAREBUFFER_USAGE_CPU_*
usage be mappable in Vulkan? Should it be possible to export an
code:AHardwareBuffers with such usage?

@@ -132,11 +132,11 @@ view of the data and does not imply ownership (this means implementations
must not internally call code:AHardwareBuffer_lock to implement
flink:vkMapMemory, or assume the application has done so).
Implementations are not required to support linear-tiled images backed by
Android hardware buffers, even if the code:AHardwareBuffer has CPU usage.
Android hardware buffers, even if the dlink:AHardwareBuffer has CPU usage.
There is no reliable way to allocate memory in Vulkan that can be exported
to a code:AHardwareBuffer with CPU usage.
to a dlink:AHardwareBuffer with CPU usage.

5) Android may add new code:AHardwareBuffer formats and usage flags over
5) Android may add new dlink:AHardwareBuffer formats and usage flags over
time.
Can reference to them be added to this extension, or do they need a new
extension?
@@ -147,9 +147,9 @@ No new Vulkan features or implementation requirements can be added.
The extension version number will be incremented when this additional
documentation is added, but the version number does not indicate that an
implementaiton supports Vulkan memory or resources that map to the new
code:AHardwareBuffer features: support for that must be queried with
dlink:AHardwareBuffer features: support for that must be queried with
flink:vkGetPhysicalDeviceImageFormatProperties2 or is implied by
successfully allocating a code:AHardwareBuffer outside of Vulkan that uses
successfully allocating a dlink:AHardwareBuffer outside of Vulkan that uses
the new feature and has a GPU usage flag.

In essence, these are new features added to a new Android API level, rather
@@ -77,7 +77,8 @@ None.

=== Example

Create an image view that decodes to VK_FORMAT_R8G8B8A8_UNORM precision:
Create an image view that decodes to ename:VK_FORMAT_R8G8B8A8_UNORM
precision:

[source,c++]
----------------------------------------
@@ -14,9 +14,9 @@ include::meta/VK_EXT_buffer_device_address.txt[]
This extension allows the application to query a 64-bit buffer device
address value for a buffer, which can be used to access the buffer memory
via the code:PhysicalStorageBufferEXT storage class in the
https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GL_EXT_buffer_reference.txt[+GL_EXT_buffer_reference+]
https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_buffer_reference.txt[`GL_EXT_buffer_reference`]
GLSL extension and
http://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/EXT/SPV_EXT_physical_storage_buffer.html[+SPV_EXT_physical_storage_buffer+]
http://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/EXT/SPV_EXT_physical_storage_buffer.html[`SPV_EXT_physical_storage_buffer`]
SPIR-V extension.

It also allows buffer device addresses to be provided by a trace replay
@@ -17,7 +17,7 @@ their resources, and selecting amongst those resources with dynamic
There are feature enables and SPIR-V capabilities for non-uniform descriptor
indexing in the shader, and non-uniform indexing in the shader requires use
of a new code:NonUniformEXT decoration defined in the
+SPV_EXT_descriptor_indexing+ SPIR-V extension.
`SPV_EXT_descriptor_indexing` SPIR-V extension.
There are descriptor set layout binding creation flags enabling several
features:

@@ -33,7 +33,7 @@ features:
submission is executing.
* The final binding in a descriptor set layout can have a variable size
(and unsized arrays of resources are allowed in the
+GL_EXT_nonuniform_qualifier+ and +SPV_EXT_descriptor_indexing+
`GL_EXT_nonuniform_qualifier` and `SPV_EXT_descriptor_indexing`
extensions).

Note that it is valid for multiple descriptor arrays in a shader to use the
@@ -28,16 +28,16 @@ create slink:VkBuffer objects that can: be bound to that memory.
produced image, specify the memory layout (such as row pitch and DRM
format modifier) of the slink:VkImage? In other words, how does the
application achieve behavior comparable to that provided by
https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_image_dma_buf_import.txt[EGL_EXT_image_dma_buf_import]
https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_image_dma_buf_import.txt[`EGL_EXT_image_dma_buf_import`]
and
https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_image_dma_buf_import_modifiers.txt[EGL_EXT_image_dma_buf_import_modifiers]?
https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_image_dma_buf_import_modifiers.txt[`EGL_EXT_image_dma_buf_import_modifiers`]?
+
--
*RESOLVED*.
Features comparable to those in
https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_image_dma_buf_import.txt[EGL_EXT_image_dma_buf_import]
https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_image_dma_buf_import.txt[`EGL_EXT_image_dma_buf_import`]
and
https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_image_dma_buf_import_modifiers.txt[EGL_EXT_image_dma_buf_import_modifiers]
https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_image_dma_buf_import_modifiers.txt[`EGL_EXT_image_dma_buf_import_modifiers`]
will be provided by an extension layered atop this one.
--

@@ -4,7 +4,7 @@ include::meta/VK_EXT_fragment_density_map.txt[]
2018-09-25
*Interactions and External Dependencies*::
- This extension requires the
https://www.khronos.org/registry/spir-v/extensions/EXT/SPV_EXT_fragment_invocation_density.html[+SPV_EXT_fragment_invocation_density+]
https://www.khronos.org/registry/spir-v/extensions/EXT/SPV_EXT_fragment_invocation_density.html[`SPV_EXT_fragment_invocation_density`]
SPIR-V extension.
*Contributors*::
- Matthew Netsch, Qualcomm Technologies, Inc.

0 comments on commit f1a7c4b

Please sign in to comment.
You can’t perform that action at this time.