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

#include <three_d_primitive_tests.h>

Inheritance diagram for ThreeDPrimitiveTests:
Collaboration diagram for ThreeDPrimitiveTests:

Public Types

enum  DrawMode { DRAW_ARRAYS , DRAW_INLINE_BUFFERS , DRAW_INLINE_ARRAYS , DRAW_INLINE_ELEMENTS }
 

Public Member Functions

 ThreeDPrimitiveTests (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 behavior when rendering various 3D primitives.

Constructor & Destructor Documentation

◆ ThreeDPrimitiveTests()

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

Initializes the test suite and creates test cases.

Remarks
LineLoop-inlinearrays-ls-ps Draws vertices as a line loop using NV097_INLINE_ARRAY with line smoothing and polygon smoothing enabled.
LineLoop-inlinearrays-ls Draws vertices as a line loop using NV097_INLINE_ARRAY with line smoothing enabled.
LineLoop-inlinearrays-ps Draws vertices as a line loop using NV097_INLINE_ARRAY with polygon smoothing enabled.
LineLoop-inlinearrays Draws vertices as a line loop using NV097_INLINE_ARRAY
LineLoop-inlinebuf-ls-ps Draws vertices as a line loop using NV097_SET_VERTEX3F with line smoothing and polygon smoothing enabled.
LineLoop-inlinebuf-ls Draws vertices as a line loop using NV097_SET_VERTEX3F with line smoothing enabled.
LineLoop-inlinebuf-ps Draws vertices as a line loop using NV097_SET_VERTEX3F with polygon smoothing enabled.
LineLoop-inlinebuf Draws vertices as a line loop using NV097_SET_VERTEX3F
LineLoop-inlineelements-ls-ps Draws vertices as a line loop using NV097_ARRAY_ELEMENT16 with line smoothing and polygon smoothing enabled.
LineLoop-inlineelements-ls Draws vertices as a line loop using NV097_ARRAY_ELEMENT16 with line smoothing enabled.
LineLoop-inlineelements-ps Draws vertices as a line loop using NV097_ARRAY_ELEMENT16 with polygon smoothing enabled.
LineLoop-inlineelements Draws vertices as a line loop using NV097_ARRAY_ELEMENT16
LineLoop-ls-ps Draws vertices as a line loop using NV097_DRAW_ARRAYS with line smoothing and polygon smoothing enabled.
LineLoop-ls Draws vertices as a line loop using NV097_DRAW_ARRAYS with line smoothing enabled.
LineLoop-ps Draws vertices as a line loop using NV097_DRAW_ARRAYS with polygon smoothing enabled.
LineLoop Draws vertices as a line loop using NV097_DRAW_ARRAYS
LineStrip-inlinearrays-ls-ps Draws vertices as a line strip using NV097_INLINE_ARRAY with line and polygon smoothing enabled.
LineStrip-inlinearrays-ls Draws vertices as a line strip using NV097_INLINE_ARRAY with line smoothing enabled.
LineStrip-inlinearrays-ps Draws vertices as a line strip using NV097_INLINE_ARRAY with polygon smoothing enabled.
LineStrip-inlinearrays Draws vertices as a line strip using NV097_INLINE_ARRAY
LineStrip-inlinebuf-ls-ps Draws vertices as a line strip using NV097_SET_VERTEX3F with line and polygon smoothing enabled.
LineStrip-inlinebuf-ls Draws vertices as a line strip using NV097_SET_VERTEX3F with line smoothing enabled.
LineStrip-inlinebuf-ps Draws vertices as a line strip using NV097_SET_VERTEX3F with polygon smoothing enabled.
LineStrip-inlinebuf Draws vertices as a line strip using NV097_SET_VERTEX3F
LineStrip-inlineelements-ls-ps Draws vertices as a line strip using NV097_ARRAY_ELEMENT16 with line and polygon smoothing enabled.
LineStrip-inlineelements-ls Draws vertices as a line strip using NV097_ARRAY_ELEMENT16 with line smoothing enabled.
LineStrip-inlineelements-ps Draws vertices as a line strip using NV097_ARRAY_ELEMENT16 with polygon smoothing enabled.
LineStrip-inlineelements Draws vertices as a line strip using NV097_ARRAY_ELEMENT16
LineStrip-ls-ps Draws vertices as a line strip using NV097_DRAW_ARRAYS with line and polygon smoothing enabled.
LineStrip-ls Draws vertices as a line strip using NV097_DRAW_ARRAYS with line smoothing enabled.
LineStrip-ps Draws vertices as a line strip using NV097_DRAW_ARRAYS with polygon smoothing enabled.
LineStrip Draws vertices as a line strip using NV097_DRAW_ARRAYS
Lines-inlinearrays-ls-ps Draws vertices as lines using NV097_INLINE_ARRAY with line and polygon smoothing enabled.
Lines-inlinearrays-ls Draws vertices as lines using NV097_INLINE_ARRAY with line smoothing enabled.
Lines-inlinearrays-ps Draws vertices as lines using NV097_INLINE_ARRAY with polygon smoothing enabled.
Lines-inlinearrays Draws vertices as lines using NV097_INLINE_ARRAY
Lines-inlinebuf-ls-ps Draws vertices as lines using NV097_SET_VERTEX3F with line and polygon smoothing enabled.
Lines-inlinebuf-ls Draws vertices as lines using NV097_SET_VERTEX3F with line smoothing enabled.
Lines-inlinebuf-ps Draws vertices as lines using NV097_SET_VERTEX3F with polygon smoothing enabled.
Lines-inlinebuf Draws vertices as lines using NV097_SET_VERTEX3F
Lines-inlineelements-ls-ps Draws vertices as lines using NV097_ARRAY_ELEMENT16 with line and polygon smoothing enabled.
Lines-inlineelements-ls Draws vertices as lines using NV097_ARRAY_ELEMENT16 with line smoothing enabled.
Lines-inlineelements-ps Draws vertices as lines using NV097_ARRAY_ELEMENT16 with polygon smoothing enabled.
Lines-inlineelements Draws vertices as lines using NV097_ARRAY_ELEMENT16
Lines-ls-ps Draws vertices as lines using NV097_DRAW_ARRAYS with line and polygon smoothing enabled.
Lines-ls Draws vertices as lines using NV097_DRAW_ARRAYS with line smoothing enabled.
Lines-ps Draws vertices as lines using NV097_DRAW_ARRAYS with polygon smoothing enabled.
Lines Draws vertices as lines using NV097_DRAW_ARRAYS
Points-inlinearrays-ls-ps Draws vertices as points using NV097_INLINE_ARRAY with line and polygon smoothing enabled.
Points-inlinearrays-ls Draws vertices as points using NV097_INLINE_ARRAY with line smoothing enabled.
Points-inlinearrays-ps Draws vertices as points using NV097_INLINE_ARRAY with polygon smoothing enabled.
Points-inlinearrays Draws vertices as points using NV097_INLINE_ARRAY
Points-inlinebuf-ls-ps Draws vertices as points using NV097_SET_VERTEX3F with line and polygon smoothing enabled.
Points-inlinebuf-ls Draws vertices as points using NV097_SET_VERTEX3F with line smoothing enabled.
Points-inlinebuf-ps Draws vertices as points using NV097_SET_VERTEX3F with polygon smoothing enabled.
Points-inlinebuf Draws vertices as points using NV097_SET_VERTEX3F
Points-inlineelements-ls-ps Draws vertices as points using NV097_ARRAY_ELEMENT16 with line and polygon smoothing enabled.
Points-inlineelements-ls Draws vertices as points using NV097_ARRAY_ELEMENT16 with line smoothing enabled.
Points-inlineelements-ps Draws vertices as points using NV097_ARRAY_ELEMENT16 with polygon smoothing enabled.
Points-inlineelements Draws vertices as points using NV097_ARRAY_ELEMENT16
Points-ls-ps Draws vertices as points using NV097_DRAW_ARRAYS with line and polygon smoothing enabled.
Points-ls Draws vertices as points using NV097_DRAW_ARRAYS with line smoothing enabled.
Points-ps Draws vertices as points using NV097_DRAW_ARRAYS with polygon smoothing enabled.
Points Draws vertices as points using NV097_DRAW_ARRAYS
Polygon-inlinearrays-ls-ps Draws vertices as a polygon using NV097_INLINE_ARRAY with line and polygon smoothing enabled.
Polygon-inlinearrays-ls Draws vertices as a polygon using NV097_INLINE_ARRAY with line smoothing enabled.
Polygon-inlinearrays-ps Draws vertices as a polygon using NV097_INLINE_ARRAY with polygon smoothing enabled.
Polygon-inlinearrays Draws vertices as a polygon using NV097_INLINE_ARRAY
Polygon-inlinebuf-ls-ps Draws vertices as a polygon using NV097_SET_VERTEX3F with line and polygon smoothing enabled.
Polygon-inlinebuf-ls Draws vertices as a polygon using NV097_SET_VERTEX3F with line smoothing enabled.
Polygon-inlinebuf-ps Draws vertices as a polygon using NV097_SET_VERTEX3F with polygon smoothing enabled.
Polygon-inlinebuf Draws vertices as a polygon using NV097_SET_VERTEX3F
Polygon-inlineelements-ls-ps Draws vertices as a polygon using NV097_ARRAY_ELEMENT16 with line and polygon smoothing enabled.
Polygon-inlineelements-ls Draws vertices as a polygon using NV097_ARRAY_ELEMENT16 with line smoothing enabled.
Polygon-inlineelements-ps Draws vertices as a polygon using NV097_ARRAY_ELEMENT16 with polygon smoothing enabled.
Polygon-inlineelements Draws vertices as a polygon using NV097_ARRAY_ELEMENT16
Polygon-ls-ps Draws vertices as a polygon using NV097_DRAW_ARRAYS with line and polygon smoothing enabled.
Polygon-ls Draws vertices as a polygon using NV097_DRAW_ARRAYS with line smoothing enabled.
Polygon-ps Draws vertices as a polygon using NV097_DRAW_ARRAYS with polygon smoothing enabled.
Polygon Draws vertices as a polygon using NV097_DRAW_ARRAYS
QuadStrip-inlinearrays-ls-ps Draws vertices as a strip of quads using NV097_INLINE_ARRAY with line and polygon smoothing enabled.
QuadStrip-inlinearrays-ls Draws vertices as a strip of quads using NV097_INLINE_ARRAY with line smoothing enabled.
QuadStrip-inlinearrays-ps Draws vertices as a strip of quads using NV097_INLINE_ARRAY with polygon smoothing enabled.
QuadStrip-inlinearrays Draws vertices as a strip of quads using NV097_INLINE_ARRAY
QuadStrip-inlinebuf-ls-ps Draws vertices as a strip of quads using NV097_SET_VERTEX3F with line and polygon smoothing enabled.
QuadStrip-inlinebuf-ls Draws vertices as a strip of quads using NV097_SET_VERTEX3F with line smoothing enabled.
QuadStrip-inlinebuf-ps Draws vertices as a strip of quads using NV097_SET_VERTEX3F with polygon smoothing enabled.
QuadStrip-inlinebuf Draws vertices as a strip of quads using NV097_SET_VERTEX3F
QuadStrip-inlineelements-ls-ps Draws vertices as a strip of quads using NV097_ARRAY_ELEMENT16 with line and polygon smoothing enabled.
QuadStrip-inlineelements-ls Draws vertices as a strip of quads using NV097_ARRAY_ELEMENT16 with line smoothing enabled.
QuadStrip-inlineelements-ps Draws vertices as a strip of quads using NV097_ARRAY_ELEMENT16 with polygon smoothing enabled.
QuadStrip-inlineelements Draws vertices as a strip of quads using NV097_ARRAY_ELEMENT16
QuadStrip-ls-ps Draws vertices as a strip of quads using NV097_DRAW_ARRAYS with line and polygon smoothing enabled.
QuadStrip-ls Draws vertices as a strip of quads using NV097_DRAW_ARRAYS with line smoothing enabled.
QuadStrip-ps Draws vertices as a strip of quads using NV097_DRAW_ARRAYS with polygon smoothing enabled.
QuadStrip Draws vertices as a strip of quads using NV097_DRAW_ARRAYS
Quads-inlinearrays-ls-ps Draws vertices as quads using NV097_INLINE_ARRAY with line and polygon smoothing enabled.
Quads-inlinearrays-ls Draws vertices as quads using NV097_INLINE_ARRAY with line smoothing enabled.
Quads-inlinearrays-ps Draws vertices as quads using NV097_INLINE_ARRAY with polygon smoothing enabled.
Quads-inlinearrays Draws vertices as quads using NV097_INLINE_ARRAY
Quads-inlinebuf-ls-ps Draws vertices as quads using NV097_SET_VERTEX3F with line and polygon smoothing enabled.
Quads-inlinebuf-ls Draws vertices as quads using NV097_SET_VERTEX3F with line smoothing enabled.
Quads-inlinebuf-ps Draws vertices as quads using NV097_SET_VERTEX3F with polygon smoothing enabled.
Quads-inlinebuf Draws vertices as quads using NV097_SET_VERTEX3F
Quads-inlineelements-ls-ps Draws vertices as quads using NV097_ARRAY_ELEMENT16 with line and polygon smoothing enabled.
Quads-inlineelements-ls Draws vertices as quads using NV097_ARRAY_ELEMENT16 with line smoothing enabled.
Quads-inlineelements-ps Draws vertices as quads using NV097_ARRAY_ELEMENT16 with polygon smoothing enabled.
Quads-inlineelements Draws vertices as quads using NV097_ARRAY_ELEMENT16
Quads-ls-ps Draws vertices as quads using NV097_DRAW_ARRAYS with line and polygon smoothing enabled.
Quads-ls Draws vertices as quads using NV097_DRAW_ARRAYS with line smoothing enabled.
Quads-ps Draws vertices as quads using NV097_DRAW_ARRAYS with polygon smoothing enabled.
Quads Draws vertices as quads using NV097_DRAW_ARRAYS
TriFan-inlinearrays-ls-ps Draws vertices as a triangle fan using NV097_INLINE_ARRAY with line and polygon smoothing enabled.
TriFan-inlinearrays-ls Draws vertices as a triangle fan using NV097_INLINE_ARRAY with line smoothing enabled.
TriFan-inlinearrays-ps Draws vertices as a triangle fan using NV097_INLINE_ARRAY with polygon smoothing enabled.
TriFan-inlinearrays Draws vertices as a triangle fan using NV097_INLINE_ARRAY
TriFan-inlinebuf-ls-ps Draws vertices as a triangle fan using NV097_SET_VERTEX3F with line and polygon smoothing enabled.
TriFan-inlinebuf-ls Draws vertices as a triangle fan using NV097_SET_VERTEX3F with line smoothing enabled.
TriFan-inlinebuf-ps Draws vertices as a triangle fan using NV097_SET_VERTEX3F with polygon smoothing enabled.
TriFan-inlinebuf Draws vertices as a triangle fan using NV097_SET_VERTEX3F
TriFan-inlineelements-ls-ps Draws vertices as a triangle fan using NV097_ARRAY_ELEMENT16 with line and polygon smoothing enabled.
TriFan-inlineelements-ls Draws vertices as a triangle fan using NV097_ARRAY_ELEMENT16 with line smoothing enabled.
TriFan-inlineelements-ps Draws vertices as a triangle fan using NV097_ARRAY_ELEMENT16 with polygon smoothing enabled.
TriFan-inlineelements Draws vertices as a triangle fan using NV097_ARRAY_ELEMENT16
TriFan-ls-ps Draws vertices as a triangle fan using NV097_DRAW_ARRAYS with line and polygon smoothing enabled.
TriFan-ls Draws vertices as a triangle fan using NV097_DRAW_ARRAYS with line smoothing enabled.
TriFan-ps Draws vertices as a triangle fan using NV097_DRAW_ARRAYS with polygon smoothing enabled.
TriFan Draws vertices as a triangle fan using NV097_DRAW_ARRAYS
TriStrip-inlinearrays-ls-ps Draws vertices as a strip of triangles using NV097_INLINE_ARRAY with line and polygon smoothing enabled.
TriStrip-inlinearrays-ls Draws vertices as a strip of triangles using NV097_INLINE_ARRAY with line smoothing enabled.
TriStrip-inlinearrays-ps Draws vertices as a strip of triangles using NV097_INLINE_ARRAY with polygon smoothing enabled.
TriStrip-inlinearrays Draws vertices as a strip of triangles using NV097_INLINE_ARRAY
TriStrip-inlinebuf-ls-ps Draws vertices as a strip of triangles using NV097_SET_VERTEX3F with line and polygon smoothing enabled.
TriStrip-inlinebuf-ls Draws vertices as a strip of triangles using NV097_SET_VERTEX3F with line smoothing enabled.
TriStrip-inlinebuf-ps Draws vertices as a strip of triangles using NV097_SET_VERTEX3F with polygon smoothing enabled.
TriStrip-inlinebuf Draws vertices as a strip of triangles using NV097_SET_VERTEX3F
TriStrip-inlineelements-ls-ps Draws vertices as a strip of triangles using NV097_ARRAY_ELEMENT16 with line and polygon smoothing enabled.
TriStrip-inlineelements-ls Draws vertices as a strip of triangles using NV097_ARRAY_ELEMENT16 with line smoothing enabled.
TriStrip-inlineelements-ps Draws vertices as a strip of triangles using NV097_ARRAY_ELEMENT16 with polygon smoothing enabled.
TriStrip-inlineelements Draws vertices as a strip of triangles using NV097_ARRAY_ELEMENT16
TriStrip-ls-ps Draws vertices as a strip of triangles using NV097_DRAW_ARRAYS with line and polygon smoothing enabled.
TriStrip-ls Draws vertices as a strip of triangles using NV097_DRAW_ARRAYS with line smoothing enabled.
TriStrip-ps Draws vertices as a strip of triangles using NV097_DRAW_ARRAYS with polygon smoothing enabled.
TriStrip Draws vertices as a strip of triangles using NV097_DRAW_ARRAYS
Triangles-inlinearrays-ls-ps Draws vertices as triangles using NV097_INLINE_ARRAY with line and polygon smoothing enabled.
Triangles-inlinearrays-ls Draws vertices as triangles using NV097_INLINE_ARRAY with line smoothing enabled.
Triangles-inlinearrays-ps Draws vertices as triangles using NV097_INLINE_ARRAY with polygon smoothing enabled.
Triangles-inlinearrays Draws vertices as triangles using NV097_INLINE_ARRAY
Triangles-inlinebuf-ls-ps Draws vertices as triangles using NV097_SET_VERTEX3F with line and polygon smoothing enabled.
Triangles-inlinebuf-ls Draws vertices as triangles using NV097_SET_VERTEX3F with line smoothing enabled.
Triangles-inlinebuf-ps Draws vertices as triangles using NV097_SET_VERTEX3F with polygon smoothing enabled.
Triangles-inlinebuf Draws vertices as triangles using NV097_SET_VERTEX3F
Triangles-inlineelements-ls-ps Draws vertices as triangles using NV097_ARRAY_ELEMENT16 with line and polygon smoothing enabled.
Triangles-inlineelements-ls Draws vertices as triangles using NV097_ARRAY_ELEMENT16 with line smoothing enabled.
Triangles-inlineelements-ps Draws vertices as triangles using NV097_ARRAY_ELEMENT16 with polygon smoothing enabled.
Triangles-inlineelements Draws vertices as triangles using NV097_ARRAY_ELEMENT16
Triangles-ls-ps Draws vertices as triangles using NV097_DRAW_ARRAYS with line and polygon smoothing enabled.
Triangles-ls Draws vertices as triangles using NV097_DRAW_ARRAYS with line smoothing enabled.
Triangles-ps Draws vertices as triangles using NV097_DRAW_ARRAYS with polygon smoothing enabled.
Triangles Draws vertices as triangles using NV097_DRAW_ARRAYS

Member Function Documentation

◆ Initialize()

void ThreeDPrimitiveTests::Initialize ( )
overridevirtual

Called to initialize the test suite.

Reimplemented from TestSuite.


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