@@ -1032,6 +1032,58 @@ CL_API_ENTRY cl_mem CL_API_CALL CLIRN(clCreateBufferWithProperties)(
10321032 NULL_FUNCTION_POINTER_SET_ERROR_RETURN_NULL (errcode_ret);
10331033}
10341034
1035+ // /////////////////////////////////////////////////////////////////////////////
1036+ //
1037+ // cl_nv_create_buffer
1038+ CL_API_ENTRY cl_mem CL_API_CALL clCreateBufferNV (
1039+ cl_context context,
1040+ cl_mem_flags flags,
1041+ cl_mem_flags_NV flags_NV,
1042+ size_t size,
1043+ void * host_ptr,
1044+ cl_int* errcode_ret )
1045+ {
1046+ CLIntercept* pIntercept = GetIntercept ();
1047+
1048+ if ( pIntercept )
1049+ {
1050+ auto dispatchX = pIntercept->dispatchX (context);
1051+ if ( dispatchX.clCreateBufferNV )
1052+ {
1053+ CALL_LOGGING_ENTER ( " context = %p, flags = %s (%llX), flags_NV = %llX, size = %d, host_ptr = %p" ,
1054+ context,
1055+ pIntercept->enumName ().name_mem_flags ( flags ).c_str (),
1056+ flags,
1057+ flags_NV,
1058+ size,
1059+ host_ptr );
1060+ INITIALIZE_BUFFER_CONTENTS_INIT ( flags, size, host_ptr );
1061+ CHECK_ERROR_INIT ( errcode_ret );
1062+ CPU_PERFORMANCE_TIMING_START ();
1063+
1064+ cl_mem retVal = dispatchX.clCreateBufferNV (
1065+ context,
1066+ flags,
1067+ flags_NV,
1068+ size,
1069+ host_ptr,
1070+ errcode_ret );
1071+
1072+ CPU_PERFORMANCE_TIMING_END ();
1073+ ADD_BUFFER ( retVal );
1074+ INITIALIZE_BUFFER_CONTENTS_CLEANUP ( flags, host_ptr );
1075+ DUMP_BUFFER_AFTER_CREATE ( retVal, flags, host_ptr, size );
1076+ CHECK_ERROR ( errcode_ret[0 ] );
1077+ ADD_OBJECT_ALLOCATION ( retVal );
1078+ CALL_LOGGING_EXIT ( errcode_ret[0 ], " returned %p" , retVal );
1079+
1080+ return retVal;
1081+ }
1082+ }
1083+
1084+ NULL_FUNCTION_POINTER_SET_ERROR_RETURN_NULL (errcode_ret);
1085+ }
1086+
10351087// /////////////////////////////////////////////////////////////////////////////
10361088//
10371089// OpenCL 1.1
0 commit comments