mesa: implement ARB_bindless_texture

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
Samuel Pitoiset
2017-04-03 22:06:27 +02:00
parent 6649b840c3
commit 1fe7b1f972
8 changed files with 960 additions and 7 deletions

View File

@@ -39,6 +39,7 @@
#include "shaderapi.h"
#include "shaderobj.h"
#include "syncobj.h"
#include "texturebindless.h"
#include "util/hash_table.h"
#include "util/set.h"
@@ -84,6 +85,9 @@ _mesa_alloc_shared_state(struct gl_context *ctx)
/* GL_ARB_sampler_objects */
shared->SamplerObjects = _mesa_NewHashTable();
/* GL_ARB_bindless_texture */
_mesa_init_shared_handles(shared);
/* Allocate the default buffer object */
shared->NullBufferObj = ctx->Driver.NewBufferObject(ctx, 0);
@@ -373,6 +377,8 @@ free_shared_state(struct gl_context *ctx, struct gl_shared_state *shared)
_mesa_HashDeleteAll(shared->TexObjects, delete_texture_cb, ctx);
_mesa_DeleteHashTable(shared->TexObjects);
_mesa_free_shared_handles(shared);
mtx_destroy(&shared->Mutex);
mtx_destroy(&shared->TexMutex);