zink: break out renderpass attachment load op calc
no functional changes Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17640>
This commit is contained in:

committed by
Marge Bot

parent
1bc9db6879
commit
1ff18f0879
@@ -33,6 +33,16 @@
|
|||||||
#include "util/u_string.h"
|
#include "util/u_string.h"
|
||||||
#include "util/u_blitter.h"
|
#include "util/u_blitter.h"
|
||||||
|
|
||||||
|
static VkAttachmentLoadOp
|
||||||
|
get_rt_loadop(const struct zink_rt_attrib *rt, bool clear)
|
||||||
|
{
|
||||||
|
return clear ? VK_ATTACHMENT_LOAD_OP_CLEAR :
|
||||||
|
/* TODO: need replicate EXT */
|
||||||
|
//rt->resolve || rt->invalid ?
|
||||||
|
rt->invalid ?
|
||||||
|
VK_ATTACHMENT_LOAD_OP_DONT_CARE :
|
||||||
|
VK_ATTACHMENT_LOAD_OP_LOAD;
|
||||||
|
}
|
||||||
|
|
||||||
static VkRenderPass
|
static VkRenderPass
|
||||||
create_render_pass2(struct zink_screen *screen, struct zink_render_pass_state *state, struct zink_render_pass_pipeline_state *pstate)
|
create_render_pass2(struct zink_screen *screen, struct zink_render_pass_state *state, struct zink_render_pass_pipeline_state *pstate)
|
||||||
@@ -58,12 +68,7 @@ create_render_pass2(struct zink_screen *screen, struct zink_render_pass_state *s
|
|||||||
attachments[i].flags = 0;
|
attachments[i].flags = 0;
|
||||||
pstate->attachments[i].format = attachments[i].format = rt->format;
|
pstate->attachments[i].format = attachments[i].format = rt->format;
|
||||||
pstate->attachments[i].samples = attachments[i].samples = rt->samples;
|
pstate->attachments[i].samples = attachments[i].samples = rt->samples;
|
||||||
attachments[i].loadOp = rt->clear_color ? VK_ATTACHMENT_LOAD_OP_CLEAR :
|
attachments[i].loadOp = get_rt_loadop(rt, rt->clear_color);
|
||||||
/* TODO: need replicate EXT */
|
|
||||||
//rt->resolve || rt->invalid ?
|
|
||||||
rt->invalid ?
|
|
||||||
VK_ATTACHMENT_LOAD_OP_DONT_CARE :
|
|
||||||
VK_ATTACHMENT_LOAD_OP_LOAD;
|
|
||||||
|
|
||||||
/* TODO: need replicate EXT */
|
/* TODO: need replicate EXT */
|
||||||
//attachments[i].storeOp = rt->resolve ? VK_ATTACHMENT_STORE_OP_DONT_CARE : VK_ATTACHMENT_STORE_OP_STORE;
|
//attachments[i].storeOp = rt->resolve ? VK_ATTACHMENT_STORE_OP_DONT_CARE : VK_ATTACHMENT_STORE_OP_STORE;
|
||||||
|
Reference in New Issue
Block a user