anv/pipeline: Add populate_tcs/tes_key helpers
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 27 Oct 2017 01:11:25 +0000 (18:11 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Thu, 2 Aug 2018 01:02:28 +0000 (18:02 -0700)
They don't really do anything interesting, but it's more consistent this
way.

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
src/intel/vulkan/anv_pipeline.c

index f0c694c5621a1561d8f975d06b46df8142e133fd..07706025527514f38d24fee6b18e87e4c0dabde3 100644 (file)
@@ -307,6 +307,27 @@ populate_vs_prog_key(const struct gen_device_info *devinfo,
    /* XXX: Handle sampler_prog_key */
 }
 
+static void
+populate_tcs_prog_key(const struct gen_device_info *devinfo,
+                      unsigned input_vertices,
+                      struct brw_tcs_prog_key *key)
+{
+   memset(key, 0, sizeof(*key));
+
+   populate_sampler_prog_key(devinfo, &key->tex);
+
+   key->input_vertices = input_vertices;
+}
+
+static void
+populate_tes_prog_key(const struct gen_device_info *devinfo,
+                      struct brw_tes_prog_key *key)
+{
+   memset(key, 0, sizeof(*key));
+
+   populate_sampler_prog_key(devinfo, &key->tex);
+}
+
 static void
 populate_gs_prog_key(const struct gen_device_info *devinfo,
                      struct brw_gs_prog_key *key)
@@ -629,9 +650,10 @@ anv_pipeline_compile_tcs_tes(struct anv_pipeline *pipeline,
    struct anv_shader_bin *tcs_bin = NULL;
    struct anv_shader_bin *tes_bin = NULL;
 
-   populate_sampler_prog_key(&pipeline->device->info, &tcs_key.tex);
-   populate_sampler_prog_key(&pipeline->device->info, &tes_key.tex);
-   tcs_key.input_vertices = info->pTessellationState->patchControlPoints;
+   populate_tcs_prog_key(&pipeline->device->info,
+                         info->pTessellationState->patchControlPoints,
+                         &tcs_key);
+   populate_tes_prog_key(&pipeline->device->info, &tes_key);
 
    ANV_FROM_HANDLE(anv_pipeline_layout, layout, info->layout);