summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan/fixed_pipeline_state.h
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2020-12-26 03:34:38 +0100
committerReinUsesLisp <reinuseslisp@airmail.cc>2020-12-26 03:34:38 +0100
commit661483f313a7dbbbebd4f233acecb06b6505a636 (patch)
tree4d549417a89e271cd1d66295c1993ed7704e6d2e /src/video_core/renderer_vulkan/fixed_pipeline_state.h
parentMerge pull request #5226 from ReinUsesLisp/c4715-vc (diff)
downloadyuzu-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.h11
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);