libdragon
Loading...
Searching...
No Matches
rdpq_debug.h
Go to the documentation of this file.
1
7#ifndef LIBDRAGON_RDPQ_DEBUG_H
8#define LIBDRAGON_RDPQ_DEBUG_H
9
10#include <stdbool.h>
11#include <stdint.h>
12#include <stdio.h>
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
19typedef struct surface_s surface_t;
21
48
52void rdpq_debug_stop(void);
53
69void rdpq_debug_log(bool show_log);
70
111void rdpq_debug_log_msg(const char *str);
112
142
155void rdpq_debug_install_hook(void (*hook)(void *ctx, uint64_t* cmd, int cmd_size), void* ctx);
156
174bool rdpq_debug_disasm(uint64_t *buf, FILE *out);
175
182int rdpq_debug_disasm_size(uint64_t *buf);
183
184
185#ifdef __cplusplus
186}
187#endif
188
189#endif
void rdpq_debug_install_hook(void(*hook)(void *ctx, uint64_t *cmd, int cmd_size), void *ctx)
Install a custom hook that will be called every time a RDP command is processed.
int rdpq_debug_disasm_size(uint64_t *buf)
Return the size of the next RDP commands.
Definition rdpq_debug.c:455
void rdpq_debug_start(void)
Initialize the RDPQ debugging engine.
void rdpq_debug_stop(void)
Stop the rdpq debugging engine.
void rdpq_debug_log(bool show_log)
Show a full log of all the RDP commands.
surface_t rdpq_debug_get_tmem(void)
Acquire a dump of the current contents of TMEM.
bool rdpq_debug_disasm(uint64_t *buf, FILE *out)
Disassemble a RDP command.
Definition rdpq_debug.c:763
void rdpq_debug_log_msg(const char *str)
Add a custom message in the RDP logging.
A surface buffer for graphics.
Definition surface.h:138