util: use pipe_context::bind_sampler_states() if non-null
This commit is contained in:
parent
27d500a844
commit
bbc1fd8c80
|
@ -528,9 +528,14 @@ static void blitter_restore_textures(struct blitter_context_priv *ctx)
|
|||
unsigned i;
|
||||
|
||||
/* Fragment sampler states. */
|
||||
pipe->bind_fragment_sampler_states(pipe,
|
||||
ctx->base.saved_num_sampler_states,
|
||||
ctx->base.saved_sampler_states);
|
||||
if (pipe->bind_sampler_states)
|
||||
pipe->bind_sampler_states(pipe, PIPE_SHADER_FRAGMENT, 0,
|
||||
ctx->base.saved_num_sampler_states,
|
||||
ctx->base.saved_sampler_states);
|
||||
else
|
||||
pipe->bind_fragment_sampler_states(pipe,
|
||||
ctx->base.saved_num_sampler_states,
|
||||
ctx->base.saved_sampler_states);
|
||||
ctx->base.saved_num_sampler_states = ~0;
|
||||
|
||||
/* Fragment sampler views. */
|
||||
|
@ -1309,7 +1314,10 @@ void util_blitter_blit_generic(struct blitter_context *blitter,
|
|||
views[1] = pipe->create_sampler_view(pipe, src->texture, &templ);
|
||||
|
||||
pipe->set_fragment_sampler_views(pipe, 2, views);
|
||||
pipe->bind_fragment_sampler_states(pipe, 2, samplers);
|
||||
if (pipe->bind_sampler_states)
|
||||
pipe->bind_sampler_states(pipe, PIPE_SHADER_FRAGMENT, 0, 2, samplers);
|
||||
else
|
||||
pipe->bind_fragment_sampler_states(pipe, 2, samplers);
|
||||
|
||||
pipe_sampler_view_reference(&views[1], NULL);
|
||||
} else if (blit_stencil) {
|
||||
|
@ -1324,12 +1332,20 @@ void util_blitter_blit_generic(struct blitter_context *blitter,
|
|||
view = pipe->create_sampler_view(pipe, src->texture, &templ);
|
||||
|
||||
pipe->set_fragment_sampler_views(pipe, 1, &view);
|
||||
pipe->bind_fragment_sampler_states(pipe, 1, &sampler_state);
|
||||
if (pipe->bind_sampler_states)
|
||||
pipe->bind_sampler_states(pipe, PIPE_SHADER_FRAGMENT,
|
||||
0, 1, &sampler_state);
|
||||
else
|
||||
pipe->bind_fragment_sampler_states(pipe, 1, &sampler_state);
|
||||
|
||||
pipe_sampler_view_reference(&view, NULL);
|
||||
} else {
|
||||
pipe->set_fragment_sampler_views(pipe, 1, &src);
|
||||
pipe->bind_fragment_sampler_states(pipe, 1, &sampler_state);
|
||||
if (pipe->bind_sampler_states)
|
||||
pipe->bind_sampler_states(pipe, PIPE_SHADER_FRAGMENT,
|
||||
0, 1, &sampler_state);
|
||||
else
|
||||
pipe->bind_fragment_sampler_states(pipe, 1, &sampler_state);
|
||||
}
|
||||
|
||||
pipe->bind_vertex_elements_state(pipe, ctx->velem_state);
|
||||
|
|
Loading…
Reference in New Issue