Libraries.Game.Graphics.Vulkan.VulkanConstants Documentation

Inherits from: Libraries.Language.Object

Variables Table

VariablesDescription
integer FORMAT_R16G16B16_UINT
integer DESCRIPTOR_BINDING_PARTIALLY_BOUND_BITThis value indicates that a descriptor pool will be used to manage descriptors that can be updated after their set has been bound.
integer FORMAT_R32G32B32A32_SFLOAT
integer FORMAT_S8_UINT
integer BUFFER_USAGE_INDEX_BUFFER_BIT
integer FORMAT_R16G16B16_UNORM
integer MEMORY_USAGE_AUTO
integer DESCRIPTOR_TYPE_STORAGE_BUFFER
integer DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITThis value indicates that a descriptor set can accept bindings that will be updated after the set has been bound.
integer FORMAT_B4G4R4A4_UNORM_PACK16
integer COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BITThese values indicate how a chunk of memory will be used. These can be used for the "memoryUsage" parameter for creating a VulkanBuffer. For most purposes, MEMORY_USAGE_AUTO will give best results when combined with an appropriate "bufferUsage" value.
integer ALLOCATION_CREATE_CAN_ALIAS_BIT
integer BUFFER_USAGE_VIDEO_ENCODE_DESTINATION_BIT_KHR
integer SHADER_STAGE_ALLThese constants are used to indicate the "level" of a command buffer. Buffers can be either primary or secondary buffers. According to the Vulkan documentation, primary command buffers can execute secondary command buffers and are submitted to queues, while secondary command buffers can be executed by primary command buffers and are not directly submitted to queues.
integer IMAGE_USAGE_VIDEO_ENCODE_SOURCE_BIT_KHR
integer FORMAT_X8_D24_UNORM_PACK32
integer IMAGE_TYPE_3DImage tiling values, used during image creation. IMAGE_TILING_OPTIMAL is suitable for most cases.
integer BUFFER_USAGE_VIDEO_ENCODE_SOURCE_BIT_KHR
integer FORMAT_R8_SRGB
integer FORMAT_R4G4B4A4_UNORM_PACK16
integer FORMAT_E5B9G9R9_UFLOAT_PACK32
integer BUFFER_USAGE_INDIRECT_BUFFER_BIT
integer VULKAN_ENGINE_VERSIONValidation layer names. A platform might support some of these layers. If it does, it can use them for validation and error checking.
integer BORDER_COLOR_FLOAT_OPAQUE_WHITE
integer SHARING_MODE_CONCURRENTThe FIFO (or First In, First Out) presentation mode will present the next available image when the monitor refreshes. This is the only mode required to be supported by hardware according to the Vulkan spec. Because it aligns with the refresh rate of the monitor, the FIFO mode implies the use of vSync. Note that if the queue of images is full, the application will block!
integer API_VERSION_1_0_0Constants representing common target Vulkan API versions. For other possible versions, see VulkanUtilities "ConvertToAPIVersionID" action.
text DESCRIPTOR_INDEXING_EXTENSIONAn extension for devices. Used to allow for more dynamic indexing of descriptors.
integer COMPARE_OP_LESS
integer SHADER_STAGE_VERTEX_BITConstants representing Shader stages. These are different the shader type values in the ShaderConstants, but they can be converted to and from using VulkanUtilities' "ShaderTypeToVulkanShaderStage" and "VulkanShaderStageToShaderType" actions.
integer BUFFER_USAGE_VIDEO_DECODE_DESTINATION_BIT_KHR
text LUNARG_OBJECT_TRACKER_VALIDATION_LAYER
integer FORMAT_R16G16B16_SNORM
integer ERROR_FRAGMENTED_POOLImage types, used to indicate how many dimensions a VulkanImage has. IMAGE_TYPE_2D is suitable for most cases.
text GOOGLE_THREADING_VALIDATION_LAYER
integer FORMAT_B8G8R8_USCALED
integer FORMAT_R5G5B5A1_UNORM_PACK16
integer FORMAT_R16_SSCALED
integer QUEUE_PROTECTED_BIT
integer FORMAT_R16G16_SINT
integer ALLOCATION_CREATE_STRATEGY_BEST_FIT_BITThese constants indicate how VulkanBuffers are intended to be used. These can be combined with BitwiseOperations and sent as the "usageFlags" parameter when using VulkanBuffer's Create action.
integer PIPELINE_STAGE_ALL_COMMANDS_BITBitmask constants for access masks. Used for subpass dependencies, barriers, and broadly for identifying what elements can be accessed at certain times.
integer ACCESS_HOST_READ_BIT
integer FORMAT_R4G4_UNORM_PACK8
integer FORMAT_ASTC_10x10_UNORM_BLOCK
integer PIPELINE_STAGE_ALL_GRAPHICS_BIT
integer ACCESS_MEMORY_READ_BIT
integer FORMAT_R16G16B16_SFLOAT
integer API_VERSION_1_3_0
integer FORMAT_R64G64_SFLOAT
integer BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT
integer IMAGE_TYPE_2D
integer IMAGE_ASPECT_DEPTH_BITBitmask values used to indicate which aspects of an image are being accessed as part of an ImageView.
integer FORMAT_R16G16B16A16_SSCALED
integer FORMAT_R64_SFLOAT
integer IMAGE_LAYOUT_GENERAL
text LUNARG_CORE_VALIDATION_LAYER
integer ACCESS_SHADER_READ_BIT
integer PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT
text BUFFER_DEVICE_ADDRESS_EXTENSIONAn extension for devices. Used to enable buffer device addresses (BDA), allowing buffers to be accessed via pointer in shaders.
integer FORMAT_D32_SFLOAT_S8_UINT
integer BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHRConstants used to describe how Vulkan Images will be used. These are bit flags, so they can be combined in a bitmask.
integer IMAGE_USAGE_INPUT_ATTACHMENT_BIT
integer FORMAT_R8_SSCALED
integer ALLOCATION_CREATE_WITHIN_BUDGET_BIT
integer BLEND_FACTOR_ZEROConstants used for blending, which describe how colors are mixed together (e.g., for transparency).
integer BLEND_FACTOR_SOURCE_ALPHA
integer IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
integer FORMAT_A8B8G8R8_UNORM_PACK32
integer SAMPLER_MIPMAP_MODE_NEARESTMipmap modes, used by image samplers to specify how texture lookups should be performed for mipmapped textures.
integer FORMAT_R16G16_USCALED
integer COMPARE_OP_GREATER
integer SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
integer ALLOCATION_CREATE_DONT_BIND_BIT
integer FORMAT_ASTC_8x8_SRGB_BLOCK
integer BLEND_FACTOR_ONE_MINUS_SOURCE1_COLOR
integer SHADER_STAGE_ALL_GRAPHICS
integer FORMAT_ASTC_10x10_SRGB_BLOCK
integer SHADER_STAGE_COMPUTE_BIT
integer FORMAT_ASTC_10x6_SRGB_BLOCK
integer IMAGE_LAYOUT_TRANSFER_SOURCE_OPTIMAL
integer SAMPLER_ADDRESS_MODE_REPEATAddress modes, or wrap modes, dictate how an image sampler should act when asked to lookup a texture outside of its defined coordinates.
integer DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BITThese flags are used to indicate special behavior for DescriptorSetLayoutBindings via the bindingFlag value. The last value, DESCRIPTOR_BINDING_DYNAMIC, is an extra flag added here to conveniently include the other four options together (it is not a value present in the original Vulkan spec).
integer ALLOCATION_CREATE_DEDICATED_MEMORY_BITConstants used by the Vulkan Memory Allocator and by the VulkanBuffer classes to describe how to allocate memory. These can be used for the "allocationFlags" parameter for creating a VulkanBuffer, and can be combined with the "Or" action in BitwiseOperations.
integer BUFFER_USAGE_UNIFORM_BUFFER_BIT
integer COMPARE_OP_EQUAL
integer ATTACHMENT_STORE_OP_DONT_CARE
integer BUFFER_USAGE_TRANSFER_DESTINATION_BIT
integer PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT
integer PIPELINE_STAGE_DRAW_INDIRECT_BITBitmask constants for pipeline stages. Used in subpass dependencies and barriers to indicate what stages work begins and finishes in.
integer QUEUE_VIDEO_DECODE_BIT
integer FORMAT_R8G8B8A8_SRGB
integer INDEX_TYPE_UINT16Data types for index buffers. Used with the BindIndexBufferCommand class.
integer FORMAT_B8G8R8_UNORM
integer ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT
integer QUEUE_OPTICAL_FLOW_BITAn extension for devices and physical devices. Used to take graphics rendered to a swapchain and display them on the screen.
integer FORMAT_B8G8R8A8_UNORM
integer ERROR_OUT_OF_POOL_MEMORY
integer POLYGON_MODE_FILLConstants for the Polygon Mode value of VulkanPipelineInfo. These describe how polygons should be filled in, sketched, or otherwise rendered.
integer SAMPLE_COUNT_4_BITFlags used during the creation of Command Pools.
integer QUEUE_FAMILY_IGNOREDThis value indicates that the queue family is not used for an operation. Used in VulkanImageMemoryBarrier, among other possible places.
integer VERTEX_INPUT_RATE_VERTEXConstants used for the Input Rate value of VulkanVertexInputBindingDescription. These indicate that values are provided either per-vertex or per-instance while using a particular Pipeline.
integer IMAGE_USAGE_VIDEO_DECODE_SOURCE_BIT_KHR
integer FORMAT_R16G16_SFLOAT
integer FORMAT_R8G8B8A8_UNORM
integer FORMAT_R64G64B64_SFLOAT
integer COLOR_COMPONENT_G_BIT
integer FORMAT_A8B8G8R8_SINT_PACK32
integer ATTACHMENT_STORE_OP_STOREConstants for load and store operations for attachments. Load operations indicate what operations, if any, should be performed on the data in an attachment when it's loaded (i.e. first time using the attachment during a pass). Store operations indicate what operations should be done on the data once the pass is finished with the attachment.
integer FORMAT_R32G32_UINT
integer ALLOCATION_CREATE_RESERVED_2_BIT
integer FORMAT_ASTC_12x12_SRGB_BLOCKConstants for the color space, which describes the format the monitor expects colors in. This primarily comes in the form of SRGB or UNORM values. "UNORM" is normalized linear color space. Setting the value as UNORM means no transformation will be done. Monitors almost exclusively work in the SRGB color space, though. This boils down to a concept known as "Gamma Correction." Using UNORM will typically result in aberrantly bright, uncorrected colors, so for most display applications, SRGB space is preferred.
integer IMAGE_ASPECT_STENCIL_BITComposite alpha values for the Swapchain dictate how transparency is calculated for the window. This does NOT impact transparency calculated inside the application, e.g. a sprite with transparency drawn on top of another sprite. Instead, a composite alpha value can be used to show things behind the window. For most applications, using the OPAQUE value is best, because it is the fastest option and we don't usually want to show the content behind the window.
integer PIPELINE_STAGE_COMPUTE_SHADER_BIT
integer IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
integer BLEND_FACTOR_DESTINATION_COLOR
integer FORMAT_A8B8G8R8_USCALED_PACK32
integer FORMAT_R8G8B8_UINT
integer PRESENT_MODE_IMMEDIATEThe Immediate presentation mode will display each image as soon as it's ready. This doesn't match the monitor refresh rate, so this can cause screen tearing. This mode implies vSync is off.
integer DESCRIPTOR_BINDING_DYNAMICConstants used for blending, which describe how colors are mixed together (e.g., for transparency).
integer SHADER_STAGE_GEOMETRY_BIT
integer FORMAT_ASTC_6x6_SRGB_BLOCK
integer FORMAT_R32G32B32_SINT
integer FORMAT_B8G8R8A8_SINT
integer FORMAT_R16_SNORM
integer SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER
integer FORMAT_R32G32B32_UINT
integer CULL_MODE_NONEConstants used for the Cull Mode value of VulkanPipelineInfo. These describe which polygons are culled during rendering based on their orientation, or in other words, which side(s) of a rendered model should be ignored.
integer FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK
integer FORMAT_R8G8_UINT
integer BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT
integer DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
integer FORMAT_R64G64B64A64_SFLOAT
integer FORMAT_A8B8G8R8_UINT_PACK32
integer MEMORY_USAGE_GPU_LAZILY_ALLOCATED
integer COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BITValues indicating how a command buffer will be used.
text MAC_PORTABILITY_SUBSET_EXTENSIONFlag bit values for defining the features of queue families. Needed while creating a physical device (to check which features it supports).
integer IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL
integer PRIMITIVE_TOPOLOGY_LINE_STRIP
integer PIPELINE_BIND_POINT_COMPUTEA constant value indicating that part of a subpass occurs outside of the regular Vulkan pipeline, such as work with the swapchain (because presentation occurs outside of the regular pipeline).
integer IMAGE_LAYOUT_PREINITIALIZED
integer PIPELINE_STAGE_FRAGMENT_SHADER_BIT
integer COLOR_SPACE_SRGB_NONLINEARConstants for the color space, which describes the format the monitor expects colors in. This primarily comes in the form of SRGB or UNORM values. "UNORM" is normalized linear color space. Setting the value as UNORM means no transformation will be done. Monitors almost exclusively work in the SRGB color space, though. This boils down to a concept known as "Gamma Correction." Using UNORM will typically result in aberrantly bright, uncorrected colors, so for most display applications, SRGB space is preferred.
text VULKAN_ENGINE_NAMEThese can be used to identify what engine is implementing Vulkan for hardware providers, such as driver manufacturers, if they choose to check.
integer PIPELINE_BIND_POINT_GRAPHICSConstants used to bind to pipeline stages.
integer MEMORY_PROPERTY_HOST_CACHED_BIT
integer API_VERSION_1_1_0
integer ACCESS_UNIFORM_READ_BIT
integer SAMPLER_ADDRESS_MODE_MIRRORED_REPEATFilter values used by image samplers, defining how values are retrieved while performing texture lookups. Impacts how textures are sampled when they're rendered to the screen bigger or smaller than the original texture.
integer FORMAT_ASTC_8x5_UNORM_BLOCK
integer IMAGE_VIEW_TYPE_2DType values for defining the structure and use of Images.
text GOOGLE_UNIQUE_OBJECTS_VALIDATION_LAYERExtension names. Used during the creation of VulkanInstances.
integer FORMAT_BC4_UNORM_BLOCK
integer ALLOCATION_CREATE_NEVER_ALLOCATE_BIT
integer MEMORY_PROPERTY_HOST_COHERENT_BIT
integer FORMAT_R8G8_UNORM
integer BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX
integer ALLOCATION_CREATE_UPPER_ADDRESS_BIT
integer BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA
integer SUBPASS_EXTERNALA constant value indicating that part of a subpass occurs outside of the regular Vulkan pipeline, such as work with the swapchain (because presentation occurs outside of the regular pipeline).
integer FORMAT_A8B8G8R8_SRGB_PACK32
integer FORMAT_B8G8R8A8_SSCALED
integer BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT
integer CULL_MODE_FRONT_AND_BACKConstants used for the Front Face value of VulkanPipelineInfo. These are used to determine which way a polygon is facing, based on the order of the provided vertices, and which way they rotate about their center point.
integer BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT
integer IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
integer BLEND_OP_SUBTRACT
integer COLOR_COMPONENT_B_BIT
integer FORMAT_R32_SFLOAT
integer FORMAT_R8_SINT
integer DYNAMIC_STATE_VIEWPORTData types for index buffers. Used with the BindIndexBufferCommand class.
integer FORMAT_R8G8_SINT
integer FORMAT_ASTC_5x5_SRGB_BLOCK
integer FORMAT_R8G8_SSCALED
integer COMMAND_BUFFER_LEVEL_PRIMARYThese constants are used to indicate the "level" of a command buffer. Buffers can be either primary or secondary buffers. According to the Vulkan documentation, primary command buffers can execute secondary command buffers and are submitted to queues, while secondary command buffers can be executed by primary command buffers and are not directly submitted to queues.
integer FORMAT_R16G16B16_SSCALED
number LOD_CLAMP_NONEA special value used in VulkanSamplerInfo for the "maxLod" property, indicating that maximum LoD clamping should not be performed.
integer FORMAT_R64G64_UINT
integer DESCRIPTOR_TYPE_UNIFORM_BUFFER
integer FORMAT_R8G8B8A8_USCALED
integer IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR
integer BLEND_FACTOR_DESTINATION_ALPHA
integer DYNAMIC_STATE_SCISSORThese constants represent dynamic states that can be enabled in VulkanPipelines. Use these in the "dynamicStates" Array of VulkanPipelineInfo.
integer SHARING_MODE_EXCLUSIVEConstants used to describe whether or not resources can be accessed simultaneously by multiple queue families or swapchains.
integer BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT
integer FORMAT_ASTC_5x4_SRGB_BLOCK
integer FORMAT_R32G32B32A32_SINT
integer MEMORY_PROPERTY_DEVICE_LOCAL_BITMemory property bits, used when allocating memory (e.g. for VulkanBuffers). These can be used for the "requiredMemoryFlags" and "preferredMemoryFlags" parameters for creating a VulkanBuffer, and they can be combined with the "Or" action in BitwiseOperations.
integer ACCESS_INPUT_ATTACHMENT_READ_BIT
integer COMPARE_OP_ALWAYSA special value used in VulkanSamplerInfo for the "maxLod" property, indicating that maximum LoD clamping should not be performed.
integer FORMAT_ASTC_12x10_SRGB_BLOCK
integer FORMAT_A8B8G8R8_SNORM_PACK32
text SWAPCHAIN_EXTENSIONAn extension for devices and physical devices. Used to take graphics rendered to a swapchain and display them on the screen.
integer PIPELINE_STAGE_VERTEX_SHADER_BIT
integer PHYSICAL_DEVICE_TYPE_OTHERConstants representing types of physical devices.
integer BUFFER_USAGE_RAY_TRACING_BIT_NV
integer FORMAT_ETC2_R8G8B8_UNORM_BLOCK
integer FORMAT_A2R10G10B10_SINT_PACK32
integer FORMAT_R8_UINT
integer FORMAT_BC3_SRGB_BLOCK
integer FORMAT_R5G6B5_UNORM_PACK16
integer FORMAT_B8G8R8A8_UINT
integer FORMAT_BC5_SNORM_BLOCK
integer PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT
integer ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT
integer BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT
integer BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT
integer FORMAT_R8G8B8A8_SNORM
integer IMAGE_USAGE_STORAGE_BIT
integer ALLOCATION_CREATE_HOST_ACCESS_ALLOW_TRANSFER_INSTEAD_BIT
integer FORMAT_R8_SNORM
integer PRESENT_MODE_FIFO_RELAXEDThe FIFO Relaxed mode is an adjustment to the FIFO mode. Like FIFO, this mode stores images in a queue, which are presented during monitor refreshes. However, if a monitor refresh occurs and there's no available image, then the next image will be presented as soon as it becomes available. Essentially, this mode is FIFO that will try to play catch-up if it's needed -- FIFO if rendering is fast, and IMMEDIATE if it's slow.
integer FORMAT_BC5_UNORM_BLOCK
integer ATTACHMENT_LOAD_OP_CLEAR
integer IMAGE_LAYOUT_UNDEFINEDConstants representing image layouts. These describe the format of stored image data.
integer FORMAT_A2R10G10B10_SSCALED_PACK32
integer SHADER_STAGE_TESSELLATION_CONTROL_BIT
text LUNARG_PARAMETER_VALIDATION_LAYER
integer BLEND_FACTOR_ONE_MINUS_DESTINATION_ALPHA
integer SAMPLE_COUNT_16_BITThe Mailbox presentation mode is similar to FIFO in that it displays images during monitor refreshes, but unlike FIFO it will only queue 1 image at a time. If an image is already queued when a new one comes in, it'll overwrite the previous image in the queue, and no blocking occurs. This means Mailbox can provide vSync-like effects (display on monitor refresh and no screen tearing), but we don't have to block if the GPU is working faster than the display.
integer MEMORY_PROPERTY_PROTECTED_BIT
integer FORMAT_B5G5R5A1_UNORM_PACK16
integer COMMAND_BUFFER_LEVEL_SECONDARYValues indicating how a command buffer will be used.
integer PHYSICAL_DEVICE_TYPE_VIRTUAL_GPUAn extension for devices. Used to allow for more dynamic indexing of descriptors.
integer IMAGE_USAGE_HOST_TRANSFER_BIT
integer FORMAT_BC7_SRGB_BLOCK
integer POLYGON_MODE_POINT
integer IMAGE_LAYOUT_TRANSFER_DESTINATION_OPTIMAL
integer SHADER_STAGE_FRAGMENT_BIT
integer BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR
integer BLEND_OP_MIN
integer PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT
integer FORMAT_B8G8R8_SSCALED
integer IMAGE_ASPECT_COLOR_BITBitmask values used to indicate which aspects of an image are being accessed as part of an ImageView.
integer BORDER_COLOR_FLOAT_TRANSPARENT_BLACKValues used by VulkanSamplerInfo's "borderColor" property. Used in conjunction with "SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER" wrap mode to provide a default color when sampling outside of the texture's defined bounds.
text KHRONOS_VALIDATION_LAYERValidation layer names. A platform might support some of these layers. If it does, it can use them for validation and error checking.
integer PIPELINE_STAGE_VERTEX_INPUT_BIT
integer PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT
integer PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY
integer ACCESS_SHADER_WRITE_BIT
integer COMPARE_OP_NEVERComparison operators are used by depth, stencil, and sampler operations to compare values. The exact results depend on what context the operations are being used in.
integer FORMAT_R64G64B64_UINT
integer COLOR_COMPONENT_R_BITConstants for color components.
integer COMPARE_OP_GREATER_OR_EQUAL
integer FORMAT_R8G8B8A8_SSCALED
integer FORMAT_ASTC_8x8_UNORM_BLOCK
integer PIPELINE_STAGE_TOP_OF_PIPE_BITBitmask constants for pipeline stages. Used in subpass dependencies and barriers to indicate what stages work begins and finishes in.
integer FORMAT_R8G8_SNORM
integer FORMAT_R8G8B8_UNORM
integer QUEUE_TRANSFER_BIT
integer PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY
integer FORMAT_R8G8B8_SSCALED
integer FORMAT_R16G16_SSCALED
integer FORMAT_R32_SINT
integer IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL
integer BORDER_COLOR_INT_TRANSPARENT_BLACKValues used by VulkanSamplerInfo's "borderColor" property. Used in conjunction with "SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER" wrap mode to provide a default color when sampling outside of the texture's defined bounds.
integer FORMAT_R32G32_SFLOAT
integer MEMORY_USAGE_UNKNOWNThese values indicate how a chunk of memory will be used. These can be used for the "memoryUsage" parameter for creating a VulkanBuffer. For most purposes, MEMORY_USAGE_AUTO will give best results when combined with an appropriate "bufferUsage" value.
integer FORMAT_R64G64B64A64_SINT
integer COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BITFlags used during the creation of Command Pools.
integer FORMAT_ASTC_6x5_SRGB_BLOCK
integer BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT
integer FORMAT_R32_UINT
integer BORDER_COLOR_INT_OPAQUE_WHITEThis value indicates that a descriptor set can accept bindings that will be updated after the set has been bound.
integer DESCRIPTOR_TYPE_SAMPLERData types for descriptors. Used to access data from shaders for things like uniforms.
integer BUFFER_USAGE_VERTEX_BUFFER_BIT
integer CULL_MODE_FRONT_BIT
integer FORMAT_A1R5G5B5_UNORM_PACK16
integer SUBOPTIMAL
integer FORMAT_BC1_RGBA_SRGB_BLOCK
integer FORMAT_R16G16B16A16_USCALED
integer FORMAT_R16_SFLOAT
integer FORMAT_ASTC_10x5_SRGB_BLOCK
integer FORMAT_ASTC_8x6_UNORM_BLOCK
integer FORMAT_A2B10G10R10_SNORM_PACK32
integer FORMAT_R8G8B8_USCALED
integer FORMAT_R16G16B16_SINT
integer API_VERSION_1_4_0
integer FORMAT_B8G8R8_SRGB
integer ATTACHMENT_LOAD_OP_LOAD
integer COLOR_COMPONENT_A_BITConstants representing Shader stages. These are different the shader type values in the ShaderConstants, but they can be converted to and from using VulkanUtilities' "ShaderTypeToVulkanShaderStage" and "VulkanShaderStageToShaderType" actions.
integer IMAGE_USAGE_VIDEO_ENCODE_DESTINATION_BIT_KHR
integer FORMAT_R64G64B64A64_UINT
integer SAMPLE_COUNT_1_BITSampling flags, used when defining color attachments, and also used for the Rasterization Sampling value of VulkanPipelineInfo. 1 bit of sampling is the most direct and simple way to sample color. Multiple bits are used for multisampling, which is typically used to perform anti-aliasing.
integer PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP
integer FORMAT_A2R10G10B10_UINT_PACK32
integer BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT
integer FRONT_FACE_CLOCKWISEConstants for color components.
integer FORMAT_EAC_R11G11_UNORM_BLOCK
integer FORMAT_ASTC_12x12_UNORM_BLOCK
integer BLEND_FACTOR_ONE_MINUS_SOURCE_COLOR
integer FORMAT_R8G8_SRGB
integer FORMAT_ASTC_12x10_UNORM_BLOCK
integer ALLOCATION_CREATE_MAPPED_BIT
integer FILTER_LINEARMipmap modes, used by image samplers to specify how texture lookups should be performed for mipmapped textures.
integer FORMAT_R8G8B8_SNORM
integer COMPARE_OP_NOT_EQUAL
integer IMAGE_TILING_OPTIMALImage tiling values, used during image creation. IMAGE_TILING_OPTIMAL is suitable for most cases.
integer FORMAT_R16_UNORM
integer FRONT_FACE_COUNTER_CLOCKWISEConstants used for the Front Face value of VulkanPipelineInfo. These are used to determine which way a polygon is facing, based on the order of the provided vertices, and which way they rotate about their center point.
integer DEFAULT_API_VERSIONThese can be used to identify what engine is implementing Vulkan for hardware providers, such as driver manufacturers, if they choose to check.
integer INDEX_TYPE_UINT32Data types for descriptors. Used to access data from shaders for things like uniforms.
integer FORMAT_ASTC_5x5_UNORM_BLOCK
integer FORMAT_A2B10G10R10_UNORM_PACK32
integer BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR
integer FORMAT_BC4_SNORM_BLOCK
integer FORMAT_R8G8B8_SINT
integer FORMAT_D24_UNORM_S8_UINT
integer FILTER_NEARESTFilter values used by image samplers, defining how values are retrieved while performing texture lookups. Impacts how textures are sampled when they're rendered to the screen bigger or smaller than the original texture.
integer PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY
integer QUEUE_VIDEO_ENCODE_BIT
integer ACCESS_COLOR_ATTACHMENT_READ_BIT
integer PHYSICAL_DEVICE_TYPE_DISCRETE_GPUAn extension for devices. Used to enable buffer device addresses (BDA), allowing buffers to be accessed via pointer in shaders.
integer FORMAT_R16G16B16A16_SINT
integer PRIMITIVE_TOPOLOGY_LINE_LIST
integer FORMAT_ASTC_4x4_UNORM_BLOCK
integer BLEND_FACTOR_SOURCE_COLOR
integer IMAGE_USAGE_TRANSFER_SOURCE_BITConstants used to describe how Vulkan Images will be used. These are bit flags, so they can be combined in a bitmask.
integer ATTACHMENT_LOAD_OP_DONT_CAREConstants representing image layouts. These describe the format of stored image data.
integer BLEND_FACTOR_SOURCE1_COLOR
integer IMAGE_ASPECT_METADATA_BITType values for defining the structure and use of Images.
integer FORMAT_R8G8B8A8_SINT
integer FORMAT_BC1_RGB_SRGB_BLOCK
integer ALLOCATION_CREATE_RESERVED_1_BIT
integer FORMAT_BC1_RGBA_UNORM_BLOCK
integer SAMPLE_COUNT_64_BITConstants for load and store operations for attachments. Load operations indicate what operations, if any, should be performed on the data in an attachment when it's loaded (i.e. first time using the attachment during a pass). Store operations indicate what operations should be done on the data once the pass is finished with the attachment.
integer FORMAT_D16_UNORM
integer PRIMITIVE_TOPOLOGY_POINT_LISTConstants for the Topology value of VulkanPipelineInfo. These represent different ways for vertices to be combined together into geometry.
integer QUEUE_GRAPHICS_BITFlag bit values for defining the features of queue families. Needed while creating a physical device (to check which features it supports).
integer BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT
integer MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NVConstants used by the Vulkan Memory Allocator and by the VulkanBuffer classes to describe how to allocate memory. These can be used for the "allocationFlags" parameter for creating a VulkanBuffer, and can be combined with the "Or" action in BitwiseOperations.
integer FORMAT_ASTC_10x8_UNORM_BLOCK
integer FORMAT_B8G8R8_UINT
integer PIPELINE_STAGE_HOST_BIT
integer FORMAT_EAC_R11_SNORM_BLOCK
integer FORMAT_R16_SINT
integer FORMAT_A2B10G10R10_SINT_PACK32
integer IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT
integer FORMAT_R16G16_UNORM
integer POLYGON_MODE_FILL_RECTANGLE_NVConstants used for the Cull Mode value of VulkanPipelineInfo. These describe which polygons are culled during rendering based on their orientation, or in other words, which side(s) of a rendered model should be ignored.
integer FORMAT_A2B10G10R10_SSCALED_PACK32
integer FORMAT_R64_UINT
integer BLEND_FACTOR_ONE
integer FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK
integer BLEND_OP_ADD
integer MEMORY_PROPERTY_HOST_VISIBLE_BIT
integer IMAGE_LAYOUT_PRESENT_SOURCEConstants used to bind to pipeline stages.
integer COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT
integer FORMAT_ASTC_6x5_UNORM_BLOCK
integer FORMAT_D16_UNORM_S8_UINT
integer SAMPLE_COUNT_8_BITThe FIFO Relaxed mode is an adjustment to the FIFO mode. Like FIFO, this mode stores images in a queue, which are presented during monitor refreshes. However, if a monitor refresh occurs and there's no available image, then the next image will be presented as soon as it becomes available. Essentially, this mode is FIFO that will try to play catch-up if it's needed -- FIFO if rendering is fast, and IMMEDIATE if it's slow.
integer PRIMITIVE_TOPOLOGY_PATCH_LISTConstants for the Polygon Mode value of VulkanPipelineInfo. These describe how polygons should be filled in, sketched, or otherwise rendered.
integer ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT
integer FORMAT_BC2_UNORM_BLOCK
integer FORMAT_A2B10G10R10_USCALED_PACK32
text LUNARG_STANDARD_VALIDATION_LAYER
integer FORMAT_R32G32B32_SFLOAT
integer MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD
integer SHADER_STAGE_TESSELLATION_EVALUATION_BIT
integer DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT
integer FORMAT_ASTC_10x6_UNORM_BLOCK
integer DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BITThese flags are used to indicate special behavior for DescriptorSetLayoutBindings via the bindingFlag value. The last value, DESCRIPTOR_BINDING_DYNAMIC, is an extra flag added here to conveniently include the other four options together (it is not a value present in the original Vulkan spec).
integer ALLOCATION_CREATE_STRATEGY_MINIMUM_MEMORY_BIT
integer DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC
integer FORMAT_R16_UINT
integer FORMAT_ASTC_10x5_UNORM_BLOCK
integer BLEND_FACTOR_ONE_MINUS_SOURCE_ALPHA
integer FORMAT_A2B10G10R10_UINT_PACK32
integer FORMAT_BC6H_SFLOAT_BLOCK
integer FORMAT_R16G16B16A16_SFLOAT
integer BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT
integer FORMAT_B5G6R5_UNORM_PACK16
integer FORMAT_R8G8_USCALED
integer FORMAT_A2R10G10B10_USCALED_PACK32
integer FORMAT_D32_SFLOAT
integer BLEND_FACTOR_CONSTANT_COLOR
integer IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT
integer FORMAT_B8G8R8A8_SRGB
integer BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT
integer FORMAT_A8B8G8R8_SSCALED_PACK32
integer SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGEComparison operators are used by depth, stencil, and sampler operations to compare values. The exact results depend on what context the operations are being used in.
integer BLEND_FACTOR_CONSTANT_ALPHA
integer FORMAT_EAC_R11G11_SNORM_BLOCK
integer FORMAT_R8_UNORM
integer FORMAT_UNDEFINEDData formats. Used for representing colors, inputs, attachments, and during Swapchain creation, among other things.
integer COMPARE_OP_LESS_OR_EQUAL
integer BLEND_FACTOR_SOURCE1_ALPHA
integer BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR
integer FORMAT_A2R10G10B10_UNORM_PACK32
integer ACCESS_COLOR_ATTACHMENT_WRITE_BIT
integer BUFFER_USAGE_VIDEO_DECODE_SOURCE_BIT_KHR
integer FORMAT_R64G64_SINT
integer MEMORY_USAGE_AUTO_PREFER_HOSTMemory property bits, used when allocating memory (e.g. for VulkanBuffers). These can be used for the "requiredMemoryFlags" and "preferredMemoryFlags" parameters for creating a VulkanBuffer, and they can be combined with the "Or" action in BitwiseOperations.
integer QUEUE_COMPUTE_BIT
integer BLEND_FACTOR_ONE_MINUS_DESTINATION_COLOR
integer SUBPASS_CONTENTS_INLINEThese constants represent how commands will be submitted to a VulkanCommandBuffer during a render pass.
text DEBUG_UTILITIES_EXTENSIONExtension names. Used during the creation of VulkanInstances.
integer DESCRIPTOR_TYPE_SAMPLED_IMAGE
integer FORMAT_B10G11R11_UFLOAT_PACK32
integer IMAGE_USAGE_SAMPLED_BIT
integer ACCESS_INDEX_READ_BIT
integer FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK
integer ACCESS_VERTEX_ATTRIBUTE_READ_BIT
integer FORMAT_R16G16B16A16_UNORM
integer FORMAT_R8G8B8_SRGB
integer ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT
integer FORMAT_R16G16B16_USCALED
integer BORDER_COLOR_FLOAT_OPAQUE_BLACK
integer SAMPLER_MIPMAP_MODE_LINEARAddress modes, or wrap modes, dictate how an image sampler should act when asked to lookup a texture outside of its defined coordinates.
integer FORMAT_ASTC_6x6_UNORM_BLOCK
integer FORMAT_ASTC_10x8_SRGB_BLOCK
integer IMAGE_USAGE_VIDEO_DECODE_DESTINATION_BIT_KHR
integer IMAGE_USAGE_COLOR_ATTACHMENT_BIT
integer BUFFER_USAGE_STORAGE_BUFFER_BIT
integer BLEND_OP_REVERSE_SUBTRACT
integer FORMAT_R32G32_SINT
integer IMAGE_USAGE_TRANSFER_DESTINATION_BIT
integer PRESENT_MODE_FIFOThe FIFO (or First In, First Out) presentation mode will present the next available image when the monitor refreshes. This is the only mode required to be supported by hardware according to the Vulkan spec. Because it aligns with the refresh rate of the monitor, the FIFO mode implies the use of vSync. Note that if the queue of images is full, the application will block!
integer FORMAT_ASTC_8x6_SRGB_BLOCK
integer IMAGE_TYPE_1DImage types, used to indicate how many dimensions a VulkanImage has. IMAGE_TYPE_2D is suitable for most cases.
integer PHYSICAL_DEVICE_TYPE_CPUData formats. Used for representing colors, inputs, attachments, and during Swapchain creation, among other things.
integer FORMAT_R16_USCALED
integer BORDER_COLOR_INT_OPAQUE_BLACK
integer BLEND_FACTOR_ONE_MINUS_SOURCE1_ALPHA
integer QUEUE_SPARSE_BINDING_BIT
integer PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT
integer PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY
integer DESCRIPTOR_TYPE_INPUT_ATTACHMENTVulkan error codes.
integer FORMAT_ETC2_R8G8B8_SRGB_BLOCK
integer FORMAT_R8G8B8A8_UINT
integer ALLOCATION_CREATE_STRATEGY_MINIMUM_TIME_BIT
integer PIPELINE_STAGE_TRANSFER_BIT
integer BUFFER_USAGE_TRANSFER_SOURCE_BITThese constants indicate how VulkanBuffers are intended to be used. These can be combined with BitwiseOperations and sent as the "usageFlags" parameter when using VulkanBuffer's Create action.
integer DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER
integer PRIMITIVE_TOPOLOGY_TRIANGLE_FAN
integer MEMORY_USAGE_AUTO_PREFER_DEVICE
integer DESCRIPTOR_TYPE_STORAGE_IMAGE
integer IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHRThese constants represent how commands will be submitted to a VulkanCommandBuffer during a render pass.
integer SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS
integer IMAGE_TILING_LINEARThis value indicates that the queue family is not used for an operation. Used in VulkanImageMemoryBarrier, among other possible places.
integer FORMAT_ASTC_8x5_SRGB_BLOCK
integer PRESENT_MODE_MAILBOXThe Mailbox presentation mode is similar to FIFO in that it displays images during monitor refreshes, but unlike FIFO it will only queue 1 image at a time. If an image is already queued when a new one comes in, it'll overwrite the previous image in the queue, and no blocking occurs. This means Mailbox can provide vSync-like effects (display on monitor refresh and no screen tearing), but we don't have to block if the GPU is working faster than the display.
integer COMPOSITE_ALPHA_OPAQUE_BITComposite alpha values for the Swapchain dictate how transparency is calculated for the window. This does NOT impact transparency calculated inside the application, e.g. a sprite with transparency drawn on top of another sprite. Instead, a composite alpha value can be used to show things behind the window. For most applications, using the OPAQUE value is best, because it is the fastest option and we don't usually want to show the content behind the window.
integer FORMAT_ASTC_5x4_UNORM_BLOCK
integer PRIMITIVE_TOPOLOGY_TRIANGLE_LIST
integer FORMAT_EAC_R11_UNORM_BLOCK
integer POLYGON_MODE_LINE
integer FORMAT_R16G16B16A16_SNORM
integer FORMAT_BC2_SRGB_BLOCK
integer SUCCESSVulkan error codes.
integer VERTEX_INPUT_RATE_INSTANCEConstants for the Topology value of VulkanPipelineInfo. These represent different ways for vertices to be combined together into geometry.
integer FORMAT_B8G8R8A8_USCALED
integer DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BITThis value indicates that a descriptor pool will be used to manage descriptors that can be updated after their set has been bound.
integer FORMAT_BC1_RGB_UNORM_BLOCK
integer IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL
integer ACCESS_TRANSFER_WRITE_BIT
integer BLEND_OP_MAX
integer DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER
integer FORMAT_ASTC_4x4_SRGB_BLOCK
integer FORMAT_BC7_UNORM_BLOCK
integer PHYSICAL_DEVICE_TYPE_INTEGRATED_GPUConstants representing types of physical devices.
integer ERROR_OUT_OF_DATE
integer MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT
integer FORMAT_B8G8R8A8_SNORM
integer FORMAT_BC6H_UFLOAT_BLOCK
integer ACCESS_MEMORY_WRITE_BITConstants used for the Input Rate value of VulkanVertexInputBindingDescription. These indicate that values are provided either per-vertex or per-instance while using a particular Pipeline.
integer SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERSThese constants represent dynamic states that can be enabled in VulkanPipelines. Use these in the "dynamicStates" Array of VulkanPipelineInfo.
integer BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR
integer ACCESS_TRANSFER_READ_BIT
integer FORMAT_R16G16_UINT
integer SAMPLE_COUNT_2_BITSampling flags, used when defining color attachments, and also used for the Rasterization Sampling value of VulkanPipelineInfo. 1 bit of sampling is the most direct and simple way to sample color. Multiple bits are used for multisampling, which is typically used to perform anti-aliasing.
integer API_VERSION_1_2_0
integer FORMAT_R8_USCALED
integer FORMAT_BC3_UNORM_BLOCK
integer ACCESS_INDIRECT_COMMAND_READ_BITBitmask constants for access masks. Used for subpass dependencies, barriers, and broadly for identifying what elements can be accessed at certain times.
integer SAMPLE_COUNT_32_BITThe Immediate presentation mode will display each image as soon as it's ready. This doesn't match the monitor refresh rate, so this can cause screen tearing. This mode implies vSync is off.
integer ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT
integer FORMAT_A2R10G10B10_SNORM_PACK32
integer BLEND_FACTOR_SRC_ALPHA_SATURATE
integer ACCESS_HOST_WRITE_BIT
integer FORMAT_R32G32B32A32_UINT
integer FORMAT_B8G8R8_SINT
integer CULL_MODE_BACK_BIT
integer FORMAT_R16G16_SNORM
integer FORMAT_R64G64B64_SINT
integer FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK
integer FORMAT_R16G16B16A16_UINT
integer FORMAT_B8G8R8_SNORM
integer MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD
text MAC_PORTABILITY_EXTENSION
integer DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
integer FORMAT_R64_SINT
integer PIPELINE_STAGE_GEOMETRY_SHADER_BIT
integer COLOR_SPACE_PASS_THROUGH_EXTConstants used to describe whether or not resources can be accessed simultaneously by multiple queue families or swapchains.

Actions Documentation

Compare(Libraries.Language.Object object)

This action compares two object hash codes and returns an integer. The result is larger if this hash code is larger than the object passed as a parameter, smaller, or equal. In this case, -1 means smaller, 0 means equal, and 1 means larger. This action was changed in Quorum 7 to return an integer, instead of a CompareResult object, because the previous implementation was causing efficiency issues.

Parameters

Return

integer: The Compare result, Smaller, Equal, or Larger.

Example

Object o
Object t
integer result = o:Compare(t) //1 (larger), 0 (equal), or -1 (smaller)

Equals(Libraries.Language.Object object)

This action determines if two objects are equal based on their hash code values.

Parameters

Return

boolean: True if the hash codes are equal and false if they are not equal.

Example

use Libraries.Language.Object
use Libraries.Language.Types.Text
Object o
Text t
boolean result = o:Equals(t)

GetHashCode()

This action gets the hash code for an object.

Return

integer: The integer hash code of the object.

Example

Object o
integer hash = o:GetHashCode()