mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
turnip: Fix operator precedence in address calculation macros for queries
Fixes crash in Oblivion, Skyrim, Crysis running through DXVK on 32b systems. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5723 Fixes:937dd76426"turnip: Implement VK_KHR_performance_query" Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14148> (cherry picked from commitc82d7e3617)
This commit is contained in:
parent
519ea90401
commit
7aca70e17b
2 changed files with 7 additions and 7 deletions
|
|
@ -2110,7 +2110,7 @@
|
|||
"description": "turnip: Fix operator precedence in address calculation macros for queries",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "937dd76426b2b372a18be35e1416eed291524af7"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ struct PACKED perf_query_slot {
|
|||
query_iova(struct occlusion_query_slot, pool, query, field)
|
||||
|
||||
#define pipeline_stat_query_iova(pool, query, field) \
|
||||
pool->bo.iova + pool->stride * query + \
|
||||
pool->bo.iova + pool->stride * (query) + \
|
||||
offsetof(struct pipeline_stat_query_slot, field)
|
||||
|
||||
#define primitive_query_iova(pool, query, field, i) \
|
||||
|
|
@ -125,9 +125,9 @@ struct PACKED perf_query_slot {
|
|||
offsetof(struct primitive_slot_value, values[i])
|
||||
|
||||
#define perf_query_iova(pool, query, field, i) \
|
||||
pool->bo.iova + pool->stride * query + \
|
||||
pool->bo.iova + pool->stride * (query) + \
|
||||
sizeof(struct query_slot) + \
|
||||
sizeof(struct perfcntr_query_slot) * i + \
|
||||
sizeof(struct perfcntr_query_slot) * (i) + \
|
||||
offsetof(struct perfcntr_query_slot, field)
|
||||
|
||||
#define query_available_iova(pool, query) \
|
||||
|
|
@ -135,11 +135,11 @@ struct PACKED perf_query_slot {
|
|||
|
||||
#define query_result_iova(pool, query, type, i) \
|
||||
pool->bo.iova + pool->stride * (query) + \
|
||||
sizeof(struct query_slot) + sizeof(type) * i
|
||||
sizeof(struct query_slot) + sizeof(type) * (i)
|
||||
|
||||
#define query_result_addr(pool, query, type, i) \
|
||||
pool->bo.map + pool->stride * query + \
|
||||
sizeof(struct query_slot) + sizeof(type) * i
|
||||
pool->bo.map + pool->stride * (query) + \
|
||||
sizeof(struct query_slot) + sizeof(type) * (i)
|
||||
|
||||
#define query_is_available(slot) slot->available
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue