Mesa (master): turnip: set shader key msaa field
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Apr 22 19:01:25 UTC 2020
Module: Mesa
Branch: master
Commit: 83b2f1d8cf53ec7f9defa2acdae313cdacb303af
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=83b2f1d8cf53ec7f9defa2acdae313cdacb303af
Author: Jonathan Marek <jonathan at marek.ca>
Date: Tue Apr 21 12:19:56 2020 -0400
turnip: set shader key msaa field
Fixes per-sample interpolation.
Signed-off-by: Jonathan Marek <jonathan at marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4665>
---
src/freedreno/vulkan/tu_shader.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/freedreno/vulkan/tu_shader.c b/src/freedreno/vulkan/tu_shader.c
index 85bf6bbc50f..aa07f5df066 100644
--- a/src/freedreno/vulkan/tu_shader.c
+++ b/src/freedreno/vulkan/tu_shader.c
@@ -596,6 +596,7 @@ tu_shader_compile_options_init(
const VkGraphicsPipelineCreateInfo *pipeline_info)
{
bool has_gs = false;
+ bool msaa = false;
if (pipeline_info) {
for (uint32_t i = 0; i < pipeline_info->stageCount; i++) {
if (pipeline_info->pStages[i].stage == VK_SHADER_STAGE_GEOMETRY_BIT) {
@@ -603,12 +604,17 @@ tu_shader_compile_options_init(
break;
}
}
+
+ if (!pipeline_info->pRasterizationState->rasterizerDiscardEnable &&
+ pipeline_info->pMultisampleState->rasterizationSamples > 1)
+ msaa = true;
}
*options = (struct tu_shader_compile_options) {
/* TODO: Populate the remaining fields of ir3_shader_key. */
.key = {
.has_gs = has_gs,
+ .msaa = msaa,
},
/* TODO: VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT
* some optimizations need to happen otherwise shader might not compile
More information about the mesa-commit
mailing list