mirror of
https://github.com/WinDurango/WinDurango.git
synced 2026-01-23 19:59:28 -06:00
Code cleanup in d3d11_x
This commit is contained in:
@@ -12,15 +12,14 @@ namespace d3d11x
|
||||
AddRef( );
|
||||
return S_OK;
|
||||
}
|
||||
else
|
||||
{
|
||||
// DEBUG
|
||||
char iidstr[ sizeof("{AAAAAAAA-BBBB-CCCC-DDEE-FFGGHHIIJJKK}") ];
|
||||
OLECHAR iidwstr[ sizeof(iidstr) ];
|
||||
StringFromGUID2(riid, iidwstr, ARRAYSIZE(iidwstr));
|
||||
WideCharToMultiByte(CP_UTF8, 0, iidwstr, -1, iidstr, sizeof(iidstr), nullptr, nullptr);
|
||||
printf("[IDXGIDeviceWrapper] QueryInterface: %s\n", iidstr);
|
||||
}
|
||||
|
||||
// DEBUG
|
||||
char iidstr[ sizeof("{AAAAAAAA-BBBB-CCCC-DDEE-FFGGHHIIJJKK}") ];
|
||||
OLECHAR iidwstr[ sizeof(iidstr) ];
|
||||
StringFromGUID2(riid, iidwstr, ARRAYSIZE(iidwstr));
|
||||
WideCharToMultiByte(CP_UTF8, 0, iidwstr, -1, iidstr, sizeof(iidstr), nullptr, nullptr);
|
||||
printf("[IDXGIDeviceWrapper] QueryInterface: %s\n", iidstr);
|
||||
|
||||
|
||||
return m_realTarget->QueryInterface(riid, ppvObject);
|
||||
}
|
||||
@@ -87,15 +86,13 @@ namespace d3d11x
|
||||
AddRef( );
|
||||
return S_OK;
|
||||
}
|
||||
else
|
||||
{
|
||||
// DEBUG
|
||||
char iidstr[ sizeof("{AAAAAAAA-BBBB-CCCC-DDEE-FFGGHHIIJJKK}") ];
|
||||
OLECHAR iidwstr[ sizeof(iidstr) ];
|
||||
StringFromGUID2(riid, iidwstr, ARRAYSIZE(iidwstr));
|
||||
WideCharToMultiByte(CP_UTF8, 0, iidwstr, -1, iidstr, sizeof(iidstr), nullptr, nullptr);
|
||||
printf("[IDXGIDeviceWrapper] QueryInterface: %s\n", iidstr);
|
||||
}
|
||||
|
||||
// DEBUG
|
||||
char iidstr[ sizeof("{AAAAAAAA-BBBB-CCCC-DDEE-FFGGHHIIJJKK}") ];
|
||||
OLECHAR iidwstr[ sizeof(iidstr) ];
|
||||
StringFromGUID2(riid, iidwstr, ARRAYSIZE(iidwstr));
|
||||
WideCharToMultiByte(CP_UTF8, 0, iidwstr, -1, iidstr, sizeof(iidstr), nullptr, nullptr);
|
||||
printf("[IDXGIDeviceWrapper] QueryInterface: %s\n", iidstr);
|
||||
|
||||
return m_realTarget->QueryInterface(riid, ppvObject);
|
||||
}
|
||||
@@ -162,15 +159,13 @@ namespace d3d11x
|
||||
AddRef( );
|
||||
return S_OK;
|
||||
}
|
||||
else
|
||||
{
|
||||
// DEBUG
|
||||
char iidstr[ sizeof("{AAAAAAAA-BBBB-CCCC-DDEE-FFGGHHIIJJKK}") ];
|
||||
OLECHAR iidwstr[ sizeof(iidstr) ];
|
||||
StringFromGUID2(riid, iidwstr, ARRAYSIZE(iidwstr));
|
||||
WideCharToMultiByte(CP_UTF8, 0, iidwstr, -1, iidstr, sizeof(iidstr), nullptr, nullptr);
|
||||
printf("[IDXGIDeviceWrapper] QueryInterface: %s\n", iidstr);
|
||||
}
|
||||
|
||||
// DEBUG
|
||||
char iidstr[ sizeof("{AAAAAAAA-BBBB-CCCC-DDEE-FFGGHHIIJJKK}") ];
|
||||
OLECHAR iidwstr[ sizeof(iidstr) ];
|
||||
StringFromGUID2(riid, iidwstr, ARRAYSIZE(iidwstr));
|
||||
WideCharToMultiByte(CP_UTF8, 0, iidwstr, -1, iidstr, sizeof(iidstr), nullptr, nullptr);
|
||||
printf("[IDXGIDeviceWrapper] QueryInterface: %s\n", iidstr);
|
||||
|
||||
return m_realTarget->QueryInterface(riid, ppvObject);
|
||||
}
|
||||
@@ -237,15 +232,13 @@ namespace d3d11x
|
||||
AddRef( );
|
||||
return S_OK;
|
||||
}
|
||||
else
|
||||
{
|
||||
// DEBUG
|
||||
char iidstr[ sizeof("{AAAAAAAA-BBBB-CCCC-DDEE-FFGGHHIIJJKK}") ];
|
||||
OLECHAR iidwstr[ sizeof(iidstr) ];
|
||||
StringFromGUID2(riid, iidwstr, ARRAYSIZE(iidwstr));
|
||||
WideCharToMultiByte(CP_UTF8, 0, iidwstr, -1, iidstr, sizeof(iidstr), nullptr, nullptr);
|
||||
printf("[IDXGIDeviceWrapper] QueryInterface: %s\n", iidstr);
|
||||
}
|
||||
|
||||
// DEBUG
|
||||
char iidstr[ sizeof("{AAAAAAAA-BBBB-CCCC-DDEE-FFGGHHIIJJKK}") ];
|
||||
OLECHAR iidwstr[ sizeof(iidstr) ];
|
||||
StringFromGUID2(riid, iidwstr, ARRAYSIZE(iidwstr));
|
||||
WideCharToMultiByte(CP_UTF8, 0, iidwstr, -1, iidstr, sizeof(iidstr), nullptr, nullptr);
|
||||
printf("[IDXGIDeviceWrapper] QueryInterface: %s\n", iidstr);
|
||||
|
||||
return m_realTarget->QueryInterface(riid, ppvObject);
|
||||
}
|
||||
|
||||
@@ -15,15 +15,13 @@ namespace d3d11x
|
||||
AddRef( );
|
||||
return S_OK;
|
||||
}
|
||||
else
|
||||
{
|
||||
// DEBUG
|
||||
char iidstr[ sizeof("{AAAAAAAA-BBBB-CCCC-DDEE-FFGGHHIIJJKK}") ];
|
||||
OLECHAR iidwstr[ sizeof(iidstr) ];
|
||||
StringFromGUID2(riid, iidwstr, ARRAYSIZE(iidwstr));
|
||||
WideCharToMultiByte(CP_UTF8, 0, iidwstr, -1, iidstr, sizeof(iidstr), nullptr, nullptr);
|
||||
printf("[IDXGIDeviceWrapper] QueryInterface: %s\n", iidstr);
|
||||
}
|
||||
|
||||
// DEBUG
|
||||
char iidstr[ sizeof("{AAAAAAAA-BBBB-CCCC-DDEE-FFGGHHIIJJKK}") ];
|
||||
OLECHAR iidwstr[ sizeof(iidstr) ];
|
||||
StringFromGUID2(riid, iidwstr, ARRAYSIZE(iidwstr));
|
||||
WideCharToMultiByte(CP_UTF8, 0, iidwstr, -1, iidstr, sizeof(iidstr), nullptr, nullptr);
|
||||
printf("[IDXGIDeviceWrapper] QueryInterface: %s\n", iidstr);
|
||||
|
||||
return m_realAdapter->QueryInterface(riid, ppvObject);
|
||||
}
|
||||
|
||||
@@ -12,15 +12,13 @@ namespace d3d11x
|
||||
AddRef( );
|
||||
return S_OK;
|
||||
}
|
||||
else
|
||||
{
|
||||
// DEBUG
|
||||
char iidstr[ sizeof("{AAAAAAAA-BBBB-CCCC-DDEE-FFGGHHIIJJKK}") ];
|
||||
OLECHAR iidwstr[ sizeof(iidstr) ];
|
||||
StringFromGUID2(riid, iidwstr, ARRAYSIZE(iidwstr));
|
||||
WideCharToMultiByte(CP_UTF8, 0, iidwstr, -1, iidstr, sizeof(iidstr), nullptr, nullptr);
|
||||
printf("[IDXGIDeviceWrapper] QueryInterface: %s\n", iidstr);
|
||||
}
|
||||
|
||||
// DEBUG
|
||||
char iidstr[ sizeof("{AAAAAAAA-BBBB-CCCC-DDEE-FFGGHHIIJJKK}") ];
|
||||
OLECHAR iidwstr[ sizeof(iidstr) ];
|
||||
StringFromGUID2(riid, iidwstr, ARRAYSIZE(iidwstr));
|
||||
WideCharToMultiByte(CP_UTF8, 0, iidwstr, -1, iidstr, sizeof(iidstr), nullptr, nullptr);
|
||||
printf("[IDXGIDeviceWrapper] QueryInterface: %s\n", iidstr);
|
||||
|
||||
return m_realDevice->QueryInterface(riid, ppvObject);
|
||||
}
|
||||
|
||||
@@ -17,15 +17,13 @@ namespace d3d11x
|
||||
AddRef( );
|
||||
return S_OK;
|
||||
}
|
||||
else
|
||||
{
|
||||
// DEBUG
|
||||
char iidstr[ sizeof("{AAAAAAAA-BBBB-CCCC-DDEE-FFGGHHIIJJKK}") ];
|
||||
OLECHAR iidwstr[ sizeof(iidstr) ];
|
||||
StringFromGUID2(riid, iidwstr, ARRAYSIZE(iidwstr));
|
||||
WideCharToMultiByte(CP_UTF8, 0, iidwstr, -1, iidstr, sizeof(iidstr), nullptr, nullptr);
|
||||
printf("[IDXGIFactoryWrapper] QueryInterface: %s\n", iidstr);
|
||||
}
|
||||
|
||||
// DEBUG
|
||||
char iidstr[ sizeof("{AAAAAAAA-BBBB-CCCC-DDEE-FFGGHHIIJJKK}") ];
|
||||
OLECHAR iidwstr[ sizeof(iidstr) ];
|
||||
StringFromGUID2(riid, iidwstr, ARRAYSIZE(iidwstr));
|
||||
WideCharToMultiByte(CP_UTF8, 0, iidwstr, -1, iidstr, sizeof(iidstr), nullptr, nullptr);
|
||||
printf("[IDXGIFactoryWrapper] QueryInterface: %s\n", iidstr);
|
||||
|
||||
|
||||
return m_realFactory->QueryInterface(riid, ppvObject);
|
||||
|
||||
@@ -13,15 +13,13 @@ namespace d3d11x
|
||||
AddRef( );
|
||||
return S_OK;
|
||||
}
|
||||
else
|
||||
{
|
||||
// DEBUG
|
||||
char iidstr[ sizeof("{AAAAAAAA-BBBB-CCCC-DDEE-FFGGHHIIJJKK}") ];
|
||||
OLECHAR iidwstr[ sizeof(iidstr) ];
|
||||
StringFromGUID2(riid, iidwstr, ARRAYSIZE(iidwstr));
|
||||
WideCharToMultiByte(CP_UTF8, 0, iidwstr, -1, iidstr, sizeof(iidstr), nullptr, nullptr);
|
||||
printf("[IDXGIDeviceWrapper] QueryInterface: %s\n", iidstr);
|
||||
}
|
||||
|
||||
// DEBUG
|
||||
char iidstr[ sizeof("{AAAAAAAA-BBBB-CCCC-DDEE-FFGGHHIIJJKK}") ];
|
||||
OLECHAR iidwstr[ sizeof(iidstr) ];
|
||||
StringFromGUID2(riid, iidwstr, ARRAYSIZE(iidwstr));
|
||||
WideCharToMultiByte(CP_UTF8, 0, iidwstr, -1, iidstr, sizeof(iidstr), nullptr, nullptr);
|
||||
printf("[IDXGIDeviceWrapper] QueryInterface: %s\n", iidstr);
|
||||
|
||||
return m_realSwapchain->QueryInterface(riid, ppvObject);
|
||||
}
|
||||
|
||||
@@ -53,28 +53,24 @@ HRESULT __stdcall D3DAllocateGraphicsMemory_X(SIZE_T SizeBytes, SIZE_T Alignment
|
||||
if (AlignmentBytes <= 0x10000)
|
||||
AllocType = MEM_LARGE_PAGES | MEM_COMMIT | MEM_RESERVE;
|
||||
|
||||
if (Flags == D3D11_GRAPHICS_MEMORY_ACCESS_CPU_CACHE_COHERENT)
|
||||
{
|
||||
switch(Flags) {
|
||||
case D3D11_GRAPHICS_MEMORY_ACCESS_CPU_CACHE_COHERENT:
|
||||
// @Patoke note: this also includes the PAGE_GPU_COHERENT flag in the XBOX
|
||||
Protect = PAGE_READWRITE;
|
||||
}
|
||||
else if (Flags == D3D11_GRAPHICS_MEMORY_ACCESS_CPU_WRITECOMBINE_NONCOHERENT)
|
||||
{
|
||||
break;
|
||||
case D3D11_GRAPHICS_MEMORY_ACCESS_CPU_WRITECOMBINE_NONCOHERENT:
|
||||
Protect = PAGE_READWRITE | PAGE_WRITECOMBINE;
|
||||
}
|
||||
else if (Flags == D3D11_GRAPHICS_MEMORY_ACCESS_CPU_CACHE_NONCOHERENT_GPU_READONLY)
|
||||
{
|
||||
break;
|
||||
case D3D11_GRAPHICS_MEMORY_ACCESS_CPU_CACHE_NONCOHERENT_GPU_READONLY:
|
||||
return E_INVALIDARG;
|
||||
}
|
||||
else
|
||||
{
|
||||
default:
|
||||
// @Patoke note: this also includes the PAGE_GPU_READONLY flag in the XBOX
|
||||
Protect = PAGE_READWRITE;
|
||||
}
|
||||
|
||||
LPVOID AllocBase = VirtualAlloc((LPVOID)DesiredGpuVirtualAddress, SizeBytes, AllocType, Protect);
|
||||
*ppAddress = AllocBase;
|
||||
return AllocBase == nullptr ? E_OUTOFMEMORY : S_OK;
|
||||
*ppAddress = VirtualAlloc((LPVOID) DesiredGpuVirtualAddress, SizeBytes, AllocType, Protect);
|
||||
|
||||
return !*ppAddress ? E_OUTOFMEMORY : S_OK;
|
||||
}
|
||||
|
||||
HRESULT __stdcall D3DConfigureVirtualMemory_X(_Inout_ D3D11X_VIRTUAL_MEMORY_CONFIGURATION* pVMConfiguration)
|
||||
@@ -172,6 +168,7 @@ HRESULT __stdcall D3D11CreateDevice_X(
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
// get dx11.2 feature level, since that's what dx11.x inherits from
|
||||
// MAYBE-TODO: VS doesn't like this line due to ppDevice not having a clear value. Maybe check if ppDevice is valid before deref.
|
||||
(*ppDevice)->QueryInterface(IID_PPV_ARGS(&device2));
|
||||
(*ppImmediateContext)->QueryInterface(IID_PPV_ARGS(&device_context2));
|
||||
|
||||
|
||||
@@ -44,14 +44,7 @@ HRESULT d3d11x::D3D11DeviceXWrapperX::CreateTexture1D(
|
||||
ID3D11Texture1D* texture1d = nullptr;
|
||||
HRESULT hr = m_realDevice->CreateTexture1D(pDesc, pInitialData, &texture1d);
|
||||
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
*ppTexture1D = new ID3D11Texture1DWrapper(texture1d);
|
||||
}
|
||||
else
|
||||
{
|
||||
*ppTexture1D = nullptr;
|
||||
}
|
||||
*ppTexture1D = SUCCEEDED(hr) ? new ID3D11Texture1DWrapper(texture1d) : nullptr;
|
||||
|
||||
return hr;
|
||||
}
|
||||
@@ -64,14 +57,8 @@ HRESULT d3d11x::D3D11DeviceXWrapperX::CreateTexture2D(
|
||||
ID3D11Texture2D* texture2d = nullptr;
|
||||
HRESULT hr = m_realDevice->CreateTexture2D(pDesc, pInitialData, &texture2d);
|
||||
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
*ppTexture2D = new ID3D11Texture2DWrapper(texture2d);
|
||||
}
|
||||
else
|
||||
{
|
||||
*ppTexture2D = nullptr;
|
||||
}
|
||||
*ppTexture2D = SUCCEEDED(hr) ? new ID3D11Texture2DWrapper(texture2d) : nullptr;
|
||||
|
||||
|
||||
return hr;
|
||||
}
|
||||
@@ -84,14 +71,8 @@ HRESULT d3d11x::D3D11DeviceXWrapperX::CreateTexture3D(
|
||||
ID3D11Texture3D* texture3d = nullptr;
|
||||
HRESULT hr = m_realDevice->CreateTexture3D(pDesc, pInitialData, &texture3d);
|
||||
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
*ppTexture3D = new ID3D11Texture3DWrapper(texture3d);
|
||||
}
|
||||
else
|
||||
{
|
||||
*ppTexture3D = nullptr;
|
||||
}
|
||||
*ppTexture3D = SUCCEEDED(hr) ? new ID3D11Texture3DWrapper(texture3d) : nullptr;
|
||||
|
||||
|
||||
return hr;
|
||||
}
|
||||
@@ -104,14 +85,8 @@ HRESULT d3d11x::D3D11DeviceXWrapperX::CreateShaderResourceView(
|
||||
::ID3D11ShaderResourceView* target = nullptr;
|
||||
HRESULT hr = m_realDevice->CreateShaderResourceView(reinterpret_cast<ID3D11ResourceWrapperX*>(pResource)->m_realResource, pDesc, &target);
|
||||
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
*ppSRView = reinterpret_cast<ID3D11ShaderResourceView_X*>(new ID3D11ShaderResourceViewWrapper(target));
|
||||
}
|
||||
else
|
||||
{
|
||||
*ppSRView = nullptr;
|
||||
}
|
||||
*ppSRView = SUCCEEDED(hr) ? reinterpret_cast<ID3D11ShaderResourceView_X*>(new ID3D11ShaderResourceViewWrapper(target))
|
||||
: nullptr;
|
||||
|
||||
return hr;
|
||||
}
|
||||
@@ -124,14 +99,8 @@ HRESULT d3d11x::D3D11DeviceXWrapperX::CreateUnorderedAccessView(
|
||||
::ID3D11UnorderedAccessView* target = nullptr;
|
||||
HRESULT hr = m_realDevice->CreateUnorderedAccessView(reinterpret_cast<ID3D11ResourceWrapperX*>(pResource)->m_realResource, pDesc, &target);
|
||||
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
*ppUAView = reinterpret_cast<ID3D11UnorderedAccessView_X*>(new ID3D11UnorderedAccessViewWrapper(target));
|
||||
}
|
||||
else
|
||||
{
|
||||
*ppUAView = nullptr;
|
||||
}
|
||||
*ppUAView = SUCCEEDED(hr) ? reinterpret_cast<ID3D11UnorderedAccessView_X*>(new ID3D11UnorderedAccessViewWrapper(target))
|
||||
: nullptr;
|
||||
|
||||
return hr;
|
||||
}
|
||||
@@ -144,14 +113,8 @@ HRESULT d3d11x::D3D11DeviceXWrapperX::CreateRenderTargetView(
|
||||
::ID3D11RenderTargetView* target = nullptr;
|
||||
HRESULT hr = m_realDevice->CreateRenderTargetView(reinterpret_cast<ID3D11ResourceWrapperX*>(pResource)->m_realResource, pDesc, &target);
|
||||
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
*ppRTView = reinterpret_cast<ID3D11RenderTargetView_X*>(new ID3D11RenderTargetViewWrapper(target));
|
||||
}
|
||||
else
|
||||
{
|
||||
*ppRTView = nullptr;
|
||||
}
|
||||
*ppRTView = SUCCEEDED(hr) ? reinterpret_cast<ID3D11RenderTargetView_X*>(new ID3D11RenderTargetViewWrapper(target))
|
||||
: nullptr;
|
||||
|
||||
return hr;
|
||||
}
|
||||
@@ -164,14 +127,9 @@ HRESULT d3d11x::D3D11DeviceXWrapperX::CreateDepthStencilView(
|
||||
::ID3D11DepthStencilView* target = nullptr;
|
||||
HRESULT hr = m_realDevice->CreateDepthStencilView(reinterpret_cast<ID3D11ResourceWrapperX*>(pResource)->m_realResource, pDesc, &target);
|
||||
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
*ppDepthStencilView = reinterpret_cast<ID3D11DepthStencilView_X*>(new ID3D11DepthStencilViewWrapper(target));
|
||||
}
|
||||
else
|
||||
{
|
||||
*ppDepthStencilView = nullptr;
|
||||
}
|
||||
*ppDepthStencilView = SUCCEEDED(hr) ? reinterpret_cast<ID3D11DepthStencilView_X*>(new ID3D11DepthStencilViewWrapper(target))
|
||||
: nullptr;
|
||||
|
||||
|
||||
return hr;
|
||||
}
|
||||
@@ -181,13 +139,12 @@ void d3d11x::D3D11DeviceXWrapperX::GetImmediateContext(ID3D11DeviceContext** ppI
|
||||
::ID3D11DeviceContext* ctx{};
|
||||
m_realDevice->GetImmediateContext(&ctx);
|
||||
|
||||
if(ctx)
|
||||
{
|
||||
::ID3D11DeviceContext2* ctx2{};
|
||||
ctx->QueryInterface(IID_PPV_ARGS(&ctx2));
|
||||
if (!ctx) return;
|
||||
|
||||
*ppImmediateContext = reinterpret_cast<d3d11x::ID3D11DeviceContext*>(new d3d11x::ID3D11DeviceContextXWrapper(ctx2));
|
||||
}
|
||||
::ID3D11DeviceContext2* ctx2{};
|
||||
ctx->QueryInterface(IID_PPV_ARGS(&ctx2));
|
||||
|
||||
*ppImmediateContext = reinterpret_cast<d3d11x::ID3D11DeviceContext*>(new d3d11x::ID3D11DeviceContextXWrapper(ctx2));
|
||||
}
|
||||
|
||||
HRESULT d3d11x::D3D11DeviceXWrapperX::CreateDeferredContext(UINT ContextFlags, d3d11x::ID3D11DeviceContext** ppDeferredContext)
|
||||
@@ -216,14 +173,7 @@ HRESULT d3d11x::D3D11DeviceXWrapperX::CreateBuffer(
|
||||
ID3D11Buffer* buffer = nullptr;
|
||||
HRESULT hr = m_realDevice->CreateBuffer(pDesc, pInitialData, &buffer);
|
||||
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
*ppBuffer = new ID3D11BufferWrapper(buffer);
|
||||
}
|
||||
else
|
||||
{
|
||||
*ppBuffer = nullptr;
|
||||
}
|
||||
*ppBuffer = SUCCEEDED(hr) ? new ID3D11BufferWrapper(buffer) : nullptr;
|
||||
|
||||
return hr;
|
||||
}
|
||||
|
||||
@@ -83,6 +83,9 @@ BOOL TitleMemoryStatus_X(LPTITLEMEMORYSTATUS Buffer)
|
||||
//*(DWORD*)((uint8_t*)Buffer + 72) = ProcessInformation[8];
|
||||
|
||||
// equivalent to the previous code
|
||||
// TODO: Changes this code to not be pre-incremented before a deref.
|
||||
// i.e. Buffer++; Bufer->DwLength
|
||||
// Makes code look uglier but you won't get yelled at by 80 y/o
|
||||
(++Buffer)->dwLength = ProcessInformation[7];
|
||||
(++Buffer)->dwReserved = ProcessInformation[8];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user