# VkRayTracingPipelineInterfaceCreateInfoKHR(3) Manual Page

## Name

VkRayTracingPipelineInterfaceCreateInfoKHR - Structure specifying additional interface information when using libraries

## C Specification

The `VkRayTracingPipelineInterfaceCreateInfoKHR` structure is defined as:

    typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
        VkStructureType    sType;
        const void*        pNext;
        uint32_t           maxPayloadSize;
        uint32_t           maxAttributeSize;
        uint32_t           maxCallableSize;
    } VkRayTracingPipelineInterfaceCreateInfoKHR;

## Members

- `sType` is the type of this structure.

- `pNext` is `NULL` or a pointer to an extension-specific structure.

- `maxPayloadSize` is the maximum payload size in bytes used by any shader in the pipeline.

- `maxAttributeSize` is the maximum attribute structure size in bytes used by any shader in the pipeline.

- `maxCallableSize` is the maximum callable data size in bytes used by any shader in the pipeline.

## Description

`maxPayloadSize` is calculated as the maximum number of bytes used by any block declared in the `RayPayloadKHR` or `IncomingRayPayloadKHR` storage classes. `maxAttributeSize` is calculated as the maximum number of bytes used by any block declared in the `HitAttributeKHR` storage class. `maxCallableSize` is calculated as the maximum number of bytes used by any block declred in the `CallableDataKHR` or `IncomingCallableDataKHR`. As variables in these storage classes do not have explicit offsets, the size should be calculated as if each variable has a scalar alignment equal to the largest scalar alignment of any of the block’s members.

Valid Usage (Implicit)

- `sType` must be `VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR`

- `pNext` must be `NULL`

## See Also

VkRayTracingPipelineCreateInfoKHR, VkStructureType

## 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 (c) 2014-2020 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.