From 2c68be232791bfafd7c8df502c3094e4938765b9 Mon Sep 17 00:00:00 2001 From: Homer Hsing Date: Mon, 19 Nov 2012 16:17:31 +0800 Subject: test creating program objects, build program executable, build options, query program objects --- kernels/empty.cl | 1 + utests/compiler_program_objects.cpp | 64 +++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 kernels/empty.cl create mode 100644 utests/compiler_program_objects.cpp diff --git a/kernels/empty.cl b/kernels/empty.cl new file mode 100644 index 00000000..fd6f2989 --- /dev/null +++ b/kernels/empty.cl @@ -0,0 +1 @@ +__kernel void empty() {} diff --git a/utests/compiler_program_objects.cpp b/utests/compiler_program_objects.cpp new file mode 100644 index 00000000..34ae42ad --- /dev/null +++ b/utests/compiler_program_objects.cpp @@ -0,0 +1,64 @@ +/* test OpenCL 1.1 Program Objects (section 5.6) + * test creating program objects, + * build program executable, + * build options + * query program objects */ + +#include "utest_helper.hpp" + +void compiler_program_objects(void) +{ + OCL_CREATE_KERNEL("empty"); // set up global vars + OCL_CALL(clRetainProgram, program); + OCL_CALL(clReleaseProgram, program); + OCL_CALL(clBuildProgram, + program, + 1, + &device, + "-Dname -Dname2=def -ldir " + "-cl-opt-disable -cl-strict-aliasing -cl-mad-enable -cl-no-signed-zeros " + "-cl-finite-math-only -cl-fast-relaxed-math -cl-unsafe-math-optimizations " + "-cl-single-precision-constant -cl-denorms-are-zero " + "-w -Werror -cl-std=CL1.1", + NULL, + NULL); + const int pi[] = {CL_PROGRAM_REFERENCE_COUNT, + CL_PROGRAM_CONTEXT, + CL_PROGRAM_NUM_DEVICES, + CL_PROGRAM_DEVICES, + CL_PROGRAM_SOURCE, + CL_PROGRAM_BINARY_SIZES, + CL_PROGRAM_BINARIES,}; + const int pbi[] = {CL_PROGRAM_BUILD_STATUS, + CL_PROGRAM_BUILD_OPTIONS, + CL_PROGRAM_BUILD_LOG,}; + char param_value[1024]; + size_t pv_size; + int i; + for(i=0; i