Revert "zink: don't render with multisampling when it is disabled"

This reverts commit a004825266.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22753>
This commit is contained in:
antonino
2023-04-28 11:36:00 +02:00
committed by Marge Bot
parent 6b9f1a540d
commit 8cbd6acf12
3 changed files with 4 additions and 8 deletions
-3
View File
@@ -3676,9 +3676,6 @@ zink_shader_compile(struct zink_screen *screen, bool can_shobj, struct zink_shad
if (zink_fs_key_base(key)->force_dual_color_blend && nir->info.outputs_written & BITFIELD64_BIT(FRAG_RESULT_DATA1)) {
NIR_PASS_V(nir, lower_dual_blend);
}
if (zink_fs_key_base(key)->single_sample) {
NIR_PASS_V(nir, nir_lower_single_sampled);
}
if (zink_fs_key_base(key)->coord_replace_bits)
NIR_PASS_V(nir, nir_lower_texcoord_replace, zink_fs_key_base(key)->coord_replace_bits, false, false);
if (zink_fs_key_base(key)->point_coord_yinvert)
+2 -3
View File
@@ -658,9 +658,8 @@ zink_draw(struct pipe_context *pctx,
VKCTX(CmdSetLineStippleEnableEXT)(batch->state->cmdbuf, rast_state->hw_state.line_stipple_enable);
}
if ((BATCH_CHANGED || ctx->sample_mask_changed) && screen->have_full_ds3) {
uint8_t samples = ctx->gfx_pipeline_state.multisample ? ctx->gfx_pipeline_state.rast_samples + 1 : 1;
VKCTX(CmdSetRasterizationSamplesEXT)(batch->state->cmdbuf, (VkSampleCountFlagBits)(samples));
VKCTX(CmdSetSampleMaskEXT)(batch->state->cmdbuf, (VkSampleCountFlagBits)(samples), &ctx->gfx_pipeline_state.sample_mask);
VKCTX(CmdSetRasterizationSamplesEXT)(batch->state->cmdbuf, (VkSampleCountFlagBits)(ctx->gfx_pipeline_state.rast_samples + 1));
VKCTX(CmdSetSampleMaskEXT)(batch->state->cmdbuf, (VkSampleCountFlagBits)(ctx->gfx_pipeline_state.rast_samples + 1), &ctx->gfx_pipeline_state.sample_mask);
ctx->sample_mask_changed = false;
}
if ((BATCH_CHANGED || ctx->blend_state_changed) && screen->have_full_ds3) {
+2 -2
View File
@@ -116,7 +116,7 @@ zink_create_gfx_pipeline(struct zink_screen *screen,
VkPipelineMultisampleStateCreateInfo ms_state = {0};
ms_state.sType = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO;
ms_state.rasterizationSamples = state->multisample ? state->rast_samples + 1 : 1;
ms_state.rasterizationSamples = state->rast_samples + 1;
if (state->blend_state) {
ms_state.alphaToCoverageEnable = state->blend_state->alpha_to_coverage;
if (state->blend_state->alpha_to_one && !screen->info.feats.features.alphaToOne) {
@@ -520,7 +520,7 @@ zink_create_gfx_pipeline_output(struct zink_screen *screen, struct zink_gfx_pipe
}
ms_state.alphaToOneEnable = state->blend_state->alpha_to_one;
}
ms_state.rasterizationSamples = state->multisample ? state->rast_samples + 1 : 1;
ms_state.rasterizationSamples = state->rast_samples + 1;
/* "If pSampleMask is NULL, it is treated as if the mask has all bits set to 1."
* - Chapter 27. Rasterization
*