mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-04 23:56:39 +08:00
Add support for PRELIM_I915_PARAM_SET_PAIR
This extension allows pairing two buffer objects so they can be exported using a single dma-buf handle. When imported, a single buffer object is created with a total size of the two buffer objects. Related-To: LOCI-3355 Sync to https://github.com/intel-gpu/drm-uapi-helper/releases/tag/v2.0-rc15 Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
3d0b6973fe
commit
a3b3f3e86e
@@ -69,8 +69,9 @@ class IoctlHelper {
|
||||
virtual uint32_t ioctl(DrmIoctl request, void *arg);
|
||||
|
||||
virtual bool initialize() = 0;
|
||||
virtual bool isSetPairAvailable() = 0;
|
||||
virtual bool isVmBindAvailable() = 0;
|
||||
virtual uint32_t createGemExt(const MemRegionsVec &memClassInstances, size_t allocSize, uint32_t &handle, std::optional<uint32_t> vmId) = 0;
|
||||
virtual uint32_t createGemExt(const MemRegionsVec &memClassInstances, size_t allocSize, uint32_t &handle, std::optional<uint32_t> vmId, int32_t pairHandle) = 0;
|
||||
virtual CacheRegion closAlloc() = 0;
|
||||
virtual uint16_t closAllocWays(CacheRegion closIndex, uint16_t cacheLevel, uint16_t numWays) = 0;
|
||||
virtual CacheRegion closFree(CacheRegion closIndex) = 0;
|
||||
@@ -144,8 +145,9 @@ class IoctlHelperUpstream : public IoctlHelper {
|
||||
using IoctlHelper::IoctlHelper;
|
||||
|
||||
bool initialize() override;
|
||||
bool isSetPairAvailable() override;
|
||||
bool isVmBindAvailable() override;
|
||||
uint32_t createGemExt(const MemRegionsVec &memClassInstances, size_t allocSize, uint32_t &handle, std::optional<uint32_t> vmId) override;
|
||||
uint32_t createGemExt(const MemRegionsVec &memClassInstances, size_t allocSize, uint32_t &handle, std::optional<uint32_t> vmId, int32_t pairHandle) override;
|
||||
CacheRegion closAlloc() override;
|
||||
uint16_t closAllocWays(CacheRegion closIndex, uint16_t cacheLevel, uint16_t numWays) override;
|
||||
CacheRegion closFree(CacheRegion closIndex) override;
|
||||
@@ -197,7 +199,7 @@ class IoctlHelperImpl : public IoctlHelperUpstream {
|
||||
return std::make_unique<IoctlHelperImpl<gfxProduct>>(drm);
|
||||
}
|
||||
|
||||
uint32_t createGemExt(const MemRegionsVec &memClassInstances, size_t allocSize, uint32_t &handle, std::optional<uint32_t> vmId) override;
|
||||
uint32_t createGemExt(const MemRegionsVec &memClassInstances, size_t allocSize, uint32_t &handle, std::optional<uint32_t> vmId, int32_t pairHandle) override;
|
||||
std::vector<MemoryRegion> translateToMemoryRegions(const std::vector<uint8_t> ®ionInfo) override;
|
||||
unsigned int getIoctlRequestValue(DrmIoctl ioctlRequest) const override;
|
||||
std::string getIoctlString(DrmIoctl ioctlRequest) const override;
|
||||
@@ -208,8 +210,9 @@ class IoctlHelperPrelim20 : public IoctlHelper {
|
||||
using IoctlHelper::IoctlHelper;
|
||||
|
||||
bool initialize() override;
|
||||
bool isSetPairAvailable() override;
|
||||
bool isVmBindAvailable() override;
|
||||
uint32_t createGemExt(const MemRegionsVec &memClassInstances, size_t allocSize, uint32_t &handle, std::optional<uint32_t> vmId) override;
|
||||
uint32_t createGemExt(const MemRegionsVec &memClassInstances, size_t allocSize, uint32_t &handle, std::optional<uint32_t> vmId, int32_t pairHandle) override;
|
||||
CacheRegion closAlloc() override;
|
||||
uint16_t closAllocWays(CacheRegion closIndex, uint16_t cacheLevel, uint16_t numWays) override;
|
||||
CacheRegion closFree(CacheRegion closIndex) override;
|
||||
|
||||
Reference in New Issue
Block a user