[Mesa-dev] [PATCH] st/mesa: Don't use PIPE_USAGE_STREAM for GL_PIXEL_UNPACK_BUFFER_ARB

Marek Olšák maraeo at gmail.com
Thu Feb 5 15:37:56 PST 2015


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

Marek

On Thu, Feb 5, 2015 at 4:47 AM, Michel Dänzer <michel at daenzer.net> wrote:
> From: Michel Dänzer <michel.daenzer at amd.com>
>
> The latter currently implies CPU access, so we have to avoid getting
> uncacheable memory.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88658
> Cc: "10.3 10.4" <mesa-stable at lists.freedestkop.org>
> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
> ---
>  src/mesa/state_tracker/st_cb_bufferobjects.c | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/state_tracker/st_cb_bufferobjects.c b/src/mesa/state_tracker/st_cb_bufferobjects.c
> index 55f3644..90f786c 100644
> --- a/src/mesa/state_tracker/st_cb_bufferobjects.c
> +++ b/src/mesa/state_tracker/st_cb_bufferobjects.c
> @@ -256,8 +256,15 @@ st_bufferobj_data(struct gl_context *ctx,
>           break;
>        case GL_STREAM_DRAW:
>        case GL_STREAM_COPY:
> -         pipe_usage = PIPE_USAGE_STREAM;
> -         break;
> +         /* XXX: Remove this test and fall-through when we have PBO unpacking
> +          * acceleration. Right now, PBO unpacking is done by the CPU, so we
> +          * have to make sure CPU reads are fast.
> +          */
> +         if (target != GL_PIXEL_UNPACK_BUFFER_ARB) {
> +            pipe_usage = PIPE_USAGE_STREAM;
> +            break;
> +         }
> +         /* fall through */
>        case GL_STATIC_READ:
>        case GL_DYNAMIC_READ:
>        case GL_STREAM_READ:
> --
> 2.1.4
>
> _______________________________________________
> 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