From 81229d66cc62233de7a4579b7e6b21b4bb7d4305 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Fri, 3 May 2019 20:32:52 +0200 Subject: [PATCH] [d3d10] Explicitly define GUID for ID3D10StateBlock Fixes linker errors when building against winelib. --- src/d3d10/d3d10_state_block.cpp | 5 ++++- src/d3d10/d3d10_state_block.h | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/d3d10/d3d10_state_block.cpp b/src/d3d10/d3d10_state_block.cpp index d7fd3f58..028d4e0f 100644 --- a/src/d3d10/d3d10_state_block.cpp +++ b/src/d3d10/d3d10_state_block.cpp @@ -31,6 +31,9 @@ namespace dxvk { MAKE_STATE_TYPE(Predication, 1), }}; + // MinGW fails on __uuidof(ID3D10StateBlock), winelib builds fail to link + const GUID D3D10StateBlock::guid = {0x0803425a,0x57f5,0x4dd6,{0x94,0x65,0xa8,0x75,0x70,0x83,0x4a,0x08}}; + D3D10StateBlock::D3D10StateBlock( ID3D10Device* pDevice, @@ -54,7 +57,7 @@ namespace dxvk { *ppvObject = nullptr; if (riid == __uuidof(IUnknown) - || riid == IID_ID3D10StateBlock) { + || riid == D3D10StateBlock::guid) { *ppvObject = ref(this); return S_OK; } diff --git a/src/d3d10/d3d10_state_block.h b/src/d3d10/d3d10_state_block.h index 9efa66b1..4f99165e 100644 --- a/src/d3d10/d3d10_state_block.h +++ b/src/d3d10/d3d10_state_block.h @@ -47,6 +47,7 @@ namespace dxvk { class D3D10StateBlock : public ComObject { public: + static const GUID guid; D3D10StateBlock( ID3D10Device* pDevice,