[Mesa-dev] [PATCH] vbo: process buffer binding state changes on draw when recording

Marek Olšák maraeo at gmail.com
Thu Feb 2 08:42:57 UTC 2017


Reviewed-by: Marek Olšák <marek.olsak at amd.com>

On Feb 1, 2017 10:11 PM, "Ilia Mirkin" <imirkin at alum.mit.edu> wrote:

> The VBO module keeps track of any vbo buffers. It updates this list when
> receiving an InvalidateState call, however this never happens when
> recording draws right now. Make sure that we do all the usual state
> updates when recording draws so that the VBO list may be kept up to
> date.
>
> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99631
> ---
>  src/mesa/vbo/vbo_save_api.c | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/src/mesa/vbo/vbo_save_api.c b/src/mesa/vbo/vbo_save_api.c
> index f648ccc..f8dab0c 100644
> --- a/src/mesa/vbo/vbo_save_api.c
> +++ b/src/mesa/vbo/vbo_save_api.c
> @@ -78,6 +78,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
>  #include "main/api_arrayelt.h"
>  #include "main/vtxfmt.h"
>  #include "main/dispatch.h"
> +#include "main/state.h"
>  #include "util/bitscan.h"
>
>  #include "vbo_context.h"
> @@ -1159,6 +1160,9 @@ _save_OBE_DrawArrays(GLenum mode, GLint start,
> GLsizei count)
>     if (save->out_of_memory)
>        return;
>
> +   /* Make sure to process any VBO binding changes */
> +   _mesa_update_state(ctx);
> +
>     _ae_map_vbos(ctx);
>
>     vbo_save_NotifyBegin(ctx, (mode | VBO_SAVE_PRIM_WEAK
> @@ -1202,6 +1206,9 @@ _save_OBE_DrawElementsBaseVertex(GLenum mode,
> GLsizei count, GLenum type,
>     if (save->out_of_memory)
>        return;
>
> +   /* Make sure to process any VBO binding changes */
> +   _mesa_update_state(ctx);
> +
>     _ae_map_vbos(ctx);
>
>     if (_mesa_is_bufferobj(indexbuf))
> --
> 2.10.2
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170202/f06a5178/attachment.html>


More information about the mesa-dev mailing list