summaryrefslogtreecommitdiffstats
path: root/src/video_core/engines/maxwell_3d.h
diff options
context:
space:
mode:
authorMarkus Wick <markus@selfnet.de>2018-09-05 11:36:50 +0200
committerMarkus Wick <markus@selfnet.de>2018-09-05 18:46:35 +0200
commitd3ad9469a172eeaaf34ca641a6bf679b7b10eedf (patch)
treef4883bd9d06a1f370039e96c41beea70ff1a3f2b /src/video_core/engines/maxwell_3d.h
parentMerge pull request #1217 from degasus/vbo_cache2 (diff)
downloadyuzu-d3ad9469a172eeaaf34ca641a6bf679b7b10eedf.tar
yuzu-d3ad9469a172eeaaf34ca641a6bf679b7b10eedf.tar.gz
yuzu-d3ad9469a172eeaaf34ca641a6bf679b7b10eedf.tar.bz2
yuzu-d3ad9469a172eeaaf34ca641a6bf679b7b10eedf.tar.lz
yuzu-d3ad9469a172eeaaf34ca641a6bf679b7b10eedf.tar.xz
yuzu-d3ad9469a172eeaaf34ca641a6bf679b7b10eedf.tar.zst
yuzu-d3ad9469a172eeaaf34ca641a6bf679b7b10eedf.zip
Diffstat (limited to 'src/video_core/engines/maxwell_3d.h')
-rw-r--r--src/video_core/engines/maxwell_3d.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/video_core/engines/maxwell_3d.h b/src/video_core/engines/maxwell_3d.h
index 92bfda053..f59d01738 100644
--- a/src/video_core/engines/maxwell_3d.h
+++ b/src/video_core/engines/maxwell_3d.h
@@ -127,6 +127,7 @@ public:
BitField<21, 6, Size> size;
BitField<27, 3, Type> type;
BitField<31, 1, u32> bgra;
+ u32 hex;
};
u32 ComponentCount() const {
@@ -262,6 +263,10 @@ public:
bool IsValid() const {
return size != Size::Invalid;
}
+
+ bool operator<(const VertexAttribute& other) const {
+ return hex < other.hex;
+ }
};
enum class PrimitiveTopology : u32 {
@@ -545,7 +550,7 @@ public:
INSERT_PADDING_WORDS(0x5B);
- VertexAttribute vertex_attrib_format[NumVertexAttributes];
+ std::array<VertexAttribute, NumVertexAttributes> vertex_attrib_format;
INSERT_PADDING_WORDS(0xF);
@@ -964,7 +969,7 @@ ASSERT_REG_POSITION(stencil_back_func_ref, 0x3D5);
ASSERT_REG_POSITION(stencil_back_mask, 0x3D6);
ASSERT_REG_POSITION(stencil_back_func_mask, 0x3D7);
ASSERT_REG_POSITION(zeta, 0x3F8);
-ASSERT_REG_POSITION(vertex_attrib_format[0], 0x458);
+ASSERT_REG_POSITION(vertex_attrib_format, 0x458);
ASSERT_REG_POSITION(rt_control, 0x487);
ASSERT_REG_POSITION(zeta_width, 0x48a);
ASSERT_REG_POSITION(zeta_height, 0x48b);