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:
@@ -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;
|
||||
}
|
||||
|
||||
|
@@ -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)
|
||||
|
@@ -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);
|
||||
|
Reference in New Issue
Block a user