XII Release 0.1.0
Loading...
Searching...
No Matches
xiiGALStateTransitionMode Struct Reference

This describes the resource state transition mode. More...

#include <CommandList.h>

Inheritance diagram for xiiGALStateTransitionMode:
[legend]

Public Types

enum  Enum : StorageType {
  None = 0 , Transition , Verify , ENUM_COUNT ,
  Default = None
}
 
using StorageType = xiiUInt8
 

Detailed Description

This describes the resource state transition mode.

Member Enumeration Documentation

◆ Enum

enum xiiGALStateTransitionMode::Enum : StorageType
Enumerator
None 

Perform no state transitions and no validation. Resource states are not accessed (either read or written) by the command.

Transition 

Transition resources to the states required by the specific command. Resources in unknown state are ignored.

         \note Any method that uses this mode may alter the state of the resources it works with.
               As automatic state management is not thread-safe, no other thread is allowed to read or write the state of the resources being transitioned.
               If the application intends to use the same resources in other threads simultaneously, it needs to explicitly manage the states using xiiGALCommandList::TransitionResourceStates() method.

         \note If a resource is used in multiple threads by multiple command lists, there will be race condition accessing internal resource state. An application should use manual resource state management in this case. 
Verify 

Do not transition, but verify that states are correct. No validation is performed if the state is unknown to the GAL. This mode only has effect in debug and development builds. No validation is performed in shipping builds.

     \note Any method that uses this mode will read the state of resources it works with. As automatic state management is not thread-safe, no other thread is allowed to alter
           the state of resources being used by the command. It is safe to read these states. 

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