nir: add two new texture ops for multisample fragment color/mask fetches

This introduces:
   - nir_texop_fragment_mask_fetch (fetch a fragment mask from a
     compressed multisampled color surface)
   - nir_texop_fragment_fetch (fetch a color fragment for a
     particular sample at corresponding fragment mask index).

These two texture operations are necessary for implementing
SPV_AMD_shader_fragment_mask.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3304>
This commit is contained in:
Samuel Pitoiset
2020-01-07 08:39:39 +01:00
committed by Marge Bot
parent dea29b3818
commit 603e6ba972
2 changed files with 9 additions and 0 deletions

View File

@@ -1040,6 +1040,12 @@ print_tex_instr(nir_tex_instr *instr, print_state *state)
case nir_texop_tex_prefetch:
fprintf(fp, "tex (pre-dispatchable) ");
break;
case nir_texop_fragment_fetch:
fprintf(fp, "fragment_fetch ");
break;
case nir_texop_fragment_mask_fetch:
fprintf(fp, "fragment_mask_fetch ");
break;
default:
unreachable("Invalid texture operation");
break;