[Mesa-dev] [PATCH] mesa/bufferobj: fix atomic offset/size get

Dave Airlie airlied at gmail.com
Thu Oct 12 08:14:33 UTC 2017


On 12 Oct. 2017 15:40, "Tapani Pälli" <tapani.palli at intel.com> wrote:



On 10/12/2017 02:34 AM, Dave Airlie wrote:

> From: Dave Airlie <airlied at redhat.com>
>
> When I realigned the bufferobj code, I didn't see the getters
> were different, realign the getters to work the same as ssbo.
>

Alternatively you could set these values as 0 in
bind_buffer_base_atomic_buffer()? Not sure if it's any better but then
value would match internally what it has been before these changes.


Before these changes the ssbo and atomic code was gratuitously different,
this is just the last piece of making them consistent.

Dave




Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103214
> Fixes: 65d3ef7cd (mesa: align atomic buffer handling code with ubo/ssbo
> (v1.1))
> Signed-off-by: Dave Airlie <airlied at redhat.com>
> ---
>   src/mesa/main/get.c | 6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
> index 4c4a4a7..e68a93b 100644
> --- a/src/mesa/main/get.c
> +++ b/src/mesa/main/get.c
> @@ -2349,7 +2349,8 @@ find_value_indexed(const char *func, GLenum pname,
> GLuint index, union value *v)
>            goto invalid_enum;
>         if (index >= ctx->Const.MaxAtomicBufferBindings)
>            goto invalid_value;
> -      v->value_int64 = ctx->AtomicBufferBindings[index].Offset;
> +      v->value_int64 = ctx->AtomicBufferBindings[index].Offset < 0 ? 0 :
> +                       ctx->AtomicBufferBindings[index].Offset;
>         return TYPE_INT64;
>        case GL_ATOMIC_COUNTER_BUFFER_SIZE:
> @@ -2357,7 +2358,8 @@ find_value_indexed(const char *func, GLenum pname,
> GLuint index, union value *v)
>            goto invalid_enum;
>         if (index >= ctx->Const.MaxAtomicBufferBindings)
>            goto invalid_value;
> -      v->value_int64 = ctx->AtomicBufferBindings[index].Size;
> +      v->value_int64 = ctx->AtomicBufferBindings[index].Size < 0 ? 0 :
> +                       ctx->AtomicBufferBindings[index].Size;
>         return TYPE_INT64;
>        case GL_VERTEX_BINDING_DIVISOR:
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20171012/ef2469de/attachment.html>


More information about the mesa-dev mailing list