1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-02-18 04:54:15 +01:00

[d3d9] Move capture struct and enum to stateblock header

Makes more sense for it to be here.
This commit is contained in:
Joshua Ashton 2019-12-16 21:52:43 +00:00
parent 3cdae3ae1d
commit 91b5105db5
2 changed files with 55 additions and 55 deletions

View File

@ -280,61 +280,6 @@ namespace dxvk {
: UpdateHelper(pState->psConsts);
}
enum class D3D9CapturedStateFlag : uint32_t {
VertexDecl,
Indices,
RenderStates,
SamplerStates,
VertexBuffers,
Textures,
VertexShader,
PixelShader,
Viewport,
ScissorRect,
ClipPlanes,
VsConstants,
PsConstants,
StreamFreq,
Transforms,
TextureStages,
Material
};
using D3D9CapturedStateFlags = Flags<D3D9CapturedStateFlag>;
struct D3D9StateCaptures {
D3D9CapturedStateFlags flags;
std::bitset<RenderStateCount> renderStates;
std::bitset<SamplerCount> samplers;
std::array<
std::bitset<SamplerStateCount>,
SamplerCount> samplerStates;
std::bitset<caps::MaxStreams> vertexBuffers;
std::bitset<SamplerCount> textures;
std::bitset<caps::MaxClipPlanes> clipPlanes;
std::bitset<caps::MaxStreams> streamFreq;
std::bitset<caps::MaxTransforms> transforms;
std::bitset<caps::TextureStageCount> textureStages;
std::array<
std::bitset<D3DTSS_CONSTANT>,
caps::TextureStageCount> textureStageStates;
struct {
std::bitset<caps::MaxFloatConstantsSoftware> fConsts;
std::bitset<caps::MaxOtherConstantsSoftware> iConsts;
std::bitset<caps::MaxOtherConstantsSoftware> bConsts;
} vsConsts;
struct {
std::bitset<caps::MaxFloatConstantsPS> fConsts;
std::bitset<caps::MaxOtherConstants> iConsts;
std::bitset<caps::MaxOtherConstants> bConsts;
} psConsts;
};
struct Direct3DState9 : public D3D9CapturableState {
std::array<Com<D3D9Surface, false>, caps::MaxSimultaneousRenderTargets> renderTargets;

View File

@ -6,6 +6,61 @@
namespace dxvk {
enum class D3D9CapturedStateFlag : uint32_t {
VertexDecl,
Indices,
RenderStates,
SamplerStates,
VertexBuffers,
Textures,
VertexShader,
PixelShader,
Viewport,
ScissorRect,
ClipPlanes,
VsConstants,
PsConstants,
StreamFreq,
Transforms,
TextureStages,
Material
};
using D3D9CapturedStateFlags = Flags<D3D9CapturedStateFlag>;
struct D3D9StateCaptures {
D3D9CapturedStateFlags flags;
std::bitset<RenderStateCount> renderStates;
std::bitset<SamplerCount> samplers;
std::array<
std::bitset<SamplerStateCount>,
SamplerCount> samplerStates;
std::bitset<caps::MaxStreams> vertexBuffers;
std::bitset<SamplerCount> textures;
std::bitset<caps::MaxClipPlanes> clipPlanes;
std::bitset<caps::MaxStreams> streamFreq;
std::bitset<caps::MaxTransforms> transforms;
std::bitset<caps::TextureStageCount> textureStages;
std::array<
std::bitset<D3DTSS_CONSTANT>,
caps::TextureStageCount> textureStageStates;
struct {
std::bitset<caps::MaxFloatConstantsSoftware> fConsts;
std::bitset<caps::MaxOtherConstantsSoftware> iConsts;
std::bitset<caps::MaxOtherConstantsSoftware> bConsts;
} vsConsts;
struct {
std::bitset<caps::MaxFloatConstantsPS> fConsts;
std::bitset<caps::MaxOtherConstants> iConsts;
std::bitset<caps::MaxOtherConstants> bConsts;
} psConsts;
};
enum class D3D9StateBlockType :uint32_t {
None,
VertexState,