diff options
Diffstat (limited to 'src/vkscript/parser_test.cc')
-rw-r--r-- | src/vkscript/parser_test.cc | 110 |
1 files changed, 45 insertions, 65 deletions
diff --git a/src/vkscript/parser_test.cc b/src/vkscript/parser_test.cc index 676e75e..c62052c 100644 --- a/src/vkscript/parser_test.cc +++ b/src/vkscript/parser_test.cc @@ -131,11 +131,10 @@ TEST_F(VkScriptParserTest, RequireBlockFramebuffer) { ASSERT_TRUE(r.IsSuccess()); auto script = parser.GetScript(); - const auto& buffers = script->GetBuffers(); - ASSERT_EQ(1U, buffers.size()); - EXPECT_EQ(BufferType::kColor, buffers[0]->GetBufferType()); + const auto& bufs = script->GetBuffers(); + ASSERT_EQ(1U, bufs.size()); EXPECT_EQ(FormatType::kR32G32B32A32_SFLOAT, - buffers[0]->GetFormat()->GetFormatType()); + bufs[0]->GetFormat()->GetFormatType()); } TEST_F(VkScriptParserTest, RequireBlockDepthStencil) { @@ -147,11 +146,10 @@ TEST_F(VkScriptParserTest, RequireBlockDepthStencil) { ASSERT_TRUE(r.IsSuccess()) << r.Error(); auto script = parser.GetScript(); - const auto& buffers = script->GetBuffers(); - ASSERT_EQ(2U, buffers.size()); - EXPECT_EQ(BufferType::kDepth, buffers[1]->GetBufferType()); + const auto& bufs = script->GetBuffers(); + ASSERT_EQ(2U, bufs.size()); EXPECT_EQ(FormatType::kD24_UNORM_S8_UINT, - buffers[1]->GetFormat()->GetFormatType()); + bufs[1]->GetFormat()->GetFormatType()); } TEST_F(VkScriptParserTest, RequireFbSize) { @@ -231,15 +229,13 @@ inheritedQueries # line comment ASSERT_TRUE(r.IsSuccess()) << r.Error(); auto script = parser.GetScript(); - const auto& buffers = script->GetBuffers(); - ASSERT_EQ(2U, buffers.size()); - EXPECT_EQ(BufferType::kColor, buffers[0]->GetBufferType()); + const auto& bufs = script->GetBuffers(); + ASSERT_EQ(2U, bufs.size()); EXPECT_EQ(FormatType::kR32G32B32A32_SFLOAT, - buffers[0]->GetFormat()->GetFormatType()); + bufs[0]->GetFormat()->GetFormatType()); - EXPECT_EQ(BufferType::kDepth, buffers[1]->GetBufferType()); EXPECT_EQ(FormatType::kD24_UNORM_S8_UINT, - buffers[1]->GetFormat()->GetFormatType()); + bufs[1]->GetFormat()->GetFormatType()); auto feats = script->GetRequiredFeatures(); EXPECT_EQ("sparseResidency4Samples", feats[0]); @@ -255,18 +251,15 @@ TEST_F(VkScriptParserTest, IndicesBlock) { ASSERT_TRUE(r.IsSuccess()) << r.Error(); auto script = parser.GetScript(); - const auto& buffers = script->GetBuffers(); - ASSERT_EQ(2U, buffers.size()); - ASSERT_EQ(BufferType::kIndex, buffers[1]->GetBufferType()); - - auto buffer_ptr = buffers[1].get(); - auto buffer = buffer_ptr; - EXPECT_TRUE(buffer->GetFormat()->IsUint32()); - EXPECT_EQ(3U, buffer->ElementCount()); - EXPECT_EQ(3U, buffer->ValueCount()); - EXPECT_EQ(3U * sizeof(uint32_t), buffer->GetSizeInBytes()); - - const auto* data = buffer->GetValues<uint32_t>(); + const auto& bufs = script->GetBuffers(); + ASSERT_EQ(2U, bufs.size()); + + EXPECT_TRUE(bufs[1]->GetFormat()->IsUint32()); + EXPECT_EQ(3U, bufs[1]->ElementCount()); + EXPECT_EQ(3U, bufs[1]->ValueCount()); + EXPECT_EQ(3U * sizeof(uint32_t), bufs[1]->GetSizeInBytes()); + + const auto* data = bufs[1]->GetValues<uint32_t>(); EXPECT_EQ(1, data[0]); EXPECT_EQ(2, data[1]); EXPECT_EQ(3, data[2]); @@ -286,13 +279,12 @@ TEST_F(VkScriptParserTest, IndicesBlockMultipleLines) { ASSERT_TRUE(r.IsSuccess()) << r.Error(); auto script = parser.GetScript(); - auto& buffers = script->GetBuffers(); - ASSERT_EQ(2U, buffers.size()); - ASSERT_EQ(buffers[1]->GetBufferType(), BufferType::kIndex); + const auto& bufs = script->GetBuffers(); + ASSERT_EQ(2U, bufs.size()); - const auto* data = buffers[1]->GetValues<uint32_t>(); + const auto* data = bufs[1]->GetValues<uint32_t>(); std::vector<uint16_t> results = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; - ASSERT_EQ(results.size(), buffers[1]->ValueCount()); + ASSERT_EQ(results.size(), bufs[1]->ValueCount()); for (size_t i = 0; i < results.size(); ++i) { EXPECT_EQ(results[i], data[i]); } @@ -337,8 +329,8 @@ TEST_F(VkScriptParserTest, VertexDataHeaderFormatString) { ASSERT_TRUE(r.IsSuccess()) << r.Error(); auto script = parser.GetScript(); - const auto& buffers = script->GetBuffers(); - ASSERT_EQ(3U, buffers.size()); + const auto& bufs = script->GetBuffers(); + ASSERT_EQ(3U, bufs.size()); ASSERT_EQ(1U, script->GetPipelines().size()); const auto* pipeline = script->GetPipelines()[0].get(); @@ -346,17 +338,14 @@ TEST_F(VkScriptParserTest, VertexDataHeaderFormatString) { ASSERT_EQ(2U, pipeline->GetVertexBuffers().size()); const auto& pipeline_buffers = pipeline->GetVertexBuffers(); - ASSERT_EQ(BufferType::kVertex, buffers[1]->GetBufferType()); EXPECT_EQ(static_cast<uint8_t>(0U), pipeline_buffers[0].location); - EXPECT_EQ(FormatType::kR32G32_SFLOAT, - buffers[1]->GetFormat()->GetFormatType()); - EXPECT_EQ(static_cast<uint32_t>(0), buffers[1]->ElementCount()); + EXPECT_EQ(FormatType::kR32G32_SFLOAT, bufs[1]->GetFormat()->GetFormatType()); + EXPECT_EQ(static_cast<uint32_t>(0), bufs[1]->ElementCount()); - ASSERT_EQ(BufferType::kVertex, buffers[2]->GetBufferType()); EXPECT_EQ(1U, pipeline_buffers[1].location); EXPECT_EQ(FormatType::kA8B8G8R8_UNORM_PACK32, - buffers[2]->GetFormat()->GetFormatType()); - EXPECT_EQ(static_cast<uint32_t>(0), buffers[2]->ElementCount()); + bufs[2]->GetFormat()->GetFormatType()); + EXPECT_EQ(static_cast<uint32_t>(0), bufs[2]->ElementCount()); } TEST_F(VkScriptParserTest, VertexDataHeaderGlslString) { @@ -368,8 +357,8 @@ TEST_F(VkScriptParserTest, VertexDataHeaderGlslString) { ASSERT_TRUE(r.IsSuccess()) << r.Error(); auto script = parser.GetScript(); - const auto& buffers = script->GetBuffers(); - ASSERT_EQ(3U, buffers.size()); + const auto& bufs = script->GetBuffers(); + ASSERT_EQ(3U, bufs.size()); ASSERT_EQ(1U, script->GetPipelines().size()); const auto* pipeline = script->GetPipelines()[0].get(); @@ -377,30 +366,26 @@ TEST_F(VkScriptParserTest, VertexDataHeaderGlslString) { ASSERT_EQ(2U, pipeline->GetVertexBuffers().size()); const auto& pipeline_buffers = pipeline->GetVertexBuffers(); - ASSERT_EQ(BufferType::kVertex, buffers[1]->GetBufferType()); EXPECT_EQ(static_cast<uint8_t>(0U), pipeline_buffers[0].location); - EXPECT_EQ(FormatType::kR32G32_SFLOAT, - buffers[1]->GetFormat()->GetFormatType()); + EXPECT_EQ(FormatType::kR32G32_SFLOAT, bufs[1]->GetFormat()->GetFormatType()); - auto& segs1 = buffers[1]->GetFormat()->GetSegments(); + auto& segs1 = bufs[1]->GetFormat()->GetSegments(); ASSERT_EQ(2U, segs1.size()); EXPECT_EQ(FormatMode::kSFloat, segs1[0].GetFormatMode()); EXPECT_EQ(FormatMode::kSFloat, segs1[1].GetFormatMode()); - EXPECT_EQ(static_cast<uint32_t>(0), buffers[1]->ElementCount()); + EXPECT_EQ(static_cast<uint32_t>(0), bufs[1]->ElementCount()); - ASSERT_EQ(BufferType::kVertex, buffers[2]->GetBufferType()); EXPECT_EQ(1U, pipeline_buffers[1].location); - EXPECT_EQ(FormatType::kR32G32B32_SINT, - buffers[2]->GetFormat()->GetFormatType()); + EXPECT_EQ(FormatType::kR32G32B32_SINT, bufs[2]->GetFormat()->GetFormatType()); - auto& segs2 = buffers[2]->GetFormat()->GetSegments(); + auto& segs2 = bufs[2]->GetFormat()->GetSegments(); ASSERT_EQ(4, segs2.size()); EXPECT_EQ(FormatMode::kSInt, segs2[0].GetFormatMode()); EXPECT_EQ(FormatMode::kSInt, segs2[1].GetFormatMode()); EXPECT_EQ(FormatMode::kSInt, segs2[2].GetFormatMode()); EXPECT_TRUE(segs2[3].IsPadding()); - EXPECT_EQ(static_cast<uint32_t>(0), buffers[2]->ElementCount()); + EXPECT_EQ(static_cast<uint32_t>(0), bufs[2]->ElementCount()); } TEST_F(VkScriptParserTest, TestBlock) { @@ -450,21 +435,17 @@ TEST_F(VkScriptParserTest, VertexDataRows) { ASSERT_TRUE(r.IsSuccess()) << r.Error(); auto script = parser.GetScript(); - const auto& buffers = script->GetBuffers(); - ASSERT_EQ(3U, buffers.size()); - - ASSERT_EQ(BufferType::kVertex, buffers[1]->GetBufferType()); + const auto& bufs = script->GetBuffers(); + ASSERT_EQ(3U, bufs.size()); std::vector<float> seg_0 = {-1.f, -1.f, 0.25f, 0, 0.25f, -1.f, 0.25f, 0}; - const auto* values_0 = buffers[1]->GetValues<float>(); + const auto* values_0 = bufs[1]->GetValues<float>(); for (size_t i = 0; i < seg_0.size(); ++i) { EXPECT_FLOAT_EQ(seg_0[i], values_0[i]); } - ASSERT_EQ(BufferType::kVertex, buffers[2]->GetBufferType()); - std::vector<uint8_t> seg_1 = {255, 128, 1, 0, 255, 128, 255, 0}; - const auto* values_1 = buffers[2]->GetValues<uint8_t>(); + const auto* values_1 = bufs[2]->GetValues<uint8_t>(); for (size_t i = 0; i < seg_1.size(); ++i) { EXPECT_EQ(seg_1[i], values_1[i]); } @@ -509,13 +490,12 @@ TEST_F(VkScriptParserTest, VertexDataRowsWithHex) { ASSERT_TRUE(r.IsSuccess()) << r.Error(); auto script = parser.GetScript(); - const auto& buffers = script->GetBuffers(); - ASSERT_EQ(2U, buffers.size()); - ASSERT_EQ(BufferType::kVertex, buffers[1]->GetBufferType()); + const auto& bufs = script->GetBuffers(); + ASSERT_EQ(2U, bufs.size()); std::vector<uint32_t> seg_0 = {0xff0000ff, 0xffff0000}; - const auto* values_0 = buffers[1]->GetValues<uint32_t>(); - ASSERT_EQ(seg_0.size(), buffers[1]->ValueCount()); + const auto* values_0 = bufs[1]->GetValues<uint32_t>(); + ASSERT_EQ(seg_0.size(), bufs[1]->ValueCount()); for (size_t i = 0; i < seg_0.size(); ++i) { EXPECT_EQ(seg_0[i], values_0[i]); |