mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 11:18:08 +02:00
anv: Change render_pass_attachment.format to a VkFormat
This commit is contained in:
parent
ffc502ce0c
commit
9102e88364
3 changed files with 8 additions and 5 deletions
|
|
@ -29,6 +29,8 @@
|
|||
|
||||
#include "anv_private.h"
|
||||
|
||||
#include "vk_format_info.h"
|
||||
|
||||
/** \file anv_cmd_buffer.c
|
||||
*
|
||||
* This file contains all of the stuff for emitting commands into a command
|
||||
|
|
@ -168,20 +170,21 @@ anv_cmd_state_setup_attachments(struct anv_cmd_buffer *cmd_buffer,
|
|||
|
||||
for (uint32_t i = 0; i < pass->attachment_count; ++i) {
|
||||
struct anv_render_pass_attachment *att = &pass->attachments[i];
|
||||
VkImageAspectFlags att_aspects = vk_format_aspects(att->format);
|
||||
VkImageAspectFlags clear_aspects = 0;
|
||||
|
||||
if (anv_format_is_color(att->format)) {
|
||||
if (att_aspects == VK_IMAGE_ASPECT_COLOR_BIT) {
|
||||
/* color attachment */
|
||||
if (att->load_op == VK_ATTACHMENT_LOAD_OP_CLEAR) {
|
||||
clear_aspects |= VK_IMAGE_ASPECT_COLOR_BIT;
|
||||
}
|
||||
} else {
|
||||
/* depthstencil attachment */
|
||||
if (att->format->has_depth &&
|
||||
if ((att_aspects & VK_IMAGE_ASPECT_DEPTH_BIT) &&
|
||||
att->load_op == VK_ATTACHMENT_LOAD_OP_CLEAR) {
|
||||
clear_aspects |= VK_IMAGE_ASPECT_DEPTH_BIT;
|
||||
}
|
||||
if (att->format->has_stencil &&
|
||||
if ((att_aspects & VK_IMAGE_ASPECT_STENCIL_BIT) &&
|
||||
att->stencil_load_op == VK_ATTACHMENT_LOAD_OP_CLEAR) {
|
||||
clear_aspects |= VK_IMAGE_ASPECT_STENCIL_BIT;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ VkResult anv_CreateRenderPass(
|
|||
for (uint32_t i = 0; i < pCreateInfo->attachmentCount; i++) {
|
||||
struct anv_render_pass_attachment *att = &pass->attachments[i];
|
||||
|
||||
att->format = anv_format_for_vk_format(pCreateInfo->pAttachments[i].format);
|
||||
att->format = pCreateInfo->pAttachments[i].format;
|
||||
att->samples = pCreateInfo->pAttachments[i].samples;
|
||||
att->load_op = pCreateInfo->pAttachments[i].loadOp;
|
||||
att->stencil_load_op = pCreateInfo->pAttachments[i].stencilLoadOp;
|
||||
|
|
|
|||
|
|
@ -1751,7 +1751,7 @@ struct anv_subpass {
|
|||
};
|
||||
|
||||
struct anv_render_pass_attachment {
|
||||
const struct anv_format *format;
|
||||
VkFormat format;
|
||||
uint32_t samples;
|
||||
VkAttachmentLoadOp load_op;
|
||||
VkAttachmentLoadOp stencil_load_op;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue