| 235 | } |
| 236 | |
| 237 | TEXTURE_FORMAT HdFormatToTextureFormat(pxr::HdFormat hdFormat) |
| 238 | { |
| 239 | static_assert(pxr::HdFormatCount == 29, "Please handle the new format below"); |
| 240 | switch (hdFormat) |
| 241 | { |
| 242 | case pxr::HdFormatInvalid: return TEX_FORMAT_UNKNOWN; |
| 243 | |
| 244 | case pxr::HdFormatUNorm8: return TEX_FORMAT_R8_UNORM; |
| 245 | case pxr::HdFormatUNorm8Vec2: return TEX_FORMAT_RG8_UNORM; |
| 246 | case pxr::HdFormatUNorm8Vec3: UNSUPPORTED("Diligent does not support RGB formats"); return TEX_FORMAT_UNKNOWN; |
| 247 | case pxr::HdFormatUNorm8Vec4: return TEX_FORMAT_RGBA8_UNORM; |
| 248 | |
| 249 | case pxr::HdFormatSNorm8: return TEX_FORMAT_R8_SNORM; |
| 250 | case pxr::HdFormatSNorm8Vec2: return TEX_FORMAT_RG8_SNORM; |
| 251 | case pxr::HdFormatSNorm8Vec3: UNSUPPORTED("Diligent does not support RGB formats"); return TEX_FORMAT_UNKNOWN; |
| 252 | case pxr::HdFormatSNorm8Vec4: return TEX_FORMAT_RGBA8_SNORM; |
| 253 | |
| 254 | case pxr::HdFormatFloat16: return TEX_FORMAT_R16_FLOAT; |
| 255 | case pxr::HdFormatFloat16Vec2: return TEX_FORMAT_RG16_FLOAT; |
| 256 | case pxr::HdFormatFloat16Vec3: UNSUPPORTED("Diligent does not support RGB formats"); return TEX_FORMAT_UNKNOWN; |
| 257 | case pxr::HdFormatFloat16Vec4: return TEX_FORMAT_RGBA16_FLOAT; |
| 258 | |
| 259 | case pxr::HdFormatFloat32: return TEX_FORMAT_R32_FLOAT; |
| 260 | case pxr::HdFormatFloat32Vec2: return TEX_FORMAT_RG32_FLOAT; |
| 261 | case pxr::HdFormatFloat32Vec3: UNSUPPORTED("Diligent does not support RGB formats"); return TEX_FORMAT_UNKNOWN; |
| 262 | case pxr::HdFormatFloat32Vec4: return TEX_FORMAT_RGBA32_FLOAT; |
| 263 | |
| 264 | case pxr::HdFormatInt16: return TEX_FORMAT_R16_SINT; |
| 265 | case pxr::HdFormatInt16Vec2: return TEX_FORMAT_RG16_SINT; |
| 266 | case pxr::HdFormatInt16Vec3: UNSUPPORTED("Diligent does not support RGB formats"); return TEX_FORMAT_UNKNOWN; |
| 267 | case pxr::HdFormatInt16Vec4: return TEX_FORMAT_RGBA16_SINT; |
| 268 | |
| 269 | case pxr::HdFormatUInt16: return TEX_FORMAT_R16_UINT; |
| 270 | case pxr::HdFormatUInt16Vec2: return TEX_FORMAT_RG16_UINT; |
| 271 | case pxr::HdFormatUInt16Vec3: UNSUPPORTED("Diligent does not support RGB formats"); return TEX_FORMAT_UNKNOWN; |
| 272 | case pxr::HdFormatUInt16Vec4: return TEX_FORMAT_RGBA16_UINT; |
| 273 | |
| 274 | case pxr::HdFormatInt32: return TEX_FORMAT_R32_SINT; |
| 275 | case pxr::HdFormatInt32Vec2: return TEX_FORMAT_RG32_SINT; |
| 276 | case pxr::HdFormatInt32Vec3: UNSUPPORTED("Diligent does not support RGB formats"); return TEX_FORMAT_UNKNOWN; |
| 277 | case pxr::HdFormatInt32Vec4: return TEX_FORMAT_RGBA32_SINT; |
| 278 | |
| 279 | case pxr::HdFormatFloat32UInt8: return TEX_FORMAT_D32_FLOAT_S8X24_UINT; |
| 280 | |
| 281 | default: |
| 282 | UNEXPECTED("Unexpected format"); |
| 283 | return TEX_FORMAT_UNKNOWN; |
| 284 | } |
| 285 | } |
| 286 | |
| 287 | pxr::HdFormat TextureFormatToHdFormat(TEXTURE_FORMAT TexFmt) |
| 288 | { |