Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mesa
Path: blob/21.2-virgl/src/gallium/frontends/clover/api/dispatch.hpp
4572 views
1
//
2
// Copyright 2013 Francisco Jerez
3
//
4
// Permission is hereby granted, free of charge, to any person obtaining a
5
// copy of this software and associated documentation files (the "Software"),
6
// to deal in the Software without restriction, including without limitation
7
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
8
// and/or sell copies of the Software, and to permit persons to whom the
9
// Software is furnished to do so, subject to the following conditions:
10
//
11
// The above copyright notice and this permission notice shall be included in
12
// all copies or substantial portions of the Software.
13
//
14
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
18
// OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20
// OTHER DEALINGS IN THE SOFTWARE.
21
//
22
23
#ifndef API_DISPATCH_HPP
24
#define API_DISPATCH_HPP
25
26
#include "CL/cl.h"
27
#include "CL/cl_ext.h"
28
#include "CL/cl_egl.h"
29
#include "CL/cl_gl.h"
30
#include "CL/cl_icd.h"
31
32
namespace clover {
33
extern const cl_icd_dispatch _dispatch;
34
35
cl_int
36
GetPlatformInfo(cl_platform_id d_platform, cl_platform_info param,
37
size_t size, void *r_buf, size_t *r_size);
38
39
void *
40
GetExtensionFunctionAddress(const char *p_name);
41
42
void *
43
GetExtensionFunctionAddressForPlatform(cl_platform_id d_platform,
44
const char *p_name);
45
46
cl_int
47
IcdGetPlatformIDsKHR(cl_uint num_entries, cl_platform_id *rd_platforms,
48
cl_uint *rnum_platforms);
49
50
cl_int
51
EnqueueSVMFree(cl_command_queue command_queue,
52
cl_uint num_svm_pointers,
53
void *svm_pointers[],
54
void (CL_CALLBACK *pfn_free_func) (
55
cl_command_queue queue, cl_uint num_svm_pointers,
56
void *svm_pointers[], void *user_data),
57
void *user_data,
58
cl_uint num_events_in_wait_list,
59
const cl_event *event_wait_list,
60
cl_event *event,
61
cl_int cmd);
62
63
cl_int
64
EnqueueSVMMemcpy(cl_command_queue command_queue,
65
cl_bool blocking_copy,
66
void *dst_ptr,
67
const void *src_ptr,
68
size_t size,
69
cl_uint num_events_in_wait_list,
70
const cl_event *event_wait_list,
71
cl_event *event,
72
cl_int cmd);
73
74
cl_int
75
EnqueueSVMMap(cl_command_queue command_queue,
76
cl_bool blocking_map,
77
cl_map_flags map_flags,
78
void *svm_ptr,
79
size_t size,
80
cl_uint num_events_in_wait_list,
81
const cl_event *event_wait_list,
82
cl_event *event,
83
cl_int cmd);
84
85
cl_int
86
EnqueueSVMMemFill(cl_command_queue command_queue,
87
void *svm_ptr,
88
const void *pattern,
89
size_t pattern_size,
90
size_t size,
91
cl_uint num_events_in_wait_list,
92
const cl_event *event_wait_list,
93
cl_event *event,
94
cl_int cmd);
95
96
cl_int
97
EnqueueSVMUnmap(cl_command_queue command_queue,
98
void *svm_ptr,
99
cl_uint num_events_in_wait_list,
100
const cl_event *event_wait_list,
101
cl_event *event,
102
cl_int cmd);
103
104
cl_program
105
CreateProgramWithILKHR(cl_context d_ctx, const void *il,
106
size_t length, cl_int *r_errcode);
107
}
108
109
#endif
110
111