TGSI_RETURN_TYPE_UINT,
TGSI_RETURN_TYPE_UINT);
- ureg_load_tex(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_X), coord,
+ ureg_load_tex(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_Y), 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_X));
+ ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_Y));
}
ureg_END(ureg);
const char *samp_type,
const char *output_semantic,
const char *output_mask,
+ const char *swizzle,
const char *conversion_decl,
const char *conversion)
{
"F2U TEMP[0], IN[0]\n"
"TXF TEMP[0], TEMP[0], SAMP[0], %s\n"
"%s"
- "MOV OUT[0]%s, TEMP[0]\n"
+ "MOV OUT[0]%s, TEMP[0]%s\n"
"END\n";
const char *type = tgsi_texture_names[tgsi_tex];
tgsi_tex == TGSI_TEXTURE_2D_ARRAY_MSAA);
snprintf(text, sizeof(text), shader_templ, type, samp_type,
- output_semantic, conversion_decl, type, conversion, output_mask);
+ output_semantic, conversion_decl, type, conversion, output_mask, swizzle);
if (!tgsi_text_translate(text, tokens, ARRAY_SIZE(tokens))) {
puts(text);
}
return util_make_fs_blit_msaa_gen(pipe, tgsi_tex, samp_type,
- "COLOR[0]", "", conversion_decl,
+ "COLOR[0]", "", "", conversion_decl,
conversion);
}
enum tgsi_texture_type tgsi_tex)
{
return util_make_fs_blit_msaa_gen(pipe, tgsi_tex, "FLOAT",
- "POSITION", ".z", "", "");
+ "POSITION", ".z", ".xxxx", "", "");
}
enum tgsi_texture_type tgsi_tex)
{
return util_make_fs_blit_msaa_gen(pipe, tgsi_tex, "UINT",
- "STENCIL", ".y", "", "");
+ "STENCIL", ".y", "", "", "");
}
"DCL SVIEW[1], %s, UINT\n"
"DCL OUT[0], POSITION\n"
"DCL OUT[1], STENCIL\n"
- "DCL TEMP[0]\n"
+ "DCL TEMP[0..1]\n"
"F2U TEMP[0], IN[0]\n"
- "TXF OUT[0].z, TEMP[0], SAMP[0], %s\n"
+ "TXF TEMP[1], TEMP[0], SAMP[0], %s\n"
+ "MOV OUT[0].z, TEMP[1].xxxx\n"
"TXF OUT[1].y, TEMP[0], SAMP[1], %s\n"
"END\n";