This sample demonstrates the basic uses cases for using GPU work creation via the VK_NVX_device_generated_commands Vulkan extension


APIs Used

  • Vulkan 1.0
  • VK_NVX_device_generated_commands

Shared User Interface

The Graphics samples all share a common app framework and certain user interface elements, centered around the "Tweakbar" panel on the left side of the screen which lets you interactively control certain variables in each sample.

To show and hide the Tweakbar, simply click or touch the triangular button positioned in the top-left of the view.

Technical Details

Device Generated Commands Vulkan Sample

This sample accompanies an article on the GameWorks developer blog which discusses the VK_NVX_device_generated_commands Vulkan extension for GPU work creation. The sample renders a model split into two parts where each part is a subset of the geometry selected via indexCount and firstIndex. Each part is then rendered using pipeline state objects (PSO) with different polygon modes. Various methods are implemented to render those parts with different amount of work generated on the GPU.

Adjustable Options

The TweakBar features the following options you can adjust:
  • Model
  • Render mode overrides for the two parts of the model
  • Various APIs used to render the split model
    • core Vulkan draw calls
    • core Vulkan indirect draw calls
    • VK_NVX_device_generated_commands Vulkan extension
  • Split ratio between the two parts of the model