lavapipe: more correctly handle null pipeline states
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Fri, 31 Mar 2023 12:39:04 +0000 (08:39 -0400)
committerMarge Bot <emma+marge@anholt.net>
Mon, 22 May 2023 23:51:21 +0000 (23:51 +0000)
it's not necessary to check whether dynamic states are set before
the null checks since any issues there would be VU errors

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22236>

src/gallium/frontends/lavapipe/lvp_pipeline.c

index 3be265f..00c64a2 100644 (file)
@@ -895,7 +895,8 @@ lvp_graphics_pipeline_init(struct lvp_pipeline *pipeline,
                       MESA_VK_DYNAMIC_TS_DOMAIN_ORIGIN)) {
          pipeline->shaders[MESA_SHADER_TESS_EVAL].tess_ccw = create_pipeline_nir(nir_shader_clone(NULL, pipeline->shaders[MESA_SHADER_TESS_EVAL].pipeline_nir->nir));
          pipeline->shaders[MESA_SHADER_TESS_EVAL].tess_ccw->nir->info.tess.ccw = !pipeline->shaders[MESA_SHADER_TESS_EVAL].pipeline_nir->nir->info.tess.ccw;
-      } else if (pipeline->graphics_state.ts->domain_origin == VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT) {
+      } else if (pipeline->graphics_state.ts &&
+                 pipeline->graphics_state.ts->domain_origin == VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT) {
          pipeline->shaders[MESA_SHADER_TESS_EVAL].pipeline_nir->nir->info.tess.ccw = !pipeline->shaders[MESA_SHADER_TESS_EVAL].pipeline_nir->nir->info.tess.ccw;
       }
    }