|
|
|
@ -491,6 +491,23 @@ public: |
|
|
|
INSERT_UNION_PADDING_WORDS(1); |
|
|
|
}; |
|
|
|
|
|
|
|
enum class DepthMode : u32 { |
|
|
|
MinusOneToOne = 0, |
|
|
|
ZeroToOne = 1, |
|
|
|
}; |
|
|
|
|
|
|
|
enum class TessellationPrimitive : u32 { |
|
|
|
Isolines = 0, |
|
|
|
Triangles = 1, |
|
|
|
Quads = 2, |
|
|
|
}; |
|
|
|
|
|
|
|
enum class TessellationSpacing : u32 { |
|
|
|
Equal = 0, |
|
|
|
FractionalOdd = 1, |
|
|
|
FractionalEven = 2, |
|
|
|
}; |
|
|
|
|
|
|
|
struct RenderTargetConfig { |
|
|
|
u32 address_high; |
|
|
|
u32 address_low; |
|
|
|
@ -628,7 +645,19 @@ public: |
|
|
|
}; |
|
|
|
} sync_info; |
|
|
|
|
|
|
|
INSERT_UNION_PADDING_WORDS(0x11E); |
|
|
|
INSERT_UNION_PADDING_WORDS(0x15); |
|
|
|
|
|
|
|
union { |
|
|
|
BitField<0, 2, TessellationPrimitive> prim; |
|
|
|
BitField<4, 2, TessellationSpacing> spacing; |
|
|
|
BitField<8, 1, u32> cw; |
|
|
|
BitField<9, 1, u32> connected; |
|
|
|
} tess_mode; |
|
|
|
|
|
|
|
std::array<f32, 4> tess_level_outer; |
|
|
|
std::array<f32, 2> tess_level_inner; |
|
|
|
|
|
|
|
INSERT_UNION_PADDING_WORDS(0x102); |
|
|
|
|
|
|
|
u32 tfb_enabled; |
|
|
|
|
|
|
|
@ -662,7 +691,9 @@ public: |
|
|
|
u32 polygon_offset_line_enable; |
|
|
|
u32 polygon_offset_fill_enable; |
|
|
|
|
|
|
|
INSERT_UNION_PADDING_WORDS(0xD); |
|
|
|
u32 patch_vertices; |
|
|
|
|
|
|
|
INSERT_UNION_PADDING_WORDS(0xC); |
|
|
|
|
|
|
|
std::array<ScissorTest, NumViewports> scissor_test; |
|
|
|
|
|
|
|
@ -1386,6 +1417,9 @@ ASSERT_REG_POSITION(upload, 0x60); |
|
|
|
ASSERT_REG_POSITION(exec_upload, 0x6C); |
|
|
|
ASSERT_REG_POSITION(data_upload, 0x6D); |
|
|
|
ASSERT_REG_POSITION(sync_info, 0xB2); |
|
|
|
ASSERT_REG_POSITION(tess_mode, 0xC8); |
|
|
|
ASSERT_REG_POSITION(tess_level_outer, 0xC9); |
|
|
|
ASSERT_REG_POSITION(tess_level_inner, 0xCD); |
|
|
|
ASSERT_REG_POSITION(tfb_enabled, 0x1D1); |
|
|
|
ASSERT_REG_POSITION(rt, 0x200); |
|
|
|
ASSERT_REG_POSITION(viewport_transform, 0x280); |
|
|
|
@ -1397,6 +1431,7 @@ ASSERT_REG_POSITION(clear_stencil, 0x368); |
|
|
|
ASSERT_REG_POSITION(polygon_offset_point_enable, 0x370); |
|
|
|
ASSERT_REG_POSITION(polygon_offset_line_enable, 0x371); |
|
|
|
ASSERT_REG_POSITION(polygon_offset_fill_enable, 0x372); |
|
|
|
ASSERT_REG_POSITION(patch_vertices, 0x373); |
|
|
|
ASSERT_REG_POSITION(scissor_test, 0x380); |
|
|
|
ASSERT_REG_POSITION(stencil_back_func_ref, 0x3D5); |
|
|
|
ASSERT_REG_POSITION(stencil_back_func_mask, 0x3D6); |
|
|
|
|