Skip to content

case “SourceAlphaBlending”, Error to get the color. #64

@xingchen0085

Description

@xingchen0085

When I test TEST_CASE("SourceAlphaBlending", "[composition][interactive][no_auto]"), the Runtime used Monado, and the resulting graphic results were as follows:
mmexport1691658512931
I found that the colors of the three rectangles are not exactly the same. It is easy to see that the blue color of the middle rectangle is bluer.
And in my runtime, the pipeline's color blend config is:

VkBlendFactor blend_factor = premultiplied_alpha ? VK_BLEND_FACTOR_ONE : VK_BLEND_FACTOR_SRC_ALPHA;
// final_color.rgb   = (new_color.rgb * srcColorBlendFactor) [colorBlendOp] (old_color.rgb * dstColorBlendFactor)
// final_color.alpha = (new_color.a * srcAlphaBlendFactor) [alphaBlendOp] (old_color.a * dstAlphaBlendFactor)
&(VkPipelineColorBlendAttachmentState){
    .blendEnable = VK_TRUE,
    .colorWriteMask = VK_COLOR_COMPONENT_R_BIT | VK_COLOR_COMPONENT_G_BIT | VK_COLOR_COMPONENT_B_BIT | VK_COLOR_COMPONENT_A_BIT,
    .srcColorBlendFactor = blend_factor,
    .dstColorBlendFactor = VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA,
    .colorBlendOp = VK_BLEND_OP_ADD,
    .srcAlphaBlendFactor = VK_BLEND_FACTOR_SRC_ALPHA,
    .dstAlphaBlendFactor = VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA,
    .alphaBlendOp = VK_BLEND_OP_ADD,
}

Is this correct? Hope to get your reply very much, thank you!

Metadata

Metadata

Assignees

No one assigned

    Labels

    synced to gitlabSynced to internal Khronos gitlab

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions