MCPcopy Create free account
hub / github.com/crownengine/crown / createView

Method createView

3rdparty/bgfx/src/renderer_vk.cpp:7061–7128  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7059 }
7060
7061 VkResult TextureVK::createView(uint32_t _layer, uint32_t _numLayers, uint32_t _mip, uint32_t _numMips, VkImageViewType _type, VkImageAspectFlags _aspectMask, bool _renderTarget, ::VkImageView* _view) const
7062 {
7063 VkResult result = VK_SUCCESS;
7064
7065 if (VK_IMAGE_VIEW_TYPE_3D == m_type)
7066 {
7067 BX_ASSERT(false
7068 || !_renderTarget
7069 || !(m_aspectFlags & (VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT) )
7070 , "3D image can't be a depth attachment"
7071 );
7072 }
7073
7074 if (VK_IMAGE_VIEW_TYPE_CUBE == _type
7075 || VK_IMAGE_VIEW_TYPE_CUBE_ARRAY == _type)
7076 {
7077 BX_ASSERT(_numLayers % 6 == 0, "");
7078 BX_ASSERT(
7079 VK_IMAGE_VIEW_TYPE_3D != m_type
7080 , "3D image can't be aliased as a cube texture"
7081 );
7082 }
7083
7084 VkImageViewCreateInfo viewInfo;
7085 viewInfo.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO;
7086 viewInfo.pNext = NULL;
7087 viewInfo.flags = 0;
7088 viewInfo.image = ( (VK_NULL_HANDLE != m_singleMsaaImage) && !_renderTarget)
7089 ? m_singleMsaaImage
7090 : m_textureImage
7091 ;
7092 viewInfo.viewType = _type;
7093 viewInfo.format = m_format;
7094 viewInfo.components = m_components;
7095 viewInfo.subresourceRange.aspectMask = m_aspectFlags & _aspectMask;
7096 viewInfo.subresourceRange.baseMipLevel = _mip;
7097 viewInfo.subresourceRange.levelCount = _numMips;
7098 viewInfo.subresourceRange.baseArrayLayer = _layer;
7099 viewInfo.subresourceRange.layerCount = 1;
7100
7101 if (VK_IMAGE_VIEW_TYPE_2D != _type
7102 && VK_IMAGE_VIEW_TYPE_3D != _type)
7103 {
7104 viewInfo.subresourceRange.layerCount = VK_IMAGE_VIEW_TYPE_CUBE == _type
7105 ? 6
7106 : _numLayers
7107 ;
7108 }
7109
7110 VkImageView view = VK_NULL_HANDLE;
7111
7112 result = vkCreateImageView(
7113 s_renderVK->m_device
7114 , &viewInfo
7115 , s_renderVK->m_allocatorCb
7116 , &view
7117 );
7118

Callers 3

getCachedImageViewMethod · 0.80
createAttachmentsMethod · 0.80
postResetMethod · 0.80

Calls 1

getNameFunction · 0.70

Tested by

no test coverage detected