From 9377801fbdb2cedca65d2437428536d60f228252 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Thu, 4 May 2017 11:11:44 -0700 Subject: [PATCH] anv: Simplify Cherryview line handling. We can just use the new CHVLineWidth field rather than an entirely different generation's packing function. v2: Inline the function (requested by Jason) Reviewed-by: Jason Ekstrand --- src/intel/vulkan/gen8_cmd_buffer.c | 65 ++++++++---------------------- 1 file changed, 16 insertions(+), 49 deletions(-) diff --git a/src/intel/vulkan/gen8_cmd_buffer.c b/src/intel/vulkan/gen8_cmd_buffer.c index 0e26ddaeba2..75fdeb7b823 100644 --- a/src/intel/vulkan/gen8_cmd_buffer.c +++ b/src/intel/vulkan/gen8_cmd_buffer.c @@ -104,54 +104,6 @@ gen8_cmd_buffer_emit_depth_viewport(struct anv_cmd_buffer *cmd_buffer, } #endif -static void -__emit_genx_sf_state(struct anv_cmd_buffer *cmd_buffer) -{ - uint32_t sf_dw[GENX(3DSTATE_SF_length)]; - struct GENX(3DSTATE_SF) sf = { - GENX(3DSTATE_SF_header), - .LineWidth = cmd_buffer->state.dynamic.line_width, - }; - GENX(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); -} - -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) -{ - __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) - 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_enable_pma_fix)(struct anv_cmd_buffer *cmd_buffer, bool enable) { @@ -431,7 +383,22 @@ genX(cmd_buffer_flush_dynamic_state)(struct anv_cmd_buffer *cmd_buffer) if (cmd_buffer->state.dirty & (ANV_CMD_DIRTY_PIPELINE | ANV_CMD_DIRTY_DYNAMIC_LINE_WIDTH)) { - __emit_sf_state(cmd_buffer); + uint32_t sf_dw[GENX(3DSTATE_SF_length)]; + struct GENX(3DSTATE_SF) sf = { + GENX(3DSTATE_SF_header), + }; +#if GEN_GEN == 8 + if (cmd_buffer->device->info.is_cherryview) { + sf.CHVLineWidth = cmd_buffer->state.dynamic.line_width; + } else { + sf.LineWidth = cmd_buffer->state.dynamic.line_width; + } +#else + sf.LineWidth = cmd_buffer->state.dynamic.line_width, +#endif + GENX(3DSTATE_SF_pack)(NULL, sf_dw, &sf); + anv_batch_emit_merge(&cmd_buffer->batch, sf_dw, + cmd_buffer->state.pipeline->gen8.sf); } if (cmd_buffer->state.dirty & (ANV_CMD_DIRTY_PIPELINE | -- 2.30.2