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

#include <attribute_carryover_tests.h>

Inheritance diagram for AttributeCarryoverTests:
Collaboration diagram for AttributeCarryoverTests:

Classes

struct  TestConfig
 

Public Types

enum  DrawMode { DRAW_ARRAYS , DRAW_INLINE_BUFFERS , DRAW_INLINE_ARRAYS , DRAW_INLINE_ELEMENTS }
 
enum  Attribute {
  ATTR_WEIGHT = 0 , ATTR_NORMAL = 1 , ATTR_DIFFUSE = 2 , ATTR_SPECULAR = 3 ,
  ATTR_FOG_COORD = 4 , ATTR_POINT_SIZE = 5 , ATTR_BACK_DIFFUSE = 6 , ATTR_BACK_SPECULAR = 7 ,
  ATTR_TEX0 = 8 , ATTR_TEX1 = 9 , ATTR_TEX2 = 10 , ATTR_TEX3 = 11
}
 

Public Member Functions

 AttributeCarryoverTests (TestHost &host, std::string output_dir, const Config &config)
 
void Initialize () override
 Called to initialize the test suite.
 
void Deinitialize () override
 Called to tear down 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 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 ()
 
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
 
- Protected Attributes inherited from TestSuite
TestHosthost_
 
std::string output_dir_
 
std::string suite_name_
 
bool interactive_only_
 
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 vertex attributes are not provided but are used by shaders.

For various types of geometry, a fully specified primitive is rendered, followed by an identical (but position-transformed) primitive where only the vertex positions are provided and all other attributes bleed over from the fully specified primitive.

Each test picks a separate vertex attribute (e.g., weight, normal, ...) and sets it to a test value. The shader code will convert the attribute under test into a color.

Attributes with three parameters (iNormal) will have their alpha forced to 1.f.

Attributes with one parameter (e.g., iWeight) will be repeated into the red and green channels with their blue and alpha forced to 1.f.

Constructor & Destructor Documentation

◆ AttributeCarryoverTests()

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

Initializes the test suite and creates test cases.

Remarks
L-bd0.1_0.0_1.0_1.0-da Renders a fully specified line, then renders a test line that takes its diffuse color from back diffuse using draw mode draw arrays.
L-bd0.2_0.0_0.6_1.0-ie Renders a fully specified line, then renders a test line that takes its diffuse color from back diffuse using draw mode inline elements.
L-bd0.5_0.0_0.0_1.0-ia Renders a fully specified line, then renders a test line that takes its diffuse color from back diffuse using draw mode inline arrays.
L-bd0.8_0.0_0.0_1.0-ib Renders a fully specified line, then renders a test line that takes its diffuse color from back diffuse using draw mode inline buffers.
L-bs0.1_0.0_1.0_1.0-da Renders a fully specified line, then renders a test line that takes its diffuse color from back specular using draw mode draw arrays.
L-bs0.2_0.0_0.6_1.0-ie Renders a fully specified line, then renders a test line that takes its diffuse color from back specular using draw mode inline elements.
L-bs0.5_0.0_0.0_1.0-ia Renders a fully specified line, then renders a test line that takes its diffuse color from back specular using using draw mode inline arrays.
L-bs0.8_0.0_0.0_1.0-ib Renders a fully specified line, then renders a test line that takes its diffuse color from back specular using draw mode inline buffers.
L-d0.1_0.0_1.0_1.0-da Renders a fully specified line, then renders a test line that takes its diffuse color from diffuse using draw mode draw arrays.
L-d0.2_0.0_0.6_1.0-ie Renders a fully specified line, then renders a test line that takes its diffuse color from diffuse using draw mode inline elements.
L-d0.5_0.0_0.0_1.0-ia Renders a fully specified line, then renders a test line that takes its diffuse color from diffuse using draw mode inline arrays.
L-d0.8_0.0_0.0_1.0-ib Renders a fully specified line, then renders a test line that takes its diffuse color from diffuse using draw mode inline buffers.
L-fc0.1_0.0_1.0_1.0-da Renders a fully specified line, then renders a test line that takes its diffuse color from fog using draw mode draw arrays.
L-fc0.2_0.0_0.6_1.0-ie Renders a fully specified line, then renders a test line that takes its diffuse color from fog using draw mode inline elements.
L-fc0.5_0.0_0.0_1.0-ia Renders a fully specified line, then renders a test line that takes its diffuse color from fog using draw mode inline arrays.
L-fc0.8_0.0_0.0_1.0-ib Renders a fully specified line, then renders a test line that takes its diffuse color from fog using draw mode inline buffers.
L-n0.1_0.0_1.0_1.0-da Renders a fully specified line, then renders a test line that takes its diffuse color from normal using draw mode draw arrays.
L-n0.2_0.0_0.6_1.0-ie Renders a fully specified line, then renders a test line that takes its diffuse color from normal using draw mode inline elements.
L-n0.5_0.0_0.0_1.0-ia Renders a fully specified line, then renders a test line that takes its diffuse color from normal using draw mode inline arrays.
L-n0.8_0.0_0.0_1.0-ib Renders a fully specified line, then renders a test line that takes its diffuse color from normal using draw mode inline buffers.
L-ps0.1_0.0_1.0_1.0-da Renders a fully specified line, then renders a test line that takes its diffuse color from point size using draw mode draw arrays.
L-ps0.2_0.0_0.6_1.0-ie Renders a fully specified line, then renders a test line that takes its diffuse color from point size using draw mode inline elements.
L-ps0.5_0.0_0.0_1.0-ia Renders a fully specified line, then renders a test line that takes its diffuse color from point size using draw mode inline arrays.
L-ps0.8_0.0_0.0_1.0-ib Renders a fully specified line, then renders a test line that takes its diffuse color from point size using draw mode inline buffers.
L-s0.1_0.0_1.0_1.0-da Renders a fully specified line, then renders a test line that takes its diffuse color from specular using draw mode draw arrays.
L-s0.2_0.0_0.6_1.0-ie Renders a fully specified line, then renders a test line that takes its diffuse color from specular using draw mode inline elements.
L-s0.5_0.0_0.0_1.0-ia Renders a fully specified line, then renders a test line that takes its diffuse color from specular using draw mode inline arrays.
L-s0.8_0.0_0.0_1.0-ib Renders a fully specified line, then renders a test line that takes its diffuse color from specular using draw mode inline buffers.
L-t00.1_0.0_1.0_1.0-da Renders a fully specified line, then renders a test line that takes its diffuse color from tex0 using draw mode draw arrays.
L-t00.2_0.0_0.6_1.0-ie Renders a fully specified line, then renders a test line that takes its diffuse color from tex0 using draw mode inline elements.
L-t00.5_0.0_0.0_1.0-ia Renders a fully specified line, then renders a test line that takes its diffuse color from tex0 using draw mode inline arrays.
L-t00.8_0.0_0.0_1.0-ib Renders a fully specified line, then renders a test line that takes its diffuse color from tex0 using draw mode inline buffers.
L-t10.1_0.0_1.0_1.0-da Renders a fully specified line, then renders a test line that takes its diffuse color from tex1 using draw mode draw arrays.
L-t10.2_0.0_0.6_1.0-ie Renders a fully specified line, then renders a test line that takes its diffuse color from tex1 using draw mode inline elements.
L-t10.5_0.0_0.0_1.0-ia Renders a fully specified line, then renders a test line that takes its diffuse color from tex1 using draw mode inline arrays.
L-t10.8_0.0_0.0_1.0-ib Renders a fully specified line, then renders a test line that takes its diffuse color from tex1 using draw mode inline buffers.
L-t20.1_0.0_1.0_1.0-da Renders a fully specified line, then renders a test line that takes its diffuse color from tex2 using draw mode draw arrays.
L-t20.2_0.0_0.6_1.0-ie Renders a fully specified line, then renders a test line that takes its diffuse color from tex2 using draw mode inline elements.
L-t20.5_0.0_0.0_1.0-ia Renders a fully specified line, then renders a test line that takes its diffuse color from tex2 using draw mode inline arrays.
L-t20.8_0.0_0.0_1.0-ib Renders a fully specified line, then renders a test line that takes its diffuse color from tex2 using draw mode inline buffers.
L-t30.1_0.0_1.0_1.0-da Renders a fully specified line, then renders a test line that takes its diffuse color from tex3 using draw mode draw arrays.
L-t30.2_0.0_0.6_1.0-ie Renders a fully specified line, then renders a test line that takes its diffuse color from tex3 using draw mode inline elements.
L-t30.5_0.0_0.0_1.0-ia Renders a fully specified line, then renders a test line that takes its diffuse color from tex3 using draw mode inline arrays.
L-t30.8_0.0_0.0_1.0-ib Renders a fully specified line, then renders a test line that takes its diffuse color from tex3 using draw mode inline buffers.
L-w0.1_0.0_1.0_1.0-da Renders a fully specified line, then renders a test line that takes its diffuse color from weight using draw mode draw arrays.
L-w0.2_0.0_0.6_1.0-ie Renders a fully specified line, then renders a test line that takes its diffuse color from weight using draw mode inline elements.
L-w0.5_0.0_0.0_1.0-ia Renders a fully specified line, then renders a test line that takes its diffuse color from weight using draw mode inline arrays.
L-w0.8_0.0_0.0_1.0-ib Renders a fully specified line, then renders a test line that takes its diffuse color from weight using draw mode inline buffers.
T-bd0.1_0.0_1.0_1.0-da Renders a fully specified tri, then renders a test tri that takes its diffuse color from back diffuse using draw mode draw arrays.
T-bd0.2_0.0_0.6_1.0-ie Renders a fully specified tri, then renders a test tri that takes its diffuse color from back diffuse using draw mode inline elements.
T-bd0.5_0.0_0.0_1.0-ia Renders a fully specified tri, then renders a test tri that takes its diffuse color from back diffuse using draw mode inline arrays.
T-bd0.8_0.0_0.0_1.0-ib Renders a fully specified tri, then renders a test tri that takes its diffuse color from back diffuse using draw mode inline buffers.
T-bs0.1_0.0_1.0_1.0-da Renders a fully specified tri, then renders a test tri that takes its diffuse color from back specular using draw mode draw arrays.
T-bs0.2_0.0_0.6_1.0-ie Renders a fully specified tri, then renders a test tri that takes its diffuse color from back specular using draw mode inline elements.
T-bs0.5_0.0_0.0_1.0-ia Renders a fully specified tri, then renders a test tri that takes its diffuse color from back specular using using draw mode inline arrays.
T-bs0.8_0.0_0.0_1.0-ib Renders a fully specified tri, then renders a test tri that takes its diffuse color from back specular using draw mode inline buffers.
T-d0.1_0.0_1.0_1.0-da Renders a fully specified tri, then renders a test tri that takes its diffuse color from diffuse using draw mode draw arrays.
T-d0.2_0.0_0.6_1.0-ie Renders a fully specified tri, then renders a test tri that takes its diffuse color from diffuse using draw mode inline elements.
T-d0.5_0.0_0.0_1.0-ia Renders a fully specified tri, then renders a test tri that takes its diffuse color from diffuse using draw mode inline arrays.
T-d0.8_0.0_0.0_1.0-ib Renders a fully specified tri, then renders a test tri that takes its diffuse color from diffuse using draw mode inline buffers.
T-fc0.1_0.0_1.0_1.0-da Renders a fully specified tri, then renders a test tri that takes its diffuse color from fog using draw mode draw arrays.
T-fc0.2_0.0_0.6_1.0-ie Renders a fully specified tri, then renders a test tri that takes its diffuse color from fog using draw mode inline elements.
T-fc0.5_0.0_0.0_1.0-ia Renders a fully specified tri, then renders a test tri that takes its diffuse color from fog using draw mode inline arrays.
T-fc0.8_0.0_0.0_1.0-ib Renders a fully specified tri, then renders a test tri that takes its diffuse color from fog using draw mode inline buffers.
T-n0.1_0.0_1.0_1.0-da Renders a fully specified tri, then renders a test tri that takes its diffuse color from normal using draw mode draw arrays.
T-n0.2_0.0_0.6_1.0-ie Renders a fully specified tri, then renders a test tri that takes its diffuse color from normal using draw mode inline elements.
T-n0.5_0.0_0.0_1.0-ia Renders a fully specified tri, then renders a test tri that takes its diffuse color from normal using draw mode inline arrays.
T-n0.8_0.0_0.0_1.0-ib Renders a fully specified tri, then renders a test tri that takes its diffuse color from normal using draw mode inline buffers.
T-ps0.1_0.0_1.0_1.0-da Renders a fully specified tri, then renders a test tri that takes its diffuse color from point size using draw mode draw arrays.
T-ps0.2_0.0_0.6_1.0-ie Renders a fully specified tri, then renders a test tri that takes its diffuse color from point size using draw mode inline elements.
T-ps0.5_0.0_0.0_1.0-ia Renders a fully specified tri, then renders a test tri that takes its diffuse color from point size using draw mode inline arrays.
T-ps0.8_0.0_0.0_1.0-ib Renders a fully specified tri, then renders a test tri that takes its diffuse color from point size using draw mode inline buffers.
T-s0.1_0.0_1.0_1.0-da Renders a fully specified tri, then renders a test tri that takes its diffuse color from specular using draw mode draw arrays.
T-s0.2_0.0_0.6_1.0-ie Renders a fully specified tri, then renders a test tri that takes its diffuse color from specular using draw mode inline elements.
T-s0.5_0.0_0.0_1.0-ia Renders a fully specified tri, then renders a test tri that takes its diffuse color from specular using draw mode inline arrays.
T-s0.8_0.0_0.0_1.0-ib Renders a fully specified tri, then renders a test tri that takes its diffuse color from specular using draw mode inline buffers.
T-t00.1_0.0_1.0_1.0-da Renders a fully specified tri, then renders a test tri that takes its diffuse color from tex0 using draw mode draw arrays.
T-t00.2_0.0_0.6_1.0-ie Renders a fully specified tri, then renders a test tri that takes its diffuse color from tex0 using draw mode inline elements.
T-t00.5_0.0_0.0_1.0-ia Renders a fully specified tri, then renders a test tri that takes its diffuse color from tex0 using draw mode inline arrays.
T-t00.8_0.0_0.0_1.0-ib Renders a fully specified tri, then renders a test tri that takes its diffuse color from tex0 using draw mode inline buffers.
T-t10.1_0.0_1.0_1.0-da Renders a fully specified tri, then renders a test tri that takes its diffuse color from tex1 using draw mode draw arrays.
T-t10.2_0.0_0.6_1.0-ie Renders a fully specified tri, then renders a test tri that takes its diffuse color from tex1 using draw mode inline elements.
T-t10.5_0.0_0.0_1.0-ia Renders a fully specified tri, then renders a test tri that takes its diffuse color from tex1 using draw mode inline arrays.
T-t10.8_0.0_0.0_1.0-ib Renders a fully specified tri, then renders a test tri that takes its diffuse color from tex1 using draw mode inline buffers.
T-t20.1_0.0_1.0_1.0-da Renders a fully specified tri, then renders a test tri that takes its diffuse color from tex2 using draw mode draw arrays.
T-t20.2_0.0_0.6_1.0-ie Renders a fully specified tri, then renders a test tri that takes its diffuse color from tex2 using draw mode inline elements.
T-t20.5_0.0_0.0_1.0-ia Renders a fully specified tri, then renders a test tri that takes its diffuse color from tex2 using draw mode inline arrays.
T-t20.8_0.0_0.0_1.0-ib Renders a fully specified tri, then renders a test tri that takes its diffuse color from tex2 using draw mode inline buffers.
T-t30.1_0.0_1.0_1.0-da Renders a fully specified tri, then renders a test tri that takes its diffuse color from tex3 using draw mode draw arrays.
T-t30.2_0.0_0.6_1.0-ie Renders a fully specified tri, then renders a test tri that takes its diffuse color from tex3 using draw mode inline elements.
T-t30.5_0.0_0.0_1.0-ia Renders a fully specified tri, then renders a test tri that takes its diffuse color from tex3 using draw mode inline arrays.
T-t30.8_0.0_0.0_1.0-ib Renders a fully specified tri, then renders a test tri that takes its diffuse color from tex3 using draw mode inline buffers.
T-w0.1_0.0_1.0_1.0-da Renders a fully specified tri, then renders a test tri that takes its diffuse color from weight using draw mode draw arrays.
T-w0.2_0.0_0.6_1.0-ie Renders a fully specified tri, then renders a test tri that takes its diffuse color from weight using draw mode inline elements.
T-w0.5_0.0_0.0_1.0-ia Renders a fully specified tri, then renders a test tri that takes its diffuse color from weight using draw mode inline arrays.
T-w0.8_0.0_0.0_1.0-ib Renders a fully specified tri, then renders a test tri that takes its diffuse color from weight using draw mode inline buffers.

Member Function Documentation

◆ Deinitialize()

void AttributeCarryoverTests::Deinitialize ( )
overridevirtual

Called to tear down the test suite.

Reimplemented from TestSuite.

◆ Initialize()

void AttributeCarryoverTests::Initialize ( )
overridevirtual

Called to initialize the test suite.

Reimplemented from TestSuite.


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