Skip to content

Commit 52c481b

Browse files
committed
Make HRESULT stringification prettier
1 parent 7b99bc6 commit 52c481b

File tree

1 file changed

+23
-2
lines changed

1 file changed

+23
-2
lines changed

renderdoc/driver/d3d11/d3d11_common.cpp

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2225,5 +2225,26 @@ string ToStrHelper<false, D3D11_LOGIC_OP>::Get(const D3D11_LOGIC_OP &el)
22252225
template <>
22262226
string ToStrHelper<false, long>::Get(const long &el)
22272227
{
2228-
return ToStr::Get((uint64_t)el);
2229-
}
2228+
HRESULT hr = (HRESULT)el;
2229+
2230+
switch(hr)
2231+
{
2232+
case DXGI_ERROR_INVALID_CALL: return "HRESULT(DXGI_ERROR_INVALID_CALL)";
2233+
case DXGI_ERROR_NOT_FOUND: return "HRESULT(DXGI_ERROR_NOT_FOUND)";
2234+
case DXGI_ERROR_DEVICE_REMOVED: return "HRESULT(DXGI_ERROR_DEVICE_REMOVED)";
2235+
case DXGI_ERROR_DEVICE_HUNG: return "HRESULT(DXGI_ERROR_DEVICE_HUNG)";
2236+
case DXGI_ERROR_DEVICE_RESET: return "HRESULT(DXGI_ERROR_DEVICE_RESET)";
2237+
case DXGI_ERROR_WAS_STILL_DRAWING: return "HRESULT(DXGI_ERROR_WAS_STILL_DRAWING)";
2238+
case E_OUTOFMEMORY: return "HRESULT(E_OUTOFMEMORY)";
2239+
case E_INVALIDARG: return "HRESULT(E_INVALIDARG)";
2240+
case E_NOINTERFACE: return "HRESULT(E_NOINTERFACE)";
2241+
case E_ABORT: return "HRESULT(E_ABORT)";
2242+
case E_FAIL: return "HRESULT(E_FAIL)";
2243+
}
2244+
2245+
char tostrBuf[64] = {0};
2246+
2247+
StringFormat::snprintf(tostrBuf, 63, "HRESULT(0x%x)", el);
2248+
2249+
return tostrBuf;
2250+
}

0 commit comments

Comments
 (0)