mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-04-08 01:51:29 -06:00
Merge d6f6acc626 into c11fa6ff81
This commit is contained in:
commit
2504ecd52b
@ -96,7 +96,11 @@ static_assert(GFX6_3D_REG_INDEX(vs_output_control) == 0xA207);
|
||||
static_assert(GFX6_3D_REG_INDEX(line_control) == 0xA282);
|
||||
static_assert(GFX6_3D_REG_INDEX(hs_clamp) == 0xA287);
|
||||
static_assert(GFX6_3D_REG_INDEX(vgt_gs_mode) == 0xA290);
|
||||
static_assert(GFX6_3D_REG_INDEX(vgt_gs_onchip_control) == 0xA291);
|
||||
static_assert(GFX6_3D_REG_INDEX(mode_control) == 0xA292);
|
||||
static_assert(GFX6_3D_REG_INDEX(vgt_gsvs_ring_offset_1) == 0xA298);
|
||||
static_assert(GFX6_3D_REG_INDEX(vgt_gsvs_ring_offset_2) == 0xA299);
|
||||
static_assert(GFX6_3D_REG_INDEX(vgt_gsvs_ring_offset_3) == 0xA29A);
|
||||
static_assert(GFX6_3D_REG_INDEX(vgt_gs_out_prim_type) == 0xA29B);
|
||||
static_assert(GFX6_3D_REG_INDEX(index_size) == 0xA29D);
|
||||
static_assert(GFX6_3D_REG_INDEX(index_buffer_type) == 0xA29F);
|
||||
@ -119,6 +123,8 @@ static_assert(GFX6_3D_REG_INDEX(color_buffers[0].pitch) == 0xA319);
|
||||
static_assert(GFX6_3D_REG_INDEX(color_buffers[0].slice) == 0xA31A);
|
||||
static_assert(GFX6_3D_REG_INDEX(color_buffers[7].base_address) == 0xA381);
|
||||
static_assert(GFX6_3D_REG_INDEX(cp_strmout_cntl) == 0xC03F);
|
||||
static_assert(GFX6_3D_REG_INDEX(vgt_esgs_ring_size) == 0xC240);
|
||||
static_assert(GFX6_3D_REG_INDEX(vgt_gsvs_ring_size) == 0xC241);
|
||||
static_assert(GFX6_3D_REG_INDEX(primitive_type) == 0xC242);
|
||||
static_assert(GFX6_3D_REG_INDEX(num_instances) == 0xC24D);
|
||||
static_assert(GFX6_3D_REG_INDEX(vgt_tf_memory_base) == 0xc250);
|
||||
|
||||
@ -111,9 +111,12 @@ union Regs {
|
||||
TessFactorClamp hs_clamp;
|
||||
INSERT_PADDING_WORDS(7);
|
||||
GsMode vgt_gs_mode;
|
||||
INSERT_PADDING_WORDS(1);
|
||||
GsOnchip vgt_gs_onchip_control;
|
||||
ModeControl mode_control;
|
||||
INSERT_PADDING_WORDS(8);
|
||||
INSERT_PADDING_WORDS(5);
|
||||
RingOffset vgt_gsvs_ring_offset_1;
|
||||
RingOffset vgt_gsvs_ring_offset_2;
|
||||
RingOffset vgt_gsvs_ring_offset_3;
|
||||
GsOutPrimitiveType vgt_gs_out_prim_type;
|
||||
INSERT_PADDING_WORDS(1);
|
||||
u32 index_size;
|
||||
@ -147,7 +150,9 @@ union Regs {
|
||||
ColorBuffer color_buffers[NUM_COLOR_BUFFERS];
|
||||
INSERT_PADDING_WORDS(7343);
|
||||
StreamOutControl cp_strmout_cntl;
|
||||
INSERT_PADDING_WORDS(514);
|
||||
INSERT_PADDING_WORDS(512);
|
||||
u32 vgt_esgs_ring_size;
|
||||
u32 vgt_gsvs_ring_size;
|
||||
PrimitiveType primitive_type;
|
||||
INSERT_PADDING_WORDS(9);
|
||||
u32 num_indices;
|
||||
|
||||
@ -136,6 +136,17 @@ enum class GsOutputPrimitiveType : u32 {
|
||||
TriangleStrip = 2,
|
||||
};
|
||||
|
||||
union RingOffset {
|
||||
u32 raw;
|
||||
struct {
|
||||
u32 offset : 15;
|
||||
};
|
||||
|
||||
u32 GetOffset() const {
|
||||
return offset;
|
||||
}
|
||||
};
|
||||
|
||||
union GsOutPrimitiveType {
|
||||
u32 raw;
|
||||
struct {
|
||||
@ -177,11 +188,27 @@ enum class GsScenario : u32 {
|
||||
|
||||
struct GsMode {
|
||||
GsScenario mode : 3;
|
||||
u32 : 1;
|
||||
u32 cut_mode : 2;
|
||||
u32 : 17;
|
||||
u32 : 5;
|
||||
u32 gs_c_pack_en : 1;
|
||||
u32 : 1;
|
||||
u32 es_passthru : 1;
|
||||
u32 compute_mode : 1;
|
||||
u32 fast_compute_mode : 1;
|
||||
u32 element_info_en : 1;
|
||||
u32 partial_thd_at_eoi : 1;
|
||||
u32 suppress_cuts : 1;
|
||||
u32 es_write_optimize : 1;
|
||||
u32 gs_write_optimize : 1;
|
||||
u32 onchip : 2;
|
||||
};
|
||||
|
||||
struct GsOnchip {
|
||||
u32 es_verts_per_subgroup : 11;
|
||||
u32 gs_prims_per_subgroup : 11;
|
||||
};
|
||||
|
||||
struct StreamOutControl {
|
||||
u32 offset_update_done : 1;
|
||||
u32 : 31;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user