Commit Description:
Add timers for Simulation and various engines...
Commit Description:
Add timers for Simulation and various engines Starting to add additional timers for different stages of the process of updating in order to get more insight into what is slowing it down. The update takes 9ms, which is much longer than it used to. Engine-specific timers are coming later.
File last commit:
Show/Diff file:
Action:
FNA/src/Graphics/Effect/YUVToRGBA/YUVToRGBAEffect.fx
61 lines | 1.4 KiB | text/plain | TextLexer
/* YUV-to-RGBA Effect
* Written by Ethan "flibitijibibo" Lee
* http://www.flibitijibibo.com/
*
* This effect is based on the YUV-to-RGBA GLSL shader found in SDL.
* Thus, it also released under the zlib license:
* http://libsdl.org/license.php
*/
sampler samp0 : register(s0);
sampler samp1 : register(s1);
sampler samp2 : register(s2);
void VS(inout float2 tex : TEXCOORD0,
inout float4 pos : SV_Position)
{
pos.w = 1.0;
}
float4 PS(float2 tex : TEXCOORD0) : SV_Target0
{
const float3 offset = float3(-0.0625, -0.5, -0.5);
/* More info about colorspace conversion:
* http://www.equasys.de/colorconversion.html
* http://www.equasys.de/colorformat.html
*/
#if 1
/* ITU-R BT.709 */
const float3 Rcoeff = float3(1.164, 0.000, 1.793);
const float3 Gcoeff = float3(1.164, -0.213, -0.533);
const float3 Bcoeff = float3(1.164, 2.112, 0.000);
#else
/* ITU-R BT.601 */
const float3 Rcoeff = float3(1.164, 0.000, 1.596);
const float3 Gcoeff = float3(1.164, -0.391, -0.813);
const float3 Bcoeff = float3(1.164, 2.018, 0.000);
#endif
float3 yuv;
yuv.x = tex2D(samp0, tex).w;
yuv.y = tex2D(samp1, tex).w;
yuv.z = tex2D(samp2, tex).w;
yuv += offset;
float4 rgba;
rgba.x = dot(yuv, Rcoeff);
rgba.y = dot(yuv, Gcoeff);
rgba.z = dot(yuv, Bcoeff);
rgba.w = 1.0;
return rgba;
}
Technique T
{
Pass P
{
VertexShader = compile vs_3_0 VS();
PixelShader = compile ps_3_0 PS();
}
}