Mesa (master): anv/gen7_pipeline: Set multisample state using shared function

Anuj Phogat aphogat at kemper.freedesktop.org
Tue Aug 9 22:45:07 UTC 2016


Module: Mesa
Branch: master
Commit: f16295a198b02c993d834ebcfebf25bcf6885572
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f16295a198b02c993d834ebcfebf25bcf6885572

Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Mon Aug  8 14:36:40 2016 -0700

anv/gen7_pipeline: Set multisample state using shared function

Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

---

 src/intel/vulkan/gen7_pipeline.c | 20 ++++----------------
 1 file changed, 4 insertions(+), 16 deletions(-)

diff --git a/src/intel/vulkan/gen7_pipeline.c b/src/intel/vulkan/gen7_pipeline.c
index 135281d..48457aa 100644
--- a/src/intel/vulkan/gen7_pipeline.c
+++ b/src/intel/vulkan/gen7_pipeline.c
@@ -81,22 +81,7 @@ genX(graphics_pipeline_create)(
                      pCreateInfo->pRasterizationState, extra);
    emit_3dstate_streamout(pipeline, pCreateInfo->pRasterizationState);
 
-   if (pCreateInfo->pMultisampleState &&
-       pCreateInfo->pMultisampleState->rasterizationSamples > 1)
-      anv_finishme("VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO");
-
-   uint32_t samples = pCreateInfo->pMultisampleState ?
-                      pCreateInfo->pMultisampleState->rasterizationSamples : 1;
-   uint32_t log2_samples = __builtin_ffs(samples) - 1;
-
-   anv_batch_emit(&pipeline->batch, GENX(3DSTATE_MULTISAMPLE), ms) {
-      ms.PixelLocation        = PIXLOC_CENTER;
-      ms.NumberofMultisamples = log2_samples;
-   }
-
-   anv_batch_emit(&pipeline->batch, GENX(3DSTATE_SAMPLE_MASK), sm) {
-      sm.SampleMask = 0xff;
-   }
+   emit_ms_state(pipeline, pCreateInfo->pMultisampleState);
 
    const struct brw_vs_prog_data *vs_prog_data = get_vs_prog_data(pipeline);
 
@@ -252,6 +237,9 @@ genX(graphics_pipeline_create)(
          ps.KernelStartPointer2           = pipeline->ps_ksp0 + wm_prog_data->prog_offset_2;
       }
 
+      uint32_t samples = pCreateInfo->pMultisampleState ?
+                         pCreateInfo->pMultisampleState->rasterizationSamples : 1;
+
       /* FIXME-GEN7: This needs a lot more work, cf gen7 upload_wm_state(). */
       anv_batch_emit(&pipeline->batch, GENX(3DSTATE_WM), wm) {
          wm.StatisticsEnable                    = true;




More information about the mesa-commit mailing list