mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
Wddm interface [7/n]: Add 2.3 interface with HW queue support
Change-Id: Ia0e829b8616b7060e39170aea0f1d2f123d73399
This commit is contained in:

committed by
sys_ocldev

parent
39d55e5257
commit
71b844f522
@ -21,16 +21,34 @@
|
||||
*/
|
||||
|
||||
#include "runtime/os_interface/windows/wddm/wddm.h"
|
||||
#include "runtime/os_interface/windows/wddm/wddm23.h"
|
||||
#include "unit_tests/helpers/debug_manager_state_restore.h"
|
||||
#include "test.h"
|
||||
|
||||
#include <typeinfo>
|
||||
|
||||
using namespace OCLRT;
|
||||
|
||||
TEST(wddmCreateTests, givenInputVersionWhenCreatingThenAlwaysUse20) {
|
||||
std::unique_ptr<Wddm> wddm1(Wddm::createWddm(WddmInterfaceVersion::Wddm20));
|
||||
std::unique_ptr<Wddm> wddm2(Wddm::createWddm(21));
|
||||
std::unique_ptr<Wddm> wddm3(Wddm::createWddm(0));
|
||||
TEST(wddmCreateTests, givenInputVersionWhenCreatingThenCreateRequestedObject) {
|
||||
std::unique_ptr<Wddm> wddm20(Wddm::createWddm(WddmInterfaceVersion::Wddm20));
|
||||
std::unique_ptr<Wddm> wddm23(Wddm::createWddm(WddmInterfaceVersion::Wddm23));
|
||||
|
||||
EXPECT_EQ(WddmInterfaceVersion::Wddm20, wddm1->wddmInterfaceVersion);
|
||||
EXPECT_EQ(WddmInterfaceVersion::Wddm20, wddm2->wddmInterfaceVersion);
|
||||
EXPECT_EQ(WddmInterfaceVersion::Wddm20, wddm3->wddmInterfaceVersion);
|
||||
EXPECT_EQ(typeid(*wddm20.get()), typeid(Wddm20));
|
||||
EXPECT_EQ(typeid(*wddm23.get()), typeid(Wddm23));
|
||||
}
|
||||
|
||||
TEST(wddmCreateTests, givenInvalidInputVersionWhenCreatingThenThrowException) {
|
||||
EXPECT_THROW(Wddm::createWddm(0), std::exception);
|
||||
EXPECT_THROW(Wddm::createWddm(21), std::exception);
|
||||
EXPECT_THROW(Wddm::createWddm(22), std::exception);
|
||||
EXPECT_THROW(Wddm::createWddm(24), std::exception);
|
||||
}
|
||||
|
||||
TEST(wddmCreateTests, givenHwQueuesSupportedDebugVariableWhenCreatingThenForceWddm23) {
|
||||
DebugManagerStateRestore restore;
|
||||
DebugManager.flags.HwQueueSupported.set(true);
|
||||
|
||||
std::unique_ptr<Wddm> wddm(Wddm::createWddm(WddmInterfaceVersion::Wddm20));
|
||||
|
||||
EXPECT_EQ(typeid(*wddm.get()), typeid(Wddm23));
|
||||
}
|
||||
|
Reference in New Issue
Block a user