Skip to content

radv: fix (for real this time) query pool result copy sizing

Mike Blumenkrantz requested to merge zmike/mesa:radv-query into main

single result copies cannot be calculated the same as multi-result copies, as the stride has no meaning for these operations; stride is the number of bytes between each member of the result array, but a single member array has no stride.

using the same calculation as the multi-result copy then uses only the dst result size, which in the case of any query that produces multiple values (pipeline stats, xfb) will be too small, and the copy will result in garbage data

Fixes: afff9dd0 ("radv: Use correct buffer size for query pool result copies.")

affected cts cases on zink: KHR-GL46.geometry_shader.primitive_queries.primitive_queries* KHR-GL46.transform_feedback.draw_xfb_stream_test*

Merge request reports