hasvk: Report result status query support on the video queues.

The queue family properties claimed no support with the note that the VCS
"seemingly cannot do a posted memory write".  It can: the encode feedback
query already writes its availability, buffer offset and byte count from a
video queue through exactly the same MI_FLUSH_DW post-sync write, and the
VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR paths in genX_query.c are complete.
Only the advertised capability was missing.

dEQP-VK.video.encode.h264.query_with_status_* goes from NotSupported, where
it failed device creation, to 4/4 Pass; the family is now 40 of 120 with no
failures.  h264 decode is unaffected.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
elwrclandClaude Opus 5 committed 2026-08-21 07:13:27 +03:00
1 parent a3e191c354
commit 113661753e
1 file changed
+5 -7
+5 -7
View File
@@ -2248,13 +2248,11 @@ void anv_GetPhysicalDeviceQueueFamilyProperties2(
case VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR: {
VkQueueFamilyQueryResultStatusPropertiesKHR *prop =
(VkQueueFamilyQueryResultStatusPropertiesKHR *)ext;
/* Result status queries require the queue's command streamer
* to write the query result to memory. The VCS seemingly
* cannot do a posted memory write. */
prop->queryResultStatusSupport =
(queue_family->queueFlags & (VK_QUEUE_VIDEO_DECODE_BIT_KHR |
VK_QUEUE_VIDEO_ENCODE_BIT_KHR)) ?
VK_FALSE : VK_TRUE;
/* Result status queries need the queue's command streamer to
* write the result to memory, which every queue here can do:
* the video ones already write their encode feedback with the
* same MI_FLUSH_DW post-sync write. */
prop->queryResultStatusSupport = VK_TRUE;
break;
}
case VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR: {