P4 to Git Change 1198583 by lmoriche@lmoriche_opencl_dev on 2015/10/09 16:38:12

SWDEV-78467 - Add the LiquidFlash extension entrypoints

Affected files ...

... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_context.cpp#45 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_lqdflash_amd.cpp#1 add
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_lqdflash_amd.h#1 add
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl_ext.h#18 edit
This commit is contained in:
foreman
2015-10-09 16:58:53 -04:00
parent 16e02e529c
commit 8d34950abb
4 changed files with 149 additions and 0 deletions
+11
View File
@@ -22,6 +22,7 @@
#include "cl_sdi_amd.h"
#include "cl_thread_trace_amd.h"
#include "cl_debugger_amd.h"
#include "cl_lqdflash_amd.h"
#include <GL/gl.h>
#include <GL/glext.h>
@@ -512,6 +513,9 @@ clGetExtensionFunctionAddress(const char* func_name)
#if cl_khr_il_program
CL_EXTENSION_ENTRYPOINT_CHECK(clCreateProgramWithILKHR);
#endif // cl_khr_il_program
#if cl_amd_liquid_flash
CL_EXTENSION_ENTRYPOINT_CHECK(clCreateFileObjectAMD);
#endif // cl_amd_liquid_flash
break;
case 'D':
break;
@@ -531,6 +535,9 @@ clGetExtensionFunctionAddress(const char* func_name)
CL_EXTENSION_ENTRYPOINT_CHECK(clEnqueueWaitSignalAMD);
CL_EXTENSION_ENTRYPOINT_CHECK(clEnqueueWriteSignalAMD);
CL_EXTENSION_ENTRYPOINT_CHECK(clEnqueueMakeBuffersResidentAMD);
#if cl_amd_liquid_flash
CL_EXTENSION_ENTRYPOINT_CHECK(clEnqueueWriteBufferFromFileAMD);
#endif // cl_amd_liquid_flash
break;
case 'G':
CL_EXTENSION_ENTRYPOINT_CHECK(clGetKernelInfoAMD);
@@ -590,6 +597,10 @@ clGetExtensionFunctionAddress(const char* func_name)
CL_EXTENSION_ENTRYPOINT_CHECK(clRetainDeviceEXT);
CL_EXTENSION_ENTRYPOINT_CHECK(clReleaseDeviceEXT);
#endif // cl_ext_device_fission
#if cl_amd_liquid_flash
CL_EXTENSION_ENTRYPOINT_CHECK(clRetainFileObjectAMD);
CL_EXTENSION_ENTRYPOINT_CHECK(clReleaseFileObjectAMD);
#endif // cl_amd_liquid_flash
break;
case 'S':
CL_EXTENSION_ENTRYPOINT_CHECK(clSetThreadTraceParamAMD);
@@ -0,0 +1,57 @@
//
// Copyright (c) 2015 Advanced Micro Devices, Inc. All rights reserved.
//
#include "cl_common.hpp"
#include "cl_lqdflash_amd.h"
/*! \addtogroup API
* @{
*
* \addtogroup AMD_Extensions
* @{
*
*/
RUNTIME_ENTRY_RET(cl_file_amd, clCreateFileObjectAMD, (
cl_context context,
cl_file_flags_amd,
cl_char * file_name,
cl_int *errcode_ret))
{
*not_null(errcode_ret) = CL_INVALID_CONTEXT;
return (cl_file_amd) 0;
}
RUNTIME_EXIT
RUNTIME_ENTRY(cl_int, clRetainFileObjectAMD, (
cl_file_amd file))
{
return CL_INVALID_FILE_OBJECT_AMD;
}
RUNTIME_EXIT
RUNTIME_ENTRY(cl_int, clReleaseFileObjectAMD, (
cl_file_amd file))
{
return CL_INVALID_FILE_OBJECT_AMD;
}
RUNTIME_EXIT
RUNTIME_ENTRY(cl_int, clEnqueueWriteBufferFromFileAMD, (
cl_command_queue command_queue,
cl_mem buffer,
cl_bool blocking_write,
size_t buffer_offset,
size_t cb,
cl_file_amd file,
size_t file_offset,
cl_uint num_events_in_wait_list,
const cl_event *event_wait_list,
cl_event *event))
{
return CL_INVALID_FILE_OBJECT_AMD;
}
RUNTIME_EXIT
@@ -0,0 +1,42 @@
#ifndef __CL_LQDFLASH_AMD_H
#define __CL_LQDFLASH_AMD_H
#include "CL/cl_ext.h"
#ifdef __cplusplus
extern "C" {
#endif /*__cplusplus*/
extern CL_API_ENTRY cl_file_amd CL_API_CALL
clCreateFileObjectAMD(
cl_context context,
cl_file_flags_amd flags,
cl_char * file_name,
cl_int * errcode_ret) CL_EXT_SUFFIX__VERSION_1_2;
extern CL_API_ENTRY cl_int CL_API_CALL
clRetainFileObjectAMD(
cl_file_amd file) CL_EXT_SUFFIX__VERSION_1_2;
extern CL_API_ENTRY cl_int CL_API_CALL
clReleaseFileObjectAMD(
cl_file_amd file) CL_EXT_SUFFIX__VERSION_1_2;
extern CL_API_ENTRY cl_int CL_API_CALL
clEnqueueWriteBufferFromFileAMD(
cl_command_queue command_queue,
cl_mem buffer,
cl_bool blocking_write,
size_t buffer_offset,
size_t cb,
cl_file_amd file,
size_t file_offset,
cl_uint num_events_in_wait_list,
const cl_event * event_wait_list,
cl_event * event) CL_EXT_SUFFIX__VERSION_1_2;
#ifdef __cplusplus
} /*extern "C"*/
#endif /*__cplusplus*/
#endif
@@ -450,6 +450,45 @@ typedef CL_API_ENTRY cl_int
cl_event * /*event*/) CL_EXT_SUFFIX__VERSION_1_2;
#endif /* CL_VERSION_1_2 */
#ifdef CL_VERSION_1_2
/**********************
* cl_amd_liquid_flash *
***********************/
#define cl_amd_liquid_flash 1
#define CL_INVALID_FILE_OBJECT_AMD 0x404D
typedef struct _cl_file_amd * cl_file_amd;
typedef cl_uint cl_file_flags_amd;
typedef CL_API_ENTRY cl_file_amd
(CL_API_CALL * clCreateFileObjectAMD_fn)( cl_context /*context*/,
cl_file_flags_amd /*flags*/,
cl_char * /*file_name*/,
cl_int * /*errcode_ret*/) CL_EXT_SUFFIX__VERSION_1_2;
typedef CL_API_ENTRY cl_int
(CL_API_CALL * clRetainFileObjectAMD_fn)( cl_file_amd /*file*/) CL_EXT_SUFFIX__VERSION_1_2;
typedef CL_API_ENTRY cl_int
(CL_API_CALL * clReleaseFileObjectAMD_fn)( cl_file_amd /*file*/) CL_EXT_SUFFIX__VERSION_1_2;
typedef CL_API_ENTRY cl_int
(CL_API_CALL * clEnqueueWriteBufferFromFileAMD_fn)( cl_command_queue /*command_queue*/,
cl_mem /*buffer*/,
cl_bool /*blocking_write*/,
size_t /*buffer_offset*/,
size_t /*cb*/,
cl_file_amd /*file*/,
size_t /*file_offset*/,
cl_uint /*num_events_in_wait_list*/,
const cl_event * /*event_wait_list*/,
cl_event * /*event*/) CL_EXT_SUFFIX__VERSION_1_2;
#endif /* CL_VERSION_1_2 */
#ifdef CL_VERSION_2_0
/*********************************
* cl_khr_sub_groups extension