diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2016-09-08 23:48:53 -0700 |
---|---|---|
committer | Kenneth Graunke <kenneth@whitecape.org> | 2016-10-05 19:21:06 -0700 |
commit | 40258a13d5bf81303585eaf1859fcb85e373be3e (patch) | |
tree | 632f72013e4d467afeb56e55e3f5305b4047e387 /src/mesa/drivers/dri/i965/gen8_vs_state.c | |
parent | e51e055fcdf8107aafaba358fa65b00f963e1728 (diff) | |
download | external_mesa3d-40258a13d5bf81303585eaf1859fcb85e373be3e.zip external_mesa3d-40258a13d5bf81303585eaf1859fcb85e373be3e.tar.gz external_mesa3d-40258a13d5bf81303585eaf1859fcb85e373be3e.tar.bz2 |
i965: Eliminate brw->vs.prog_data pointer.
Just say no to:
- brw->vs.base.prog_data = &brw->vs.prog_data->base.base;
We'll just use the brw_stage_prog_data pointer in brw_stage_state
and downcast it to brw_vs_prog_data as needed.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Timothy Arceri <timothy.arcero@collabora.com>
Diffstat (limited to 'src/mesa/drivers/dri/i965/gen8_vs_state.c')
-rw-r--r-- | src/mesa/drivers/dri/i965/gen8_vs_state.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/mesa/drivers/dri/i965/gen8_vs_state.c b/src/mesa/drivers/dri/i965/gen8_vs_state.c index 963647c..aed6be0 100644 --- a/src/mesa/drivers/dri/i965/gen8_vs_state.c +++ b/src/mesa/drivers/dri/i965/gen8_vs_state.c @@ -38,12 +38,14 @@ upload_vs_state(struct brw_context *brw) uint32_t floating_point_mode = 0; /* BRW_NEW_VS_PROG_DATA */ - const struct brw_vue_prog_data *prog_data = &brw->vs.prog_data->base; + const struct brw_stage_prog_data *prog_data = stage_state->prog_data; + const struct brw_vue_prog_data *vue_prog_data = + brw_vue_prog_data(stage_state->prog_data); - assert(prog_data->dispatch_mode == DISPATCH_MODE_SIMD8 || - prog_data->dispatch_mode == DISPATCH_MODE_4X2_DUAL_OBJECT); + assert(vue_prog_data->dispatch_mode == DISPATCH_MODE_SIMD8 || + vue_prog_data->dispatch_mode == DISPATCH_MODE_4X2_DUAL_OBJECT); - if (prog_data->base.use_alt_mode) + if (prog_data->use_alt_mode) floating_point_mode = GEN6_VS_FLOATING_POINT_MODE_ALT; BEGIN_BATCH(9); @@ -53,10 +55,10 @@ upload_vs_state(struct brw_context *brw) OUT_BATCH(floating_point_mode | ((ALIGN(stage_state->sampler_count, 4) / 4) << GEN6_VS_SAMPLER_COUNT_SHIFT) | - ((prog_data->base.binding_table.size_bytes / 4) << + ((prog_data->binding_table.size_bytes / 4) << GEN6_VS_BINDING_TABLE_ENTRY_COUNT_SHIFT)); - if (prog_data->base.total_scratch) { + if (prog_data->total_scratch) { OUT_RELOC64(stage_state->scratch_bo, I915_GEM_DOMAIN_RENDER, I915_GEM_DOMAIN_RENDER, ffs(stage_state->per_thread_scratch) - 11); @@ -65,12 +67,14 @@ upload_vs_state(struct brw_context *brw) OUT_BATCH(0); } - OUT_BATCH((prog_data->base.dispatch_grf_start_reg << + OUT_BATCH((prog_data->dispatch_grf_start_reg << GEN6_VS_DISPATCH_START_GRF_SHIFT) | - (prog_data->urb_read_length << GEN6_VS_URB_READ_LENGTH_SHIFT) | + (vue_prog_data->urb_read_length << + GEN6_VS_URB_READ_LENGTH_SHIFT) | (0 << GEN6_VS_URB_ENTRY_READ_OFFSET_SHIFT)); - uint32_t simd8_enable = prog_data->dispatch_mode == DISPATCH_MODE_SIMD8 ? + uint32_t simd8_enable = + vue_prog_data->dispatch_mode == DISPATCH_MODE_SIMD8 ? GEN8_VS_SIMD8_ENABLE : 0; OUT_BATCH(((devinfo->max_vs_threads - 1) << HSW_VS_MAX_THREADS_SHIFT) | GEN6_VS_STATISTICS_ENABLE | @@ -78,7 +82,7 @@ upload_vs_state(struct brw_context *brw) GEN6_VS_ENABLE); /* _NEW_TRANSFORM */ - OUT_BATCH(prog_data->cull_distance_mask | + OUT_BATCH(vue_prog_data->cull_distance_mask | (ctx->Transform.ClipPlanesEnabled << GEN8_VS_USER_CLIP_DISTANCE_SHIFT)); ADVANCE_BATCH(); |