Skip to content

Commit

Permalink
D3D9: port to delegate buffer API
Browse files Browse the repository at this point in the history
  • Loading branch information
paroj committed Dec 26, 2020
1 parent 46a01b5 commit 3cfd90c
Show file tree
Hide file tree
Showing 7 changed files with 108 additions and 628 deletions.
Expand Up @@ -25,23 +25,23 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-----------------------------------------------------------------------------
*/
#ifndef __D3D9HARDWAREVERTEXBUFFER_H__
#define __D3D9HARDWAREVERTEXBUFFER_H__
#ifndef __D3D9HardwareBuffer_H__
#define __D3D9HardwareBuffer_H__

#include "OgreD3D9Prerequisites.h"
#include "OgreHardwareVertexBuffer.h"
#include "OgreHardwareBuffer.h"
#include "OgreD3D9Resource.h"

namespace Ogre {

/// Specialisation of HardwareVertexBuffer for D3D9
class _OgreD3D9Export D3D9HardwareVertexBuffer : public HardwareVertexBuffer, public D3D9Resource
class _OgreD3D9Export D3D9HardwareBuffer : public HardwareBuffer, public D3D9Resource
{

public:
D3D9HardwareVertexBuffer(HardwareBufferManagerBase* mgr, size_t vertexSize,
size_t numVertices, HardwareBuffer::Usage usage, bool useShadowBuffer);
~D3D9HardwareVertexBuffer();
D3D9HardwareBuffer(D3DFORMAT type, size_t sizeInBytes, Usage usage,
bool useShadowBuffer);
~D3D9HardwareBuffer();
/** See HardwareBuffer. */
void readData(size_t offset, size_t length, void* pDest);
/** See HardwareBuffer. */
Expand All @@ -63,13 +63,12 @@ namespace Ogre {
// Create the actual vertex buffer.
void createBuffer(IDirect3DDevice9* d3d9Device, D3DPOOL ePool, bool updateNewBuffer);

/// Get D3D9-specific vertex buffer
IDirect3DVertexBuffer9* getD3D9VertexBuffer(void);

/// Get D3D9-specific resource
IDirect3DResource9* getD3D9Resource(void);
protected:
struct BufferResources
{
IDirect3DVertexBuffer9* mBuffer;
IDirect3DResource9* mBuffer;
bool mOutOfDate;
size_t mLockOffset;
size_t mLockLength;
Expand Down Expand Up @@ -105,7 +104,9 @@ namespace Ogre {
D3DVERTEXBUFFER_DESC mBufferDesc; // Buffer description.
BufferResources* mSourceBuffer; // Source buffer resources when working with multiple devices.
char* mSourceLockedBytes; // Source buffer locked bytes.
D3DFORMAT mType;
};

}
#endif

110 changes: 0 additions & 110 deletions RenderSystems/Direct3D9/include/OgreD3D9HardwareIndexBuffer.h

This file was deleted.

1 change: 0 additions & 1 deletion RenderSystems/Direct3D9/include/OgreD3D9Prerequisites.h
Expand Up @@ -90,7 +90,6 @@ namespace Ogre
class D3D9GpuProgram;
class D3D9GpuProgramManager;
class D3D9HardwareBufferManager;
class D3D9HardwareIndexBuffer;
class D3D9HLSLProgramFactory;
class D3D9HLSLProgram;
class D3D9VertexDeclaration;
Expand Down

0 comments on commit 3cfd90c

Please sign in to comment.