This patch adds type enum to the qxl/vga device class. Fixed misspelling: HwDeviceInterface Fixed misspelling: GetDxgkInterface Signed-off-by: Sameeh Jubran <sameeh@xxxxxxxxxx> --- qxldod/QxlDod.cpp | 10 ++++++---- qxldod/QxlDod.h | 25 +++++++++++++++++-------- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/qxldod/QxlDod.cpp b/qxldod/QxlDod.cpp index dd68693..1c6e477 100755 --- a/qxldod/QxlDod.cpp +++ b/qxldod/QxlDod.cpp @@ -2328,7 +2328,7 @@ VOID BltBits ( } } -VgaDevice::VgaDevice(_In_ QxlDod* pQxlDod) +VgaDevice::VgaDevice(_In_ QxlDod* pQxlDod) : HwDeviceInterface(pQxlDod) { m_pQxlDod = pQxlDod; m_ModeInfo = NULL; @@ -2336,6 +2336,7 @@ VgaDevice::VgaDevice(_In_ QxlDod* pQxlDod) m_ModeNumbers = NULL; m_CurrentMode = 0; m_Id = 0; + m_type = VGA_DEVICE; } VgaDevice::~VgaDevice(void) @@ -2945,7 +2946,7 @@ NTSTATUS VgaDevice::Escape(_In_ CONST DXGKARG_ESCAPE* pEscap) return STATUS_NOT_IMPLEMENTED; } -QxlDevice::QxlDevice(_In_ QxlDod* pQxlDod) +QxlDevice::QxlDevice(_In_ QxlDod* pQxlDod) : HwDeviceInterface(pQxlDod) { m_pQxlDod = pQxlDod; m_ModeInfo = NULL; @@ -2955,6 +2956,7 @@ QxlDevice::QxlDevice(_In_ QxlDod* pQxlDod) m_CustomMode = 0; m_FreeOutputs = 0; m_Pending = 0; + m_type = QXL_DEVICE; } QxlDevice::~QxlDevice(void) @@ -3181,7 +3183,7 @@ NTSTATUS QxlDevice::SetPowerState(_In_ DEVICE_POWER_STATE DevicePowerState, DXGK NTSTATUS QxlDevice::HWInit(PCM_RESOURCE_LIST pResList, DXGK_DISPLAY_INFORMATION* pDispInfo) { DbgPrint(TRACE_LEVEL_VERBOSE, ("---> %s\n", __FUNCTION__)); - PDXGKRNL_INTERFACE pDxgkInterface = m_pQxlDod->GetDxgkInterrface(); + PDXGKRNL_INTERFACE pDxgkInterface = m_pQxlDod->GetDxgkInterface(); UINT pci_range = QXL_RAM_RANGE_INDEX; for (ULONG i = 0; i < pResList->Count; ++i) { @@ -3358,7 +3360,7 @@ void QxlDevice::QxlClose() void QxlDevice::UnmapMemory(void) { - PDXGKRNL_INTERFACE pDxgkInterface = m_pQxlDod->GetDxgkInterrface(); + PDXGKRNL_INTERFACE pDxgkInterface = m_pQxlDod->GetDxgkInterface(); if (m_IoMapped && m_IoBase) { pDxgkInterface->DxgkCbUnmapMemory( pDxgkInterface->DeviceHandle, &m_IoBase); diff --git a/qxldod/QxlDod.h b/qxldod/QxlDod.h index d3d9202..ab44259 100755 --- a/qxldod/QxlDod.h +++ b/qxldod/QxlDod.h @@ -212,9 +212,16 @@ typedef struct _CURRENT_BDD_MODE class QxlDod; -class HwDeviceIntrface { -public: - virtual ~HwDeviceIntrface() {;} +typedef enum { + QXL_DEVICE, + VGA_DEVICE, + INVALID_DEVICE, +}WIN_QXL_DEVICE_TYPE; + +class HwDeviceInterface { +public: + HwDeviceInterface(_In_ QxlDod* pQxlDod) {m_type = INVALID_DEVICE;} + virtual ~HwDeviceInterface() {;} virtual NTSTATUS QueryCurrentMode(PVIDEO_MODE RequestedMode) = 0; virtual NTSTATUS SetCurrentMode(ULONG Mode) = 0; virtual NTSTATUS GetCurrentMode(ULONG* Mode) = 0; @@ -258,10 +265,11 @@ protected: USHORT m_CurrentMode; USHORT m_CustomMode; ULONG m_Id; + WIN_QXL_DEVICE_TYPE m_type; }; class VgaDevice : - public HwDeviceIntrface + public HwDeviceInterface { public: VgaDevice(_In_ QxlDod* pQxlDod); @@ -434,7 +442,7 @@ typedef struct DpcCbContext { #define ALIGN(a, b) (((a) + ((b) - 1)) & ~((b) - 1)) class QxlDevice : - public HwDeviceIntrface + public HwDeviceInterface { public: QxlDevice(_In_ QxlDod* pQxlDod); @@ -591,9 +599,10 @@ private: D3DDDI_VIDEO_PRESENT_SOURCE_ID m_SystemDisplaySourceId; DXGKARG_SETPOINTERSHAPE m_PointerShape; - HwDeviceIntrface* m_pHWDevice; + + HwDeviceInterface* m_pHWDevice; DWORD m_VgaCompatible; - DWORD m_PointerCaps; + DWORD m_PointerCaps; public: QxlDod(_In_ DEVICE_OBJECT* pPhysicalDeviceObject); ~QxlDod(void); @@ -686,7 +695,7 @@ public: _In_ UINT SourceStride, _In_ INT PositionX, _In_ INT PositionY); - PDXGKRNL_INTERFACE GetDxgkInterrface(void) { return &m_DxgkInterface;} + PDXGKRNL_INTERFACE GetDxgkInterface(void) { return &m_DxgkInterface;} private: VOID CleanUp(VOID); NTSTATUS CheckHardware(); -- 2.7.0.windows.1 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel