Mesa (main): bufferobj: cleanup subdata copies

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Dec 15 14:02:49 UTC 2021


Module: Mesa
Branch: main
Commit: fdd31298d3059ce31a836854615c5bd1ffa00de5
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fdd31298d3059ce31a836854615c5bd1ffa00de5

Author: Dave Airlie <airlied at redhat.com>
Date:   Thu Dec  9 13:41:42 2021 +1000

bufferobj: cleanup subdata copies

This moves the common dst min/max invalidation and renames
to be a bit more consistent

Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14133>

---

 src/mesa/main/bufferobj.c | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c
index cd387a61a7b..5bd72fa9de1 100644
--- a/src/mesa/main/bufferobj.c
+++ b/src/mesa/main/bufferobj.c
@@ -554,7 +554,7 @@ _mesa_bufferobj_unmap(struct gl_context *ctx, struct gl_buffer_object *obj,
  * Called via glCopyBufferSubData().
  */
 static void
-copy_buffer_subdata(struct gl_context *ctx,
+bufferobj_copy_subdata(struct gl_context *ctx,
                        struct gl_buffer_object *src,
                        struct gl_buffer_object *dst,
                        GLintptr readOffset, GLintptr writeOffset,
@@ -563,6 +563,7 @@ copy_buffer_subdata(struct gl_context *ctx,
    struct pipe_context *pipe = ctx->pipe;
    struct pipe_box box;
 
+   dst->MinMaxCacheDirty = true;
    if (!size)
       return;
 
@@ -3460,9 +3461,7 @@ copy_buffer_sub_data(struct gl_context *ctx, struct gl_buffer_object *src,
       }
    }
 
-   dst->MinMaxCacheDirty = true;
-
-   copy_buffer_subdata(ctx, src, dst, readOffset, writeOffset, size);
+   bufferobj_copy_subdata(ctx, src, dst, readOffset, writeOffset, size);
 }
 
 void GLAPIENTRY
@@ -3478,8 +3477,7 @@ _mesa_CopyBufferSubData_no_error(GLenum readTarget, GLenum writeTarget,
    struct gl_buffer_object **dst_ptr = get_buffer_target(ctx, writeTarget);
    struct gl_buffer_object *dst = *dst_ptr;
 
-   dst->MinMaxCacheDirty = true;
-   copy_buffer_subdata(ctx, src, dst, readOffset, writeOffset,
+   bufferobj_copy_subdata(ctx, src, dst, readOffset, writeOffset,
                        size);
 }
 
@@ -3539,8 +3537,7 @@ _mesa_CopyNamedBufferSubData_no_error(GLuint readBuffer, GLuint writeBuffer,
    struct gl_buffer_object *src = _mesa_lookup_bufferobj(ctx, readBuffer);
    struct gl_buffer_object *dst = _mesa_lookup_bufferobj(ctx, writeBuffer);
 
-   dst->MinMaxCacheDirty = true;
-   copy_buffer_subdata(ctx, src, dst, readOffset, writeOffset,
+   bufferobj_copy_subdata(ctx, src, dst, readOffset, writeOffset,
                        size);
 }
 
@@ -3599,8 +3596,7 @@ _mesa_InternalBufferSubDataCopyMESA(GLintptr srcBuffer, GLuint srcOffset,
    if (!validate_buffer_sub_data(ctx, dst, dstOffset, size, func))
       goto done; /* the error is already set */
 
-   dst->MinMaxCacheDirty = true;
-   copy_buffer_subdata(ctx, src, dst, srcOffset, dstOffset, size);
+   bufferobj_copy_subdata(ctx, src, dst, srcOffset, dstOffset, size);
 
 done:
    /* The caller passes the reference to this function, so unreference it. */



More information about the mesa-commit mailing list