st/mesa: don't return an error from update_single_texture

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>
This commit is contained in:
Marek Olšák
2017-06-11 01:41:40 +02:00
parent 6f4ead6bfd
commit fbd9cc6169
3 changed files with 7 additions and 11 deletions

View 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;
}

View 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)

View 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);