src/context.c: temporary diagnostic logging in CreateContext

Added request_log() calls at every failure path inside RequestCreateContext
to identify exactly which guard fires when Brave's vaCreateContext fails on
ohm. Will revert these before final.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-25 21:57:33 +00:00
parent 4d14ffb801
commit 1458622729
+20 -1
View File
@@ -72,17 +72,25 @@ VAStatus RequestCreateContext(VADriverContextP context, VAConfigID config_id,
int rc;
video_format = driver_data->video_format;
if (video_format == NULL)
if (video_format == NULL) {
request_log("CreateContext: video_format is NULL\n");
return VA_STATUS_ERROR_OPERATION_FAILED;
}
output_type = v4l2_type_video_output(video_format->v4l2_mplane);
capture_type = v4l2_type_video_capture(video_format->v4l2_mplane);
request_log("CreateContext: mplane=%d output_type=%u capture_type=%u\n",
video_format->v4l2_mplane, output_type, capture_type);
config_object = CONFIG(driver_data, config_id);
if (config_object == NULL) {
request_log("CreateContext: config_object NULL for config_id %u\n",
config_id);
status = VA_STATUS_ERROR_INVALID_CONFIG;
goto error;
}
request_log("CreateContext: profile=%d width=%d height=%d\n",
config_object->profile, picture_width, picture_height);
id = object_heap_allocate(&driver_data->context_heap);
context_object = CONTEXT(driver_data, id);
@@ -119,6 +127,8 @@ VAStatus RequestCreateContext(VADriverContextP context, VAConfigID config_id,
rc = v4l2_set_format(driver_data->video_fd, output_type, pixelformat,
picture_width, picture_height);
if (rc < 0) {
request_log("CreateContext: S_FMT(OUTPUT) failed for pixelformat 0x%x\n",
pixelformat);
status = VA_STATUS_ERROR_OPERATION_FAILED;
goto error;
}
@@ -126,9 +136,13 @@ VAStatus RequestCreateContext(VADriverContextP context, VAConfigID config_id,
rc = v4l2_create_buffers(driver_data->video_fd, output_type,
surfaces_count, &index_base);
if (rc < 0) {
request_log("CreateContext: CREATE_BUFS failed surfaces=%d\n",
surfaces_count);
status = VA_STATUS_ERROR_ALLOCATION_FAILED;
goto error;
}
request_log("CreateContext: S_FMT + CREATE_BUFS ok, index_base=%u\n",
index_base);
/*
* The surface_ids array has been allocated by the caller and
@@ -155,6 +169,7 @@ VAStatus RequestCreateContext(VADriverContextP context, VAConfigID config_id,
rc = v4l2_query_buffer(driver_data->video_fd, output_type,
index, &length, &offset, 1);
if (rc < 0) {
request_log("CreateContext: QUERYBUF idx=%u failed\n", index);
status = VA_STATUS_ERROR_ALLOCATION_FAILED;
goto error;
}
@@ -162,6 +177,8 @@ VAStatus RequestCreateContext(VADriverContextP context, VAConfigID config_id,
source_data = mmap(NULL, length, PROT_READ | PROT_WRITE,
MAP_SHARED, driver_data->video_fd, offset);
if (source_data == MAP_FAILED) {
request_log("CreateContext: mmap len=%u offset=%u failed\n",
length, offset);
status = VA_STATUS_ERROR_ALLOCATION_FAILED;
goto error;
}
@@ -173,12 +190,14 @@ VAStatus RequestCreateContext(VADriverContextP context, VAConfigID config_id,
rc = v4l2_set_stream(driver_data->video_fd, output_type, true);
if (rc < 0) {
request_log("CreateContext: STREAMON(OUTPUT) failed\n");
status = VA_STATUS_ERROR_OPERATION_FAILED;
goto error;
}
rc = v4l2_set_stream(driver_data->video_fd, capture_type, true);
if (rc < 0) {
request_log("CreateContext: STREAMON(CAPTURE) failed\n");
status = VA_STATUS_ERROR_OPERATION_FAILED;
goto error;
}