render_test: Add OpenGL display engine
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index b0e576b..1fcbf07 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -1,3 +1,8 @@
+include (FindPkgConfig)
+
+find_package (OpenGL REQUIRED)
+find_package (GLUT REQUIRED)
+
SET(COMMON
common.c
)
@@ -26,11 +31,11 @@
COMPILE_DEFINITIONS "GTEST_LINKED_AS_SHARED_LIBRARY=1")
target_link_libraries(xgl_image_tests XGL gtest gtest_main)
-add_executable(xgl_render_tests render_tests.cpp ${COMMON_CPP})
+add_executable(xgl_render_tests render_tests.cpp ${COMMON_CPP} displayengine.cpp)
set_target_properties(xgl_render_tests
PROPERTIES
COMPILE_DEFINITIONS "GTEST_LINKED_AS_SHARED_LIBRARY=1")
-target_link_libraries(xgl_render_tests XGL gtest gtest_main)
+target_link_libraries(xgl_render_tests XGL gtest gtest_main ${OPENGL_gl_LIBRARY} ${GLUT_glut_LIBRARY})
target_link_libraries(xglinfo XGL)
diff --git a/tests/render_tests.cpp b/tests/render_tests.cpp
index d0ae998..6eadb24 100644
--- a/tests/render_tests.cpp
+++ b/tests/render_tests.cpp
@@ -67,6 +67,8 @@
#include "xgldevice.h"
#include "icd-bil.h"
+#include "displayengine.h"
+
//--------------------------------------------------------------------------------------
// Mesh and VertexFormat Data
//--------------------------------------------------------------------------------------
@@ -209,6 +211,7 @@
void InitMesh( XGL_UINT32 numVertices, XGL_GPU_SIZE vbStride, const void* vertices );
void DrawTriangleTest();
void WritePPM( const char *filename, int width, int height );
+ DisplayEngine m_screen;
protected:
XGL_APPLICATION_INFO app_info;
@@ -261,7 +264,6 @@
}
};
-
void XglRenderTest::CreateImage(XGL_UINT w, XGL_UINT h, XGL_IMAGE *pImage,
XGL_GPU_MEMORY *pMem)
{
@@ -273,6 +275,8 @@
mipCount = 0;
+ m_screen.Init(true, w, h);
+
XGL_UINT _w = w;
XGL_UINT _h = h;
while( ( _w > 0 ) || ( _h > 0 ) )
@@ -878,6 +882,7 @@
DestroyQueryPool(query, query_mem);
WritePPM( "TriangleTest.ppm", width, height );
+ m_screen.Display(m_image, m_image_mem);
ASSERT_XGL_SUCCESS(xglDestroyObject(pipeline));
ASSERT_XGL_SUCCESS(xglDestroyObject(m_cmdBuffer));
@@ -941,6 +946,8 @@
}
int main(int argc, char **argv) {
+// glutInit(argc, argv);
::testing::InitGoogleTest(&argc, argv);
+ glutInit(&argc, argv);
return RUN_ALL_TESTS();
}