語法
成員
ByteWidth類型:UINT 緩衝區的大小 (以位元組為單位)。 Usage
類型:XG_USAGE 指定轉譯期間預期的資源用途。 BindFlags
類型:UINT 以位元 OR 運算組合的 XG_BIND_FLAG 列舉常數,用來指定緩衝區繫結至管線的方式。 CPUAccessFlags
類型:UINT 以位元 OR 運算組合的 XG_CPU_ACCESS_FLAG 列舉常數,用來指定緩衝區允許的 CPU 存取類型。如果不需要 CPU 存取,此值會設為 0。 MiscFlags
類型:UINT 以位元 OR 運算組合的 XG_RESOURCE_MISC_FLAG 列舉常數,用來指定緩衝區的其他選項。如果未使用其他選項,此值會設為 0。 StructureByteStride
類型:UINT 對於結構化緩衝區,這是緩衝區結構中每個元素的大小 (以位元組為單位)。如果緩衝區資源不是結構化緩衝區,此值會設為 0。 對於結構化緩衝區,StructureByteStride 中的大小值必須符合搭配緩衝區使用之檢視的格式大小。例如,如果您使用著色器資源檢視 (SRV) 在像素著色器中讀取緩衝區,則 SRV 格式的大小必須符合 StructureByteStride 中的大小值。如需詳細資訊,請參閱結構化緩衝區。 ESRAMOffsetBytes
類型:UINT 緩衝區所使用之增強型靜態隨機存取記憶體 (ESRAM) 的起始位移 (以位元組為單位)。ESRAM 是 32 MB 的專用 RAM,只能由 GPU 直接存取。您可以為緩衝區資源要求 0 到 32 MB 的 ESRAM,並以 4KB 的倍數為單位。 ESRAMUsageBytes
類型:UINT 緩衝區所使用的 ESRAM 數量 (以位元組為單位)。如果此值設為 0,則會使用 ESRAMOffsetBytes 中指定之起始位移之後的所有剩餘 ESRAM,最多為 32 MB - ESRAMOffsetBytes。如果此值設為零且表面無法容納,緩衝區會使用 32 MB - ESRAMOffsetBytes,並溢出其餘部分。
備註
XGComputeBufferLayout 函式會使用此結構來計算緩衝區資源的硬體對齊。 除了XG_BIND_CONSTANT_BUFFER 以外,XG_BIND_FLAG 列舉中的繫結旗標都可以使用邏輯 OR 運算在 BindFlags 中組合。不過,您應一次只使用單一繫結旗標,讓裝置能夠最佳化資源用途。
需求
標頭: xg.h 程式庫: xg_x.lib 支援的平台: XBOX One 系列另請參閱
XBOX One 的原生資源管理XG 參考
