vk/0.210.0: Rework color blending enums

This commit is contained in:
Jason Ekstrand
2015-11-30 13:49:28 -08:00
parent 2c77b0cd01
commit 73ef7d47d2
5 changed files with 123 additions and 123 deletions

View File

@@ -544,10 +544,10 @@ typedef enum VkCompareOp {
VK_COMPARE_OP_NEVER = 0, VK_COMPARE_OP_NEVER = 0,
VK_COMPARE_OP_LESS = 1, VK_COMPARE_OP_LESS = 1,
VK_COMPARE_OP_EQUAL = 2, 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_GREATER = 4,
VK_COMPARE_OP_NOT_EQUAL = 5, 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_ALWAYS = 7,
VK_COMPARE_OP_BEGIN_RANGE = VK_COMPARE_OP_NEVER, VK_COMPARE_OP_BEGIN_RANGE = VK_COMPARE_OP_NEVER,
VK_COMPARE_OP_END_RANGE = VK_COMPARE_OP_ALWAYS, VK_COMPARE_OP_END_RANGE = VK_COMPARE_OP_ALWAYS,
@@ -559,14 +559,14 @@ typedef enum VkStencilOp {
VK_STENCIL_OP_KEEP = 0, VK_STENCIL_OP_KEEP = 0,
VK_STENCIL_OP_ZERO = 1, VK_STENCIL_OP_ZERO = 1,
VK_STENCIL_OP_REPLACE = 2, VK_STENCIL_OP_REPLACE = 2,
VK_STENCIL_OP_INC_CLAMP = 3, VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
VK_STENCIL_OP_DEC_CLAMP = 4, VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
VK_STENCIL_OP_INVERT = 5, VK_STENCIL_OP_INVERT = 5,
VK_STENCIL_OP_INC_WRAP = 6, VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
VK_STENCIL_OP_DEC_WRAP = 7, VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
VK_STENCIL_OP_BEGIN_RANGE = VK_STENCIL_OP_KEEP, VK_STENCIL_OP_BEGIN_RANGE = VK_STENCIL_OP_KEEP,
VK_STENCIL_OP_END_RANGE = VK_STENCIL_OP_DEC_WRAP, VK_STENCIL_OP_END_RANGE = VK_STENCIL_OP_DECREMENT_AND_WRAP,
VK_STENCIL_OP_RANGE_SIZE = (VK_STENCIL_OP_DEC_WRAP - VK_STENCIL_OP_KEEP + 1), VK_STENCIL_OP_RANGE_SIZE = (VK_STENCIL_OP_DECREMENT_AND_WRAP - VK_STENCIL_OP_KEEP + 1),
VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
} VkStencilOp; } VkStencilOp;
@@ -576,11 +576,11 @@ typedef enum VkLogicOp {
VK_LOGIC_OP_AND_REVERSE = 2, VK_LOGIC_OP_AND_REVERSE = 2,
VK_LOGIC_OP_COPY = 3, VK_LOGIC_OP_COPY = 3,
VK_LOGIC_OP_AND_INVERTED = 4, 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_XOR = 6,
VK_LOGIC_OP_OR = 7, VK_LOGIC_OP_OR = 7,
VK_LOGIC_OP_NOR = 8, VK_LOGIC_OP_NOR = 8,
VK_LOGIC_OP_EQUIV = 9, VK_LOGIC_OP_EQUIVALENT = 9,
VK_LOGIC_OP_INVERT = 10, VK_LOGIC_OP_INVERT = 10,
VK_LOGIC_OP_OR_REVERSE = 11, VK_LOGIC_OP_OR_REVERSE = 11,
VK_LOGIC_OP_COPY_INVERTED = 12, VK_LOGIC_OP_COPY_INVERTED = 12,
@@ -594,30 +594,30 @@ typedef enum VkLogicOp {
} VkLogicOp; } VkLogicOp;
typedef enum VkBlendFactor { typedef enum VkBlendFactor {
VK_BLEND_ZERO = 0, VK_BLEND_FACTOR_ZERO = 0,
VK_BLEND_ONE = 1, VK_BLEND_FACTOR_ONE = 1,
VK_BLEND_SRC_COLOR = 2, VK_BLEND_FACTOR_SRC_COLOR = 2,
VK_BLEND_ONE_MINUS_SRC_COLOR = 3, VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
VK_BLEND_DEST_COLOR = 4, VK_BLEND_FACTOR_DST_COLOR = 4,
VK_BLEND_ONE_MINUS_DEST_COLOR = 5, VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
VK_BLEND_SRC_ALPHA = 6, VK_BLEND_FACTOR_SRC_ALPHA = 6,
VK_BLEND_ONE_MINUS_SRC_ALPHA = 7, VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
VK_BLEND_DEST_ALPHA = 8, VK_BLEND_FACTOR_DST_ALPHA = 8,
VK_BLEND_ONE_MINUS_DEST_ALPHA = 9, VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
VK_BLEND_CONSTANT_COLOR = 10, VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
VK_BLEND_ONE_MINUS_CONSTANT_COLOR = 11, VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
VK_BLEND_CONSTANT_ALPHA = 12, VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
VK_BLEND_ONE_MINUS_CONSTANT_ALPHA = 13, VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
VK_BLEND_SRC_ALPHA_SATURATE = 14, VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
VK_BLEND_SRC1_COLOR = 15, VK_BLEND_FACTOR_SRC1_COLOR = 15,
VK_BLEND_ONE_MINUS_SRC1_COLOR = 16, VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
VK_BLEND_SRC1_ALPHA = 17, VK_BLEND_FACTOR_SRC1_ALPHA = 17,
VK_BLEND_ONE_MINUS_SRC1_ALPHA = 18, VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
VK_BLEND_BEGIN_RANGE = VK_BLEND_ZERO, VK_BLEND_FACTOR_BEGIN_RANGE = VK_BLEND_FACTOR_ZERO,
VK_BLEND_END_RANGE = VK_BLEND_ONE_MINUS_SRC1_ALPHA, VK_BLEND_FACTOR_END_RANGE = VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA,
VK_BLEND_RANGE_SIZE = (VK_BLEND_ONE_MINUS_SRC1_ALPHA - VK_BLEND_ZERO + 1), VK_BLEND_FACTOR_RANGE_SIZE = (VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA - VK_BLEND_FACTOR_ZERO + 1),
VK_BLEND_MAX_ENUM = 0x7FFFFFFF VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
} VkBlend; } VkBlendFactor;
typedef enum VkBlendOp { typedef enum VkBlendOp {
VK_BLEND_OP_ADD = 0, VK_BLEND_OP_ADD = 0,
@@ -1681,12 +1681,12 @@ typedef struct {
typedef struct { typedef struct {
VkBool32 blendEnable; VkBool32 blendEnable;
VkBlend srcBlendColor; VkBlendFactor srcColorBlendFactor;
VkBlend destBlendColor; VkBlendFactor dstColorBlendFactor;
VkBlendOp blendOpColor; VkBlendOp colorBlendOp;
VkBlend srcBlendAlpha; VkBlendFactor srcAlphaBlendFactor;
VkBlend destBlendAlpha; VkBlendFactor dstAlphaBlendFactor;
VkBlendOp blendOpAlpha; VkBlendOp alphaBlendOp;
VkChannelFlags channelWriteMask; VkChannelFlags channelWriteMask;
} VkPipelineColorBlendAttachmentState; } VkPipelineColorBlendAttachmentState;

View File

@@ -144,10 +144,10 @@ static const uint32_t vk_to_gen_compare_op[] = {
[VK_COMPARE_OP_NEVER] = PREFILTEROPNEVER, [VK_COMPARE_OP_NEVER] = PREFILTEROPNEVER,
[VK_COMPARE_OP_LESS] = PREFILTEROPLESS, [VK_COMPARE_OP_LESS] = PREFILTEROPLESS,
[VK_COMPARE_OP_EQUAL] = PREFILTEROPEQUAL, [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_GREATER] = PREFILTEROPGREATER,
[VK_COMPARE_OP_NOT_EQUAL] = PREFILTEROPNOTEQUAL, [VK_COMPARE_OP_NOT_EQUAL] = PREFILTEROPNOTEQUAL,
[VK_COMPARE_OP_GREATER_EQUAL] = PREFILTEROPGEQUAL, [VK_COMPARE_OP_GREATER_OR_EQUAL] = PREFILTEROPGEQUAL,
[VK_COMPARE_OP_ALWAYS] = PREFILTEROPALWAYS, [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_KEEP] = STENCILOP_KEEP,
[VK_STENCIL_OP_ZERO] = STENCILOP_ZERO, [VK_STENCIL_OP_ZERO] = STENCILOP_ZERO,
[VK_STENCIL_OP_REPLACE] = STENCILOP_REPLACE, [VK_STENCIL_OP_REPLACE] = STENCILOP_REPLACE,
[VK_STENCIL_OP_INC_CLAMP] = STENCILOP_INCRSAT, [VK_STENCIL_OP_INCREMENT_AND_CLAMP] = STENCILOP_INCRSAT,
[VK_STENCIL_OP_DEC_CLAMP] = STENCILOP_DECRSAT, [VK_STENCIL_OP_DECREMENT_AND_CLAMP] = STENCILOP_DECRSAT,
[VK_STENCIL_OP_INVERT] = STENCILOP_INVERT, [VK_STENCIL_OP_INVERT] = STENCILOP_INVERT,
[VK_STENCIL_OP_INC_WRAP] = STENCILOP_INCR, [VK_STENCIL_OP_INCREMENT_AND_WRAP] = STENCILOP_INCR,
[VK_STENCIL_OP_DEC_WRAP] = STENCILOP_DECR, [VK_STENCIL_OP_DECREMENT_AND_WRAP] = STENCILOP_DECR,
}; };
static const uint32_t vk_to_gen_blend_op[] = { 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] = LOGICOP_AND,
[VK_LOGIC_OP_AND_REVERSE] = LOGICOP_AND_REVERSE, [VK_LOGIC_OP_AND_REVERSE] = LOGICOP_AND_REVERSE,
[VK_LOGIC_OP_AND_INVERTED] = LOGICOP_AND_INVERTED, [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_XOR] = LOGICOP_XOR,
[VK_LOGIC_OP_OR] = LOGICOP_OR, [VK_LOGIC_OP_OR] = LOGICOP_OR,
[VK_LOGIC_OP_NOR] = LOGICOP_NOR, [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_INVERT] = LOGICOP_INVERT,
[VK_LOGIC_OP_OR_REVERSE] = LOGICOP_OR_REVERSE, [VK_LOGIC_OP_OR_REVERSE] = LOGICOP_OR_REVERSE,
[VK_LOGIC_OP_COPY_INVERTED] = LOGICOP_COPY_INVERTED, [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[] = { static const uint32_t vk_to_gen_blend[] = {
[VK_BLEND_ZERO] = BLENDFACTOR_ZERO, [VK_BLEND_FACTOR_ZERO] = BLENDFACTOR_ZERO,
[VK_BLEND_ONE] = BLENDFACTOR_ONE, [VK_BLEND_FACTOR_ONE] = BLENDFACTOR_ONE,
[VK_BLEND_SRC_COLOR] = BLENDFACTOR_SRC_COLOR, [VK_BLEND_FACTOR_SRC_COLOR] = BLENDFACTOR_SRC_COLOR,
[VK_BLEND_ONE_MINUS_SRC_COLOR] = BLENDFACTOR_INV_SRC_COLOR, [VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR] = BLENDFACTOR_INV_SRC_COLOR,
[VK_BLEND_DEST_COLOR] = BLENDFACTOR_DST_COLOR, [VK_BLEND_FACTOR_DST_COLOR] = BLENDFACTOR_DST_COLOR,
[VK_BLEND_ONE_MINUS_DEST_COLOR] = BLENDFACTOR_INV_DST_COLOR, [VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR] = BLENDFACTOR_INV_DST_COLOR,
[VK_BLEND_SRC_ALPHA] = BLENDFACTOR_SRC_ALPHA, [VK_BLEND_FACTOR_SRC_ALPHA] = BLENDFACTOR_SRC_ALPHA,
[VK_BLEND_ONE_MINUS_SRC_ALPHA] = BLENDFACTOR_INV_SRC_ALPHA, [VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA] = BLENDFACTOR_INV_SRC_ALPHA,
[VK_BLEND_DEST_ALPHA] = BLENDFACTOR_DST_ALPHA, [VK_BLEND_FACTOR_DST_ALPHA] = BLENDFACTOR_DST_ALPHA,
[VK_BLEND_ONE_MINUS_DEST_ALPHA] = BLENDFACTOR_INV_DST_ALPHA, [VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA] = BLENDFACTOR_INV_DST_ALPHA,
[VK_BLEND_CONSTANT_COLOR] = BLENDFACTOR_CONST_COLOR, [VK_BLEND_FACTOR_CONSTANT_COLOR] = BLENDFACTOR_CONST_COLOR,
[VK_BLEND_ONE_MINUS_CONSTANT_COLOR] = BLENDFACTOR_INV_CONST_COLOR, [VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR] = BLENDFACTOR_INV_CONST_COLOR,
[VK_BLEND_CONSTANT_ALPHA] = BLENDFACTOR_CONST_ALPHA, [VK_BLEND_FACTOR_CONSTANT_ALPHA] = BLENDFACTOR_CONST_ALPHA,
[VK_BLEND_ONE_MINUS_CONSTANT_ALPHA] = BLENDFACTOR_INV_CONST_ALPHA, [VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA] = BLENDFACTOR_INV_CONST_ALPHA,
[VK_BLEND_SRC_ALPHA_SATURATE] = BLENDFACTOR_SRC_ALPHA_SATURATE, [VK_BLEND_FACTOR_SRC_ALPHA_SATURATE] = BLENDFACTOR_SRC_ALPHA_SATURATE,
[VK_BLEND_SRC1_COLOR] = BLENDFACTOR_SRC1_COLOR, [VK_BLEND_FACTOR_SRC1_COLOR] = BLENDFACTOR_SRC1_COLOR,
[VK_BLEND_ONE_MINUS_SRC1_COLOR] = BLENDFACTOR_INV_SRC1_COLOR, [VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR] = BLENDFACTOR_INV_SRC1_COLOR,
[VK_BLEND_SRC1_ALPHA] = BLENDFACTOR_SRC1_ALPHA, [VK_BLEND_FACTOR_SRC1_ALPHA] = BLENDFACTOR_SRC1_ALPHA,
[VK_BLEND_ONE_MINUS_SRC1_ALPHA] = BLENDFACTOR_INV_SRC1_ALPHA, [VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA] = BLENDFACTOR_INV_SRC1_ALPHA,
}; };
static void static void
@@ -274,14 +274,14 @@ gen7_emit_cb_state(struct anv_pipeline *pipeline,
struct GEN7_BLEND_STATE blend_state = { struct GEN7_BLEND_STATE blend_state = {
.ColorBufferBlendEnable = a->blendEnable, .ColorBufferBlendEnable = a->blendEnable,
.IndependentAlphaBlendEnable = true, /* FIXME: yes? */ .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], .SourceAlphaBlendFactor = vk_to_gen_blend[a->srcAlphaBlendFactor],
.DestinationAlphaBlendFactor = vk_to_gen_blend[a->destBlendAlpha], .DestinationAlphaBlendFactor = vk_to_gen_blend[a->dstAlphaBlendFactor],
.ColorBlendFunction = vk_to_gen_blend_op[a->blendOpColor], .ColorBlendFunction = vk_to_gen_blend_op[a->colorBlendOp],
.SourceBlendFactor = vk_to_gen_blend[a->srcBlendColor], .SourceBlendFactor = vk_to_gen_blend[a->srcColorBlendFactor],
.DestinationBlendFactor = vk_to_gen_blend[a->destBlendColor], .DestinationBlendFactor = vk_to_gen_blend[a->dstColorBlendFactor],
.AlphaToCoverageEnable = info->alphaToCoverageEnable, .AlphaToCoverageEnable = info->alphaToCoverageEnable,
# if 0 # if 0

View File

@@ -86,10 +86,10 @@ static const uint32_t vk_to_gen_compare_op[] = {
[VK_COMPARE_OP_NEVER] = PREFILTEROPNEVER, [VK_COMPARE_OP_NEVER] = PREFILTEROPNEVER,
[VK_COMPARE_OP_LESS] = PREFILTEROPLESS, [VK_COMPARE_OP_LESS] = PREFILTEROPLESS,
[VK_COMPARE_OP_EQUAL] = PREFILTEROPEQUAL, [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_GREATER] = PREFILTEROPGREATER,
[VK_COMPARE_OP_NOT_EQUAL] = PREFILTEROPNOTEQUAL, [VK_COMPARE_OP_NOT_EQUAL] = PREFILTEROPNOTEQUAL,
[VK_COMPARE_OP_GREATER_EQUAL] = PREFILTEROPGEQUAL, [VK_COMPARE_OP_GREATER_OR_EQUAL] = PREFILTEROPGEQUAL,
[VK_COMPARE_OP_ALWAYS] = PREFILTEROPALWAYS, [VK_COMPARE_OP_ALWAYS] = PREFILTEROPALWAYS,
}; };

View File

@@ -158,11 +158,11 @@ emit_cb_state(struct anv_pipeline *pipeline,
[VK_LOGIC_OP_AND] = LOGICOP_AND, [VK_LOGIC_OP_AND] = LOGICOP_AND,
[VK_LOGIC_OP_AND_REVERSE] = LOGICOP_AND_REVERSE, [VK_LOGIC_OP_AND_REVERSE] = LOGICOP_AND_REVERSE,
[VK_LOGIC_OP_AND_INVERTED] = LOGICOP_AND_INVERTED, [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_XOR] = LOGICOP_XOR,
[VK_LOGIC_OP_OR] = LOGICOP_OR, [VK_LOGIC_OP_OR] = LOGICOP_OR,
[VK_LOGIC_OP_NOR] = LOGICOP_NOR, [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_INVERT] = LOGICOP_INVERT,
[VK_LOGIC_OP_OR_REVERSE] = LOGICOP_OR_REVERSE, [VK_LOGIC_OP_OR_REVERSE] = LOGICOP_OR_REVERSE,
[VK_LOGIC_OP_COPY_INVERTED] = LOGICOP_COPY_INVERTED, [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[] = { static const uint32_t vk_to_gen_blend[] = {
[VK_BLEND_ZERO] = BLENDFACTOR_ZERO, [VK_BLEND_FACTOR_ZERO] = BLENDFACTOR_ZERO,
[VK_BLEND_ONE] = BLENDFACTOR_ONE, [VK_BLEND_FACTOR_ONE] = BLENDFACTOR_ONE,
[VK_BLEND_SRC_COLOR] = BLENDFACTOR_SRC_COLOR, [VK_BLEND_FACTOR_SRC_COLOR] = BLENDFACTOR_SRC_COLOR,
[VK_BLEND_ONE_MINUS_SRC_COLOR] = BLENDFACTOR_INV_SRC_COLOR, [VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR] = BLENDFACTOR_INV_SRC_COLOR,
[VK_BLEND_DEST_COLOR] = BLENDFACTOR_DST_COLOR, [VK_BLEND_FACTOR_DST_COLOR] = BLENDFACTOR_DST_COLOR,
[VK_BLEND_ONE_MINUS_DEST_COLOR] = BLENDFACTOR_INV_DST_COLOR, [VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR] = BLENDFACTOR_INV_DST_COLOR,
[VK_BLEND_SRC_ALPHA] = BLENDFACTOR_SRC_ALPHA, [VK_BLEND_FACTOR_SRC_ALPHA] = BLENDFACTOR_SRC_ALPHA,
[VK_BLEND_ONE_MINUS_SRC_ALPHA] = BLENDFACTOR_INV_SRC_ALPHA, [VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA] = BLENDFACTOR_INV_SRC_ALPHA,
[VK_BLEND_DEST_ALPHA] = BLENDFACTOR_DST_ALPHA, [VK_BLEND_FACTOR_DST_ALPHA] = BLENDFACTOR_DST_ALPHA,
[VK_BLEND_ONE_MINUS_DEST_ALPHA] = BLENDFACTOR_INV_DST_ALPHA, [VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA] = BLENDFACTOR_INV_DST_ALPHA,
[VK_BLEND_CONSTANT_COLOR] = BLENDFACTOR_CONST_COLOR, [VK_BLEND_FACTOR_CONSTANT_COLOR] = BLENDFACTOR_CONST_COLOR,
[VK_BLEND_ONE_MINUS_CONSTANT_COLOR] = BLENDFACTOR_INV_CONST_COLOR, [VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR]= BLENDFACTOR_INV_CONST_COLOR,
[VK_BLEND_CONSTANT_ALPHA] = BLENDFACTOR_CONST_ALPHA, [VK_BLEND_FACTOR_CONSTANT_ALPHA] = BLENDFACTOR_CONST_ALPHA,
[VK_BLEND_ONE_MINUS_CONSTANT_ALPHA] = BLENDFACTOR_INV_CONST_ALPHA, [VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA]= BLENDFACTOR_INV_CONST_ALPHA,
[VK_BLEND_SRC_ALPHA_SATURATE] = BLENDFACTOR_SRC_ALPHA_SATURATE, [VK_BLEND_FACTOR_SRC_ALPHA_SATURATE] = BLENDFACTOR_SRC_ALPHA_SATURATE,
[VK_BLEND_SRC1_COLOR] = BLENDFACTOR_SRC1_COLOR, [VK_BLEND_FACTOR_SRC1_COLOR] = BLENDFACTOR_SRC1_COLOR,
[VK_BLEND_ONE_MINUS_SRC1_COLOR] = BLENDFACTOR_INV_SRC1_COLOR, [VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR] = BLENDFACTOR_INV_SRC1_COLOR,
[VK_BLEND_SRC1_ALPHA] = BLENDFACTOR_SRC1_ALPHA, [VK_BLEND_FACTOR_SRC1_ALPHA] = BLENDFACTOR_SRC1_ALPHA,
[VK_BLEND_ONE_MINUS_SRC1_ALPHA] = BLENDFACTOR_INV_SRC1_ALPHA, [VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA] = BLENDFACTOR_INV_SRC1_ALPHA,
}; };
static const uint32_t vk_to_gen_blend_op[] = { 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++) { for (uint32_t i = 0; i < info->attachmentCount; i++) {
const VkPipelineColorBlendAttachmentState *a = &info->pAttachments[i]; const VkPipelineColorBlendAttachmentState *a = &info->pAttachments[i];
if (a->srcBlendColor != a->srcBlendAlpha || if (a->srcColorBlendFactor != a->srcAlphaBlendFactor ||
a->destBlendColor != a->destBlendAlpha || a->dstColorBlendFactor != a->dstAlphaBlendFactor ||
a->blendOpColor != a->blendOpAlpha) { a->colorBlendOp != a->alphaBlendOp) {
blend_state.IndependentAlphaBlendEnable = true; blend_state.IndependentAlphaBlendEnable = true;
} }
@@ -227,12 +227,12 @@ emit_cb_state(struct anv_pipeline *pipeline,
.ColorClampRange = COLORCLAMP_RTFORMAT, .ColorClampRange = COLORCLAMP_RTFORMAT,
.PreBlendColorClampEnable = true, .PreBlendColorClampEnable = true,
.PostBlendColorClampEnable = true, .PostBlendColorClampEnable = true,
.SourceBlendFactor = vk_to_gen_blend[a->srcBlendColor], .SourceBlendFactor = vk_to_gen_blend[a->srcColorBlendFactor],
.DestinationBlendFactor = vk_to_gen_blend[a->destBlendColor], .DestinationBlendFactor = vk_to_gen_blend[a->dstColorBlendFactor],
.ColorBlendFunction = vk_to_gen_blend_op[a->blendOpColor], .ColorBlendFunction = vk_to_gen_blend_op[a->colorBlendOp],
.SourceAlphaBlendFactor = vk_to_gen_blend[a->srcBlendAlpha], .SourceAlphaBlendFactor = vk_to_gen_blend[a->srcAlphaBlendFactor],
.DestinationAlphaBlendFactor = vk_to_gen_blend[a->destBlendAlpha], .DestinationAlphaBlendFactor = vk_to_gen_blend[a->dstAlphaBlendFactor],
.AlphaBlendFunction = vk_to_gen_blend_op[a->blendOpAlpha], .AlphaBlendFunction = vk_to_gen_blend_op[a->alphaBlendOp],
.WriteDisableAlpha = !(a->channelWriteMask & VK_CHANNEL_A_BIT), .WriteDisableAlpha = !(a->channelWriteMask & VK_CHANNEL_A_BIT),
.WriteDisableRed = !(a->channelWriteMask & VK_CHANNEL_R_BIT), .WriteDisableRed = !(a->channelWriteMask & VK_CHANNEL_R_BIT),
.WriteDisableGreen = !(a->channelWriteMask & VK_CHANNEL_G_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 * means that, for MIN and MAX, we have to stomp the blend factor to
* ONE to make it a no-op. * ONE to make it a no-op.
*/ */
if (a->blendOpColor == VK_BLEND_OP_MIN || if (a->colorBlendOp == VK_BLEND_OP_MIN ||
a->blendOpColor == VK_BLEND_OP_MAX) { a->colorBlendOp == VK_BLEND_OP_MAX) {
blend_state.Entry[i].SourceBlendFactor = BLENDFACTOR_ONE; blend_state.Entry[i].SourceBlendFactor = BLENDFACTOR_ONE;
blend_state.Entry[i].DestinationBlendFactor = BLENDFACTOR_ONE; blend_state.Entry[i].DestinationBlendFactor = BLENDFACTOR_ONE;
} }
if (a->blendOpAlpha == VK_BLEND_OP_MIN || if (a->alphaBlendOp == VK_BLEND_OP_MIN ||
a->blendOpAlpha == VK_BLEND_OP_MAX) { a->alphaBlendOp == VK_BLEND_OP_MAX) {
blend_state.Entry[i].SourceAlphaBlendFactor = BLENDFACTOR_ONE; blend_state.Entry[i].SourceAlphaBlendFactor = BLENDFACTOR_ONE;
blend_state.Entry[i].DestinationAlphaBlendFactor = 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[] = { static const uint32_t vk_to_gen_compare_op[] = {
[VK_COMPARE_OP_NEVER] = COMPAREFUNCTION_NEVER, [VK_COMPARE_OP_NEVER] = PREFILTEROPNEVER,
[VK_COMPARE_OP_LESS] = COMPAREFUNCTION_LESS, [VK_COMPARE_OP_LESS] = PREFILTEROPLESS,
[VK_COMPARE_OP_EQUAL] = COMPAREFUNCTION_EQUAL, [VK_COMPARE_OP_EQUAL] = PREFILTEROPEQUAL,
[VK_COMPARE_OP_LESS_EQUAL] = COMPAREFUNCTION_LEQUAL, [VK_COMPARE_OP_LESS_OR_EQUAL] = PREFILTEROPLEQUAL,
[VK_COMPARE_OP_GREATER] = COMPAREFUNCTION_GREATER, [VK_COMPARE_OP_GREATER] = PREFILTEROPGREATER,
[VK_COMPARE_OP_NOT_EQUAL] = COMPAREFUNCTION_NOTEQUAL, [VK_COMPARE_OP_NOT_EQUAL] = PREFILTEROPNOTEQUAL,
[VK_COMPARE_OP_GREATER_EQUAL] = COMPAREFUNCTION_GEQUAL, [VK_COMPARE_OP_GREATER_OR_EQUAL] = PREFILTEROPGEQUAL,
[VK_COMPARE_OP_ALWAYS] = COMPAREFUNCTION_ALWAYS, [VK_COMPARE_OP_ALWAYS] = PREFILTEROPALWAYS,
}; };
static const uint32_t vk_to_gen_stencil_op[] = { static const uint32_t vk_to_gen_stencil_op[] = {
[VK_STENCIL_OP_KEEP] = STENCILOP_KEEP, [VK_STENCIL_OP_KEEP] = STENCILOP_KEEP,
[VK_STENCIL_OP_ZERO] = STENCILOP_ZERO, [VK_STENCIL_OP_ZERO] = STENCILOP_ZERO,
[VK_STENCIL_OP_REPLACE] = STENCILOP_REPLACE, [VK_STENCIL_OP_REPLACE] = STENCILOP_REPLACE,
[VK_STENCIL_OP_INC_CLAMP] = STENCILOP_INCRSAT, [VK_STENCIL_OP_INCREMENT_AND_CLAMP] = STENCILOP_INCRSAT,
[VK_STENCIL_OP_DEC_CLAMP] = STENCILOP_DECRSAT, [VK_STENCIL_OP_DECREMENT_AND_CLAMP] = STENCILOP_DECRSAT,
[VK_STENCIL_OP_INVERT] = STENCILOP_INVERT, [VK_STENCIL_OP_INVERT] = STENCILOP_INVERT,
[VK_STENCIL_OP_INC_WRAP] = STENCILOP_INCR, [VK_STENCIL_OP_INCREMENT_AND_WRAP] = STENCILOP_INCR,
[VK_STENCIL_OP_DEC_WRAP] = STENCILOP_DECR, [VK_STENCIL_OP_DECREMENT_AND_WRAP] = STENCILOP_DECR,
}; };
static void static void

View File

@@ -305,10 +305,10 @@ VkResult genX(CreateSampler)(
[VK_COMPARE_OP_NEVER] = PREFILTEROPNEVER, [VK_COMPARE_OP_NEVER] = PREFILTEROPNEVER,
[VK_COMPARE_OP_LESS] = PREFILTEROPLESS, [VK_COMPARE_OP_LESS] = PREFILTEROPLESS,
[VK_COMPARE_OP_EQUAL] = PREFILTEROPEQUAL, [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_GREATER] = PREFILTEROPGREATER,
[VK_COMPARE_OP_NOT_EQUAL] = PREFILTEROPNOTEQUAL, [VK_COMPARE_OP_NOT_EQUAL] = PREFILTEROPNOTEQUAL,
[VK_COMPARE_OP_GREATER_EQUAL] = PREFILTEROPGEQUAL, [VK_COMPARE_OP_GREATER_OR_EQUAL] = PREFILTEROPGEQUAL,
[VK_COMPARE_OP_ALWAYS] = PREFILTEROPALWAYS, [VK_COMPARE_OP_ALWAYS] = PREFILTEROPALWAYS,
}; };