diff options
author | Eric Anholt <eric@anholt.net> | 2020-09-03 11:56:45 -0700 |
---|---|---|
committer | Marge Bot <eric+marge@anholt.net> | 2020-09-09 17:25:38 +0000 |
commit | 802d3611dcec8102ef75fe2461340c2997af931e (patch) | |
tree | b9aef5ff30b9192e3747d528d782e2a67cbaa827 | |
parent | 329c31728773d58ebb0a9c2dd133ed7d6bc710cd (diff) |
turnip: Fix truncation of iovas to 32 bits in queries.
Fixes regression when switching to msm-next-pgtables.
Fixes: e34b0d65f971 ("turnip: Implement and enable VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6592>
-rw-r--r-- | src/freedreno/vulkan/tu_query.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/freedreno/vulkan/tu_query.c b/src/freedreno/vulkan/tu_query.c index e8a1a29eff7..a19e7349384 100644 --- a/src/freedreno/vulkan/tu_query.c +++ b/src/freedreno/vulkan/tu_query.c @@ -644,7 +644,7 @@ emit_begin_occlusion_query(struct tu_cmd_buffer *cmdbuf, A6XX_RB_SAMPLE_COUNT_CONTROL(.copy = true)); tu_cs_emit_regs(cs, - A6XX_RB_SAMPLE_COUNT_ADDR_LO(begin_iova)); + A6XX_RB_SAMPLE_COUNT_ADDR(.qword = begin_iova)); tu_cs_emit_pkt7(cs, CP_EVENT_WRITE, 1); tu_cs_emit(cs, ZPASS_DONE); @@ -680,7 +680,7 @@ emit_begin_xfb_query(struct tu_cmd_buffer *cmdbuf, struct tu_cs *cs = cmdbuf->state.pass ? &cmdbuf->draw_cs : &cmdbuf->cs; uint64_t begin_iova = primitive_query_iova(pool, query, begin[0], 0); - tu_cs_emit_regs(cs, A6XX_VPC_SO_STREAM_COUNTS_LO(begin_iova)); + tu_cs_emit_regs(cs, A6XX_VPC_SO_STREAM_COUNTS(.qword = begin_iova)); tu6_emit_event_write(cmdbuf, cs, WRITE_PRIMITIVE_COUNTS); } @@ -775,7 +775,7 @@ emit_end_occlusion_query(struct tu_cmd_buffer *cmdbuf, A6XX_RB_SAMPLE_COUNT_CONTROL(.copy = true)); tu_cs_emit_regs(cs, - A6XX_RB_SAMPLE_COUNT_ADDR_LO(end_iova)); + A6XX_RB_SAMPLE_COUNT_ADDR(.qword = end_iova)); tu_cs_emit_pkt7(cs, CP_EVENT_WRITE, 1); tu_cs_emit(cs, ZPASS_DONE); @@ -880,7 +880,7 @@ emit_end_xfb_query(struct tu_cmd_buffer *cmdbuf, uint64_t end_generated_iova = primitive_query_iova(pool, query, end[stream_id], 1); uint64_t available_iova = query_available_iova(pool, query); - tu_cs_emit_regs(cs, A6XX_VPC_SO_STREAM_COUNTS_LO(end_iova)); + tu_cs_emit_regs(cs, A6XX_VPC_SO_STREAM_COUNTS(.qword = end_iova)); tu6_emit_event_write(cmdbuf, cs, WRITE_PRIMITIVE_COUNTS); tu_cs_emit_wfi(cs); |