bug-14737: Move alphaToCoverageEnable to MultisampleStateCreateInfo
diff --git a/icd/intel/cmd_pipeline.c b/icd/intel/cmd_pipeline.c
index 89b48df..206a03e 100644
--- a/icd/intel/cmd_pipeline.c
+++ b/icd/intel/cmd_pipeline.c
@@ -665,7 +665,7 @@
dw5 |= GEN6_PS_DISPATCH_16 << GEN6_WM_DW5_PS_DISPATCH_MODE__SHIFT;
if (fs->uses & INTEL_SHADER_USE_KILL ||
- pipeline->cb_state.alphaToCoverageEnable)
+ pipeline->alphaToCoverageEnable)
dw5 |= GEN6_WM_DW5_PS_KILL_PIXEL;
if (fs->computed_depth_mode)
@@ -727,7 +727,7 @@
GEN7_WM_DW1_POINT_RASTRULE_UPPER_RIGHT;
if (fs->uses & INTEL_SHADER_USE_KILL ||
- pipeline->cb_state.alphaToCoverageEnable)
+ pipeline->alphaToCoverageEnable)
dw1 |= GEN7_WM_DW1_PS_KILL_PIXEL;
dw1 |= fs->computed_depth_mode << GEN7_WM_DW1_PSCDEPTH__SHIFT;
diff --git a/icd/intel/pipeline.c b/icd/intel/pipeline.c
index 4105c26..e77ac8f 100644
--- a/icd/intel/pipeline.c
+++ b/icd/intel/pipeline.c
@@ -958,6 +958,8 @@
pipeline->sample_count = (info->ms.rasterSamples <= 1) ? 1 : info->ms.rasterSamples;
+ pipeline->alphaToCoverageEnable = info->ms.alphaToCoverageEnable;
+
/* 3DSTATE_SAMPLE_MASK */
cmd = GEN6_RENDER_CMD(3D, 3DSTATE_SAMPLE_MASK);
cmd_len = 2;
diff --git a/icd/intel/pipeline.h b/icd/intel/pipeline.h
index 416ba2c..00bb7a7 100644
--- a/icd/intel/pipeline.h
+++ b/icd/intel/pipeline.h
@@ -208,6 +208,8 @@
bool rasterizerDiscardEnable;
bool depthBiasEnable;
+ bool alphaToCoverageEnable;
+
VkPipelineTessellationStateCreateInfo tess_state;
uint32_t active_shaders;
diff --git a/include/vulkan.h b/include/vulkan.h
index b154853..a38b848 100644
--- a/include/vulkan.h
+++ b/include/vulkan.h
@@ -41,7 +41,7 @@
((major << 22) | (minor << 12) | patch)
// Vulkan API version supported by this file
-#define VK_API_VERSION VK_MAKE_VERSION(0, 174, 0)
+#define VK_API_VERSION VK_MAKE_VERSION(0, 175, 0)
#if defined(__cplusplus) && (_MSC_VER >= 1800 || __cplusplus >= 201103L)
@@ -1680,6 +1680,8 @@
VkBool32 sampleShadingEnable;
float minSampleShading;
const VkSampleMask* pSampleMask;
+ VkBool32 alphaToCoverageEnable;
+ VkBool32 alphaToOneEnable;
} VkPipelineMultisampleStateCreateInfo;
typedef struct {
@@ -1720,8 +1722,6 @@
typedef struct {
VkStructureType sType;
const void* pNext;
- VkBool32 alphaToCoverageEnable;
- VkBool32 alphaToOneEnable;
VkBool32 logicOpEnable;
VkLogicOp logicOp;
uint32_t attachmentCount;
diff --git a/tests/vkrenderframework.cpp b/tests/vkrenderframework.cpp
index cc38ba8..e0b44e4 100644
--- a/tests/vkrenderframework.cpp
+++ b/tests/vkrenderframework.cpp
@@ -1154,7 +1154,6 @@
memset(&m_cb_state,0,sizeof(m_cb_state));
m_cb_state.sType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO;
m_cb_state.pNext = VK_NULL_HANDLE;
- m_cb_state.alphaToCoverageEnable = VK_FALSE;
m_cb_state.logicOp = VK_LOGIC_OP_COPY;
m_cb_state.blendConst[0] = 1.0f;
m_cb_state.blendConst[1] = 1.0f;
@@ -1164,6 +1163,7 @@
m_ms_state.pNext = VK_NULL_HANDLE;
m_ms_state.sType = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO;
m_ms_state.pSampleMask = NULL;
+ m_ms_state.alphaToCoverageEnable = VK_FALSE;
m_ms_state.rasterSamples = 1;
m_ms_state.minSampleShading = 0;
m_ms_state.sampleShadingEnable = 0;