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

Tests NV2A bump mapping using various texture formats, orientations, and signed/unsigned component filtering. More...

#include <bump_map_tests.h>

Inheritance diagram for BumpMapTests:
Collaboration diagram for BumpMapTests:

Public Member Functions

 BumpMapTests (TestHost &host, std::string output_dir, const Config &config)
 Constructs the BumpMapTests test suite and creates test cases.
 
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, bool interactive_only=false)
 
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, uint32_t test_index=0, uint32_t total_tests=0)
 
void RunAll (bool include_interactive)
 
bool IsInteractiveOnly () const
 
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
 
void FinishDraw (const std::string &name, bool save_zbuffer=false)
 
void FinishDrawNoSave (const std::string &name, bool save_zbuffer=false)
 
- Protected Attributes inherited from TestSuite
TestHost & host_
 
std::string output_dir_
 
std::string suite_name_
 
bool interactive_only_
 
bool allow_saving_ {true}
 
std::map< std::string, std::function< void()> > tests_ {}
 
std::set< std::string > interactive_only_tests_ {}
 
PGRAPHDiffToken pgraph_diff_
 
bool enable_progress_log_
 
bool enable_pgraph_region_diff_
 
uint32_t delay_milliseconds_between_tests_
 
std::shared_ptr< FTPLogger > ftp_logger_
 

Detailed Description

Tests NV2A bump mapping using various texture formats, orientations, and signed/unsigned component filtering.

Exercises bump mapping via projective 2D and dot product / bumpenvmap shader stages. Tests standard 8-bit du/dv bump mapping with G8B8, R6G5B5, and other formats across combinations of signed and unsigned coordinates, 90-degree rotations, and cross-channel mappings. Also exercises 16-bit HILO bump mapping using NV097_SET_TEXTURE_FORMAT_COLOR_SZ_YB_16_YA_16 and NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_YB16YA16.

Constructor & Destructor Documentation

◆ BumpMapTests()

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

Constructs the BumpMapTests test suite and creates test cases.

Remarks
BumpMap_A1R5G5B5 Exercises 8-bit du/dv bump mapping with an A1R5G5B5 swizzled bump map texture.
BumpMap_A1R5G5B5_L Exercises 8-bit du/dv bump mapping with an A1R5G5B5 linear bump map texture.
BumpMap_A4R4G4B4 Exercises 8-bit du/dv bump mapping with an A4R4G4B4 swizzled bump map texture.
BumpMap_A4R4G4B4_L Exercises 8-bit du/dv bump mapping with an A4R4G4B4 linear bump map texture.
BumpMap_A8 Exercises 8-bit du/dv bump mapping with an A8 swizzled bump map texture.
BumpMap_A8_L Exercises 8-bit du/dv bump mapping with an A8 linear bump map texture.
BumpMap_A8B8G8R8 Exercises 8-bit du/dv bump mapping with an A8B8G8R8 swizzled bump map texture.
BumpMap_A8B8G8R8_L Exercises 8-bit du/dv bump mapping with an A8B8G8R8 linear bump map texture.
BumpMap_A8R8G8B8 Exercises 8-bit du/dv bump mapping with an A8R8G8B8 swizzled bump map texture.
BumpMap_A8R8G8B8_L Exercises 8-bit du/dv bump mapping with an A8R8G8B8 linear bump map texture.
BumpMap_A8Y8 Exercises 8-bit du/dv bump mapping with an A8Y8 swizzled bump map texture.
BumpMap_AY8 Exercises 8-bit du/dv bump mapping with an AY8 swizzled bump map texture.
BumpMap_AY8_L Exercises 8-bit du/dv bump mapping with an AY8 linear bump map texture.
BumpMap_B8G8R8A8 Exercises 8-bit du/dv bump mapping with a B8G8R8A8 swizzled bump map texture.
BumpMap_B8G8R8A8_L Exercises 8-bit du/dv bump mapping with a B8G8R8A8 linear bump map texture.
BumpMap_DXT1 Exercises 8-bit du/dv bump mapping with a DXT1 compressed bump map texture.
BumpMap_G8B8 Exercises 8-bit du/dv bump mapping with a G8B8 swizzled bump map texture.
BumpMap_G8B8_B Exercises 8-bit du/dv bump mapping with a G8B8 swizzled texture using alternate blue color channel mapping.
BumpMap_G8B8_B_R90 Exercises 8-bit du/dv bump mapping with a G8B8 swizzled texture rotated 90 degrees with alternate blue mapping.
BumpMap_G8B8_R90 Exercises 8-bit du/dv bump mapping with a G8B8 swizzled texture rotated 90 degrees.
BumpMap_R16B16 Exercises 16-bit HILO bump mapping with a YB_16_YA_16 swizzled bump map texture (NV097_SET_TEXTURE_FORMAT_COLOR_SZ_YB_16_YA_16).
BumpMap_R16B16_B Exercises 16-bit HILO bump mapping with a YB_16_YA_16 swizzled texture using alternate blue color channel mapping.
BumpMap_R16B16_L Exercises 16-bit HILO bump mapping with a YB16YA16 linear bump map texture (NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_YB16YA16).
BumpMap_R16B16_L_B Exercises 16-bit HILO bump mapping with a YB16YA16 linear texture using alternate blue color channel mapping.
BumpMap_R5G6B5 Exercises 8-bit du/dv bump mapping with an R5G6B5 swizzled bump map texture.
BumpMap_R5G6B5_L Exercises 8-bit du/dv bump mapping with an R5G6B5 linear bump map texture.
BumpMap_R6G5B5 Exercises 8-bit du/dv bump mapping with an R6G5B5 swizzled bump map texture.
BumpMap_R8B8 Exercises 8-bit du/dv bump mapping with an R8B8 swizzled bump map texture.
BumpMap_R8G8B8A8 Exercises 8-bit du/dv bump mapping with an R8G8B8A8 swizzled bump map texture.
BumpMap_R8G8B8A8_L Exercises 8-bit du/dv bump mapping with an R8G8B8A8 linear bump map texture.
BumpMap_UYVY_L Exercises 8-bit du/dv bump mapping with an UYVY linear bump map texture.
BumpMap_X1R5G5B5 Exercises 8-bit du/dv bump mapping with an X1R5G5B5 swizzled bump map texture.
BumpMap_X1R5G5B5_L Exercises 8-bit du/dv bump mapping with an X1R5G5B5 linear bump map texture.
BumpMap_X8R8G8B8 Exercises 8-bit du/dv bump mapping with an X8R8G8B8 swizzled bump map texture.
BumpMap_X8R8G8B8_L Exercises 8-bit du/dv bump mapping with an X8R8G8B8 linear bump map texture.
BumpMap_Y16 Exercises 8-bit du/dv bump mapping with a Y16 swizzled bump map texture (NV097_SET_TEXTURE_FORMAT_COLOR_SZ_Y16).
BumpMap_Y16_L Exercises 8-bit du/dv bump mapping with a Y16 linear bump map texture (NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_Y16).
BumpMap_Y8 Exercises 8-bit du/dv bump mapping with a Y8 swizzled bump map texture.
BumpMap_Y8_L Exercises 8-bit du/dv bump mapping with a Y8 linear bump map texture.
BumpMap_YUY2_L Exercises 8-bit du/dv bump mapping with a YUY2 linear bump map texture.

Member Function Documentation

◆ Initialize()

void BumpMapTests::Initialize ( )
overridevirtual

Called to initialize the test suite.

Reimplemented from TestSuite.


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