tests: derive XglDescriptorSetObj from xgl_testing::DescriptorSet
diff --git a/tests/xglrenderframework.cpp b/tests/xglrenderframework.cpp
index 6ee0d7d..d1c5d10 100644
--- a/tests/xglrenderframework.cpp
+++ b/tests/xglrenderframework.cpp
@@ -328,41 +328,30 @@
}
void XglDescriptorSetObj::CreateXGLDescriptorSet()
{
- XGL_RESULT err;
+ init(*m_device, xgl_testing::DescriptorSet::create_info(m_nextSlot));
- // Create descriptor set for a uniform resource
- memset(&m_descriptorInfo,0,sizeof(m_descriptorInfo));
- m_descriptorInfo.sType = XGL_STRUCTURE_TYPE_DESCRIPTOR_SET_CREATE_INFO;
- m_descriptorInfo.slots = m_nextSlot;
+ begin();
+ clear();
- // Create a descriptor set with requested number of slots
- err = xglCreateDescriptorSet( m_device->device(), &m_descriptorInfo, &m_rsrcDescSet );
- ASSERT_XGL_SUCCESS(err);
-
- // Bind memory to the descriptor set
- err = m_device->AllocAndBindGpuMemory(m_rsrcDescSet, "DescriptorSet", &m_descriptor_set_mem);
- ASSERT_XGL_SUCCESS(err);
-
- xglBeginDescriptorSetUpdate( m_rsrcDescSet );
- xglClearDescriptorSetSlots(m_rsrcDescSet, 0, m_nextSlot);
for (int i=0; i<m_memoryViews.size();i++)
{
- xglAttachMemoryViewDescriptors( m_rsrcDescSet, m_memorySlots[i], 1, m_memoryViews[i] );
+ attach(m_memorySlots[i], *m_memoryViews[i]);
}
for (int i=0; i<m_samplers.size();i++)
{
- xglAttachSamplerDescriptors( m_rsrcDescSet, m_samplerSlots[i], 1, &m_samplers[i]->obj() );
+ attach(m_samplerSlots[i], *m_samplers[i]);
}
for (int i=0; i<m_imageViews.size();i++)
{
- xglAttachImageViewDescriptors( m_rsrcDescSet, m_imageSlots[i], 1, m_imageViews[i] );
+ attach(m_imageSlots[i], *m_imageViews[i]);
}
- xglEndDescriptorSetUpdate( m_rsrcDescSet );
+
+ end();
}
XGL_DESCRIPTOR_SET XglDescriptorSetObj::GetDescriptorSetHandle()
{
- return m_rsrcDescSet;
+ return obj();
}
int XglDescriptorSetObj::GetTotalSlots()
@@ -372,44 +361,28 @@
void XglDescriptorSetObj::BindCommandBuffer(XGL_CMD_BUFFER commandBuffer)
{
- XGL_RESULT err;
+ init(*m_device, xgl_testing::DescriptorSet::create_info(m_nextSlot));
- // Create descriptor set for a uniform resource
- memset(&m_descriptorInfo,0,sizeof(m_descriptorInfo));
- m_descriptorInfo.sType = XGL_STRUCTURE_TYPE_DESCRIPTOR_SET_CREATE_INFO;
- m_descriptorInfo.slots = m_nextSlot;
+ begin();
+ clear();
- // Create a descriptor set with requested number of slots
- err = xglCreateDescriptorSet( m_device->device(), &m_descriptorInfo, &m_rsrcDescSet );
- ASSERT_XGL_SUCCESS(err);
-
- // Bind memory to the descriptor set
- err = m_device->AllocAndBindGpuMemory(m_rsrcDescSet, "DescriptorSet", &m_descriptor_set_mem);
- ASSERT_XGL_SUCCESS(err);
-
- xglBeginDescriptorSetUpdate( m_rsrcDescSet );
- xglClearDescriptorSetSlots(m_rsrcDescSet, 0, m_nextSlot);
for (int i=0; i<m_memoryViews.size();i++)
{
- xglAttachMemoryViewDescriptors( m_rsrcDescSet, m_memorySlots[i], 1, m_memoryViews[i] );
+ attach(m_memorySlots[i], *m_memoryViews[i]);
}
for (int i=0; i<m_samplers.size();i++)
{
- xglAttachSamplerDescriptors( m_rsrcDescSet, m_samplerSlots[i], 1, &m_samplers[i]->obj() );
+ attach(m_samplerSlots[i], *m_samplers[i]);
}
for (int i=0; i<m_imageViews.size();i++)
{
- xglAttachImageViewDescriptors( m_rsrcDescSet, m_imageSlots[i], 1, m_imageViews[i] );
+ attach(m_imageSlots[i], *m_imageViews[i]);
}
- xglEndDescriptorSetUpdate( m_rsrcDescSet );
+
+ end();
// bind pipeline, vertex buffer (descriptor set) and WVP (dynamic memory view)
- xglCmdBindDescriptorSet(commandBuffer, XGL_PIPELINE_BIND_POINT_GRAPHICS, 0, m_rsrcDescSet, 0 );
-}
-
-XglDescriptorSetObj::~XglDescriptorSetObj()
-{
- if (m_rsrcDescSet != XGL_NULL_HANDLE) xglDestroyObject(m_rsrcDescSet);
+ xglCmdBindDescriptorSet(commandBuffer, XGL_PIPELINE_BIND_POINT_GRAPHICS, 0, obj(), 0 );
}
XglTextureObj::XglTextureObj(XglDevice *device)