MCPcopy Create free account
hub / github.com/KhronosGroup/Vulkan-ValidationLayers / ImageView

Method ImageView

layers/state_tracker/image_state.cpp:593–612  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

591namespace vvl {
592
593ImageView::ImageView(const DeviceState& device_state, const std::shared_ptr<vvl::Image>& image_state, VkImageView handle,
594 const VkImageViewCreateInfo* ci, VkFormatFeatureFlags2 ff,
595 const VkFilterCubicImageViewImageFormatPropertiesEXT& cubic_props)
596 : StateObject(handle, kVulkanObjectTypeImageView),
597 safe_create_info(ci),
598 create_info(*safe_create_info.ptr()),
599 image_state(image_state),
600#ifdef VK_USE_PLATFORM_METAL_EXT
601 metal_imageview_export(GetMetalExport(create_info)),
602#endif
603 is_depth_sliced(IsDepthSliceView(image_state->GetImageType(), image_state->create_flags, create_info.viewType)),
604 normalized_subresource_range(ImageView::NormalizeImageViewSubresourceRange(*image_state, create_info)),
605 range_generator(image_state->subresource_encoder, GetRangeGeneratorRange(device_state.extensions)),
606 samples(image_state->GetSamples()),
607 sampler_conversion(GetSamplerConversion(create_info)),
608 filter_cubic_props(cubic_props),
609 min_lod(GetImageViewMinLod(create_info)),
610 format_features(ff),
611 inherited_usage(GetInheritedUsage(create_info, *image_state)) {
612}
613
614void ImageView::NotifyInvalidate(const StateObject::NodeList& invalid_nodes, bool unlink) {
615 for (auto& item : sub_states_) {

Callers

nothing calls this directly

Calls 7

IsDepthSliceViewFunction · 0.85
GetSamplerConversionFunction · 0.85
GetImageViewMinLodFunction · 0.85
GetInheritedUsageFunction · 0.85
GetSamplesMethod · 0.80
GetMetalExportFunction · 0.70
GetImageTypeMethod · 0.45

Tested by

no test coverage detected