summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2016-10-03 15:13:56 +0200
committerMarek Olšák <[email protected]>2016-10-26 13:02:58 +0200
commitedf56fb428b1cda51264270881dda3af8ec01a04 (patch)
tree9701b5a91a58c3942a9cb2e6b763d11d5703bf94
parentd883c83ba99c5459a8bb9183420124518b489ff8 (diff)
gallium/radeon: fix a ZPASS comment, EVENT_WRITE_EOP fixups
Reviewed-by: Nicolai Hähnle <[email protected]>
-rw-r--r--src/amd/common/sid.h2
-rw-r--r--src/gallium/drivers/radeon/r600_pipe_common.c4
-rw-r--r--src/gallium/drivers/radeon/r600_query.c4
3 files changed, 5 insertions, 5 deletions
diff --git a/src/amd/common/sid.h b/src/amd/common/sid.h
index 888de111a1f..df6309cfa69 100644
--- a/src/amd/common/sid.h
+++ b/src/amd/common/sid.h
@@ -7761,7 +7761,7 @@
#define V_028A90_FLUSH_HS_OUTPUT 0x11
#define V_028A90_FLUSH_LS_OUTPUT 0x12
#define V_028A90_CACHE_FLUSH_AND_INV_TS_EVENT 0x14
-#define V_028A90_ZPASS_DONE 0x15 /* not on CIK */
+#define V_028A90_ZPASS_DONE 0x15
#define V_028A90_CACHE_FLUSH_AND_INV_EVENT 0x16
#define V_028A90_PERFCOUNTER_START 0x17
#define V_028A90_PERFCOUNTER_STOP 0x18
diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c
index 3dbcbc67247..c4b70dc6089 100644
--- a/src/gallium/drivers/radeon/r600_pipe_common.c
+++ b/src/gallium/drivers/radeon/r600_pipe_common.c
@@ -94,7 +94,7 @@ void r600_gfx_write_fence(struct r600_common_context *ctx, struct r600_resource
radeon_emit(cs, EVENT_TYPE(EVENT_TYPE_BOTTOM_OF_PIPE_TS) |
EVENT_INDEX(5));
radeon_emit(cs, va);
- radeon_emit(cs, (va >> 32) | EOP_DATA_SEL(1));
+ radeon_emit(cs, ((va >> 32) & 0xffff) | EOP_DATA_SEL(1));
radeon_emit(cs, old_value); /* immediate data */
radeon_emit(cs, 0); /* unused */
}
@@ -103,7 +103,7 @@ void r600_gfx_write_fence(struct r600_common_context *ctx, struct r600_resource
radeon_emit(cs, EVENT_TYPE(EVENT_TYPE_BOTTOM_OF_PIPE_TS) |
EVENT_INDEX(5));
radeon_emit(cs, va);
- radeon_emit(cs, (va >> 32) | EOP_DATA_SEL(1));
+ radeon_emit(cs, ((va >> 32) & 0xffff) | EOP_DATA_SEL(1));
radeon_emit(cs, new_value); /* immediate data */
radeon_emit(cs, 0); /* unused */
diff --git a/src/gallium/drivers/radeon/r600_query.c b/src/gallium/drivers/radeon/r600_query.c
index 4b6767dd38a..91385ae9820 100644
--- a/src/gallium/drivers/radeon/r600_query.c
+++ b/src/gallium/drivers/radeon/r600_query.c
@@ -560,7 +560,7 @@ static void r600_query_hw_do_emit_start(struct r600_common_context *ctx,
radeon_emit(cs, PKT3(PKT3_EVENT_WRITE_EOP, 4, 0));
radeon_emit(cs, EVENT_TYPE(EVENT_TYPE_BOTTOM_OF_PIPE_TS) | EVENT_INDEX(5));
radeon_emit(cs, va);
- radeon_emit(cs, (3 << 29) | ((va >> 32) & 0xFFFF));
+ radeon_emit(cs, EOP_DATA_SEL(3) | ((va >> 32) & 0xFFFF));
radeon_emit(cs, 0);
radeon_emit(cs, 0);
break;
@@ -646,7 +646,7 @@ static void r600_query_hw_do_emit_stop(struct r600_common_context *ctx,
radeon_emit(cs, PKT3(PKT3_EVENT_WRITE_EOP, 4, 0));
radeon_emit(cs, EVENT_TYPE(EVENT_TYPE_BOTTOM_OF_PIPE_TS) | EVENT_INDEX(5));
radeon_emit(cs, va);
- radeon_emit(cs, (3 << 29) | ((va >> 32) & 0xFFFF));
+ radeon_emit(cs, EOP_DATA_SEL(3) | ((va >> 32) & 0xFFFF));
radeon_emit(cs, 0);
radeon_emit(cs, 0);