diff --git a/src/video_core/amdgpu/liverpool.cpp b/src/video_core/amdgpu/liverpool.cpp index 4bc73c67..590660b3 100644 --- a/src/video_core/amdgpu/liverpool.cpp +++ b/src/video_core/amdgpu/liverpool.cpp @@ -199,19 +199,12 @@ Liverpool::Task Liverpool::ProcessGraphics(std::span dcb, std::span dcb, std::spantype3.count; + if (nop_offset == 0x04) { + ASSERT_MSG(payload[nop_offset] == 0xc0001000, + "NOP hint is missing in CB setup sequence"); + last_cb_extent[col_buf_id].raw = payload[nop_offset + 1]; + } + break; + } case ContextRegs::DbZInfo: { if (header->type3.count == 8) { ASSERT_MSG(payload[20] == 0xc0001000, diff --git a/src/video_core/amdgpu/liverpool.h b/src/video_core/amdgpu/liverpool.h index bcb609e2..a9117867 100644 --- a/src/video_core/amdgpu/liverpool.h +++ b/src/video_core/amdgpu/liverpool.h @@ -786,6 +786,14 @@ struct Liverpool { CbColor5Base = 0xA363, CbColor6Base = 0xA372, CbColor7Base = 0xA381, + CbColor0Cmask = 0xA31F, + CbColor1Cmask = 0xA32E, + CbColor2Cmask = 0xA33D, + CbColor3Cmask = 0xA34C, + CbColor4Cmask = 0xA35B, + CbColor5Cmask = 0xA36A, + CbColor6Cmask = 0xA379, + CbColor7Cmask = 0xA388, }; struct PolygonOffset {