On 1 November 2013 20:23, Kenneth Graunke <kenn...@whitecape.org> wrote:
> Now that brw_update_texture_buffer_surface() uses the virtual > emit_buffer_surface_state() function, it works for Gen7+ too. > > Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> > Series is: Reviewed-by: Paul Berry <stereotype...@gmail.com> > --- > src/mesa/drivers/dri/i965/brw_context.h | 3 ++ > src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 2 +- > src/mesa/drivers/dri/i965/gen7_wm_surface_state.c | 40 > +---------------------- > 3 files changed, 5 insertions(+), 40 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_context.h > b/src/mesa/drivers/dri/i965/brw_context.h > index 85bba1d..2294ce0 100644 > --- a/src/mesa/drivers/dri/i965/brw_context.h > +++ b/src/mesa/drivers/dri/i965/brw_context.h > @@ -1579,6 +1579,9 @@ void brw_create_constant_surface(struct brw_context > *brw, > uint32_t size, > uint32_t *out_offset, > bool dword_pitch); > +void brw_update_buffer_texture_surface(struct gl_context *ctx, > + unsigned unit, > + uint32_t *surf_offset); > void > brw_update_sol_surface(struct brw_context *brw, > struct gl_buffer_object *buffer_obj, > 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 5a60a6b..2088688 100644 > --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c > +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c > @@ -226,7 +226,7 @@ gen4_emit_buffer_surface_state(struct brw_context *brw, > } > } > > -static void > +void > brw_update_buffer_texture_surface(struct gl_context *ctx, > unsigned unit, > uint32_t *surf_offset) > diff --git a/src/mesa/drivers/dri/i965/gen7_wm_surface_state.c > b/src/mesa/drivers/dri/i965/gen7_wm_surface_state.c > index c52e12d..3f4817d 100644 > --- a/src/mesa/drivers/dri/i965/gen7_wm_surface_state.c > +++ b/src/mesa/drivers/dri/i965/gen7_wm_surface_state.c > @@ -268,44 +268,6 @@ gen7_emit_buffer_surface_state(struct brw_context > *brw, > } > > static void > -gen7_update_buffer_texture_surface(struct gl_context *ctx, > - unsigned unit, > - uint32_t *surf_offset) > -{ > - struct brw_context *brw = brw_context(ctx); > - struct gl_texture_object *tObj = ctx->Texture.Unit[unit]._Current; > - struct intel_buffer_object *intel_obj = > - intel_buffer_object(tObj->BufferObject); > - uint32_t size = tObj->BufferSize; > - drm_intel_bo *bo = NULL; > - > - if (intel_obj) { > - size = MIN2(size, intel_obj->Base.Size); > - bo = intel_bufferobj_buffer(brw, intel_obj, tObj->BufferOffset, > size); > - } > - > - gl_format format = tObj->_BufferObjectFormat; > - > - uint32_t surface_format = brw_format_for_mesa_format(format); > - if (surface_format == 0 && format != MESA_FORMAT_RGBA_FLOAT32) { > - _mesa_problem(NULL, "bad format %s for texture buffer\n", > - _mesa_get_format_name(format)); > - } > - > - int texel_size = _mesa_get_format_bytes(format); > - > - gen7_emit_buffer_surface_state(brw, > - surf_offset, > - bo, > - tObj->BufferOffset, > - surface_format, > - size / texel_size, > - texel_size, > - 0 /* mocs */, > - false /* rw */); > -} > - > -static void > gen7_update_texture_surface(struct gl_context *ctx, > unsigned unit, > uint32_t *surf_offset, > @@ -319,7 +281,7 @@ gen7_update_texture_surface(struct gl_context *ctx, > struct gl_sampler_object *sampler = _mesa_get_samplerobj(ctx, unit); > > if (tObj->Target == GL_TEXTURE_BUFFER) { > - gen7_update_buffer_texture_surface(ctx, unit, surf_offset); > + brw_update_buffer_texture_surface(ctx, unit, surf_offset); > return; > } > > -- > 1.8.3.2 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev