From: Marek Olšák Date: Mon, 3 Oct 2016 13:13:56 +0000 (+0200) Subject: gallium/radeon: fix a ZPASS comment, EVENT_WRITE_EOP fixups X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=edf56fb428b1cda51264270881dda3af8ec01a04;p=mesa.git gallium/radeon: fix a ZPASS comment, EVENT_WRITE_EOP fixups Reviewed-by: Nicolai Hähnle --- 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);