2019-04-03 21:59:31 +08:00
|
|
|
/*
|
|
|
|
* Copyright (C) 2019 Intel Corporation
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: MIT
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
#include <cstdint>
|
|
|
|
|
|
|
|
namespace NEO {
|
|
|
|
class Buffer;
|
|
|
|
class GraphicsAllocation;
|
|
|
|
class LinearStream;
|
|
|
|
|
|
|
|
template <typename GfxFamily>
|
|
|
|
struct BlitCommandsHelper {
|
2019-06-13 17:45:27 +08:00
|
|
|
static size_t estimateBlitCommandsSize(uint64_t copySize, CsrDependencies &csrDependencies, bool updateTimestampPacket);
|
2019-05-28 23:13:47 +08:00
|
|
|
static void dispatchBlitCommandsForBuffer(Buffer &dstBuffer, Buffer &srcBuffer, LinearStream &linearStream,
|
|
|
|
uint64_t dstOffset, uint64_t srcOffset, uint64_t copySize);
|
2019-05-16 23:48:29 +08:00
|
|
|
static void appendBlitCommandsForBuffer(Buffer &dstBuffer, Buffer &srcBuffer, typename GfxFamily::XY_COPY_BLT &blitCmd);
|
2019-04-03 21:59:31 +08:00
|
|
|
};
|
|
|
|
} // namespace NEO
|