Lines Matching full:framebuffer
731 FRAMEBUFFER_STATE *GetFramebufferState(const layer_data *dev_data, VkFramebuffer framebuffer) {
732 auto it = dev_data->frameBufferMap.find(framebuffer);
1913 // Remove this cmdBuffer's reference from each FrameBuffer's CB ref list
1914 for (auto framebuffer : pCB->framebuffers) {
1915 auto fb_state = GetFramebufferState(dev_data, framebuffer);
4485 static bool PreCallValidateDestroyFramebuffer(layer_data *dev_data, VkFramebuffer framebuffer,
4487 *framebuffer_state = GetFramebufferState(dev_data, framebuffer);
4488 *obj_struct = {HandleToUint64(framebuffer), kVulkanObjectTypeFramebuffer};
4498 static void PostCallRecordDestroyFramebuffer(layer_data *dev_data, VkFramebuffer framebuffer, FRAMEBUFFER_STATE *framebuffer_state,
4501 dev_data->frameBufferMap.erase(framebuffer);
4504 VKAPI_ATTR void VKAPI_CALL DestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks *pAllocator) {
4509 bool skip = PreCallValidateDestroyFramebuffer(dev_data, framebuffer, &framebuffer_state, &obj_struct);
4512 dev_data->dispatch_table.DestroyFramebuffer(device, framebuffer, pAllocator);
4514 if (framebuffer != VK_NULL_HANDLE) {
4515 PostCallRecordDestroyFramebuffer(dev_data, framebuffer, framebuffer_state, obj_struct);
5614 // Add bindings between the given cmd buffer & framebuffer and the framebuffer's children
5616 addCommandBufferBinding(&fb_state->cb_bindings, {HandleToUint64(fb_state->framebuffer), kVulkanObjectTypeFramebuffer},
5655 auto framebuffer = GetFramebufferState(dev_data, pInfo->framebuffer);
5656 if (framebuffer) {
5657 if (framebuffer->createInfo.renderPass != pInfo->renderPass) {
5658 // renderPass that framebuffer was created with must be compatible with local renderPass
5660 validateRenderPassCompatibility(dev_data, "framebuffer", framebuffer->rp_state.get(),
5664 // Connect this framebuffer and its children to this cmdBuffer
5665 AddFramebufferBinding(dev_data, cb_node, framebuffer);
5725 cb_node->activeFramebuffer = cb_node->beginInfo.pInheritanceInfo->framebuffer;
5726 cb_node->framebuffers.insert(cb_node->beginInfo.pInheritanceInfo->framebuffer);
7024 VkFramebuffer framebuffer, uint32_t active_subpass, const safe_VkSubpassDescription &sub_desc,
7027 const auto &fb_state = GetFramebufferState(device_data, framebuffer);
7035 // Verify that a framebuffer image matches barrier image
7071 auto const fb_handle = HandleToUint64(fb_state->framebuffer);
7076 ") does not match an image from the current framebuffer (0x%" PRIx64 "). %s",
7137 // Secondary CBs can have null framebuffer so queue up validation in that case 'til FB is known
8129 "vkCreateFramebuffer: Framebuffer Attachment (%d) conflicts with the image's "
8144 // 2. corresponding framebuffer and renderpass attachments have matching formats
8145 // 3. corresponding framebuffer and renderpass attachments have matching sample counts
8161 "of %u of renderPass (0x%" PRIx64 ") being used to create Framebuffer. %s",
8194 "only a single mip level (levelCount == 1) is allowed when creating a Framebuffer. %s",
8205 "smaller than the corresponding framebuffer dimensions. Here are the respective dimensions for "
8206 "attachment #%u, framebuffer:\n"
8221 "framebuffer attachments must have been created with the identity swizzle. Here are the actual "
8298 // Validate VkFramebufferCreateInfo state prior to calling down chain to create Framebuffer object
8308 // CreateFramebuffer state has been validated and call down chain completed so record new framebuffer object
8439 static bool ValidateDependencies(const layer_data *dev_data, FRAMEBUFFER_STATE const *framebuffer,
8442 auto const pFramebufferInfo = framebuffer->createInfo.ptr();
8488 HandleToUint64(framebuffer->framebuffer), __LINE__, VALIDATION_ERROR_12200682, "DS",
8494 HandleToUint64(framebuffer->framebuffer), __LINE__, VALIDATION_ERROR_12200682, "DS",
8854 &GetFramebufferState(dev_data, pRenderPassBegin->framebuffer)->createInfo;
8862 framebuffer. RenderArea: x %d, y %d, width "
8863 "%d, height %d. Framebuffer: width %d, height %d.",
8891 auto framebuffer = pRenderPassBegin ? GetFramebufferState(dev_data, pRenderPassBegin->framebuffer) : nullptr;
8895 cb_node->activeFramebuffer = pRenderPassBegin->framebuffer;
8897 MT_FB_ATTACHMENT_INFO &fb_info = framebuffer->attachments[i];
8944 GetFramebufferState(dev_data, pRenderPassBegin->framebuffer));
8945 if (framebuffer->rp_state->renderPass != render_pass_state->renderPass) {
8946 skip |= validateRenderPassCompatibility(dev_data, "render pass", render_pass_state, "framebuffer",
8947 framebuffer->rp_state.get(), "vkCmdBeginRenderPass()",
8951 skip |= ValidateDependencies(dev_data, framebuffer, render_pass_state);
8961 cb_node->framebuffers.insert(pRenderPassBegin->framebuffer);
8962 // Connect this framebuffer and its children to this cmdBuffer
8963 AddFramebufferBinding(dev_data, cb_node, framebuffer);
8968 TransitionBeginRenderPassLayouts(dev_data, cb_node, render_pass_state, framebuffer);
9007 GetFramebufferState(dev_data, pCB->activeRenderPassBeginInfo.framebuffer));
9016 FRAMEBUFFER_STATE *framebuffer = NULL;
9019 framebuffer = GetFramebufferState(dev_data, pCB->activeFramebuffer);
9029 MT_FB_ATTACHMENT_INFO &fb_info = framebuffer->attachments[i];
9061 TransitionFinalSubpassLayouts(dev_data, pCB, &pCB->activeRenderPassBeginInfo, framebuffer);
9075 VkFramebuffer secondary_fb = pSubCB->beginInfo.pInheritanceInfo->framebuffer;
9081 " which has a framebuffer 0x%" PRIx64
9082 " that is not the same as the primary command buffer's current active framebuffer 0x%" PRIx64 ". %s",
9091 " which has invalid framebuffer 0x%" PRIx64 ".",
9187 // If framebuffer for secondary CB is not NULL, then it must match active FB from primaryCB