diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2020-12-26 03:34:38 +0100 |
---|---|---|
committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2020-12-26 03:34:38 +0100 |
commit | 661483f313a7dbbbebd4f233acecb06b6505a636 (patch) | |
tree | 4d549417a89e271cd1d66295c1993ed7704e6d2e /src/video_core/renderer_vulkan/fixed_pipeline_state.h | |
parent | Merge pull request #5226 from ReinUsesLisp/c4715-vc (diff) | |
download | yuzu-661483f313a7dbbbebd4f233acecb06b6505a636.tar yuzu-661483f313a7dbbbebd4f233acecb06b6505a636.tar.gz yuzu-661483f313a7dbbbebd4f233acecb06b6505a636.tar.bz2 yuzu-661483f313a7dbbbebd4f233acecb06b6505a636.tar.lz yuzu-661483f313a7dbbbebd4f233acecb06b6505a636.tar.xz yuzu-661483f313a7dbbbebd4f233acecb06b6505a636.tar.zst yuzu-661483f313a7dbbbebd4f233acecb06b6505a636.zip |
Diffstat (limited to 'src/video_core/renderer_vulkan/fixed_pipeline_state.h')
-rw-r--r-- | src/video_core/renderer_vulkan/fixed_pipeline_state.h | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/video_core/renderer_vulkan/fixed_pipeline_state.h b/src/video_core/renderer_vulkan/fixed_pipeline_state.h index c26b77790..9b18301c1 100644 --- a/src/video_core/renderer_vulkan/fixed_pipeline_state.h +++ b/src/video_core/renderer_vulkan/fixed_pipeline_state.h @@ -96,6 +96,8 @@ struct FixedPipelineState { BitField<6, 14, u32> offset; BitField<20, 3, u32> type; BitField<23, 6, u32> size; + // Not really an element of a vertex attribute, but it can be packed here + BitField<29, 1, u32> binding_index_enabled; constexpr Maxwell::VertexAttribute::Type Type() const noexcept { return static_cast<Maxwell::VertexAttribute::Type>(type.Value()); @@ -130,12 +132,6 @@ struct FixedPipelineState { } }; - union VertexBinding { - u16 raw; - BitField<0, 12, u16> stride; - BitField<12, 1, u16> enabled; - }; - struct DynamicState { union { u32 raw1; @@ -153,7 +149,8 @@ struct FixedPipelineState { BitField<0, 2, u32> cull_face; BitField<2, 1, u32> cull_enable; }; - std::array<VertexBinding, Maxwell::NumVertexArrays> vertex_bindings; + // Vertex stride is a 12 bits value, we have 4 bits to spare per element + std::array<u16, Maxwell::NumVertexArrays> vertex_strides; void Fill(const Maxwell& regs); |