Check the pointer if its present in the arrayset before trying to dereference
it as it can cause access violation if the pointer is allocated using malloc
Change-Id: Ida72b9015dc22269fc1fbe0728e66e3de29fda3d
[ROCm/clr commit: 821ae6a103]
hipIpcOpenMemHandle can be used to open memory handle and fetch
a device pointer on a different device than the actual device
where the memory was allocated. The device Id must be set to
the current device in such cases and not the original device.
Change-Id: Ie1c7eada928d02124a41125876876f96015552e5
[ROCm/clr commit: c398c75512]
The function erroneously returns hipErrorInvalidValue when kind
is set to hipMemcpyHostToHost
Change-Id: I6810b9f04f3218e517fd2f96410d1375e6ac6ff0
[ROCm/clr commit: af86c1b8a2]
When an offset is applied to the source or destination pointers plus the kind is set to
hipMemcpyDefault and the source or destination is allocated with hipMallocManaged
hipMemCpy2D erroneously fails with hipErrorInvalidValue.
Change-Id: I0db4c17514f743652d8f9a2691da6601a2abb2a1
[ROCm/clr commit: d3bfb55d7a]
- Remove newline from logging as log function internally inserts a new
line
Change-Id: I25eb2242a1f1e87cf811bcc373d1d485b2e027a8
[ROCm/clr commit: 058b2702db]
Make hipExternalMemoryGetMappedMipmappedArray() accept
hipArraySurfaceLoadStore.
Make hipCreateSurfaceObject() check hipArraySurfaceLoadStore
flag. If flag is hipArrayDefault, hipCreateSurfaceObject() will
also pass to prevent failure of catch2/swissknife tests.
Change-Id: Ifb7db2db14e0c2208a9661cfa33887ec61ab26a5
[ROCm/clr commit: 1c442658ca]
Set flag with hipCtxCreate so that get flags works.
Validate hipHostGetDevicePointer for flags!=0.
Validate mem cpy kind and accommodate new type hipMemcpyDeviceToDeviceNoCU.
Match error code for hipGetChannelDesc.
Change-Id: If09a635ac01bc53f1fe2b7df3f3f9c1b0d69a0ab
[ROCm/clr commit: 8e8fb993de]
- This matches the CUDA behavior
- The pitch and width checks removed are already covered in ihipmemcpy2D
Change-Id: I03a6921a78b5d89723830d8dde5865fdc6db0379
[ROCm/clr commit: 6d6465cb96]
- Address corner cases that can arise with the new
hipMemcpyDeviceToDeviceNoCU enum
- Better log
Change-Id: I6035b901f8d616741054b7a5ff4f67956329ac57
[ROCm/clr commit: 5662d4037c]
Add hipMemcpyDeviceToDeviceNoCU to force a non blit copy path. This
helps in cases where an app may determine that CU may be busy and copies
with SDMA may be quicker.
Change-Id: I59b415dd8f6022c244e8d75f265464d5c635df1e
[ROCm/clr commit: f316a30e5d]
Fix wrong logic to get layer index;
Make layered image's layout match cuda spec;
Fix wrong comparision of element size.
Remove amd::BufferRect from ihipMemcpyAtoHCommand()
and ihipMemcpyHtoACommand().
Change-Id: Icc6a4233fbce2e9b2dc6feb79e6bfbd761684c7d
[ROCm/clr commit: 5a0085e516]
- hipArray will be an internal struct from rocm6.0
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Icf97fe96b87be8532098cd7f9ceaad099f99c9b9
[ROCm/clr commit: c089ef4a2b]
Support hipExternalMemoryGetMappedMipmappedArray().
Add ImageExternalBuffer to differiate ImageBuffer.
Currently we only support tiling_optimal mode as
vulkan driver doesn't provide tiling information.
Change-Id: I7e3524cdde53e4df9f728894bcebf4bd3f58d4d9
[ROCm/clr commit: 6398f604b0]
hipMemcpyArrayToArray, hipMemcpyFromArrayAsync, and hipMemcpyToArrayAsync
are deprecated in cuda and are missing the headers in hip_runtime_api.h.
Removed their implementation from hip_memory.cpp.
Change-Id: I9720aec6241515c56c66b7e90a37b2ed53347eb2
[ROCm/clr commit: 2bc6661737]
Update pCopy->srcMemoryType and pCopy->dstMemoryType so
that ihipGetMemcpyParam3DCommand() won't redetect memory
type. This will prevent dstXInBytes and srcXInBytes getting
updated twice with offset in hipMemoryTypeUnified type.
Change-Id: Ief4ea81941e25d22bcafd213b3b84a65eb23cf94
[ROCm/clr commit: 56daa6c489]
Add missing mipmap Apis’ implementation.
Fix some bugs of mimpmap apis.
Use hipmipmappedArray to differentiate cuda
and driver apis on Nvidia.
Change-Id: I6079d9f3b2ddf4e42b9a6f7f3902322cfca02cfd
[ROCm/clr commit: f03c11491b]
Rename VK interop to ExternalMemory object, since it should handle
DX interops also
Change-Id: I536ec46d3e53ece35234a2e29030393ad411b96d
[ROCm/clr commit: 3e5803c4c0]
Avoid syncing blocking streams with the default stream,
since that introduces extra command dependencies and
doesn't allow to destroy memory after last submission
Change-Id: I618e9bd2091c4cf9157125612d8c4759030c5a80
[ROCm/clr commit: 1e88d2c52f]
- Intra device memcpy does not need to perform host side synchronization
- Check alloc flags when determining memory type
Change-Id: Ieff28bd8d62756ffe82905354c4a91e9717e6bd4
[ROCm/clr commit: dfefc97178]