summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2020-09-03 11:56:45 -0700
committerDylan Baker <dylan.c.baker@intel.com>2020-09-11 10:32:43 -0700
commitae817c0f0f684db26e3c3d18a8327e7d492098c5 (patch)
tree1833c98a3454a6712f06aa71fc3e09623e35fd13
parent102fed30b95d099f2e83260edaaacfda71c81d84 (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> (cherry picked from commit 802d3611dcec8102ef75fe2461340c2997af931e)
-rw-r--r--.pick_status.json2
-rw-r--r--src/freedreno/vulkan/tu_query.c8
2 files changed, 5 insertions, 5 deletions
diff --git a/.pick_status.json b/.pick_status.json
index 2dcf2e376ee..1e1f87e5e81 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -751,7 +751,7 @@
"description": "turnip: Fix truncation of iovas to 32 bits in queries.",
"nominated": true,
"nomination_type": 1,
- "resolution": 0,
+ "resolution": 1,
"master_sha": null,
"because_sha": "e34b0d65f9715b9376408a769e2005bb579128f8"
},
diff --git a/src/freedreno/vulkan/tu_query.c b/src/freedreno/vulkan/tu_query.c
index 9b013060cb3..697387cc2d8 100644
--- a/src/freedreno/vulkan/tu_query.c
+++ b/src/freedreno/vulkan/tu_query.c
@@ -532,7 +532,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);
@@ -547,7 +547,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);
}
@@ -640,7 +640,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);
@@ -694,7 +694,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);