mirror of
https://github.com/KhronosGroup/OpenCL-CTS.git
synced 2026-03-19 06:09:01 +00:00
gles: Fix compile errors. (#976)
* fix gles build error * fix format check fail * fix Werror and link error * gles: Makefile changes Change-Id: Ie493a730e6004f9251bbf9b534f758e0dc920191 Co-authored-by: Guang <891528583@qq.com>
This commit is contained in:
committed by
GitHub
parent
63f01be181
commit
16ddfbb1ae
@@ -197,6 +197,10 @@ if(LINK_PTHREAD)
|
|||||||
list(APPEND CLConform_LIBRARIES pthread)
|
list(APPEND CLConform_LIBRARIES pthread)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(DEFINED USE_GLES3)
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGLES3")
|
||||||
|
endif()
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
find_library(corefoundation CoreFoundation)
|
find_library(corefoundation CoreFoundation)
|
||||||
find_library(iokit IOKit)
|
find_library(iokit IOKit)
|
||||||
|
|||||||
@@ -24,10 +24,12 @@
|
|||||||
#include <GLES3/gl3.h>
|
#include <GLES3/gl3.h>
|
||||||
#else
|
#else
|
||||||
#include <GLES2/gl2.h>
|
#include <GLES2/gl2.h>
|
||||||
|
#define glTexImage3DOES glTexImage3D
|
||||||
|
#define glUnmapBufferOES glUnmapBuffer
|
||||||
|
#define glMapBufferRangeEXT glMapBufferRange
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <GLES2/gl2ext.h>
|
#include <GLES2/gl2ext.h>
|
||||||
#include <GLES2/gl2extQCOM.h>
|
|
||||||
|
|
||||||
// Some macros to minimize the changes in the tests from GL to GLES2
|
// Some macros to minimize the changes in the tests from GL to GLES2
|
||||||
#define glGenRenderbuffersEXT glGenRenderbuffers
|
#define glGenRenderbuffersEXT glGenRenderbuffers
|
||||||
@@ -40,21 +42,26 @@
|
|||||||
#define glDeleteFramebuffersEXT glDeleteFramebuffers
|
#define glDeleteFramebuffersEXT glDeleteFramebuffers
|
||||||
#define glBindFramebufferEXT glBindFramebuffer
|
#define glBindFramebufferEXT glBindFramebuffer
|
||||||
#define glFramebufferRenderbufferEXT glFramebufferRenderbuffer
|
#define glFramebufferRenderbufferEXT glFramebufferRenderbuffer
|
||||||
#define glTexImage3D glTexImage3DOES
|
|
||||||
|
#ifndef GL_ES_VERSION_3_0
|
||||||
|
#define GL_RGBA32F GL_RGBA32F_EXT
|
||||||
|
#define GL_READ_ONLY GL_BUFFER_ACCESS_OES
|
||||||
|
#define GL_HALF_FLOAT_ARB GL_HALF_FLOAT_OES
|
||||||
|
#define GL_BGRA GL_BGRA_EXT
|
||||||
|
#else
|
||||||
|
#define GL_HALF_FLOAT_ARB GL_HALF_FLOAT
|
||||||
|
#endif
|
||||||
|
|
||||||
#define glutGetProcAddress eglGetProcAddress
|
#define glutGetProcAddress eglGetProcAddress
|
||||||
|
|
||||||
#define GL_FRAMEBUFFER_EXT GL_FRAMEBUFFER
|
#define GL_FRAMEBUFFER_EXT GL_FRAMEBUFFER
|
||||||
#define GL_FRAMEBUFFER_COMPLETE_EXT GL_FRAMEBUFFER_COMPLETE
|
#define GL_FRAMEBUFFER_COMPLETE_EXT GL_FRAMEBUFFER_COMPLETE
|
||||||
#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT GL_RENDERBUFFER_INTERNAL_FORMAT
|
#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT GL_RENDERBUFFER_INTERNAL_FORMAT
|
||||||
#define GL_RENDERBUFFER_EXT GL_RENDERBUFFER
|
#define GL_RENDERBUFFER_EXT GL_RENDERBUFFER
|
||||||
#define GL_COLOR_ATTACHMENT0_EXT GL_COLOR_ATTACHMENT0
|
|
||||||
#define GL_DEPTH_ATTACHMENT_EXT GL_DEPTH_ATTACHMENT
|
#define GL_DEPTH_ATTACHMENT_EXT GL_DEPTH_ATTACHMENT
|
||||||
#define GL_TEXTURE_3D GL_TEXTURE_3D_OES
|
|
||||||
#define GL_READ_ONLY GL_BUFFER_ACCESS_OES
|
|
||||||
|
|
||||||
#define GL_HALF_FLOAT_ARB GL_HALF_FLOAT_OES
|
|
||||||
#define GL_BGRA GL_BGRA_EXT
|
|
||||||
#define GL_RGBA32F_ARB GL_RGBA
|
#define GL_RGBA32F_ARB GL_RGBA
|
||||||
|
#define GL_BGRA GL_BGRA_EXT
|
||||||
|
|
||||||
typedef unsigned short GLhalf;
|
typedef unsigned short GLhalf;
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
#include "helpers.h"
|
#include "helpers.h"
|
||||||
|
|
||||||
#include "gl_headers.h"
|
#include "gl_headers.h"
|
||||||
|
#include "CL/cl_half.h"
|
||||||
|
|
||||||
#define CHECK_ERROR()\
|
#define CHECK_ERROR()\
|
||||||
{GLint __error = glGetError(); if(__error) {log_error( "GL ERROR: %s!\n", gluErrorString( err ));}}
|
{GLint __error = glGetError(); if(__error) {log_error( "GL ERROR: %s!\n", gluErrorString( err ));}}
|
||||||
|
|||||||
@@ -15,11 +15,6 @@ set (${MODULE_NAME}_SOURCES
|
|||||||
../../test_common/gles/helpers.cpp
|
../../test_common/gles/helpers.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
if(ANDROID)
|
list(APPEND CLConform_LIBRARIES EGL GLESv2)
|
||||||
list(APPEND CLConform_LIBRARIES GLESv2)
|
|
||||||
elseif(WIN32)
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGLES3")
|
|
||||||
list(APPEND CLConform_LIBRARIES libEGL libGLESv2 )
|
|
||||||
endif(ANDROID)
|
|
||||||
|
|
||||||
include(../CMakeCommon.txt)
|
include(../CMakeCommon.txt)
|
||||||
|
|||||||
@@ -62,8 +62,8 @@ TEST_FN_REDIRECTOR( renderbuffer_read )
|
|||||||
TEST_FN_REDIRECTOR( renderbuffer_write )
|
TEST_FN_REDIRECTOR( renderbuffer_write )
|
||||||
TEST_FN_REDIRECTOR( renderbuffer_getinfo )
|
TEST_FN_REDIRECTOR( renderbuffer_getinfo )
|
||||||
|
|
||||||
#ifndef GL_ES_VERSION_2_0
|
#ifdef GL_ES_VERSION_3_0
|
||||||
TEST_FN_REDIRECTOR( test_fence_sync )
|
TEST_FN_REDIRECTOR(fence_sync)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
test_definition test_list[] = {
|
test_definition test_list[] = {
|
||||||
@@ -82,14 +82,17 @@ test_definition test_list[] = {
|
|||||||
TEST_FN_REDIRECT( renderbuffer_getinfo )
|
TEST_FN_REDIRECT( renderbuffer_getinfo )
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifndef GL_ES_VERSION_2_0
|
#ifdef GL_ES_VERSION_3_0
|
||||||
test_definition test_list32[] = {
|
test_definition test_list32[] = {
|
||||||
TEST_FN_REDIRECT( fence_sync )
|
TEST_FN_REDIRECT( fence_sync )
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const int test_num = ARRAY_SIZE( test_list );
|
const int test_num = ARRAY_SIZE( test_list );
|
||||||
|
|
||||||
|
#ifdef GL_ES_VERSION_3_0
|
||||||
const int test_num32 = ARRAY_SIZE( test_list32 );
|
const int test_num32 = ARRAY_SIZE( test_list32 );
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, const char *argv[])
|
int main(int argc, const char *argv[])
|
||||||
@@ -113,12 +116,15 @@ int main(int argc, const char *argv[])
|
|||||||
for( int i = 0; i < test_num; i++ )
|
for( int i = 0; i < test_num; i++ )
|
||||||
log_info( "\t%s\n", test_list[i].name );
|
log_info( "\t%s\n", test_list[i].name );
|
||||||
|
|
||||||
|
#ifdef GL_ES_VERSION_3_0
|
||||||
log_info( "Available 3.2 tests:\n" );
|
log_info( "Available 3.2 tests:\n" );
|
||||||
for( int i = 0; i < test_num32; i++ )
|
for( int i = 0; i < test_num32; i++ )
|
||||||
log_info( "\t%s\n", test_list32[i].name );
|
log_info( "\t%s\n", test_list32[i].name );
|
||||||
|
#endif
|
||||||
|
|
||||||
log_info( "Note: Any 3.2 test names must follow 2.1 test names on the command line." );
|
log_info("Note: Any 3.2 test names must follow 2.1 test names on the "
|
||||||
log_info( "Use environment variables to specify desired device." );
|
"command line.");
|
||||||
|
log_info("Use environment variables to specify desired device.");
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -141,12 +147,14 @@ int main(int argc, const char *argv[])
|
|||||||
// Check to see if any 2.x or 3.2 test names were specified on the command line.
|
// Check to see if any 2.x or 3.2 test names were specified on the command line.
|
||||||
unsigned first_32_testname = 0;
|
unsigned first_32_testname = 0;
|
||||||
|
|
||||||
|
#ifdef GL_ES_VERSION_3_0
|
||||||
for (int j=1; (j<argc) && (!first_32_testname); ++j)
|
for (int j=1; (j<argc) && (!first_32_testname); ++j)
|
||||||
for (int i = 0; i < test_num32; ++i)
|
for (int i = 0; i < test_num32; ++i)
|
||||||
if (strcmp(test_list32[i].name, argv[j]) == 0 ) {
|
if (strcmp(test_list32[i].name, argv[j]) == 0 ) {
|
||||||
first_32_testname = j;
|
first_32_testname = j;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
// Create the environment for the test.
|
// Create the environment for the test.
|
||||||
GLEnvironment *glEnv = GLEnvironment::Instance();
|
GLEnvironment *glEnv = GLEnvironment::Instance();
|
||||||
@@ -322,7 +330,7 @@ int main(int argc, const char *argv[])
|
|||||||
error = -1;
|
error = -1;
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
#ifdef GL_ES_VERSION_2_0
|
#ifndef GLES3
|
||||||
log_info("Cannot test OpenGL 3.2! This test was built for OpenGL ES 2.0\n");
|
log_info("Cannot test OpenGL 3.2! This test was built for OpenGL ES 2.0\n");
|
||||||
error = -1;
|
error = -1;
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|||||||
@@ -112,11 +112,17 @@ public:
|
|||||||
size_t dev_size;
|
size_t dev_size;
|
||||||
cl_int status;
|
cl_int status;
|
||||||
|
|
||||||
status = clGetGLContextInfoKHR(properties,
|
clGetGLContextInfoKHR_fn GetGLContextInfo =
|
||||||
CL_DEVICES_FOR_GL_CONTEXT_KHR,
|
(clGetGLContextInfoKHR_fn)clGetExtensionFunctionAddressForPlatform(
|
||||||
sizeof(devices),
|
_platform, "clGetGLContextInfoKHR");
|
||||||
devices,
|
if (GetGLContextInfo == NULL)
|
||||||
&dev_size);
|
{
|
||||||
|
print_error(status, "clGetGLContextInfoKHR failed");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
status = GetGLContextInfo(properties, CL_DEVICES_FOR_GL_CONTEXT_KHR,
|
||||||
|
sizeof(devices), devices, &dev_size);
|
||||||
if (status != CL_SUCCESS) {
|
if (status != CL_SUCCESS) {
|
||||||
print_error(status, "clGetGLContextInfoKHR failed");
|
print_error(status, "clGetGLContextInfoKHR failed");
|
||||||
return NULL;
|
return NULL;
|
||||||
@@ -124,11 +130,9 @@ public:
|
|||||||
dev_size /= sizeof(cl_device_id);
|
dev_size /= sizeof(cl_device_id);
|
||||||
log_info("GL _context supports %d compute devices\n", dev_size);
|
log_info("GL _context supports %d compute devices\n", dev_size);
|
||||||
|
|
||||||
status = clGetGLContextInfoKHR(properties,
|
status =
|
||||||
CL_CURRENT_DEVICE_FOR_GL_CONTEXT_KHR,
|
GetGLContextInfo(properties, CL_CURRENT_DEVICE_FOR_GL_CONTEXT_KHR,
|
||||||
sizeof(devices),
|
sizeof(devices), devices, &dev_size);
|
||||||
devices,
|
|
||||||
&dev_size);
|
|
||||||
if (status != CL_SUCCESS) {
|
if (status != CL_SUCCESS) {
|
||||||
print_error(status, "clGetGLContextInfoKHR failed");
|
print_error(status, "clGetGLContextInfoKHR failed");
|
||||||
return NULL;
|
return NULL;
|
||||||
@@ -164,9 +168,12 @@ public:
|
|||||||
|
|
||||||
// Check all devices, search for one that supports cl_khr_gl_sharing
|
// Check all devices, search for one that supports cl_khr_gl_sharing
|
||||||
for (int i=0; i<(int)num_of_devices; i++) {
|
for (int i=0; i<(int)num_of_devices; i++) {
|
||||||
if (!is_extension_available(devices[i], "cl_khr_gl_sharing"){
|
if (!is_extension_available(devices[i], "cl_khr_gl_sharing"))
|
||||||
|
{
|
||||||
log_info("Device %d of %d does not support required extension cl_khr_gl_sharing.\n", i+1, num_of_devices);
|
log_info("Device %d of %d does not support required extension cl_khr_gl_sharing.\n", i+1, num_of_devices);
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
log_info("Device %d of %d supports required extension cl_khr_gl_sharing.\n", i+1, num_of_devices);
|
log_info("Device %d of %d supports required extension cl_khr_gl_sharing.\n", i+1, num_of_devices);
|
||||||
interop_devices++;
|
interop_devices++;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -297,7 +297,7 @@ public:
|
|||||||
virtual void * IRun( void )
|
virtual void * IRun( void )
|
||||||
{
|
{
|
||||||
cl_int error = run_cl_kernel( mKernel, mQueue, mStream0, mStream1, mRowIdx, mFenceEvent, mNumThreads );
|
cl_int error = run_cl_kernel( mKernel, mQueue, mStream0, mStream1, mRowIdx, mFenceEvent, mNumThreads );
|
||||||
return (void *)error;
|
return (void *)(intptr_t)error;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user