17ec681f3Smrg//
27ec681f3Smrg// Copyright 2020 Red Hat
37ec681f3Smrg//
47ec681f3Smrg// Permission is hereby granted, free of charge, to any person obtaining a
57ec681f3Smrg// copy of this software and associated documentation files (the "Software"),
67ec681f3Smrg// to deal in the Software without restriction, including without limitation
77ec681f3Smrg// the rights to use, copy, modify, merge, publish, distribute, sublicense,
87ec681f3Smrg// and/or sell copies of the Software, and to permit persons to whom the
97ec681f3Smrg// Software is furnished to do so, subject to the following conditions:
107ec681f3Smrg//
117ec681f3Smrg// The above copyright notice and this permission notice shall be included in
127ec681f3Smrg// all copies or substantial portions of the Software.
137ec681f3Smrg//
147ec681f3Smrg// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
157ec681f3Smrg// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
167ec681f3Smrg// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
177ec681f3Smrg// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
187ec681f3Smrg// OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
197ec681f3Smrg// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
207ec681f3Smrg// OTHER DEALINGS IN THE SOFTWARE.
217ec681f3Smrg//
227ec681f3Smrg
237ec681f3Smrg#include "api/util.hpp"
247ec681f3Smrg#include "core/context.hpp"
257ec681f3Smrg#include "core/platform.hpp"
267ec681f3Smrg
277ec681f3Smrgusing namespace clover;
287ec681f3Smrg
297ec681f3Smrg// This contains all the CL 2.x API entrypoints that return INVALID_OPERATON
307ec681f3Smrg// on CL 3.0. If these are implemented they should be moved out of this file.
317ec681f3Smrg
327ec681f3SmrgCLOVER_API cl_mem
337ec681f3SmrgclCreatePipe(cl_context d_ctx,
347ec681f3Smrg	     cl_mem_flags flags,
357ec681f3Smrg	     cl_uint pipe_packet_size,
367ec681f3Smrg	     cl_uint pipe_max_packets,
377ec681f3Smrg	     const cl_pipe_properties *properties,
387ec681f3Smrg	     cl_int *r_errorcode) {
397ec681f3Smrg   *r_errorcode = CL_INVALID_OPERATION;
407ec681f3Smrg   return nullptr;
417ec681f3Smrg}
427ec681f3Smrg
437ec681f3Smrg
447ec681f3SmrgCLOVER_API cl_int
457ec681f3SmrgclGetPipeInfo(cl_mem pipe,
467ec681f3Smrg	      cl_pipe_info param_name,
477ec681f3Smrg	      size_t param_value_size,
487ec681f3Smrg	      void *param_value,
497ec681f3Smrg	      size_t *param_value_size_ret) {
507ec681f3Smrg   return CL_INVALID_MEM_OBJECT;
517ec681f3Smrg}
527ec681f3Smrg
537ec681f3SmrgCLOVER_API cl_int
547ec681f3SmrgclGetDeviceAndHostTimer(cl_device_id device,
557ec681f3Smrg			cl_ulong *device_timestamp,
567ec681f3Smrg			cl_ulong *host_timestamp) {
577ec681f3Smrg   return CL_INVALID_OPERATION;
587ec681f3Smrg}
597ec681f3Smrg
607ec681f3SmrgCLOVER_API cl_int
617ec681f3SmrgclGetHostTimer(cl_device_id device,
627ec681f3Smrg	       cl_ulong *host_timestamp) {
637ec681f3Smrg   return CL_INVALID_OPERATION;
647ec681f3Smrg}
657ec681f3Smrg
667ec681f3Smrg
677ec681f3SmrgCLOVER_API cl_int
687ec681f3SmrgclGetKernelSubGroupInfo(cl_kernel d_kern,
697ec681f3Smrg			cl_device_id device,
707ec681f3Smrg			cl_kernel_sub_group_info param_name,
717ec681f3Smrg			size_t input_value_size,
727ec681f3Smrg			const void *input_value,
737ec681f3Smrg			size_t param_size_value,
747ec681f3Smrg			void *param_value,
757ec681f3Smrg			size_t *param_value_size_ret) {
767ec681f3Smrg   return CL_INVALID_OPERATION;
777ec681f3Smrg}
787ec681f3Smrg
797ec681f3Smrg
807ec681f3SmrgCLOVER_API cl_int
817ec681f3SmrgclSetDefaultDeviceCommandQueue(cl_context context,
827ec681f3Smrg			       cl_device_id device,
837ec681f3Smrg			       cl_command_queue command_queue) {
847ec681f3Smrg   return CL_INVALID_OPERATION;
857ec681f3Smrg}
867ec681f3Smrg
877ec681f3SmrgCLOVER_API cl_int
887ec681f3SmrgclSetProgramReleaseCallback(cl_program d_prog,
897ec681f3Smrg			    void (CL_CALLBACK *pfn_notify)(cl_program program, void *user_data),
907ec681f3Smrg			    void *user_data) {
917ec681f3Smrg   return CL_INVALID_OPERATION;
927ec681f3Smrg}
937ec681f3Smrg
947ec681f3SmrgCLOVER_API cl_int
957ec681f3SmrgclSetProgramSpecializationConstant(cl_program program,
967ec681f3Smrg				   cl_uint spec_id,
977ec681f3Smrg				   size_t spec_size,
987ec681f3Smrg				   const void* spec_value) {
997ec681f3Smrg   return CL_INVALID_OPERATION;
1007ec681f3Smrg}
101