aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/winsys
diff options
context:
space:
mode:
authorCorbin Simpson <[email protected]>2009-01-13 15:21:29 -0800
committerCorbin Simpson <[email protected]>2009-02-01 23:30:22 -0800
commit432ab001d042b816b5892398064e5735d0293955 (patch)
tree057545ead10efc37dd48cc7475e3c3e6d417f6e9 /src/gallium/winsys
parentfbeeb6675733f5b2da36d40b0142dadf8cc953b4 (diff)
r300, amd: Add the ability to flush the CS.
This is probably important, yeah?
Diffstat (limited to 'src/gallium/winsys')
-rw-r--r--src/gallium/winsys/drm/amd/amd_r300.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/gallium/winsys/drm/amd/amd_r300.c b/src/gallium/winsys/drm/amd/amd_r300.c
index 0bc0a842c13..0f543df9e10 100644
--- a/src/gallium/winsys/drm/amd/amd_r300.c
+++ b/src/gallium/winsys/drm/amd/amd_r300.c
@@ -37,6 +37,12 @@ static void amd_r300_write_cs_reloc(struct radeon_cs* cs,
radeon_cs_write_reloc(cs, ((struct amd_pipe_buffer*)pbuffer)->bo, rd, wd, flags);
}
+static void amd_r300_flush_cs(struct radeon_cs* cs)
+{
+ radeon_cs_emit(cs);
+ radeon_cs_erase(cs);
+}
+
struct r300_winsys* amd_create_r300_winsys(int fd)
{
struct r300_winsys* winsys = calloc(1, sizeof(struct r300_winsys));
@@ -50,6 +56,7 @@ struct r300_winsys* amd_create_r300_winsys(int fd)
winsys->write_cs_dword = radeon_cs_write_dword;
winsys->write_cs_reloc = amd_r300_write_cs_reloc;
winsys->end_cs = radeon_cs_end;
+ winsys->flush_cs = amd_r300_flush_cs;
return winsys;
-} \ No newline at end of file
+}