summaryrefslogtreecommitdiff
path: root/src/gallium/winsys/drm/amd/amd_r300.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/winsys/drm/amd/amd_r300.c')
-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 0bc0a842c1..0f543df9e1 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
+}