nxdk_pgraph_tests
A collection of tests for the Xbox nv2a graphics processor
 
Loading...
Searching...
No Matches
FrontFaceTests Class Reference

#include <front_face_tests.h>

Inheritance diagram for FrontFaceTests:
Collaboration diagram for FrontFaceTests:

Public Member Functions

 FrontFaceTests (TestHost &host, std::string output_dir, const Config &config)
 
void Initialize () override
 Called to initialize the test suite.
 
- Public Member Functions inherited from TestSuite
 TestSuite (TestHost &host, std::string output_dir, std::string suite_name, const Config &config)
 
const std::string & Name () const
 
virtual void Deinitialize ()
 Called to tear down the test suite.
 
virtual void SetupTest ()
 Called before running an individual test within this suite.
 
virtual void TearDownTest ()
 Called after running an individual test within this suite.
 
void DisableTests (const std::set< std::string > &tests_to_skip)
 
std::vector< std::string > TestNames () const
 
bool HasEnabledTests () const
 
void Run (const std::string &test_name)
 
void RunAll ()
 
void SetSavingAllowed (bool enable=true)
 

Additional Inherited Members

- Static Public Member Functions inherited from TestSuite
static void TagNV2ATrace (uint32_t num_nops)
 Inserts a pattern of NV097_NO_OPERATION's into the pushbuffer to allow identification when viewing nv2a traces.
 
- Protected Member Functions inherited from TestSuite
void SetDefaultTextureFormat () const
 
- Protected Attributes inherited from TestSuite
TestHosthost_
 
std::string output_dir_
 
std::string suite_name_
 
bool allow_saving_ {true}
 
std::map< std::string, std::function< void()> > tests_ {}
 
PGRAPHDiffToken pgraph_diff_
 
bool enable_progress_log_
 
bool enable_pgraph_region_diff_
 
uint32_t delay_milliseconds_between_tests_
 
std::shared_ptr< FTPLoggerftp_logger_
 

Detailed Description

Tests handling of NV097_SET_FRONT_FACE and NV097_SET_CULL_FACE, including degenerate winding values.

Constructor & Destructor Documentation

◆ FrontFaceTests()

FrontFaceTests::FrontFaceTests ( TestHost host,
std::string  output_dir,
const Config config 
)

Initializes the test suite and creates test cases.

Remarks
FrontFace_0_CF_B Sets the winding to 0 with back faces culled. Prior to starting the test, NV097_SET_FRONT_FACE is set to CW. Only the right quad should be rendered.
FrontFace_0_CF_F Sets the winding to 0 with front faces culled. Prior to starting the test, NV097_SET_FRONT_FACE is set to CW. Only the left quad should be rendered.
FrontFace_0_CF_FaB Sets the winding to 0 with front and back faces culled. Prior to starting the test, NV097_SET_FRONT_FACE is set to CW. Neither quad should be rendered.
FrontFace_63_CF_B Sets the winding to 0x63 with back faces culled. Prior to starting the test, NV097_SET_FRONT_FACE is set to CW. Only the right quad should be rendered.
FrontFace_63_CF_F Sets the winding to 0x63 with front faces culled. Prior to starting the test, NV097_SET_FRONT_FACE is set to CW. Only the left quad should be rendered.
FrontFace_63_CF_FaB Sets the winding to 0x63 with front and back faces culled. Prior to starting the test, NV097_SET_FRONT_FACE is set to CW. Neither quad should be rendered.
FrontFace_CCW_CF_B Sets the winding to counter-clockwise with back faces culled. Prior to starting the test, NV097_SET_FRONT_FACE is set to CW. Only the left quad should be rendered.
FrontFace_CCW_CF_F Sets the winding to counter-clockwise with front faces culled. Prior to starting the test, NV097_SET_FRONT_FACE is set to CW. Only the right quad should be rendered.
FrontFace_CCW_CF_FaB Sets the winding to counter-clockwise with front and back faces culled. Prior to starting the test, NV097_SET_FRONT_FACE is set to CW. Neither quad should be rendered.
FrontFace_CW_CF_B Sets the winding to clockwise with back faces culled. Prior to starting the test, NV097_SET_FRONT_FACE is set to CCW. Only the right quad should be rendered.
FrontFace_CW_CF_F Sets the winding to clockwise with front faces culled. Prior to starting the test, NV097_SET_FRONT_FACE is set to CCW. Only the left quad should be rendered.
FrontFace_CW_CF_FaB Sets the winding to clockwise with front and back faces culled. Prior to starting the test, NV097_SET_FRONT_FACE is set to CCW. Neither quad should be rendered.

Member Function Documentation

◆ Initialize()

void FrontFaceTests::Initialize ( )
overridevirtual

Called to initialize the test suite.

Reimplemented from TestSuite.


The documentation for this class was generated from the following files: