2017-11-29 20:19:40 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <array>
|
|
|
|
|
2017-12-06 12:11:59 +01:00
|
|
|
#include "d3d11_state.h"
|
2017-12-04 13:39:37 +01:00
|
|
|
#include "d3d11_view.h"
|
2017-11-29 20:19:40 +01:00
|
|
|
|
|
|
|
namespace dxvk {
|
|
|
|
|
2017-12-04 13:39:37 +01:00
|
|
|
struct D3D11ContextStateOM {
|
2017-12-06 12:11:59 +01:00
|
|
|
std::array<Com<D3D11RenderTargetView>, D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT> renderTargetViews;
|
2017-12-05 12:59:35 +01:00
|
|
|
|
2017-12-04 13:39:37 +01:00
|
|
|
Rc<DxvkFramebuffer> framebuffer;
|
|
|
|
};
|
|
|
|
|
2017-12-05 12:59:35 +01:00
|
|
|
|
2017-12-06 12:11:59 +01:00
|
|
|
struct D3D11ContextStateRS {
|
|
|
|
uint32_t numViewports = 0;
|
|
|
|
uint32_t numScissors = 0;
|
|
|
|
|
|
|
|
std::array<D3D11_VIEWPORT, D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE> viewports;
|
|
|
|
std::array<D3D11_RECT, D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE> scissors;
|
|
|
|
|
|
|
|
Com<D3D11RasterizerState> state;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2017-11-29 20:19:40 +01:00
|
|
|
/**
|
|
|
|
* \brief Context state
|
|
|
|
*/
|
|
|
|
struct D3D11ContextState {
|
2017-12-04 13:39:37 +01:00
|
|
|
D3D11ContextStateOM om;
|
2017-12-06 12:11:59 +01:00
|
|
|
D3D11ContextStateRS rs;
|
2017-11-29 20:19:40 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|