// Copyright 2008 Dolphin Emulator Project // Licensed under GPLv2+ // Refer to the license.txt file included. #pragma once #include "Common/CommonTypes.h" struct ID3D10Blob; namespace DX11 { // use this class instead ID3D10Blob or ID3D11Blob whenever possible class D3DBlob { public: // memory will be copied into an own buffer D3DBlob(unsigned int blob_size, const u8* init_data = nullptr); // d3dblob will be AddRef'd D3DBlob(ID3D10Blob* d3dblob); void AddRef(); unsigned int Release(); unsigned int Size() const; u8* Data(); private: ~D3DBlob(); unsigned int ref; unsigned int size; u8* data; ID3D10Blob* blob; }; } // namespace