diff --git a/src/freedreno/vulkan/tu_cmd_buffer.cc b/src/freedreno/vulkan/tu_cmd_buffer.cc index f0e9cc7b0f9..26ff3131787 100644 --- a/src/freedreno/vulkan/tu_cmd_buffer.cc +++ b/src/freedreno/vulkan/tu_cmd_buffer.cc @@ -6361,7 +6361,7 @@ tu6_build_depth_plane_z_mode(struct tu_cmd_buffer *cmd, struct tu_cs *cs) zmode = A6XX_EARLY_Z_LATE_Z; if (zmode == A6XX_EARLY_Z_LATE_Z && - (cmd->state.stencil_written_on_depth_fail || fs->fs.per_samp || + (cmd->state.stencil_written_on_depth_fail || fs->fs.sample_shading || !vk_format_has_depth(depth_format) || !ds_test_enable)) { zmode = A6XX_LATE_Z; } @@ -6454,7 +6454,7 @@ tu_emit_fdm_params(struct tu_cmd_buffer *cmd, unsigned num_units) { STATIC_ASSERT(IR3_DP_FS(frag_invocation_count) == IR3_DP_FS_DYNAMIC); - tu_cs_emit(cs, fs->fs.per_samp ? + tu_cs_emit(cs, fs->fs.sample_shading ? cmd->vk.dynamic_graphics_state.ms.rasterization_samples : 1); tu_cs_emit(cs, 0); tu_cs_emit(cs, 0); diff --git a/src/freedreno/vulkan/tu_shader.cc b/src/freedreno/vulkan/tu_shader.cc index 1a24827b7b2..ba5d620a921 100644 --- a/src/freedreno/vulkan/tu_shader.cc +++ b/src/freedreno/vulkan/tu_shader.cc @@ -2855,7 +2855,7 @@ tu_shader_create(struct tu_device *dev, } case MESA_SHADER_FRAGMENT: { const struct ir3_shader_variant *fs = shader->variant; - shader->fs.per_samp = fs->sample_shading || ir3_key->sample_shading; + shader->fs.sample_shading = fs->sample_shading || ir3_key->sample_shading; shader->fs.has_fdm = key->fragment_density_map; if (fs->has_kill) shader->fs.lrz.status |= TU_LRZ_FORCE_DISABLE_WRITE; diff --git a/src/freedreno/vulkan/tu_shader.h b/src/freedreno/vulkan/tu_shader.h index 6e9066a989d..21a7c035a2a 100644 --- a/src/freedreno/vulkan/tu_shader.h +++ b/src/freedreno/vulkan/tu_shader.h @@ -95,7 +95,11 @@ struct tu_shader } tes; struct { - bool per_samp; + /* Set if the FS should be run at sample rate instead of pixel rate (by + * sample-rate variable usage, or + * VkPipelineMultisampleStateCreateInfo->sampleShadingEnable. + */ + bool sample_shading; bool has_fdm; uint16_t dynamic_input_attachments_used; @@ -116,7 +120,7 @@ struct tu_shader_key { unsigned multiview_mask; uint16_t read_only_input_attachments; uint8_t max_fdm_layers; - bool force_sample_interp; + bool force_sample_interp; /* Set when VkPipelineMultisampleStateCreateInfo->sampleShadingEnable */ bool fragment_density_map; bool fdm_per_layer; bool dynamic_renderpass;