aboutsummaryrefslogtreecommitdiff
path: root/src/vkscript/parser_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/vkscript/parser_test.cc')
-rw-r--r--src/vkscript/parser_test.cc122
1 files changed, 51 insertions, 71 deletions
diff --git a/src/vkscript/parser_test.cc b/src/vkscript/parser_test.cc
index 676e75e..0b82a81 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) {
@@ -165,8 +163,8 @@ TEST_F(VkScriptParserTest, RequireFbSize) {
auto script = parser.GetScript();
const auto& pipelines = script->GetPipelines();
ASSERT_EQ(1U, pipelines.size());
- EXPECT_EQ(300, pipelines[0]->GetFramebufferWidth());
- EXPECT_EQ(400, pipelines[0]->GetFramebufferHeight());
+ EXPECT_EQ(300u, pipelines[0]->GetFramebufferWidth());
+ EXPECT_EQ(400u, pipelines[0]->GetFramebufferHeight());
}
TEST_F(VkScriptParserTest, RequireFbSizeMissingSize) {
@@ -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,21 +251,18 @@ 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>();
- EXPECT_EQ(1, data[0]);
- EXPECT_EQ(2, data[1]);
- EXPECT_EQ(3, data[2]);
+ 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(1u, data[0]);
+ EXPECT_EQ(2u, data[1]);
+ EXPECT_EQ(3u, data[2]);
}
TEST_F(VkScriptParserTest, IndicesBlockMultipleLines) {
@@ -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();
- ASSERT_EQ(4, segs2.size());
+ auto& segs2 = bufs[2]->GetFormat()->GetSegments();
+ ASSERT_EQ(4u, 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]);