summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetr Kraus <petr_kraus@email.cz>2017-10-18 12:41:42 +0200
committerPetr Kraus <petr_kraus@email.cz>2017-10-18 12:41:42 +0200
commitfaa702c44d7f1fc9d4018b549fc2c1aff166b8f6 (patch)
tree87d372069762d0425b67f264307855dd5fb32f0a
parent52d809dd04be4b063adb715eb5a2114e30a9f6d4 (diff)
downloadvulkan-spec-faa702c44d7f1fc9d4018b549fc2c1aff166b8f6.zip
vulkan-spec-faa702c44d7f1fc9d4018b549fc2c1aff166b8f6.tar.xz
Update VkPipelineViewportWScalingStateCreateInfoNV
- fix bad description (VU like) block + some tweaks - remove redundant VUs (redundant due to required equality to `VkPipelineViewportStateCreateInfo::viewportCount`) - move `viewportCount` equality VU to `VkPipelineViewportStateCreateInfo` where it belongs - make a dynamic state related VU in `VkGraphicsPipelineCreateInfo`
-rw-r--r--doc/specs/vulkan/chapters/VK_NV_clip_space_w_scaling/vertexpostproc.txt43
-rw-r--r--doc/specs/vulkan/chapters/pipelines.txt12
-rw-r--r--doc/specs/vulkan/chapters/vertexpostproc.txt7
3 files changed, 29 insertions, 33 deletions
diff --git a/doc/specs/vulkan/chapters/VK_NV_clip_space_w_scaling/vertexpostproc.txt b/doc/specs/vulkan/chapters/VK_NV_clip_space_w_scaling/vertexpostproc.txt
index c5c09b5..34aa903 100644
--- a/doc/specs/vulkan/chapters/VK_NV_clip_space_w_scaling/vertexpostproc.txt
+++ b/doc/specs/vulkan/chapters/VK_NV_clip_space_w_scaling/vertexpostproc.txt
@@ -1,8 +1,8 @@
[[vertexpostproc-viewportwscaling]]
== Controlling Viewport W Scaling
-If viewport W scaling is enabled, the W component of the clip coordinate is
-modified by the provided coefficients from the corresponding viewport as
+If viewport *W* scaling is enabled, the *W* component of the clip coordinate
+is modified by the provided coefficients from the corresponding viewport as
follows.
:: [eq]#w~c~' = x~coeff~ x~c~ {plus} y~coeff~ y~c~ {plus} w~c~#
@@ -15,40 +15,17 @@ as:
include::../../api/structs/VkPipelineViewportWScalingStateCreateInfoNV.txt[]
- * pname:sType is the type of this structure
- * pname:pNext is `NULL` or a pointer to an extension-specific structure
- * pname:viewportWScalingEnable is the enable for viewport W scaling
- * pname:viewportCount is the number of viewports used by W scaling and
- must: match the number of viewports in the pipeline if viewport W
+ * pname:sType is the type of this structure.
+ * pname:pNext is `NULL` or a pointer to an extension-specific structure.
+ * pname:viewportWScalingEnable controls whether viewport *W* scaling is
+ enabled.
+ * pname:viewportCount is the number of viewports used by *W* scaling, and
+ must: match the number of viewports in the pipeline if viewport *W*
scaling is enabled.
* pname:pViewportWScalings is a pointer to an array of
- sname:VkViewportWScalingNV structures which define the W scaling
+ sname:VkViewportWScalingNV structures, which define the *W* scaling
parameters for the corresponding viewport.
- If the viewport W scaling state is dynamic, this member is ignored.
- * If no element of the pname:pDynamicStates member of
- sname::VkPipelineViewportStateCreateInfo::pname:pDynamicState is
- ename:VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV, the
- pname:pViewportScalings member of a
- sname:VkPipelineViewportWScalingStateCreateInfoNV extension structure
- must: be a pointer to an array of
- sname:VkPipelineViewportWScalingStateCreateInfoNV::pname:viewportCount
- sname:VkViewportWScalingNV structures
-
-.Valid Usage
-****
- * [[VUID-VkPipelineViewportWScalingStateCreateInfoNV-viewportWScalingEnable-01319]]
- If the <<features-features-multiViewport,multiple viewports>> feature is
- not enabled and pname:viewportWScalingEnable is ename:VK_TRUE,
- pname:viewportCount must: be `1`
- * [[VUID-VkPipelineViewportWScalingStateCreateInfoNV-viewportCount-01320]]
- pname:viewportCount must: be between `1` and
- sname:VkPhysicalDeviceLimits::pname:maxViewports, inclusive if
- pname:viewportWScalingEnable is ename:VK_TRUE
- * [[VUID-VkPipelineViewportWScalingStateCreateInfoNV-viewportCount-01321]]
- pname:viewportCount and
- sname:VkPipelineViewportStateCreateInfo::pname:viewportCount must: be
- identical if pname:viewportWScalingEnable is ename:VK_TRUE
-****
+ If the viewport *W* scaling state is dynamic, this member is ignored.
include::../../validity/structs/VkPipelineViewportWScalingStateCreateInfoNV.txt[]
--
diff --git a/doc/specs/vulkan/chapters/pipelines.txt b/doc/specs/vulkan/chapters/pipelines.txt
index d33f0ba..a03ed1b 100644
--- a/doc/specs/vulkan/chapters/pipelines.txt
+++ b/doc/specs/vulkan/chapters/pipelines.txt
@@ -771,6 +771,18 @@ endif::VK_KHR_maintenance2[]
The number of resources in pname:layout accessible to each shader stage
that is used by the pipeline must: be less than or equal to
sname:VkPhysicalDeviceLimits::pname:maxPerStageResources
+ifdef::VK_NV_clip_space_w_scaling[]
+ * If no element of the pname:pDynamicStates member of pname:pDynamicState
+ is ename:VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV, and the
+ pname:viewportWScalingEnable member of a
+ slink:VkPipelineViewportWScalingStateCreateInfoNV structure, chained to
+ the pname:pNext chain of pname:pViewportState, is ename:VK_TRUE,
+ the pname:pViewportWScalings member of the
+ slink:VkPipelineViewportWScalingStateCreateInfoNV must: be a pointer to
+ an array of
+ slink:VkPipelineViewportWScalingStateCreateInfoNV::pname:viewportCount
+ valid slink:VkViewportWScalingNV structures
+endif::VK_NV_clip_space_w_scaling[]
****
include::../validity/structs/VkGraphicsPipelineCreateInfo.txt[]
diff --git a/doc/specs/vulkan/chapters/vertexpostproc.txt b/doc/specs/vulkan/chapters/vertexpostproc.txt
index b5ee8e2..c49ada1 100644
--- a/doc/specs/vulkan/chapters/vertexpostproc.txt
+++ b/doc/specs/vulkan/chapters/vertexpostproc.txt
@@ -494,6 +494,13 @@ include::../api/structs/VkPipelineViewportStateCreateInfo.txt[]
sname:VkPhysicalDeviceLimits::pname:maxViewports, inclusive
* [[VUID-VkPipelineViewportStateCreateInfo-scissorCount-01220]]
pname:scissorCount and pname:viewportCount must: be identical
+ifdef::VK_NV_clip_space_w_scaling[]
+ * If the pname:viewportWScalingEnable member of a
+ slink:VkPipelineViewportWScalingStateCreateInfoNV structure chained to
+ the pname:pNext chain is ename:VK_TRUE, the pname:viewportCount member
+ of the slink:VkPipelineViewportWScalingStateCreateInfoNV structure must:
+ be equal to pname:viewportCount
+endif::VK_NV_clip_space_w_scaling[]
****
include::../validity/structs/VkPipelineViewportStateCreateInfo.txt[]