# VkFragmentShadingRateCombinerOpKHR(3) Manual Page

## Name

VkFragmentShadingRateCombinerOpKHR - Control how fragment shading rates are combined

Loading… please wait.

## C Specification

The equation used for each combiner operation is defined by `VkFragmentShadingRateCombinerOpKHR`:

    // Provided by VK_KHR_fragment_shading_rate
    typedef enum VkFragmentShadingRateCombinerOpKHR {
        VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,
        VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1,
        VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2,
        VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3,
        VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4,
    } VkFragmentShadingRateCombinerOpKHR;

## Description

- `VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR` specifies a combiner operation of combine(Axy,Bxy) = Axy.

- `VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR` specifies a combiner operation of combine(Axy,Bxy) = Bxy.

- `VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR` specifies a combiner operation of combine(Axy,Bxy) = min(Axy,Bxy).

- `VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR` specifies a combiner operation of combine(Axy,Bxy) = max(Axy,Bxy).

- `VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR` specifies a combiner operation of combine(Axy,Bxy) = Axy*Bxy.

where combine(Axy,Bxy) is the combine operation, and Axy and Bxy are the inputs to the operation.

If `fragmentShadingRateStrictMultiplyCombiner` is `VK_FALSE`, using `VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR` with values of 1 for both A and B in the same dimension results in the value 2 being produced for that dimension. See the definition of `fragmentShadingRateStrictMultiplyCombiner` for more information.

These operations are performed in a component-wise fashion.

## See Also

VK_KHR_fragment_shading_rate, VkPipelineFragmentShadingRateEnumStateCreateInfoNV, VkPipelineFragmentShadingRateStateCreateInfoKHR, vkCmdSetFragmentShadingRateEnumNV, vkCmdSetFragmentShadingRateKHR

## Document Notes

For more information, see the Vulkan Specification

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

## Copyright

Copyright 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0