From 9adcc2f19f4a06b0d9498c6b13001bd2aa50f30c Mon Sep 17 00:00:00 2001 From: Petr Kraus Date: Mon, 11 Jun 2018 16:24:43 +0200 Subject: [PATCH] Random markup fixes --- .../VK_AMD_negative_viewport_height.txt | 10 +++++----- appendices/compressedtex.txt | 6 +++--- appendices/glossary.txt | 2 +- appendices/versions.txt | 6 +++--- .../shader-module-validation-cache.txt | 4 ++-- chapters/cmdbuffers.txt | 4 ++-- chapters/devsandqueues.txt | 4 ++-- chapters/dispatch.txt | 2 +- chapters/features.txt | 4 +++- chapters/fragops.txt | 2 +- chapters/framebuffer.txt | 4 ++-- chapters/initialization.txt | 2 +- chapters/memory.txt | 2 +- chapters/primsrast.txt | 10 +++++----- chapters/renderpass.txt | 10 +++++----- chapters/resources.txt | 8 ++++---- chapters/synchronization.txt | 20 +++++++++---------- chapters/vertexpostproc.txt | 18 +++++++++-------- 18 files changed, 61 insertions(+), 57 deletions(-) diff --git a/appendices/VK_AMD_negative_viewport_height.txt b/appendices/VK_AMD_negative_viewport_height.txt index d2230632..ff487a76 100755 --- a/appendices/VK_AMD_negative_viewport_height.txt +++ b/appendices/VK_AMD_negative_viewport_height.txt @@ -9,24 +9,24 @@ include::meta/VK_AMD_negative_viewport_height.txt[] - Graham Sellers, AMD - Baldur Karlsson *Interactions and External Dependencies*:: - - Deprecated by VK_KHR_maintenance1 + - Deprecated by `VK_KHR_maintenance1` - Deprecated by Vulkan 1.1 This extension allows an application to specify a negative viewport height. The result is that the viewport transformation will flip along the y-axis. * Allow negative height to be specified in the - slink::VkViewport::pname:height field to perform y-inversion of the + slink:VkViewport::pname:height field to perform y-inversion of the clip-space to framebuffer-space transform. - This allows apps to avoid having to use gl_Position.y = -gl_Position.y + This allows apps to avoid having to use `gl_Position.y = -gl_Position.y` in shaders also targeting other APIs. === Deprecation by VK_KHR_maintenance1 and Vulkan 1.1 -Functionality in this extension is included in VK_KHR_maintenance1 and +Functionality in this extension is included in `VK_KHR_maintenance1` and Vulkan 1.1. Due to some slight behavioral differences, this extension must: not be -enabled alongside VK_KHR_maintenance1, or in an instance created with +enabled alongside `VK_KHR_maintenance1`, or in an instance created with version 1.1 or later requested in slink:VkApplicationInfo::pname:apiVersion. diff --git a/appendices/compressedtex.txt b/appendices/compressedtex.txt index 99a4b6b2..f83419c4 100644 --- a/appendices/compressedtex.txt +++ b/appendices/compressedtex.txt @@ -30,7 +30,7 @@ Specification. .Mapping of Vulkan BC formats to descriptions [width="90%",options="header",cols="5,4"] |==== -| VkFormat | <> description +| elink:VkFormat | <> description 2+^| Formats described in the "`S3TC Compressed Texture Image Formats`" chapter | ename:VK_FORMAT_BC1_RGB_UNORM_BLOCK |BC1 with no alpha | ename:VK_FORMAT_BC1_RGB_SRGB_BLOCK |BC1 with no alpha, sRGB-encoded @@ -63,7 +63,7 @@ Formats`" chapter of the <>. .Mapping of Vulkan ETC formats to descriptions [options="header",cols="1,1"] |==== -| VkFormat | <> description +| elink:VkFormat | <> description | ename:VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK |RGB ETC2 | ename:VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK |RGB ETC2 with sRGB encoding | ename:VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK |RGB ETC2 with punch-through alpha @@ -87,7 +87,7 @@ chapter of the <>. .Mapping of Vulkan ASTC formats to descriptions [width="75%",options="header",cols="63%,15%,22%"] |==== -| VkFormat ^| Compressed texel block dimensions ^| sRGB-encoded +| elink:VkFormat ^| Compressed texel block dimensions ^| sRGB-encoded | ename:VK_FORMAT_ASTC_4x4_UNORM_BLOCK ^|[eq]#4 {times} 4# ^|No | ename:VK_FORMAT_ASTC_4x4_SRGB_BLOCK ^|[eq]#4 {times} 4# ^|Yes | ename:VK_FORMAT_ASTC_5x4_UNORM_BLOCK ^|[eq]#5 {times} 4# ^|No diff --git a/appendices/glossary.txt b/appendices/glossary.txt index 6ffb670d..c8d2da88 100644 --- a/appendices/glossary.txt +++ b/appendices/glossary.txt @@ -157,7 +157,7 @@ endif::VK_AMD_shader_fragment_mask[] Color Renderable Format:: A elink:VkFormat where ename:VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT is set in the pname:optimalTilingFeatures or pname:linearTilingFeatures - field of VkFormatProperties::optimalTilingFeatures returned by + member of slink:VkFormatProperties returned by flink:vkGetPhysicalDeviceFormatProperties, depending on the tiling used. Color Sample Mask:: diff --git a/appendices/versions.txt b/appendices/versions.txt index 0caa400c..1109563f 100644 --- a/appendices/versions.txt +++ b/appendices/versions.txt @@ -69,13 +69,13 @@ command to <>. === New Object Types - * VkDescriptorUpdateTemplate - * VkSamplerYcbcrConversion + * slink:VkDescriptorUpdateTemplate + * slink:VkSamplerYcbcrConversion === New Defines - * VK_API_VERSION_1_1 + * dlink:VK_API_VERSION_1_1 === New Enum Constants diff --git a/chapters/VK_EXT_validation_cache/shader-module-validation-cache.txt b/chapters/VK_EXT_validation_cache/shader-module-validation-cache.txt index 2f37e4ed..b5679dd9 100644 --- a/chapters/VK_EXT_validation_cache/shader-module-validation-cache.txt +++ b/chapters/VK_EXT_validation_cache/shader-module-validation-cache.txt @@ -6,7 +6,7 @@ a slink:VkShaderModuleValidationCacheCreateInfoEXT to the pname:pNext chain of the slink:VkShaderModuleCreateInfo structure, specifying the cache object to use. -The VkShaderModuleValidationCacheCreateInfoEXT struct is defined as: +The sname:VkShaderModuleValidationCacheCreateInfoEXT struct is defined as: include::../../api/structs/VkShaderModuleValidationCacheCreateInfoEXT.txt[] @@ -14,7 +14,7 @@ include::../../api/structs/VkShaderModuleValidationCacheCreateInfoEXT.txt[] * pname:pNext is `NULL` or a pointer to an extension-specific structure. * pname:validationCache is the validation cache object from which the results of prior validation attempts will be written, and to which new - validation results for this VkShaderModule will be written (if not + validation results for this slink:VkShaderModule will be written (if not already present). include::../../validity/structs/VkShaderModuleValidationCacheCreateInfoEXT.txt[] diff --git a/chapters/cmdbuffers.txt b/chapters/cmdbuffers.txt index acc7c4c8..52556717 100644 --- a/chapters/cmdbuffers.txt +++ b/chapters/cmdbuffers.txt @@ -169,7 +169,7 @@ include::../api/protos/vkCreateCommandPool.txt[] .Valid Usage **** * [[VUID-vkCreateCommandPool-queueFamilyIndex-01937]] - sname:pCreateInfo::pname:queueFamilyIndex must: be the index of a queue + pname:pCreateInfo::pname:queueFamilyIndex must: be the index of a queue family available in the logical device pname:device. **** @@ -1362,7 +1362,7 @@ command buffer becomes <>. * [[VUID-vkCmdExecuteCommands-pInheritanceInfo-00098]] If fname:vkCmdExecuteCommands is being called within a render pass instance, the render passes specified in the - pname::pBeginInfo::pname:pInheritanceInfo::pname:renderPass members of + pname:pBeginInfo::pname:pInheritanceInfo::pname:renderPass members of the flink:vkBeginCommandBuffer commands used to begin recording each element of pname:pCommandBuffers must: be <> with the current render pass. diff --git a/chapters/devsandqueues.txt b/chapters/devsandqueues.txt index f7d3ae64..70c14dc1 100644 --- a/chapters/devsandqueues.txt +++ b/chapters/devsandqueues.txt @@ -1325,7 +1325,7 @@ endif::VK_EXT_global_priority[] [open,refpage='vkGetDeviceQueue',desc='Get a queue handle from a device',type='protos'] -- -To retrieve a handle to a VkQueue object, call: +To retrieve a handle to a slink:VkQueue object, call: include::../api/protos/vkGetDeviceQueue.txt[] @@ -1367,7 +1367,7 @@ ifdef::VK_VERSION_1_1[] [open,refpage='vkGetDeviceQueue2',desc='Get a queue handle from a device',type='protos'] -- -To retrieve a handle to a VkQueue object with specific +To retrieve a handle to a slink:VkQueue object with specific pname:VkDeviceQueueCreateFlags creation flags, call: include::../api/protos/vkGetDeviceQueue2.txt[] diff --git a/chapters/dispatch.txt b/chapters/dispatch.txt index 878f3057..fc13ef23 100644 --- a/chapters/dispatch.txt +++ b/chapters/dispatch.txt @@ -420,7 +420,7 @@ When the command is executed, a global workgroup consisting of is assembled, with code:WorkgroupId values ranging from [eq]#[baseGroup, baseGroup {plus} groupCount)# in each component. flink:vkCmdDispatch is equivalent to -vkCmdDispatchBase(0,0,0,groupCountX,groupCountY,groupCountZ). +`vkCmdDispatchBase(0,0,0,groupCountX,groupCountY,groupCountZ)`. .Valid Usage **** diff --git a/chapters/features.txt b/chapters/features.txt index fe1197a9..fafe6d29 100755 --- a/chapters/features.txt +++ b/chapters/features.txt @@ -3387,7 +3387,7 @@ It may: not be possible to reach this limit in every stage. 8:: The minimum ptext:maxDescriptorSet* limit is _n_ times the corresponding _specification_ minimum ptext:maxPerStageDescriptor* limit, where _n_ is - the number of shader stages supported by the VkPhysicalDevice. + the number of shader stages supported by the slink:VkPhysicalDevice. If all shader stages are supported, _n_ = 6 (vertex, tessellation control, tessellation evaluation, geometry, fragment, compute). @@ -4718,7 +4718,9 @@ element, rather than individual components occupying a single data element: A "`format`" is represented by a single enum value. The name of a format is usually built up by using the following pattern: +.... VK_FORMAT_{component-format|compression-scheme}_{numeric-format} +.... The component-format indicates either the size of the R, G, B, and A components (if they are present) in the case of a color format, or the size diff --git a/chapters/fragops.txt b/chapters/fragops.txt index b1453a16..3c8eef66 100644 --- a/chapters/fragops.txt +++ b/chapters/fragops.txt @@ -773,7 +773,7 @@ stencil value. [open,refpage='VkCompareOp',desc='Stencil comparison function',type='enums'] -- -Possible values of VkStencilOpState::pname:compareOp, specifying the stencil +Possible values of slink:VkStencilOpState::pname:compareOp, specifying the stencil comparison function, are: include::../api/enums/VkCompareOp.txt[] diff --git a/chapters/framebuffer.txt b/chapters/framebuffer.txt index d701ea26..96206581 100644 --- a/chapters/framebuffer.txt +++ b/chapters/framebuffer.txt @@ -225,7 +225,7 @@ The semantics of each enum value is described in the table below: .Blend Factors [width="100%",options="header",align="center",cols="59%,28%,13%"] |==== -|VkBlendFactor | RGB Blend Factors [eq]#(S~r~,S~g~,S~b~)# or [eq]#(D~r~,D~g~,D~b~)# | Alpha Blend Factor ([eq]#S~a~# or [eq]#D~a~#) +|elink:VkBlendFactor | RGB Blend Factors [eq]#(S~r~,S~g~,S~b~)# or [eq]#(D~r~,D~g~,D~b~)# | Alpha Blend Factor ([eq]#S~a~# or [eq]#D~a~#) |ename:VK_BLEND_FACTOR_ZERO | [eq]#(0,0,0)# | [eq]#0# |ename:VK_BLEND_FACTOR_ONE | [eq]#(1,1,1)# | [eq]#1# |ename:VK_BLEND_FACTOR_SRC_COLOR | [eq]#(R~s0~,G~s0~,B~s0~)# | [eq]#A~s0~# @@ -348,7 +348,7 @@ below: .Basic Blend Operations [width="100%",cols="45%,30%,25%",options="header",align="center"] |==== -|VkBlendOp | RGB Components | Alpha Component +|elink:VkBlendOp | RGB Components | Alpha Component |ename:VK_BLEND_OP_ADD | [eq]#R = R~s0~ {times} S~r~ {plus} R~d~ {times} D~r~# + diff --git a/chapters/initialization.txt b/chapters/initialization.txt index eb5badc9..7bcbe8d7 100644 --- a/chapters/initialization.txt +++ b/chapters/initialization.txt @@ -345,7 +345,7 @@ Architecture Overview">> document for additional information. ==== Providing a `NULL` sname:VkInstanceCreateInfo::pname:pApplicationInfo or providing an pname:apiVersion of 0 is equivalent to providing an -pname:apiVersion of VK_MAKE_VERSION(1,0,0). +pname:apiVersion of `VK_MAKE_VERSION(1,0,0)`. ==== endif::VK_VERSION_1_1[] diff --git a/chapters/memory.txt b/chapters/memory.txt index f1e360ae..e5e157bb 100644 --- a/chapters/memory.txt +++ b/chapters/memory.txt @@ -1392,7 +1392,7 @@ ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT, ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, or ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, - VkExportMemoryWin32HandleInfoKHR must: not be in the pname:pNext chain + sname:VkExportMemoryWin32HandleInfoKHR must: not be in the pname:pNext chain of slink:VkMemoryAllocateInfo. **** diff --git a/chapters/primsrast.txt b/chapters/primsrast.txt index 9d232e8b..5d6d3b17 100644 --- a/chapters/primsrast.txt +++ b/chapters/primsrast.txt @@ -590,19 +590,19 @@ the number of samples of the color attachments used in the subpass or, if the subpass does not use any color attachments, endif::VK_AMD_mixed_attachment_samples[] the value of -slink:VkPipelineMultisampleStateCreateInfo::pname.rasterizationSamples +slink:VkPipelineMultisampleStateCreateInfo::pname:rasterizationSamples specified at pipeline creation time. These are associated with the samples in an implementation-dependent manner. -When pname:minSampleShadingFactor is 1.0, a separate set of associated data -are evaluated for each sample, and each set of values is evaluated at the -sample location. +When pname:minSampleShadingFactor is `1.0`, a separate set of associated +data are evaluated for each sample, and each set of values is evaluated at +the sample location. Sample shading is enabled for a graphics pipeline: * If the interface of the fragment shader entry point of the graphics pipeline includes an input variable decorated with code:SampleId or code:SamplePosition. - In this case pname:minSampleShadingFactor takes the value 1.0. + In this case pname:minSampleShadingFactor takes the value `1.0`. * Else if the pname:sampleShadingEnable member of the slink:VkPipelineMultisampleStateCreateInfo structure specified when creating the graphics pipeline is set to ename:VK_TRUE. diff --git a/chapters/renderpass.txt b/chapters/renderpass.txt index 565635bc..a9c7914a 100644 --- a/chapters/renderpass.txt +++ b/chapters/renderpass.txt @@ -385,16 +385,16 @@ The values written to code:Position and code:ViewportMaskNV must: not depend on the values written to code:PositionPerViewNV and code:ViewportMaskPerViewNV, or vice versa (to allow compilers to eliminate the unused outputs). -All attributes that do not have *PerViewNV counterparts must: not depend on -code:ViewIndex. +All attributes that do not have `*PerViewNV` counterparts must: not depend +on code:ViewIndex. Per-view attributes are all-or-nothing for a subpass. That is, all pipelines compiled against a subpass that includes the ename:VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX bit must: write -per-view attributes to the *PerViewNV[] shader outputs, in addition to the +per-view attributes to the `*PerViewNV[]` shader outputs, in addition to the non-per-view (e.g. code:Position) outputs. Pipelines compiled against a subpass that does not include this bit must: -not include the *PerViewNV[] outputs in their interfaces. +not include the `*PerViewNV[]` outputs in their interfaces. endif::VK_NVX_multiview_per_view_attributes[] @@ -913,7 +913,7 @@ ifdef::VK_NVX_multiview_per_view_attributes[] shaders compiled for this subpass write the attributes for all views in a single invocation of each vertex processing stage. All pipelines compiled against a subpass that includes this bit must: - write per-view attributes to the code:*PerViewNV[] shader outputs, in + write per-view attributes to the `*PerViewNV[]` shader outputs, in addition to the non-per-view (e.g. code:Position) outputs. * ename:VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX specifies that shaders compiled for this subpass use per-view positions which only diff --git a/chapters/resources.txt b/chapters/resources.txt index ac4fc7ab..662b07a8 100644 --- a/chapters/resources.txt +++ b/chapters/resources.txt @@ -138,7 +138,7 @@ ifdef::VK_VERSION_1_1,VK_KHR_external_memory[] If the pname:pNext chain contains an instance of slink:VkExternalMemoryBufferCreateInfo, its pname:handleTypes member must: only contain bits that are also in - slink:VkExternalBufferProperties::pname:externalMemoryProperties.pname:compatibleHandleTypes, + slink:VkExternalBufferProperties::pname:externalMemoryProperties.compatibleHandleTypes, as returned by flink:vkGetPhysicalDeviceExternalBufferProperties with pname:pExternalBufferInfo\->pname:handleType equal to any one of the handle types specified in @@ -623,7 +623,7 @@ endif::VK_VERSION_1_1,VK_KHR_get_physical_device_properties2[] ifndef::VK_VERSION_1_1,VK_KHR_get_physical_device_properties2[] flink:vkGetPhysicalDeviceImageFormatProperties. endif::VK_VERSION_1_1,VK_KHR_get_physical_device_properties2[] -returns success and the parameters to vkCreateImage are all within the +returns success and the parameters to fname:vkCreateImage are all within the returned limits, fname:vkCreateImage must: fail and return ename:VK_ERROR_OUT_OF_DEVICE_MEMORY if the resulting size of the image would be larger than pname:maxResourceSize. @@ -892,7 +892,7 @@ endif::VK_NV_external_memory[] If the pname:pNext chain contains an instance of slink:VkExternalMemoryImageCreateInfo, its pname:handleTypes member must: only contain bits that are also in - slink:VkExternalImageFormatProperties::pname:externalMemoryProperties::pname:compatibleHandleTypes, + slink:VkExternalImageFormatProperties::pname:externalMemoryProperties.compatibleHandleTypes, as returned by flink:vkGetPhysicalDeviceImageFormatProperties2 with pname:format, pname:imageType, pname:tiling, pname:usage, and pname:flags equal to those in this structure, and with an instance of @@ -905,7 +905,7 @@ ifdef::VK_NV_external_memory+VK_NV_external_memory_capabilities[] If the pname:pNext chain contains an instance of slink:VkExternalMemoryImageCreateInfoNV, its pname:handleTypes member must: only contain bits that are also in - slink:VkExternalImageFormatPropertiesNV::pname:externalMemoryProperties::pname:compatibleHandleTypes, + slink:VkExternalImageFormatPropertiesNV::pname:externalMemoryProperties.compatibleHandleTypes, as returned by flink:vkGetPhysicalDeviceExternalImageFormatPropertiesNV with pname:format, pname:imageType, pname:tiling, pname:usage, and pname:flags equal to those in this structure, and with diff --git a/chapters/synchronization.txt b/chapters/synchronization.txt index 1c3e0522..b0e985b2 100644 --- a/chapters/synchronization.txt +++ b/chapters/synchronization.txt @@ -1137,8 +1137,8 @@ ename:VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT * [[VUID-VkExportFenceWin32HandleInfoKHR-handleTypes-01447]] If slink:VkExportFenceCreateInfo::pname:handleTypes does not include ename:VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT, - VkExportFenceWin32HandleInfoKHR must: not be in the pname:pNext chain of - slink:VkFenceCreateInfo. + sname:VkExportFenceWin32HandleInfoKHR must: not be in the pname:pNext + chain of slink:VkFenceCreateInfo. **** include::../validity/structs/VkExportFenceWin32HandleInfoKHR.txt[] @@ -1246,18 +1246,18 @@ file descriptor when it is no longer needed. .Note ==== Ownership can be released in many ways. -For example, the application can call fname:close() on the file descriptor, +For example, the application can call code:close() on the file descriptor, or transfer ownership back to Vulkan by using the file descriptor to import a fence payload. ==== -If pname:pGetFdInfo::pname:handleType is +If pname:pGetFdInfo\->pname:handleType is ename:VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT and the fence is signaled at -the time `vkGetFenceFdKHR` is called, pname:pFd may: return the value `-1` -instead of a valid file descriptor. +the time fname:vkGetFenceFdKHR is called, pname:pFd may: return the value +`-1` instead of a valid file descriptor. Where supported by the operating system, the implementation must: set the -file descriptor to be closed automatically when an fname:execve system call +file descriptor to be closed automatically when an code:execve system call is made. Exporting a file descriptor from a fence may: have side effects depending on @@ -2204,12 +2204,12 @@ file descriptor when it is no longer needed. .Note ==== Ownership can be released in many ways. -For example, the application can call fname:close() on the file descriptor, +For example, the application can call code:close() on the file descriptor, or transfer ownership back to Vulkan by using the file descriptor to import a semaphore payload. ==== Where supported by the operating system, the implementation must: set the -file descriptor to be closed automatically when an fname:execve system call +file descriptor to be closed automatically when an code:execve system call is made. Exporting a file descriptor from a semaphore may: have side effects @@ -3479,7 +3479,7 @@ include::../validity/protos/vkCmdPipelineBarrier.txt[] [open,refpage='VkDependencyFlagBits',desc='Bitmask specifying how execution and memory dependencies are formed',type='enums'] -- -Bits which can: be set in vkCmdPipelineBarrier::pname:dependencyFlags, +Bits which can: be set in fname:vkCmdPipelineBarrier::pname:dependencyFlags, specifying how execution and memory dependencies are formed, are: include::../api/enums/VkDependencyFlagBits.txt[] diff --git a/chapters/vertexpostproc.txt b/chapters/vertexpostproc.txt index babd8ab1..58fbd686 100644 --- a/chapters/vertexpostproc.txt +++ b/chapters/vertexpostproc.txt @@ -91,14 +91,16 @@ Each component is of type elink:VkViewportCoordinateSwizzleNV, which determines the type of swizzle for that component. The value of pname:x computes the new x component of the position as: - if (x == VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV) x' = x; if (x == - VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV) x' = -x; if (x == - VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV) x' = y; if (x == - VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV) x' = -y; if (x == - VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV) x' = z; if (x == - VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV) x' = -z; if (x == - VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV) x' = w; if (x == - VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV) x' = -w; +.... + if (x == VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV) x' = x; + if (x == VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV) x' = -x; + if (x == VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV) x' = y; + if (x == VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV) x' = -y; + if (x == VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV) x' = z; + if (x == VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV) x' = -z; + if (x == VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV) x' = w; + if (x == VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV) x' = -w; +.... Similar selections are performed for the pname:y, pname:z, and pname:w coordinates.