vulkan-3.26: Bindings to the Vulkan graphics API.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Vulkan.Core10.Enums.Result

Synopsis

Documentation

newtype Result Source #

VkResult - Vulkan command return codes

Description

If a command returns a runtime error, unless otherwise specified any output parameters will have undefined contents, except that if the output parameter is a structure with sType and pNext fields, those fields will be unmodified. Any structures chained from pNext will also have undefined contents, except that sType and pNext will be unmodified.

VK_ERROR_OUT_OF_*_MEMORY errors do not modify any currently existing Vulkan objects. Objects that have already been successfully created can still be used by the application.

Note

As a general rule, Free, Release, and Reset commands do not return ERROR_OUT_OF_HOST_MEMORY, while any other command with a return code may return it. Any exceptions from this rule are described for those commands.

ERROR_UNKNOWN will be returned by an implementation when an unexpected error occurs that cannot be attributed to valid behavior of the application and implementation. Under these conditions, it may be returned from any command returning a Result.

Note

ERROR_UNKNOWN is not expected to ever be returned if the application behavior is valid, and if the implementation is bug-free. If ERROR_UNKNOWN is received, the application should be checked against the latest validation layers to verify correct behavior as much as possible. If no issues are identified it could be an implementation issue, and the implementor should be contacted for support.

Any command returning a Result may return ERROR_VALIDATION_FAILED_EXT if a violation of valid usage is detected, even though commands do not explicitly list this as a possible return code.

Performance-critical commands generally do not have return codes. If a runtime error occurs in such commands, the implementation will defer reporting the error until a specified point. For commands that record into command buffers (vkCmd*) runtime errors are reported by endCommandBuffer.

See Also

VK_VERSION_1_0, PresentInfoKHR

Constructors

Result Int32 

Bundled Patterns

pattern SUCCESS :: Result

SUCCESS Command successfully completed

pattern NOT_READY :: Result

NOT_READY A fence or query has not yet completed

pattern TIMEOUT :: Result

TIMEOUT A wait operation has not completed in the specified time

pattern EVENT_SET :: Result

EVENT_SET An event is signaled

pattern EVENT_RESET :: Result

EVENT_RESET An event is unsignaled

pattern INCOMPLETE :: Result

INCOMPLETE A return array was too small for the result

pattern ERROR_OUT_OF_HOST_MEMORY :: Result

ERROR_OUT_OF_HOST_MEMORY A host memory allocation has failed.

pattern ERROR_OUT_OF_DEVICE_MEMORY :: Result

ERROR_OUT_OF_DEVICE_MEMORY A device memory allocation has failed.

pattern ERROR_INITIALIZATION_FAILED :: Result

ERROR_INITIALIZATION_FAILED Initialization of an object could not be completed for implementation-specific reasons.

pattern ERROR_DEVICE_LOST :: Result

ERROR_DEVICE_LOST The logical or physical device has been lost. See Lost Device

pattern ERROR_MEMORY_MAP_FAILED :: Result

ERROR_MEMORY_MAP_FAILED Mapping of a memory object has failed.

pattern ERROR_LAYER_NOT_PRESENT :: Result

ERROR_LAYER_NOT_PRESENT A requested layer is not present or could not be loaded.

pattern ERROR_EXTENSION_NOT_PRESENT :: Result

ERROR_EXTENSION_NOT_PRESENT A requested extension is not supported.

pattern ERROR_FEATURE_NOT_PRESENT :: Result

ERROR_FEATURE_NOT_PRESENT A requested feature is not supported.

pattern ERROR_INCOMPATIBLE_DRIVER :: Result

ERROR_INCOMPATIBLE_DRIVER The requested version of Vulkan is not supported by the driver or is otherwise incompatible for implementation-specific reasons.

pattern ERROR_TOO_MANY_OBJECTS :: Result

ERROR_TOO_MANY_OBJECTS Too many objects of the type have already been created.

pattern ERROR_FORMAT_NOT_SUPPORTED :: Result

ERROR_FORMAT_NOT_SUPPORTED A requested format is not supported on this device.

pattern ERROR_FRAGMENTED_POOL :: Result

ERROR_FRAGMENTED_POOL A pool allocation has failed due to fragmentation of the pool’s memory. This must only be returned if no attempt to allocate host or device memory was made to accommodate the new allocation. This should be returned in preference to ERROR_OUT_OF_POOL_MEMORY, but only if the implementation is certain that the pool allocation failure was due to fragmentation.

pattern ERROR_UNKNOWN :: Result

ERROR_UNKNOWN An unknown error has occurred; either the application has provided invalid input, or an implementation failure has occurred.

pattern ERROR_INCOMPATIBLE_SHADER_BINARY_EXT :: Result

ERROR_INCOMPATIBLE_SHADER_BINARY_EXT The provided binary shader code is not compatible with this device.

pattern ERROR_COMPRESSION_EXHAUSTED_EXT :: Result

ERROR_COMPRESSION_EXHAUSTED_EXT An image creation failed because internal resources required for compression are exhausted. This must only be returned when fixed-rate compression is requested.

pattern OPERATION_NOT_DEFERRED_KHR :: Result

OPERATION_NOT_DEFERRED_KHR A deferred operation was requested and no operations were deferred.

pattern OPERATION_DEFERRED_KHR :: Result

OPERATION_DEFERRED_KHR A deferred operation was requested and at least some of the work was deferred.

pattern THREAD_DONE_KHR :: Result

THREAD_DONE_KHR A deferred operation is not complete but there is no work remaining to assign to additional threads.

pattern THREAD_IDLE_KHR :: Result

THREAD_IDLE_KHR A deferred operation is not complete but there is currently no work for this thread to do at the time of this call.

pattern ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT :: Result

ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT An operation on a swapchain created with FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT failed as it did not have exclusive full-screen access. This may occur due to implementation-dependent reasons, outside of the application’s control.

pattern ERROR_NOT_PERMITTED_KHR :: Result 
pattern ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT :: Result 
pattern ERROR_INVALID_SHADER_NV :: Result

ERROR_INVALID_SHADER_NV One or more shaders failed to compile or link. More details are reported back to the application via VK_EXT_debug_report if enabled.

pattern ERROR_VALIDATION_FAILED_EXT :: Result

ERROR_VALIDATION_FAILED_EXT A command failed because invalid usage was detected by the implementation or a validation-layer.

pattern ERROR_INCOMPATIBLE_DISPLAY_KHR :: Result

ERROR_INCOMPATIBLE_DISPLAY_KHR The display used by a swapchain does not use the same presentable image layout, or is incompatible in a way that prevents sharing an image.

pattern ERROR_OUT_OF_DATE_KHR :: Result

ERROR_OUT_OF_DATE_KHR A surface has changed in such a way that it is no longer compatible with the swapchain, and further presentation requests using the swapchain will fail. Applications must query the new surface properties and recreate their swapchain if they wish to continue presenting to the surface.

pattern SUBOPTIMAL_KHR :: Result

SUBOPTIMAL_KHR A swapchain no longer matches the surface properties exactly, but can still be used to present to the surface successfully.

pattern ERROR_NATIVE_WINDOW_IN_USE_KHR :: Result

ERROR_NATIVE_WINDOW_IN_USE_KHR The requested window is already in use by Vulkan or another API in a manner which prevents it from being used again.

pattern ERROR_SURFACE_LOST_KHR :: Result

ERROR_SURFACE_LOST_KHR A surface is no longer available.

pattern ERROR_NO_PIPELINE_MATCH :: Result 
pattern ERROR_INVALID_PIPELINE_CACHE_DATA :: Result 
pattern ERROR_VALIDATION_FAILED :: Result 
pattern PIPELINE_COMPILE_REQUIRED :: Result

PIPELINE_COMPILE_REQUIRED A requested pipeline creation would have required compilation, but the application requested compilation to not be performed.

pattern ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS :: Result

ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS A buffer creation or memory allocation failed because the requested address is not available. A shader group handle assignment failed because the requested shader group handle information is no longer valid.

pattern ERROR_FRAGMENTATION :: Result

ERROR_FRAGMENTATION A descriptor pool creation has failed due to fragmentation.

pattern ERROR_INVALID_EXTERNAL_HANDLE :: Result

ERROR_INVALID_EXTERNAL_HANDLE An external handle is not a valid handle of the specified type.

pattern ERROR_OUT_OF_POOL_MEMORY :: Result

ERROR_OUT_OF_POOL_MEMORY A pool memory allocation has failed. This must only be returned if no attempt to allocate host or device memory was made to accommodate the new allocation. If the failure was definitely due to fragmentation of the pool, ERROR_FRAGMENTED_POOL should be returned instead.

Instances

Instances details
Storable Result Source # 
Instance details

Defined in Vulkan.Core10.Enums.Result

Read Result Source # 
Instance details

Defined in Vulkan.Core10.Enums.Result

Show Result Source # 
Instance details

Defined in Vulkan.Core10.Enums.Result

Eq Result Source # 
Instance details

Defined in Vulkan.Core10.Enums.Result

Methods

(==) :: Result -> Result -> Bool #

(/=) :: Result -> Result -> Bool #

Ord Result Source # 
Instance details

Defined in Vulkan.Core10.Enums.Result

Zero Result Source # 
Instance details

Defined in Vulkan.Core10.Enums.Result

Methods

zero :: Result Source #