r600g: sync vertex/texture cache on resources on evergreen
authorDave Airlie <airlied@redhat.com>
Fri, 1 Oct 2010 03:48:10 +0000 (13:48 +1000)
committerDave Airlie <airlied@redhat.com>
Fri, 1 Oct 2010 04:04:32 +0000 (14:04 +1000)
this gets rid of lots of the instability on evergreen,
which isn't surprising since it really broken not to flush caches.

src/gallium/winsys/r600/drm/evergreen_hw_context.c

index 3af299c1803fadc20d2bb5484aba8a28f07e4309..1b2c2655b50bde206bce4a23fbb24bdd4746eea0 100644 (file)
@@ -431,8 +431,8 @@ static int evergreen_state_resource_init(struct r600_context *ctx, u32 offset)
        struct r600_reg r600_shader_resource[] = {
                {PKT3_SET_RESOURCE, EVERGREEN_RESOURCE_OFFSET, R_030000_RESOURCE0_WORD0, 0, 0},
                {PKT3_SET_RESOURCE, EVERGREEN_RESOURCE_OFFSET, R_030004_RESOURCE0_WORD1, 0, 0},
-               {PKT3_SET_RESOURCE, EVERGREEN_RESOURCE_OFFSET, R_030008_RESOURCE0_WORD2, 1, 0},
-               {PKT3_SET_RESOURCE, EVERGREEN_RESOURCE_OFFSET, R_03000C_RESOURCE0_WORD3, 1, 0},
+               {PKT3_SET_RESOURCE, EVERGREEN_RESOURCE_OFFSET, R_030008_RESOURCE0_WORD2, 1, S_0085F0_TC_ACTION_ENA(1) | S_0085F0_VC_ACTION_ENA(1)},
+               {PKT3_SET_RESOURCE, EVERGREEN_RESOURCE_OFFSET, R_03000C_RESOURCE0_WORD3, 1, S_0085F0_TC_ACTION_ENA(1) | S_0085F0_VC_ACTION_ENA(1)},
                {PKT3_SET_RESOURCE, EVERGREEN_RESOURCE_OFFSET, R_030010_RESOURCE0_WORD4, 0, 0},
                {PKT3_SET_RESOURCE, EVERGREEN_RESOURCE_OFFSET, R_030014_RESOURCE0_WORD5, 0, 0},
                {PKT3_SET_RESOURCE, EVERGREEN_RESOURCE_OFFSET, R_030018_RESOURCE0_WORD6, 0, 0},