diff options
author | marha <marha@users.sourceforge.net> | 2014-10-19 11:18:56 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2014-10-19 11:18:56 +0200 |
commit | 9fc852414dd4e841c4e2229f55a3e41abca64ac5 (patch) | |
tree | a524a96442c2a28243826f91f43680f4bcf012d3 /mesalib/src/mesa/main/bufferobj.c | |
parent | 8d44af7cf8bdc4f42223dfef737ebf4e8c7fe55e (diff) | |
parent | fa5a6df66cfe9b19014ea9d2fca35b762f457041 (diff) | |
download | vcxsrv-9fc852414dd4e841c4e2229f55a3e41abca64ac5.tar.gz vcxsrv-9fc852414dd4e841c4e2229f55a3e41abca64ac5.tar.bz2 vcxsrv-9fc852414dd4e841c4e2229f55a3e41abca64ac5.zip |
Merge remote-tracking branch 'origin/released'
Conflicts:
mesalib/src/mesa/main/bufferobj.c
Diffstat (limited to 'mesalib/src/mesa/main/bufferobj.c')
-rwxr-xr-x[-rw-r--r--] | mesalib/src/mesa/main/bufferobj.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/mesalib/src/mesa/main/bufferobj.c b/mesalib/src/mesa/main/bufferobj.c index c29a8c777..c88744afb 100644..100755 --- a/mesalib/src/mesa/main/bufferobj.c +++ b/mesalib/src/mesa/main/bufferobj.c @@ -389,14 +389,14 @@ convert_clear_buffer_data(struct gl_context *ctx, * Default callback for the \c dd_function_table::NewBufferObject() hook. */ struct gl_buffer_object * -_mesa_new_buffer_object( struct gl_context *ctx, GLuint name, GLenum target ) +_mesa_new_buffer_object(struct gl_context *ctx, GLuint name) { struct gl_buffer_object *obj; (void) ctx; obj = MALLOC_STRUCT(gl_buffer_object); - _mesa_initialize_buffer_object(ctx, obj, name, target); + _mesa_initialize_buffer_object(ctx, obj, name); return obj; } @@ -494,12 +494,10 @@ _mesa_reference_buffer_object_(struct gl_context *ctx, * Initialize a buffer object to default values. */ void -_mesa_initialize_buffer_object( struct gl_context *ctx, - struct gl_buffer_object *obj, - GLuint name, GLenum target ) +_mesa_initialize_buffer_object(struct gl_context *ctx, + struct gl_buffer_object *obj, + GLuint name) { - (void) target; - memset(obj, 0, sizeof(struct gl_buffer_object)); mtx_init(&obj->Mutex, mtx_plain); obj->RefCount = 1; @@ -906,7 +904,7 @@ _mesa_handle_bind_buffer_gen(struct gl_context *ctx, * never used before, allocate a buffer object now. */ ASSERT(ctx->Driver.NewBufferObject); - buf = ctx->Driver.NewBufferObject(ctx, buffer, target); + buf = ctx->Driver.NewBufferObject(ctx, buffer); if (!buf) { _mesa_error(ctx, GL_OUT_OF_MEMORY, "%s", caller); return false; @@ -2652,6 +2650,12 @@ set_ubo_binding(struct gl_context *ctx, binding->Offset = offset; binding->Size = size; binding->AutomaticSize = autoSize; + + /* If this is a real buffer object, mark it has having been used + * at some point as a UBO. + */ + if (size >= 0) + bufObj->UsageHistory |= USAGE_UNIFORM_BUFFER; } /** @@ -2764,6 +2768,7 @@ set_atomic_buffer_binding(struct gl_context *ctx, } else { binding->Offset = offset; binding->Size = size; + bufObj->UsageHistory |= USAGE_ATOMIC_COUNTER_BUFFER; } } |