st/mesa: don't return an error from update_single_texture
authorMarek Olšák <marek.olsak@amd.com>
Sat, 10 Jun 2017 23:41:40 +0000 (01:41 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Wed, 21 Jun 2017 23:51:02 +0000 (01:51 +0200)
It can just return a NULL sampler view, which is better than not doing
anything at all.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/mesa/state_tracker/st_atom_texture.c
src/mesa/state_tracker/st_texture.c
src/mesa/state_tracker/st_texture.h

index 70c32e4e07d5a8da45c64c1d040b0b9560120f83..20cc859c9414bff7d420ee94291d7473d0f9dd02 100644 (file)
@@ -55,7 +55,7 @@
 /**
  * Get a pipe_sampler_view object from a texture unit.
  */
-GLboolean
+void
 st_update_single_texture(struct st_context *st,
                          struct pipe_sampler_view **sampler_view,
                          GLuint texUnit, unsigned glsl_version)
@@ -76,7 +76,8 @@ st_update_single_texture(struct st_context *st,
    retval = st_finalize_texture(ctx, st->pipe, texObj, 0);
    if (!retval) {
       /* out of mem */
-      return GL_FALSE;
+      *sampler_view = NULL;
+      return;
    }
 
    /* Check a few pieces of state outside the texture object to see if we
@@ -97,7 +98,6 @@ st_update_single_texture(struct st_context *st,
 
    *sampler_view =
       st_get_texture_sampler_view_from_stobj(st, stObj, samp, glsl_version);
-   return GL_TRUE;
 }
 
 
@@ -129,13 +129,8 @@ update_textures(struct st_context *st,
          /* prog->sh.data is NULL if it's ARB_fragment_program */
          unsigned glsl_version = prog->sh.data ? prog->sh.data->Version : 0;
          const GLuint texUnit = prog->SamplerUnits[unit];
-         GLboolean retval;
-
-         retval = st_update_single_texture(st, &sampler_view, texUnit,
-                                           glsl_version);
-         if (retval == GL_FALSE)
-            continue;
 
+         st_update_single_texture(st, &sampler_view, texUnit, glsl_version);
          num_textures = unit + 1;
       }
 
index cf8fe225a2d6dc48577adf83c1fb0bf0985e3519..2b43cecc521719f43abca863464b48975070fd5a 100644 (file)
@@ -512,7 +512,8 @@ st_create_texture_handle_from_unit(struct st_context *st,
    struct pipe_sampler_view *view;
    struct pipe_sampler_state sampler = {0};
 
-   if (!st_update_single_texture(st, &view, texUnit, prog->sh.data->Version))
+   st_update_single_texture(st, &view, texUnit, prog->sh.data->Version);
+   if (!view)
       return 0;
 
    if (view->target != PIPE_BUFFER)
index 450d940e76e84ddf2e4bdfa6bf29cc71b0305d06..b9336544bb3bb9c5b2a08c3cc0f53d2064cf52da 100644 (file)
@@ -288,7 +288,7 @@ st_convert_sampler_from_unit(const struct st_context *st,
                              struct pipe_sampler_state *sampler,
                              GLuint texUnit);
 
-GLboolean
+void
 st_update_single_texture(struct st_context *st,
                          struct pipe_sampler_view **sampler_view,
                          GLuint texUnit, unsigned glsl_version);