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;
|
unsigned i;
|
||||||
|
|
||||||
/* Fragment sampler states. */
|
/* Fragment sampler states. */
|
||||||
pipe->bind_fragment_sampler_states(pipe,
|
if (pipe->bind_sampler_states)
|
||||||
ctx->base.saved_num_sampler_states,
|
pipe->bind_sampler_states(pipe, PIPE_SHADER_FRAGMENT, 0,
|
||||||
ctx->base.saved_sampler_states);
|
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;
|
ctx->base.saved_num_sampler_states = ~0;
|
||||||
|
|
||||||
/* Fragment sampler views. */
|
/* 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);
|
views[1] = pipe->create_sampler_view(pipe, src->texture, &templ);
|
||||||
|
|
||||||
pipe->set_fragment_sampler_views(pipe, 2, views);
|
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);
|
pipe_sampler_view_reference(&views[1], NULL);
|
||||||
} else if (blit_stencil) {
|
} 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);
|
view = pipe->create_sampler_view(pipe, src->texture, &templ);
|
||||||
|
|
||||||
pipe->set_fragment_sampler_views(pipe, 1, &view);
|
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);
|
pipe_sampler_view_reference(&view, NULL);
|
||||||
} else {
|
} else {
|
||||||
pipe->set_fragment_sampler_views(pipe, 1, &src);
|
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);
|
pipe->bind_vertex_elements_state(pipe, ctx->velem_state);
|
||||||
|
|
Loading…
Reference in New Issue