mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-03-04 01:29:26 +01:00
[d3d8] Refactor D3D8Vertex/IndexBuffer implementation
This commit is contained in:
parent
13ec120289
commit
639f815432
38
src/d3d8/d3d8_buffer.cpp
Normal file
38
src/d3d8/d3d8_buffer.cpp
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
#include "d3d8_buffer.h"
|
||||||
|
#include "d3d8_device.h"
|
||||||
|
|
||||||
|
namespace dxvk {
|
||||||
|
|
||||||
|
// D3D8VertexBuffer
|
||||||
|
|
||||||
|
D3D8VertexBuffer::D3D8VertexBuffer(
|
||||||
|
D3D8Device* pDevice,
|
||||||
|
Com<d3d9::IDirect3DVertexBuffer9>&& pBuffer,
|
||||||
|
D3DPOOL Pool,
|
||||||
|
DWORD Usage)
|
||||||
|
: D3D8VertexBufferBase(pDevice, std::move(pBuffer), Pool, Usage) {
|
||||||
|
}
|
||||||
|
|
||||||
|
D3DRESOURCETYPE STDMETHODCALLTYPE D3D8VertexBuffer::GetType() { return D3DRTYPE_VERTEXBUFFER; }
|
||||||
|
|
||||||
|
HRESULT STDMETHODCALLTYPE D3D8VertexBuffer::GetDesc(D3DVERTEXBUFFER_DESC* pDesc) {
|
||||||
|
return GetD3D9()->GetDesc(reinterpret_cast<d3d9::D3DVERTEXBUFFER_DESC*>(pDesc));
|
||||||
|
}
|
||||||
|
|
||||||
|
// D3D8IndexBuffer
|
||||||
|
|
||||||
|
D3D8IndexBuffer::D3D8IndexBuffer(
|
||||||
|
D3D8Device* pDevice,
|
||||||
|
Com<d3d9::IDirect3DIndexBuffer9>&& pBuffer,
|
||||||
|
D3DPOOL Pool,
|
||||||
|
DWORD Usage)
|
||||||
|
: D3D8IndexBufferBase(pDevice, std::move(pBuffer), Pool, Usage) {
|
||||||
|
}
|
||||||
|
|
||||||
|
D3DRESOURCETYPE STDMETHODCALLTYPE D3D8IndexBuffer::GetType() { return D3DRTYPE_INDEXBUFFER; }
|
||||||
|
|
||||||
|
HRESULT STDMETHODCALLTYPE D3D8IndexBuffer::GetDesc(D3DINDEXBUFFER_DESC* pDesc) {
|
||||||
|
return GetD3D9()->GetDesc(reinterpret_cast<d3d9::D3DINDEXBUFFER_DESC*>(pDesc));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -50,9 +50,11 @@ namespace dxvk {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
const D3D8Options* m_options;
|
const D3D8Options* m_options;
|
||||||
const D3DPOOL m_pool;
|
const D3DPOOL m_pool;
|
||||||
const DWORD m_usage;
|
const DWORD m_usage;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -65,15 +67,11 @@ namespace dxvk {
|
|||||||
D3D8Device* pDevice,
|
D3D8Device* pDevice,
|
||||||
Com<d3d9::IDirect3DVertexBuffer9>&& pBuffer,
|
Com<d3d9::IDirect3DVertexBuffer9>&& pBuffer,
|
||||||
D3DPOOL Pool,
|
D3DPOOL Pool,
|
||||||
DWORD Usage)
|
DWORD Usage);
|
||||||
: D3D8VertexBufferBase(pDevice, std::move(pBuffer), Pool, Usage) {
|
|
||||||
}
|
|
||||||
|
|
||||||
D3DRESOURCETYPE STDMETHODCALLTYPE GetType() final { return D3DRTYPE_VERTEXBUFFER; }
|
D3DRESOURCETYPE STDMETHODCALLTYPE GetType() final;
|
||||||
|
|
||||||
HRESULT STDMETHODCALLTYPE GetDesc(D3DVERTEXBUFFER_DESC* pDesc) {
|
HRESULT STDMETHODCALLTYPE GetDesc(D3DVERTEXBUFFER_DESC* pDesc);
|
||||||
return GetD3D9()->GetDesc(reinterpret_cast<d3d9::D3DVERTEXBUFFER_DESC*>(pDesc));
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -86,15 +84,12 @@ namespace dxvk {
|
|||||||
D3D8Device* pDevice,
|
D3D8Device* pDevice,
|
||||||
Com<d3d9::IDirect3DIndexBuffer9>&& pBuffer,
|
Com<d3d9::IDirect3DIndexBuffer9>&& pBuffer,
|
||||||
D3DPOOL Pool,
|
D3DPOOL Pool,
|
||||||
DWORD Usage)
|
DWORD Usage);
|
||||||
: D3D8IndexBufferBase(pDevice, std::move(pBuffer), Pool, Usage) {
|
|
||||||
}
|
|
||||||
|
|
||||||
D3DRESOURCETYPE STDMETHODCALLTYPE GetType() final { return D3DRTYPE_INDEXBUFFER; }
|
D3DRESOURCETYPE STDMETHODCALLTYPE GetType() final;
|
||||||
|
|
||||||
HRESULT STDMETHODCALLTYPE GetDesc(D3DINDEXBUFFER_DESC* pDesc) final {
|
HRESULT STDMETHODCALLTYPE GetDesc(D3DINDEXBUFFER_DESC* pDesc) final;
|
||||||
return GetD3D9()->GetDesc(reinterpret_cast<d3d9::D3DINDEXBUFFER_DESC*>(pDesc));
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
@ -1,6 +1,7 @@
|
|||||||
d3d8_res = wrc_generator.process('version.rc')
|
d3d8_res = wrc_generator.process('version.rc')
|
||||||
|
|
||||||
d3d8_src = [
|
d3d8_src = [
|
||||||
|
'd3d8_buffer.cpp',
|
||||||
'd3d8_device.cpp',
|
'd3d8_device.cpp',
|
||||||
'd3d8_interface.cpp',
|
'd3d8_interface.cpp',
|
||||||
'd3d8_main.cpp',
|
'd3d8_main.cpp',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user