1// Copyright (c) 2018-2020 NVIDIA Corporation
2//
3// SPDX-License-Identifier: CC-BY-4.0
4
5include::{generated}/meta/{refprefix}VK_NV_scissor_exclusive.adoc[]
6
7=== Other Extension Metadata
8
9*Last Modified Date*::
10    2023-01-18
11*IP Status*::
12    No known IP claims.
13*Interactions and External Dependencies*::
14    None
15*Contributors*::
16  - Pat Brown, NVIDIA
17  - Jeff Bolz, NVIDIA
18  - Piers Daniell, NVIDIA
19  - Daniel Koch, NVIDIA
20
21=== Description
22
23This extension adds support for an exclusive scissor test to Vulkan.
24The exclusive scissor test behaves like the scissor test, except that the
25exclusive scissor test fails for pixels inside the corresponding rectangle
26and passes for pixels outside the rectangle.
27If the same rectangle is used for both the scissor and exclusive scissor
28tests, the exclusive scissor test will pass if and only if the scissor test
29fails.
30
31Version 2 of this extension introduces
32ename:VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV and
33flink:vkCmdSetExclusiveScissorEnableNV.
34Applications that use this dynamic state must ensure the implementation
35advertises at least pname:specVersion `2` of this extension.
36
37include::{generated}/interfaces/VK_NV_scissor_exclusive.adoc[]
38
39=== Issues
40
411) For the scissor test, the viewport state must be created with a matching
42number of scissor and viewport rectangles.
43Should we have the same requirement for exclusive scissors?
44
45*RESOLVED*: For exclusive scissors, we relax this requirement and allow an
46exclusive scissor rectangle count that is either zero or equal to the number
47of viewport rectangles.
48If you pass in an exclusive scissor count of zero, the exclusive scissor
49test is treated as disabled.
50
51=== Version History
52
53  * Revision 2, 2023-01-18 (Piers Daniell)
54  ** Add dynamic state for explicit exclusive scissor enables
55
56  * Revision 1, 2018-07-31 (Pat Brown)
57  ** Internal revisions
58