Skip to content

Commit b55067a

Browse files
ichenkaiigcbot
authored andcommitted
Stencil Payload fix for DualSourceBlendRTWrite in e64
In e64b mode, the data type for the stencil payload was not correctly setup to bytes (U8) to match design but instead was set to word (U16) causing us to write garbage to the final payload in some cases.
1 parent 8d26059 commit b55067a

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

visa/VisaToG4/TranslateSend3D.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1266,9 +1266,11 @@ IR_Builder::constructSrcPayloadDualRenderTarget(vISA_RT_CONTROLS cntrls,
12661266
auto payloadUD = createSendPayloadDcl(numElts, Type_UD);
12671267
auto payloadUW = createSendPayloadDcl(numElts, Type_UW);
12681268
auto payloadF = createSendPayloadDcl(numElts, Type_F);
1269+
auto payloadUB = createSendPayloadDcl(numElts, Type_UB);
12691270

12701271
payloadUW->setAliasDeclare(payloadUD, 0);
12711272
payloadF->setAliasDeclare(payloadUD, 0);
1273+
payloadUB->setAliasDeclare(payloadUD, 0);
12721274

12731275
// Check whether coalescing is possible
12741276
// coalesc payload by checking whether the source is already prepared in a
@@ -1398,7 +1400,7 @@ IR_Builder::constructSrcPayloadDualRenderTarget(vISA_RT_CONTROLS cntrls,
13981400
}
13991401

14001402
if (cntrls.isStencil) {
1401-
Copy_SrcRegRegion_To_Payload(payloadUW, regOff, S, execSize, instOpt);
1403+
Copy_SrcRegRegion_To_Payload(payloadUB, regOff, S, execSize, instOpt);
14021404
}
14031405

14041406
srcToUse = createSrcRegRegion(payloadUD, getRegionStride1());

0 commit comments

Comments
 (0)