Merge "Apply font size scale to markup text" into devel/master
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / dali-toolkit-test-utils / test-graphics-command-buffer.h
index 96b0021..84480ef 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_TEST_GRAPHICS_COMMAND_BUFFER_H
 
 /*
- * Copyright (c) 2022 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -65,6 +65,7 @@ enum class CommandType
   SET_DEPTH_COMPARE_OP    = 1 << 24,
   SET_DEPTH_TEST_ENABLE   = 1 << 25,
   SET_DEPTH_WRITE_ENABLE  = 1 << 26,
+  DRAW_NATIVE             = 1 << 27,
 };
 
 std::ostream& operator<<(std::ostream& os, Graphics::StencilOp op);
@@ -123,7 +124,8 @@ struct DrawCallDescriptor
   {
     DRAW,
     DRAW_INDEXED,
-    DRAW_INDEXED_INDIRECT
+    DRAW_INDEXED_INDIRECT,
+    DRAW_NATIVE
   };
 
   Type type{}; ///< Type of the draw call
@@ -166,6 +168,11 @@ struct DrawCallDescriptor
       uint32_t                  drawCount;
       uint32_t                  stride;
     } drawIndexedIndirect;
+
+    struct
+    {
+      Graphics::DrawNativeInfo drawNativeInfo;
+    } drawNative;
   };
 };
 
@@ -265,6 +272,12 @@ struct Command
         data.bindUniformBuffers = rhs.data.bindUniformBuffers;
         break;
       }
+      case CommandType::DRAW_NATIVE:
+      {
+        data.draw.type       = rhs.data.draw.type;
+        data.draw.drawNative = rhs.data.draw.drawNative;
+        break;
+      }
       case CommandType::DRAW:
       {
         data.draw.type = rhs.data.draw.type;
@@ -418,6 +431,12 @@ struct Command
         data.bindPipeline = rhs.data.bindPipeline;
         break;
       }
+      case CommandType::DRAW_NATIVE:
+      {
+        data.draw.type       = rhs.data.draw.type;
+        data.draw.drawNative = rhs.data.draw.drawNative;
+        break;
+      }
       case CommandType::DRAW:
       {
         data.draw.type = rhs.data.draw.type;
@@ -800,6 +819,16 @@ public:
     mCallStack.PushCall("ExecuteCommandBuffers", "");
   }
 
+  void DrawNative(const Graphics::DrawNativeInfo* drawInfo)
+  {
+    mCommands.emplace_back();
+    mCommands.back().type         = CommandType::DRAW_NATIVE;
+    auto& cmd                     = mCommands.back().data.draw;
+    cmd.type                      = DrawCallDescriptor::Type::DRAW_NATIVE;
+    cmd.drawNative.drawNativeInfo = *drawInfo;
+    mCallStack.PushCall("DrawNative", "");
+  }
+
   void Draw(
     uint32_t vertexCount,
     uint32_t instanceCount,
@@ -814,7 +843,12 @@ public:
     cmd.draw.instanceCount = instanceCount;
     cmd.draw.firstInstance = firstInstance;
     cmd.draw.firstVertex   = firstVertex;
-    mCallStack.PushCall("Draw", "");
+    TraceCallStack::NamedParams namedParams;
+    namedParams["vertexCount"] << vertexCount;
+    namedParams["instanceCount"] << instanceCount;
+    namedParams["firstInstance"] << firstInstance;
+    namedParams["firstVertex"] << firstVertex;
+    mCallStack.PushCall("Draw", namedParams.str(), namedParams);
   }
 
   void DrawIndexed(
@@ -833,7 +867,13 @@ public:
     cmd.drawIndexed.indexCount    = indexCount;
     cmd.drawIndexed.vertexOffset  = vertexOffset;
     cmd.drawIndexed.instanceCount = instanceCount;
-    mCallStack.PushCall("DrawIndexed", "");
+    TraceCallStack::NamedParams namedParams;
+    namedParams["firstIndex"] << firstIndex;
+    namedParams["firstInstance"] << firstInstance;
+    namedParams["indexCount"] << indexCount;
+    namedParams["vertexOffset"] << vertexOffset;
+    namedParams["instanceCount"] << instanceCount;
+    mCallStack.PushCall("DrawIndexed", namedParams.str(), namedParams);
   }
 
   void DrawIndexedIndirect(
@@ -850,7 +890,11 @@ public:
     cmd.drawIndexedIndirect.offset    = offset;
     cmd.drawIndexedIndirect.drawCount = drawCount;
     cmd.drawIndexedIndirect.stride    = stride;
-    mCallStack.PushCall("DrawIndexedIndirect", "");
+    TraceCallStack::NamedParams namedParams;
+    namedParams["offset"] << offset;
+    namedParams["drawCount"] << drawCount;
+    namedParams["stride"] << stride;
+    mCallStack.PushCall("DrawIndexedIndirect", namedParams.str(), namedParams);
   }
 
   void Reset() override