[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Git][xorg-team/vulkan/vulkan-tools][upstream-unstable] 57 commits: vulkaninfo: Add video profiles support



Title: GitLab

Timo Aaltonen pushed to branch upstream-unstable at X Strike Force / vulkan / vulkan-tools

Commits:

  • 315964ad
    by Daniel Rakos at 2025-01-06T16:19:01-07:00
    vulkaninfo: Add video profiles support
    
  • 26c7bde3
    by Mike Schuchardt at 2025-01-17T10:57:51-08:00
    build: Update to header 1.4.305
    
  • 8e675c28
    by Karen Webb at 2025-01-21T20:31:17-07:00
    cube: Correctly apply sRGB OETF/EOTF
    
  • 814b35a3
    by Peter0x44 at 2025-01-22T09:12:17-07:00
    vulkaninfo: Correct typo targetted -> targeted
    
  • 8ce2501d
    by spencer-lunarg at 2025-01-23T08:48:40-05:00
    icd: Add VkPhysicalDeviceMaintenance3Properties
    
  • 7658238d
    by Mike Schuchardt at 2025-01-24T09:35:42-08:00
    build: Update to header 1.4.306
    
  • c52931f0
    by Mike Schuchardt at 2025-01-30T16:59:12-08:00
    build: Update to header 1.4.307
    
  • a9f88a23
    by Juan Ramos at 2025-02-05T11:22:23-07:00
    cmake: Update minimum to 3.22.1
    
  • b4061dbb
    by Yilong Li at 2025-02-18T03:54:05-06:00
    vulkaninfo: Support Fuchsia
    
    This change adds Fuchsia-specific build files and metadata for
    vulkaninfo so that it builds on Fuchsia.
    
    Test: vulkaninfo on Fuchsia
    Bug: https://fxbug.dev/378964821
    Change-Id: I069b808394995db94b109c15d18dd6797a97c534
    
  • 8a7c2760
    by Yilong Li at 2025-02-18T04:02:30-06:00
    vkcubepp: Remove implicit casts
    
    1. std::tolower() returns an `int` value. Implicit converting an `int`
    to a `char` may trigger compiler warnings (-Wconversion on gcc
    and clang).
    
    This change adds an explicit cast to suppress the implicit conversion
    warnings.
    
    2. Previously we used `assert(!"....")` to show error messages. This
    does an implicit conversion from `const char*` to `bool` which
    triggers compiler warnings (-Wconversion).
    
    This change replaces it with `assert(false && "...")` which doesn't
    trigger the warning.
    
    Bug: https://fxbug.dev/378964821
    Change-Id: I51be6858db558568619d0d2e6bc01a544d3459e4
    
  • dbe142e8
    by Yilong Li at 2025-02-18T04:02:55-06:00
    vkcubepp: Support Fuchsia
    
    This change was originally in Fuchsia's Vulkan-Tools fork
    (https://fxrev.dev/441056). It adds Fuchsia OS
    (https://fuchsia.dev) support to vkcubepp.
    
    Fuchsia has two WSI platforms available: It can render directly to
    display frame buffer (fuchsia_display), or use Fuchsia's Scenic
    compositor (fuchsia_scenic).
    
    All Fuchsia-specific code is under VK_USE_PLATFORM_FUCHSIA ifdef
    build guards and is only compiled for Fuchsia targets.
    
    This change also adds a BUILD.gn file used for Fuchsia in-tree
    builds.
    
    Test: vkcube-on-fb and vkcube-on-scenic on Fuchsia
    Bug: https://fxbug.dev/378964821
    Change-Id: Id4627bf209b4fc9400ce7f6847324cad2060c31c
    
  • 176fef0b
    by Mike Schuchardt at 2025-02-21T11:53:11-08:00
    build: Update to header 1.4.309
    
  • ba5e5dc5
    by Charles Giessen at 2025-02-25T09:10:37-06:00
    build: Update Volk to vulkan-tmp-1.4.309 branch
    
  • fb8f5a5d
    by Charles Giessen at 2025-02-25T09:38:48-06:00
    ci: Prevent double-running ci in main repo
    
    Prevents pushes to branches on the main repo from having ci run if
    there is an active PR on that branch to main.
    
  • 4b1c7580
    by John Zupin at 2025-03-03T15:35:34-06:00
    build: update volk branch to vulkan-sdk-1.4.309
    
    Remove the reference to the vulkan-tmp-1.4.309 branch
    which will be deleted eventually.
    
  • dd0c2e4a
    by Yilong Li at 2025-03-06T09:54:32-06:00
    vkcubepp: Support protected output
    
    This change was originally introduced into Fuchsia's Vulkan-Tools
    fork in https://fxrev.dev/c/third_party/Vulkan-Tools/+/444614.
    
    If `--protected_output` command line option is specified, vkcubepp
    will render to the protected memory.
    
    Bug: https://fxbug.dev/378964821
    Change-Id: I11c89d3d722236448edd41ca51a03f80d0ba7324
    
  • 7efad3a1
    by Charles Giessen at 2025-03-06T16:08:52-06:00
    vulkaninfo: Use Object for "Vulkan Profiles" array
    
    The "Video Profiles" element must be a JSON Object in order for the
    sub elements to have names. The outputprinter helper doesn't prevent
    mixing objects inside of arrays, so this wasn't caught during development.
    
  • 2bcf294e
    by Mike Schuchardt at 2025-03-07T13:11:25-08:00
    build: Update to header 1.4.310
    
  • 42c54538
    by Charles Giessen at 2025-03-08T09:20:04-07:00
    icd: Add build support for iOS and Metal surfaces
    
    The CMakelists.txt only enabled the MACOS_MVK surface extension, so this
    makes MockICD more flexible for users.
    
  • 4d5e1f89
    by Charles Giessen at 2025-03-08T12:59:41-07:00
    vulkaninfo: Use Object in video props vkconfig output
    
  • 072c8124
    by Charles Giessen at 2025-03-08T12:59:52-07:00
    cube: Fix protected memory pNext chains
    
    The chains were including the structs even when protected memory isn't
    desired, triggering validation errors.
    
  • 32ee3e6e
    by Mike Schuchardt at 2025-03-21T09:49:10-07:00
    build: Update to header 1.4.311
    
  • da7c7db2
    by Luis Jose-Romero at 2025-03-27T09:15:12-06:00
    vulkaninfo: Fix unreported extension formats
    
    Changes the format support check to compare against the
    device extensions instead of the instance extensions.
    
  • 289efccc
    by Charles Giessen at 2025-03-27T11:41:08-06:00
    cmake: Check wayland pkgconfig deps for cube
    
  • 9c0fff27
    by Mike Schuchardt at 2025-04-07T09:03:56-06:00
    build: Update to header 1.4.312
    
  • 3411f921
    by Water Chika at 2025-04-07T09:15:36-06:00
    Select physical device before create surface is platform is WSI Display
    
  • 4078c4f2
    by Water Chika at 2025-04-07T09:15:36-06:00
    Update cube/cube.c
    
    Co-authored-by: Charles Giessen <46324611+charles-lunarg@users.noreply.github.com>
  • 59dc56aa
    by Water Chika at 2025-04-07T09:15:36-06:00
    Update cube/cube.cpp
    
    Co-authored-by: Charles Giessen <46324611+charles-lunarg@users.noreply.github.com>
  • 8d5d50c2
    by Water Chika at 2025-04-08T15:17:20-06:00
    vkcubepp: Refactor create_window and run functions
    
  • 555dca10
    by Water Chika at 2025-04-08T15:17:20-06:00
    vkcubepp: refactor: Add MacOS fix.
    
  • 5394fd5d
    by Charles Giessen at 2025-04-11T15:13:14-06:00
    cube: Only count non-minimized frames
    
  • 5d938330
    by Charles Giessen at 2025-04-11T15:13:14-06:00
    cubepp: Fix incremental present on swapchain recreate
    
  • a8f20787
    by Charles Giessen at 2025-04-11T15:13:14-06:00
    cube: Re-record command buffers each frame
    
    Rerecord command buffers every frame, as command buffer recording isn't
    slow, and outside of trivial samples (like vkcube) isn't a practical
    architecture for organizing a Vulkan renderer. This makes vkcube and
    vkcubepp reflect typical Vulkan renderer architecture and serves as a
    better sample.
    
    Create structs to organize objects into distinct synchronization scopes,
    one for submissions and the other for swapchains. Resources associated
    with a swapchain image such, as image views, framebuffers, and
    presentation semaphores, must be duplicated as many times as there are
    swapchain images. This number is dependent on the runtime, so can't be
    pre-determined. The submission resources, which are the command buffers,
    fences, descriptor sets, device memory, and uniform buffers, only needs
    duplication for the pipelining. Specifically, this allows the GPU to
    execute a command buffer while the CPU record the next frame's command
    buffer. The FRAME_LAG constant dictates the pipeline depth, commonly
    called double buffering, and is set to 2 since that is sufficient for a
    vast majority of use cases.
    
    Swapchain resizing now only re-creates the bare necessity of resources:
    Swapchain, image views, framebuffers, presentation semaphores, and the
    depth buffer. Presentation semaphores are recreated to prevent state
    from an old swapchain from polluting a new swapchain. The depth buffer
    is re-created since its size is dependent on the window size. All other
    objects, such as pipelines and renderpasses, do not need recreation as
    they either are not liable to change during resizing, or have mutable
    state that can be flexibly updated, such as dynamic pipeline viewport
    and scissors. The code for dynamic viewports and scissors was already
    present but wasn't taken advantage of until now.
    
  • 50ace769
    by Charles Giessen at 2025-04-16T10:53:32-06:00
    cube: Fix broken framecount
    
  • b1fc6158
    by Mike Schuchardt at 2025-04-18T13:05:13-07:00
    build: Update to header 1.4.313
    
  • 7ef5a896
    by Charles Giessen at 2025-04-21T17:00:14-06:00
    cube: Update formatting to clang-format-18
    
  • 08428963
    by Charles Giessen at 2025-04-21T17:00:14-06:00
    cube: Update missing WSI extension messages
    
    Better indicates the error that triggered the message,
    and what the user should do about it.
    
  • 0b819672
    by Charles Giessen at 2025-04-23T16:33:59-06:00
    build: Update volk dependency to 1.4.313
    
  • 3e9d7a00
    by Charles Giessen at 2025-04-25T13:11:28-06:00
    vulkaninfo: Make Presentable Surfaces array unique
    
    Makes each JSON field unique in the Presentatble Surfaces array by
    appending the list of surfaces to the object name.
    
  • 682e42f7
    by Charles Giessen at 2025-04-25T13:11:28-06:00
    build: Remove Volk dependency
    
    The intent of using Volk for function loading was to validate Volk's
    implementation continually with each header update. This didn't end up
    occurring, as Volk does not get updated in lock step with Vulkan-Tools,
    leading to Vulkan-Tools using an older version of Volk. And then during
    SDK release the version would need to be updated at the last minute,
    causing churn and extra work.
    
    Function loading now occurs in two new files, cube_functions.h and
    vulkaninfo_functions.h. Since both cube and vulkaninfo's function
    usage are fixed (as in not code-generated), it is straightforward to
    implement the necessary Vulkan-Loader library opening and function
    loading code.
    
  • ad2f0170
    by Charles Giessen at 2025-04-28T20:41:54-06:00
    cube: Link to CMAKE_DL_LIBS
    
    Previously volk was doing this for cube, but with that removed
    vkcube/vkcubepp have to link it themselves.
    
  • af3abdf3
    by Nathaniel Cesario at 2025-04-28T22:26:41-06:00
    cube: Fix validation warning
    
    Ensures vkCreateDisplayPlaneSurfaceKHR is loaded using
    vkGetInstanceProcAddr rather than vkGetDeviceProcAddr.
    
  • ba13d38d
    by Mike Schuchardt at 2025-05-05T15:00:54-06:00
    build: Update to header 1.4.314
    
  • 60b640cb
    by Mike Schuchardt at 2025-05-09T09:20:03-07:00
    build: Update to header 1.4.315
    
  • e4fb76dc
    by Mike Schuchardt at 2025-05-30T12:01:38-07:00
    build: Update to header 1.4.316
    
  • fbe72265
    by Mike Schuchardt at 2025-06-06T10:04:55-07:00
    build: Update to header 1.4.317
    
  • d6719230
    by Mike Schuchardt at 2025-06-13T14:08:03-07:00
    build: Update to header 1.4.318
    
  • e3fc6439
    by Mike Schuchardt at 2025-06-20T13:30:13-07:00
    build: Update to header 1.4.319
    
  • 99365fc2
    by Mike Schuchardt at 2025-06-27T10:03:26-07:00
    build: Update to header 1.4.320
    
  • 55f6b397
    by Charles Giessen at 2025-06-28T13:30:37-05:00
    cube: Move instance function declaration
    
    Wasn't moved after fixing that it was treated as a device function.
    
  • abc74519
    by Xaver Hugl at 2025-06-30T10:25:22-05:00
    cube: prefer Wayland over X11 when available
    
    In Wayland sessions, X11 is still available through a compatibility layer, but should
    effectively never be used over a native Wayland connection if the application is
    capable of that.
    
  • 27590b43
    by Charles Giessen at 2025-06-30T11:21:10-05:00
    mock_icd: Fix vkGetPhysicalDeviceSurfacePresentModesKHR not writing count.
    
  • b2167f5c
    by Charles Giessen at 2025-06-30T11:21:10-05:00
    mock_icd: Write count in vkEnumerateDeviceExtensionProperties
    
  • 778f4098
    by Charles Giessen at 2025-06-30T11:21:10-05:00
    mock_icd: Add VkPhysicalDeviceLayeredApiPropertiesListKHR to output
    
  • 68441fe7
    by Charles Giessen at 2025-06-30T11:21:10-05:00
    vulkaninfo: Pretty print vendorID and deviceID in codegen
    
  • f0f308ad
    by Charles Giessen at 2025-06-30T11:21:10-05:00
    vulkaninfo: Don't write keys while inside of an array
    
    Adds logic to ignore the key when printing a key-value if the current
    context is an array, since that is not valid JSON.
    
  • 06ae73a3
    by Charles Giessen at 2025-07-07T11:34:37-05:00
    build: Update to header 1.4.321
    
    Includes necessary changes for VK_KHR_surface_maintenance1
    

39 changed files:

The diff was not included because it is too large.

Reply to: