diff options
author | Marek Olšák <[email protected]> | 2017-06-11 01:41:40 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2017-06-22 01:51:02 +0200 |
commit | fbd9cc61694dcb59b3d2a742073ed231f848702d (patch) | |
tree | b5edfdd8d4e1895d54e08ffc4377d06725a47c29 | |
parent | 6f4ead6bfd75610de96fcf142596df3dbb93a648 (diff) |
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 <[email protected]>
-rw-r--r-- | src/mesa/state_tracker/st_atom_texture.c | 13 | ||||
-rw-r--r-- | src/mesa/state_tracker/st_texture.c | 3 | ||||
-rw-r--r-- | src/mesa/state_tracker/st_texture.h | 2 |
3 files changed, 7 insertions, 11 deletions
diff --git a/src/mesa/state_tracker/st_atom_texture.c b/src/mesa/state_tracker/st_atom_texture.c index 70c32e4e07d..20cc859c941 100644 --- a/src/mesa/state_tracker/st_atom_texture.c +++ b/src/mesa/state_tracker/st_atom_texture.c @@ -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; } diff --git a/src/mesa/state_tracker/st_texture.c b/src/mesa/state_tracker/st_texture.c index cf8fe225a2d..2b43cecc521 100644 --- a/src/mesa/state_tracker/st_texture.c +++ b/src/mesa/state_tracker/st_texture.c @@ -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) diff --git a/src/mesa/state_tracker/st_texture.h b/src/mesa/state_tracker/st_texture.h index 450d940e76e..b9336544bb3 100644 --- a/src/mesa/state_tracker/st_texture.h +++ b/src/mesa/state_tracker/st_texture.h @@ -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); |