jak-project/game/graphics/opengl_renderer/dma_helpers.h
water111 3afd99a8e3
[graphics] partial tfrag implementation (#958)
* temp

* some decomp

* tfrag dma setup

* fix negative label bug

* tfrag dma setup

* tfrag, with pipeline tricks

* kinda works

* cleanup before trying some color stuff

* time of day works

* clean up

* temp before render changes

* a few more fixes

* fix up tests

* clean up

* fix

* fix alignment

* one more cleanup
2021-11-13 20:44:17 -05:00

51 lines
1.7 KiB
C

#pragma once
#include "common/dma/dma_chain_read.h"
bool verify_unpack_with_stcycl(const DmaTransfer& transfer,
VifCode::Kind unpack_kind,
u16 cl,
u16 wl,
u32 qwc,
u32 addr,
bool usn,
bool flg);
/*!
* Make sure that the DMA transfer is a VIF unpack with the given setup.
* This is for when there's just an UNPACK.
*/
bool verify_unpack_no_stcycl(const DmaTransfer& transfer,
VifCode::Kind unpack_kind,
u32 qwc,
u32 addr,
bool usn,
bool flg);
/*!
* Verify the DMA transfer is a VIF unpack (with no STCYCL tag).
* Then, unpack the data to dst.
*/
void unpack_to_no_stcycl(void* dst,
const DmaTransfer& transfer,
VifCode::Kind unpack_kind,
u32 size_bytes,
u32 addr,
bool usn,
bool flg);
/*!
* Verify the DMA transfer is a VIF unpack (with STCYCL tag).
* Then, unpack the data to dst.
*/
void unpack_to_stcycl(void* dst,
const DmaTransfer& transfer,
VifCode::Kind unpack_kind,
u16 cl,
u16 wl,
u32 size_bytes,
u32 addr,
bool usn,
bool flg);
void verify_mscal(const DmaTransfer& transfer, int address);