Navigate to the top level

Stencil_func

Description
Tests the behavior of NV097_SET_STENCIL_FUNC (0x00000364).
Each test renders a series of red quads unconditionally, then renders an invisible quad on top to set the value of the stencil buffer to various test values. Finally, a green quad is rendered across all test patches using the selected stencil function, causing areas that pass the function to turn green, while failing pixels remain red.
Suite class def

Always

Tests NV097_SET_STENCIL_FUNC_V_ALWAYS - the entire test region should be green.

Image with alpha
Test result for Stencil_func::Always
Image as seen on display
No alpha test result for Stencil_func::Always

Always_ZB

Image with alpha
Test result for Stencil_func::Always_ZB
Image as seen on display
No alpha test result for Stencil_func::Always_ZB

Equal

Tests NV097_SET_STENCIL_FUNC_V_EQUAL - only the 0x7F patch should be green.

Image with alpha
Test result for Stencil_func::Equal
Image as seen on display
No alpha test result for Stencil_func::Equal

Equal_ZB

Image with alpha
Test result for Stencil_func::Equal_ZB
Image as seen on display
No alpha test result for Stencil_func::Equal_ZB

Greater

Tests NV097_SET_STENCIL_FUNC_V_GREATER - all patches less than 0x7F and the test area (stencil = 0) should be green.

Image with alpha
Test result for Stencil_func::Greater
Image as seen on display
No alpha test result for Stencil_func::Greater

Greater_ZB

Image with alpha
Test result for Stencil_func::Greater_ZB
Image as seen on display
No alpha test result for Stencil_func::Greater_ZB

GreaterThanOrEqual

Tests NV097_SET_STENCIL_FUNC_V_GEQUAL - the test area (stencil = 0) and all patches less than 0x7F and the 0x7F patch should be green.

Image with alpha
Test result for Stencil_func::GreaterThanOrEqual
Image as seen on display
No alpha test result for Stencil_func::GreaterThanOrEqual

GreaterThanOrEqual_ZB

Image with alpha
Test result for Stencil_func::GreaterThanOrEqual_ZB
Image as seen on display
No alpha test result for Stencil_func::GreaterThanOrEqual_ZB

Less

Tests NV097_SET_STENCIL_FUNC_V_LESS - all patches greater than 0x7F should be green.

Image with alpha
Test result for Stencil_func::Less
Image as seen on display
No alpha test result for Stencil_func::Less

Less_ZB

Image with alpha
Test result for Stencil_func::Less_ZB
Image as seen on display
No alpha test result for Stencil_func::Less_ZB

LessThanOrEqual

Tests NV097_SET_STENCIL_FUNC_V_LEQUAL - all patches greater than 0x7F and the 0x7F patch should be green.

Image with alpha
Test result for Stencil_func::LessThanOrEqual
Image as seen on display
No alpha test result for Stencil_func::LessThanOrEqual

LessThanOrEqual_ZB

Image with alpha
Test result for Stencil_func::LessThanOrEqual_ZB
Image as seen on display
No alpha test result for Stencil_func::LessThanOrEqual_ZB

Never

Tests NV097_SET_STENCIL_FUNC_V_NEVER - all patches should be blue.

Image with alpha
Test result for Stencil_func::Never
Image as seen on display
No alpha test result for Stencil_func::Never

Never_ZB

Image with alpha
Test result for Stencil_func::Never_ZB
Image as seen on display
No alpha test result for Stencil_func::Never_ZB

NotEqual

Tests NV097_SET_STENCIL_FUNC_V_NOTEQUAL - the 0x7F patch should be blue, all other patches and the test area (stencil = 0) should be green.

Image with alpha
Test result for Stencil_func::NotEqual
Image as seen on display
No alpha test result for Stencil_func::NotEqual

NotEqual_ZB

Image with alpha
Test result for Stencil_func::NotEqual_ZB
Image as seen on display
No alpha test result for Stencil_func::NotEqual_ZB