| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- #pragma once
- #include "BsD3D11Prerequisites.h"
- namespace BansheeEngine
- {
- /**
- * @brief Available DX11 error levels.
- */
- enum BS_D3D11_ERROR_LEVEL
- {
- D3D11ERR_NO_EXCEPTION,
- D3D11ERR_CORRUPTION,
- D3D11ERR_ERROR,
- D3D11ERR_WARNING,
- D3D11ERR_INFO
- };
- /**
- * @brief Wrapper around DirectX 11 device object.
- */
- class BS_D3D11_EXPORT D3D11Device
- {
- public:
- /**
- * @brief Constructs the object with a previously created DX11 device.
- */
- D3D11Device(ID3D11Device* device);
- ~D3D11Device();
- /**
- * @brief Shuts down the device any releases any internal resources.
- */
- void shutdown();
- /**
- * @brief Returns DX11 immediate context object.
- */
- ID3D11DeviceContext* getImmediateContext() const { return mImmediateContext; }
- /**
- * @brief Returns DX11 class linkage object.
- */
- ID3D11ClassLinkage* getClassLinkage() const { return mClassLinkage; }
- /**
- * @brief Returns internal DX11 device.
- */
- ID3D11Device* getD3D11Device() const { return mD3D11Device; }
- /**
- * @brief Resets error state & error messages.
- */
- void clearErrors();
- /**
- * @brief Query if error occurred at any point since last "clearError" call.
- * Use getErrorDescription to get a string describing the error.
- */
- bool hasError() const;
- /**
- * @brief Returns a string describing an error if one occurred.
- */
- String getErrorDescription(bool clearErrors = true);
-
- /**
- * @brief Sets the level for which we want to receive errors for. Errors will be reported
- * for the provided level and any higher priority level.
- */
- void setExceptionsErrorLevel(const BS_D3D11_ERROR_LEVEL exceptionsErrorLevel);
- private:
- D3D11Device();
- ID3D11Device* mD3D11Device;
- ID3D11DeviceContext* mImmediateContext;
- ID3D11InfoQueue* mInfoQueue;
- ID3D11ClassLinkage* mClassLinkage;
- };
- }
|