forked from marfrit/libva-v4l2-request-fourier
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:
+12
-1
@@ -339,7 +339,18 @@ VAStatus RequestSyncSurface(VADriverContextP context, VASurfaceID surface_id)
|
|||||||
* since iter4 (`74d8dd1`), so REINIT is no longer compromised by
|
* since iter4 (`74d8dd1`), so REINIT is no longer compromised by
|
||||||
* the cluster-validation EINVAL pattern.
|
* 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) {
|
if (rc < 0) {
|
||||||
status = VA_STATUS_ERROR_OPERATION_FAILED;
|
status = VA_STATUS_ERROR_OPERATION_FAILED;
|
||||||
goto error;
|
goto error;
|
||||||
|
|||||||
Reference in New Issue
Block a user