summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/util/u_blitter.c
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2014-10-21 12:14:06 -0600
committerBrian Paul <[email protected]>2014-10-22 17:33:40 -0600
commit0bcd9f5469868748ce3b1bb8ddab55d9859e96c4 (patch)
tree8803a2d3549209a87a2d0c4f42403f7beeeed72d /src/gallium/auxiliary/util/u_blitter.c
parent27de89d2667bb154a4334f839397420a11b02bab (diff)
u_blitter: create basic fs shaders in util_blitter_cache_all_shaders()
We need to create all fs shaders in this function. Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/util/u_blitter.c')
-rw-r--r--src/gallium/auxiliary/util/u_blitter.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/util/u_blitter.c b/src/gallium/auxiliary/util/u_blitter.c
index abcacffa41e..830d82fc3c0 100644
--- a/src/gallium/auxiliary/util/u_blitter.c
+++ b/src/gallium/auxiliary/util/u_blitter.c
@@ -1012,7 +1012,8 @@ void *blitter_get_fs_texfetch_stencil(struct blitter_context_priv *ctx,
void util_blitter_cache_all_shaders(struct blitter_context *blitter)
{
struct blitter_context_priv *ctx = (struct blitter_context_priv*)blitter;
- struct pipe_screen *screen = blitter->pipe->screen;
+ struct pipe_context *pipe = blitter->pipe;
+ struct pipe_screen *screen = pipe->screen;
unsigned samples, j, f, target, max_samples;
boolean has_arraytex, has_cubearraytex;
@@ -1073,6 +1074,16 @@ void util_blitter_cache_all_shaders(struct blitter_context *blitter)
}
}
+ ctx->fs_empty = util_make_empty_fragment_shader(pipe);
+
+ ctx->fs_write_one_cbuf =
+ util_make_fragment_passthrough_shader(pipe, TGSI_SEMANTIC_GENERIC,
+ TGSI_INTERPOLATE_CONSTANT, FALSE);
+
+ ctx->fs_write_all_cbufs =
+ util_make_fragment_passthrough_shader(pipe, TGSI_SEMANTIC_GENERIC,
+ TGSI_INTERPOLATE_CONSTANT, TRUE);
+
ctx->cached_all_shaders = TRUE;
}