st/mesa: don't invoke st_finalize_texture & st_convert_sampler for TBOs
authorMarek Olšák <marek.olsak@amd.com>
Tue, 20 Jun 2017 19:32:28 +0000 (21:32 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Wed, 21 Jun 2017 23:51:02 +0000 (01:51 +0200)
This is a v2 of the previous patch (v1 didn't skip st_finalize_texture).

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
src/mesa/state_tracker/st_cb_texture.c

index 677e5c4..317bb53 100644 (file)
@@ -2916,12 +2916,14 @@ st_NewTextureHandle(struct gl_context *ctx, struct gl_texture_object *texObj,
    struct st_texture_object *stObj = st_texture_object(texObj);
    struct pipe_context *pipe = st->pipe;
    struct pipe_sampler_view *view;
-   struct pipe_sampler_state sampler;
+   struct pipe_sampler_state sampler = {0};
 
-   if (!st_finalize_texture(ctx, pipe, texObj, 0))
-      return 0;
+   if (texObj->Target != GL_TEXTURE_BUFFER) {
+      if (!st_finalize_texture(ctx, pipe, texObj, 0))
+         return 0;
 
-   st_convert_sampler(st, texObj, sampObj, &sampler);
+      st_convert_sampler(st, texObj, sampObj, &sampler);
+   }
 
    view = st_get_texture_sampler_view_from_stobj(st, stObj, sampObj, 0);