virgl: don't move input gl_SampleMaskIn to a temp

The input is an array so moving it to a single temporary value doesn't
seem to make much sense. I also don't see any piglit regressions when
not moving the value to a temporary.

Fixes: bc912bace1
  virgl: Add workarounds for virglrenderer input/sv signedness bugs.

v2: remove unused enum for SAMPLEMASK (Emma)

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15997>
(cherry picked from commit 89bba41d90)
This commit is contained in:
Gert Wollny 2022-04-17 17:25:18 +02:00 committed by Dylan Baker
parent 238b018789
commit 421e4d445a
2 changed files with 1 additions and 5 deletions

View file

@ -1129,7 +1129,7 @@
"description": "virgl: don't move input gl_SampleMaskIn to a temp",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "bc912bace1cf8cd03793c5ae34bd5a2afd015019"
},

View file

@ -49,7 +49,6 @@ enum virgl_input_temps {
INPUT_TEMP_VIEWPORT_INDEX,
INPUT_TEMP_BLOCK_ID,
INPUT_TEMP_HELPER_INVOCATION,
INPUT_TEMP_SAMPLEMASK,
INPUT_TEMP_COUNT,
};
@ -109,8 +108,6 @@ virgl_tgsi_transform_declaration(struct tgsi_transform_context *ctx,
TGSI_SEMANTIC_BLOCK_ID);
virgl_tgsi_transform_declaration_input_temp(decl, &vtctx->input_temp[INPUT_TEMP_HELPER_INVOCATION],
TGSI_SEMANTIC_HELPER_INVOCATION);
virgl_tgsi_transform_declaration_input_temp(decl, &vtctx->input_temp[INPUT_TEMP_SAMPLEMASK],
TGSI_SEMANTIC_SAMPLEMASK);
break;
case TGSI_FILE_OUTPUT:
switch (decl->Semantic.Name) {
@ -219,7 +216,6 @@ virgl_tgsi_transform_prolog(struct tgsi_transform_context * ctx)
*/
virgl_mov_input_temp_sint(ctx, &vtctx->input_temp[INPUT_TEMP_LAYER]);
virgl_mov_input_temp_sint(ctx, &vtctx->input_temp[INPUT_TEMP_VIEWPORT_INDEX]);
virgl_mov_input_temp_sint(ctx, &vtctx->input_temp[INPUT_TEMP_SAMPLEMASK]);
/* virglrenderer also makes mistakes in the types of block id input
* references from signed ops, so we use a temp that we do a plain MOV to at