vulkan 3.6 → 3.6.1
raw patch · 17 files changed
+120/−71 lines, 17 files
Files
- changelog.md +3/−0
- src/Vulkan/Core10/CommandBufferBuilding.hs +7/−9
- src/Vulkan/Core10/Enums/AccessFlagBits.hs +6/−2
- src/Vulkan/Core10/Image.hs +5/−0
- src/Vulkan/Core10/MemoryManagement.hs +6/−16
- src/Vulkan/Core10/Queue.hs +7/−0
- src/Vulkan/Core11/Originally_Based_On_VK_KHR_protected_memory.hs +0/−9
- src/Vulkan/Core11/Promoted_From_VK_KHR_bind_memory2.hs +24/−0
- src/Vulkan/Core11/Promoted_From_VK_KHR_get_memory_requirements2.hs +2/−13
- src/Vulkan/Core11/Promoted_From_VK_KHR_sampler_ycbcr_conversion.hs +7/−3
- src/Vulkan/Extensions/VK_KHR_ray_tracing.hs +14/−0
- src/Vulkan/Extensions/VK_NV_coverage_reduction_mode.hs +11/−11
- src/Vulkan/Extensions/VK_NV_fragment_coverage_to_color.hs +6/−0
- src/Vulkan/Extensions/VK_NV_framebuffer_mixed_samples.hs +4/−4
- src/Vulkan/Extensions/VK_NV_ray_tracing.hs +14/−0
- src/Vulkan/Version.hs +2/−2
- vulkan.cabal +2/−2
changelog.md view
@@ -2,6 +2,9 @@ ## WIP +## [3.6.1] - 2020-07-14+ - Bump API version to 1.2.147+ ## [3.6] - 2020-07-05 - Bump API version to 1.2.146
src/Vulkan/Core10/CommandBufferBuilding.hs view
@@ -4014,15 +4014,13 @@ -- of @srcSubresource@ for the source and @dstSubresource@ for the -- destination. @layerCount@ layers are blitted to the destination image. ----- 3D textures are blitted slice by slice. Slices in the source region--- bounded by @srcOffsets@[0].z and @srcOffsets@[1].z are copied to slices--- in the destination region bounded by @dstOffsets@[0].z and--- @dstOffsets@[1].z. For each destination slice, a source __z__ coordinate--- is linearly interpolated between @srcOffsets@[0].z and--- @srcOffsets@[1].z. If the @filter@ parameter is--- 'Vulkan.Core10.Enums.Filter.FILTER_LINEAR' then the value sampled from--- the source image is taken by doing linear filtering using the--- interpolated __z__ coordinate. If @filter@ parameter is+-- When blitting 3D textures, slices in the destination region bounded by+-- @dstOffsets@[0].z and @dstOffsets@[1].z are sampled from slices in the+-- source region bounded by @srcOffsets@[0].z and @srcOffsets@[1].z. If the+-- @filter@ parameter is 'Vulkan.Core10.Enums.Filter.FILTER_LINEAR' then+-- the value sampled from the source image is taken by doing linear+-- filtering using the interpolated __z__ coordinate represented by __w__+-- in the previous equations. If the @filter@ parameter is -- 'Vulkan.Core10.Enums.Filter.FILTER_NEAREST' then the value sampled from -- the source image is taken from the single nearest slice, with an -- implementation-dependent arithmetic rounding mode.
src/Vulkan/Core10/Enums/AccessFlagBits.hs view
@@ -270,10 +270,14 @@ -- 'Vulkan.Extensions.VK_NV_shading_rate_image.cmdBindShadingRateImageNV'. pattern ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = AccessFlagBits 0x00800000 -- | 'ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR' specifies write access to--- an acceleration structure as part of a build command.+-- an acceleration structure or+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#acceleration-structure-scratch acceleration structure scratch buffer>+-- as part of a build command. pattern ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = AccessFlagBits 0x00400000 -- | 'ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR' specifies read access to an--- acceleration structure as part of a trace or build command.+-- acceleration structure as part of a trace or build command, or to an+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#acceleration-structure-scratch acceleration structure scratch buffer>+-- as part of a build command. pattern ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = AccessFlagBits 0x00200000 -- | 'ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT' is similar to -- 'ACCESS_COLOR_ATTACHMENT_READ_BIT', but also includes
src/Vulkan/Core10/Image.hs view
@@ -864,6 +864,11 @@ -- feature is not enabled, @flags@ /must/ not contain -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_ALIASED_BIT' --+-- - If @tiling@ is+-- 'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_LINEAR', @flags@+-- /must/ not contain+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'+-- -- - If @imageType@ is 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_1D', -- @flags@ /must/ not contain -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'
src/Vulkan/Core10/MemoryManagement.hs view
@@ -65,24 +65,8 @@ -- | vkGetBufferMemoryRequirements - Returns the memory requirements for -- specified Vulkan object ----- == Valid Usage------ - If @buffer@ was created with the--- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID'--- external memory handle type, then @buffer@ /must/ be bound to memory--- -- == Valid Usage (Implicit) ----- - @device@ /must/ be a valid 'Vulkan.Core10.Handles.Device' handle------ - @buffer@ /must/ be a valid 'Vulkan.Core10.Handles.Buffer' handle------ - @pMemoryRequirements@ /must/ be a valid pointer to a--- 'MemoryRequirements' structure------ - @buffer@ /must/ have been created, allocated, or retrieved from--- @device@--- -- = See Also -- -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.Device',@@ -90,8 +74,14 @@ getBufferMemoryRequirements :: forall io . (MonadIO io) => -- | @device@ is the logical device that owns the buffer.+ --+ -- @device@ /must/ be a valid 'Vulkan.Core10.Handles.Device' handle Device -> -- | @buffer@ is the buffer to query.+ --+ -- @buffer@ /must/ be a valid 'Vulkan.Core10.Handles.Buffer' handle+ --+ -- @buffer@ /must/ have been created, allocated, or retrieved from @device@ Buffer -> io (MemoryRequirements) getBufferMemoryRequirements device buffer = liftIO . evalContT $ do
src/Vulkan/Core10/Queue.hs view
@@ -653,6 +653,13 @@ -- not contain -- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_NV' --+-- - If the @pNext@ chain of this structure does not include a+-- 'Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.ProtectedSubmitInfo'+-- structure with @protectedSubmit@ set to+-- 'Vulkan.Core10.FundamentalTypes.TRUE', then each element of the+-- command buffer of the @pCommandBuffers@ array /must/ be an+-- unprotected command buffer+-- -- == Valid Usage (Implicit) -- -- - @sType@ /must/ be
src/Vulkan/Core11/Originally_Based_On_VK_KHR_protected_memory.hs view
@@ -132,15 +132,6 @@ -- each element of the @pCommandBuffers@ array /must/ be a protected -- command buffer ----- - If @protectedSubmit@ is 'Vulkan.Core10.FundamentalTypes.FALSE', then--- each element of the @pCommandBuffers@ array /must/ be an unprotected--- command buffer------ - If the 'Vulkan.Core10.Queue.SubmitInfo'::@pNext@ chain does not--- include a 'ProtectedSubmitInfo' structure, then each element of the--- command buffer of the @pCommandBuffers@ array /must/ be an--- unprotected command buffer--- -- == Valid Usage (Implicit) -- -- - @sType@ /must/ be
src/Vulkan/Core11/Promoted_From_VK_KHR_bind_memory2.hs view
@@ -247,6 +247,18 @@ -- 'Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedAllocateInfo'::@buffer@ -- and @memoryOffset@ /must/ be zero --+-- - If @buffer@ was created with the+-- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_PROTECTED_BIT'+-- bit set, the buffer /must/ be bound to a memory object allocated+-- with a memory type that reports+-- 'Vulkan.Core10.Enums.MemoryPropertyFlagBits.MEMORY_PROPERTY_PROTECTED_BIT'+--+-- - If @buffer@ was created with the+-- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_PROTECTED_BIT'+-- bit not set, the buffer /must/ not be bound to a memory object+-- created with a memory type that reports+-- 'Vulkan.Core10.Enums.MemoryPropertyFlagBits.MEMORY_PROPERTY_PROTECTED_BIT'+-- -- - If @buffer@ was created with -- 'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationBufferCreateInfoNV'::@dedicatedAllocation@ -- equal to 'Vulkan.Core10.FundamentalTypes.TRUE', @memory@ /must/ have@@ -514,6 +526,18 @@ -- for which the allocation was created; and the @arrayLayers@ -- parameter of the image being bound /must/ be equal to or smaller -- than the original image for which the allocation was created+--+-- - If image was created with the+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_PROTECTED_BIT'+-- bit set, the image /must/ be bound to a memory object allocated with+-- a memory type that reports+-- 'Vulkan.Core10.Enums.MemoryPropertyFlagBits.MEMORY_PROPERTY_PROTECTED_BIT'+--+-- - If image was created with the+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_PROTECTED_BIT'+-- bit not set, the image /must/ not be bound to a memory object+-- created with a memory type that reports+-- 'Vulkan.Core10.Enums.MemoryPropertyFlagBits.MEMORY_PROPERTY_PROTECTED_BIT' -- -- - If @image@ was created with -- 'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationImageCreateInfoNV'::@dedicatedAllocation@
src/Vulkan/Core11/Promoted_From_VK_KHR_get_memory_requirements2.hs view
@@ -217,21 +217,8 @@ -- | VkBufferMemoryRequirementsInfo2 - (None) ----- == Valid Usage------ - If @buffer@ was created with the--- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID'--- external memory handle type, then @buffer@ /must/ be bound to memory--- -- == Valid Usage (Implicit) ----- - @sType@ /must/ be--- 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2'------ - @pNext@ /must/ be @NULL@------ - @buffer@ /must/ be a valid 'Vulkan.Core10.Handles.Buffer' handle--- -- = See Also -- -- 'Vulkan.Core10.Handles.Buffer',@@ -240,6 +227,8 @@ -- 'Vulkan.Extensions.VK_KHR_get_memory_requirements2.getBufferMemoryRequirements2KHR' data BufferMemoryRequirementsInfo2 = BufferMemoryRequirementsInfo2 { -- | @buffer@ is the buffer to query.+ --+ -- @buffer@ /must/ be a valid 'Vulkan.Core10.Handles.Buffer' handle buffer :: Buffer } deriving (Typeable, Eq) #if defined(GENERIC_INSTANCES)
src/Vulkan/Core11/Promoted_From_VK_KHR_sampler_ycbcr_conversion.hs view
@@ -368,14 +368,18 @@ -- of the sampler Y′CBCR conversion do not support -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT', -- @xChromaOffset@ and @yChromaOffset@ /must/ not be--- 'Vulkan.Core11.Enums.ChromaLocation.CHROMA_LOCATION_COSITED_EVEN'+-- 'Vulkan.Core11.Enums.ChromaLocation.CHROMA_LOCATION_COSITED_EVEN' if+-- the corresponding channels are+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-chroma-reconstruction downsampled> -- -- - If the -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#potential-format-features potential format features> -- of the sampler Y′CBCR conversion do not support -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT', -- @xChromaOffset@ and @yChromaOffset@ /must/ not be--- 'Vulkan.Core11.Enums.ChromaLocation.CHROMA_LOCATION_MIDPOINT'+-- 'Vulkan.Core11.Enums.ChromaLocation.CHROMA_LOCATION_MIDPOINT' if the+-- corresponding channels are+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-chroma-reconstruction downsampled> -- -- - If the format has a @_422@ or @_420@ suffix, then @components.g@ -- /must/ be the@@ -506,7 +510,7 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-chroma-reconstruction sample location> -- associated with downsampled chroma channels in the x dimension. -- @xChromaOffset@ has no effect for formats in which chroma channels are- -- the same resolution as the luma channel.+ -- not downsampled horizontally. xChromaOffset :: ChromaLocation , -- | @yChromaOffset@ describes the -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-chroma-reconstruction sample location>
src/Vulkan/Extensions/VK_KHR_ray_tracing.hs view
@@ -2593,6 +2593,20 @@ -- acceleration structure memories or scratch memories being used by any of -- the builds. --+-- Accesses to the acceleration structure scratch buffers as identified by+-- the 'AccelerationStructureBuildGeometryInfoKHR'→@scratchData@ buffer+-- device addresses /must/ be+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-dependencies synchronized>+-- with the+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR'+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages pipeline stage>+-- and an+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-access-types access type>+-- of+-- 'Vulkan.Core10.Enums.AccessFlagBits.ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR'+-- or+-- 'Vulkan.Core10.Enums.AccessFlagBits.ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR'.+-- -- == Valid Usage -- -- - Each element of @ppOffsetInfos@[i] /must/ be a valid pointer to an
src/Vulkan/Extensions/VK_NV_coverage_reduction_mode.hs view
@@ -236,8 +236,8 @@ -- -- = Description ----- If this structure is not present, the default coverage reduction mode is--- inferred as follows:+-- If this structure is not present, or if the extension is not enabled,+-- the default coverage reduction mode is inferred as follows: -- -- - If the @VK_NV_framebuffer_mixed_samples@ extension is enabled, then -- it is as if the @coverageReductionMode@ is@@ -270,7 +270,7 @@ { -- | @flags@ is reserved for future use. flags :: PipelineCoverageReductionStateCreateFlagsNV , -- | @coverageReductionMode@ is a 'CoverageReductionModeNV' value controlling- -- how the /color sample mask/ is generated from the coverage mask.+ -- how color sample coverage is generated from pixel coverage. coverageReductionMode :: CoverageReductionModeNV } deriving (Typeable, Eq)@@ -429,16 +429,16 @@ newtype CoverageReductionModeNV = CoverageReductionModeNV Int32 deriving newtype (Eq, Ord, Storable, Zero) --- | 'COVERAGE_REDUCTION_MODE_MERGE_NV': In this mode, there is an--- implementation-dependent association of each coverage sample to a color--- sample. The reduced color sample mask is computed such that the bit for--- each color sample is 1 if any of the associated bits in the fragment’s--- coverage is on, and 0 otherwise.+-- | 'COVERAGE_REDUCTION_MODE_MERGE_NV' specifies that each color sample will+-- be associated with an implementation-dependent subset of samples in the+-- pixel coverage. If any of those associated samples are covered, the+-- color sample is covered. pattern COVERAGE_REDUCTION_MODE_MERGE_NV = CoverageReductionModeNV 0--- | 'COVERAGE_REDUCTION_MODE_TRUNCATE_NV': In this mode, only the first M--- coverage samples are associated with the color samples such that+-- | 'COVERAGE_REDUCTION_MODE_TRUNCATE_NV' specifies that for color samples+-- present in the color attachments, a color sample is covered if the pixel+-- coverage sample with the same -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-multisampling-coverage-mask sample index>--- i maps to color sample index i, where M is the number of color samples.+-- i is covered; other pixel coverage samples are discarded. pattern COVERAGE_REDUCTION_MODE_TRUNCATE_NV = CoverageReductionModeNV 1 {-# complete COVERAGE_REDUCTION_MODE_MERGE_NV, COVERAGE_REDUCTION_MODE_TRUNCATE_NV :: CoverageReductionModeNV #-}
src/Vulkan/Extensions/VK_NV_fragment_coverage_to_color.hs view
@@ -49,6 +49,12 @@ -- -- = Description --+-- If the @pNext@ chain of+-- 'Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo' includes a+-- 'PipelineCoverageToColorStateCreateInfoNV' structure, then that+-- structure controls whether the fragment coverage is substituted for a+-- fragment color output and, if so, which output is replaced.+-- -- If @coverageToColorEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE', the -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-multisampling-coverage-mask coverage mask> -- replaces the first component of the color value corresponding to the
src/Vulkan/Extensions/VK_NV_framebuffer_mixed_samples.hs view
@@ -73,10 +73,10 @@ -- -- If @coverageModulationTableEnable@ is -- 'Vulkan.Core10.FundamentalTypes.FALSE', then for each color sample the--- associated bits of the fragment’s coverage are counted and divided by--- the number of associated bits to produce a modulation factor R in the--- range (0,1] (a value of zero would have been killed due to a color--- coverage of 0). Specifically:+-- associated bits of the pixel coverage are counted and divided by the+-- number of associated bits to produce a modulation factor R in the range+-- (0,1] (a value of zero would have been killed due to a color coverage of+-- 0). Specifically: -- -- - N = value of @rasterizationSamples@ --
src/Vulkan/Extensions/VK_NV_ray_tracing.hs view
@@ -609,6 +609,20 @@ -- | vkCmdBuildAccelerationStructureNV - Build an acceleration structure --+-- = Description+--+-- Accesses to @scratch@ /must/ be+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-dependencies synchronized>+-- with the+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR'+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages pipeline stage>+-- and an+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-access-types access type>+-- of+-- 'Vulkan.Core10.Enums.AccessFlagBits.ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR'+-- or+-- 'Vulkan.Core10.Enums.AccessFlagBits.ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR'.+-- -- == Valid Usage -- -- - @geometryCount@ /must/ be less than or equal to
src/Vulkan/Version.hs view
@@ -14,11 +14,11 @@ import Data.Word (Word32) pattern HEADER_VERSION :: Word32-pattern HEADER_VERSION = 146+pattern HEADER_VERSION = 147 pattern HEADER_VERSION_COMPLETE :: Word32-pattern HEADER_VERSION_COMPLETE = MAKE_VERSION 1 2 146+pattern HEADER_VERSION_COMPLETE = MAKE_VERSION 1 2 147 pattern MAKE_VERSION :: Word32 -> Word32 -> Word32 -> Word32
vulkan.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 5d8265056859e741eaa7e8b75c2a0912a2af1449556e077fc144ec532a2b3dc0+-- hash: ab4f11203014cb17410935e123ca7ec6a20dfab05bbc237d3c7519e80d55be2a name: vulkan-version: 3.6+version: 3.6.1 synopsis: Bindings to the Vulkan graphics API. category: Graphics homepage: https://github.com/expipiplus1/vulkan#readme