Add HLSL memory barrier intrinsics, fix dst, add lit & EvaluateAttributeSnapped
This commit is contained in:
@@ -515,7 +515,14 @@ enum TOperator {
|
||||
EOpInterlockedMin, // ...
|
||||
EOpInterlockedOr, // ...
|
||||
EOpInterlockedXor, // ...
|
||||
|
||||
EOpAllMemoryBarrierWithGroupSync, // memory barriers without non-hlsl AST equivalents
|
||||
EOpGroupMemoryBarrierWithGroupSync, // ...
|
||||
EOpWorkgroupMemoryBarrier, // ...
|
||||
EOpWorkgroupMemoryBarrierWithGroupSync, // ...
|
||||
EOpEvaluateAttributeSnapped, // InterpolateAtOffset with int position on 16x16 grid
|
||||
EOpF32tof16, // HLSL conversion: half of a PackHalf2x16
|
||||
EOpF16tof32, // HLSL conversion: half of an UnpackHalf2x16
|
||||
EOpLit, // HLSL lighting coefficient vector
|
||||
};
|
||||
|
||||
class TIntermTraverser;
|
||||
|
||||
@@ -543,6 +543,11 @@ bool TOutputTraverser::visitAggregate(TVisit /* visit */, TIntermAggregate* node
|
||||
case EOpSinCos: out.debug << "sincos"; break;
|
||||
case EOpGenMul: out.debug << "mul"; break;
|
||||
|
||||
case EOpAllMemoryBarrierWithGroupSync: out.debug << "AllMemoryBarrierWithGroupSync"; break;
|
||||
case EOpGroupMemoryBarrierWithGroupSync: out.debug << "GroupMemoryBarrierWithGroupSync"; break;
|
||||
case EOpWorkgroupMemoryBarrier: out.debug << "WorkgroupMemoryBarrier"; break;
|
||||
case EOpWorkgroupMemoryBarrierWithGroupSync: out.debug << "WorkgroupMemoryBarrierWithGroupSync"; break;
|
||||
|
||||
default: out.debug.message(EPrefixError, "Bad aggregation op");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user