1*6467f958SSadaf Ebrahimi // 2*6467f958SSadaf Ebrahimi // Copyright (c) 2017 The Khronos Group Inc. 3*6467f958SSadaf Ebrahimi // 4*6467f958SSadaf Ebrahimi // Licensed under the Apache License, Version 2.0 (the "License"); 5*6467f958SSadaf Ebrahimi // you may not use this file except in compliance with the License. 6*6467f958SSadaf Ebrahimi // You may obtain a copy of the License at 7*6467f958SSadaf Ebrahimi // 8*6467f958SSadaf Ebrahimi // http://www.apache.org/licenses/LICENSE-2.0 9*6467f958SSadaf Ebrahimi // 10*6467f958SSadaf Ebrahimi // Unless required by applicable law or agreed to in writing, software 11*6467f958SSadaf Ebrahimi // distributed under the License is distributed on an "AS IS" BASIS, 12*6467f958SSadaf Ebrahimi // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*6467f958SSadaf Ebrahimi // See the License for the specific language governing permissions and 14*6467f958SSadaf Ebrahimi // limitations under the License. 15*6467f958SSadaf Ebrahimi // 16*6467f958SSadaf Ebrahimi #include "testBase.h" 17*6467f958SSadaf Ebrahimi #include "harness/mt19937.h" 18*6467f958SSadaf Ebrahimi 19*6467f958SSadaf Ebrahimi 20*6467f958SSadaf Ebrahimi #pragma mark - 21*6467f958SSadaf Ebrahimi #pragma Misc tests 22*6467f958SSadaf Ebrahimi 23*6467f958SSadaf Ebrahimi extern int test_buffers(cl_device_id device, cl_context context, 24*6467f958SSadaf Ebrahimi cl_command_queue queue, int num_elements); 25*6467f958SSadaf Ebrahimi 26*6467f958SSadaf Ebrahimi extern int test_fence_sync(cl_device_id device, cl_context context, 27*6467f958SSadaf Ebrahimi cl_command_queue queue, int numElements); 28*6467f958SSadaf Ebrahimi 29*6467f958SSadaf Ebrahimi 30*6467f958SSadaf Ebrahimi #pragma mark - 31*6467f958SSadaf Ebrahimi #pragma mark Tead tests 32*6467f958SSadaf Ebrahimi 33*6467f958SSadaf Ebrahimi extern int test_images_read_2D(cl_device_id device, cl_context context, 34*6467f958SSadaf Ebrahimi cl_command_queue queue, int num_elements); 35*6467f958SSadaf Ebrahimi 36*6467f958SSadaf Ebrahimi extern int test_images_read_1D(cl_device_id device, cl_context context, 37*6467f958SSadaf Ebrahimi cl_command_queue queue, int num_elements); 38*6467f958SSadaf Ebrahimi 39*6467f958SSadaf Ebrahimi extern int test_images_read_texturebuffer(cl_device_id device, 40*6467f958SSadaf Ebrahimi cl_context context, 41*6467f958SSadaf Ebrahimi cl_command_queue queue, 42*6467f958SSadaf Ebrahimi int num_elements); 43*6467f958SSadaf Ebrahimi 44*6467f958SSadaf Ebrahimi extern int test_images_read_1Darray(cl_device_id device, cl_context context, 45*6467f958SSadaf Ebrahimi cl_command_queue queue, int num_elements); 46*6467f958SSadaf Ebrahimi 47*6467f958SSadaf Ebrahimi extern int test_images_read_2Darray(cl_device_id device, cl_context context, 48*6467f958SSadaf Ebrahimi cl_command_queue queue, int num_elements); 49*6467f958SSadaf Ebrahimi 50*6467f958SSadaf Ebrahimi extern int test_images_read_cube(cl_device_id device, cl_context context, 51*6467f958SSadaf Ebrahimi cl_command_queue queue, int num_elements); 52*6467f958SSadaf Ebrahimi 53*6467f958SSadaf Ebrahimi extern int test_images_read_3D(cl_device_id device, cl_context context, 54*6467f958SSadaf Ebrahimi cl_command_queue queue, int num_elements); 55*6467f958SSadaf Ebrahimi 56*6467f958SSadaf Ebrahimi extern int test_renderbuffer_read(cl_device_id device, cl_context context, 57*6467f958SSadaf Ebrahimi cl_command_queue queue, int num_elements); 58*6467f958SSadaf Ebrahimi 59*6467f958SSadaf Ebrahimi #pragma mark - 60*6467f958SSadaf Ebrahimi #pragma mark Write tests 61*6467f958SSadaf Ebrahimi 62*6467f958SSadaf Ebrahimi // 2D tests are the ones with no suffix: 63*6467f958SSadaf Ebrahimi 64*6467f958SSadaf Ebrahimi extern int test_images_write(cl_device_id device, cl_context context, 65*6467f958SSadaf Ebrahimi cl_command_queue queue, int num_elements); 66*6467f958SSadaf Ebrahimi 67*6467f958SSadaf Ebrahimi extern int test_images_write_cube(cl_device_id device, cl_context context, 68*6467f958SSadaf Ebrahimi cl_command_queue queue, int num_elements); 69*6467f958SSadaf Ebrahimi 70*6467f958SSadaf Ebrahimi extern int test_renderbuffer_write(cl_device_id device, cl_context context, 71*6467f958SSadaf Ebrahimi cl_command_queue queue, int num_elements); 72*6467f958SSadaf Ebrahimi 73*6467f958SSadaf Ebrahimi // Here are the rest: 74*6467f958SSadaf Ebrahimi 75*6467f958SSadaf Ebrahimi extern int test_images_write_1D(cl_device_id device, cl_context context, 76*6467f958SSadaf Ebrahimi cl_command_queue queue, int num_elements); 77*6467f958SSadaf Ebrahimi 78*6467f958SSadaf Ebrahimi extern int test_images_write_texturebuffer(cl_device_id device, 79*6467f958SSadaf Ebrahimi cl_context context, 80*6467f958SSadaf Ebrahimi cl_command_queue queue, 81*6467f958SSadaf Ebrahimi int num_elements); 82*6467f958SSadaf Ebrahimi 83*6467f958SSadaf Ebrahimi extern int test_images_write_1Darray(cl_device_id device, cl_context context, 84*6467f958SSadaf Ebrahimi cl_command_queue queue, int num_elements); 85*6467f958SSadaf Ebrahimi 86*6467f958SSadaf Ebrahimi extern int test_images_write_2Darray(cl_device_id device, cl_context context, 87*6467f958SSadaf Ebrahimi cl_command_queue queue, int num_elements); 88*6467f958SSadaf Ebrahimi 89*6467f958SSadaf Ebrahimi extern int test_images_write_3D(cl_device_id device, cl_context context, 90*6467f958SSadaf Ebrahimi cl_command_queue queue, int num_elements); 91*6467f958SSadaf Ebrahimi 92*6467f958SSadaf Ebrahimi #pragma mark - 93*6467f958SSadaf Ebrahimi #pragma mark Get info test entry points 94*6467f958SSadaf Ebrahimi 95*6467f958SSadaf Ebrahimi extern int test_buffers_getinfo(cl_device_id device, cl_context context, 96*6467f958SSadaf Ebrahimi cl_command_queue queue, int numElements); 97*6467f958SSadaf Ebrahimi 98*6467f958SSadaf Ebrahimi extern int test_images_1D_getinfo(cl_device_id device, cl_context context, 99*6467f958SSadaf Ebrahimi cl_command_queue queue, int numElements); 100*6467f958SSadaf Ebrahimi 101*6467f958SSadaf Ebrahimi extern int test_images_texturebuffer_getinfo(cl_device_id device, 102*6467f958SSadaf Ebrahimi cl_context context, 103*6467f958SSadaf Ebrahimi cl_command_queue queue, 104*6467f958SSadaf Ebrahimi int numElements); 105*6467f958SSadaf Ebrahimi 106*6467f958SSadaf Ebrahimi extern int test_images_1Darray_getinfo(cl_device_id device, cl_context context, 107*6467f958SSadaf Ebrahimi cl_command_queue queue, int numElements); 108*6467f958SSadaf Ebrahimi 109*6467f958SSadaf Ebrahimi extern int test_images_2D_getinfo(cl_device_id device, cl_context context, 110*6467f958SSadaf Ebrahimi cl_command_queue queue, int numElements); 111*6467f958SSadaf Ebrahimi 112*6467f958SSadaf Ebrahimi extern int test_images_2Darray_getinfo(cl_device_id device, cl_context context, 113*6467f958SSadaf Ebrahimi cl_command_queue queue, int numElements); 114*6467f958SSadaf Ebrahimi 115*6467f958SSadaf Ebrahimi extern int test_images_cube_getinfo(cl_device_id device, cl_context context, 116*6467f958SSadaf Ebrahimi cl_command_queue queue, int numElements); 117*6467f958SSadaf Ebrahimi 118*6467f958SSadaf Ebrahimi extern int test_images_3D_getinfo(cl_device_id device, cl_context context, 119*6467f958SSadaf Ebrahimi cl_command_queue queue, int numElements); 120*6467f958SSadaf Ebrahimi 121*6467f958SSadaf Ebrahimi extern int test_images_read_2D_depth(cl_device_id device, cl_context context, 122*6467f958SSadaf Ebrahimi cl_command_queue queue, int numElements); 123*6467f958SSadaf Ebrahimi 124*6467f958SSadaf Ebrahimi extern int test_images_write_2D_depth(cl_device_id device, cl_context context, 125*6467f958SSadaf Ebrahimi cl_command_queue queue, int numElements); 126*6467f958SSadaf Ebrahimi 127*6467f958SSadaf Ebrahimi extern int test_images_read_2Darray_depth(cl_device_id device, 128*6467f958SSadaf Ebrahimi cl_context context, 129*6467f958SSadaf Ebrahimi cl_command_queue queue, int); 130*6467f958SSadaf Ebrahimi 131*6467f958SSadaf Ebrahimi extern int test_images_write_2Darray_depth(cl_device_id device, 132*6467f958SSadaf Ebrahimi cl_context context, 133*6467f958SSadaf Ebrahimi cl_command_queue queue, 134*6467f958SSadaf Ebrahimi int numElements); 135*6467f958SSadaf Ebrahimi 136*6467f958SSadaf Ebrahimi extern int test_images_read_2D_multisample(cl_device_id device, 137*6467f958SSadaf Ebrahimi cl_context context, 138*6467f958SSadaf Ebrahimi cl_command_queue queue, 139*6467f958SSadaf Ebrahimi int numElements); 140*6467f958SSadaf Ebrahimi 141*6467f958SSadaf Ebrahimi extern int test_images_read_2Darray_multisample(cl_device_id device, 142*6467f958SSadaf Ebrahimi cl_context context, 143*6467f958SSadaf Ebrahimi cl_command_queue queue, int); 144*6467f958SSadaf Ebrahimi 145*6467f958SSadaf Ebrahimi extern int test_image_methods_depth(cl_device_id device, cl_context context, 146*6467f958SSadaf Ebrahimi cl_command_queue queue, int); 147*6467f958SSadaf Ebrahimi 148*6467f958SSadaf Ebrahimi extern int test_image_methods_multisample(cl_device_id device, 149*6467f958SSadaf Ebrahimi cl_context context, 150*6467f958SSadaf Ebrahimi cl_command_queue queue, int); 151*6467f958SSadaf Ebrahimi 152*6467f958SSadaf Ebrahimi extern int test_renderbuffer_getinfo(cl_device_id device, cl_context context, 153*6467f958SSadaf Ebrahimi cl_command_queue queue, int numElements);