mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-04 15:53:45 +08:00
feature: enable direct submission Windows WDDM 2.0
Resolves: NEO-8072 Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
c2c622d695
commit
87eb609958
@@ -11,6 +11,7 @@
|
||||
#include "shared/source/execution_environment/root_device_environment.h"
|
||||
#include "shared/source/os_interface/debug_env_reader.h"
|
||||
#include "shared/source/os_interface/os_interface.h"
|
||||
#include "shared/source/os_interface/product_helper.h"
|
||||
#include "shared/source/os_interface/windows/wddm/wddm.h"
|
||||
#include "shared/source/os_interface/windows/wddm/wddm_interface.h"
|
||||
|
||||
@@ -90,6 +91,12 @@ uint64_t OsContextWin::getOfflineDumpContextId(uint32_t deviceIndex) const {
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool OsContextWin::isDirectSubmissionSupported(const HardwareInfo &hwInfo) const {
|
||||
auto &productHelper = wddm.getRootDeviceEnvironment().getHelper<ProductHelper>();
|
||||
|
||||
return wddm.getWddmVersion() == WddmVersion::WDDM_2_0 && productHelper.isDirectSubmissionSupported(hwInfo);
|
||||
}
|
||||
|
||||
OsContextWin::~OsContextWin() {
|
||||
if (contextInitialized && (false == this->wddm.skipResourceCleanup())) {
|
||||
wddm.getWddmInterface()->destroyHwQueue(hardwareQueue.handle);
|
||||
|
||||
@@ -31,6 +31,7 @@ class OsContextWin : public OsContext {
|
||||
void setWddmContextHandle(D3DKMT_HANDLE wddmContextHandle) { this->wddmContextHandle = wddmContextHandle; }
|
||||
HardwareQueue getHwQueue() const { return hardwareQueue; }
|
||||
void setHwQueue(HardwareQueue hardwareQueue) { this->hardwareQueue = hardwareQueue; }
|
||||
bool isDirectSubmissionSupported(const HardwareInfo &hwInfo) const override;
|
||||
Wddm *getWddm() const { return &wddm; }
|
||||
MOCKABLE_VIRTUAL WddmResidencyController &getResidencyController() { return residencyController; }
|
||||
static OsContext *create(OSInterface *osInterface, uint32_t rootDeviceIndex, uint32_t contextId, const EngineDescriptor &engineDescriptor);
|
||||
|
||||
Reference in New Issue
Block a user