MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / GXSetCopyFilter

Function GXSetCopyFilter

src/dolphin/src/gx/GXFrameBuf.c:295–383  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

293}
294
295void GXSetCopyFilter(GXBool aa, const u8 sample_pattern[12][2], GXBool vf, const u8 vfilter[7])
296{
297 u32 msLoc[4];
298 u32 coeff0;
299 u32 coeff1;
300
301 CHECK_GXBEGIN(1641, "GXSetCopyFilter");
302
303 if (aa != 0)
304 {
305 msLoc[0] = 0;
306 SET_REG_FIELD(1645, msLoc[0], 4, 0, sample_pattern[0][0]);
307 SET_REG_FIELD(1646, msLoc[0], 4, 4, sample_pattern[0][1]);
308 SET_REG_FIELD(1647, msLoc[0], 4, 8, sample_pattern[1][0]);
309 SET_REG_FIELD(1648, msLoc[0], 4, 12, sample_pattern[1][1]);
310 SET_REG_FIELD(1649, msLoc[0], 4, 16, sample_pattern[2][0]);
311 SET_REG_FIELD(1650, msLoc[0], 4, 20, sample_pattern[2][1]);
312 SET_REG_FIELD(1651, msLoc[0], 8, 24, 1);
313
314 msLoc[1] = 0;
315 SET_REG_FIELD(1654, msLoc[1], 4, 0, sample_pattern[3][0]);
316 SET_REG_FIELD(1655, msLoc[1], 4, 4, sample_pattern[3][1]);
317 SET_REG_FIELD(1656, msLoc[1], 4, 8, sample_pattern[4][0]);
318 SET_REG_FIELD(1657, msLoc[1], 4, 12, sample_pattern[4][1]);
319 SET_REG_FIELD(1658, msLoc[1], 4, 16, sample_pattern[5][0]);
320 SET_REG_FIELD(1659, msLoc[1], 4, 20, sample_pattern[5][1]);
321 SET_REG_FIELD(1660, msLoc[1], 8, 24, 2);
322
323 msLoc[2] = 0;
324 SET_REG_FIELD(1663, msLoc[2], 4, 0, sample_pattern[6][0]);
325 SET_REG_FIELD(1664, msLoc[2], 4, 4, sample_pattern[6][1]);
326 SET_REG_FIELD(1665, msLoc[2], 4, 8, sample_pattern[7][0]);
327 SET_REG_FIELD(1666, msLoc[2], 4, 12, sample_pattern[7][1]);
328 SET_REG_FIELD(1667, msLoc[2], 4, 16, sample_pattern[8][0]);
329 SET_REG_FIELD(1668, msLoc[2], 4, 20, sample_pattern[8][1]);
330 SET_REG_FIELD(1669, msLoc[2], 8, 24, 3);
331
332 msLoc[3] = 0;
333 SET_REG_FIELD(1672, msLoc[3], 4, 0, sample_pattern[9][0]);
334 SET_REG_FIELD(1673, msLoc[3], 4, 4, sample_pattern[9][1]);
335 SET_REG_FIELD(1674, msLoc[3], 4, 8, sample_pattern[10][0]);
336 SET_REG_FIELD(1675, msLoc[3], 4, 12, sample_pattern[10][1]);
337 SET_REG_FIELD(1676, msLoc[3], 4, 16, sample_pattern[11][0]);
338 SET_REG_FIELD(1677, msLoc[3], 4, 20, sample_pattern[11][1]);
339 SET_REG_FIELD(1678, msLoc[3], 8, 24, 4);
340 }
341 else
342 {
343 msLoc[0] = 0x01666666;
344 msLoc[1] = 0x02666666;
345 msLoc[2] = 0x03666666;
346 msLoc[3] = 0x04666666;
347 }
348
349 GX_WRITE_RAS_REG(msLoc[0]);
350 GX_WRITE_RAS_REG(msLoc[1]);
351 GX_WRITE_RAS_REG(msLoc[2]);
352 GX_WRITE_RAS_REG(msLoc[3]);

Callers 4

__GXInitGXFunction · 0.85
DrawFrameFunction · 0.85
InitGXMethod · 0.85
InitGXMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected