SWDEV-515407 - Fix incorrect test behavior
- For H2D transfer cases, we cannot enfore ErrorNotReady behavior if the source is unpinned. In that case the driver can sync depending on if it pins or stages the source buffer. Change-Id: I436a4b667bff172cfbadc58631a46a215c40fcb1
Dieser Commit ist enthalten in:
@@ -426,10 +426,9 @@ template <typename F>
|
||||
void Memcpy3DHtoDSyncBehavior(F memcpy_func, const bool should_sync,
|
||||
const hipStream_t kernel_stream = nullptr) {
|
||||
using LA = LinearAllocs;
|
||||
const auto host_alloc_type = GENERATE(LA::malloc, LA::hipHostMalloc);
|
||||
LinearAllocGuard3D<int> device_alloc(make_hipExtent(32 * sizeof(int), 32, 8));
|
||||
LinearAllocGuard<int> host_alloc(
|
||||
host_alloc_type, device_alloc.width() * device_alloc.height() * device_alloc.depth());
|
||||
LA::hipHostMalloc, device_alloc.width() * device_alloc.height() * device_alloc.depth());
|
||||
MemcpySyncBehaviorCheck(
|
||||
std::bind(memcpy_func, device_alloc.pitched_ptr(), make_hipPos(0, 0, 0),
|
||||
make_hipPitchedPtr(host_alloc.ptr(), device_alloc.width(), device_alloc.width(),
|
||||
@@ -450,7 +449,7 @@ void Memcpy3DDtoHPageableSyncBehavior(F memcpy_func, const bool should_sync,
|
||||
device_alloc.height()),
|
||||
make_hipPos(0, 0, 0), device_alloc.pitched_ptr(), make_hipPos(0, 0, 0),
|
||||
device_alloc.extent(), hipMemcpyDeviceToHost, kernel_stream),
|
||||
should_sync, kernel_stream);
|
||||
should_sync, kernel_stream);
|
||||
}
|
||||
|
||||
template <typename F>
|
||||
|
||||
@@ -196,13 +196,12 @@ template <bool unaligned = false, typename F>
|
||||
void Memcpy2DHtoDSyncBehavior(F memcpy_func, const bool should_sync,
|
||||
const hipStream_t kernel_stream = nullptr) {
|
||||
using LA = LinearAllocs;
|
||||
const auto host_alloc_type = GENERATE(LA::malloc, LA::hipHostMalloc);
|
||||
LinearAllocGuard<int> host_alloc(host_alloc_type, 32 * sizeof(int) * 32);
|
||||
LinearAllocGuard<int> host_alloc(LA::hipHostMalloc, 32 * sizeof(int) * 32);
|
||||
LinearAllocGuard2D<int, unaligned> device_alloc(32, 32);
|
||||
MemcpySyncBehaviorCheck(std::bind(memcpy_func, device_alloc.ptr(), device_alloc.pitch(),
|
||||
host_alloc.ptr(), device_alloc.width(), device_alloc.width(),
|
||||
device_alloc.height(), hipMemcpyHostToDevice),
|
||||
should_sync, kernel_stream);
|
||||
should_sync, kernel_stream);
|
||||
}
|
||||
|
||||
template <bool unaligned = false, typename F>
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren