Mesa (master): st/mesa: don't use cso_context to restore VBs, sampler views for glDrawPixels
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Jan 15 10:07:39 UTC 2021
Module: Mesa
Branch: master
Commit: 82a388dc2d7f799508bda60be840da59081da705
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=82a388dc2d7f799508bda60be840da59081da705
Author: Marek Olšák <marek.olsak at amd.com>
Date: Sun Dec 20 02:52:52 2020 -0500
st/mesa: don't use cso_context to restore VBs, sampler views for glDrawPixels
These cso_context capabilities will be removed.
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Zoltán Böszörményi <zboszor at gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8180>
---
src/mesa/state_tracker/st_cb_drawpixels.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c b/src/mesa/state_tracker/st_cb_drawpixels.c
index 34cdff4c866..4aa2258263b 100644
--- a/src/mesa/state_tracker/st_cb_drawpixels.c
+++ b/src/mesa/state_tracker/st_cb_drawpixels.c
@@ -745,6 +745,7 @@ draw_textured_quad(struct gl_context *ctx, GLint x, GLint y, GLfloat z,
GLboolean write_depth, GLboolean write_stencil)
{
struct st_context *st = st_context(ctx);
+ struct pipe_context *pipe = st->pipe;
struct cso_context *cso = st->cso_context;
const unsigned fb_width = _mesa_geometric_width(ctx->DrawBuffer);
const unsigned fb_height = _mesa_geometric_height(ctx->DrawBuffer);
@@ -767,10 +768,8 @@ draw_textured_quad(struct gl_context *ctx, GLint x, GLint y, GLfloat z,
cso_state_mask = (CSO_BIT_RASTERIZER |
CSO_BIT_VIEWPORT |
CSO_BIT_FRAGMENT_SAMPLERS |
- CSO_BIT_FRAGMENT_SAMPLER_VIEWS |
CSO_BIT_STREAM_OUTPUTS |
CSO_BIT_VERTEX_ELEMENTS |
- CSO_BIT_AUX_VERTEX_BUFFER_SLOT |
CSO_BITS_ALL_SHADERS);
if (write_stencil) {
cso_state_mask |= (CSO_BIT_DEPTH_STENCIL_ALPHA |
@@ -882,10 +881,10 @@ draw_textured_quad(struct gl_context *ctx, GLint x, GLint y, GLfloat z,
sampler_views[fpv->drawpix_sampler] = sv[0];
if (sv[1])
sampler_views[fpv->pixelmap_sampler] = sv[1];
- cso_set_sampler_views(cso, PIPE_SHADER_FRAGMENT, num, sampler_views);
+ pipe->set_sampler_views(pipe, PIPE_SHADER_FRAGMENT, 0, num, sampler_views);
} else {
/* drawing a depth/stencil image */
- cso_set_sampler_views(cso, PIPE_SHADER_FRAGMENT, num_sampler_view, sv);
+ pipe->set_sampler_views(pipe, PIPE_SHADER_FRAGMENT, 0, num_sampler_view, sv);
}
/* viewport state: viewport matching window dims */
@@ -933,6 +932,9 @@ draw_textured_quad(struct gl_context *ctx, GLint x, GLint y, GLfloat z,
/* restore state */
cso_restore_state(cso);
+
+ st->dirty |= ST_NEW_VERTEX_ARRAYS |
+ ST_NEW_FS_SAMPLER_VIEWS;
}
More information about the mesa-commit
mailing list