Function Prototype

vkCmdSetCoverageModulationTableNV

Specify the coverage modulation table dynamically for a command buffer

primary / secondary
both
graphics
state

To dynamically set the pCoverageModulationTable state, call:

void vkCmdSetCoverageModulationTableNV(
    VkCommandBuffer commandBuffer,
    uint32_t coverageModulationTableCount,
    const float* pCoverageModulationTable);
  • commandBuffer is the command buffer into which the command will be recorded.
  • coverageModulationTableCount specifies the number of elements in pCoverageModulationTable.
  • pCoverageModulationTable specifies the table of modulation factors containing a value for each number of covered samples.

This command sets the table of modulation factors for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV set in VkPipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the VkPipelineCoverageModulationStateCreateInfoNV::coverageModulationTableCount, and VkPipelineCoverageModulationStateCreateInfoNV::pCoverageModulationTable values used to create the currently active pipeline.

Valid Usage

VUID-vkCmdSetCoverageModulationTableNV-None-09423

At least one of the following must be true:

Valid Usage (Implicit)

VUID-vkCmdSetCoverageModulationTableNV-pCoverageModulationTable-parameter

pCoverageModulationTable must be a valid pointer to an array of coverageModulationTableCount float values

VUID-vkCmdSetCoverageModulationTableNV-commandBuffer-cmdpool

The VkCommandPool that commandBuffer was allocated from must support graphics operations

VUID-vkCmdSetCoverageModulationTableNV-videocoding

This command must only be called outside of a video coding scope

Host Synchronization

  • Host access to commandBuffer must be externally synchronized
  • Host access to the VkCommandPool that commandBuffer was allocated from must be externally synchronized ::