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

Reply via email to