| 1889 | |
| 1890 | template <int i> |
| 1891 | void GSState::GIFRegHandlerXYOFFSET(const GIFReg* RESTRICT r) |
| 1892 | { |
| 1893 | GL_REG("XYOFFSET_%d = 0x%x_%x", i, r->U32[1], r->U32[0]); |
| 1894 | |
| 1895 | const u64 r_masked = r->U64 & XYOFFSET_REG_MASK; |
| 1896 | |
| 1897 | if (i == m_prev_env.PRIM.CTXT) |
| 1898 | { |
| 1899 | if ((m_prev_env.CTXT[i].XYOFFSET.U64 ^ r_masked) & XYOFFSET_REG_MASK) |
| 1900 | m_dirty_gs_regs |= (1 << DIRTY_REG_XYOFFSET); |
| 1901 | else |
| 1902 | m_dirty_gs_regs &= ~(1 << DIRTY_REG_XYOFFSET); |
| 1903 | } |
| 1904 | |
| 1905 | if (m_env.CTXT[i].XYOFFSET.U64 == r_masked) |
| 1906 | return; |
| 1907 | |
| 1908 | m_env.CTXT[i].XYOFFSET.U64 = r_masked; |
| 1909 | |
| 1910 | m_env.CTXT[i].UpdateScissor(); |
| 1911 | |
| 1912 | UpdateScissor(); |
| 1913 | } |
| 1914 | |
| 1915 | void GSState::GIFRegHandlerPRMODECONT(const GIFReg* RESTRICT r) |
| 1916 | { |
nothing calls this directly
no test coverage detected