virgl: Extend integer write out output fix to all non-move integers ops
The host virglrenderer can only handle moves to integer outputs, all ALU opt that create integer outputs are created with extra code to convert to float for the temporaries, and this breaks the output write handling. Fixes: spec@arb_sample_shading@builtin-gl-sample-mask * spec@arb_sample_shading@builtin-gl-sample-mask-simple * Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Emma Anholt <emma@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15921>
This commit is contained in:
parent
4d23967e8c
commit
36f12c85c8
|
@ -385,8 +385,7 @@ virgl_tgsi_transform_instruction(struct tgsi_transform_context *ctx,
|
|||
|
||||
/* virglrenderer doesn't resolve non-float output write properly,
|
||||
* so we have to first write to a temporary */
|
||||
if ((inst->Src[0].Register.File == TGSI_FILE_CONSTANT ||
|
||||
inst->Src[0].Register.File == TGSI_FILE_IMMEDIATE) &&
|
||||
if (inst->Instruction.Opcode != TGSI_OPCODE_MOV &&
|
||||
!tgsi_get_opcode_info(inst->Instruction.Opcode)->is_tex &&
|
||||
!tgsi_get_opcode_info(inst->Instruction.Opcode)->is_store &&
|
||||
inst->Dst[0].Register.File == TGSI_FILE_OUTPUT &&
|
||||
|
|
Loading…
Reference in New Issue