namespace Dali
{
-TestGraphicsProgram::TestGraphicsProgram(TestGlAbstraction& gl, const Graphics::ProgramCreateInfo& createInfo, Property::Array& vertexFormats)
+TestGraphicsProgramImpl::TestGraphicsProgramImpl(TestGlAbstraction& gl, const Graphics::ProgramCreateInfo& createInfo, Property::Array& vertexFormats, std::vector<UniformData>& customUniforms)
: mGl(gl),
mCreateInfo(createInfo),
- mReflection(gl, vertexFormats)
+ mReflection(gl, vertexFormats, createInfo, customUniforms)
{
+ mId = mGl.CreateProgram();
+
+ // Ensure active sampler uniforms are set
+ mGl.SetCustomUniforms(customUniforms);
+ mGl.LinkProgram(mId);
+}
+
+bool TestGraphicsProgramImpl::GetParameter(uint32_t parameterId, void* outData)
+{
+ reinterpret_cast<uint32_t*>(outData)[0] = mId;
+ return true;
+}
+
+TestGraphicsProgram::TestGraphicsProgram(TestGraphicsProgramImpl* impl)
+{
+ mImpl = impl;
}
} // namespace Dali