diff options
| author | degasus <wickmarkus@web.de> | 2014-11-29 13:02:48 +0100 |
|---|---|---|
| committer | degasus <wickmarkus@web.de> | 2014-12-09 18:56:27 +0100 |
| commit | e88e63adb36d649903a54740d9580a491cd6bf0d (patch) | |
| tree | 21d3c9e998d743a71d4d91b0760dfb9569530cd9 /Source/UnitTests/VideoCommon/VertexLoaderTest.cpp | |
| parent | 3fc7e55cc4623c1c49efb4c317ab0202499bb5fd (diff) | |
UnitTests: fix VertexLoaderTest
Diffstat (limited to 'Source/UnitTests/VideoCommon/VertexLoaderTest.cpp')
| -rw-r--r-- | Source/UnitTests/VideoCommon/VertexLoaderTest.cpp | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/Source/UnitTests/VideoCommon/VertexLoaderTest.cpp b/Source/UnitTests/VideoCommon/VertexLoaderTest.cpp index 576e9a8a53..45d8a23ab1 100644 --- a/Source/UnitTests/VideoCommon/VertexLoaderTest.cpp +++ b/Source/UnitTests/VideoCommon/VertexLoaderTest.cpp @@ -74,12 +74,14 @@ protected: void ResetPointers() { - g_video_buffer_read_ptr = &input_memory[0]; - VertexManager::s_pCurBufferPointer = &output_memory[0]; m_input_pos = m_output_pos = 0; + src = DataReader(input_memory, input_memory+sizeof(input_memory)); + dst = DataReader(output_memory, output_memory+sizeof(output_memory)); } u32 m_input_pos, m_output_pos; + DataReader src; + DataReader dst; TVtxDesc m_vtx_desc; VAT m_vtx_attr; @@ -103,7 +105,9 @@ TEST_F(VertexLoaderTest, PositionDirectFloatXYZ) Input(0.0f); Input(0.0f); Input(1.0f); // Convert 4 points. "7" -> primitive are points. - loader.RunVertices(m_vtx_attr, 7, 4); + int count = loader.RunVertices(m_vtx_attr, 7, 4, src, dst); + src.Skip(4 * loader.GetVertexSize()); + dst.Skip(count * loader.GetNativeVertexDeclaration().stride); ExpectOut(0.0f); ExpectOut(0.0f); ExpectOut(0.0f); ExpectOut(1.0f); ExpectOut(0.0f); ExpectOut(0.0f); @@ -113,7 +117,9 @@ TEST_F(VertexLoaderTest, PositionDirectFloatXYZ) // Test that scale does nothing for floating point inputs. Input(1.0f); Input(2.0f); Input(4.0f); m_vtx_attr.g0.PosFrac = 1; - loader.RunVertices(m_vtx_attr, 7, 1); + count = loader.RunVertices(m_vtx_attr, 7, 1, src, dst); + src.Skip(1 * loader.GetVertexSize()); + dst.Skip(count * loader.GetNativeVertexDeclaration().stride); ExpectOut(1.0f); ExpectOut(2.0f); ExpectOut(4.0f); } @@ -136,7 +142,9 @@ TEST_F(VertexLoaderTest, PositionDirectU16XY) Input<u16>(12345); Input<u16>(54321); // Convert 5 points. "7" -> primitive are points. - loader.RunVertices(m_vtx_attr, 7, 5); + int count = loader.RunVertices(m_vtx_attr, 7, 5, src, dst); + src.Skip(5 * loader.GetVertexSize()); + dst.Skip(count * loader.GetNativeVertexDeclaration().stride); ExpectOut(0.0f); ExpectOut(0.0f); ExpectOut(0.0f); ExpectOut(1.0f); ExpectOut(2.0f); ExpectOut(0.0f); @@ -147,7 +155,9 @@ TEST_F(VertexLoaderTest, PositionDirectU16XY) // Test that scale works on U16 inputs. Input<u16>(42); Input<u16>(24); m_vtx_attr.g0.PosFrac = 1; - loader.RunVertices(m_vtx_attr, 7, 1); + count = loader.RunVertices(m_vtx_attr, 7, 1, src, dst); + src.Skip(1 * loader.GetVertexSize()); + dst.Skip(count * loader.GetNativeVertexDeclaration().stride); ExpectOut(21.0f); ExpectOut(12.0f); ExpectOut(0.0f); } @@ -165,7 +175,9 @@ TEST_F(VertexLoaderTest, PositionDirectFloatXYZSpeed) for (int i = 0; i < 1000; ++i) { ResetPointers(); - loader.RunVertices(m_vtx_attr, 7, 100000); + int count = loader.RunVertices(m_vtx_attr, 7, 100000, src, dst); + src.Skip(100000 * loader.GetVertexSize()); + dst.Skip(count * loader.GetNativeVertexDeclaration().stride); } } @@ -183,7 +195,9 @@ TEST_F(VertexLoaderTest, PositionDirectU16XYSpeed) for (int i = 0; i < 1000; ++i) { ResetPointers(); - loader.RunVertices(m_vtx_attr, 7, 100000); + int count = loader.RunVertices(m_vtx_attr, 7, 100000, src, dst); + src.Skip(100000 * loader.GetVertexSize()); + dst.Skip(count * loader.GetNativeVertexDeclaration().stride); } } @@ -244,6 +258,8 @@ TEST_F(VertexLoaderTest, LargeFloatVertexSpeed) for (int i = 0; i < 100; ++i) { ResetPointers(); - loader.RunVertices(m_vtx_attr, 7, 100000); + int count = loader.RunVertices(m_vtx_attr, 7, 100000, src, dst); + src.Skip(100000 * loader.GetVertexSize()); + dst.Skip(count * loader.GetNativeVertexDeclaration().stride); } } |
