34 VALIDATION_LOG <<
"Store action needs resolve but no valid resolve "
43 VALIDATION_LOG <<
"A resolve texture was specified, but the store action "
44 "doesn't include multisample resolve.";
48 if (
texture->GetTextureDescriptor().storage_mode ==
52 <<
"The multisample texture cannot be transient when "
53 "specifying the StoreAndMultisampleResolve StoreAction.";
59 :
texture->GetTextureDescriptor().storage_mode;
63 VALIDATION_LOG <<
"The LoadAction cannot be Load when attaching a device "
70 VALIDATION_LOG <<
"The StoreAction must be DontCare when attaching a "
82 std::vector<TextureUsage> usages;
94 for (
size_t i = 0;
i < usages.size();
i++) {
96 if (
i != usages.size() - 1u) {
109 attachment.
texture->GetTextureDescriptor())
113 stream <<
"ResolveTexture=("
std::string TextureDescriptorToString(const TextureDescriptor &desc)
std::string DepthAttachmentToString(const DepthAttachment &depth)
std::string ColorAttachmentToString(const ColorAttachment &color)
std::string StencilAttachmentToString(const StencilAttachment &stencil)
std::string TextureUsageMaskToString(TextureUsageMask mask)
std::string AttachmentToString(const Attachment &attachment)
std::string SPrintF(const char *format,...)
constexpr const char * LoadActionToString(LoadAction action)
constexpr const char * StoreActionToString(StoreAction action)
@ kStoreAndMultisampleResolve
constexpr bool StoreActionNeedsResolveTexture(StoreAction action)
std::string ColorToString(const Color &color)
constexpr const char * TextureUsageToString(TextureUsage usage)
std::shared_ptr< Texture > resolve_texture
std::shared_ptr< Texture > texture