30 lines
803 B
C
30 lines
803 B
C
// Copyright (c) Wojciech Figat. All rights reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "Engine/Core/Types/BaseTypes.h"
|
|
|
|
// GPU resource access flags. Used to describe how resource can be accessed which allows GPU to optimize data layout and memory access.
|
|
enum class GPUResourceAccess
|
|
{
|
|
None = 0,
|
|
CopyRead = 1 << 0,
|
|
CopyWrite = 1 << 1,
|
|
CpuRead = 1 << 2,
|
|
CpuWrite = 1 << 3,
|
|
DepthRead = 1 << 4,
|
|
DepthWrite = 1 << 5,
|
|
DepthBuffer = DepthRead | DepthWrite,
|
|
RenderTarget = 1 << 6,
|
|
UnorderedAccess = 1 << 7,
|
|
IndirectArgs = 1 << 8,
|
|
ShaderReadCompute = 1 << 9,
|
|
ShaderReadPixel = 1 << 10,
|
|
ShaderReadNonPixel = 1 << 11,
|
|
ShaderReadGraphics = ShaderReadPixel | ShaderReadNonPixel,
|
|
Last,
|
|
All = (Last << 1) - 1,
|
|
};
|
|
|
|
DECLARE_ENUM_OPERATORS(GPUResourceAccess);
|