Clean up interfaces between objects
diff --git a/tests/xglrenderframework.h b/tests/xglrenderframework.h
index da1e204..8757ea3 100644
--- a/tests/xglrenderframework.h
+++ b/tests/xglrenderframework.h
@@ -120,30 +120,19 @@
     }
 };
 
-class XglDescriptorSetObj
+class XglConstantBufferObj
 {
 public:
-    XglDescriptorSetObj(XglDevice *device);
-    void AttachMemoryView( XGL_MEMORY_VIEW_ATTACH_INFO* memoryView);
-    void AttachSampler( XGL_SAMPLER* sampler);
-    void AttachImageView( XGL_IMAGE_VIEW_ATTACH_INFO* imageView);
-    void BindCommandBuffer(XGL_CMD_BUFFER commandBuffer);
-    XGL_DESCRIPTOR_SLOT_INFO * GetSlotInfo(vector<int>slots, vector<XGL_DESCRIPTOR_SET_SLOT_TYPE>types, vector<XGL_OBJECT>objs );
+    XglConstantBufferObj(XglDevice *device, int constantCount, int constantSize, const void* data);
+    void SetMemoryState(XGL_CMD_BUFFER cmdBuffer, XGL_MEMORY_STATE newState);
+    XGL_MEMORY_VIEW_ATTACH_INFO     m_constantBufferView;
+    XGL_GPU_MEMORY                  m_constantBufferMem;
 
 protected:
-    XGL_DESCRIPTOR_SET_CREATE_INFO       m_descriptorInfo;
-    XGL_DESCRIPTOR_SET                   m_rsrcDescSet;
-    XGL_GPU_MEMORY                       m_descriptor_set_mem;
-    XglDevice                           *m_device;
-    int                                  m_nextSlot;
-    vector<int>                          m_memorySlots;
-    vector<XGL_MEMORY_VIEW_ATTACH_INFO*> m_memoryViews;
-    vector<int>                          m_samplerSlots;
-    vector<XGL_SAMPLER*>                 m_samplers;
-    vector<int>                          m_imageSlots;
-    vector<XGL_IMAGE_VIEW_ATTACH_INFO*>  m_imageViews;
+    XglDevice                      *m_device;
+    int                             m_numVertices;
+    int                             m_stride;
 };
-
 class XglTextureObj
 {
 public:
@@ -170,27 +159,40 @@
 
 };
 
-class XglConstantBufferObj
+class XglDescriptorSetObj
 {
 public:
-    XglConstantBufferObj(XglDevice *device, int constantCount, int constantSize, const void* data);
-    void SetMemoryState(XGL_CMD_BUFFER cmdBuffer, XGL_MEMORY_STATE newState);
-    XGL_MEMORY_VIEW_ATTACH_INFO     m_constantBufferView;
-    XGL_GPU_MEMORY                  m_constantBufferMem;
+    XglDescriptorSetObj(XglDevice *device);
+    void AttachMemoryView(XglConstantBufferObj* constantBuffer);
+    void AttachSampler( XglSamplerObj* sampler);
+    void AttachImageView( XglTextureObj* texture);
+    void BindCommandBuffer(XGL_CMD_BUFFER commandBuffer);
+    XGL_DESCRIPTOR_SLOT_INFO * GetSlotInfo(vector<int>slots, vector<XGL_DESCRIPTOR_SET_SLOT_TYPE>types, vector<XGL_OBJECT>objs );
 
 protected:
-    XglDevice                      *m_device;
-    int                             m_numVertices;
-    int                             m_stride;
+    XGL_DESCRIPTOR_SET_CREATE_INFO       m_descriptorInfo;
+    XGL_DESCRIPTOR_SET                   m_rsrcDescSet;
+    XGL_GPU_MEMORY                       m_descriptor_set_mem;
+    XglDevice                           *m_device;
+    XGL_DESCRIPTOR_SLOT_INFO            *m_slotInfo;
+    int                                  m_nextSlot;
+    vector<int>                          m_memorySlots;
+    vector<XGL_MEMORY_VIEW_ATTACH_INFO*> m_memoryViews;
+    vector<int>                          m_samplerSlots;
+    vector<XGL_SAMPLER*>                 m_samplers;
+    vector<int>                          m_imageSlots;
+    vector<XGL_IMAGE_VIEW_ATTACH_INFO*>  m_imageViews;
 };
+
+
 class XglShaderObj
 {
 public:
     XglShaderObj(XglDevice *device, const char * shaderText, XGL_PIPELINE_SHADER_STAGE stage );
     XGL_PIPELINE_SHADER_STAGE_CREATE_INFO* GetStageCreateInfo(XglDescriptorSetObj descriptorSet);
-    void BindShaderEntitySlotToMemory(int slot, XGL_DESCRIPTOR_SET_SLOT_TYPE type, XGL_OBJECT object);
-    void BindShaderEntitySlotToImage(int slot, XGL_DESCRIPTOR_SET_SLOT_TYPE type, XGL_OBJECT object);
-    void BindShaderEntitySlotToSampler(int slot, XGL_OBJECT object);
+    void BindShaderEntitySlotToMemory(int slot, XGL_DESCRIPTOR_SET_SLOT_TYPE type, XglConstantBufferObj *constantBuffer);
+    void BindShaderEntitySlotToImage(int slot, XGL_DESCRIPTOR_SET_SLOT_TYPE type, XglTextureObj *texture);
+    void BindShaderEntitySlotToSampler(int slot, XglSamplerObj *sampler);
 
 protected:
     XGL_PIPELINE_SHADER_STAGE_CREATE_INFO stage_info;
@@ -230,10 +232,6 @@
     XGL_PIPELINE_CB_ATTACHMENT_STATE m_cb_attachment_state;
     XGL_GPU_MEMORY m_pipe_mem;
     XglDevice *m_device;
-    XGL_VERTEX_INPUT_BINDING_DESCRIPTION *m_vi_binding;
-    int m_vi_binding_count;
-    XGL_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION *m_vi_attribs;
-    int m_vi_attrib_count;
     vector<XglShaderObj*> m_shaderObjs;
     vector<XglConstantBufferObj*> m_vertexBufferObjs;
     vector<int> m_vertexBufferBindings;
@@ -243,7 +241,8 @@
 class XglMemoryRefManager{
 public:
     XglMemoryRefManager();
-    void AddMemoryRef(XGL_GPU_MEMORY* memoryRef);
+    void AddMemoryRef(XglConstantBufferObj* constantBuffer);
+    void AddMemoryRef(XglTextureObj *texture);
     XGL_MEMORY_REF* GetMemoryRefList();
     int GetNumRefs();