Random markup fixes
This commit is contained in:
parent
0d5f92c7fa
commit
9adcc2f19f
|
@ -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.
|
||||
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ Specification.
|
|||
.Mapping of Vulkan BC formats to descriptions
|
||||
[width="90%",options="header",cols="5,4"]
|
||||
|====
|
||||
| VkFormat | <<data-format,Khronos Data Format Specification>> description
|
||||
| elink:VkFormat | <<data-format,Khronos Data Format Specification>> 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 <<data-format,Khronos Data Format Specification>>.
|
|||
.Mapping of Vulkan ETC formats to descriptions
|
||||
[options="header",cols="1,1"]
|
||||
|====
|
||||
| VkFormat | <<data-format,Khronos Data Format Specification>> description
|
||||
| elink:VkFormat | <<data-format,Khronos Data Format Specification>> 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 <<data-format,Khronos Data Format Specification>>.
|
|||
.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
|
||||
|
|
|
@ -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::
|
||||
|
|
|
@ -69,13 +69,13 @@ command to <<vkEnumerateInstanceVersion, enumerate the instance version>>.
|
|||
|
||||
=== 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
|
||||
|
|
|
@ -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[]
|
||||
|
|
|
@ -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 <<commandbuffers-lifecycle, invalid>>.
|
|||
* [[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
|
||||
<<renderpass-compatibility,compatible>> with the current render pass.
|
||||
|
|
|
@ -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[]
|
||||
|
|
|
@ -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
|
||||
****
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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[]
|
||||
|
|
|
@ -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~# +
|
||||
|
|
|
@ -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[]
|
||||
|
||||
|
|
|
@ -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.
|
||||
****
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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[]
|
||||
|
|
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue