Managed Unified Uniform Buffer 30/258430/2 devel/graphics
authorAdam Bialogonski <adam.b@samsung.com>
Mon, 17 May 2021 16:45:05 +0000 (17:45 +0100)
committerAdam Bialogonski <adam.b@samsung.com>
Tue, 25 May 2021 11:26:03 +0000 (12:26 +0100)
Test harness update

Change-Id: Ie65fb2564dc7d7be8c946b14c870062211af745c

automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-graphics-buffer.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-graphics-buffer.h
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-graphics-controller.cpp

index d8a1b1a668aafe85bcbe8d679dac5a19abeaf929..fb06c3dc9167835d46dcbee1be1189d861daf23b 100644 (file)
@@ -80,14 +80,15 @@ GLenum TestGraphicsBuffer::GetTarget()
   return target;
 }
 
-void TestGraphicsBuffer::BindAsUniformBuffer(const TestGraphicsProgram* program) const
+void TestGraphicsBuffer::BindAsUniformBuffer(const TestGraphicsProgram* program, const Dali::UniformBufferBindingDescriptor& uboBinding) const
 {
   auto* reflection = static_cast<const TestGraphicsReflection*>(&program->GetReflection());
 
   Graphics::UniformBlockInfo uboInfo{};
   reflection->GetUniformBlock(0, uboInfo);
 
-  auto* data = memory.data();
+  auto offset = uboBinding.offset;
+  auto* data = memory.data() + offset;
 
   for(const auto& member : uboInfo.members)
   {
index 87c9f878376b715352a29c6f52e4c1a8b2708a26..1dc2715a3d419cfa03229f7c7ec4d6d56e7a1450 100644 (file)
@@ -26,6 +26,7 @@
 namespace Dali
 {
 class TestGraphicsProgram;
+class UniformBufferBindingDescriptor;
 class TestGraphicsBuffer : public Graphics::Buffer
 {
 public:
@@ -40,7 +41,7 @@ public:
     return true;
   }
 
-  void BindAsUniformBuffer(const TestGraphicsProgram* program) const;
+  void BindAsUniformBuffer(const TestGraphicsProgram* program, const Dali::UniformBufferBindingDescriptor& uboBinding) const;
 
   TraceCallStack&            mCallStack;
   TestGlAbstraction&         mGl;
index 517463fa310b0f15f918b258e584a0c3d4d397c2..cbdd5dd8ff070e09b4357e5ef891d2fa186ebf82 100644 (file)
@@ -604,7 +604,7 @@ void TestGraphicsController::ProcessCommandBuffer(TestGraphicsCommandBuffer& com
         auto  buffer   = bindings.standaloneUniformsBufferBinding;
 
         // based on reflection, issue gl calls
-        buffer.buffer->BindAsUniformBuffer(static_cast<const TestGraphicsProgram*>(currentPipeline->programState.program));
+        buffer.buffer->BindAsUniformBuffer(static_cast<const TestGraphicsProgram*>(currentPipeline->programState.program), bindings.standaloneUniformsBufferBinding);
         break;
       }
       case CommandType::BIND_SAMPLERS: