1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-12-12 13:08:50 +01:00
dxvk/src/d3d11/d3d11_input_layout.h

53 lines
1.1 KiB
C
Raw Normal View History

#pragma once
#include "d3d11_device_child.h"
2018-08-11 21:38:10 +02:00
#include "../d3d10/d3d10_input_layout.h"
namespace dxvk {
class D3D11Device;
class D3D11InputLayout : public D3D11DeviceChild<ID3D11InputLayout> {
public:
D3D11InputLayout(
D3D11Device* pDevice,
uint32_t numAttributes,
const DxvkVertexAttribute* pAttributes,
uint32_t numBindings,
const DxvkVertexBinding* pBindings);
~D3D11InputLayout();
2017-12-12 12:50:52 +01:00
HRESULT STDMETHODCALLTYPE QueryInterface(
REFIID riid,
void** ppvObject) final;
2017-12-12 12:50:52 +01:00
void STDMETHODCALLTYPE GetDevice(
ID3D11Device** ppDevice) final;
2017-12-08 00:44:58 +01:00
void BindToContext(
const Rc<DxvkContext>& ctx);
bool Compare(
const D3D11InputLayout* pOther) const;
2018-08-11 21:38:10 +02:00
D3D10InputLayout* GetD3D10Iface() {
return &m_d3d10;
}
private:
Com<D3D11Device> m_device;
2017-12-08 00:44:58 +01:00
std::vector<DxvkVertexAttribute> m_attributes;
std::vector<DxvkVertexBinding> m_bindings;
2018-08-11 21:38:10 +02:00
D3D10InputLayout m_d3d10;
};
}