summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker/st_cb_drawpixels_shader.c
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2016-03-16 18:43:00 -0600
committerBrian Paul <brianp@vmware.com>2016-03-21 11:59:25 -0600
commitb3daaefadb05cdde439198a2159daf895dc7c475 (patch)
tree55c9a8cad3ef7a3e762e6476c35d87267266676b /src/mesa/state_tracker/st_cb_drawpixels_shader.c
parent0f0a23d4d874a2b51a07741c11fb81f246e5298c (diff)
downloadexternal_mesa3d-b3daaefadb05cdde439198a2159daf895dc7c475.zip
external_mesa3d-b3daaefadb05cdde439198a2159daf895dc7c475.tar.gz
external_mesa3d-b3daaefadb05cdde439198a2159daf895dc7c475.tar.bz2
st/mesa: emit sampler view decls in drawpixels code
v2: support both TGSI_TEXTURE_2D and _RECT Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Diffstat (limited to 'src/mesa/state_tracker/st_cb_drawpixels_shader.c')
-rw-r--r--src/mesa/state_tracker/st_cb_drawpixels_shader.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mesa/state_tracker/st_cb_drawpixels_shader.c b/src/mesa/state_tracker/st_cb_drawpixels_shader.c
index 5a620f7..35a9da0 100644
--- a/src/mesa/state_tracker/st_cb_drawpixels_shader.c
+++ b/src/mesa/state_tracker/st_cb_drawpixels_shader.c
@@ -121,12 +121,20 @@ transform_instr(struct tgsi_transform_context *tctx,
/* Declare the drawpix sampler if it's missing. */
if (!(ctx->info.samplers_declared & (1 << ctx->drawpix_sampler))) {
tgsi_transform_sampler_decl(tctx, ctx->drawpix_sampler);
+
+ /* emit sampler view declaration */
+ tgsi_transform_sampler_view_decl(tctx, ctx->drawpix_sampler,
+ tgsi_tex_target, TGSI_RETURN_TYPE_FLOAT);
}
/* Declare the pixel map sampler if it's missing. */
if (ctx->pixel_maps &&
!(ctx->info.samplers_declared & (1 << ctx->pixelmap_sampler))) {
tgsi_transform_sampler_decl(tctx, ctx->pixelmap_sampler);
+
+ /* emit sampler view declaration */
+ tgsi_transform_sampler_view_decl(tctx, ctx->pixelmap_sampler,
+ TGSI_TEXTURE_2D, TGSI_RETURN_TYPE_FLOAT);
}
/* Get initial pixel color from the texture.
@@ -229,7 +237,7 @@ st_get_drawpix_shader(const struct tgsi_token *tokens, bool use_texcoord,
ctx.tex_target = tex_target;
tgsi_scan_shader(tokens, &ctx.info);
- newlen = tgsi_num_tokens(tokens) + 30;
+ newlen = tgsi_num_tokens(tokens) + 60;
newtoks = tgsi_alloc_tokens(newlen);
if (!newtoks)
return NULL;