summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Leech <devrel@oddhack.org>2017-10-26 16:24:40 -0700
committerGitHub <noreply@github.com>2017-10-26 16:24:40 -0700
commite88b64bbc745d92c65bde64e81d88dfa0677d32b (patch)
tree11dcfc35258983d798b38f8d07f32d2efdd2c723
parentebbc2b66d482a88055ddf06fbee5edebfdf906f7 (diff)
parentfaa702c44d7f1fc9d4018b549fc2c1aff166b8f6 (diff)
downloadvulkan-spec-e88b64bbc745d92c65bde64e81d88dfa0677d32b.zip
vulkan-spec-e88b64bbc745d92c65bde64e81d88dfa0677d32b.tar.xz
Merge pull request #587 from krOoze/fix_VkPipelineViewportWScalingStateCreateInfoNV_VU
Update VkPipelineViewportWScalingStateCreateInfoNV
-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 4827609..5121410 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 7f2a35f..c2494fb 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[]