|
@@ -333,7 +333,7 @@ Var* GBufferConditionerHLSL::_conditionOutput( Var *unconditionedOutput, MultiLi
|
|
// Encode depth into two channels
|
|
// Encode depth into two channels
|
|
if(mNormalStorageType != CartesianXYZ)
|
|
if(mNormalStorageType != CartesianXYZ)
|
|
{
|
|
{
|
|
- const U64 maxValPerChannel = 1 << mBitsPerChannel;
|
|
|
|
|
|
+ const U64 maxValPerChannel = (U64)1 << mBitsPerChannel;
|
|
meta->addStatement( new GenOp( " \r\n // Encode depth into hi/lo\r\n" ) );
|
|
meta->addStatement( new GenOp( " \r\n // Encode depth into hi/lo\r\n" ) );
|
|
meta->addStatement( new GenOp( avar( " float2 _tempDepth = frac(@.a * float2(1.0, %llu.0));\r\n", maxValPerChannel - 1 ),
|
|
meta->addStatement( new GenOp( avar( " float2 _tempDepth = frac(@.a * float2(1.0, %llu.0));\r\n", maxValPerChannel - 1 ),
|
|
unconditionedOutput ) );
|
|
unconditionedOutput ) );
|
|
@@ -391,7 +391,7 @@ Var* GBufferConditionerHLSL::_unconditionInput( Var *conditionedInput, MultiLine
|
|
// Recover depth from encoding
|
|
// Recover depth from encoding
|
|
if(mNormalStorageType != CartesianXYZ)
|
|
if(mNormalStorageType != CartesianXYZ)
|
|
{
|
|
{
|
|
- const U64 maxValPerChannel = 1 << mBitsPerChannel;
|
|
|
|
|
|
+ const U64 maxValPerChannel = (U64)1 << mBitsPerChannel;
|
|
meta->addStatement( new GenOp( " \r\n // Decode depth\r\n" ) );
|
|
meta->addStatement( new GenOp( " \r\n // Decode depth\r\n" ) );
|
|
meta->addStatement( new GenOp( avar( " @.w = dot( @.zw, float2(1.0, 1.0/%llu.0));\r\n", maxValPerChannel - 1 ),
|
|
meta->addStatement( new GenOp( avar( " @.w = dot( @.zw, float2(1.0, 1.0/%llu.0));\r\n", maxValPerChannel - 1 ),
|
|
retVar, conditionedInput ) );
|
|
retVar, conditionedInput ) );
|