634 lines
18 KiB
GLSL
634 lines
18 KiB
GLSL
Shader "Hidden/CoreSRP/CoreCopy"
|
|
{
|
|
Properties
|
|
{
|
|
}
|
|
SubShader
|
|
{
|
|
Pass
|
|
{
|
|
Name "Copy"
|
|
ZClip Off
|
|
ZWrite Off
|
|
Cull Off
|
|
GpuProgramID 10466
|
|
|
|
HLSLPROGRAM
|
|
|
|
// https://docs.unity3d.com/Manual/SL-PragmaDirectives.html
|
|
#pragma vertex vert
|
|
#pragma fragment frag
|
|
#pragma target 4.0
|
|
#pragma multi_compile _ DISABLE_TEXTURE2D_X_ARRAY
|
|
#pragma multi_compile _ STEREO_INSTANCING_ON
|
|
|
|
|
|
#ifndef DISABLE_TEXTURE2D_X_ARRAY
|
|
#ifndef STEREO_INSTANCING_ON
|
|
#define ANY_SHADER_VARIANT_ACTIVE
|
|
|
|
static float4 gl_Position;
|
|
static int gl_VertexIndex;
|
|
static int gl_BaseVertexARB;
|
|
struct Vertex_Stage_Input
|
|
{
|
|
uint gl_VertexIndex : SV_VertexID;
|
|
uint gl_BaseVertexARB : SV_StartVertexLocation;
|
|
};
|
|
|
|
struct Vertex_Stage_Output
|
|
{
|
|
float4 gl_Position : SV_Position;
|
|
};
|
|
|
|
void vert_main()
|
|
{
|
|
gl_Position.x = mad(float(((uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) << 1u) & 2u), 2.0f, -1.0f);
|
|
gl_Position.y = mad(float((uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) & 2u), 2.0f, -1.0f);
|
|
gl_Position.z = 1.0f;
|
|
gl_Position.w = 1.0f;
|
|
}
|
|
|
|
Vertex_Stage_Output vert(Vertex_Stage_Input stage_input)
|
|
{
|
|
gl_VertexIndex = int(stage_input.gl_VertexIndex + stage_input.gl_BaseVertexARB);
|
|
gl_BaseVertexARB = stage_input.gl_BaseVertexARB;
|
|
vert_main();
|
|
Vertex_Stage_Output stage_output;
|
|
stage_output.gl_Position = gl_Position;
|
|
return stage_output;
|
|
}
|
|
|
|
#endif // !DISABLE_TEXTURE2D_X_ARRAY
|
|
#endif // !STEREO_INSTANCING_ON
|
|
|
|
|
|
#ifdef STEREO_INSTANCING_ON
|
|
#ifndef DISABLE_TEXTURE2D_X_ARRAY
|
|
#define ANY_SHADER_VARIANT_ACTIVE
|
|
|
|
static float4 gl_Position;
|
|
static uint gl_Layer;
|
|
static int gl_VertexIndex;
|
|
static int gl_InstanceIndex;
|
|
static int gl_BaseVertexARB;
|
|
static int gl_BaseInstanceARB;
|
|
struct Vertex_Stage_Input
|
|
{
|
|
uint gl_VertexIndex : SV_VertexID;
|
|
uint gl_InstanceIndex : SV_InstanceID;
|
|
uint gl_BaseVertexARB : SV_StartVertexLocation;
|
|
uint gl_BaseInstanceARB : SV_StartInstanceLocation;
|
|
};
|
|
|
|
struct Vertex_Stage_Output
|
|
{
|
|
float4 gl_Position : SV_Position;
|
|
uint gl_Layer : SV_RenderTargetArrayIndex;
|
|
};
|
|
|
|
void vert_main()
|
|
{
|
|
gl_Position.x = mad(float(((uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) << 1u) & 2u), 2.0f, -1.0f);
|
|
gl_Position.y = mad(float((uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) & 2u), 2.0f, -1.0f);
|
|
gl_Position.z = 1.0f;
|
|
gl_Position.w = 1.0f;
|
|
gl_Layer = int((uint(gl_InstanceIndex) - uint(gl_BaseInstanceARB)) & 1u);
|
|
}
|
|
|
|
Vertex_Stage_Output vert(Vertex_Stage_Input stage_input)
|
|
{
|
|
gl_VertexIndex = int(stage_input.gl_VertexIndex + stage_input.gl_BaseVertexARB);
|
|
gl_InstanceIndex = int(stage_input.gl_InstanceIndex + stage_input.gl_BaseInstanceARB);
|
|
gl_BaseVertexARB = stage_input.gl_BaseVertexARB;
|
|
gl_BaseInstanceARB = stage_input.gl_BaseInstanceARB;
|
|
vert_main();
|
|
Vertex_Stage_Output stage_output;
|
|
stage_output.gl_Position = gl_Position;
|
|
stage_output.gl_Layer = gl_Layer;
|
|
return stage_output;
|
|
}
|
|
|
|
#endif // STEREO_INSTANCING_ON
|
|
#endif // !DISABLE_TEXTURE2D_X_ARRAY
|
|
|
|
|
|
#ifndef DISABLE_TEXTURE2D_X_ARRAY
|
|
#ifndef STEREO_INSTANCING_ON
|
|
#define ANY_SHADER_VARIANT_ACTIVE
|
|
|
|
Texture2DArray<float4> _UnityFBInput0;
|
|
|
|
static float4 gl_FragCoord;
|
|
static float4 fragment_output_0;
|
|
|
|
struct Fragment_Stage_Input
|
|
{
|
|
float4 gl_FragCoord : SV_Position;
|
|
};
|
|
|
|
struct Fragment_Stage_Output
|
|
{
|
|
float4 fragment_output_0 : SV_Target0;
|
|
};
|
|
|
|
void frag_main()
|
|
{
|
|
float4 fragment_unnamed_25 = _UnityFBInput0.Load(int4(uint3(uint(int(gl_FragCoord.x)), uint(int(gl_FragCoord.y)), 0u), 0u));
|
|
fragment_output_0.x = fragment_unnamed_25.x;
|
|
fragment_output_0.y = fragment_unnamed_25.y;
|
|
fragment_output_0.z = fragment_unnamed_25.z;
|
|
fragment_output_0.w = fragment_unnamed_25.w;
|
|
}
|
|
|
|
Fragment_Stage_Output frag(Fragment_Stage_Input stage_input)
|
|
{
|
|
gl_FragCoord = stage_input.gl_FragCoord;
|
|
gl_FragCoord.w = 1.0 / gl_FragCoord.w;
|
|
frag_main();
|
|
Fragment_Stage_Output stage_output;
|
|
stage_output.fragment_output_0 = fragment_output_0;
|
|
return stage_output;
|
|
}
|
|
|
|
#endif // !DISABLE_TEXTURE2D_X_ARRAY
|
|
#endif // !STEREO_INSTANCING_ON
|
|
|
|
|
|
#ifdef STEREO_INSTANCING_ON
|
|
#ifndef DISABLE_TEXTURE2D_X_ARRAY
|
|
#define ANY_SHADER_VARIANT_ACTIVE
|
|
|
|
Texture2DArray<float4> _UnityFBInput0;
|
|
|
|
static uint gl_Layer;
|
|
static float4 gl_FragCoord;
|
|
static float4 fragment_output_0;
|
|
|
|
struct Fragment_Stage_Input
|
|
{
|
|
uint gl_Layer : SV_RenderTargetArrayIndex;
|
|
float4 gl_FragCoord : SV_Position;
|
|
};
|
|
|
|
struct Fragment_Stage_Output
|
|
{
|
|
float4 fragment_output_0 : SV_Target0;
|
|
};
|
|
|
|
void frag_main()
|
|
{
|
|
float4 fragment_unnamed_28 = _UnityFBInput0.Load(int4(uint3(uint(int(gl_FragCoord.x)), uint(int(gl_FragCoord.y)), uint(gl_Layer)), 0u));
|
|
fragment_output_0.x = fragment_unnamed_28.x;
|
|
fragment_output_0.y = fragment_unnamed_28.y;
|
|
fragment_output_0.z = fragment_unnamed_28.z;
|
|
fragment_output_0.w = fragment_unnamed_28.w;
|
|
}
|
|
|
|
Fragment_Stage_Output frag(Fragment_Stage_Input stage_input)
|
|
{
|
|
gl_Layer = stage_input.gl_Layer;
|
|
gl_FragCoord = stage_input.gl_FragCoord;
|
|
gl_FragCoord.w = 1.0 / gl_FragCoord.w;
|
|
frag_main();
|
|
Fragment_Stage_Output stage_output;
|
|
stage_output.fragment_output_0 = fragment_output_0;
|
|
return stage_output;
|
|
}
|
|
|
|
#endif // STEREO_INSTANCING_ON
|
|
#endif // !DISABLE_TEXTURE2D_X_ARRAY
|
|
|
|
|
|
#ifdef DISABLE_TEXTURE2D_X_ARRAY
|
|
#ifndef STEREO_INSTANCING_ON
|
|
#define ANY_SHADER_VARIANT_ACTIVE
|
|
|
|
Texture2D<float4> _UnityFBInput0;
|
|
|
|
static float4 gl_FragCoord;
|
|
static float4 fragment_output_0;
|
|
|
|
struct Fragment_Stage_Input
|
|
{
|
|
float4 gl_FragCoord : SV_Position;
|
|
};
|
|
|
|
struct Fragment_Stage_Output
|
|
{
|
|
float4 fragment_output_0 : SV_Target0;
|
|
};
|
|
|
|
void frag_main()
|
|
{
|
|
float4 fragment_unnamed_25 = _UnityFBInput0.Load(int3(uint2(uint(int(gl_FragCoord.x)), uint(int(gl_FragCoord.y))), 0u));
|
|
fragment_output_0.x = fragment_unnamed_25.x;
|
|
fragment_output_0.y = fragment_unnamed_25.y;
|
|
fragment_output_0.z = fragment_unnamed_25.z;
|
|
fragment_output_0.w = fragment_unnamed_25.w;
|
|
}
|
|
|
|
Fragment_Stage_Output frag(Fragment_Stage_Input stage_input)
|
|
{
|
|
gl_FragCoord = stage_input.gl_FragCoord;
|
|
gl_FragCoord.w = 1.0 / gl_FragCoord.w;
|
|
frag_main();
|
|
Fragment_Stage_Output stage_output;
|
|
stage_output.fragment_output_0 = fragment_output_0;
|
|
return stage_output;
|
|
}
|
|
|
|
#endif // DISABLE_TEXTURE2D_X_ARRAY
|
|
#endif // !STEREO_INSTANCING_ON
|
|
|
|
|
|
#ifdef DISABLE_TEXTURE2D_X_ARRAY
|
|
#ifdef STEREO_INSTANCING_ON
|
|
#define ANY_SHADER_VARIANT_ACTIVE
|
|
|
|
Texture2D<float4> _UnityFBInput0;
|
|
|
|
static float4 gl_FragCoord;
|
|
static float4 fragment_output_0;
|
|
|
|
struct Fragment_Stage_Input
|
|
{
|
|
float4 gl_FragCoord : SV_Position;
|
|
};
|
|
|
|
struct Fragment_Stage_Output
|
|
{
|
|
float4 fragment_output_0 : SV_Target0;
|
|
};
|
|
|
|
void frag_main()
|
|
{
|
|
float4 fragment_unnamed_27 = _UnityFBInput0.Load(int3(uint2(uint(int(gl_FragCoord.x)), uint(int(gl_FragCoord.y))), 0u));
|
|
fragment_output_0.x = fragment_unnamed_27.x;
|
|
fragment_output_0.y = fragment_unnamed_27.y;
|
|
fragment_output_0.z = fragment_unnamed_27.z;
|
|
fragment_output_0.w = fragment_unnamed_27.w;
|
|
}
|
|
|
|
Fragment_Stage_Output frag(Fragment_Stage_Input stage_input)
|
|
{
|
|
gl_FragCoord = stage_input.gl_FragCoord;
|
|
gl_FragCoord.w = 1.0 / gl_FragCoord.w;
|
|
frag_main();
|
|
Fragment_Stage_Output stage_output;
|
|
stage_output.fragment_output_0 = fragment_output_0;
|
|
return stage_output;
|
|
}
|
|
|
|
#endif // DISABLE_TEXTURE2D_X_ARRAY
|
|
#endif // STEREO_INSTANCING_ON
|
|
|
|
|
|
ENDHLSL
|
|
}
|
|
Pass
|
|
{
|
|
Name "CopyMS"
|
|
ZClip Off
|
|
ZWrite Off
|
|
Cull Off
|
|
GpuProgramID 128618
|
|
|
|
HLSLPROGRAM
|
|
|
|
// https://docs.unity3d.com/Manual/SL-PragmaDirectives.html
|
|
#pragma vertex vert
|
|
#pragma fragment frag
|
|
#pragma target 5.0
|
|
#pragma multi_compile _ DISABLE_TEXTURE2D_X_ARRAY
|
|
#pragma multi_compile _ STEREO_INSTANCING_ON
|
|
|
|
|
|
#ifndef DISABLE_TEXTURE2D_X_ARRAY
|
|
#ifndef STEREO_INSTANCING_ON
|
|
#define ANY_SHADER_VARIANT_ACTIVE
|
|
|
|
static float4 gl_Position;
|
|
static int gl_VertexIndex;
|
|
static int gl_BaseVertexARB;
|
|
struct Vertex_Stage_Input
|
|
{
|
|
uint gl_VertexIndex : SV_VertexID;
|
|
uint gl_BaseVertexARB : SV_StartVertexLocation;
|
|
};
|
|
|
|
struct Vertex_Stage_Output
|
|
{
|
|
float4 gl_Position : SV_Position;
|
|
};
|
|
|
|
uint spvBitfieldInsert(uint Base, uint Insert, uint Offset, uint Count)
|
|
{
|
|
uint Mask = Count == 32 ? 0xffffffff : (((1u << Count) - 1) << (Offset & 31));
|
|
return (Base & ~Mask) | ((Insert << Offset) & Mask);
|
|
}
|
|
|
|
uint2 spvBitfieldInsert(uint2 Base, uint2 Insert, uint Offset, uint Count)
|
|
{
|
|
uint Mask = Count == 32 ? 0xffffffff : (((1u << Count) - 1) << (Offset & 31));
|
|
return (Base & ~Mask) | ((Insert << Offset) & Mask);
|
|
}
|
|
|
|
uint3 spvBitfieldInsert(uint3 Base, uint3 Insert, uint Offset, uint Count)
|
|
{
|
|
uint Mask = Count == 32 ? 0xffffffff : (((1u << Count) - 1) << (Offset & 31));
|
|
return (Base & ~Mask) | ((Insert << Offset) & Mask);
|
|
}
|
|
|
|
uint4 spvBitfieldInsert(uint4 Base, uint4 Insert, uint Offset, uint Count)
|
|
{
|
|
uint Mask = Count == 32 ? 0xffffffff : (((1u << Count) - 1) << (Offset & 31));
|
|
return (Base & ~Mask) | ((Insert << Offset) & Mask);
|
|
}
|
|
|
|
void vert_main()
|
|
{
|
|
uint vertex_unnamed_19 = 1u & 31u;
|
|
gl_Position.x = mad(float(spvBitfieldInsert(0u, uint(gl_VertexIndex) - uint(gl_BaseVertexARB), vertex_unnamed_19, min((1u & 31u), (32u - vertex_unnamed_19)))), 2.0f, -1.0f);
|
|
gl_Position.y = mad(float((uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) & 2u), 2.0f, -1.0f);
|
|
gl_Position.z = 1.0f;
|
|
gl_Position.w = 1.0f;
|
|
}
|
|
|
|
Vertex_Stage_Output vert(Vertex_Stage_Input stage_input)
|
|
{
|
|
gl_VertexIndex = int(stage_input.gl_VertexIndex + stage_input.gl_BaseVertexARB);
|
|
gl_BaseVertexARB = stage_input.gl_BaseVertexARB;
|
|
vert_main();
|
|
Vertex_Stage_Output stage_output;
|
|
stage_output.gl_Position = gl_Position;
|
|
return stage_output;
|
|
}
|
|
|
|
#endif // !DISABLE_TEXTURE2D_X_ARRAY
|
|
#endif // !STEREO_INSTANCING_ON
|
|
|
|
|
|
#ifdef STEREO_INSTANCING_ON
|
|
#ifndef DISABLE_TEXTURE2D_X_ARRAY
|
|
#define ANY_SHADER_VARIANT_ACTIVE
|
|
|
|
static float4 gl_Position;
|
|
static uint gl_Layer;
|
|
static int gl_VertexIndex;
|
|
static int gl_InstanceIndex;
|
|
static int gl_BaseVertexARB;
|
|
static int gl_BaseInstanceARB;
|
|
struct Vertex_Stage_Input
|
|
{
|
|
uint gl_VertexIndex : SV_VertexID;
|
|
uint gl_InstanceIndex : SV_InstanceID;
|
|
uint gl_BaseVertexARB : SV_StartVertexLocation;
|
|
uint gl_BaseInstanceARB : SV_StartInstanceLocation;
|
|
};
|
|
|
|
struct Vertex_Stage_Output
|
|
{
|
|
float4 gl_Position : SV_Position;
|
|
uint gl_Layer : SV_RenderTargetArrayIndex;
|
|
};
|
|
|
|
uint spvBitfieldInsert(uint Base, uint Insert, uint Offset, uint Count)
|
|
{
|
|
uint Mask = Count == 32 ? 0xffffffff : (((1u << Count) - 1) << (Offset & 31));
|
|
return (Base & ~Mask) | ((Insert << Offset) & Mask);
|
|
}
|
|
|
|
uint2 spvBitfieldInsert(uint2 Base, uint2 Insert, uint Offset, uint Count)
|
|
{
|
|
uint Mask = Count == 32 ? 0xffffffff : (((1u << Count) - 1) << (Offset & 31));
|
|
return (Base & ~Mask) | ((Insert << Offset) & Mask);
|
|
}
|
|
|
|
uint3 spvBitfieldInsert(uint3 Base, uint3 Insert, uint Offset, uint Count)
|
|
{
|
|
uint Mask = Count == 32 ? 0xffffffff : (((1u << Count) - 1) << (Offset & 31));
|
|
return (Base & ~Mask) | ((Insert << Offset) & Mask);
|
|
}
|
|
|
|
uint4 spvBitfieldInsert(uint4 Base, uint4 Insert, uint Offset, uint Count)
|
|
{
|
|
uint Mask = Count == 32 ? 0xffffffff : (((1u << Count) - 1) << (Offset & 31));
|
|
return (Base & ~Mask) | ((Insert << Offset) & Mask);
|
|
}
|
|
|
|
void vert_main()
|
|
{
|
|
uint vertex_unnamed_22 = 1u & 31u;
|
|
gl_Position.x = mad(float(spvBitfieldInsert(0u, uint(gl_VertexIndex) - uint(gl_BaseVertexARB), vertex_unnamed_22, min((1u & 31u), (32u - vertex_unnamed_22)))), 2.0f, -1.0f);
|
|
gl_Position.y = mad(float((uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) & 2u), 2.0f, -1.0f);
|
|
gl_Position.z = 1.0f;
|
|
gl_Position.w = 1.0f;
|
|
gl_Layer = int((uint(gl_InstanceIndex) - uint(gl_BaseInstanceARB)) & 1u);
|
|
}
|
|
|
|
Vertex_Stage_Output vert(Vertex_Stage_Input stage_input)
|
|
{
|
|
gl_VertexIndex = int(stage_input.gl_VertexIndex + stage_input.gl_BaseVertexARB);
|
|
gl_InstanceIndex = int(stage_input.gl_InstanceIndex + stage_input.gl_BaseInstanceARB);
|
|
gl_BaseVertexARB = stage_input.gl_BaseVertexARB;
|
|
gl_BaseInstanceARB = stage_input.gl_BaseInstanceARB;
|
|
vert_main();
|
|
Vertex_Stage_Output stage_output;
|
|
stage_output.gl_Position = gl_Position;
|
|
stage_output.gl_Layer = gl_Layer;
|
|
return stage_output;
|
|
}
|
|
|
|
#endif // STEREO_INSTANCING_ON
|
|
#endif // !DISABLE_TEXTURE2D_X_ARRAY
|
|
|
|
|
|
#ifndef DISABLE_TEXTURE2D_X_ARRAY
|
|
#ifndef STEREO_INSTANCING_ON
|
|
#define ANY_SHADER_VARIANT_ACTIVE
|
|
|
|
Texture2DMSArray<float4> _UnityFBInput0;
|
|
|
|
static float4 gl_FragCoord;
|
|
static int gl_SampleID;
|
|
static float4 fragment_output_0;
|
|
|
|
struct Fragment_Stage_Input
|
|
{
|
|
float4 gl_FragCoord : SV_Position;
|
|
uint gl_SampleID : SV_SampleIndex;
|
|
};
|
|
|
|
struct Fragment_Stage_Output
|
|
{
|
|
float4 fragment_output_0 : SV_Target0;
|
|
};
|
|
|
|
void frag_main()
|
|
{
|
|
float4 fragment_unnamed_28 = _UnityFBInput0.Load(uint3(uint(int(gl_FragCoord.x)), uint(int(gl_FragCoord.y)), 0u), uint(gl_SampleID));
|
|
fragment_output_0.x = fragment_unnamed_28.x;
|
|
fragment_output_0.y = fragment_unnamed_28.y;
|
|
fragment_output_0.z = fragment_unnamed_28.z;
|
|
fragment_output_0.w = fragment_unnamed_28.w;
|
|
}
|
|
|
|
Fragment_Stage_Output frag(Fragment_Stage_Input stage_input)
|
|
{
|
|
gl_FragCoord = stage_input.gl_FragCoord;
|
|
gl_FragCoord.w = 1.0 / gl_FragCoord.w;
|
|
gl_SampleID = stage_input.gl_SampleID;
|
|
frag_main();
|
|
Fragment_Stage_Output stage_output;
|
|
stage_output.fragment_output_0 = fragment_output_0;
|
|
return stage_output;
|
|
}
|
|
|
|
#endif // !DISABLE_TEXTURE2D_X_ARRAY
|
|
#endif // !STEREO_INSTANCING_ON
|
|
|
|
|
|
#ifdef STEREO_INSTANCING_ON
|
|
#ifndef DISABLE_TEXTURE2D_X_ARRAY
|
|
#define ANY_SHADER_VARIANT_ACTIVE
|
|
|
|
Texture2DMSArray<float4> _UnityFBInput0;
|
|
|
|
static uint gl_Layer;
|
|
static float4 gl_FragCoord;
|
|
static int gl_SampleID;
|
|
static float4 fragment_output_0;
|
|
|
|
struct Fragment_Stage_Input
|
|
{
|
|
uint gl_Layer : SV_RenderTargetArrayIndex;
|
|
float4 gl_FragCoord : SV_Position;
|
|
uint gl_SampleID : SV_SampleIndex;
|
|
};
|
|
|
|
struct Fragment_Stage_Output
|
|
{
|
|
float4 fragment_output_0 : SV_Target0;
|
|
};
|
|
|
|
void frag_main()
|
|
{
|
|
float4 fragment_unnamed_30 = _UnityFBInput0.Load(uint3(uint(int(gl_FragCoord.x)), uint(int(gl_FragCoord.y)), uint(gl_Layer)), uint(gl_SampleID));
|
|
fragment_output_0.x = fragment_unnamed_30.x;
|
|
fragment_output_0.y = fragment_unnamed_30.y;
|
|
fragment_output_0.z = fragment_unnamed_30.z;
|
|
fragment_output_0.w = fragment_unnamed_30.w;
|
|
}
|
|
|
|
Fragment_Stage_Output frag(Fragment_Stage_Input stage_input)
|
|
{
|
|
gl_Layer = stage_input.gl_Layer;
|
|
gl_FragCoord = stage_input.gl_FragCoord;
|
|
gl_FragCoord.w = 1.0 / gl_FragCoord.w;
|
|
gl_SampleID = stage_input.gl_SampleID;
|
|
frag_main();
|
|
Fragment_Stage_Output stage_output;
|
|
stage_output.fragment_output_0 = fragment_output_0;
|
|
return stage_output;
|
|
}
|
|
|
|
#endif // STEREO_INSTANCING_ON
|
|
#endif // !DISABLE_TEXTURE2D_X_ARRAY
|
|
|
|
|
|
#ifdef DISABLE_TEXTURE2D_X_ARRAY
|
|
#ifndef STEREO_INSTANCING_ON
|
|
#define ANY_SHADER_VARIANT_ACTIVE
|
|
|
|
Texture2DMS<float4> _UnityFBInput0;
|
|
|
|
static float4 gl_FragCoord;
|
|
static int gl_SampleID;
|
|
static float4 fragment_output_0;
|
|
|
|
struct Fragment_Stage_Input
|
|
{
|
|
float4 gl_FragCoord : SV_Position;
|
|
uint gl_SampleID : SV_SampleIndex;
|
|
};
|
|
|
|
struct Fragment_Stage_Output
|
|
{
|
|
float4 fragment_output_0 : SV_Target0;
|
|
};
|
|
|
|
void frag_main()
|
|
{
|
|
float4 fragment_unnamed_28 = _UnityFBInput0.Load(uint2(uint(int(gl_FragCoord.x)), uint(int(gl_FragCoord.y))), uint(gl_SampleID));
|
|
fragment_output_0.x = fragment_unnamed_28.x;
|
|
fragment_output_0.y = fragment_unnamed_28.y;
|
|
fragment_output_0.z = fragment_unnamed_28.z;
|
|
fragment_output_0.w = fragment_unnamed_28.w;
|
|
}
|
|
|
|
Fragment_Stage_Output frag(Fragment_Stage_Input stage_input)
|
|
{
|
|
gl_FragCoord = stage_input.gl_FragCoord;
|
|
gl_FragCoord.w = 1.0 / gl_FragCoord.w;
|
|
gl_SampleID = stage_input.gl_SampleID;
|
|
frag_main();
|
|
Fragment_Stage_Output stage_output;
|
|
stage_output.fragment_output_0 = fragment_output_0;
|
|
return stage_output;
|
|
}
|
|
|
|
#endif // DISABLE_TEXTURE2D_X_ARRAY
|
|
#endif // !STEREO_INSTANCING_ON
|
|
|
|
|
|
#ifdef DISABLE_TEXTURE2D_X_ARRAY
|
|
#ifdef STEREO_INSTANCING_ON
|
|
#define ANY_SHADER_VARIANT_ACTIVE
|
|
|
|
Texture2DMS<float4> _UnityFBInput0;
|
|
|
|
static float4 gl_FragCoord;
|
|
static int gl_SampleID;
|
|
static float4 fragment_output_0;
|
|
|
|
struct Fragment_Stage_Input
|
|
{
|
|
float4 gl_FragCoord : SV_Position;
|
|
uint gl_SampleID : SV_SampleIndex;
|
|
};
|
|
|
|
struct Fragment_Stage_Output
|
|
{
|
|
float4 fragment_output_0 : SV_Target0;
|
|
};
|
|
|
|
void frag_main()
|
|
{
|
|
float4 fragment_unnamed_29 = _UnityFBInput0.Load(uint2(uint(int(gl_FragCoord.x)), uint(int(gl_FragCoord.y))), uint(gl_SampleID));
|
|
fragment_output_0.x = fragment_unnamed_29.x;
|
|
fragment_output_0.y = fragment_unnamed_29.y;
|
|
fragment_output_0.z = fragment_unnamed_29.z;
|
|
fragment_output_0.w = fragment_unnamed_29.w;
|
|
}
|
|
|
|
Fragment_Stage_Output frag(Fragment_Stage_Input stage_input)
|
|
{
|
|
gl_FragCoord = stage_input.gl_FragCoord;
|
|
gl_FragCoord.w = 1.0 / gl_FragCoord.w;
|
|
gl_SampleID = stage_input.gl_SampleID;
|
|
frag_main();
|
|
Fragment_Stage_Output stage_output;
|
|
stage_output.fragment_output_0 = fragment_output_0;
|
|
return stage_output;
|
|
}
|
|
|
|
#endif // DISABLE_TEXTURE2D_X_ARRAY
|
|
#endif // STEREO_INSTANCING_ON
|
|
|
|
|
|
ENDHLSL
|
|
}
|
|
}
|
|
}
|