diff options
author | Dave Airlie <airlied@redhat.com> | 2009-01-14 15:45:29 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-01-14 15:45:29 +1000 |
commit | 8c6a7d01744fe6164a868c5f691bb119109773c0 (patch) | |
tree | 83e7ac7e9edfcc93193912dc1135c1007c5cde52 /src/mesa/drivers/dri/radeon/radeon_cs_legacy.c | |
parent | e7d06a55c5443cfef73f5c2f60052cc26a1e9ff2 (diff) |
radeon/r200/r300: make legacy emit non-r300 specific
Diffstat (limited to 'src/mesa/drivers/dri/radeon/radeon_cs_legacy.c')
-rw-r--r-- | src/mesa/drivers/dri/radeon/radeon_cs_legacy.c | 36 |
1 files changed, 6 insertions, 30 deletions
diff --git a/src/mesa/drivers/dri/radeon/radeon_cs_legacy.c b/src/mesa/drivers/dri/radeon/radeon_cs_legacy.c index 11b9f89ca7..0c897815a7 100644 --- a/src/mesa/drivers/dri/radeon/radeon_cs_legacy.c +++ b/src/mesa/drivers/dri/radeon/radeon_cs_legacy.c @@ -30,13 +30,13 @@ * Jérôme Glisse <glisse@freedesktop.org> */ #include <errno.h> -#include "r300_reg.h" -#include "r300_emit.h" -#include "r300_cmdbuf.h" + + +#include "common_context.h" #include "radeon_cs.h" #include "radeon_cs_legacy.h" #include "radeon_bo_legacy.h" -#include "radeon_context.h" + struct cs_manager_legacy { struct radeon_cs_manager base; @@ -73,7 +73,7 @@ static struct radeon_cs *cs_create(struct radeon_cs_manager *csm, return cs; } -static int cs_write_dword(struct radeon_cs *cs, uint32_t dword) +int cs_write_dword(struct radeon_cs *cs, uint32_t dword) { if (cs->cdw >= cs->ndw) { uint32_t tmp, *ptr; @@ -277,31 +277,7 @@ static int cs_emit(struct radeon_cs *cs) uint64_t ull; int r; - /* please flush pipe do all pending work */ - cs_write_dword(cs, cmdpacket0(csm->ctx->radeonScreen, - R300_SC_SCREENDOOR, 1)); - cs_write_dword(cs, 0x0); - cs_write_dword(cs, cmdpacket0(csm->ctx->radeonScreen, - R300_SC_SCREENDOOR, 1)); - cs_write_dword(cs, 0x00FFFFFF); - cs_write_dword(cs, cmdpacket0(csm->ctx->radeonScreen, - R300_SC_HYPERZ, 1)); - cs_write_dword(cs, 0x0); - cs_write_dword(cs, cmdpacket0(csm->ctx->radeonScreen, - R300_US_CONFIG, 1)); - cs_write_dword(cs, 0x0); - cs_write_dword(cs, cmdpacket0(csm->ctx->radeonScreen, - R300_ZB_CNTL, 1)); - cs_write_dword(cs, 0x0); - cs_write_dword(cs, cmdwait(csm->ctx->radeonScreen, R300_WAIT_3D)); - cs_write_dword(cs, cmdpacket0(csm->ctx->radeonScreen, - R300_RB3D_DSTCACHE_CTLSTAT, 1)); - cs_write_dword(cs, R300_RB3D_DSTCACHE_CTLSTAT_DC_FLUSH_FLUSH_DIRTY_3D); - cs_write_dword(cs, cmdpacket0(csm->ctx->radeonScreen, - R300_ZB_ZCACHE_CTLSTAT, 1)); - cs_write_dword(cs, R300_ZB_ZCACHE_CTLSTAT_ZC_FLUSH_FLUSH_AND_FREE); - cs_write_dword(cs, cmdwait(csm->ctx->radeonScreen, - R300_WAIT_3D | R300_WAIT_3D_CLEAN)); + csm->ctx->vtbl.emit_cs_header(cs, csm->ctx); /* append buffer age */ age.scratch.cmd_type = R300_CMD_SCRATCH; |