Skip to content

Commit 878dccd

Browse files
authored
Merge pull request #454 from expipiplus1/vulkan-update-v1.3.238
Bump API version to v1.3.238
2 parents 41c7e9f + 04b123c commit 878dccd

28 files changed

+567
-165
lines changed

.github/workflows/ci.yml

+9-2
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,11 @@ jobs:
5050
if: matrix.os == 'windows-latest'
5151
shell: bash
5252
run: |
53-
choco install pkgconfiglite --download-checksum=2038c49d23b5ca19e2218ca89f06df18fe6d870b4c6b54c0498548ef88771f6f --download-checksum-type=sha256
53+
for i in $(seq 5); do
54+
choco install pkgconfiglite --download-checksum=2038c49d23b5ca19e2218ca89f06df18fe6d870b4c6b54c0498548ef88771f6f --download-checksum-type=sha256 &&
55+
break || sleep 15;
56+
done
57+
5458
curl -L https://www.libsdl.org/release/SDL2-devel-2.0.12-mingw.tar.gz | tar xz
5559
SDL2=$(cygpath --windows --absolute "SDL2-2.0.12/x86_64-w64-mingw32")
5660
printf "%s\n" "$SDL2/bin" >> "$GITHUB_PATH"
@@ -177,7 +181,10 @@ jobs:
177181
if: matrix.os == 'windows-latest'
178182
shell: bash
179183
run: |
180-
choco install pkgconfiglite --download-checksum=2038c49d23b5ca19e2218ca89f06df18fe6d870b4c6b54c0498548ef88771f6f --download-checksum-type=sha256
184+
for i in $(seq 5); do
185+
choco install pkgconfiglite --download-checksum=2038c49d23b5ca19e2218ca89f06df18fe6d870b4c6b54c0498548ef88771f6f --download-checksum-type=sha256 &&
186+
break || sleep 15;
187+
done
181188
182189
curl -L https://www.libsdl.org/release/SDL2-devel-2.0.12-mingw.tar.gz | tar xz
183190
SDL2=$(cygpath --windows --absolute "SDL2-2.0.12/x86_64-w64-mingw32")

changelog.md

+3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
## WIP
44

5+
## [3.24.3] - 2022-12-28
6+
- Bump API version to v1.3.238
7+
58
## [3.24.2] - 2022-12-27
69
- Bump API version to v1.3.237
710

generate-new/Vulkan-Docs

Submodule Vulkan-Docs updated 42 files

generate-new/src/Bespoke.hs

+4
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,10 @@ forceDisabledExtensions =
8686
, "VK_EXT_video_encode_h264"
8787
, "VK_EXT_video_decode_h265"
8888
, "VK_EXT_video_encode_h265"
89+
, "VK_KHR_video_decode_h264"
90+
, "VK_KHR_video_encode_h264"
91+
, "VK_KHR_video_decode_h265"
92+
, "VK_KHR_video_encode_h265"
8993
, "VK_KHR_video_decode_queue"
9094
, "VK_KHR_video_encode_queue"
9195
, "VK_KHR_video_queue"

package.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: vulkan
2-
version: "3.24.2"
2+
version: "3.24.3"
33
synopsis: Bindings to the Vulkan graphics API.
44
description: Please see [the readme](https://github.com/expipiplus1/vulkan/#readme)
55
category: Graphics

src/Vulkan/Core10/Buffer.hs

+10-8
Original file line numberDiff line numberDiff line change
@@ -380,24 +380,26 @@ destroyBuffer device buffer allocator = liftIO . evalContT $ do
380380
-- feature /must/ be enabled
381381
--
382382
-- - #VUID-VkBufferCreateInfo-usage-04813# If @usage@ includes
383-
-- @VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR@,
383+
-- @VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR@ or
384384
-- @VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR@, then the @pNext@ chain
385-
-- /must/ include a valid
385+
-- /must/ include a
386386
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR>
387387
-- structure with @profileCount@ greater than @0@ and @pProfiles@
388388
-- including at least one
389-
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>::@videoCodecOperation@
390-
-- specifying a decode operation
389+
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>
390+
-- structure with a @videoCodecOperation@ member specifying a decode
391+
-- operation
391392
--
392393
-- - #VUID-VkBufferCreateInfo-usage-04814# If @usage@ includes
393-
-- @VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@,
394+
-- @VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@ or
394395
-- @VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR@, then the @pNext@ chain
395-
-- /must/ include a valid
396+
-- /must/ include a
396397
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR>
397398
-- structure with @profileCount@ greater than @0@ and @pProfiles@
398399
-- including at least one
399-
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>::@videoCodecOperation@
400-
-- specifying an encode operation
400+
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>
401+
-- structure with a @videoCodecOperation@ member specifying an encode
402+
-- operation
401403
--
402404
-- - #VUID-VkBufferCreateInfo-size-06409# @size@ /must/ be less than or
403405
-- equal to

src/Vulkan/Core10/CommandBufferBuilding.hs

+80-16
Original file line numberDiff line numberDiff line change
@@ -5466,11 +5466,13 @@ foreign import ccall
54665466
--
54675467
-- - #VUID-vkCmdDrawIndexed-None-07312# An index buffer /must/ be bound
54685468
--
5469-
-- - #VUID-vkCmdDrawIndexed-firstIndex-04932# (@indexSize@ ×
5470-
-- (@firstIndex@ + @indexCount@) + @offset@) /must/ be less than or
5471-
-- equal to the size of the bound index buffer, with @indexSize@ being
5472-
-- based on the type specified by @indexType@, where the index buffer,
5473-
-- @indexType@, and @offset@ are specified via 'cmdBindIndexBuffer'
5469+
-- - #VUID-vkCmdDrawIndexed-robustBufferAccess2-07788# If
5470+
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-robustBufferAccess2 robustBufferAccess2>
5471+
-- is not enabled, (@indexSize@ × (@firstIndex@ + @indexCount@) +
5472+
-- @offset@) /must/ be less than or equal to the size of the bound
5473+
-- index buffer, with @indexSize@ being based on the type specified by
5474+
-- @indexType@, where the index buffer, @indexType@, and @offset@ are
5475+
-- specified via 'cmdBindIndexBuffer'
54745476
--
54755477
-- == Valid Usage (Implicit)
54765478
--
@@ -10822,9 +10824,6 @@ foreign import ccall
1082210824
-- 'Vulkan.Core12.Promoted_From_VK_EXT_separate_stencil_usage.ImageStencilUsageCreateInfo'::@stencilUsage@
1082310825
-- used to create @dstImage@
1082410826
--
10825-
-- - #VUID-vkCmdCopyImage-srcImage-07745# @srcImage@ and @dstImage@
10826-
-- /must/ have the same sample count
10827-
--
1082810827
-- == Valid Usage (Implicit)
1082910828
--
1083010829
-- - #VUID-vkCmdCopyImage-commandBuffer-parameter# @commandBuffer@ /must/
@@ -14636,6 +14635,29 @@ foreign import ccall
1463614635
-- active in a primary command buffer when secondary command buffers are
1463714636
-- executed are considered active for those secondary command buffers.
1463814637
--
14638+
-- Furthermore, if the query is started within a video coding scope, the
14639+
-- following command buffer states are initialized for the query type:
14640+
--
14641+
-- - #queries-operation-active-query-index# The /active_query_index/ is
14642+
-- set to the value specified by @query@.
14643+
--
14644+
-- - #queries-operation-last-activatable-query-index# The /last
14645+
-- activatable query index/ is also set to the value specified by
14646+
-- @query@.
14647+
--
14648+
-- Each
14649+
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-coding video coding operation>
14650+
-- stores a result to the query corresponding to the current active query
14651+
-- index, followed by incrementing the active query index. If the active
14652+
-- query index gets incremented past the last activatable query index,
14653+
-- issuing any further video coding operations results in undefined
14654+
-- behavior.
14655+
--
14656+
-- Note
14657+
--
14658+
-- In practice, this means that currently no more than a single video
14659+
-- coding operation /must/ be issued between a begin and end query pair.
14660+
--
1463914661
-- This command defines an execution dependency between other query
1464014662
-- commands that reference the same query.
1464114663
--
@@ -14718,13 +14740,60 @@ foreign import ccall
1471814740
-- current subpass’s view mask /must/ be less than or equal to the
1471914741
-- number of queries in @queryPool@
1472014742
--
14743+
-- - #VUID-vkCmdBeginQuery-queryType-07126# If the @queryType@ used to
14744+
-- create @queryPool@ was @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@, then
14745+
-- the 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was
14746+
-- allocated from /must/ have been created with a queue family index
14747+
-- that supports
14748+
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-result-status-only result status queries>,
14749+
-- as indicated by
14750+
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFamilyQueryResultStatusPropertiesKHR VkQueueFamilyQueryResultStatusPropertiesKHR>::@queryResultStatusSupport@
14751+
--
14752+
-- - #VUID-vkCmdBeginQuery-None-07127# If there is a bound video session,
14753+
-- then there /must/ be no
14754+
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-operation-active active>
14755+
-- queries
14756+
--
14757+
-- - #VUID-vkCmdBeginQuery-queryType-07128# If the @queryType@ used to
14758+
-- create @queryPool@ was @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@ and
14759+
-- there is a bound video session, then @queryPool@ /must/ have been
14760+
-- created with a
14761+
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>
14762+
-- structure included in the @pNext@ chain of
14763+
-- 'Vulkan.Core10.Query.QueryPoolCreateInfo' identical to the one
14764+
-- specified in
14765+
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoSessionCreateInfoKHR VkVideoSessionCreateInfoKHR>::@pVideoProfile@
14766+
-- the bound video session was created with
14767+
--
1472114768
-- - #VUID-vkCmdBeginQuery-queryType-04862# If the @queryType@ used to
1472214769
-- create @queryPool@ was
14723-
-- @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@ the
14770+
-- @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@, then the
1472414771
-- 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was
1472514772
-- allocated from /must/ support
1472614773
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#video-encode-operations video encode operations>
1472714774
--
14775+
-- - #VUID-vkCmdBeginQuery-queryType-07129# If the @queryType@ used to
14776+
-- create @queryPool@ was
14777+
-- @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@, then there
14778+
-- /must/ be a bound video session
14779+
--
14780+
-- - #VUID-vkCmdBeginQuery-queryType-07130# If the @queryType@ used to
14781+
-- create @queryPool@ was
14782+
-- @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@ and there is
14783+
-- a bound video session, then @queryPool@ /must/ have been created
14784+
-- with a
14785+
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>
14786+
-- structure included in the @pNext@ chain of
14787+
-- 'Vulkan.Core10.Query.QueryPoolCreateInfo' identical to the one
14788+
-- specified in
14789+
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoSessionCreateInfoKHR VkVideoSessionCreateInfoKHR>::@pVideoProfile@
14790+
-- the bound video session was created with
14791+
--
14792+
-- - #VUID-vkCmdBeginQuery-queryType-07131# If the @queryType@ used to
14793+
-- create @queryPool@ was not @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@ or
14794+
-- @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@, then there
14795+
-- /must/ be no bound video session
14796+
--
1472814797
-- - #VUID-vkCmdBeginQuery-queryPool-01922# @queryPool@ /must/ have been
1472914798
-- created with a @queryType@ that differs from that of any queries
1473014799
-- that are
@@ -15585,18 +15654,13 @@ foreign import ccall
1558515654
--
1558615655
-- - #VUID-vkCmdCopyQueryPoolResults-queryType-06901# If the @queryType@
1558715656
-- used to create @queryPool@ was
15588-
-- @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@, @flags@ /must/ include
15657+
-- @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@, then @flags@ /must/ include
1558915658
-- @VK_QUERY_RESULT_WITH_STATUS_BIT_KHR@
1559015659
--
1559115660
-- - #VUID-vkCmdCopyQueryPoolResults-flags-06902# If @flags@ includes
15592-
-- @VK_QUERY_RESULT_WITH_STATUS_BIT_KHR@, it /must/ not include
15661+
-- @VK_QUERY_RESULT_WITH_STATUS_BIT_KHR@, then it /must/ not include
1559315662
-- 'Vulkan.Core10.Enums.QueryResultFlagBits.QUERY_RESULT_WITH_AVAILABILITY_BIT'
1559415663
--
15595-
-- - #VUID-vkCmdCopyQueryPoolResults-queryType-06903# If the @queryType@
15596-
-- used to create @queryPool@ was
15597-
-- 'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PERFORMANCE_QUERY_KHR',
15598-
-- @flags@ /must/ not contain @VK_QUERY_RESULT_WITH_STATUS_BIT_KHR@
15599-
--
1560015664
-- - #VUID-vkCmdCopyQueryPoolResults-None-07429# All queries used by the
1560115665
-- command /must/ not be active
1560215666
--

src/Vulkan/Core10/Enums/AccessFlagBits.hs

+8
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,14 @@ type AccessFlags = AccessFlagBits
169169
-- +-----------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+
170170
-- | 'ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT' | 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT' |
171171
-- +-----------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+
172+
-- | @VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR@ | @VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR@ |
173+
-- +-----------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+
174+
-- | @VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR@ | @VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR@ |
175+
-- +-----------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+
176+
-- | @VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR@ | @VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR@ |
177+
-- +-----------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+
178+
-- | @VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR@ | @VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR@ |
179+
-- +-----------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+
172180
--
173181
-- Supported access types
174182
--

src/Vulkan/Core10/Enums/FormatFeatureFlagBits.hs

+33-14
Original file line numberDiff line numberDiff line change
@@ -228,30 +228,42 @@ type FormatFeatureFlags = FormatFeatureFlagBits
228228
-- numeric type other than @*UINT@, or set it as a buffer feature.
229229
--
230230
-- - @VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR@ specifies that an
231-
-- image view with this format /can/ be used as an output for
232-
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-decode-operations video decode operations>
231+
-- image view with this format /can/ be used as a
232+
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#decode-output-picture decode output picture>
233+
-- in
234+
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-decode-operations video decode operations>.
233235
--
234236
-- - @VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR@ specifies that an image
235-
-- view with this format /can/ be used as a DPB for
236-
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-decode-operations video decode operations>
237+
-- view with this format /can/ be used as an output
238+
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#reconstructed-picture reconstructed picture>
239+
-- or an input
240+
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#reference-picture reference picture>
241+
-- in
242+
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-decode-operations video decode operations>.
237243
--
238244
-- - @VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR@ specifies that an
239-
-- image view with this format /can/ be used as an input to
240-
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-encode-operations video encode operations>
245+
-- image view with this format /can/ be used as an
246+
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#encode-input-picture encode input picture>
247+
-- in
248+
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-encode-operations video encode operations>.
241249
--
242250
-- - @VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR@ specifies that an image
243-
-- view with this format /can/ be used as a DPB for
244-
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-encode-operations video encode operations>
251+
-- view with this format /can/ be used as an output
252+
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#reconstructed-picture reconstructed picture>
253+
-- or an input
254+
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#reference-picture reference picture>
255+
-- in
256+
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-encode-operations video encode operations>.
245257
--
246258
-- Note
247259
--
248-
-- Specific video profiles /may/ have additional restrictions on the
249-
-- format and other image creation parameters corresponding to image
250-
-- views used by video coding operations that /can/ be enumerated using
251-
-- the
260+
-- Specific
261+
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-profiles video profiles>
262+
-- /may/ have additional restrictions on the format and other image
263+
-- creation parameters corresponding to image views used by video
264+
-- coding operations that /can/ be enumerated using the
252265
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR>
253-
-- command, as described in
254-
-- <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>.
266+
-- command.
255267
--
256268
-- The following bits /may/ be set in @bufferFeatures@, specifying that the
257269
-- features are supported by <VkBuffer.html buffers> or
@@ -287,6 +299,13 @@ type FormatFeatureFlags = FormatFeatureFlagBits
287299
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#host-acceleration-structure host acceleration structure>
288300
-- builds.
289301
--
302+
-- Note
303+
--
304+
-- 'FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT' and
305+
-- 'FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT' are only intended to be
306+
-- advertised for single-component formats, since SPIR-V atomic operations
307+
-- require a scalar type.
308+
--
290309
-- = See Also
291310
--
292311
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,

0 commit comments

Comments
 (0)