LLGL 0.05 Beta
Loading...
Searching...
No Matches
LLGL::BarrierFlags Struct Reference

Flags for memory barriers in pipeline layouts. More...

#include <PipelineLayoutFlags.h>

Public Types

enum  { StorageBuffer = (1 << 0) , StorageTexture = (1 << 1) , Storage = (StorageBuffer | StorageTexture) }

Detailed Description

Flags for memory barriers in pipeline layouts.

See also
PipelineLayoutDescriptor::barrierFlags

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
StorageBuffer 

Memory barrier for Buffer resources that were created with the BindFlags::Storage bind flags.

Remarks
Shader access to the buffer will reflect all data written to by previous shaders.
See also
BindFlags::Storage
StorageTexture 

Memory barrier for Texture resources that were created with the BindFlags::Storage bind flags.

Remarks
Shader access to the texture will reflect all data written to by previous shaders.
See also
BindFlags::Storage
Storage 

Memory barrier for any storage resource. This is just a bitwise OR combination of StorageBuffer and StorageTexture.

Remarks
Renderer backends such as Direct3D 12 and Vulkan have bookkeeping for storage resources and don't have to distinguish between Buffer and Texture resource views for their barriers at time of creating the ResourceHeap. Hence, using BarrierFlags::Storage by default when any resource views in the ResourceHeap have to be synchronized is recommended. Only the OpenGL backend has to know at creation time what type of resources need a global barrier via glMemoryBarrier.
See also
BindFlags::Storage

The documentation for this struct was generated from the following file: