nvk: Support extendedDynamicState3SampleMask
This is needed for EXT_shader_object. Move to dynamic state. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24872>
This commit is contained in:
parent
88e661db99
commit
c7135e94cb
3 changed files with 10 additions and 7 deletions
|
|
@ -1385,6 +1385,15 @@ nvk_flush_ms_state(struct nvk_cmd_buffer *cmd)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (BITSET_TEST(dyn->dirty, MESA_VK_DYNAMIC_MS_SAMPLE_MASK)) {
|
||||
struct nv_push *p = nvk_cmd_buffer_push(cmd, 5);
|
||||
P_MTHD(p, NV9097, SET_SAMPLE_MASK_X0_Y0);
|
||||
P_NV9097_SET_SAMPLE_MASK_X0_Y0(p, dyn->ms.sample_mask & 0xffff);
|
||||
P_NV9097_SET_SAMPLE_MASK_X1_Y0(p, dyn->ms.sample_mask & 0xffff);
|
||||
P_NV9097_SET_SAMPLE_MASK_X0_Y1(p, dyn->ms.sample_mask & 0xffff);
|
||||
P_NV9097_SET_SAMPLE_MASK_X1_Y1(p, dyn->ms.sample_mask & 0xffff);
|
||||
}
|
||||
}
|
||||
|
||||
static uint32_t
|
||||
|
|
|
|||
|
|
@ -75,12 +75,6 @@ emit_pipeline_ms_state(struct nv_push *p,
|
|||
.alpha_to_one = ms->alpha_to_one_enable,
|
||||
});
|
||||
|
||||
P_MTHD(p, NV9097, SET_SAMPLE_MASK_X0_Y0);
|
||||
P_NV9097_SET_SAMPLE_MASK_X0_Y0(p, ms->sample_mask & 0xffff);
|
||||
P_NV9097_SET_SAMPLE_MASK_X1_Y0(p, ms->sample_mask & 0xffff);
|
||||
P_NV9097_SET_SAMPLE_MASK_X0_Y1(p, ms->sample_mask & 0xffff);
|
||||
P_NV9097_SET_SAMPLE_MASK_X1_Y1(p, ms->sample_mask & 0xffff);
|
||||
|
||||
const float min_sample_shading = force_max_samples ? 1 :
|
||||
(ms->sample_shading_enable ? CLAMP(ms->min_sample_shading, 0, 1) : 0);
|
||||
uint32_t min_samples = ceilf(ms->rasterization_samples * min_sample_shading);
|
||||
|
|
|
|||
|
|
@ -393,7 +393,7 @@ nvk_get_device_features(const struct nv_device_info *info,
|
|||
.extendedDynamicState3DepthClampEnable = true,
|
||||
.extendedDynamicState3PolygonMode = true,
|
||||
.extendedDynamicState3RasterizationSamples = false,
|
||||
.extendedDynamicState3SampleMask = false,
|
||||
.extendedDynamicState3SampleMask = true,
|
||||
.extendedDynamicState3AlphaToCoverageEnable = false,
|
||||
.extendedDynamicState3AlphaToOneEnable = false,
|
||||
.extendedDynamicState3LogicOpEnable = true,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue