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)
|
||||
endif()
|
||||
|
||||
if(DEFINED USE_GLES3)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGLES3")
|
||||
endif()
|
||||
|
||||
if(APPLE)
|
||||
find_library(corefoundation CoreFoundation)
|
||||
find_library(iokit IOKit)
|
||||
|
||||
@@ -24,10 +24,12 @@
|
||||
#include <GLES3/gl3.h>
|
||||
#else
|
||||
#include <GLES2/gl2.h>
|
||||
#define glTexImage3DOES glTexImage3D
|
||||
#define glUnmapBufferOES glUnmapBuffer
|
||||
#define glMapBufferRangeEXT glMapBufferRange
|
||||
#endif
|
||||
|
||||
#include <GLES2/gl2ext.h>
|
||||
#include <GLES2/gl2extQCOM.h>
|
||||
|
||||
// Some macros to minimize the changes in the tests from GL to GLES2
|
||||
#define glGenRenderbuffersEXT glGenRenderbuffers
|
||||
@@ -40,21 +42,26 @@
|
||||
#define glDeleteFramebuffersEXT glDeleteFramebuffers
|
||||
#define glBindFramebufferEXT glBindFramebuffer
|
||||
#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 GL_FRAMEBUFFER_EXT GL_FRAMEBUFFER
|
||||
#define GL_FRAMEBUFFER_COMPLETE_EXT GL_FRAMEBUFFER_COMPLETE
|
||||
#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT GL_RENDERBUFFER_INTERNAL_FORMAT
|
||||
#define GL_RENDERBUFFER_EXT GL_RENDERBUFFER
|
||||
#define GL_COLOR_ATTACHMENT0_EXT GL_COLOR_ATTACHMENT0
|
||||
#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_BGRA GL_BGRA_EXT
|
||||
|
||||
typedef unsigned short GLhalf;
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
#include "helpers.h"
|
||||
|
||||
#include "gl_headers.h"
|
||||
#include "CL/cl_half.h"
|
||||
|
||||
#define CHECK_ERROR()\
|
||||
{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
|
||||
)
|
||||
|
||||
if(ANDROID)
|
||||
list(APPEND CLConform_LIBRARIES GLESv2)
|
||||
elseif(WIN32)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGLES3")
|
||||
list(APPEND CLConform_LIBRARIES libEGL libGLESv2 )
|
||||
endif(ANDROID)
|
||||
list(APPEND CLConform_LIBRARIES EGL GLESv2)
|
||||
|
||||
include(../CMakeCommon.txt)
|
||||
|
||||
@@ -62,8 +62,8 @@ TEST_FN_REDIRECTOR( renderbuffer_read )
|
||||
TEST_FN_REDIRECTOR( renderbuffer_write )
|
||||
TEST_FN_REDIRECTOR( renderbuffer_getinfo )
|
||||
|
||||
#ifndef GL_ES_VERSION_2_0
|
||||
TEST_FN_REDIRECTOR( test_fence_sync )
|
||||
#ifdef GL_ES_VERSION_3_0
|
||||
TEST_FN_REDIRECTOR(fence_sync)
|
||||
#endif
|
||||
|
||||
test_definition test_list[] = {
|
||||
@@ -82,14 +82,17 @@ test_definition test_list[] = {
|
||||
TEST_FN_REDIRECT( renderbuffer_getinfo )
|
||||
};
|
||||
|
||||
#ifndef GL_ES_VERSION_2_0
|
||||
#ifdef GL_ES_VERSION_3_0
|
||||
test_definition test_list32[] = {
|
||||
TEST_FN_REDIRECT( fence_sync )
|
||||
};
|
||||
#endif
|
||||
|
||||
const int test_num = ARRAY_SIZE( test_list );
|
||||
|
||||
#ifdef GL_ES_VERSION_3_0
|
||||
const int test_num32 = ARRAY_SIZE( test_list32 );
|
||||
#endif
|
||||
|
||||
|
||||
int main(int argc, const char *argv[])
|
||||
@@ -113,11 +116,14 @@ int main(int argc, const char *argv[])
|
||||
for( int i = 0; i < test_num; i++ )
|
||||
log_info( "\t%s\n", test_list[i].name );
|
||||
|
||||
#ifdef GL_ES_VERSION_3_0
|
||||
log_info( "Available 3.2 tests:\n" );
|
||||
for( int i = 0; i < test_num32; i++ )
|
||||
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 "
|
||||
"command line.");
|
||||
log_info("Use environment variables to specify desired device.");
|
||||
|
||||
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.
|
||||
unsigned first_32_testname = 0;
|
||||
|
||||
#ifdef GL_ES_VERSION_3_0
|
||||
for (int j=1; (j<argc) && (!first_32_testname); ++j)
|
||||
for (int i = 0; i < test_num32; ++i)
|
||||
if (strcmp(test_list32[i].name, argv[j]) == 0 ) {
|
||||
first_32_testname = j;
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
// Create the environment for the test.
|
||||
GLEnvironment *glEnv = GLEnvironment::Instance();
|
||||
@@ -322,7 +330,7 @@ int main(int argc, const char *argv[])
|
||||
error = -1;
|
||||
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");
|
||||
error = -1;
|
||||
goto cleanup;
|
||||
|
||||
@@ -112,11 +112,17 @@ public:
|
||||
size_t dev_size;
|
||||
cl_int status;
|
||||
|
||||
status = clGetGLContextInfoKHR(properties,
|
||||
CL_DEVICES_FOR_GL_CONTEXT_KHR,
|
||||
sizeof(devices),
|
||||
devices,
|
||||
&dev_size);
|
||||
clGetGLContextInfoKHR_fn GetGLContextInfo =
|
||||
(clGetGLContextInfoKHR_fn)clGetExtensionFunctionAddressForPlatform(
|
||||
_platform, "clGetGLContextInfoKHR");
|
||||
if (GetGLContextInfo == NULL)
|
||||
{
|
||||
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) {
|
||||
print_error(status, "clGetGLContextInfoKHR failed");
|
||||
return NULL;
|
||||
@@ -124,11 +130,9 @@ public:
|
||||
dev_size /= sizeof(cl_device_id);
|
||||
log_info("GL _context supports %d compute devices\n", dev_size);
|
||||
|
||||
status = clGetGLContextInfoKHR(properties,
|
||||
CL_CURRENT_DEVICE_FOR_GL_CONTEXT_KHR,
|
||||
sizeof(devices),
|
||||
devices,
|
||||
&dev_size);
|
||||
status =
|
||||
GetGLContextInfo(properties, CL_CURRENT_DEVICE_FOR_GL_CONTEXT_KHR,
|
||||
sizeof(devices), devices, &dev_size);
|
||||
if (status != CL_SUCCESS) {
|
||||
print_error(status, "clGetGLContextInfoKHR failed");
|
||||
return NULL;
|
||||
@@ -164,9 +168,12 @@ public:
|
||||
|
||||
// Check all devices, search for one that supports cl_khr_gl_sharing
|
||||
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);
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
log_info("Device %d of %d supports required extension cl_khr_gl_sharing.\n", i+1, num_of_devices);
|
||||
interop_devices++;
|
||||
}
|
||||
|
||||
@@ -297,7 +297,7 @@ public:
|
||||
virtual void * IRun( void )
|
||||
{
|
||||
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