Win32 API 日本語リファレンス
ホームGraphics.Dxgi › DXGI_USAGE

DXGI_USAGE

列挙型フラグ
基底型u4

メンバー 7

名前10進16進
DXGI_USAGE_SHADER_INPUT160x10
DXGI_USAGE_RENDER_TARGET_OUTPUT320x20
DXGI_USAGE_BACK_BUFFER640x40
DXGI_USAGE_SHARED1280x80
DXGI_USAGE_READ_ONLY2560x100
DXGI_USAGE_DISCARD_ON_PRESENT5120x200
DXGI_USAGE_UNORDERED_ACCESS10240x400

公式ドキュメント

サーフェスおよびリソースの作成オプションを指定するフラグです。

定数/値 説明
DXGI_USAGE_BACK_BUFFER
1L << (2 + 4)
サーフェスまたはリソースをバックバッファーとして使用します。スワップチェーンを作成するときに DXGI_USAGE_BACK_BUFFER を渡す必要はありません。ただし、IDXGIResource::GetUsage を呼び出して DXGI_USAGE_BACK_BUFFER が取得されるかどうかで、リソースがスワップチェーンに属しているかどうかを判断できます。
DXGI_USAGE_DISCARD_ON_PRESENT
1L << (5 + 4)
このフラグは内部使用専用です。
DXGI_USAGE_READ_ONLY
1L << (4 + 4)
サーフェスまたはリソースを読み取り専用で使用します。
DXGI_USAGE_RENDER_TARGET_OUTPUT
1L << (1 + 4)
サーフェスまたはリソースを出力レンダーターゲットとして使用します。
DXGI_USAGE_SHADER_INPUT
1L << (0 + 4)
サーフェスまたはリソースをシェーダーへの入力として使用します。
DXGI_USAGE_SHARED
1L << (3 + 4)
サーフェスまたはリソースを共有します。
DXGI_USAGE_UNORDERED_ACCESS
1L << (6 + 4)
サーフェスまたはリソースをアンオーダードアクセス用に使用します。

解説(Remarks)

各フラグは符号なし整数として定義されています。

#define DXGI_CPU_ACCESS_NONE    ( 0 )
#define DXGI_CPU_ACCESS_DYNAMIC    ( 1 )
#define DXGI_CPU_ACCESS_READ_WRITE    ( 2 )
#define DXGI_CPU_ACCESS_SCRATCH    ( 3 )
#define DXGI_CPU_ACCESS_FIELD        15
#define DXGI_USAGE_SHADER_INPUT             ( 1L << (0 + 4) )
#define DXGI_USAGE_RENDER_TARGET_OUTPUT     ( 1L << (1 + 4) )
#define DXGI_USAGE_BACK_BUFFER              ( 1L << (2 + 4) )
#define DXGI_USAGE_SHARED                   ( 1L << (3 + 4) )
#define DXGI_USAGE_READ_ONLY                ( 1L << (4 + 4) )
#define DXGI_USAGE_DISCARD_ON_PRESENT       ( 1L << (5 + 4) )
#define DXGI_USAGE_UNORDERED_ACCESS         ( 1L << (6 + 4) )
typedef UINT DXGI_USAGE;

これらのフラグオプションは、IDXGIFactory::CreateSwapChainIDXGIFactory2::CreateSwapChainForHwndIDXGIFactory2::CreateSwapChainForCoreWindow、または IDXGIFactory2::CreateSwapChainForComposition メソッドの呼び出しで、スワップチェーンのバックバッファーに対するサーフェスの用途と CPU アクセスのオプションを記述するために使用します。DXGI_USAGE_SHAREDDXGI_USAGE_DISCARD_ON_PRESENT、および DXGI_USAGE_READ_ONLY の値は、スワップチェーンを作成する際の入力としては使用できません。ただし、DXGI はアプリケーションに代わって、スワップチェーンの一部のバックバッファーに DXGI_USAGE_DISCARD_ON_PRESENT および DXGI_USAGE_READ_ONLY を設定することがあります。これらのバックバッファーの用途は、IDXGIResource::GetUsage メソッドを呼び出して取得できます。スワップチェーンは、DXGI_USAGEDXGI_CPU_ACCESS_FIELD 部分において DXGI_CPU_ACCESS_NONE の値のみをサポートします。

これらのフラグオプションは、IDXGIDevice::CreateSurface メソッドでも使用されます。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp)

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum DXGI_USAGE : unsigned int {
    DXGI_USAGE_SHADER_INPUT = 16,
    DXGI_USAGE_RENDER_TARGET_OUTPUT = 32,
    DXGI_USAGE_BACK_BUFFER = 64,
    DXGI_USAGE_SHARED = 128,
    DXGI_USAGE_READ_ONLY = 256,
    DXGI_USAGE_DISCARD_ON_PRESENT = 512,
    DXGI_USAGE_UNORDERED_ACCESS = 1024
} DXGI_USAGE;
[Flags]
public enum DXGI_USAGE : uint
{
    DXGI_USAGE_SHADER_INPUT = 16,
    DXGI_USAGE_RENDER_TARGET_OUTPUT = 32,
    DXGI_USAGE_BACK_BUFFER = 64,
    DXGI_USAGE_SHARED = 128,
    DXGI_USAGE_READ_ONLY = 256,
    DXGI_USAGE_DISCARD_ON_PRESENT = 512,
    DXGI_USAGE_UNORDERED_ACCESS = 1024,
}
<Flags>
Public Enum DXGI_USAGE As UInteger
    DXGI_USAGE_SHADER_INPUT = 16
    DXGI_USAGE_RENDER_TARGET_OUTPUT = 32
    DXGI_USAGE_BACK_BUFFER = 64
    DXGI_USAGE_SHARED = 128
    DXGI_USAGE_READ_ONLY = 256
    DXGI_USAGE_DISCARD_ON_PRESENT = 512
    DXGI_USAGE_UNORDERED_ACCESS = 1024
End Enum
import enum

class DXGI_USAGE(enum.IntFlag):
    DXGI_USAGE_SHADER_INPUT = 16
    DXGI_USAGE_RENDER_TARGET_OUTPUT = 32
    DXGI_USAGE_BACK_BUFFER = 64
    DXGI_USAGE_SHARED = 128
    DXGI_USAGE_READ_ONLY = 256
    DXGI_USAGE_DISCARD_ON_PRESENT = 512
    DXGI_USAGE_UNORDERED_ACCESS = 1024
// DXGI_USAGE (flags)
pub const DXGI_USAGE_SHADER_INPUT: u32 = 16;
pub const DXGI_USAGE_RENDER_TARGET_OUTPUT: u32 = 32;
pub const DXGI_USAGE_BACK_BUFFER: u32 = 64;
pub const DXGI_USAGE_SHARED: u32 = 128;
pub const DXGI_USAGE_READ_ONLY: u32 = 256;
pub const DXGI_USAGE_DISCARD_ON_PRESENT: u32 = 512;
pub const DXGI_USAGE_UNORDERED_ACCESS: u32 = 1024;
// DXGI_USAGE
const (
	DXGI_USAGE_SHADER_INPUT uint32 = 16
	DXGI_USAGE_RENDER_TARGET_OUTPUT uint32 = 32
	DXGI_USAGE_BACK_BUFFER uint32 = 64
	DXGI_USAGE_SHARED uint32 = 128
	DXGI_USAGE_READ_ONLY uint32 = 256
	DXGI_USAGE_DISCARD_ON_PRESENT uint32 = 512
	DXGI_USAGE_UNORDERED_ACCESS uint32 = 1024
)
const
  DXGI_USAGE_SHADER_INPUT = 16;
  DXGI_USAGE_RENDER_TARGET_OUTPUT = 32;
  DXGI_USAGE_BACK_BUFFER = 64;
  DXGI_USAGE_SHARED = 128;
  DXGI_USAGE_READ_ONLY = 256;
  DXGI_USAGE_DISCARD_ON_PRESENT = 512;
  DXGI_USAGE_UNORDERED_ACCESS = 1024;
// DXGI_USAGE
pub const DXGI_USAGE_SHADER_INPUT: u32 = 16;
pub const DXGI_USAGE_RENDER_TARGET_OUTPUT: u32 = 32;
pub const DXGI_USAGE_BACK_BUFFER: u32 = 64;
pub const DXGI_USAGE_SHARED: u32 = 128;
pub const DXGI_USAGE_READ_ONLY: u32 = 256;
pub const DXGI_USAGE_DISCARD_ON_PRESENT: u32 = 512;
pub const DXGI_USAGE_UNORDERED_ACCESS: u32 = 1024;
const
  DXGI_USAGE_SHADER_INPUT* = 16
  DXGI_USAGE_RENDER_TARGET_OUTPUT* = 32
  DXGI_USAGE_BACK_BUFFER* = 64
  DXGI_USAGE_SHARED* = 128
  DXGI_USAGE_READ_ONLY* = 256
  DXGI_USAGE_DISCARD_ON_PRESENT* = 512
  DXGI_USAGE_UNORDERED_ACCESS* = 1024
enum DXGI_USAGE : uint {
    DXGI_USAGE_SHADER_INPUT = 16,
    DXGI_USAGE_RENDER_TARGET_OUTPUT = 32,
    DXGI_USAGE_BACK_BUFFER = 64,
    DXGI_USAGE_SHARED = 128,
    DXGI_USAGE_READ_ONLY = 256,
    DXGI_USAGE_DISCARD_ON_PRESENT = 512,
    DXGI_USAGE_UNORDERED_ACCESS = 1024,
}
#define global DXGI_USAGE_SHADER_INPUT         0x10
#define global DXGI_USAGE_RENDER_TARGET_OUTPUT 0x20
#define global DXGI_USAGE_BACK_BUFFER          0x40
#define global DXGI_USAGE_SHARED               0x80
#define global DXGI_USAGE_READ_ONLY            0x100
#define global DXGI_USAGE_DISCARD_ON_PRESENT   0x200
#define global DXGI_USAGE_UNORDERED_ACCESS     0x400
; ※フラグ列挙型。ビットORで組み合わせ可(例: FOO|BAR)。