if(currentPipeline)
{
auto& bindings = cmd.data.bindUniformBuffers;
- auto buffer = bindings.standaloneUniformsBufferBinding;
+ auto buffer = bindings.standaloneUniformsBufferBinding;
// based on reflection, issue gl calls
buffer.buffer->BindAsUniformBuffer(static_cast<const TestGraphicsProgram*>(currentPipeline->programState.program), bindings.standaloneUniformsBufferBinding);
+
+ // Store off uniform bindings for test retrieval:
+ if(!bindings.uniformBufferBindings.empty())
+ {
+ mLastUniformBinding.buffer = bindings.uniformBufferBindings.back().buffer;
+ mLastUniformBinding.binding = bindings.uniformBufferBindings.back().binding;
+ mLastUniformBinding.offset = bindings.uniformBufferBindings.back().offset;
+ mLastUniformBinding.emulated = bindings.uniformBufferBindings.back().emulated;
+ }
+ else
+ {
+ mLastUniformBinding.buffer = bindings.standaloneUniformsBufferBinding.buffer;
+ mLastUniformBinding.binding = bindings.standaloneUniformsBufferBinding.binding;
+ mLastUniformBinding.offset = bindings.standaloneUniformsBufferBinding.offset;
+ mLastUniformBinding.emulated = true;
+ }
}
break;
}
uint32_t numElements{0u}; // 0 elements means this isn't an array; 1 element means this is an array of size 1
Property::Type type;
uint32_t elementStride{0u}; // array element stride, 0 - tightly packed
+ uint32_t matrixStride{0u}; // Matrix row stride in bytes, 0 - tightly packed
};
struct TestUniformBlockInfo
} // namespace Dali
-#endif //DALI_TEST_GRAPHICS_REFLECTION_H
+#endif // DALI_TEST_GRAPHICS_REFLECTION_H