VideoCommon: store the configuration used to create the AbstractPipeline on the pipeline itself, so that it's easy to duplicate pipelines with slightly altered configuration

This commit is contained in:
iwubcode
2023-01-27 18:28:52 -06:00
parent aaad0cd39f
commit d0c6b6c9ed
12 changed files with 45 additions and 38 deletions

View File

@ -14,11 +14,11 @@ namespace DX11
class DXPipeline final : public AbstractPipeline
{
public:
DXPipeline(ID3D11InputLayout* input_layout, ID3D11VertexShader* vertex_shader,
ID3D11GeometryShader* geometry_shader, ID3D11PixelShader* pixel_shader,
ID3D11RasterizerState* rasterizer_state, ID3D11DepthStencilState* depth_state,
ID3D11BlendState* blend_state, D3D11_PRIMITIVE_TOPOLOGY primitive_topology,
bool use_logic_op);
DXPipeline(const AbstractPipelineConfig& config, ID3D11InputLayout* input_layout,
ID3D11VertexShader* vertex_shader, ID3D11GeometryShader* geometry_shader,
ID3D11PixelShader* pixel_shader, ID3D11RasterizerState* rasterizer_state,
ID3D11DepthStencilState* depth_state, ID3D11BlendState* blend_state,
D3D11_PRIMITIVE_TOPOLOGY primitive_topology, bool use_logic_op);
~DXPipeline() override;
ID3D11InputLayout* GetInputLayout() const { return m_input_layout.Get(); }