diff options
author | bunnei <bunneidev@gmail.com> | 2021-01-08 21:24:46 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-08 21:24:46 +0100 |
commit | 8eea7c1176e587d4cfede258164998d9af3419e9 (patch) | |
tree | d21b318c0451fe16ace40a8b02518de7465c0e5d /src/video_core/renderer_vulkan/fixed_pipeline_state.h | |
parent | Merge pull request #5300 from JeremyStarTM/patch-1 (diff) | |
parent | renderer_vulkan/fixed_pipeline_state: Move enabled bindings to static state (diff) | |
download | yuzu-8eea7c1176e587d4cfede258164998d9af3419e9.tar yuzu-8eea7c1176e587d4cfede258164998d9af3419e9.tar.gz yuzu-8eea7c1176e587d4cfede258164998d9af3419e9.tar.bz2 yuzu-8eea7c1176e587d4cfede258164998d9af3419e9.tar.lz yuzu-8eea7c1176e587d4cfede258164998d9af3419e9.tar.xz yuzu-8eea7c1176e587d4cfede258164998d9af3419e9.tar.zst yuzu-8eea7c1176e587d4cfede258164998d9af3419e9.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 7e95e6fce..465a55fdb 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); |