iter19 α-23 TEST: skip media_request_reinit() in RequestSyncSurface

Tests mechanism 2 (REINIT clears controls between S_EXT_CTRLS and QUEUE).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
claude-noether
2026-05-14 09:03:08 +00:00
parent fc78ed4204
commit aa82bffa35
+12 -1
View File
@@ -339,7 +339,18 @@ VAStatus RequestSyncSurface(VADriverContextP context, VASurfaceID surface_id)
* since iter4 (`74d8dd1`), so REINIT is no longer compromised by
* the cluster-validation EINVAL pattern.
*/
rc = media_request_reinit(request_fd);
/*
* iter19 α-23 TEST: skip REINIT to test mechanism 2.
* If kernel sees correct controls after this change, REINIT was
* clearing the request between S_EXT_CTRLS and IOC_QUEUE — but
* looking at the code, REINIT runs AFTER wait_completion (i.e.,
* AFTER decode is done), so this should only affect NEXT frame's
* request reuse — not the current frame. Test it anyway since
* libva uses 16 request_fds in rotation per output_pool slot;
* each request_fd is REINIT'd before being reused next time.
*/
(void)media_request_reinit;
rc = 0; /* media_request_reinit(request_fd); */
if (rc < 0) {
status = VA_STATUS_ERROR_OPERATION_FAILED;
goto error;