anv: Emit cherryview SF state without including gen9_pack.h
authorKristian H. Kristensen <hoegsberg@gmail.com>
Tue, 29 Nov 2016 01:15:14 +0000 (17:15 -0800)
committerKristian H. Kristensen <hoegsberg@gmail.com>
Wed, 30 Nov 2016 06:02:49 +0000 (22:02 -0800)
Cleaner this way and we avoid including gen9_pack.h when we compile with
gen8_pack.h. We also avoid the if (cherryview) condition for non-gen8
gens that don't need it.

Signed-off-by: Kristian H. Kristensen <hoegsberg@gmail.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/intel/vulkan/gen8_cmd_buffer.c

index 6578c22a1eada56e5cba61b7df10370b698c45fe..3e4aa9bc6234c8d32bc7e0130313f6086a4ed0af 100644 (file)
@@ -120,30 +120,40 @@ __emit_genx_sf_state(struct anv_cmd_buffer *cmd_buffer)
                            cmd_buffer->state.pipeline->gen8.sf);
 }
 
-#include "genxml/gen9_pack.h"
-static void
-__emit_gen9_sf_state(struct anv_cmd_buffer *cmd_buffer)
+void
+gen9_emit_sf_state(struct anv_cmd_buffer *cmd_buffer);
+
+#if GEN_GEN == 9
+
+void
+gen9_emit_sf_state(struct anv_cmd_buffer *cmd_buffer)
 {
-      uint32_t sf_dw[GENX(3DSTATE_SF_length)];
-      struct GEN9_3DSTATE_SF sf = {
-         GEN9_3DSTATE_SF_header,
-         .LineWidth = cmd_buffer->state.dynamic.line_width,
-      };
-      GEN9_3DSTATE_SF_pack(NULL, sf_dw, &sf);
-      /* FIXME: gen9.fs */
-      anv_batch_emit_merge(&cmd_buffer->batch, sf_dw,
-                           cmd_buffer->state.pipeline->gen8.sf);
+   __emit_genx_sf_state(cmd_buffer);
 }
 
+#endif
+
+#if GEN_GEN == 8
+
 static void
 __emit_sf_state(struct anv_cmd_buffer *cmd_buffer)
 {
    if (cmd_buffer->device->info.is_cherryview)
-      __emit_gen9_sf_state(cmd_buffer);
+      gen9_emit_sf_state(cmd_buffer);
    else
       __emit_genx_sf_state(cmd_buffer);
 }
 
+#else
+
+static void
+__emit_sf_state(struct anv_cmd_buffer *cmd_buffer)
+{
+   __emit_genx_sf_state(cmd_buffer);
+}
+
+#endif
+
 void
 genX(cmd_buffer_flush_dynamic_state)(struct anv_cmd_buffer *cmd_buffer)
 {