Commit 8226dc23 by John Plate Committed by Commit Bot

Generate CL enums in libGLESv2

Bug: angleproject:5869 Change-Id: Ie547d415bed37accef6cb62d28bc6b088a1eb810 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2829370Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarCody Northrop <cnorthrop@google.com> Commit-Queue: John Plate <jplate@google.com>
parent fbfecbe2
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
"scripts/entry_point_packed_gl_enums.json": "scripts/entry_point_packed_gl_enums.json":
"4f7b43863a5e61991bba4010db463679", "4f7b43863a5e61991bba4010db463679",
"scripts/generate_entry_points.py": "scripts/generate_entry_points.py":
"15459e0793e7bfece50f13991be8d51b", "6be5ee077187f1ec68e8e6035bcd2cae",
"scripts/gl.xml": "scripts/gl.xml":
"2a73a58a7e26d8676a2c0af6d528cae6", "2a73a58a7e26d8676a2c0af6d528cae6",
"scripts/gl_angle_ext.xml": "scripts/gl_angle_ext.xml":
...@@ -120,7 +120,7 @@ ...@@ -120,7 +120,7 @@
"src/libGL/libGL_autogen.def": "src/libGL/libGL_autogen.def":
"2789d87b05eea9f53d52e2aff499b785", "2789d87b05eea9f53d52e2aff499b785",
"src/libGLESv2/cl_stubs_autogen.h": "src/libGLESv2/cl_stubs_autogen.h":
"719dd03921e8cfcd8db6c53c0bddd4ae", "a20a5e774c40e4230878b90e76fe4f82",
"src/libGLESv2/egl_ext_stubs_autogen.h": "src/libGLESv2/egl_ext_stubs_autogen.h":
"2ef3b8d087f2a97f7270b96077c93856", "2ef3b8d087f2a97f7270b96077c93856",
"src/libGLESv2/egl_get_labeled_object_data.json": "src/libGLESv2/egl_get_labeled_object_data.json":
...@@ -128,7 +128,7 @@ ...@@ -128,7 +128,7 @@
"src/libGLESv2/egl_stubs_autogen.h": "src/libGLESv2/egl_stubs_autogen.h":
"6439daa350c1663e71dd0af37dcc91df", "6439daa350c1663e71dd0af37dcc91df",
"src/libGLESv2/entry_points_cl_autogen.cpp": "src/libGLESv2/entry_points_cl_autogen.cpp":
"fc02d4dce683eedc19e4e9e321928238", "3a65b1fd9a07a192819df70e7b8ec292",
"src/libGLESv2/entry_points_cl_autogen.h": "src/libGLESv2/entry_points_cl_autogen.h":
"129fa7936c8bc6a20de9269da0c3c7d3", "129fa7936c8bc6a20de9269da0c3c7d3",
"src/libGLESv2/entry_points_egl_autogen.cpp": "src/libGLESv2/entry_points_egl_autogen.cpp":
......
{ {
"src/common/PackedCLEnums_autogen.cpp":
"399217e4821b02c00fb96788de683c55",
"src/common/PackedCLEnums_autogen.h":
"76e2457971997ca26ff3761ac21573e4",
"src/common/PackedEGLEnums_autogen.cpp": "src/common/PackedEGLEnums_autogen.cpp":
"1e5cf84847c9880d32d1f638b366ed08", "1e5cf84847c9880d32d1f638b366ed08",
"src/common/PackedEGLEnums_autogen.h": "src/common/PackedEGLEnums_autogen.h":
"0a944740b92f9ff99e3dd99e81122326", "0574ea48b14b76dc13e654a11597bf1d",
"src/common/PackedGLEnums_autogen.cpp": "src/common/PackedGLEnums_autogen.cpp":
"e2cb0a29dcd2bdbda338b82953c752ee", "e2cb0a29dcd2bdbda338b82953c752ee",
"src/common/PackedGLEnums_autogen.h": "src/common/PackedGLEnums_autogen.h":
"be253a688922f04c20166b4e31f6a227", "60a5b286c98aba32a0e3b537a1424ee9",
"src/common/gen_packed_gl_enums.py": "src/common/gen_packed_gl_enums.py":
"d0f03fcaaefd38e45b3ac1bdfefc0bab", "7453287e3f184427043604d172a6765b",
"src/common/packed_cl_enums.json":
"a30fcf0740b85c0a32518fe4f7d1e138",
"src/common/packed_egl_enums.json": "src/common/packed_egl_enums.json":
"76e1b814421e121164d60a0d89cb16c1", "76e1b814421e121164d60a0d89cb16c1",
"src/common/packed_gl_enums.json": "src/common/packed_gl_enums.json":
......
...@@ -251,7 +251,9 @@ void CL_API_CALL CL_{name}({params}) ...@@ -251,7 +251,9 @@ void CL_API_CALL CL_{name}({params})
{{ {{
CL_EVENT({name}, "{format_params}"{comma_if_needed}{pass_params}); CL_EVENT({name}, "{format_params}"{comma_if_needed}{pass_params});
// TODO: {name} {packed_gl_enum_conversions}
// TODO: validate
cl::{name}({internal_params}); cl::{name}({internal_params});
}} }}
...@@ -262,7 +264,9 @@ TEMPLATE_CL_ENTRY_POINT_WITH_RETURN = """\ ...@@ -262,7 +264,9 @@ TEMPLATE_CL_ENTRY_POINT_WITH_RETURN = """\
{{ {{
CL_EVENT({name}, "{format_params}"{comma_if_needed}{pass_params}); CL_EVENT({name}, "{format_params}"{comma_if_needed}{pass_params});
// TODO: {name} {packed_gl_enum_conversions}
// TODO: validate
return cl::{name}({internal_params}); return cl::{name}({internal_params});
}} }}
...@@ -283,6 +287,8 @@ TEMPLATE_CL_STUBS_HEADER = """\ ...@@ -283,6 +287,8 @@ TEMPLATE_CL_STUBS_HEADER = """\
#include "angle_cl.h" #include "angle_cl.h"
#include "common/PackedCLEnums_autogen.h"
namespace cl namespace cl
{{ {{
{stubs} {stubs}
...@@ -970,6 +976,9 @@ LIBCL_SOURCE_INCLUDES = """\ ...@@ -970,6 +976,9 @@ LIBCL_SOURCE_INCLUDES = """\
#include "cl_stubs_autogen.h" #include "cl_stubs_autogen.h"
#include "entry_points_cl_utils.h" #include "entry_points_cl_utils.h"
#include "validationCL.h"
using namespace cl;
""" """
TEMPLATE_EVENT_COMMENT = """\ TEMPLATE_EVENT_COMMENT = """\
...@@ -1184,7 +1193,28 @@ TEMPLATE_RESOURCE_ID_TYPE_NAME_CASE = """\ ...@@ -1184,7 +1193,28 @@ TEMPLATE_RESOURCE_ID_TYPE_NAME_CASE = """\
case ResourceIDType::{resource_id_type}: case ResourceIDType::{resource_id_type}:
return "{resource_id_type}";""" return "{resource_id_type}";"""
CL_PACKED_TYPES = {} CL_PACKED_TYPES = {
"cl_platform_info": "PlatformInfo",
"cl_device_info": "DeviceInfo",
"cl_context_info": "ContextInfo",
"cl_command_queue_info": "CommandQueueInfo",
"cl_mem_object_type": "MemObjectType",
"cl_mem_info": "MemInfo",
"cl_image_info": "ImageInfo",
"cl_pipe_info": "PipeInfo",
"cl_addressing_mode": "AddressingMode",
"cl_filter_mode": "FilterMode",
"cl_sampler_info": "SamplerInfo",
"cl_program_info": "ProgramInfo",
"cl_program_build_info": "ProgramBuildInfo",
"cl_kernel_info": "KernelInfo",
"cl_kernel_arg_info": "KernelArgInfo",
"cl_kernel_work_group_info": "KernelWorkGroupInfo",
"cl_kernel_sub_group_info": "KernelSubGroupInfo",
"cl_kernel_exec_info": "KernelExecInfo",
"cl_event_info": "EventInfo",
"cl_profiling_info": "ProfilingInfo",
}
EGL_PACKED_TYPES = { EGL_PACKED_TYPES = {
"EGLContext": "gl::Context *", "EGLContext": "gl::Context *",
...@@ -1831,7 +1861,8 @@ class CLEntryPoints(ANGLEEntryPoints): ...@@ -1831,7 +1861,8 @@ class CLEntryPoints(ANGLEEntryPoints):
commands, commands,
CLEntryPoints.all_param_types, CLEntryPoints.all_param_types,
CLEntryPoints.get_packed_enums(), CLEntryPoints.get_packed_enums(),
export_template=TEMPLATE_CL_ENTRY_POINT_EXPORT) export_template=TEMPLATE_CL_ENTRY_POINT_EXPORT,
packed_param_types=CL_PACKED_TYPES)
@classmethod @classmethod
def get_packed_enums(cls): def get_packed_enums(cls):
......
...@@ -14,7 +14,6 @@ ...@@ -14,7 +14,6 @@
#include <EGL/egl.h> #include <EGL/egl.h>
#include <EGL/eglext.h> #include <EGL/eglext.h>
#include <angle_gl.h>
#include <cstdint> #include <cstdint>
#include <ostream> #include <ostream>
......
...@@ -12,8 +12,6 @@ ...@@ -12,8 +12,6 @@
#ifndef COMMON_PACKEDGLENUMS_AUTOGEN_H_ #ifndef COMMON_PACKEDGLENUMS_AUTOGEN_H_
#define COMMON_PACKEDGLENUMS_AUTOGEN_H_ #define COMMON_PACKEDGLENUMS_AUTOGEN_H_
#include <EGL/egl.h>
#include <EGL/eglext.h>
#include <angle_gl.h> #include <angle_gl.h>
#include <cstdint> #include <cstdint>
......
...@@ -18,15 +18,24 @@ Generators = [ ...@@ -18,15 +18,24 @@ Generators = [
{ {
'json': 'packed_gl_enums.json', 'json': 'packed_gl_enums.json',
'output': 'PackedGLEnums', 'output': 'PackedGLEnums',
'includes': '#include <angle_gl.h>',
'namespace': 'gl', 'namespace': 'gl',
'enum_type': 'GLenum', 'enum_type': 'GLenum',
}, },
{ {
'json': 'packed_egl_enums.json', 'json': 'packed_egl_enums.json',
'output': 'PackedEGLEnums', 'output': 'PackedEGLEnums',
'includes': '#include <EGL/egl.h>\n#include <EGL/eglext.h>',
'namespace': 'egl', 'namespace': 'egl',
'enum_type': 'EGLenum', 'enum_type': 'EGLenum',
}, },
{
'json': 'packed_cl_enums.json',
'output': 'PackedCLEnums',
'includes': '#include <angle_cl.h>\ntypedef cl_uint CLenum;',
'namespace': 'cl',
'enum_type': 'CLenum',
},
] ]
...@@ -73,9 +82,7 @@ header_template = """// GENERATED FILE - DO NOT EDIT. ...@@ -73,9 +82,7 @@ header_template = """// GENERATED FILE - DO NOT EDIT.
#ifndef COMMON_{include_guard}_ #ifndef COMMON_{include_guard}_
#define COMMON_{include_guard}_ #define COMMON_{include_guard}_
#include <angle_gl.h> {includes}
#include <EGL/egl.h>
#include <EGL/eglext.h>
#include <cstdint> #include <cstdint>
#include <ostream> #include <ostream>
...@@ -107,7 +114,8 @@ std::ostream &operator<<(std::ostream &os, {enum_name} value); ...@@ -107,7 +114,8 @@ std::ostream &operator<<(std::ostream &os, {enum_name} value);
""" """
def write_header(enums, path_prefix, file_name, data_source_name, namespace, api_enum_name): def write_header(enums, path_prefix, file_name, data_source_name, includes, namespace,
api_enum_name):
content = [''] content = ['']
for enum in enums: for enum in enums:
...@@ -128,6 +136,7 @@ def write_header(enums, path_prefix, file_name, data_source_name, namespace, api ...@@ -128,6 +136,7 @@ def write_header(enums, path_prefix, file_name, data_source_name, namespace, api
script_name=sys.argv[0], script_name=sys.argv[0],
file_name=file_name, file_name=file_name,
include_guard=generate_include_guard(file_name), include_guard=generate_include_guard(file_name),
includes=includes,
namespace=namespace, namespace=namespace,
api_enum_name=api_enum_name) api_enum_name=api_enum_name)
...@@ -257,11 +266,12 @@ def main(): ...@@ -257,11 +266,12 @@ def main():
for generator in Generators: for generator in Generators:
json_file = generator['json'] json_file = generator['json']
output_file = generator['output'] output_file = generator['output']
includes = generator['includes']
namespace = generator['namespace'] namespace = generator['namespace']
enum_type = generator['enum_type'] enum_type = generator['enum_type']
enums = load_enums(path_prefix + json_file) enums = load_enums(path_prefix + json_file)
write_header(enums, path_prefix, output_file + '_autogen.h', json_file, namespace, write_header(enums, path_prefix, output_file + '_autogen.h', json_file, includes,
enum_type) namespace, enum_type)
write_cpp(enums, path_prefix, output_file + '_autogen.cpp', json_file, namespace, write_cpp(enums, path_prefix, output_file + '_autogen.cpp', json_file, namespace,
enum_type) enum_type)
return 0 return 0
......
...@@ -11,6 +11,8 @@ libangle_common_sources = [ ...@@ -11,6 +11,8 @@ libangle_common_sources = [
"src/common/MemoryBuffer.cpp", "src/common/MemoryBuffer.cpp",
"src/common/MemoryBuffer.h", "src/common/MemoryBuffer.h",
"src/common/Optional.h", "src/common/Optional.h",
"src/common/PackedCLEnums_autogen.cpp",
"src/common/PackedCLEnums_autogen.h",
"src/common/PackedEGLEnums_autogen.cpp", "src/common/PackedEGLEnums_autogen.cpp",
"src/common/PackedEGLEnums_autogen.h", "src/common/PackedEGLEnums_autogen.h",
"src/common/PackedEnums.cpp", "src/common/PackedEnums.cpp",
...@@ -542,6 +544,7 @@ libglesv2_sources = [ ...@@ -542,6 +544,7 @@ libglesv2_sources = [
"src/libGLESv2/proc_table_egl.h", "src/libGLESv2/proc_table_egl.h",
"src/libGLESv2/proc_table_egl_autogen.cpp", "src/libGLESv2/proc_table_egl_autogen.cpp",
"src/libGLESv2/resource.h", "src/libGLESv2/resource.h",
"src/libGLESv2/validationCL.h",
] ]
if (is_win) { if (is_win) {
......
...@@ -16,7 +16,7 @@ cl_int GetPlatformIDs(cl_uint num_entries, cl_platform_id *platforms, cl_uint *n ...@@ -16,7 +16,7 @@ cl_int GetPlatformIDs(cl_uint num_entries, cl_platform_id *platforms, cl_uint *n
} }
cl_int GetPlatformInfo(cl_platform_id platform, cl_int GetPlatformInfo(cl_platform_id platform,
cl_platform_info param_name, PlatformInfo param_name,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret) size_t *param_value_size_ret)
...@@ -34,7 +34,7 @@ cl_int GetDeviceIDs(cl_platform_id platform, ...@@ -34,7 +34,7 @@ cl_int GetDeviceIDs(cl_platform_id platform,
} }
cl_int GetDeviceInfo(cl_device_id device, cl_int GetDeviceInfo(cl_device_id device,
cl_device_info param_name, DeviceInfo param_name,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret) size_t *param_value_size_ret)
...@@ -116,7 +116,7 @@ cl_int ReleaseContext(cl_context context) ...@@ -116,7 +116,7 @@ cl_int ReleaseContext(cl_context context)
} }
cl_int GetContextInfo(cl_context context, cl_int GetContextInfo(cl_context context,
cl_context_info param_name, ContextInfo param_name,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret) size_t *param_value_size_ret)
...@@ -151,7 +151,7 @@ cl_int ReleaseCommandQueue(cl_command_queue command_queue) ...@@ -151,7 +151,7 @@ cl_int ReleaseCommandQueue(cl_command_queue command_queue)
} }
cl_int GetCommandQueueInfo(cl_command_queue command_queue, cl_int GetCommandQueueInfo(cl_command_queue command_queue,
cl_command_queue_info param_name, CommandQueueInfo param_name,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret) size_t *param_value_size_ret)
...@@ -230,7 +230,7 @@ cl_int ReleaseMemObject(cl_mem memobj) ...@@ -230,7 +230,7 @@ cl_int ReleaseMemObject(cl_mem memobj)
cl_int GetSupportedImageFormats(cl_context context, cl_int GetSupportedImageFormats(cl_context context,
cl_mem_flags flags, cl_mem_flags flags,
cl_mem_object_type image_type, MemObjectType image_type,
cl_uint num_entries, cl_uint num_entries,
cl_image_format *image_formats, cl_image_format *image_formats,
cl_uint *num_image_formats) cl_uint *num_image_formats)
...@@ -239,7 +239,7 @@ cl_int GetSupportedImageFormats(cl_context context, ...@@ -239,7 +239,7 @@ cl_int GetSupportedImageFormats(cl_context context,
} }
cl_int GetMemObjectInfo(cl_mem memobj, cl_int GetMemObjectInfo(cl_mem memobj,
cl_mem_info param_name, MemInfo param_name,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret) size_t *param_value_size_ret)
...@@ -248,7 +248,7 @@ cl_int GetMemObjectInfo(cl_mem memobj, ...@@ -248,7 +248,7 @@ cl_int GetMemObjectInfo(cl_mem memobj,
} }
cl_int GetImageInfo(cl_mem image, cl_int GetImageInfo(cl_mem image,
cl_image_info param_name, ImageInfo param_name,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret) size_t *param_value_size_ret)
...@@ -257,7 +257,7 @@ cl_int GetImageInfo(cl_mem image, ...@@ -257,7 +257,7 @@ cl_int GetImageInfo(cl_mem image,
} }
cl_int GetPipeInfo(cl_mem pipe, cl_int GetPipeInfo(cl_mem pipe,
cl_pipe_info param_name, PipeInfo param_name,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret) size_t *param_value_size_ret)
...@@ -297,7 +297,7 @@ cl_int ReleaseSampler(cl_sampler sampler) ...@@ -297,7 +297,7 @@ cl_int ReleaseSampler(cl_sampler sampler)
} }
cl_int GetSamplerInfo(cl_sampler sampler, cl_int GetSamplerInfo(cl_sampler sampler,
cl_sampler_info param_name, SamplerInfo param_name,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret) size_t *param_value_size_ret)
...@@ -409,7 +409,7 @@ cl_int UnloadPlatformCompiler(cl_platform_id platform) ...@@ -409,7 +409,7 @@ cl_int UnloadPlatformCompiler(cl_platform_id platform)
} }
cl_int GetProgramInfo(cl_program program, cl_int GetProgramInfo(cl_program program,
cl_program_info param_name, ProgramInfo param_name,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret) size_t *param_value_size_ret)
...@@ -419,7 +419,7 @@ cl_int GetProgramInfo(cl_program program, ...@@ -419,7 +419,7 @@ cl_int GetProgramInfo(cl_program program,
cl_int GetProgramBuildInfo(cl_program program, cl_int GetProgramBuildInfo(cl_program program,
cl_device_id device, cl_device_id device,
cl_program_build_info param_name, ProgramBuildInfo param_name,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret) size_t *param_value_size_ret)
...@@ -466,7 +466,7 @@ cl_int SetKernelArgSVMPointer(cl_kernel kernel, cl_uint arg_index, const void *a ...@@ -466,7 +466,7 @@ cl_int SetKernelArgSVMPointer(cl_kernel kernel, cl_uint arg_index, const void *a
} }
cl_int SetKernelExecInfo(cl_kernel kernel, cl_int SetKernelExecInfo(cl_kernel kernel,
cl_kernel_exec_info param_name, KernelExecInfo param_name,
size_t param_value_size, size_t param_value_size,
const void *param_value) const void *param_value)
{ {
...@@ -474,7 +474,7 @@ cl_int SetKernelExecInfo(cl_kernel kernel, ...@@ -474,7 +474,7 @@ cl_int SetKernelExecInfo(cl_kernel kernel,
} }
cl_int GetKernelInfo(cl_kernel kernel, cl_int GetKernelInfo(cl_kernel kernel,
cl_kernel_info param_name, KernelInfo param_name,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret) size_t *param_value_size_ret)
...@@ -484,7 +484,7 @@ cl_int GetKernelInfo(cl_kernel kernel, ...@@ -484,7 +484,7 @@ cl_int GetKernelInfo(cl_kernel kernel,
cl_int GetKernelArgInfo(cl_kernel kernel, cl_int GetKernelArgInfo(cl_kernel kernel,
cl_uint arg_index, cl_uint arg_index,
cl_kernel_arg_info param_name, KernelArgInfo param_name,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret) size_t *param_value_size_ret)
...@@ -494,7 +494,7 @@ cl_int GetKernelArgInfo(cl_kernel kernel, ...@@ -494,7 +494,7 @@ cl_int GetKernelArgInfo(cl_kernel kernel,
cl_int GetKernelWorkGroupInfo(cl_kernel kernel, cl_int GetKernelWorkGroupInfo(cl_kernel kernel,
cl_device_id device, cl_device_id device,
cl_kernel_work_group_info param_name, KernelWorkGroupInfo param_name,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret) size_t *param_value_size_ret)
...@@ -504,7 +504,7 @@ cl_int GetKernelWorkGroupInfo(cl_kernel kernel, ...@@ -504,7 +504,7 @@ cl_int GetKernelWorkGroupInfo(cl_kernel kernel,
cl_int GetKernelSubGroupInfo(cl_kernel kernel, cl_int GetKernelSubGroupInfo(cl_kernel kernel,
cl_device_id device, cl_device_id device,
cl_kernel_sub_group_info param_name, KernelSubGroupInfo param_name,
size_t input_value_size, size_t input_value_size,
const void *input_value, const void *input_value,
size_t param_value_size, size_t param_value_size,
...@@ -520,7 +520,7 @@ cl_int WaitForEvents(cl_uint num_events, const cl_event *event_list) ...@@ -520,7 +520,7 @@ cl_int WaitForEvents(cl_uint num_events, const cl_event *event_list)
} }
cl_int GetEventInfo(cl_event event, cl_int GetEventInfo(cl_event event,
cl_event_info param_name, EventInfo param_name,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret) size_t *param_value_size_ret)
...@@ -559,7 +559,7 @@ cl_int SetEventCallback(cl_event event, ...@@ -559,7 +559,7 @@ cl_int SetEventCallback(cl_event event,
} }
cl_int GetEventProfilingInfo(cl_event event, cl_int GetEventProfilingInfo(cl_event event,
cl_profiling_info param_name, ProfilingInfo param_name,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret) size_t *param_value_size_ret)
...@@ -1005,8 +1005,8 @@ cl_command_queue CreateCommandQueue(cl_context context, ...@@ -1005,8 +1005,8 @@ cl_command_queue CreateCommandQueue(cl_context context,
cl_sampler CreateSampler(cl_context context, cl_sampler CreateSampler(cl_context context,
cl_bool normalized_coords, cl_bool normalized_coords,
cl_addressing_mode addressing_mode, AddressingMode addressing_mode,
cl_filter_mode filter_mode, FilterMode filter_mode,
cl_int *errcode_ret) cl_int *errcode_ret)
{ {
return 0; return 0;
......
...@@ -12,11 +12,13 @@ ...@@ -12,11 +12,13 @@
#include "angle_cl.h" #include "angle_cl.h"
#include "common/PackedCLEnums_autogen.h"
namespace cl namespace cl
{ {
cl_int GetPlatformIDs(cl_uint num_entries, cl_platform_id *platforms, cl_uint *num_platforms); cl_int GetPlatformIDs(cl_uint num_entries, cl_platform_id *platforms, cl_uint *num_platforms);
cl_int GetPlatformInfo(cl_platform_id platform, cl_int GetPlatformInfo(cl_platform_id platform,
cl_platform_info param_name, PlatformInfo param_namePacked,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret); size_t *param_value_size_ret);
...@@ -26,7 +28,7 @@ cl_int GetDeviceIDs(cl_platform_id platform, ...@@ -26,7 +28,7 @@ cl_int GetDeviceIDs(cl_platform_id platform,
cl_device_id *devices, cl_device_id *devices,
cl_uint *num_devices); cl_uint *num_devices);
cl_int GetDeviceInfo(cl_device_id device, cl_int GetDeviceInfo(cl_device_id device,
cl_device_info param_name, DeviceInfo param_namePacked,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret); size_t *param_value_size_ret);
...@@ -64,7 +66,7 @@ cl_context CreateContextFromType(const cl_context_properties *properties, ...@@ -64,7 +66,7 @@ cl_context CreateContextFromType(const cl_context_properties *properties,
cl_int RetainContext(cl_context context); cl_int RetainContext(cl_context context);
cl_int ReleaseContext(cl_context context); cl_int ReleaseContext(cl_context context);
cl_int GetContextInfo(cl_context context, cl_int GetContextInfo(cl_context context,
cl_context_info param_name, ContextInfo param_namePacked,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret); size_t *param_value_size_ret);
...@@ -79,7 +81,7 @@ cl_command_queue CreateCommandQueueWithProperties(cl_context context, ...@@ -79,7 +81,7 @@ cl_command_queue CreateCommandQueueWithProperties(cl_context context,
cl_int RetainCommandQueue(cl_command_queue command_queue); cl_int RetainCommandQueue(cl_command_queue command_queue);
cl_int ReleaseCommandQueue(cl_command_queue command_queue); cl_int ReleaseCommandQueue(cl_command_queue command_queue);
cl_int GetCommandQueueInfo(cl_command_queue command_queue, cl_int GetCommandQueueInfo(cl_command_queue command_queue,
cl_command_queue_info param_name, CommandQueueInfo param_namePacked,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret); size_t *param_value_size_ret);
...@@ -122,22 +124,22 @@ cl_int RetainMemObject(cl_mem memobj); ...@@ -122,22 +124,22 @@ cl_int RetainMemObject(cl_mem memobj);
cl_int ReleaseMemObject(cl_mem memobj); cl_int ReleaseMemObject(cl_mem memobj);
cl_int GetSupportedImageFormats(cl_context context, cl_int GetSupportedImageFormats(cl_context context,
cl_mem_flags flags, cl_mem_flags flags,
cl_mem_object_type image_type, MemObjectType image_typePacked,
cl_uint num_entries, cl_uint num_entries,
cl_image_format *image_formats, cl_image_format *image_formats,
cl_uint *num_image_formats); cl_uint *num_image_formats);
cl_int GetMemObjectInfo(cl_mem memobj, cl_int GetMemObjectInfo(cl_mem memobj,
cl_mem_info param_name, MemInfo param_namePacked,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret); size_t *param_value_size_ret);
cl_int GetImageInfo(cl_mem image, cl_int GetImageInfo(cl_mem image,
cl_image_info param_name, ImageInfo param_namePacked,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret); size_t *param_value_size_ret);
cl_int GetPipeInfo(cl_mem pipe, cl_int GetPipeInfo(cl_mem pipe,
cl_pipe_info param_name, PipeInfo param_namePacked,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret); size_t *param_value_size_ret);
...@@ -152,7 +154,7 @@ cl_sampler CreateSamplerWithProperties(cl_context context, ...@@ -152,7 +154,7 @@ cl_sampler CreateSamplerWithProperties(cl_context context,
cl_int RetainSampler(cl_sampler sampler); cl_int RetainSampler(cl_sampler sampler);
cl_int ReleaseSampler(cl_sampler sampler); cl_int ReleaseSampler(cl_sampler sampler);
cl_int GetSamplerInfo(cl_sampler sampler, cl_int GetSamplerInfo(cl_sampler sampler,
cl_sampler_info param_name, SamplerInfo param_namePacked,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret); size_t *param_value_size_ret);
...@@ -212,13 +214,13 @@ cl_int SetProgramSpecializationConstant(cl_program program, ...@@ -212,13 +214,13 @@ cl_int SetProgramSpecializationConstant(cl_program program,
const void *spec_value); const void *spec_value);
cl_int UnloadPlatformCompiler(cl_platform_id platform); cl_int UnloadPlatformCompiler(cl_platform_id platform);
cl_int GetProgramInfo(cl_program program, cl_int GetProgramInfo(cl_program program,
cl_program_info param_name, ProgramInfo param_namePacked,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret); size_t *param_value_size_ret);
cl_int GetProgramBuildInfo(cl_program program, cl_int GetProgramBuildInfo(cl_program program,
cl_device_id device, cl_device_id device,
cl_program_build_info param_name, ProgramBuildInfo param_namePacked,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret); size_t *param_value_size_ret);
...@@ -233,29 +235,29 @@ cl_int ReleaseKernel(cl_kernel kernel); ...@@ -233,29 +235,29 @@ cl_int ReleaseKernel(cl_kernel kernel);
cl_int SetKernelArg(cl_kernel kernel, cl_uint arg_index, size_t arg_size, const void *arg_value); cl_int SetKernelArg(cl_kernel kernel, cl_uint arg_index, size_t arg_size, const void *arg_value);
cl_int SetKernelArgSVMPointer(cl_kernel kernel, cl_uint arg_index, const void *arg_value); cl_int SetKernelArgSVMPointer(cl_kernel kernel, cl_uint arg_index, const void *arg_value);
cl_int SetKernelExecInfo(cl_kernel kernel, cl_int SetKernelExecInfo(cl_kernel kernel,
cl_kernel_exec_info param_name, KernelExecInfo param_namePacked,
size_t param_value_size, size_t param_value_size,
const void *param_value); const void *param_value);
cl_int GetKernelInfo(cl_kernel kernel, cl_int GetKernelInfo(cl_kernel kernel,
cl_kernel_info param_name, KernelInfo param_namePacked,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret); size_t *param_value_size_ret);
cl_int GetKernelArgInfo(cl_kernel kernel, cl_int GetKernelArgInfo(cl_kernel kernel,
cl_uint arg_index, cl_uint arg_index,
cl_kernel_arg_info param_name, KernelArgInfo param_namePacked,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret); size_t *param_value_size_ret);
cl_int GetKernelWorkGroupInfo(cl_kernel kernel, cl_int GetKernelWorkGroupInfo(cl_kernel kernel,
cl_device_id device, cl_device_id device,
cl_kernel_work_group_info param_name, KernelWorkGroupInfo param_namePacked,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret); size_t *param_value_size_ret);
cl_int GetKernelSubGroupInfo(cl_kernel kernel, cl_int GetKernelSubGroupInfo(cl_kernel kernel,
cl_device_id device, cl_device_id device,
cl_kernel_sub_group_info param_name, KernelSubGroupInfo param_namePacked,
size_t input_value_size, size_t input_value_size,
const void *input_value, const void *input_value,
size_t param_value_size, size_t param_value_size,
...@@ -263,7 +265,7 @@ cl_int GetKernelSubGroupInfo(cl_kernel kernel, ...@@ -263,7 +265,7 @@ cl_int GetKernelSubGroupInfo(cl_kernel kernel,
size_t *param_value_size_ret); size_t *param_value_size_ret);
cl_int WaitForEvents(cl_uint num_events, const cl_event *event_list); cl_int WaitForEvents(cl_uint num_events, const cl_event *event_list);
cl_int GetEventInfo(cl_event event, cl_int GetEventInfo(cl_event event,
cl_event_info param_name, EventInfo param_namePacked,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret); size_t *param_value_size_ret);
...@@ -278,7 +280,7 @@ cl_int SetEventCallback(cl_event event, ...@@ -278,7 +280,7 @@ cl_int SetEventCallback(cl_event event,
void *user_data), void *user_data),
void *user_data); void *user_data);
cl_int GetEventProfilingInfo(cl_event event, cl_int GetEventProfilingInfo(cl_event event,
cl_profiling_info param_name, ProfilingInfo param_namePacked,
size_t param_value_size, size_t param_value_size,
void *param_value, void *param_value,
size_t *param_value_size_ret); size_t *param_value_size_ret);
...@@ -564,8 +566,8 @@ cl_command_queue CreateCommandQueue(cl_context context, ...@@ -564,8 +566,8 @@ cl_command_queue CreateCommandQueue(cl_context context,
cl_int *errcode_ret); cl_int *errcode_ret);
cl_sampler CreateSampler(cl_context context, cl_sampler CreateSampler(cl_context context,
cl_bool normalized_coords, cl_bool normalized_coords,
cl_addressing_mode addressing_mode, AddressingMode addressing_modePacked,
cl_filter_mode filter_mode, FilterMode filter_modePacked,
cl_int *errcode_ret); cl_int *errcode_ret);
cl_int EnqueueTask(cl_command_queue command_queue, cl_int EnqueueTask(cl_command_queue command_queue,
cl_kernel kernel, cl_kernel kernel,
......
//
// Copyright 2021 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// validationCL.h: Validation functions for generic CL entry point parameters
#ifndef LIBGLESV2_VALIDATIONCL_H_
#define LIBGLESV2_VALIDATIONCL_H_
#include "common/PackedCLEnums_autogen.h"
#include <type_traits>
namespace cl
{
// First case: handling packed enums.
template <typename PackedT, typename FromT>
typename std::enable_if<std::is_enum<PackedT>::value, PackedT>::type PackParam(FromT from)
{
return FromCLenum<PackedT>(from);
}
template <typename PackedT, typename FromT>
inline typename std::enable_if<!std::is_enum<PackedT>::value,
typename std::remove_reference<PackedT>::type>::type
PackParam(FromT from)
{
return static_cast<PackedT>(from);
}
} // namespace cl
#endif // LIBGLESV2_VALIDATIONCL_H_
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment