tests: fold xglimage.{cpp,h} into xglrenderframework.{cpp,h}
XglImage is a part of the render framework.
diff --git a/tests/xglrenderframework.h b/tests/xglrenderframework.h
index a89a033..f43d34b 100644
--- a/tests/xglrenderframework.h
+++ b/tests/xglrenderframework.h
@@ -29,6 +29,7 @@
#define XGLRENDERFRAMEWORK_H
#include "xgltestframework.h"
+#include "xgldevice.h"
class XglRenderFramework : public XglTestFramework
{
@@ -161,6 +162,70 @@
XGL_INDEX_TYPE m_indexType;
};
+class XglImage : public xgl_testing::Image
+{
+public:
+ XglImage(XglDevice *dev);
+
+ // Image usage flags
+ // typedef enum _XGL_IMAGE_USAGE_FLAGS
+ // {
+ // XGL_IMAGE_USAGE_SHADER_ACCESS_READ_BIT = 0x00000001,
+ // XGL_IMAGE_USAGE_SHADER_ACCESS_WRITE_BIT = 0x00000002,
+ // XGL_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000004,
+ // XGL_IMAGE_USAGE_DEPTH_STENCIL_BIT = 0x00000008,
+ // } XGL_IMAGE_USAGE_FLAGS;
+public:
+ void init( XGL_UINT32 w, XGL_UINT32 h,
+ XGL_FORMAT fmt, XGL_FLAGS usage,
+ XGL_IMAGE_TILING tiling=XGL_LINEAR_TILING);
+
+ // void clear( CommandBuffer*, XGL_UINT[4] );
+ // void prepare( CommandBuffer*, XGL_IMAGE_STATE );
+
+ void state( XGL_IMAGE_STATE state )
+ {
+ m_imageInfo.state = state;
+ }
+ XGL_GPU_MEMORY memory() const
+ {
+ const std::vector<XGL_GPU_MEMORY> mems = memories();
+ return mems.empty() ? XGL_NULL_HANDLE : mems[0];
+ }
+
+
+ XGL_IMAGE image() const
+ {
+ return obj();
+ }
+ XGL_COLOR_ATTACHMENT_VIEW targetView()const
+ {
+ return m_targetView.obj();
+ }
+
+ XGL_IMAGE_STATE state() const
+ {
+ return ( XGL_IMAGE_STATE )m_imageInfo.state;
+ }
+ XGL_UINT32 width() const
+ {
+ return extent().width;
+ }
+ XGL_UINT32 height() const
+ {
+ return extent().height;
+ }
+
+ XGL_RESULT MapMemory(XGL_VOID** ptr);
+ XGL_RESULT UnmapMemory();
+
+protected:
+ XglDevice *m_device;
+
+ xgl_testing::ColorAttachmentView m_targetView;
+ XGL_IMAGE_VIEW_ATTACH_INFO m_imageInfo;
+};
+
class XglTextureObj : public xgl_testing::Image
{
public: