mirror of
https://github.com/KhronosGroup/OpenCL-CTS.git
synced 2026-03-19 06:09:01 +00:00
Add flag to track wether glut has been initialized (#2023)
glutInit double called in CTS CLGL test case code, which will lead
to an error:
freeglut (./test_gl): illegal glutInit() reinitialization attempt
root cause is in: test_conformance/gl/main.cpp:343
if (glEnv->Init(&argc, (char **)argv, CL_TRUE))
the glEnv->Init has already called in same file line:260, the function
glutInit in glEnv->Init can not be called twice, then a error will occur
although all the gl / CLGL cases are passed. Then in the full quick CTS
running it will appear:
(12-Jul 03:54:01) BEGIN OpenCL-GL Sharing :
PASSED sub-test.
PASSED 23 of 23 tests.
(12-Jul 04:01:48) FAILED OpenCL-GL Sharing : (467s, test 34/53)
Although all the gl/CLGL cases are passed, but this group test is judged
to failed.
This issue already been found in
https://github.com/KhronosGroup/OpenCL-CTS/pull/1885
And fixed partly by:
02471c8f56
But I found in setup_osx.cpp, the glutInit still has double init issue,
I add the same fix like previous fix,
can you please help to review?
Signed-off-by: Honglei Huang <Honglei1.Huang@amd.com>
Co-authored-by: Honglei Huang <Honglei1.Huang@amd.com>
This commit is contained in:
@@ -19,21 +19,28 @@
|
|||||||
|
|
||||||
class OSXGLEnvironment : public GLEnvironment
|
class OSXGLEnvironment : public GLEnvironment
|
||||||
{
|
{
|
||||||
public:
|
private:
|
||||||
|
bool mIsGlutInit;
|
||||||
|
|
||||||
|
public:
|
||||||
OSXGLEnvironment()
|
OSXGLEnvironment()
|
||||||
{
|
{
|
||||||
mCGLContext = NULL;
|
mCGLContext = NULL;
|
||||||
|
mIsGlutInit = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual int Init( int *argc, char **argv, int use_opengl_32 )
|
virtual int Init( int *argc, char **argv, int use_opengl_32 )
|
||||||
{
|
{
|
||||||
if (!use_opengl_32) {
|
if (!use_opengl_32) {
|
||||||
|
if (!mIsGlutInit)
|
||||||
|
{
|
||||||
// Create a GLUT window to render into
|
// Create a GLUT window to render into
|
||||||
glutInit( argc, argv );
|
glutInit(argc, argv);
|
||||||
glutInitWindowSize( 512, 512 );
|
glutInitWindowSize(512, 512);
|
||||||
glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
|
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
|
||||||
glutCreateWindow( "OpenCL <-> OpenGL Test" );
|
glutCreateWindow("OpenCL <-> OpenGL Test");
|
||||||
|
mIsGlutInit = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else {
|
else {
|
||||||
|
|||||||
Reference in New Issue
Block a user