diff options
author | Kenneth Graunke <[email protected]> | 2017-05-04 11:11:44 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2017-05-04 16:17:34 -0700 |
commit | 9377801fbdb2cedca65d2437428536d60f228252 (patch) | |
tree | 10f1eda95f95ac2c0b086a29af8d9ebf9ff6562a /src/intel/vulkan | |
parent | 31f094e6911bea91df72fb200aaa05b553e0302d (diff) |
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 <[email protected]>
Diffstat (limited to 'src/intel/vulkan')
-rw-r--r-- | src/intel/vulkan/gen8_cmd_buffer.c | 65 |
1 files 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 | |