On Sun, Dec 16, 2012 at 9:50 AM, Christoph Bumiller <e0425...@student.tuwien.ac.at> wrote: > --- > src/mesa/state_tracker/st_atom_texture.c | 15 ++++++++++++++- > src/mesa/state_tracker/st_extensions.c | 6 ++++++ > 2 files changed, 20 insertions(+), 1 deletions(-) > > diff --git a/src/mesa/state_tracker/st_atom_texture.c > b/src/mesa/state_tracker/st_atom_texture.c > index dba1d82..bd2135f 100644 > --- a/src/mesa/state_tracker/st_atom_texture.c > +++ b/src/mesa/state_tracker/st_atom_texture.c > @@ -152,7 +152,20 @@ st_create_texture_sampler_view_from_stobj(struct > pipe_context *pipe, > u_sampler_view_default_template(&templ, > stObj->pt, > format); > - templ.u.tex.first_level = stObj->base.BaseLevel; > + > + if (stObj->pt->target == PIPE_BUFFER) { > + unsigned f, n; > + const struct util_format_description *desc > + = util_format_description(templ.format); > + > + f = (stObj->base.BufferOffset * 8 / desc->block.bits) * > desc->block.width; > + n = (stObj->base.BufferSize * 8 / desc->block.bits) * > desc->block.width; > + > + templ.u.buf.first_element = f; > + templ.u.buf.last_element = f + (n ? (n - 1) : 0); > + } else { > + templ.u.tex.first_level = stObj->base.BaseLevel; > + } > > if (swizzle != SWIZZLE_NOOP) { > templ.swizzle_r = GET_SWZ(swizzle, 0); > diff --git a/src/mesa/state_tracker/st_extensions.c > b/src/mesa/state_tracker/st_extensions.c > index 262cc3d..60db753 100644 > --- a/src/mesa/state_tracker/st_extensions.c > +++ b/src/mesa/state_tracker/st_extensions.c > @@ -670,7 +670,13 @@ void st_init_extensions(struct st_context *st) > ctx->Extensions.ARB_map_buffer_alignment = GL_TRUE; > } > if (screen->get_param(screen, PIPE_CAP_TEXTURE_BUFFER_OBJECTS)) { > + ctx->Const.TextureBufferOffsetAlignment = > + screen->get_param(screen, PIPE_CAP_TEXTURE_BUFFER_OFFSET_ALIGNMENT); > + > ctx->Extensions.ARB_texture_buffer_object = GL_TRUE; > + if (ctx->Const.TextureBufferOffsetAlignment) > + ctx->Extensions.ARB_texture_buffer_range = GL_TRUE; > + > init_format_extensions(st, tbo_rgb32, Elements(tbo_rgb32), > PIPE_BUFFER, PIPE_BIND_SAMPLER_VIEW); > }
Reviewed-by: Brian Paul <bri...@vmware.com> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev