Skip to content

Json output for screenshots - #3247

Draft
panos-lunarg wants to merge 1 commit into
LunarG:devfrom
panos-lunarg:json_for_screenshots
Draft

panos-lunarg wants to merge 1 commit into
LunarG:devfrom
panos-lunarg:json_for_screenshots

Conversation

@panos-lunarg

@panos-lunarg panos-lunarg commented Sep 4, 2026 •

Copy link
Copy Markdown
Contributor

A json file now provides additional information related to dumped screenshots

An example of the json schema for QueuePresent:

{
  "header": {
    "schemaVersion": 1,
    "gfxreconVersion": "1.0.5-dev (json_for_screenshots:ab7d5a7) Debug",
    "vulkanVersion": "1.4.361",
    "api": "vulkan",
    "captureFile": "../../madmax_20230908T130125.gfxr",
    "options": {
      "ranges": [
        {
          "first": 22900,
          "last": 23000
        }
      ],
      "interval": 1,
      "format": "bmp",
      "dir": "json",
      "prefix": "screenshot",
      "scale": [
        0.5,
        0.5
      ],
      "size": null,
      "applyPrerotation": false,
      "ignoreFrameBoundaryAndroid": false
    }
  }
},
{
  "frame": 22900,
  "blockIndex": 420364,
  "boundary": {
    "type": "vkQueuePresentKHR",
    "call": "vkQueuePresentKHR",
    "queueId": 25,
    "captureResult": "VK_SUCCESS",
    "replayResult": "VK_SUCCESS",
    "swapchainCount": 1
  },
  "status": "written",
  "outputs": [
    {
      "source": {
        "kind": "swapchainImage",
        "imageId": null,
        "layer": 0,
        "swapchainId": 1690,
        "swapchainIndex": 0,
        "imageIndex": 1,
        "format": "VK_FORMAT_B8G8R8A8_SRGB",
        "extent": [
          1024,
          768
        ],
        "preTransform": "VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR"
      },
      "present": {
        "surfaceId": 1687,
        "surfaceExtension": "VK_KHR_xcb_surface",
        "replayWindowSize": [
          1024,
          768
        ],
        "swapchainExtent": [
          1024,
          768
        ],
        "presentMode": null,
        "regions": null,
        "displayPresentInfo": null,
        "deviceMask": null,
        "deviceGroupPresentMode": null,
        "presentId": null,
        "presentTime": null,
        "presentFenceId": null
      },
      "file": "json/screenshot_frame_22900.bmp",
      "status": "written",
      "written": {
        "width": 512,
        "height": 384
      }
    }
  ],
  "messages": []
}

Another example for vkFrameBoundaryANDROID

{
  "header": {
    "schemaVersion": 1,
    "gfxreconVersion": "1.0.5-dev (json_for_screenshots:2e30762) Debug",
    "vulkanVersion": "1.4.361",
    "api": "vulkan",
    "captureFile": "/storage/emulated/0/Download/easy.sudoku.puzzle.solver.free_manual_000009f4ce92bdd3.gfxr",
    "options": {
      "ranges": [
        {
          "first": 1,
          "last": 4294967295
        }
      ],
      "interval": 1,
      "format": "bmp",
      "dir": "/storage/emulated/0/Download/dumps1",
      "prefix": "screenshot",
      "scale": null,
      "size": null,
      "applyPrerotation": false,
      "ignoreFrameBoundaryAndroid": false
    }
  }
},
{
  "frame": 1,
  "blockIndex": 1149,
  "boundary": {
    "type": "vkFrameBoundaryANDROID",
    "call": "vkFrameBoundaryANDROID",
    "queueId": null,
    "captureResult": null,
    "replayResult": null,
    "semaphoreId": 410
  },
  "status": "written",
  "outputs": [
    {
      "source": {
        "kind": "frameBoundaryImage",
        "imageId": 161,
        "layer": 0,
        "format": "VK_FORMAT_R8G8B8A8_UNORM",
        "extent": [
          1440,
          3120
        ],
        "preTransform": "VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR"
      },
      "file": "/storage/emulated/0/Download/dumps1/screenshot_frame_1.bmp",
      "status": "written",
      "written": {
        "width": 1440,
        "height": 3120
      }
    }
  ],
  "messages": []
},

A json file now provides additional information related to dumped
screenshots
@panos-lunarg panos-lunarg added the approved-to-run-ci Can run CI check on internal LunarG machines label Sep 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved-to-run-ci Can run CI check on internal LunarG machines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant