Skip to content

Commit

Permalink
Merge pull request #454 from expipiplus1/vulkan-update-v1.3.238
Browse files Browse the repository at this point in the history
Bump API version to v1.3.238
  • Loading branch information
expipiplus1 authored Dec 28, 2022
2 parents 41c7e9f + 04b123c commit 878dccd
Show file tree
Hide file tree
Showing 28 changed files with 567 additions and 165 deletions.
11 changes: 9 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,11 @@ jobs:
if: matrix.os == 'windows-latest'
shell: bash
run: |
choco install pkgconfiglite --download-checksum=2038c49d23b5ca19e2218ca89f06df18fe6d870b4c6b54c0498548ef88771f6f --download-checksum-type=sha256
for i in $(seq 5); do
choco install pkgconfiglite --download-checksum=2038c49d23b5ca19e2218ca89f06df18fe6d870b4c6b54c0498548ef88771f6f --download-checksum-type=sha256 &&
break || sleep 15;
done
curl -L https://www.libsdl.org/release/SDL2-devel-2.0.12-mingw.tar.gz | tar xz
SDL2=$(cygpath --windows --absolute "SDL2-2.0.12/x86_64-w64-mingw32")
printf "%s\n" "$SDL2/bin" >> "$GITHUB_PATH"
Expand Down Expand Up @@ -177,7 +181,10 @@ jobs:
if: matrix.os == 'windows-latest'
shell: bash
run: |
choco install pkgconfiglite --download-checksum=2038c49d23b5ca19e2218ca89f06df18fe6d870b4c6b54c0498548ef88771f6f --download-checksum-type=sha256
for i in $(seq 5); do
choco install pkgconfiglite --download-checksum=2038c49d23b5ca19e2218ca89f06df18fe6d870b4c6b54c0498548ef88771f6f --download-checksum-type=sha256 &&
break || sleep 15;
done
curl -L https://www.libsdl.org/release/SDL2-devel-2.0.12-mingw.tar.gz | tar xz
SDL2=$(cygpath --windows --absolute "SDL2-2.0.12/x86_64-w64-mingw32")
Expand Down
3 changes: 3 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

## WIP

## [3.24.3] - 2022-12-28
- Bump API version to v1.3.238

## [3.24.2] - 2022-12-27
- Bump API version to v1.3.237

Expand Down
2 changes: 1 addition & 1 deletion generate-new/Vulkan-Docs
Submodule Vulkan-Docs updated 42 files
+8 −6 .gitlab-ci.yml
+39 −0 ChangeLog.adoc
+2 −2 Makefile
+13 −3 appendices/VK_KHR_video_decode_h264.adoc
+12 −2 appendices/VK_KHR_video_decode_h265.adoc
+3 −16 appendices/VK_KHR_video_decode_queue.adoc
+3 −1 appendices/VK_KHR_video_queue.adoc
+8 −9 appendices/boilerplate.adoc
+28 −3 appendices/glossary.adoc
+14 −14 chapters/VK_EXT_swapchain_maintenance1/SwapchainPresentScalingCreateInfo.adoc
+1 −1 chapters/VK_KHR_surface/wsi.adoc
+1 −1 chapters/VK_KHR_swapchain/wsi.adoc
+3 −0 chapters/VK_NV_mesh_shader/drawing.adoc
+4 −0 chapters/accelstructures.adoc
+9 −10 chapters/capabilities.adoc
+8 −0 chapters/commonvalidity/copy_acceleration_structure_common.adoc
+0 −2 chapters/commonvalidity/copy_image_common.adoc
+0 −11 chapters/commonvalidity/get_image_subresource_layout_common.adoc
+59 −2 chapters/commonvalidity/image_memory_barrier_common.adoc
+48 −1 chapters/commonvalidity/query_begin_common.adoc
+48 −2 chapters/devsandqueues.adoc
+8 −6 chapters/drawing.adoc
+43 −28 chapters/formats.adoc
+10 −2 chapters/fundamentals.adoc
+11 −0 chapters/introduction.adoc
+82 −59 chapters/queries.adoc
+95 −122 chapters/resources.adoc
+20 −14 chapters/synchronization.adoc
+721 −331 chapters/video_decode_extensions.adoc
+555 −202 chapters/video_decode_h264_extensions.adoc
+591 −168 chapters/video_decode_h265_extensions.adoc
+51 −15 chapters/video_encode_extensions.adoc
+1,793 −1,200 chapters/video_extensions.adoc
+1 −2 proposals/VK_EXT_swapchain_maintenance1.adoc
+527 −0 proposals/VK_KHR_video_decode_h264.adoc
+487 −0 proposals/VK_KHR_video_decode_h265.adoc
+800 −0 proposals/VK_KHR_video_decode_queue.adoc
+1,074 −0 proposals/VK_KHR_video_queue.adoc
+3 −5 scripts/genvk.py
+2 −2 scripts/xml_consistency.py
+13 −14 xml/video.xml
+129 −123 xml/vk.xml
4 changes: 4 additions & 0 deletions generate-new/src/Bespoke.hs
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,10 @@ forceDisabledExtensions =
, "VK_EXT_video_encode_h264"
, "VK_EXT_video_decode_h265"
, "VK_EXT_video_encode_h265"
, "VK_KHR_video_decode_h264"
, "VK_KHR_video_encode_h264"
, "VK_KHR_video_decode_h265"
, "VK_KHR_video_encode_h265"
, "VK_KHR_video_decode_queue"
, "VK_KHR_video_encode_queue"
, "VK_KHR_video_queue"
Expand Down
2 changes: 1 addition & 1 deletion package.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: vulkan
version: "3.24.2"
version: "3.24.3"
synopsis: Bindings to the Vulkan graphics API.
description: Please see [the readme](https://github.com/expipiplus1/vulkan/#readme)
category: Graphics
Expand Down
18 changes: 10 additions & 8 deletions src/Vulkan/Core10/Buffer.hs
Original file line number Diff line number Diff line change
Expand Up @@ -380,24 +380,26 @@ destroyBuffer device buffer allocator = liftIO . evalContT $ do
-- feature /must/ be enabled
--
-- - #VUID-VkBufferCreateInfo-usage-04813# If @usage@ includes
-- @VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR@,
-- @VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR@ or
-- @VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR@, then the @pNext@ chain
-- /must/ include a valid
-- /must/ include a
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR>
-- structure with @profileCount@ greater than @0@ and @pProfiles@
-- including at least one
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>::@videoCodecOperation@
-- specifying a decode operation
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>
-- structure with a @videoCodecOperation@ member specifying a decode
-- operation
--
-- - #VUID-VkBufferCreateInfo-usage-04814# If @usage@ includes
-- @VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@,
-- @VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@ or
-- @VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR@, then the @pNext@ chain
-- /must/ include a valid
-- /must/ include a
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR>
-- structure with @profileCount@ greater than @0@ and @pProfiles@
-- including at least one
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>::@videoCodecOperation@
-- specifying an encode operation
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>
-- structure with a @videoCodecOperation@ member specifying an encode
-- operation
--
-- - #VUID-VkBufferCreateInfo-size-06409# @size@ /must/ be less than or
-- equal to
Expand Down
96 changes: 80 additions & 16 deletions src/Vulkan/Core10/CommandBufferBuilding.hs
Original file line number Diff line number Diff line change
Expand Up @@ -5466,11 +5466,13 @@ foreign import ccall
--
-- - #VUID-vkCmdDrawIndexed-None-07312# An index buffer /must/ be bound
--
-- - #VUID-vkCmdDrawIndexed-firstIndex-04932# (@indexSize@ ×
-- (@firstIndex@ + @indexCount@) + @offset@) /must/ be less than or
-- equal to the size of the bound index buffer, with @indexSize@ being
-- based on the type specified by @indexType@, where the index buffer,
-- @indexType@, and @offset@ are specified via 'cmdBindIndexBuffer'
-- - #VUID-vkCmdDrawIndexed-robustBufferAccess2-07788# If
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-robustBufferAccess2 robustBufferAccess2>
-- is not enabled, (@indexSize@ × (@firstIndex@ + @indexCount@) +
-- @offset@) /must/ be less than or equal to the size of the bound
-- index buffer, with @indexSize@ being based on the type specified by
-- @indexType@, where the index buffer, @indexType@, and @offset@ are
-- specified via 'cmdBindIndexBuffer'
--
-- == Valid Usage (Implicit)
--
Expand Down Expand Up @@ -10822,9 +10824,6 @@ foreign import ccall
-- 'Vulkan.Core12.Promoted_From_VK_EXT_separate_stencil_usage.ImageStencilUsageCreateInfo'::@stencilUsage@
-- used to create @dstImage@
--
-- - #VUID-vkCmdCopyImage-srcImage-07745# @srcImage@ and @dstImage@
-- /must/ have the same sample count
--
-- == Valid Usage (Implicit)
--
-- - #VUID-vkCmdCopyImage-commandBuffer-parameter# @commandBuffer@ /must/
Expand Down Expand Up @@ -14636,6 +14635,29 @@ foreign import ccall
-- active in a primary command buffer when secondary command buffers are
-- executed are considered active for those secondary command buffers.
--
-- Furthermore, if the query is started within a video coding scope, the
-- following command buffer states are initialized for the query type:
--
-- - #queries-operation-active-query-index# The /active_query_index/ is
-- set to the value specified by @query@.
--
-- - #queries-operation-last-activatable-query-index# The /last
-- activatable query index/ is also set to the value specified by
-- @query@.
--
-- Each
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-coding video coding operation>
-- stores a result to the query corresponding to the current active query
-- index, followed by incrementing the active query index. If the active
-- query index gets incremented past the last activatable query index,
-- issuing any further video coding operations results in undefined
-- behavior.
--
-- Note
--
-- In practice, this means that currently no more than a single video
-- coding operation /must/ be issued between a begin and end query pair.
--
-- This command defines an execution dependency between other query
-- commands that reference the same query.
--
Expand Down Expand Up @@ -14718,13 +14740,60 @@ foreign import ccall
-- current subpass’s view mask /must/ be less than or equal to the
-- number of queries in @queryPool@
--
-- - #VUID-vkCmdBeginQuery-queryType-07126# If the @queryType@ used to
-- create @queryPool@ was @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@, then
-- the 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was
-- allocated from /must/ have been created with a queue family index
-- that supports
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-result-status-only result status queries>,
-- as indicated by
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFamilyQueryResultStatusPropertiesKHR VkQueueFamilyQueryResultStatusPropertiesKHR>::@queryResultStatusSupport@
--
-- - #VUID-vkCmdBeginQuery-None-07127# If there is a bound video session,
-- then there /must/ be no
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-operation-active active>
-- queries
--
-- - #VUID-vkCmdBeginQuery-queryType-07128# If the @queryType@ used to
-- create @queryPool@ was @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@ and
-- there is a bound video session, then @queryPool@ /must/ have been
-- created with a
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>
-- structure included in the @pNext@ chain of
-- 'Vulkan.Core10.Query.QueryPoolCreateInfo' identical to the one
-- specified in
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoSessionCreateInfoKHR VkVideoSessionCreateInfoKHR>::@pVideoProfile@
-- the bound video session was created with
--
-- - #VUID-vkCmdBeginQuery-queryType-04862# If the @queryType@ used to
-- create @queryPool@ was
-- @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@ the
-- @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@, then the
-- 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was
-- allocated from /must/ support
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#video-encode-operations video encode operations>
--
-- - #VUID-vkCmdBeginQuery-queryType-07129# If the @queryType@ used to
-- create @queryPool@ was
-- @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@, then there
-- /must/ be a bound video session
--
-- - #VUID-vkCmdBeginQuery-queryType-07130# If the @queryType@ used to
-- create @queryPool@ was
-- @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@ and there is
-- a bound video session, then @queryPool@ /must/ have been created
-- with a
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>
-- structure included in the @pNext@ chain of
-- 'Vulkan.Core10.Query.QueryPoolCreateInfo' identical to the one
-- specified in
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoSessionCreateInfoKHR VkVideoSessionCreateInfoKHR>::@pVideoProfile@
-- the bound video session was created with
--
-- - #VUID-vkCmdBeginQuery-queryType-07131# If the @queryType@ used to
-- create @queryPool@ was not @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@ or
-- @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@, then there
-- /must/ be no bound video session
--
-- - #VUID-vkCmdBeginQuery-queryPool-01922# @queryPool@ /must/ have been
-- created with a @queryType@ that differs from that of any queries
-- that are
Expand Down Expand Up @@ -15585,18 +15654,13 @@ foreign import ccall
--
-- - #VUID-vkCmdCopyQueryPoolResults-queryType-06901# If the @queryType@
-- used to create @queryPool@ was
-- @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@, @flags@ /must/ include
-- @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@, then @flags@ /must/ include
-- @VK_QUERY_RESULT_WITH_STATUS_BIT_KHR@
--
-- - #VUID-vkCmdCopyQueryPoolResults-flags-06902# If @flags@ includes
-- @VK_QUERY_RESULT_WITH_STATUS_BIT_KHR@, it /must/ not include
-- @VK_QUERY_RESULT_WITH_STATUS_BIT_KHR@, then it /must/ not include
-- 'Vulkan.Core10.Enums.QueryResultFlagBits.QUERY_RESULT_WITH_AVAILABILITY_BIT'
--
-- - #VUID-vkCmdCopyQueryPoolResults-queryType-06903# If the @queryType@
-- used to create @queryPool@ was
-- 'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PERFORMANCE_QUERY_KHR',
-- @flags@ /must/ not contain @VK_QUERY_RESULT_WITH_STATUS_BIT_KHR@
--
-- - #VUID-vkCmdCopyQueryPoolResults-None-07429# All queries used by the
-- command /must/ not be active
--
Expand Down
8 changes: 8 additions & 0 deletions src/Vulkan/Core10/Enums/AccessFlagBits.hs
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,14 @@ type AccessFlags = AccessFlagBits
-- +-----------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+
-- | 'ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT' | 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT' |
-- +-----------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+
-- | @VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR@ | @VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR@ |
-- +-----------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+
-- | @VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR@ | @VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR@ |
-- +-----------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+
-- | @VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR@ | @VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR@ |
-- +-----------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+
-- | @VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR@ | @VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR@ |
-- +-----------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+
--
-- Supported access types
--
Expand Down
47 changes: 33 additions & 14 deletions src/Vulkan/Core10/Enums/FormatFeatureFlagBits.hs
Original file line number Diff line number Diff line change
Expand Up @@ -228,30 +228,42 @@ type FormatFeatureFlags = FormatFeatureFlagBits
-- numeric type other than @*UINT@, or set it as a buffer feature.
--
-- - @VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR@ specifies that an
-- image view with this format /can/ be used as an output for
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-decode-operations video decode operations>
-- image view with this format /can/ be used as a
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#decode-output-picture decode output picture>
-- in
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-decode-operations video decode operations>.
--
-- - @VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR@ specifies that an image
-- view with this format /can/ be used as a DPB for
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-decode-operations video decode operations>
-- view with this format /can/ be used as an output
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#reconstructed-picture reconstructed picture>
-- or an input
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#reference-picture reference picture>
-- in
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-decode-operations video decode operations>.
--
-- - @VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR@ specifies that an
-- image view with this format /can/ be used as an input to
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-encode-operations video encode operations>
-- image view with this format /can/ be used as an
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#encode-input-picture encode input picture>
-- in
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-encode-operations video encode operations>.
--
-- - @VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR@ specifies that an image
-- view with this format /can/ be used as a DPB for
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-encode-operations video encode operations>
-- view with this format /can/ be used as an output
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#reconstructed-picture reconstructed picture>
-- or an input
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#reference-picture reference picture>
-- in
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-encode-operations video encode operations>.
--
-- Note
--
-- Specific video profiles /may/ have additional restrictions on the
-- format and other image creation parameters corresponding to image
-- views used by video coding operations that /can/ be enumerated using
-- the
-- Specific
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-profiles video profiles>
-- /may/ have additional restrictions on the format and other image
-- creation parameters corresponding to image views used by video
-- coding operations that /can/ be enumerated using the
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR>
-- command, as described in
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#supported-video-input-output-dpb-formats-enumeration Enumeration of Supported Video Output, Input and DPB Formats>.
-- command.
--
-- The following bits /may/ be set in @bufferFeatures@, specifying that the
-- features are supported by <VkBuffer.html buffers> or
Expand Down Expand Up @@ -287,6 +299,13 @@ type FormatFeatureFlags = FormatFeatureFlagBits
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#host-acceleration-structure host acceleration structure>
-- builds.
--
-- Note
--
-- 'FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT' and
-- 'FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT' are only intended to be
-- advertised for single-component formats, since SPIR-V atomic operations
-- require a scalar type.
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
Expand Down
Loading

0 comments on commit 878dccd

Please sign in to comment.