35 <<
" is out of range; the texture has " << desc.
mip_count
40 if (
slice >= slice_count) {
42 <<
" is out of range for the texture type.";
48 VALIDATION_LOG <<
"Store action needs resolve but no valid resolve "
57 VALIDATION_LOG <<
"A resolve texture was specified, but the store action "
58 "doesn't include multisample resolve.";
62 if (
texture->GetTextureDescriptor().storage_mode ==
66 <<
"The multisample texture cannot be transient when "
67 "specifying the StoreAndMultisampleResolve StoreAction.";
73 :
texture->GetTextureDescriptor().storage_mode;
77 VALIDATION_LOG <<
"The LoadAction cannot be Load when attaching a device "
84 VALIDATION_LOG <<
"The StoreAction must be DontCare when attaching a "
96 std::vector<TextureUsage> usages;
106 std::stringstream stream;
108 for (
size_t i = 0; i < usages.size(); i++) {
110 if (i != usages.size() - 1u) {
119 std::stringstream stream;
121 stream <<
"Texture=("
123 attachment.
texture->GetTextureDescriptor())
127 stream <<
"ResolveTexture=("
138 std::stringstream stream;
145 std::stringstream stream;
147 stream << std::format(
"ClearDepth={:.2f}", depth.
clear_depth);
152 std::stringstream stream;
154 stream << std::format(
"ClearStencil={}", stencil.
clear_stencil);
std::string TextureDescriptorToString(const TextureDescriptor &desc)
std::string DepthAttachmentToString(const DepthAttachment &depth)
std::string ColorAttachmentToString(const ColorAttachment &color)
constexpr const char * LoadActionToString(LoadAction action)
std::string StencilAttachmentToString(const StencilAttachment &stencil)
std::string TextureUsageMaskToString(TextureUsageMask mask)
std::string AttachmentToString(const Attachment &attachment)
constexpr const char * TextureUsageToString(TextureUsage usage)
@ kStoreAndMultisampleResolve
constexpr bool StoreActionNeedsResolveTexture(StoreAction action)
constexpr const char * StoreActionToString(StoreAction action)
std::shared_ptr< Texture > resolve_texture
std::shared_ptr< Texture > texture
A lightweight object that describes the attributes of a texture that can then used an allocator to cr...