[Beignet] [PATCH] runtime: handle PROGRAM_BUILD_GLOBAL_VARIABLE_TOTAL_SIZE
Ruiling Song
ruiling.song at intel.com
Wed Apr 6 06:28:38 UTC 2016
Signed-off-by: Ruiling Song <ruiling.song at intel.com>
---
src/cl_api.c | 5 +++++
src/cl_program.c | 5 +++++
src/cl_program.h | 2 ++
3 files changed, 12 insertions(+)
diff --git a/src/cl_api.c b/src/cl_api.c
index 131a84c..161ee46 100644
--- a/src/cl_api.c
+++ b/src/cl_api.c
@@ -1456,6 +1456,11 @@ clGetProgramBuildInfo(cl_program program,
}else if (param_name == CL_PROGRAM_BINARY_TYPE){
FILL_GETINFO_RET (cl_uint, 1, &program->binary_type, CL_SUCCESS);
+ } else if (param_name == CL_PROGRAM_BUILD_GLOBAL_VARIABLE_TOTAL_SIZE) {
+ size_t global_size = 0;
+ if (program->is_built)
+ global_size = cl_program_get_global_variable_size(program);
+ FILL_GETINFO_RET (size_t, 1, &global_size, CL_SUCCESS);
} else {
return CL_INVALID_VALUE;
}
diff --git a/src/cl_program.c b/src/cl_program.c
index ffdb2a1..7ef4af5 100644
--- a/src/cl_program.c
+++ b/src/cl_program.c
@@ -230,6 +230,11 @@ static cl_int get_program_global_data(cl_program prog) {
#endif
return CL_SUCCESS;
}
+
+LOCAL size_t cl_program_get_global_variable_size(cl_program prog) {
+ return interp_program_get_global_constant_size(prog->opaque);
+}
+
LOCAL cl_program
cl_program_create_from_binary(cl_context ctx,
cl_uint num_devices,
diff --git a/src/cl_program.h b/src/cl_program.h
index 083d66a..8312530 100644
--- a/src/cl_program.h
+++ b/src/cl_program.h
@@ -143,5 +143,7 @@ cl_program_get_kernel_names(cl_program p,
size_t size,
char *names,
size_t *size_ret);
+extern size_t
+cl_program_get_global_variable_size(cl_program p);
#endif /* __CL_PROGRAM_H__ */
--
2.4.1
More information about the Beignet
mailing list