Revert "gallium/util: Fix depth/stencil blit shaders"

This reverts commit 7ca72f1726.
Unlike what's stated in this commit, the depth or stencil components
have to be replicated on all channels, as specified in the
"Texture Sampling and Texture Formats" section of the TGSI doc
(docs/gallium/tgsi.rst).

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10649>
This commit is contained in:
Boris Brezillon 2021-05-04 08:31:38 +02:00 committed by Marge Bot
parent 567bdf2e8f
commit 6cac9c748e

View file

@ -423,12 +423,12 @@ util_make_fs_blit_zs(struct pipe_context *pipe, unsigned zs_mask,
TGSI_RETURN_TYPE_UINT,
TGSI_RETURN_TYPE_UINT);
ureg_load_tex(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_Y), coord,
ureg_load_tex(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_X), coord,
stencil_sampler, tex_target, load_level_zero, use_txf);
stencil = ureg_DECL_output(ureg, TGSI_SEMANTIC_STENCIL, 0);
ureg_MOV(ureg, ureg_writemask(stencil, TGSI_WRITEMASK_Y),
ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_Y));
ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_X));
}
ureg_END(ureg);
@ -530,7 +530,6 @@ util_make_fs_blit_msaa_gen(struct pipe_context *pipe,
const char *samp_type,
const char *output_semantic,
const char *output_mask,
const char *swizzle,
const char *conversion_decl,
const char *conversion)
{
@ -546,7 +545,7 @@ util_make_fs_blit_msaa_gen(struct pipe_context *pipe,
"F2U TEMP[0], IN[0]\n"
"TXF TEMP[0], TEMP[0], SAMP[0], %s\n"
"%s"
"MOV OUT[0]%s, TEMP[0]%s\n"
"MOV OUT[0]%s, TEMP[0]\n"
"END\n";
const char *type = tgsi_texture_names[tgsi_tex];
@ -558,7 +557,7 @@ util_make_fs_blit_msaa_gen(struct pipe_context *pipe,
tgsi_tex == TGSI_TEXTURE_2D_ARRAY_MSAA);
snprintf(text, sizeof(text), shader_templ, type, samp_type,
output_semantic, conversion_decl, type, conversion, output_mask, swizzle);
output_semantic, conversion_decl, type, conversion, output_mask);
if (!tgsi_text_translate(text, tokens, ARRAY_SIZE(tokens))) {
puts(text);
@ -609,7 +608,7 @@ util_make_fs_blit_msaa_color(struct pipe_context *pipe,
}
return util_make_fs_blit_msaa_gen(pipe, tgsi_tex, samp_type,
"COLOR[0]", "", "", conversion_decl,
"COLOR[0]", "", conversion_decl,
conversion);
}
@ -624,7 +623,7 @@ util_make_fs_blit_msaa_depth(struct pipe_context *pipe,
enum tgsi_texture_type tgsi_tex)
{
return util_make_fs_blit_msaa_gen(pipe, tgsi_tex, "FLOAT",
"POSITION", ".z", ".xxxx", "", "");
"POSITION", ".z", "", "");
}
@ -638,7 +637,7 @@ util_make_fs_blit_msaa_stencil(struct pipe_context *pipe,
enum tgsi_texture_type tgsi_tex)
{
return util_make_fs_blit_msaa_gen(pipe, tgsi_tex, "UINT",
"STENCIL", ".y", "", "", "");
"STENCIL", ".y", "", "");
}
@ -661,11 +660,10 @@ util_make_fs_blit_msaa_depthstencil(struct pipe_context *pipe,
"DCL SVIEW[1], %s, UINT\n"
"DCL OUT[0], POSITION\n"
"DCL OUT[1], STENCIL\n"
"DCL TEMP[0..1]\n"
"DCL TEMP[0]\n"
"F2U TEMP[0], IN[0]\n"
"TXF TEMP[1], TEMP[0], SAMP[0], %s\n"
"MOV OUT[0].z, TEMP[1].xxxx\n"
"TXF OUT[0].z, TEMP[0], SAMP[0], %s\n"
"TXF OUT[1].y, TEMP[0], SAMP[1], %s\n"
"END\n";