Revert "zink: don't render with multisampling when it is disabled"
authorantonino <antonino.maniscalco@collabora.com>
Fri, 28 Apr 2023 09:36:00 +0000 (11:36 +0200)
committerMarge Bot <emma+marge@anholt.net>
Sat, 29 Apr 2023 04:59:11 +0000 (04:59 +0000)
This reverts commit a004825266fdcb43afd5e9fdf946ad9641f1e296.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22753>

src/gallium/drivers/zink/zink_compiler.c
src/gallium/drivers/zink/zink_draw.cpp
src/gallium/drivers/zink/zink_pipeline.c

index 7ad419f..19185e5 100644 (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)
index 7950db4..3ddb096 100644 (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) {
index 7a541d4..fa790b8 100644 (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
        *