vk/0.210.0: Rework color blending enums
This commit is contained in:
@@ -544,10 +544,10 @@ typedef enum VkCompareOp {
|
||||
VK_COMPARE_OP_NEVER = 0,
|
||||
VK_COMPARE_OP_LESS = 1,
|
||||
VK_COMPARE_OP_EQUAL = 2,
|
||||
VK_COMPARE_OP_LESS_EQUAL = 3,
|
||||
VK_COMPARE_OP_LESS_OR_EQUAL = 3,
|
||||
VK_COMPARE_OP_GREATER = 4,
|
||||
VK_COMPARE_OP_NOT_EQUAL = 5,
|
||||
VK_COMPARE_OP_GREATER_EQUAL = 6,
|
||||
VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
|
||||
VK_COMPARE_OP_ALWAYS = 7,
|
||||
VK_COMPARE_OP_BEGIN_RANGE = VK_COMPARE_OP_NEVER,
|
||||
VK_COMPARE_OP_END_RANGE = VK_COMPARE_OP_ALWAYS,
|
||||
@@ -559,14 +559,14 @@ typedef enum VkStencilOp {
|
||||
VK_STENCIL_OP_KEEP = 0,
|
||||
VK_STENCIL_OP_ZERO = 1,
|
||||
VK_STENCIL_OP_REPLACE = 2,
|
||||
VK_STENCIL_OP_INC_CLAMP = 3,
|
||||
VK_STENCIL_OP_DEC_CLAMP = 4,
|
||||
VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
|
||||
VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
|
||||
VK_STENCIL_OP_INVERT = 5,
|
||||
VK_STENCIL_OP_INC_WRAP = 6,
|
||||
VK_STENCIL_OP_DEC_WRAP = 7,
|
||||
VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
|
||||
VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
|
||||
VK_STENCIL_OP_BEGIN_RANGE = VK_STENCIL_OP_KEEP,
|
||||
VK_STENCIL_OP_END_RANGE = VK_STENCIL_OP_DEC_WRAP,
|
||||
VK_STENCIL_OP_RANGE_SIZE = (VK_STENCIL_OP_DEC_WRAP - VK_STENCIL_OP_KEEP + 1),
|
||||
VK_STENCIL_OP_END_RANGE = VK_STENCIL_OP_DECREMENT_AND_WRAP,
|
||||
VK_STENCIL_OP_RANGE_SIZE = (VK_STENCIL_OP_DECREMENT_AND_WRAP - VK_STENCIL_OP_KEEP + 1),
|
||||
VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
|
||||
} VkStencilOp;
|
||||
|
||||
@@ -576,11 +576,11 @@ typedef enum VkLogicOp {
|
||||
VK_LOGIC_OP_AND_REVERSE = 2,
|
||||
VK_LOGIC_OP_COPY = 3,
|
||||
VK_LOGIC_OP_AND_INVERTED = 4,
|
||||
VK_LOGIC_OP_NOOP = 5,
|
||||
VK_LOGIC_OP_NO_OP = 5,
|
||||
VK_LOGIC_OP_XOR = 6,
|
||||
VK_LOGIC_OP_OR = 7,
|
||||
VK_LOGIC_OP_NOR = 8,
|
||||
VK_LOGIC_OP_EQUIV = 9,
|
||||
VK_LOGIC_OP_EQUIVALENT = 9,
|
||||
VK_LOGIC_OP_INVERT = 10,
|
||||
VK_LOGIC_OP_OR_REVERSE = 11,
|
||||
VK_LOGIC_OP_COPY_INVERTED = 12,
|
||||
@@ -594,30 +594,30 @@ typedef enum VkLogicOp {
|
||||
} VkLogicOp;
|
||||
|
||||
typedef enum VkBlendFactor {
|
||||
VK_BLEND_ZERO = 0,
|
||||
VK_BLEND_ONE = 1,
|
||||
VK_BLEND_SRC_COLOR = 2,
|
||||
VK_BLEND_ONE_MINUS_SRC_COLOR = 3,
|
||||
VK_BLEND_DEST_COLOR = 4,
|
||||
VK_BLEND_ONE_MINUS_DEST_COLOR = 5,
|
||||
VK_BLEND_SRC_ALPHA = 6,
|
||||
VK_BLEND_ONE_MINUS_SRC_ALPHA = 7,
|
||||
VK_BLEND_DEST_ALPHA = 8,
|
||||
VK_BLEND_ONE_MINUS_DEST_ALPHA = 9,
|
||||
VK_BLEND_CONSTANT_COLOR = 10,
|
||||
VK_BLEND_ONE_MINUS_CONSTANT_COLOR = 11,
|
||||
VK_BLEND_CONSTANT_ALPHA = 12,
|
||||
VK_BLEND_ONE_MINUS_CONSTANT_ALPHA = 13,
|
||||
VK_BLEND_SRC_ALPHA_SATURATE = 14,
|
||||
VK_BLEND_SRC1_COLOR = 15,
|
||||
VK_BLEND_ONE_MINUS_SRC1_COLOR = 16,
|
||||
VK_BLEND_SRC1_ALPHA = 17,
|
||||
VK_BLEND_ONE_MINUS_SRC1_ALPHA = 18,
|
||||
VK_BLEND_BEGIN_RANGE = VK_BLEND_ZERO,
|
||||
VK_BLEND_END_RANGE = VK_BLEND_ONE_MINUS_SRC1_ALPHA,
|
||||
VK_BLEND_RANGE_SIZE = (VK_BLEND_ONE_MINUS_SRC1_ALPHA - VK_BLEND_ZERO + 1),
|
||||
VK_BLEND_MAX_ENUM = 0x7FFFFFFF
|
||||
} VkBlend;
|
||||
VK_BLEND_FACTOR_ZERO = 0,
|
||||
VK_BLEND_FACTOR_ONE = 1,
|
||||
VK_BLEND_FACTOR_SRC_COLOR = 2,
|
||||
VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
|
||||
VK_BLEND_FACTOR_DST_COLOR = 4,
|
||||
VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
|
||||
VK_BLEND_FACTOR_SRC_ALPHA = 6,
|
||||
VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
|
||||
VK_BLEND_FACTOR_DST_ALPHA = 8,
|
||||
VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
|
||||
VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
|
||||
VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
|
||||
VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
|
||||
VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
|
||||
VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
|
||||
VK_BLEND_FACTOR_SRC1_COLOR = 15,
|
||||
VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
|
||||
VK_BLEND_FACTOR_SRC1_ALPHA = 17,
|
||||
VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
|
||||
VK_BLEND_FACTOR_BEGIN_RANGE = VK_BLEND_FACTOR_ZERO,
|
||||
VK_BLEND_FACTOR_END_RANGE = VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA,
|
||||
VK_BLEND_FACTOR_RANGE_SIZE = (VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA - VK_BLEND_FACTOR_ZERO + 1),
|
||||
VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
|
||||
} VkBlendFactor;
|
||||
|
||||
typedef enum VkBlendOp {
|
||||
VK_BLEND_OP_ADD = 0,
|
||||
@@ -1681,12 +1681,12 @@ typedef struct {
|
||||
|
||||
typedef struct {
|
||||
VkBool32 blendEnable;
|
||||
VkBlend srcBlendColor;
|
||||
VkBlend destBlendColor;
|
||||
VkBlendOp blendOpColor;
|
||||
VkBlend srcBlendAlpha;
|
||||
VkBlend destBlendAlpha;
|
||||
VkBlendOp blendOpAlpha;
|
||||
VkBlendFactor srcColorBlendFactor;
|
||||
VkBlendFactor dstColorBlendFactor;
|
||||
VkBlendOp colorBlendOp;
|
||||
VkBlendFactor srcAlphaBlendFactor;
|
||||
VkBlendFactor dstAlphaBlendFactor;
|
||||
VkBlendOp alphaBlendOp;
|
||||
VkChannelFlags channelWriteMask;
|
||||
} VkPipelineColorBlendAttachmentState;
|
||||
|
||||
|
@@ -144,10 +144,10 @@ static const uint32_t vk_to_gen_compare_op[] = {
|
||||
[VK_COMPARE_OP_NEVER] = PREFILTEROPNEVER,
|
||||
[VK_COMPARE_OP_LESS] = PREFILTEROPLESS,
|
||||
[VK_COMPARE_OP_EQUAL] = PREFILTEROPEQUAL,
|
||||
[VK_COMPARE_OP_LESS_EQUAL] = PREFILTEROPLEQUAL,
|
||||
[VK_COMPARE_OP_LESS_OR_EQUAL] = PREFILTEROPLEQUAL,
|
||||
[VK_COMPARE_OP_GREATER] = PREFILTEROPGREATER,
|
||||
[VK_COMPARE_OP_NOT_EQUAL] = PREFILTEROPNOTEQUAL,
|
||||
[VK_COMPARE_OP_GREATER_EQUAL] = PREFILTEROPGEQUAL,
|
||||
[VK_COMPARE_OP_GREATER_OR_EQUAL] = PREFILTEROPGEQUAL,
|
||||
[VK_COMPARE_OP_ALWAYS] = PREFILTEROPALWAYS,
|
||||
};
|
||||
|
||||
@@ -155,11 +155,11 @@ static const uint32_t vk_to_gen_stencil_op[] = {
|
||||
[VK_STENCIL_OP_KEEP] = STENCILOP_KEEP,
|
||||
[VK_STENCIL_OP_ZERO] = STENCILOP_ZERO,
|
||||
[VK_STENCIL_OP_REPLACE] = STENCILOP_REPLACE,
|
||||
[VK_STENCIL_OP_INC_CLAMP] = STENCILOP_INCRSAT,
|
||||
[VK_STENCIL_OP_DEC_CLAMP] = STENCILOP_DECRSAT,
|
||||
[VK_STENCIL_OP_INCREMENT_AND_CLAMP] = STENCILOP_INCRSAT,
|
||||
[VK_STENCIL_OP_DECREMENT_AND_CLAMP] = STENCILOP_DECRSAT,
|
||||
[VK_STENCIL_OP_INVERT] = STENCILOP_INVERT,
|
||||
[VK_STENCIL_OP_INC_WRAP] = STENCILOP_INCR,
|
||||
[VK_STENCIL_OP_DEC_WRAP] = STENCILOP_DECR,
|
||||
[VK_STENCIL_OP_INCREMENT_AND_WRAP] = STENCILOP_INCR,
|
||||
[VK_STENCIL_OP_DECREMENT_AND_WRAP] = STENCILOP_DECR,
|
||||
};
|
||||
|
||||
static const uint32_t vk_to_gen_blend_op[] = {
|
||||
@@ -176,11 +176,11 @@ static const uint32_t vk_to_gen_logic_op[] = {
|
||||
[VK_LOGIC_OP_AND] = LOGICOP_AND,
|
||||
[VK_LOGIC_OP_AND_REVERSE] = LOGICOP_AND_REVERSE,
|
||||
[VK_LOGIC_OP_AND_INVERTED] = LOGICOP_AND_INVERTED,
|
||||
[VK_LOGIC_OP_NOOP] = LOGICOP_NOOP,
|
||||
[VK_LOGIC_OP_NO_OP] = LOGICOP_NOOP,
|
||||
[VK_LOGIC_OP_XOR] = LOGICOP_XOR,
|
||||
[VK_LOGIC_OP_OR] = LOGICOP_OR,
|
||||
[VK_LOGIC_OP_NOR] = LOGICOP_NOR,
|
||||
[VK_LOGIC_OP_EQUIV] = LOGICOP_EQUIV,
|
||||
[VK_LOGIC_OP_EQUIVALENT] = LOGICOP_EQUIV,
|
||||
[VK_LOGIC_OP_INVERT] = LOGICOP_INVERT,
|
||||
[VK_LOGIC_OP_OR_REVERSE] = LOGICOP_OR_REVERSE,
|
||||
[VK_LOGIC_OP_COPY_INVERTED] = LOGICOP_COPY_INVERTED,
|
||||
@@ -190,25 +190,25 @@ static const uint32_t vk_to_gen_logic_op[] = {
|
||||
};
|
||||
|
||||
static const uint32_t vk_to_gen_blend[] = {
|
||||
[VK_BLEND_ZERO] = BLENDFACTOR_ZERO,
|
||||
[VK_BLEND_ONE] = BLENDFACTOR_ONE,
|
||||
[VK_BLEND_SRC_COLOR] = BLENDFACTOR_SRC_COLOR,
|
||||
[VK_BLEND_ONE_MINUS_SRC_COLOR] = BLENDFACTOR_INV_SRC_COLOR,
|
||||
[VK_BLEND_DEST_COLOR] = BLENDFACTOR_DST_COLOR,
|
||||
[VK_BLEND_ONE_MINUS_DEST_COLOR] = BLENDFACTOR_INV_DST_COLOR,
|
||||
[VK_BLEND_SRC_ALPHA] = BLENDFACTOR_SRC_ALPHA,
|
||||
[VK_BLEND_ONE_MINUS_SRC_ALPHA] = BLENDFACTOR_INV_SRC_ALPHA,
|
||||
[VK_BLEND_DEST_ALPHA] = BLENDFACTOR_DST_ALPHA,
|
||||
[VK_BLEND_ONE_MINUS_DEST_ALPHA] = BLENDFACTOR_INV_DST_ALPHA,
|
||||
[VK_BLEND_CONSTANT_COLOR] = BLENDFACTOR_CONST_COLOR,
|
||||
[VK_BLEND_ONE_MINUS_CONSTANT_COLOR] = BLENDFACTOR_INV_CONST_COLOR,
|
||||
[VK_BLEND_CONSTANT_ALPHA] = BLENDFACTOR_CONST_ALPHA,
|
||||
[VK_BLEND_ONE_MINUS_CONSTANT_ALPHA] = BLENDFACTOR_INV_CONST_ALPHA,
|
||||
[VK_BLEND_SRC_ALPHA_SATURATE] = BLENDFACTOR_SRC_ALPHA_SATURATE,
|
||||
[VK_BLEND_SRC1_COLOR] = BLENDFACTOR_SRC1_COLOR,
|
||||
[VK_BLEND_ONE_MINUS_SRC1_COLOR] = BLENDFACTOR_INV_SRC1_COLOR,
|
||||
[VK_BLEND_SRC1_ALPHA] = BLENDFACTOR_SRC1_ALPHA,
|
||||
[VK_BLEND_ONE_MINUS_SRC1_ALPHA] = BLENDFACTOR_INV_SRC1_ALPHA,
|
||||
[VK_BLEND_FACTOR_ZERO] = BLENDFACTOR_ZERO,
|
||||
[VK_BLEND_FACTOR_ONE] = BLENDFACTOR_ONE,
|
||||
[VK_BLEND_FACTOR_SRC_COLOR] = BLENDFACTOR_SRC_COLOR,
|
||||
[VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR] = BLENDFACTOR_INV_SRC_COLOR,
|
||||
[VK_BLEND_FACTOR_DST_COLOR] = BLENDFACTOR_DST_COLOR,
|
||||
[VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR] = BLENDFACTOR_INV_DST_COLOR,
|
||||
[VK_BLEND_FACTOR_SRC_ALPHA] = BLENDFACTOR_SRC_ALPHA,
|
||||
[VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA] = BLENDFACTOR_INV_SRC_ALPHA,
|
||||
[VK_BLEND_FACTOR_DST_ALPHA] = BLENDFACTOR_DST_ALPHA,
|
||||
[VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA] = BLENDFACTOR_INV_DST_ALPHA,
|
||||
[VK_BLEND_FACTOR_CONSTANT_COLOR] = BLENDFACTOR_CONST_COLOR,
|
||||
[VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR] = BLENDFACTOR_INV_CONST_COLOR,
|
||||
[VK_BLEND_FACTOR_CONSTANT_ALPHA] = BLENDFACTOR_CONST_ALPHA,
|
||||
[VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA] = BLENDFACTOR_INV_CONST_ALPHA,
|
||||
[VK_BLEND_FACTOR_SRC_ALPHA_SATURATE] = BLENDFACTOR_SRC_ALPHA_SATURATE,
|
||||
[VK_BLEND_FACTOR_SRC1_COLOR] = BLENDFACTOR_SRC1_COLOR,
|
||||
[VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR] = BLENDFACTOR_INV_SRC1_COLOR,
|
||||
[VK_BLEND_FACTOR_SRC1_ALPHA] = BLENDFACTOR_SRC1_ALPHA,
|
||||
[VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA] = BLENDFACTOR_INV_SRC1_ALPHA,
|
||||
};
|
||||
|
||||
static void
|
||||
@@ -274,14 +274,14 @@ gen7_emit_cb_state(struct anv_pipeline *pipeline,
|
||||
struct GEN7_BLEND_STATE blend_state = {
|
||||
.ColorBufferBlendEnable = a->blendEnable,
|
||||
.IndependentAlphaBlendEnable = true, /* FIXME: yes? */
|
||||
.AlphaBlendFunction = vk_to_gen_blend_op[a->blendOpAlpha],
|
||||
.AlphaBlendFunction = vk_to_gen_blend_op[a->alphaBlendOp],
|
||||
|
||||
.SourceAlphaBlendFactor = vk_to_gen_blend[a->srcBlendAlpha],
|
||||
.DestinationAlphaBlendFactor = vk_to_gen_blend[a->destBlendAlpha],
|
||||
.SourceAlphaBlendFactor = vk_to_gen_blend[a->srcAlphaBlendFactor],
|
||||
.DestinationAlphaBlendFactor = vk_to_gen_blend[a->dstAlphaBlendFactor],
|
||||
|
||||
.ColorBlendFunction = vk_to_gen_blend_op[a->blendOpColor],
|
||||
.SourceBlendFactor = vk_to_gen_blend[a->srcBlendColor],
|
||||
.DestinationBlendFactor = vk_to_gen_blend[a->destBlendColor],
|
||||
.ColorBlendFunction = vk_to_gen_blend_op[a->colorBlendOp],
|
||||
.SourceBlendFactor = vk_to_gen_blend[a->srcColorBlendFactor],
|
||||
.DestinationBlendFactor = vk_to_gen_blend[a->dstColorBlendFactor],
|
||||
.AlphaToCoverageEnable = info->alphaToCoverageEnable,
|
||||
|
||||
# if 0
|
||||
|
@@ -86,10 +86,10 @@ static const uint32_t vk_to_gen_compare_op[] = {
|
||||
[VK_COMPARE_OP_NEVER] = PREFILTEROPNEVER,
|
||||
[VK_COMPARE_OP_LESS] = PREFILTEROPLESS,
|
||||
[VK_COMPARE_OP_EQUAL] = PREFILTEROPEQUAL,
|
||||
[VK_COMPARE_OP_LESS_EQUAL] = PREFILTEROPLEQUAL,
|
||||
[VK_COMPARE_OP_LESS_OR_EQUAL] = PREFILTEROPLEQUAL,
|
||||
[VK_COMPARE_OP_GREATER] = PREFILTEROPGREATER,
|
||||
[VK_COMPARE_OP_NOT_EQUAL] = PREFILTEROPNOTEQUAL,
|
||||
[VK_COMPARE_OP_GREATER_EQUAL] = PREFILTEROPGEQUAL,
|
||||
[VK_COMPARE_OP_GREATER_OR_EQUAL] = PREFILTEROPGEQUAL,
|
||||
[VK_COMPARE_OP_ALWAYS] = PREFILTEROPALWAYS,
|
||||
};
|
||||
|
||||
|
@@ -158,11 +158,11 @@ emit_cb_state(struct anv_pipeline *pipeline,
|
||||
[VK_LOGIC_OP_AND] = LOGICOP_AND,
|
||||
[VK_LOGIC_OP_AND_REVERSE] = LOGICOP_AND_REVERSE,
|
||||
[VK_LOGIC_OP_AND_INVERTED] = LOGICOP_AND_INVERTED,
|
||||
[VK_LOGIC_OP_NOOP] = LOGICOP_NOOP,
|
||||
[VK_LOGIC_OP_NO_OP] = LOGICOP_NOOP,
|
||||
[VK_LOGIC_OP_XOR] = LOGICOP_XOR,
|
||||
[VK_LOGIC_OP_OR] = LOGICOP_OR,
|
||||
[VK_LOGIC_OP_NOR] = LOGICOP_NOR,
|
||||
[VK_LOGIC_OP_EQUIV] = LOGICOP_EQUIV,
|
||||
[VK_LOGIC_OP_EQUIVALENT] = LOGICOP_EQUIV,
|
||||
[VK_LOGIC_OP_INVERT] = LOGICOP_INVERT,
|
||||
[VK_LOGIC_OP_OR_REVERSE] = LOGICOP_OR_REVERSE,
|
||||
[VK_LOGIC_OP_COPY_INVERTED] = LOGICOP_COPY_INVERTED,
|
||||
@@ -172,25 +172,25 @@ emit_cb_state(struct anv_pipeline *pipeline,
|
||||
};
|
||||
|
||||
static const uint32_t vk_to_gen_blend[] = {
|
||||
[VK_BLEND_ZERO] = BLENDFACTOR_ZERO,
|
||||
[VK_BLEND_ONE] = BLENDFACTOR_ONE,
|
||||
[VK_BLEND_SRC_COLOR] = BLENDFACTOR_SRC_COLOR,
|
||||
[VK_BLEND_ONE_MINUS_SRC_COLOR] = BLENDFACTOR_INV_SRC_COLOR,
|
||||
[VK_BLEND_DEST_COLOR] = BLENDFACTOR_DST_COLOR,
|
||||
[VK_BLEND_ONE_MINUS_DEST_COLOR] = BLENDFACTOR_INV_DST_COLOR,
|
||||
[VK_BLEND_SRC_ALPHA] = BLENDFACTOR_SRC_ALPHA,
|
||||
[VK_BLEND_ONE_MINUS_SRC_ALPHA] = BLENDFACTOR_INV_SRC_ALPHA,
|
||||
[VK_BLEND_DEST_ALPHA] = BLENDFACTOR_DST_ALPHA,
|
||||
[VK_BLEND_ONE_MINUS_DEST_ALPHA] = BLENDFACTOR_INV_DST_ALPHA,
|
||||
[VK_BLEND_CONSTANT_COLOR] = BLENDFACTOR_CONST_COLOR,
|
||||
[VK_BLEND_ONE_MINUS_CONSTANT_COLOR] = BLENDFACTOR_INV_CONST_COLOR,
|
||||
[VK_BLEND_CONSTANT_ALPHA] = BLENDFACTOR_CONST_ALPHA,
|
||||
[VK_BLEND_ONE_MINUS_CONSTANT_ALPHA] = BLENDFACTOR_INV_CONST_ALPHA,
|
||||
[VK_BLEND_SRC_ALPHA_SATURATE] = BLENDFACTOR_SRC_ALPHA_SATURATE,
|
||||
[VK_BLEND_SRC1_COLOR] = BLENDFACTOR_SRC1_COLOR,
|
||||
[VK_BLEND_ONE_MINUS_SRC1_COLOR] = BLENDFACTOR_INV_SRC1_COLOR,
|
||||
[VK_BLEND_SRC1_ALPHA] = BLENDFACTOR_SRC1_ALPHA,
|
||||
[VK_BLEND_ONE_MINUS_SRC1_ALPHA] = BLENDFACTOR_INV_SRC1_ALPHA,
|
||||
[VK_BLEND_FACTOR_ZERO] = BLENDFACTOR_ZERO,
|
||||
[VK_BLEND_FACTOR_ONE] = BLENDFACTOR_ONE,
|
||||
[VK_BLEND_FACTOR_SRC_COLOR] = BLENDFACTOR_SRC_COLOR,
|
||||
[VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR] = BLENDFACTOR_INV_SRC_COLOR,
|
||||
[VK_BLEND_FACTOR_DST_COLOR] = BLENDFACTOR_DST_COLOR,
|
||||
[VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR] = BLENDFACTOR_INV_DST_COLOR,
|
||||
[VK_BLEND_FACTOR_SRC_ALPHA] = BLENDFACTOR_SRC_ALPHA,
|
||||
[VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA] = BLENDFACTOR_INV_SRC_ALPHA,
|
||||
[VK_BLEND_FACTOR_DST_ALPHA] = BLENDFACTOR_DST_ALPHA,
|
||||
[VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA] = BLENDFACTOR_INV_DST_ALPHA,
|
||||
[VK_BLEND_FACTOR_CONSTANT_COLOR] = BLENDFACTOR_CONST_COLOR,
|
||||
[VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR]= BLENDFACTOR_INV_CONST_COLOR,
|
||||
[VK_BLEND_FACTOR_CONSTANT_ALPHA] = BLENDFACTOR_CONST_ALPHA,
|
||||
[VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA]= BLENDFACTOR_INV_CONST_ALPHA,
|
||||
[VK_BLEND_FACTOR_SRC_ALPHA_SATURATE] = BLENDFACTOR_SRC_ALPHA_SATURATE,
|
||||
[VK_BLEND_FACTOR_SRC1_COLOR] = BLENDFACTOR_SRC1_COLOR,
|
||||
[VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR] = BLENDFACTOR_INV_SRC1_COLOR,
|
||||
[VK_BLEND_FACTOR_SRC1_ALPHA] = BLENDFACTOR_SRC1_ALPHA,
|
||||
[VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA] = BLENDFACTOR_INV_SRC1_ALPHA,
|
||||
};
|
||||
|
||||
static const uint32_t vk_to_gen_blend_op[] = {
|
||||
@@ -213,9 +213,9 @@ emit_cb_state(struct anv_pipeline *pipeline,
|
||||
for (uint32_t i = 0; i < info->attachmentCount; i++) {
|
||||
const VkPipelineColorBlendAttachmentState *a = &info->pAttachments[i];
|
||||
|
||||
if (a->srcBlendColor != a->srcBlendAlpha ||
|
||||
a->destBlendColor != a->destBlendAlpha ||
|
||||
a->blendOpColor != a->blendOpAlpha) {
|
||||
if (a->srcColorBlendFactor != a->srcAlphaBlendFactor ||
|
||||
a->dstColorBlendFactor != a->dstAlphaBlendFactor ||
|
||||
a->colorBlendOp != a->alphaBlendOp) {
|
||||
blend_state.IndependentAlphaBlendEnable = true;
|
||||
}
|
||||
|
||||
@@ -227,12 +227,12 @@ emit_cb_state(struct anv_pipeline *pipeline,
|
||||
.ColorClampRange = COLORCLAMP_RTFORMAT,
|
||||
.PreBlendColorClampEnable = true,
|
||||
.PostBlendColorClampEnable = true,
|
||||
.SourceBlendFactor = vk_to_gen_blend[a->srcBlendColor],
|
||||
.DestinationBlendFactor = vk_to_gen_blend[a->destBlendColor],
|
||||
.ColorBlendFunction = vk_to_gen_blend_op[a->blendOpColor],
|
||||
.SourceAlphaBlendFactor = vk_to_gen_blend[a->srcBlendAlpha],
|
||||
.DestinationAlphaBlendFactor = vk_to_gen_blend[a->destBlendAlpha],
|
||||
.AlphaBlendFunction = vk_to_gen_blend_op[a->blendOpAlpha],
|
||||
.SourceBlendFactor = vk_to_gen_blend[a->srcColorBlendFactor],
|
||||
.DestinationBlendFactor = vk_to_gen_blend[a->dstColorBlendFactor],
|
||||
.ColorBlendFunction = vk_to_gen_blend_op[a->colorBlendOp],
|
||||
.SourceAlphaBlendFactor = vk_to_gen_blend[a->srcAlphaBlendFactor],
|
||||
.DestinationAlphaBlendFactor = vk_to_gen_blend[a->dstAlphaBlendFactor],
|
||||
.AlphaBlendFunction = vk_to_gen_blend_op[a->alphaBlendOp],
|
||||
.WriteDisableAlpha = !(a->channelWriteMask & VK_CHANNEL_A_BIT),
|
||||
.WriteDisableRed = !(a->channelWriteMask & VK_CHANNEL_R_BIT),
|
||||
.WriteDisableGreen = !(a->channelWriteMask & VK_CHANNEL_G_BIT),
|
||||
@@ -245,13 +245,13 @@ emit_cb_state(struct anv_pipeline *pipeline,
|
||||
* means that, for MIN and MAX, we have to stomp the blend factor to
|
||||
* ONE to make it a no-op.
|
||||
*/
|
||||
if (a->blendOpColor == VK_BLEND_OP_MIN ||
|
||||
a->blendOpColor == VK_BLEND_OP_MAX) {
|
||||
if (a->colorBlendOp == VK_BLEND_OP_MIN ||
|
||||
a->colorBlendOp == VK_BLEND_OP_MAX) {
|
||||
blend_state.Entry[i].SourceBlendFactor = BLENDFACTOR_ONE;
|
||||
blend_state.Entry[i].DestinationBlendFactor = BLENDFACTOR_ONE;
|
||||
}
|
||||
if (a->blendOpAlpha == VK_BLEND_OP_MIN ||
|
||||
a->blendOpAlpha == VK_BLEND_OP_MAX) {
|
||||
if (a->alphaBlendOp == VK_BLEND_OP_MIN ||
|
||||
a->alphaBlendOp == VK_BLEND_OP_MAX) {
|
||||
blend_state.Entry[i].SourceAlphaBlendFactor = BLENDFACTOR_ONE;
|
||||
blend_state.Entry[i].DestinationAlphaBlendFactor = BLENDFACTOR_ONE;
|
||||
}
|
||||
@@ -265,25 +265,25 @@ emit_cb_state(struct anv_pipeline *pipeline,
|
||||
}
|
||||
|
||||
static const uint32_t vk_to_gen_compare_op[] = {
|
||||
[VK_COMPARE_OP_NEVER] = COMPAREFUNCTION_NEVER,
|
||||
[VK_COMPARE_OP_LESS] = COMPAREFUNCTION_LESS,
|
||||
[VK_COMPARE_OP_EQUAL] = COMPAREFUNCTION_EQUAL,
|
||||
[VK_COMPARE_OP_LESS_EQUAL] = COMPAREFUNCTION_LEQUAL,
|
||||
[VK_COMPARE_OP_GREATER] = COMPAREFUNCTION_GREATER,
|
||||
[VK_COMPARE_OP_NOT_EQUAL] = COMPAREFUNCTION_NOTEQUAL,
|
||||
[VK_COMPARE_OP_GREATER_EQUAL] = COMPAREFUNCTION_GEQUAL,
|
||||
[VK_COMPARE_OP_ALWAYS] = COMPAREFUNCTION_ALWAYS,
|
||||
[VK_COMPARE_OP_NEVER] = PREFILTEROPNEVER,
|
||||
[VK_COMPARE_OP_LESS] = PREFILTEROPLESS,
|
||||
[VK_COMPARE_OP_EQUAL] = PREFILTEROPEQUAL,
|
||||
[VK_COMPARE_OP_LESS_OR_EQUAL] = PREFILTEROPLEQUAL,
|
||||
[VK_COMPARE_OP_GREATER] = PREFILTEROPGREATER,
|
||||
[VK_COMPARE_OP_NOT_EQUAL] = PREFILTEROPNOTEQUAL,
|
||||
[VK_COMPARE_OP_GREATER_OR_EQUAL] = PREFILTEROPGEQUAL,
|
||||
[VK_COMPARE_OP_ALWAYS] = PREFILTEROPALWAYS,
|
||||
};
|
||||
|
||||
static const uint32_t vk_to_gen_stencil_op[] = {
|
||||
[VK_STENCIL_OP_KEEP] = STENCILOP_KEEP,
|
||||
[VK_STENCIL_OP_ZERO] = STENCILOP_ZERO,
|
||||
[VK_STENCIL_OP_REPLACE] = STENCILOP_REPLACE,
|
||||
[VK_STENCIL_OP_INC_CLAMP] = STENCILOP_INCRSAT,
|
||||
[VK_STENCIL_OP_DEC_CLAMP] = STENCILOP_DECRSAT,
|
||||
[VK_STENCIL_OP_INCREMENT_AND_CLAMP] = STENCILOP_INCRSAT,
|
||||
[VK_STENCIL_OP_DECREMENT_AND_CLAMP] = STENCILOP_DECRSAT,
|
||||
[VK_STENCIL_OP_INVERT] = STENCILOP_INVERT,
|
||||
[VK_STENCIL_OP_INC_WRAP] = STENCILOP_INCR,
|
||||
[VK_STENCIL_OP_DEC_WRAP] = STENCILOP_DECR,
|
||||
[VK_STENCIL_OP_INCREMENT_AND_WRAP] = STENCILOP_INCR,
|
||||
[VK_STENCIL_OP_DECREMENT_AND_WRAP] = STENCILOP_DECR,
|
||||
};
|
||||
|
||||
static void
|
||||
|
@@ -305,10 +305,10 @@ VkResult genX(CreateSampler)(
|
||||
[VK_COMPARE_OP_NEVER] = PREFILTEROPNEVER,
|
||||
[VK_COMPARE_OP_LESS] = PREFILTEROPLESS,
|
||||
[VK_COMPARE_OP_EQUAL] = PREFILTEROPEQUAL,
|
||||
[VK_COMPARE_OP_LESS_EQUAL] = PREFILTEROPLEQUAL,
|
||||
[VK_COMPARE_OP_LESS_OR_EQUAL] = PREFILTEROPLEQUAL,
|
||||
[VK_COMPARE_OP_GREATER] = PREFILTEROPGREATER,
|
||||
[VK_COMPARE_OP_NOT_EQUAL] = PREFILTEROPNOTEQUAL,
|
||||
[VK_COMPARE_OP_GREATER_EQUAL] = PREFILTEROPGEQUAL,
|
||||
[VK_COMPARE_OP_GREATER_OR_EQUAL] = PREFILTEROPGEQUAL,
|
||||
[VK_COMPARE_OP_ALWAYS] = PREFILTEROPALWAYS,
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user