summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/vulkan/anv_device.c2
-rw-r--r--src/vulkan/anv_private.h26
-rw-r--r--src/vulkan/gen8_cmd_buffer.c22
-rw-r--r--src/vulkan/gen8_pipeline.c13
-rw-r--r--src/vulkan/gen8_state.c8
5 files changed, 38 insertions, 33 deletions
diff --git a/src/vulkan/anv_device.c b/src/vulkan/anv_device.c
index bf256765bdf..27a51129a74 100644
--- a/src/vulkan/anv_device.c
+++ b/src/vulkan/anv_device.c
@@ -1909,7 +1909,7 @@ VkResult anv_CreateDynamicColorBlendState(
.BlendConstantColorAlpha = pCreateInfo->blendConst[3]
};
- GEN7_COLOR_CALC_STATE_pack(NULL, state->state_color_calc, &color_calc_state);
+ GEN7_COLOR_CALC_STATE_pack(NULL, state->color_calc_state, &color_calc_state);
*pState = anv_dynamic_cb_state_to_handle(state);
diff --git a/src/vulkan/anv_private.h b/src/vulkan/anv_private.h
index 58480aca818..4d30bcb68ff 100644
--- a/src/vulkan/anv_private.h
+++ b/src/vulkan/anv_private.h
@@ -569,17 +569,21 @@ struct anv_dynamic_vp_state {
};
struct anv_dynamic_rs_state {
- uint32_t state_sf[GEN8_3DSTATE_SF_length];
- uint32_t state_raster[GEN8_3DSTATE_RASTER_length];
+ struct {
+ uint32_t sf[GEN8_3DSTATE_SF_length];
+ uint32_t raster[GEN8_3DSTATE_RASTER_length];
+ } gen8;
};
struct anv_dynamic_ds_state {
- uint32_t state_wm_depth_stencil[GEN8_3DSTATE_WM_DEPTH_STENCIL_length];
- uint32_t state_color_calc[GEN8_COLOR_CALC_STATE_length];
+ struct {
+ uint32_t wm_depth_stencil[GEN8_3DSTATE_WM_DEPTH_STENCIL_length];
+ uint32_t color_calc_state[GEN8_COLOR_CALC_STATE_length];
+ } gen8;
};
struct anv_dynamic_cb_state {
- uint32_t state_color_calc[GEN8_COLOR_CALC_STATE_length];
+ uint32_t color_calc_state[GEN8_COLOR_CALC_STATE_length];
};
@@ -861,13 +865,15 @@ struct anv_pipeline {
uint32_t vb_used;
uint32_t binding_stride[MAX_VBS];
- uint32_t state_sf[GEN8_3DSTATE_SF_length];
- uint32_t state_vf[GEN8_3DSTATE_VF_length];
- uint32_t state_raster[GEN8_3DSTATE_RASTER_length];
- uint32_t state_wm_depth_stencil[GEN8_3DSTATE_WM_DEPTH_STENCIL_length];
-
uint32_t cs_thread_width_max;
uint32_t cs_right_mask;
+
+ struct {
+ uint32_t sf[GEN8_3DSTATE_SF_length];
+ uint32_t vf[GEN8_3DSTATE_VF_length];
+ uint32_t raster[GEN8_3DSTATE_RASTER_length];
+ uint32_t wm_depth_stencil[GEN8_3DSTATE_WM_DEPTH_STENCIL_length];
+ } gen8;
};
struct anv_graphics_pipeline_create_info {
diff --git a/src/vulkan/gen8_cmd_buffer.c b/src/vulkan/gen8_cmd_buffer.c
index 68d6d4a42d3..6d5004a1ca2 100644
--- a/src/vulkan/gen8_cmd_buffer.c
+++ b/src/vulkan/gen8_cmd_buffer.c
@@ -97,19 +97,19 @@ gen8_cmd_buffer_flush_state(struct anv_cmd_buffer *cmd_buffer)
if (cmd_buffer->state.dirty & (ANV_CMD_BUFFER_PIPELINE_DIRTY |
ANV_CMD_BUFFER_RS_DIRTY)) {
anv_batch_emit_merge(&cmd_buffer->batch,
- cmd_buffer->state.rs_state->state_sf,
- pipeline->state_sf);
+ cmd_buffer->state.rs_state->gen8.sf,
+ pipeline->gen8.sf);
anv_batch_emit_merge(&cmd_buffer->batch,
- cmd_buffer->state.rs_state->state_raster,
- pipeline->state_raster);
+ cmd_buffer->state.rs_state->gen8.raster,
+ pipeline->gen8.raster);
}
if (cmd_buffer->state.ds_state &&
(cmd_buffer->state.dirty & (ANV_CMD_BUFFER_PIPELINE_DIRTY |
ANV_CMD_BUFFER_DS_DIRTY))) {
anv_batch_emit_merge(&cmd_buffer->batch,
- cmd_buffer->state.ds_state->state_wm_depth_stencil,
- pipeline->state_wm_depth_stencil);
+ cmd_buffer->state.ds_state->gen8.wm_depth_stencil,
+ pipeline->gen8.wm_depth_stencil);
}
if (cmd_buffer->state.dirty & (ANV_CMD_BUFFER_CB_DIRTY |
@@ -117,16 +117,16 @@ gen8_cmd_buffer_flush_state(struct anv_cmd_buffer *cmd_buffer)
struct anv_state state;
if (cmd_buffer->state.ds_state == NULL)
state = anv_cmd_buffer_emit_dynamic(cmd_buffer,
- cmd_buffer->state.cb_state->state_color_calc,
+ cmd_buffer->state.cb_state->color_calc_state,
GEN8_COLOR_CALC_STATE_length, 64);
else if (cmd_buffer->state.cb_state == NULL)
state = anv_cmd_buffer_emit_dynamic(cmd_buffer,
- cmd_buffer->state.ds_state->state_color_calc,
+ cmd_buffer->state.ds_state->gen8.color_calc_state,
GEN8_COLOR_CALC_STATE_length, 64);
else
state = anv_cmd_buffer_merge_dynamic(cmd_buffer,
- cmd_buffer->state.ds_state->state_color_calc,
- cmd_buffer->state.cb_state->state_color_calc,
+ cmd_buffer->state.ds_state->gen8.color_calc_state,
+ cmd_buffer->state.cb_state->color_calc_state,
GEN8_COLOR_CALC_STATE_length, 64);
anv_batch_emit(&cmd_buffer->batch,
@@ -138,7 +138,7 @@ gen8_cmd_buffer_flush_state(struct anv_cmd_buffer *cmd_buffer)
if (cmd_buffer->state.dirty & (ANV_CMD_BUFFER_PIPELINE_DIRTY |
ANV_CMD_BUFFER_INDEX_BUFFER_DIRTY)) {
anv_batch_emit_merge(&cmd_buffer->batch,
- cmd_buffer->state.state_vf, pipeline->state_vf);
+ cmd_buffer->state.state_vf, pipeline->gen8.vf);
}
cmd_buffer->state.vb_dirty &= ~vb_emit;
diff --git a/src/vulkan/gen8_pipeline.c b/src/vulkan/gen8_pipeline.c
index 220317c2d48..a993552cfd3 100644
--- a/src/vulkan/gen8_pipeline.c
+++ b/src/vulkan/gen8_pipeline.c
@@ -124,7 +124,7 @@ emit_ia_state(struct anv_pipeline *pipeline,
GEN8_3DSTATE_VF_header,
.IndexedDrawCutIndexEnable = info->primitiveRestartEnable,
};
- GEN8_3DSTATE_VF_pack(NULL, pipeline->state_vf, &vf);
+ GEN8_3DSTATE_VF_pack(NULL, pipeline->gen8.vf, &vf);
anv_batch_emit(&pipeline->batch, GEN8_3DSTATE_VF_TOPOLOGY,
.PrimitiveTopologyType = topology);
@@ -165,7 +165,7 @@ emit_rs_state(struct anv_pipeline *pipeline,
/* FINISHME: VkBool32 rasterizerDiscardEnable; */
- GEN8_3DSTATE_SF_pack(NULL, pipeline->state_sf, &sf);
+ GEN8_3DSTATE_SF_pack(NULL, pipeline->gen8.sf, &sf);
struct GEN8_3DSTATE_RASTER raster = {
GEN8_3DSTATE_RASTER_header,
@@ -177,8 +177,6 @@ emit_rs_state(struct anv_pipeline *pipeline,
.ViewportZClipTestEnable = info->depthClipEnable
};
- GEN8_3DSTATE_RASTER_pack(NULL, pipeline->state_raster, &raster);
-
anv_batch_emit(&pipeline->batch, GEN8_3DSTATE_SBE,
.ForceVertexURBEntryReadLength = false,
.ForceVertexURBEntryReadOffset = false,
@@ -186,6 +184,7 @@ emit_rs_state(struct anv_pipeline *pipeline,
.NumberofSFOutputAttributes =
pipeline->wm_prog_data.num_varying_inputs);
+ GEN8_3DSTATE_RASTER_pack(NULL, pipeline->gen8.raster, &raster);
}
static void
@@ -311,8 +310,8 @@ emit_ds_state(struct anv_pipeline *pipeline,
/* We're going to OR this together with the dynamic state. We need
* to make sure it's initialized to something useful.
*/
- memset(pipeline->state_wm_depth_stencil, 0,
- sizeof(pipeline->state_wm_depth_stencil));
+ memset(pipeline->gen8.wm_depth_stencil, 0,
+ sizeof(pipeline->gen8.wm_depth_stencil));
return;
}
@@ -335,7 +334,7 @@ emit_ds_state(struct anv_pipeline *pipeline,
.BackfaceStencilTestFunction = vk_to_gen_compare_op[info->back.stencilCompareOp],
};
- GEN8_3DSTATE_WM_DEPTH_STENCIL_pack(NULL, pipeline->state_wm_depth_stencil, &wm_depth_stencil);
+ GEN8_3DSTATE_WM_DEPTH_STENCIL_pack(NULL, pipeline->gen8.wm_depth_stencil, &wm_depth_stencil);
}
VkResult
diff --git a/src/vulkan/gen8_state.c b/src/vulkan/gen8_state.c
index 736a1d9455f..f035baabf74 100644
--- a/src/vulkan/gen8_state.c
+++ b/src/vulkan/gen8_state.c
@@ -49,7 +49,7 @@ VkResult gen8_CreateDynamicRasterState(
.LineWidth = pCreateInfo->lineWidth,
};
- GEN8_3DSTATE_SF_pack(NULL, state->state_sf, &sf);
+ GEN8_3DSTATE_SF_pack(NULL, state->gen8.sf, &sf);
bool enable_bias = pCreateInfo->depthBias != 0.0f ||
pCreateInfo->slopeScaledDepthBias != 0.0f;
@@ -62,7 +62,7 @@ VkResult gen8_CreateDynamicRasterState(
.GlobalDepthOffsetClamp = pCreateInfo->depthBiasClamp
};
- GEN8_3DSTATE_RASTER_pack(NULL, state->state_raster, &raster);
+ GEN8_3DSTATE_RASTER_pack(NULL, state->gen8.raster, &raster);
*pState = anv_dynamic_rs_state_to_handle(state);
@@ -506,7 +506,7 @@ VkResult gen8_CreateDynamicDepthStencilState(
.BackfaceStencilWriteMask = pCreateInfo->stencilWriteMask & 0xff,
};
- GEN8_3DSTATE_WM_DEPTH_STENCIL_pack(NULL, state->state_wm_depth_stencil,
+ GEN8_3DSTATE_WM_DEPTH_STENCIL_pack(NULL, state->gen8.wm_depth_stencil,
&wm_depth_stencil);
struct GEN8_COLOR_CALC_STATE color_calc_state = {
@@ -514,7 +514,7 @@ VkResult gen8_CreateDynamicDepthStencilState(
.BackFaceStencilReferenceValue = pCreateInfo->stencilBackRef
};
- GEN8_COLOR_CALC_STATE_pack(NULL, state->state_color_calc, &color_calc_state);
+ GEN8_COLOR_CALC_STATE_pack(NULL, state->gen8.color_calc_state, &color_calc_state);
*pState = anv_dynamic_ds_state_to_handle(state);