[Mesa-dev] [PATCH 1/2] st/mesa: treat resource-less xfb buffers as if they weren't there

Marek Olšák maraeo at gmail.com
Sat Feb 14 11:33:21 PST 2015


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

Marek

On Sat, Feb 14, 2015 at 7:46 AM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> If a transform feedback buffer's size is 0, st_bufferobj_data doesn't
> end up creating a buffer for it. There's no point in trying to write to
> such a buffer, so just pretend as if it's not really there.
>
> This fixes arb_gpu_shader5-xfb-streams-without-invocations on nvc0.
>
> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> ---
>  src/mesa/state_tracker/st_cb_xformfb.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/mesa/state_tracker/st_cb_xformfb.c b/src/mesa/state_tracker/st_cb_xformfb.c
> index 8f75eda..a2bd86a 100644
> --- a/src/mesa/state_tracker/st_cb_xformfb.c
> +++ b/src/mesa/state_tracker/st_cb_xformfb.c
> @@ -122,7 +122,7 @@ st_begin_transform_feedback(struct gl_context *ctx, GLenum mode,
>     for (i = 0; i < max_num_targets; i++) {
>        struct st_buffer_object *bo = st_buffer_object(sobj->base.Buffers[i]);
>
> -      if (bo) {
> +      if (bo && bo->buffer) {
>           /* Check whether we need to recreate the target. */
>           if (!sobj->targets[i] ||
>               sobj->targets[i] == sobj->draw_count ||
> --
> 2.0.5
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list