From: Vladimir Dergachev Date: Sat, 1 Jan 2005 18:41:43 +0000 (+0000) Subject: Add a convenience function to issue CP delays. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=404d925b58b8fa0322ba79e7dfb14132ac57ae56;p=mesa.git Add a convenience function to issue CP delays. --- diff --git a/src/mesa/drivers/dri/r300/r300_emit.h b/src/mesa/drivers/dri/r300/r300_emit.h index cd49602fc5d..e0c77373ad4 100644 --- a/src/mesa/drivers/dri/r300/r300_emit.h +++ b/src/mesa/drivers/dri/r300/r300_emit.h @@ -96,6 +96,16 @@ static __inline__ uint32_t cmdpacket3(int packet) return cmd.u; } +static __inline__ uint32_t cmdcpdelay(unsigned short count) +{ + drm_r300_cmd_header_t cmd; + + cmd.delay.cmd_type = R300_CMD_CP_DELAY; + cmd.delay.count = count; + + return cmd.u; +} + /* Prepare to write a register value to register at address reg. If num_extra > 0 then the following extra values are written to registers with address +4, +8 and so on.. */ @@ -181,4 +191,15 @@ cmd=(drm_radeon_cmd_header_t *) r300AllocCmdBuf(rmesa, \ cmd[0].header.cmd_type=R300_CMD_END3D; } +void static inline cp_delay(PREFIX unsigned short count) +{ +LOCAL_VARS + +cmd=(drm_radeon_cmd_header_t *) r300AllocCmdBuf(rmesa, \ + 0, \ + __FUNCTION__); \ + +cmd[0].i=cmdcpdelay(count); +} + #endif