Module: Mesa Branch: 11.0 Commit: 86f18de1c05457ec3c709f4e1e6bf93bac93db4f URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=86f18de1c05457ec3c709f4e1e6bf93bac93db4f
Author: Emil Velikov <[email protected]> Date: Sat Dec 19 00:17:43 2015 +0000 Revert "i965/state: Get rid of dword_pitch arguments to buffer functions" This reverts commit 683d65dae3e673ee95d544008874edf1255e87cf. See previous commit. --- src/mesa/drivers/dri/i965/brw_context.h | 6 ++++-- src/mesa/drivers/dri/i965/brw_gs_surface_state.c | 6 ++++-- src/mesa/drivers/dri/i965/brw_state.h | 3 ++- src/mesa/drivers/dri/i965/brw_vs_surface_state.c | 16 ++++++++++++---- src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 13 ++++++++----- 5 files changed, 30 insertions(+), 14 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_context.h b/src/mesa/drivers/dri/i965/brw_context.h index ba8e1df..b52bca7 100644 --- a/src/mesa/drivers/dri/i965/brw_context.h +++ b/src/mesa/drivers/dri/i965/brw_context.h @@ -1776,7 +1776,8 @@ void brw_create_constant_surface(struct brw_context *brw, drm_intel_bo *bo, uint32_t offset, uint32_t size, - uint32_t *out_offset); + uint32_t *out_offset, + bool dword_pitch); void brw_update_buffer_texture_surface(struct gl_context *ctx, unsigned unit, uint32_t *surf_offset); @@ -1788,7 +1789,8 @@ brw_update_sol_surface(struct brw_context *brw, void brw_upload_ubo_surfaces(struct brw_context *brw, struct gl_shader *shader, struct brw_stage_state *stage_state, - struct brw_stage_prog_data *prog_data); + struct brw_stage_prog_data *prog_data, + bool dword_pitch); void brw_upload_abo_surfaces(struct brw_context *brw, struct gl_shader_program *prog, struct brw_stage_state *stage_state, diff --git a/src/mesa/drivers/dri/i965/brw_gs_surface_state.c b/src/mesa/drivers/dri/i965/brw_gs_surface_state.c index 2b2ed2e..00125c0 100644 --- a/src/mesa/drivers/dri/i965/brw_gs_surface_state.c +++ b/src/mesa/drivers/dri/i965/brw_gs_surface_state.c @@ -48,10 +48,11 @@ brw_upload_gs_pull_constants(struct brw_context *brw) /* BRW_NEW_GS_PROG_DATA */ const struct brw_vue_prog_data *prog_data = &brw->gs.prog_data->base; + const bool dword_pitch = prog_data->dispatch_mode == DISPATCH_MODE_SIMD8; /* _NEW_PROGRAM_CONSTANTS */ brw_upload_pull_constants(brw, BRW_NEW_GS_CONSTBUF, &gp->program.Base, - stage_state, &prog_data->base); + stage_state, &prog_data->base, dword_pitch); } const struct brw_tracked_state brw_gs_pull_constants = { @@ -78,9 +79,10 @@ brw_upload_gs_ubo_surfaces(struct brw_context *brw) /* BRW_NEW_GS_PROG_DATA */ struct brw_vue_prog_data *prog_data = &brw->gs.prog_data->base; + bool dword_pitch = prog_data->dispatch_mode == DISPATCH_MODE_SIMD8; brw_upload_ubo_surfaces(brw, prog->_LinkedShaders[MESA_SHADER_GEOMETRY], - &brw->gs.base, &prog_data->base); + &brw->gs.base, &prog_data->base, dword_pitch); } const struct brw_tracked_state brw_gs_ubo_surfaces = { diff --git a/src/mesa/drivers/dri/i965/brw_state.h b/src/mesa/drivers/dri/i965/brw_state.h index 0618334..7bd2645 100644 --- a/src/mesa/drivers/dri/i965/brw_state.h +++ b/src/mesa/drivers/dri/i965/brw_state.h @@ -358,7 +358,8 @@ brw_upload_pull_constants(struct brw_context *brw, GLbitfield brw_new_constbuf, const struct gl_program *prog, struct brw_stage_state *stage_state, - const struct brw_stage_prog_data *prog_data); + const struct brw_stage_prog_data *prog_data, + bool dword_pitch); /* gen7_vs_state.c */ void diff --git a/src/mesa/drivers/dri/i965/brw_vs_surface_state.c b/src/mesa/drivers/dri/i965/brw_vs_surface_state.c index bb23cc8..f50dd71 100644 --- a/src/mesa/drivers/dri/i965/brw_vs_surface_state.c +++ b/src/mesa/drivers/dri/i965/brw_vs_surface_state.c @@ -53,7 +53,8 @@ brw_upload_pull_constants(struct brw_context *brw, GLbitfield brw_new_constbuf, const struct gl_program *prog, struct brw_stage_state *stage_state, - const struct brw_stage_prog_data *prog_data) + const struct brw_stage_prog_data *prog_data, + bool dword_pitch) { unsigned i; uint32_t surf_index = prog_data->binding_table.pull_constants_start; @@ -93,7 +94,8 @@ brw_upload_pull_constants(struct brw_context *brw, } brw_create_constant_surface(brw, const_bo, const_offset, size, - &stage_state->surf_offset[surf_index]); + &stage_state->surf_offset[surf_index], + dword_pitch); drm_intel_bo_unreference(const_bo); brw->ctx.NewDriverState |= brw_new_constbuf; @@ -110,6 +112,7 @@ static void brw_upload_vs_pull_constants(struct brw_context *brw) { struct brw_stage_state *stage_state = &brw->vs.base; + bool dword_pitch; /* BRW_NEW_VERTEX_PROGRAM */ struct brw_vertex_program *vp = @@ -118,9 +121,11 @@ brw_upload_vs_pull_constants(struct brw_context *brw) /* BRW_NEW_VS_PROG_DATA */ const struct brw_stage_prog_data *prog_data = &brw->vs.prog_data->base.base; + dword_pitch = brw->vs.prog_data->base.dispatch_mode == DISPATCH_MODE_SIMD8; + /* _NEW_PROGRAM_CONSTANTS */ brw_upload_pull_constants(brw, BRW_NEW_VS_CONSTBUF, &vp->program.Base, - stage_state, prog_data); + stage_state, prog_data, dword_pitch); } const struct brw_tracked_state brw_vs_pull_constants = { @@ -140,13 +145,16 @@ brw_upload_vs_ubo_surfaces(struct brw_context *brw) /* _NEW_PROGRAM */ struct gl_shader_program *prog = ctx->_Shader->CurrentProgram[MESA_SHADER_VERTEX]; + bool dword_pitch; if (!prog) return; /* BRW_NEW_VS_PROG_DATA */ + dword_pitch = brw->vs.prog_data->base.dispatch_mode == DISPATCH_MODE_SIMD8; brw_upload_ubo_surfaces(brw, prog->_LinkedShaders[MESA_SHADER_VERTEX], - &brw->vs.base, &brw->vs.prog_data->base.base); + &brw->vs.base, &brw->vs.prog_data->base.base, + dword_pitch); } const struct brw_tracked_state brw_vs_ubo_surfaces = { diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c index 9c77593..e689fed 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c @@ -400,7 +400,8 @@ brw_create_constant_surface(struct brw_context *brw, drm_intel_bo *bo, uint32_t offset, uint32_t size, - uint32_t *out_offset) + uint32_t *out_offset, + bool dword_pitch) { brw->vtbl.emit_buffer_surface_state(brw, out_offset, bo, offset, BRW_SURFACEFORMAT_R32G32B32A32_FLOAT, @@ -510,7 +511,7 @@ brw_upload_wm_pull_constants(struct brw_context *brw) /* _NEW_PROGRAM_CONSTANTS */ brw_upload_pull_constants(brw, BRW_NEW_SURFACES, &fp->program.Base, - stage_state, prog_data); + stage_state, prog_data, true); } const struct brw_tracked_state brw_wm_pull_constants = { @@ -884,7 +885,8 @@ void brw_upload_ubo_surfaces(struct brw_context *brw, struct gl_shader *shader, struct brw_stage_state *stage_state, - struct brw_stage_prog_data *prog_data) + struct brw_stage_prog_data *prog_data, + bool dword_pitch) { struct gl_context *ctx = &brw->ctx; @@ -911,7 +913,8 @@ brw_upload_ubo_surfaces(struct brw_context *brw, */ brw_create_constant_surface(brw, bo, binding->Offset, bo->size - binding->Offset, - &surf_offsets[i]); + &surf_offsets[i], + dword_pitch); } if (shader->NumUniformBlocks) @@ -930,7 +933,7 @@ brw_upload_wm_ubo_surfaces(struct brw_context *brw) /* BRW_NEW_FS_PROG_DATA */ brw_upload_ubo_surfaces(brw, prog->_LinkedShaders[MESA_SHADER_FRAGMENT], - &brw->wm.base, &brw->wm.prog_data->base); + &brw->wm.base, &brw->wm.prog_data->base, true); } const struct brw_tracked_state brw_wm_ubo_surfaces = { _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
