diff options
author | Brian Paul <[email protected]> | 2014-10-21 12:14:06 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2014-10-22 17:33:40 -0600 |
commit | 0bcd9f5469868748ce3b1bb8ddab55d9859e96c4 (patch) | |
tree | 8803a2d3549209a87a2d0c4f42403f7beeeed72d /src/gallium/auxiliary | |
parent | 27de89d2667bb154a4334f839397420a11b02bab (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')
-rw-r--r-- | src/gallium/auxiliary/util/u_blitter.c | 13 |
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; } |