diff --git a/gfx/gl/GLBlitHelper.cpp b/gfx/gl/GLBlitHelper.cpp index d63f459ff54e..6e049ee016b8 100644 --- a/gfx/gl/GLBlitHelper.cpp +++ b/gfx/gl/GLBlitHelper.cpp @@ -4,6 +4,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#include "gfxUtils.h" #include "GLBlitHelper.h" #include "GLContext.h" #include "GLScreenBuffer.h" @@ -59,6 +60,7 @@ GLBlitHelper::GLBlitHelper(GLContext* gl) , mSrcTexEGL(0) , mYTexScaleLoc(-1) , mCbCrTexScaleLoc(-1) + , mYuvColorMatrixLoc(-1) , mTexWidth(0) , mTexHeight(0) , mCurYScale(1.0f) @@ -171,14 +173,24 @@ GLBlitHelper::InitTexQuadProgram(BlitType target) "; #endif /* From Rec601: - [R] [1.1643835616438356, 0.0, 1.5960267857142858] [ Y - 16] - [G] = [1.1643835616438358, -0.3917622900949137, -0.8129676472377708] x [Cb - 128] - [B] [1.1643835616438356, 2.017232142857143, 8.862867620416422e-17] [Cr - 128] + [R] [1.1643835616438356, 0.0, 1.5960267857142858] [ Y - 16] + [G] = [1.1643835616438358, -0.3917622900949137, -0.8129676472377708] x [Cb - 128] + [B] [1.1643835616438356, 2.017232142857143, 8.862867620416422e-17] [Cr - 128] For [0,1] instead of [0,255], and to 5 places: - [R] [1.16438, 0.00000, 1.59603] [ Y - 0.06275] + [R] [1.16438, 0.00000, 1.59603] [ Y - 0.06275] [G] = [1.16438, -0.39176, -0.81297] x [Cb - 0.50196] - [B] [1.16438, 2.01723, 0.00000] [Cr - 0.50196] + [B] [1.16438, 2.01723, 0.00000] [Cr - 0.50196] + + From Rec709: + [R] [1.1643835616438356, 4.2781193979771426e-17, 1.7927410714285714] [ Y - 16] + [G] = [1.1643835616438358, -0.21324861427372963, -0.532909328559444] x [Cb - 128] + [B] [1.1643835616438356, 2.1124017857142854, 0.0] [Cr - 128] + + For [0,1] instead of [0,255], and to 5 places: + [R] [1.16438, 0.00000, 1.79274] [ Y - 0.06275] + [G] = [1.16438, -0.21325, -0.53291] x [Cb - 0.50196] + [B] [1.16438, 2.11240, 0.00000] [Cr - 0.50196] */ const char kTexYUVPlanarBlit_FragShaderSource[] = "\ #version 100 \n\ @@ -191,17 +203,17 @@ GLBlitHelper::InitTexQuadProgram(BlitType target) uniform sampler2D uCrTexture; \n\ uniform vec2 uYTexScale; \n\ uniform vec2 uCbCrTexScale; \n\ + uniform mat3 uYuvColorMatrix; \n\ void main() \n\ { \n\ float y = texture2D(uYTexture, vTexCoord * uYTexScale).r; \n\ float cb = texture2D(uCbTexture, vTexCoord * uCbCrTexScale).r; \n\ float cr = texture2D(uCrTexture, vTexCoord * uCbCrTexScale).r; \n\ - y = (y - 0.06275) * 1.16438; \n\ + y = y - 0.06275; \n\ cb = cb - 0.50196; \n\ cr = cr - 0.50196; \n\ - gl_FragColor.r = y + cr * 1.59603; \n\ - gl_FragColor.g = y - 0.81297 * cr - 0.39176 * cb; \n\ - gl_FragColor.b = y + cb * 2.01723; \n\ + vec3 yuv = vec3(y, cb, cr); \n\ + gl_FragColor.rgb = uYuvColorMatrix * yuv; \n\ gl_FragColor.a = 1.0; \n\ } \n\ "; @@ -409,13 +421,15 @@ GLBlitHelper::InitTexQuadProgram(BlitType target) GLint texCb = mGL->fGetUniformLocation(program, "uCbTexture"); GLint texCr = mGL->fGetUniformLocation(program, "uCrTexture"); mYTexScaleLoc = mGL->fGetUniformLocation(program, "uYTexScale"); - mCbCrTexScaleLoc= mGL->fGetUniformLocation(program, "uCbCrTexScale"); + mCbCrTexScaleLoc = mGL->fGetUniformLocation(program, "uCbCrTexScale"); + mYuvColorMatrixLoc = mGL->fGetUniformLocation(program, "uYuvColorMatrix"); DebugOnly hasUniformLocations = texY != -1 && texCb != -1 && texCr != -1 && mYTexScaleLoc != -1 && - mCbCrTexScaleLoc != -1; + mCbCrTexScaleLoc != -1 && + mYuvColorMatrixLoc != -1; MOZ_ASSERT(hasUniformLocations, "uniforms not found"); mGL->fUniform1i(texY, Channel_Y); @@ -790,6 +804,9 @@ GLBlitHelper::BlitPlanarYCbCrImage(layers::PlanarYCbCrImage* yuvImage) mGL->fUniform2f(mCbCrTexScaleLoc, (float)yuvData->mCbCrSize.width/yuvData->mCbCrStride, 1.0f); } + float* yuvToRgb = gfxUtils::Get3x3YuvColorMatrix(yuvData->mYUVColorSpace); + mGL->fUniformMatrix3fv(mYuvColorMatrixLoc, 1, 0, yuvToRgb); + mGL->fDrawArrays(LOCAL_GL_TRIANGLE_STRIP, 0, 4); for (int i = 0; i < 3; i++) { mGL->fActiveTexture(LOCAL_GL_TEXTURE0 + i); diff --git a/gfx/gl/GLBlitHelper.h b/gfx/gl/GLBlitHelper.h index 82dd10c8e5f8..6ff0eaf33b5c 100644 --- a/gfx/gl/GLBlitHelper.h +++ b/gfx/gl/GLBlitHelper.h @@ -90,6 +90,7 @@ class GLBlitHelper final GLuint mSrcTexEGL; GLint mYTexScaleLoc; GLint mCbCrTexScaleLoc; + GLint mYuvColorMatrixLoc; int mTexWidth; int mTexHeight; diff --git a/gfx/layers/Effects.h b/gfx/layers/Effects.h index 34761e8969c0..a0859a539ef4 100644 --- a/gfx/layers/Effects.h +++ b/gfx/layers/Effects.h @@ -158,11 +158,14 @@ struct EffectRGB : public TexturedEffect struct EffectYCbCr : public TexturedEffect { - EffectYCbCr(TextureSource *aSource, gfx::SamplingFilter aSamplingFilter) + EffectYCbCr(TextureSource *aSource, YUVColorSpace aYUVColorSpace, gfx::SamplingFilter aSamplingFilter) : TexturedEffect(EffectTypes::YCBCR, aSource, false, aSamplingFilter) + , mYUVColorSpace(aYUVColorSpace) {} virtual const char* Name() { return "EffectYCbCr"; } + + YUVColorSpace mYUVColorSpace; }; struct EffectNV12 : public TexturedEffect @@ -239,12 +242,12 @@ CreateTexturedEffect(gfx::SurfaceFormat aFormat, case gfx::SurfaceFormat::R8G8B8A8: result = new EffectRGB(aSource, isAlphaPremultiplied, aSamplingFilter); break; - case gfx::SurfaceFormat::YUV: - result = new EffectYCbCr(aSource, aSamplingFilter); - break; case gfx::SurfaceFormat::NV12: result = new EffectNV12(aSource, aSamplingFilter); break; + case gfx::SurfaceFormat::YUV: + MOZ_ASSERT_UNREACHABLE("gfx::SurfaceFormat::YUV is invalid"); + break; default: NS_WARNING("unhandled program type"); break; @@ -255,6 +258,30 @@ CreateTexturedEffect(gfx::SurfaceFormat aFormat, return result.forget(); } +inline already_AddRefed +CreateTexturedEffect(TextureHost* aHost, + TextureSource* aSource, + const gfx::SamplingFilter aSamplingFilter, + bool isAlphaPremultiplied, + const LayerRenderState &state = LayerRenderState()) +{ + MOZ_ASSERT(aHost); + MOZ_ASSERT(aSource); + + RefPtr result; + if (aHost->GetReadFormat() == gfx::SurfaceFormat::YUV) { + MOZ_ASSERT(aHost->GetYUVColorSpace() != YUVColorSpace::UNKNOWN); + result = new EffectYCbCr(aSource, aHost->GetYUVColorSpace(), aSamplingFilter); + } else { + result = CreateTexturedEffect(aHost->GetReadFormat(), + aSource, + aSamplingFilter, + isAlphaPremultiplied, + state); + } + return result.forget(); +} + /** * Create a textured effect based on aSource format and the presence of * aSourceOnWhite. diff --git a/gfx/layers/composite/ImageHost.cpp b/gfx/layers/composite/ImageHost.cpp index 5f5ae641bf67..948cdf149346 100644 --- a/gfx/layers/composite/ImageHost.cpp +++ b/gfx/layers/composite/ImageHost.cpp @@ -351,7 +351,7 @@ ImageHost::Composite(LayerComposite* aLayer, bool isAlphaPremultiplied = !(mCurrentTextureHost->GetFlags() & TextureFlags::NON_PREMULTIPLIED); RefPtr effect = - CreateTexturedEffect(mCurrentTextureHost->GetReadFormat(), + CreateTexturedEffect(mCurrentTextureHost, mCurrentTextureSource.get(), aSamplingFilter, isAlphaPremultiplied, GetRenderState()); if (!effect) { @@ -611,7 +611,7 @@ ImageHost::GenEffect(const gfx::SamplingFilter aSamplingFilter) isAlphaPremultiplied = false; } - return CreateTexturedEffect(mCurrentTextureHost->GetReadFormat(), + return CreateTexturedEffect(mCurrentTextureHost, mCurrentTextureSource, aSamplingFilter, isAlphaPremultiplied, diff --git a/gfx/layers/composite/TextureHost.cpp b/gfx/layers/composite/TextureHost.cpp index 13c5ca10f062..404666cd6038 100644 --- a/gfx/layers/composite/TextureHost.cpp +++ b/gfx/layers/composite/TextureHost.cpp @@ -807,6 +807,16 @@ BufferTextureHost::GetFormat() const return mFormat; } +YUVColorSpace +BufferTextureHost::GetYUVColorSpace() const +{ + if (mFormat == gfx::SurfaceFormat::YUV) { + const YCbCrDescriptor& desc = mDescriptor.get_YCbCrDescriptor(); + return desc.yUVColorSpace(); + } + return YUVColorSpace::UNKNOWN; +} + bool BufferTextureHost::MaybeUpload(nsIntRegion *aRegion) { diff --git a/gfx/layers/composite/TextureHost.h b/gfx/layers/composite/TextureHost.h index fbdbe02bda9b..8d4960071647 100644 --- a/gfx/layers/composite/TextureHost.h +++ b/gfx/layers/composite/TextureHost.h @@ -421,6 +421,8 @@ public: */ virtual gfx::SurfaceFormat GetReadFormat() const { return GetFormat(); } + virtual YUVColorSpace GetYUVColorSpace() const { return YUVColorSpace::UNKNOWN; } + /** * Called during the transaction. The TextureSource may or may not be composited. * @@ -701,6 +703,8 @@ public: */ virtual gfx::SurfaceFormat GetFormat() const override; + virtual YUVColorSpace GetYUVColorSpace() const override; + virtual gfx::IntSize GetSize() const override { return mSize; } virtual already_AddRefed GetAsSurface() override; diff --git a/gfx/layers/d3d11/CompositorD3D11.cpp b/gfx/layers/d3d11/CompositorD3D11.cpp index 6226e918fc48..d3563edc7327 100644 --- a/gfx/layers/d3d11/CompositorD3D11.cpp +++ b/gfx/layers/d3d11/CompositorD3D11.cpp @@ -19,6 +19,7 @@ #include "gfxPrefs.h" #include "gfxConfig.h" #include "gfxCrashReporterUtils.h" +#include "gfxUtils.h" #include "mozilla/gfx/StackArray.h" #include "mozilla/Services.h" #include "mozilla/widget/WinCompositorWidget.h" @@ -888,6 +889,9 @@ CompositorD3D11::DrawQuad(const gfx::Rect& aRect, return; } + float* yuvToRgb = gfxUtils::Get4x3YuvColorMatrix(ycbcrEffect->mYUVColorSpace); + memcpy(&mPSConstants.yuvColorMatrix, yuvToRgb, sizeof(mPSConstants.yuvColorMatrix)); + TextureSourceD3D11* sourceY = source->GetSubSource(Y)->AsSourceD3D11(); TextureSourceD3D11* sourceCb = source->GetSubSource(Cb)->AsSourceD3D11(); TextureSourceD3D11* sourceCr = source->GetSubSource(Cr)->AsSourceD3D11(); diff --git a/gfx/layers/d3d11/CompositorD3D11.h b/gfx/layers/d3d11/CompositorD3D11.h index 695b0d6e6f86..7a1a5cc7d08e 100644 --- a/gfx/layers/d3d11/CompositorD3D11.h +++ b/gfx/layers/d3d11/CompositorD3D11.h @@ -35,6 +35,7 @@ struct PixelShaderConstants float layerColor[4]; float layerOpacity[4]; int blendConfig[4]; + float yuvColorMatrix[3][4]; }; struct DeviceAttachmentsD3D11; diff --git a/gfx/layers/d3d11/CompositorD3D11.hlsl b/gfx/layers/d3d11/CompositorD3D11.hlsl index 597d4ff85d73..21175704b721 100644 --- a/gfx/layers/d3d11/CompositorD3D11.hlsl +++ b/gfx/layers/d3d11/CompositorD3D11.hlsl @@ -25,6 +25,8 @@ float fLayerOpacity : register(ps, c1); // w = is premultiplied uint4 iBlendConfig : register(ps, c2); +row_major float3x3 mYuvColorMatrix : register(ps, c3); + sampler sSampler : register(ps, s0); // The mix-blend mega shader uses all variables, so we have to make sure they @@ -190,19 +192,27 @@ For [0,1] instead of [0,255], and to 5 places: [R] [1.16438, 0.00000, 1.59603] [ Y - 0.06275] [G] = [1.16438, -0.39176, -0.81297] x [Cb - 0.50196] [B] [1.16438, 2.01723, 0.00000] [Cr - 0.50196] + +From Rec709: +[R] [1.1643835616438356, 4.2781193979771426e-17, 1.7927410714285714] [ Y - 16] +[G] = [1.1643835616438358, -0.21324861427372963, -0.532909328559444] x [Cb - 128] +[B] [1.1643835616438356, 2.1124017857142854, 0.0] [Cr - 128] + +For [0,1] instead of [0,255], and to 5 places: +[R] [1.16438, 0.00000, 1.79274] [ Y - 0.06275] +[G] = [1.16438, -0.21325, -0.53291] x [Cb - 0.50196] +[B] [1.16438, 2.11240, 0.00000] [Cr - 0.50196] */ float4 CalculateYCbCrColor(const float2 aTexCoords) { - float4 yuv; + float3 yuv; float4 color; - yuv.r = tCr.Sample(sSampler, aTexCoords).r - 0.50196; - yuv.g = tY.Sample(sSampler, aTexCoords).r - 0.06275; - yuv.b = tCb.Sample(sSampler, aTexCoords).r - 0.50196; + yuv.x = tY.Sample(sSampler, aTexCoords).r - 0.06275; + yuv.y = tCb.Sample(sSampler, aTexCoords).r - 0.50196; + yuv.z = tCr.Sample(sSampler, aTexCoords).r - 0.50196; - color.r = yuv.g * 1.16438 + yuv.r * 1.59603; - color.g = yuv.g * 1.16438 - 0.81297 * yuv.r - 0.39176 * yuv.b; - color.b = yuv.g * 1.16438 + yuv.b * 2.01723; + color.rgb = mul(mYuvColorMatrix, yuv); color.a = 1.0f; return color; diff --git a/gfx/layers/d3d11/CompositorD3D11Shaders.h b/gfx/layers/d3d11/CompositorD3D11Shaders.h index 8ae179e25487..084dc667af61 100755 --- a/gfx/layers/d3d11/CompositorD3D11Shaders.h +++ b/gfx/layers/d3d11/CompositorD3D11Shaders.h @@ -1,9447 +1,9434 @@ struct ShaderBytes { const void* mData; size_t mLength; }; -#if 0 -// -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 -// -// -// Buffer Definitions: -// -// cbuffer $Globals -// { -// -// float4x4 mLayerTransform; // Offset: 0 Size: 64 -// float4x4 mProjection; // Offset: 64 Size: 64 -// float4 vRenderTargetOffset; // Offset: 128 Size: 16 -// float4 vTextureCoords; // Offset: 144 Size: 16 -// float4 vLayerQuad; // Offset: 160 Size: 16 -// float4 vMaskQuad; // Offset: 176 Size: 16 [unused] -// float4x4 mBackdropTransform; // Offset: 192 Size: 64 [unused] -// float4 fLayerColor; // Offset: 256 Size: 16 [unused] -// float fLayerOpacity; // Offset: 272 Size: 4 [unused] -// uint4 iBlendConfig; // Offset: 288 Size: 16 [unused] -// -// } -// -// -// Resource Bindings: -// -// Name Type Format Dim HLSL Bind Count -// ------------------------------ ---------- ------- ----------- -------------- ------ -// $Globals cbuffer NA NA cb0 1 -// -// -// -// Input signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// POSITION 0 xy 0 NONE float xy -// -// -// Output signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// SV_Position 0 xyzw 0 POS float xyzw -// TEXCOORD 0 xy 1 NONE float xy -// -// -// Constant buffer to DX9 shader constant mappings: -// -// Target Reg Buffer Start Reg # of Regs Data Conversion -// ---------- ------- --------- --------- ---------------------- -// c1 cb0 0 2 ( FLT, FLT, FLT, FLT) -// c3 cb0 3 8 ( FLT, FLT, FLT, FLT) -// -// -// Runtime generated constant mappings: -// -// Target Reg Constant Description -// ---------- -------------------------------------------------- -// c0 Vertex Shader position offset -// -// -// Level9 shader bytecode: -// - vs_2_x - dcl_texcoord v0 - mad oT0.xy, v0, c9.zwzw, c9 - mad r0.xy, v0, c10.zwzw, c10 - mul r1, r0.y, c2 - mad r0, c1, r0.x, r1 - add r0, r0, c3 - rcp r1.x, r0.w - mul r0.xyz, r0, r1.x - add r0, r0, -c8 - mul r0.xyz, r0.w, r0 - mul r1, r0.y, c5 - mad r1, c4, r0.x, r1 - mad r1, c6, r0.z, r1 - mad r0, c7, r0.w, r1 - mad oPos.xy, r0.w, c0, r0 - mov oPos.zw, r0 - -// approximately 15 instruction slots used -vs_4_0 -dcl_constantbuffer CB0[11], immediateIndexed -dcl_input v0.xy -dcl_output_siv o0.xyzw, position -dcl_output o1.xy -dcl_temps 2 -mad r0.xy, v0.xyxx, cb0[10].zwzz, cb0[10].xyxx -mul r1.xyzw, r0.yyyy, cb0[1].xyzw -mad r0.xyzw, cb0[0].xyzw, r0.xxxx, r1.xyzw -add r0.xyzw, r0.xyzw, cb0[3].xyzw -div r0.xyz, r0.xyzx, r0.wwww -add r0.xyzw, r0.xyzw, -cb0[8].xyzw -mul r0.xyz, r0.wwww, r0.xyzx -mul r1.xyzw, r0.yyyy, cb0[5].xyzw -mad r1.xyzw, cb0[4].xyzw, r0.xxxx, r1.xyzw -mad r1.xyzw, cb0[6].xyzw, r0.zzzz, r1.xyzw -mad o0.xyzw, cb0[7].xyzw, r0.wwww, r1.xyzw -mad o1.xy, v0.xyxx, cb0[9].zwzz, cb0[9].xyxx -ret -// Approximately 13 instruction slots used -#endif - -const BYTE LayerQuadVS[] = -{ - 68, 88, 66, 67, 112, 85, - 167, 74, 15, 232, 29, 85, - 162, 39, 212, 215, 65, 102, - 169, 150, 1, 0, 0, 0, - 24, 7, 0, 0, 6, 0, - 0, 0, 56, 0, 0, 0, - 152, 1, 0, 0, 160, 3, - 0, 0, 28, 4, 0, 0, - 140, 6, 0, 0, 192, 6, - 0, 0, 65, 111, 110, 57, - 88, 1, 0, 0, 88, 1, - 0, 0, 0, 2, 254, 255, - 24, 1, 0, 0, 64, 0, - 0, 0, 2, 0, 36, 0, - 0, 0, 60, 0, 0, 0, - 60, 0, 0, 0, 36, 0, - 1, 0, 60, 0, 0, 0, - 0, 0, 2, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 8, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 2, 254, 255, - 31, 0, 0, 2, 5, 0, - 0, 128, 0, 0, 15, 144, - 4, 0, 0, 4, 0, 0, - 3, 224, 0, 0, 228, 144, - 9, 0, 238, 160, 9, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 3, 128, 0, 0, - 228, 144, 10, 0, 238, 160, - 10, 0, 228, 160, 5, 0, - 0, 3, 1, 0, 15, 128, - 0, 0, 85, 128, 2, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 15, 128, 1, 0, - 228, 160, 0, 0, 0, 128, - 1, 0, 228, 128, 2, 0, - 0, 3, 0, 0, 15, 128, - 0, 0, 228, 128, 3, 0, - 228, 160, 6, 0, 0, 2, - 1, 0, 1, 128, 0, 0, - 255, 128, 5, 0, 0, 3, - 0, 0, 7, 128, 0, 0, - 228, 128, 1, 0, 0, 128, - 2, 0, 0, 3, 0, 0, - 15, 128, 0, 0, 228, 128, - 8, 0, 228, 161, 5, 0, - 0, 3, 0, 0, 7, 128, - 0, 0, 255, 128, 0, 0, - 228, 128, 5, 0, 0, 3, - 1, 0, 15, 128, 0, 0, - 85, 128, 5, 0, 228, 160, - 4, 0, 0, 4, 1, 0, - 15, 128, 4, 0, 228, 160, - 0, 0, 0, 128, 1, 0, - 228, 128, 4, 0, 0, 4, - 1, 0, 15, 128, 6, 0, - 228, 160, 0, 0, 170, 128, - 1, 0, 228, 128, 4, 0, - 0, 4, 0, 0, 15, 128, - 7, 0, 228, 160, 0, 0, - 255, 128, 1, 0, 228, 128, - 4, 0, 0, 4, 0, 0, - 3, 192, 0, 0, 255, 128, - 0, 0, 228, 160, 0, 0, - 228, 128, 1, 0, 0, 2, - 0, 0, 12, 192, 0, 0, - 228, 128, 255, 255, 0, 0, - 83, 72, 68, 82, 0, 2, - 0, 0, 64, 0, 1, 0, - 128, 0, 0, 0, 89, 0, - 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 11, 0, - 0, 0, 95, 0, 0, 3, - 50, 16, 16, 0, 0, 0, - 0, 0, 103, 0, 0, 4, - 242, 32, 16, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 101, 0, 0, 3, 50, 32, - 16, 0, 1, 0, 0, 0, - 104, 0, 0, 2, 2, 0, - 0, 0, 50, 0, 0, 11, - 50, 0, 16, 0, 0, 0, - 0, 0, 70, 16, 16, 0, - 0, 0, 0, 0, 230, 138, - 32, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 70, 128, - 32, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 56, 0, - 0, 8, 242, 0, 16, 0, - 1, 0, 0, 0, 86, 5, - 16, 0, 0, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 50, 0, 0, 10, 242, 0, - 16, 0, 0, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 6, 0, 16, 0, 0, 0, - 0, 0, 70, 14, 16, 0, - 1, 0, 0, 0, 0, 0, - 0, 8, 242, 0, 16, 0, - 0, 0, 0, 0, 70, 14, - 16, 0, 0, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 14, 0, 0, 7, 114, 0, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 0, 0, - 0, 9, 242, 0, 16, 0, - 0, 0, 0, 0, 70, 14, - 16, 0, 0, 0, 0, 0, - 70, 142, 32, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 8, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 0, 0, 0, 0, 246, 15, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 8, - 242, 0, 16, 0, 1, 0, - 0, 0, 86, 5, 16, 0, - 0, 0, 0, 0, 70, 142, - 32, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 50, 0, - 0, 10, 242, 0, 16, 0, - 1, 0, 0, 0, 70, 142, - 32, 0, 0, 0, 0, 0, - 4, 0, 0, 0, 6, 0, - 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 1, 0, - 0, 0, 50, 0, 0, 10, - 242, 0, 16, 0, 1, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 6, 0, - 0, 0, 166, 10, 16, 0, - 0, 0, 0, 0, 70, 14, - 16, 0, 1, 0, 0, 0, - 50, 0, 0, 10, 242, 32, - 16, 0, 0, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 7, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 70, 14, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 11, 50, 32, 16, 0, - 1, 0, 0, 0, 70, 16, - 16, 0, 0, 0, 0, 0, - 230, 138, 32, 0, 0, 0, - 0, 0, 9, 0, 0, 0, - 70, 128, 32, 0, 0, 0, - 0, 0, 9, 0, 0, 0, - 62, 0, 0, 1, 83, 84, - 65, 84, 116, 0, 0, 0, - 13, 0, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 12, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 82, 68, 69, 70, - 104, 2, 0, 0, 1, 0, - 0, 0, 72, 0, 0, 0, - 1, 0, 0, 0, 28, 0, - 0, 0, 0, 4, 254, 255, - 0, 1, 0, 0, 52, 2, - 0, 0, 60, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 36, 71, - 108, 111, 98, 97, 108, 115, - 0, 171, 171, 171, 60, 0, - 0, 0, 10, 0, 0, 0, - 96, 0, 0, 0, 48, 1, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 80, 1, - 0, 0, 0, 0, 0, 0, - 64, 0, 0, 0, 2, 0, - 0, 0, 96, 1, 0, 0, - 0, 0, 0, 0, 112, 1, - 0, 0, 64, 0, 0, 0, - 64, 0, 0, 0, 2, 0, - 0, 0, 96, 1, 0, 0, - 0, 0, 0, 0, 124, 1, - 0, 0, 128, 0, 0, 0, - 16, 0, 0, 0, 2, 0, - 0, 0, 144, 1, 0, 0, - 0, 0, 0, 0, 160, 1, - 0, 0, 144, 0, 0, 0, - 16, 0, 0, 0, 2, 0, - 0, 0, 176, 1, 0, 0, - 0, 0, 0, 0, 192, 1, - 0, 0, 160, 0, 0, 0, - 16, 0, 0, 0, 2, 0, - 0, 0, 176, 1, 0, 0, - 0, 0, 0, 0, 203, 1, - 0, 0, 176, 0, 0, 0, - 16, 0, 0, 0, 0, 0, - 0, 0, 176, 1, 0, 0, - 0, 0, 0, 0, 213, 1, - 0, 0, 192, 0, 0, 0, - 64, 0, 0, 0, 0, 0, - 0, 0, 96, 1, 0, 0, - 0, 0, 0, 0, 232, 1, - 0, 0, 0, 1, 0, 0, - 16, 0, 0, 0, 0, 0, - 0, 0, 144, 1, 0, 0, - 0, 0, 0, 0, 244, 1, - 0, 0, 16, 1, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 4, 2, 0, 0, - 0, 0, 0, 0, 20, 2, - 0, 0, 32, 1, 0, 0, - 16, 0, 0, 0, 0, 0, - 0, 0, 36, 2, 0, 0, - 0, 0, 0, 0, 109, 76, - 97, 121, 101, 114, 84, 114, - 97, 110, 115, 102, 111, 114, - 109, 0, 3, 0, 3, 0, - 4, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 109, 80, 114, 111, 106, 101, - 99, 116, 105, 111, 110, 0, - 118, 82, 101, 110, 100, 101, - 114, 84, 97, 114, 103, 101, - 116, 79, 102, 102, 115, 101, - 116, 0, 1, 0, 3, 0, - 1, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 118, 84, 101, 120, 116, 117, - 114, 101, 67, 111, 111, 114, - 100, 115, 0, 171, 1, 0, - 3, 0, 1, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 118, 76, 97, 121, - 101, 114, 81, 117, 97, 100, - 0, 118, 77, 97, 115, 107, - 81, 117, 97, 100, 0, 109, - 66, 97, 99, 107, 100, 114, - 111, 112, 84, 114, 97, 110, - 115, 102, 111, 114, 109, 0, - 102, 76, 97, 121, 101, 114, - 67, 111, 108, 111, 114, 0, - 102, 76, 97, 121, 101, 114, - 79, 112, 97, 99, 105, 116, - 121, 0, 171, 171, 0, 0, - 3, 0, 1, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 105, 66, 108, 101, - 110, 100, 67, 111, 110, 102, - 105, 103, 0, 171, 171, 171, - 1, 0, 19, 0, 1, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 77, 105, - 99, 114, 111, 115, 111, 102, - 116, 32, 40, 82, 41, 32, - 72, 76, 83, 76, 32, 83, - 104, 97, 100, 101, 114, 32, - 67, 111, 109, 112, 105, 108, - 101, 114, 32, 49, 48, 46, - 48, 46, 49, 48, 48, 49, - 49, 46, 49, 54, 51, 56, - 52, 0, 73, 83, 71, 78, - 44, 0, 0, 0, 1, 0, - 0, 0, 8, 0, 0, 0, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 3, 3, 0, 0, - 80, 79, 83, 73, 84, 73, - 79, 78, 0, 171, 171, 171, - 79, 83, 71, 78, 80, 0, - 0, 0, 2, 0, 0, 0, - 8, 0, 0, 0, 56, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 68, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 3, 12, 0, 0, 83, 86, - 95, 80, 111, 115, 105, 116, - 105, 111, 110, 0, 84, 69, - 88, 67, 79, 79, 82, 68, - 0, 171, 171, 171 -}; +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer $Globals +// { +// +// float4x4 mLayerTransform; // Offset: 0 Size: 64 +// float4x4 mProjection; // Offset: 64 Size: 64 +// float4 vRenderTargetOffset; // Offset: 128 Size: 16 +// float4 vTextureCoords; // Offset: 144 Size: 16 +// float4 vLayerQuad; // Offset: 160 Size: 16 +// float4 vMaskQuad; // Offset: 176 Size: 16 [unused] +// float4x4 mBackdropTransform; // Offset: 192 Size: 64 [unused] +// float4 fLayerColor; // Offset: 256 Size: 16 [unused] +// float fLayerOpacity; // Offset: 272 Size: 4 [unused] +// uint4 iBlendConfig; // Offset: 288 Size: 16 [unused] +// row_major float3x3 mYuvColorMatrix;// Offset: 304 Size: 44 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim HLSL Bind Count +// ------------------------------ ---------- ------- ----------- -------------- ------ +// $Globals cbuffer NA NA cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// POSITION 0 xy 0 NONE float xy +// +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Position 0 xyzw 0 POS float xyzw +// TEXCOORD 0 xy 1 NONE float xy +// +// +// Constant buffer to DX9 shader constant mappings: +// +// Target Reg Buffer Start Reg # of Regs Data Conversion +// ---------- ------- --------- --------- ---------------------- +// c1 cb0 0 2 ( FLT, FLT, FLT, FLT) +// c3 cb0 3 8 ( FLT, FLT, FLT, FLT) +// +// +// Runtime generated constant mappings: +// +// Target Reg Constant Description +// ---------- -------------------------------------------------- +// c0 Vertex Shader position offset +// +// +// Level9 shader bytecode: +// + vs_2_x + dcl_texcoord v0 + mad oT0.xy, v0, c9.zwzw, c9 + mad r0.xy, v0, c10.zwzw, c10 + mul r1, r0.y, c2 + mad r0, c1, r0.x, r1 + add r0, r0, c3 + rcp r1.x, r0.w + mul r0.xyz, r0, r1.x + add r0, r0, -c8 + mul r0.xyz, r0.w, r0 + mul r1, r0.y, c5 + mad r1, c4, r0.x, r1 + mad r1, c6, r0.z, r1 + mad r0, c7, r0.w, r1 + mad oPos.xy, r0.w, c0, r0 + mov oPos.zw, r0 + +// approximately 15 instruction slots used +vs_4_0 +dcl_constantbuffer CB0[11], immediateIndexed +dcl_input v0.xy +dcl_output_siv o0.xyzw, position +dcl_output o1.xy +dcl_temps 2 +mad r0.xy, v0.xyxx, cb0[10].zwzz, cb0[10].xyxx +mul r1.xyzw, r0.yyyy, cb0[1].xyzw +mad r0.xyzw, cb0[0].xyzw, r0.xxxx, r1.xyzw +add r0.xyzw, r0.xyzw, cb0[3].xyzw +div r0.xyz, r0.xyzx, r0.wwww +add r0.xyzw, r0.xyzw, -cb0[8].xyzw +mul r0.xyz, r0.wwww, r0.xyzx +mul r1.xyzw, r0.yyyy, cb0[5].xyzw +mad r1.xyzw, cb0[4].xyzw, r0.xxxx, r1.xyzw +mad r1.xyzw, cb0[6].xyzw, r0.zzzz, r1.xyzw +mad o0.xyzw, cb0[7].xyzw, r0.wwww, r1.xyzw +mad o1.xy, v0.xyxx, cb0[9].zwzz, cb0[9].xyxx +ret +// Approximately 13 instruction slots used +#endif + +const BYTE LayerQuadVS[] = +{ + 68, 88, 66, 67, 250, 65, + 94, 205, 254, 155, 52, 90, + 43, 147, 203, 201, 141, 74, + 80, 143, 1, 0, 0, 0, + 68, 7, 0, 0, 6, 0, + 0, 0, 56, 0, 0, 0, + 152, 1, 0, 0, 160, 3, + 0, 0, 28, 4, 0, 0, + 184, 6, 0, 0, 236, 6, + 0, 0, 65, 111, 110, 57, + 88, 1, 0, 0, 88, 1, + 0, 0, 0, 2, 254, 255, + 24, 1, 0, 0, 64, 0, + 0, 0, 2, 0, 36, 0, + 0, 0, 60, 0, 0, 0, + 60, 0, 0, 0, 36, 0, + 1, 0, 60, 0, 0, 0, + 0, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 8, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 2, 254, 255, + 31, 0, 0, 2, 5, 0, + 0, 128, 0, 0, 15, 144, + 4, 0, 0, 4, 0, 0, + 3, 224, 0, 0, 228, 144, + 9, 0, 238, 160, 9, 0, + 228, 160, 4, 0, 0, 4, + 0, 0, 3, 128, 0, 0, + 228, 144, 10, 0, 238, 160, + 10, 0, 228, 160, 5, 0, + 0, 3, 1, 0, 15, 128, + 0, 0, 85, 128, 2, 0, + 228, 160, 4, 0, 0, 4, + 0, 0, 15, 128, 1, 0, + 228, 160, 0, 0, 0, 128, + 1, 0, 228, 128, 2, 0, + 0, 3, 0, 0, 15, 128, + 0, 0, 228, 128, 3, 0, + 228, 160, 6, 0, 0, 2, + 1, 0, 1, 128, 0, 0, + 255, 128, 5, 0, 0, 3, + 0, 0, 7, 128, 0, 0, + 228, 128, 1, 0, 0, 128, + 2, 0, 0, 3, 0, 0, + 15, 128, 0, 0, 228, 128, + 8, 0, 228, 161, 5, 0, + 0, 3, 0, 0, 7, 128, + 0, 0, 255, 128, 0, 0, + 228, 128, 5, 0, 0, 3, + 1, 0, 15, 128, 0, 0, + 85, 128, 5, 0, 228, 160, + 4, 0, 0, 4, 1, 0, + 15, 128, 4, 0, 228, 160, + 0, 0, 0, 128, 1, 0, + 228, 128, 4, 0, 0, 4, + 1, 0, 15, 128, 6, 0, + 228, 160, 0, 0, 170, 128, + 1, 0, 228, 128, 4, 0, + 0, 4, 0, 0, 15, 128, + 7, 0, 228, 160, 0, 0, + 255, 128, 1, 0, 228, 128, + 4, 0, 0, 4, 0, 0, + 3, 192, 0, 0, 255, 128, + 0, 0, 228, 160, 0, 0, + 228, 128, 1, 0, 0, 2, + 0, 0, 12, 192, 0, 0, + 228, 128, 255, 255, 0, 0, + 83, 72, 68, 82, 0, 2, + 0, 0, 64, 0, 1, 0, + 128, 0, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 11, 0, + 0, 0, 95, 0, 0, 3, + 50, 16, 16, 0, 0, 0, + 0, 0, 103, 0, 0, 4, + 242, 32, 16, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 101, 0, 0, 3, 50, 32, + 16, 0, 1, 0, 0, 0, + 104, 0, 0, 2, 2, 0, + 0, 0, 50, 0, 0, 11, + 50, 0, 16, 0, 0, 0, + 0, 0, 70, 16, 16, 0, + 0, 0, 0, 0, 230, 138, + 32, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 70, 128, + 32, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 56, 0, + 0, 8, 242, 0, 16, 0, + 1, 0, 0, 0, 86, 5, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 50, 0, 0, 10, 242, 0, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 6, 0, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 0, 0, + 0, 8, 242, 0, 16, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 14, 0, 0, 7, 114, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 0, 0, + 0, 9, 242, 0, 16, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 0, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 8, + 242, 0, 16, 0, 1, 0, + 0, 0, 86, 5, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 50, 0, + 0, 10, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 6, 0, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 50, 0, 0, 10, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 166, 10, 16, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 50, 0, 0, 10, 242, 32, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 50, 0, + 0, 11, 50, 32, 16, 0, + 1, 0, 0, 0, 70, 16, + 16, 0, 0, 0, 0, 0, + 230, 138, 32, 0, 0, 0, + 0, 0, 9, 0, 0, 0, + 70, 128, 32, 0, 0, 0, + 0, 0, 9, 0, 0, 0, + 62, 0, 0, 1, 83, 84, + 65, 84, 116, 0, 0, 0, + 13, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 82, 68, 69, 70, + 148, 2, 0, 0, 1, 0, + 0, 0, 72, 0, 0, 0, + 1, 0, 0, 0, 28, 0, + 0, 0, 0, 4, 254, 255, + 0, 1, 0, 0, 108, 2, + 0, 0, 60, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 36, 71, + 108, 111, 98, 97, 108, 115, + 0, 171, 171, 171, 60, 0, + 0, 0, 11, 0, 0, 0, + 96, 0, 0, 0, 96, 1, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 104, 1, + 0, 0, 0, 0, 0, 0, + 64, 0, 0, 0, 2, 0, + 0, 0, 120, 1, 0, 0, + 0, 0, 0, 0, 136, 1, + 0, 0, 64, 0, 0, 0, + 64, 0, 0, 0, 2, 0, + 0, 0, 120, 1, 0, 0, + 0, 0, 0, 0, 148, 1, + 0, 0, 128, 0, 0, 0, + 16, 0, 0, 0, 2, 0, + 0, 0, 168, 1, 0, 0, + 0, 0, 0, 0, 184, 1, + 0, 0, 144, 0, 0, 0, + 16, 0, 0, 0, 2, 0, + 0, 0, 200, 1, 0, 0, + 0, 0, 0, 0, 216, 1, + 0, 0, 160, 0, 0, 0, + 16, 0, 0, 0, 2, 0, + 0, 0, 200, 1, 0, 0, + 0, 0, 0, 0, 227, 1, + 0, 0, 176, 0, 0, 0, + 16, 0, 0, 0, 0, 0, + 0, 0, 200, 1, 0, 0, + 0, 0, 0, 0, 237, 1, + 0, 0, 192, 0, 0, 0, + 64, 0, 0, 0, 0, 0, + 0, 0, 120, 1, 0, 0, + 0, 0, 0, 0, 0, 2, + 0, 0, 0, 1, 0, 0, + 16, 0, 0, 0, 0, 0, + 0, 0, 168, 1, 0, 0, + 0, 0, 0, 0, 12, 2, + 0, 0, 16, 1, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 28, 2, 0, 0, + 0, 0, 0, 0, 44, 2, + 0, 0, 32, 1, 0, 0, + 16, 0, 0, 0, 0, 0, + 0, 0, 60, 2, 0, 0, + 0, 0, 0, 0, 76, 2, + 0, 0, 48, 1, 0, 0, + 44, 0, 0, 0, 0, 0, + 0, 0, 92, 2, 0, 0, + 0, 0, 0, 0, 109, 76, + 97, 121, 101, 114, 84, 114, + 97, 110, 115, 102, 111, 114, + 109, 0, 3, 0, 3, 0, + 4, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 109, 80, 114, 111, 106, 101, + 99, 116, 105, 111, 110, 0, + 118, 82, 101, 110, 100, 101, + 114, 84, 97, 114, 103, 101, + 116, 79, 102, 102, 115, 101, + 116, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 118, 84, 101, 120, 116, 117, + 114, 101, 67, 111, 111, 114, + 100, 115, 0, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 118, 76, 97, 121, + 101, 114, 81, 117, 97, 100, + 0, 118, 77, 97, 115, 107, + 81, 117, 97, 100, 0, 109, + 66, 97, 99, 107, 100, 114, + 111, 112, 84, 114, 97, 110, + 115, 102, 111, 114, 109, 0, + 102, 76, 97, 121, 101, 114, + 67, 111, 108, 111, 114, 0, + 102, 76, 97, 121, 101, 114, + 79, 112, 97, 99, 105, 116, + 121, 0, 171, 171, 0, 0, + 3, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 105, 66, 108, 101, + 110, 100, 67, 111, 110, 102, + 105, 103, 0, 171, 171, 171, + 1, 0, 19, 0, 1, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 109, 89, + 117, 118, 67, 111, 108, 111, + 114, 77, 97, 116, 114, 105, + 120, 0, 2, 0, 3, 0, + 3, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 49, + 48, 46, 49, 0, 73, 83, + 71, 78, 44, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 3, 3, + 0, 0, 80, 79, 83, 73, + 84, 73, 79, 78, 0, 171, + 171, 171, 79, 83, 71, 78, + 80, 0, 0, 0, 2, 0, + 0, 0, 8, 0, 0, 0, + 56, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 68, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 3, 12, 0, 0, + 83, 86, 95, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 171, 171, 171 +}; ShaderBytes sLayerQuadVS = { LayerQuadVS, sizeof(LayerQuadVS) }; -#if 0 -// -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 -// -// -// Buffer Definitions: -// -// cbuffer $Globals -// { -// -// float4 fLayerColor; // Offset: 0 Size: 16 -// float fLayerOpacity; // Offset: 16 Size: 4 [unused] -// uint4 iBlendConfig; // Offset: 32 Size: 16 [unused] -// float4x4 mLayerTransform; // Offset: 48 Size: 64 [unused] -// float4x4 mProjection; // Offset: 112 Size: 64 [unused] -// float4 vRenderTargetOffset; // Offset: 176 Size: 16 [unused] -// float4 vTextureCoords; // Offset: 192 Size: 16 [unused] -// float4 vLayerQuad; // Offset: 208 Size: 16 [unused] -// float4 vMaskQuad; // Offset: 224 Size: 16 [unused] -// float4x4 mBackdropTransform; // Offset: 240 Size: 64 [unused] -// -// } -// -// -// Resource Bindings: -// -// Name Type Format Dim HLSL Bind Count -// ------------------------------ ---------- ------- ----------- -------------- ------ -// $Globals cbuffer NA NA cb0 1 -// -// -// -// Input signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// SV_Position 0 xyzw 0 POS float -// TEXCOORD 0 xy 1 NONE float -// -// -// Output signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// SV_Target 0 xyzw 0 TARGET float xyzw -// -// -// Constant buffer to DX9 shader constant mappings: -// -// Target Reg Buffer Start Reg # of Regs Data Conversion -// ---------- ------- --------- --------- ---------------------- -// c0 cb0 0 1 ( FLT, FLT, FLT, FLT) -// -// -// Level9 shader bytecode: -// - ps_2_x - mov oC0, c0 - -// approximately 1 instruction slot used -ps_4_0 -dcl_constantbuffer CB0[1], immediateIndexed -dcl_output o0.xyzw -mov o0.xyzw, cb0[0].xyzw -ret -// Approximately 2 instruction slots used -#endif - -const BYTE SolidColorShader[] = -{ - 68, 88, 66, 67, 232, 227, - 42, 205, 188, 244, 239, 58, - 34, 67, 23, 11, 8, 108, - 224, 50, 1, 0, 0, 0, - 68, 4, 0, 0, 6, 0, - 0, 0, 56, 0, 0, 0, - 132, 0, 0, 0, 204, 0, - 0, 0, 72, 1, 0, 0, - 184, 3, 0, 0, 16, 4, - 0, 0, 65, 111, 110, 57, - 68, 0, 0, 0, 68, 0, - 0, 0, 0, 2, 255, 255, - 20, 0, 0, 0, 48, 0, - 0, 0, 1, 0, 36, 0, - 0, 0, 48, 0, 0, 0, - 48, 0, 0, 0, 36, 0, - 0, 0, 48, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 1, 2, - 255, 255, 1, 0, 0, 2, - 0, 8, 15, 128, 0, 0, - 228, 160, 255, 255, 0, 0, - 83, 72, 68, 82, 64, 0, - 0, 0, 64, 0, 0, 0, - 16, 0, 0, 0, 89, 0, - 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 0, 0, - 0, 0, 54, 0, 0, 6, - 242, 32, 16, 0, 0, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 62, 0, 0, 1, - 83, 84, 65, 84, 116, 0, - 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 68, - 69, 70, 104, 2, 0, 0, - 1, 0, 0, 0, 72, 0, - 0, 0, 1, 0, 0, 0, - 28, 0, 0, 0, 0, 4, - 255, 255, 0, 1, 0, 0, - 52, 2, 0, 0, 60, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 36, 71, 108, 111, 98, 97, - 108, 115, 0, 171, 171, 171, - 60, 0, 0, 0, 10, 0, - 0, 0, 96, 0, 0, 0, - 48, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 80, 1, 0, 0, 0, 0, - 0, 0, 16, 0, 0, 0, - 2, 0, 0, 0, 92, 1, - 0, 0, 0, 0, 0, 0, - 108, 1, 0, 0, 16, 0, - 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 124, 1, - 0, 0, 0, 0, 0, 0, - 140, 1, 0, 0, 32, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 156, 1, - 0, 0, 0, 0, 0, 0, - 172, 1, 0, 0, 48, 0, - 0, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 188, 1, - 0, 0, 0, 0, 0, 0, - 204, 1, 0, 0, 112, 0, - 0, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 188, 1, - 0, 0, 0, 0, 0, 0, - 216, 1, 0, 0, 176, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 92, 1, - 0, 0, 0, 0, 0, 0, - 236, 1, 0, 0, 192, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 252, 1, - 0, 0, 0, 0, 0, 0, - 12, 2, 0, 0, 208, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 252, 1, - 0, 0, 0, 0, 0, 0, - 23, 2, 0, 0, 224, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 252, 1, - 0, 0, 0, 0, 0, 0, - 33, 2, 0, 0, 240, 0, - 0, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 188, 1, - 0, 0, 0, 0, 0, 0, - 102, 76, 97, 121, 101, 114, - 67, 111, 108, 111, 114, 0, - 1, 0, 3, 0, 1, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 102, 76, - 97, 121, 101, 114, 79, 112, - 97, 99, 105, 116, 121, 0, - 171, 171, 0, 0, 3, 0, - 1, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 105, 66, 108, 101, 110, 100, - 67, 111, 110, 102, 105, 103, - 0, 171, 171, 171, 1, 0, - 19, 0, 1, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 109, 76, 97, 121, - 101, 114, 84, 114, 97, 110, - 115, 102, 111, 114, 109, 0, - 3, 0, 3, 0, 4, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 109, 80, - 114, 111, 106, 101, 99, 116, - 105, 111, 110, 0, 118, 82, - 101, 110, 100, 101, 114, 84, - 97, 114, 103, 101, 116, 79, - 102, 102, 115, 101, 116, 0, - 118, 84, 101, 120, 116, 117, - 114, 101, 67, 111, 111, 114, - 100, 115, 0, 171, 1, 0, - 3, 0, 1, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 118, 76, 97, 121, - 101, 114, 81, 117, 97, 100, - 0, 118, 77, 97, 115, 107, - 81, 117, 97, 100, 0, 109, - 66, 97, 99, 107, 100, 114, - 111, 112, 84, 114, 97, 110, - 115, 102, 111, 114, 109, 0, - 77, 105, 99, 114, 111, 115, - 111, 102, 116, 32, 40, 82, - 41, 32, 72, 76, 83, 76, - 32, 83, 104, 97, 100, 101, - 114, 32, 67, 111, 109, 112, - 105, 108, 101, 114, 32, 49, - 48, 46, 48, 46, 49, 48, - 48, 49, 49, 46, 49, 54, - 51, 56, 52, 0, 73, 83, - 71, 78, 80, 0, 0, 0, - 2, 0, 0, 0, 8, 0, - 0, 0, 56, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 68, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 3, 0, - 0, 0, 83, 86, 95, 80, - 111, 115, 105, 116, 105, 111, - 110, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 171, - 171, 171, 79, 83, 71, 78, - 44, 0, 0, 0, 1, 0, - 0, 0, 8, 0, 0, 0, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 83, 86, 95, 84, 97, 114, - 103, 101, 116, 0, 171, 171 -}; +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer $Globals +// { +// +// float4 fLayerColor; // Offset: 0 Size: 16 +// float fLayerOpacity; // Offset: 16 Size: 4 [unused] +// uint4 iBlendConfig; // Offset: 32 Size: 16 [unused] +// row_major float3x3 mYuvColorMatrix;// Offset: 48 Size: 44 [unused] +// float4x4 mLayerTransform; // Offset: 96 Size: 64 [unused] +// float4x4 mProjection; // Offset: 160 Size: 64 [unused] +// float4 vRenderTargetOffset; // Offset: 224 Size: 16 [unused] +// float4 vTextureCoords; // Offset: 240 Size: 16 [unused] +// float4 vLayerQuad; // Offset: 256 Size: 16 [unused] +// float4 vMaskQuad; // Offset: 272 Size: 16 [unused] +// float4x4 mBackdropTransform; // Offset: 288 Size: 64 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim HLSL Bind Count +// ------------------------------ ---------- ------- ----------- -------------- ------ +// $Globals cbuffer NA NA cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Position 0 xyzw 0 POS float +// TEXCOORD 0 xy 1 NONE float +// +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Target 0 xyzw 0 TARGET float xyzw +// +// +// Constant buffer to DX9 shader constant mappings: +// +// Target Reg Buffer Start Reg # of Regs Data Conversion +// ---------- ------- --------- --------- ---------------------- +// c0 cb0 0 1 ( FLT, FLT, FLT, FLT) +// +// +// Level9 shader bytecode: +// + ps_2_x + mov oC0, c0 + +// approximately 1 instruction slot used +ps_4_0 +dcl_constantbuffer CB0[1], immediateIndexed +dcl_output o0.xyzw +mov o0.xyzw, cb0[0].xyzw +ret +// Approximately 2 instruction slots used +#endif + +const BYTE SolidColorShader[] = +{ + 68, 88, 66, 67, 181, 3, + 20, 0, 202, 78, 164, 59, + 210, 171, 118, 253, 118, 104, + 133, 184, 1, 0, 0, 0, + 112, 4, 0, 0, 6, 0, + 0, 0, 56, 0, 0, 0, + 132, 0, 0, 0, 204, 0, + 0, 0, 72, 1, 0, 0, + 228, 3, 0, 0, 60, 4, + 0, 0, 65, 111, 110, 57, + 68, 0, 0, 0, 68, 0, + 0, 0, 0, 2, 255, 255, + 20, 0, 0, 0, 48, 0, + 0, 0, 1, 0, 36, 0, + 0, 0, 48, 0, 0, 0, + 48, 0, 0, 0, 36, 0, + 0, 0, 48, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 2, + 255, 255, 1, 0, 0, 2, + 0, 8, 15, 128, 0, 0, + 228, 160, 255, 255, 0, 0, + 83, 72, 68, 82, 64, 0, + 0, 0, 64, 0, 0, 0, + 16, 0, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 6, + 242, 32, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 62, 0, 0, 1, + 83, 84, 65, 84, 116, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 68, + 69, 70, 148, 2, 0, 0, + 1, 0, 0, 0, 72, 0, + 0, 0, 1, 0, 0, 0, + 28, 0, 0, 0, 0, 4, + 255, 255, 0, 1, 0, 0, + 108, 2, 0, 0, 60, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 36, 71, 108, 111, 98, 97, + 108, 115, 0, 171, 171, 171, + 60, 0, 0, 0, 11, 0, + 0, 0, 96, 0, 0, 0, + 96, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 104, 1, 0, 0, 0, 0, + 0, 0, 16, 0, 0, 0, + 2, 0, 0, 0, 116, 1, + 0, 0, 0, 0, 0, 0, + 132, 1, 0, 0, 16, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 148, 1, + 0, 0, 0, 0, 0, 0, + 164, 1, 0, 0, 32, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 180, 1, + 0, 0, 0, 0, 0, 0, + 196, 1, 0, 0, 48, 0, + 0, 0, 44, 0, 0, 0, + 0, 0, 0, 0, 212, 1, + 0, 0, 0, 0, 0, 0, + 228, 1, 0, 0, 96, 0, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 244, 1, + 0, 0, 0, 0, 0, 0, + 4, 2, 0, 0, 160, 0, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 244, 1, + 0, 0, 0, 0, 0, 0, + 16, 2, 0, 0, 224, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 116, 1, + 0, 0, 0, 0, 0, 0, + 36, 2, 0, 0, 240, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 52, 2, + 0, 0, 0, 0, 0, 0, + 68, 2, 0, 0, 0, 1, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 52, 2, + 0, 0, 0, 0, 0, 0, + 79, 2, 0, 0, 16, 1, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 52, 2, + 0, 0, 0, 0, 0, 0, + 89, 2, 0, 0, 32, 1, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 244, 1, + 0, 0, 0, 0, 0, 0, + 102, 76, 97, 121, 101, 114, + 67, 111, 108, 111, 114, 0, + 1, 0, 3, 0, 1, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 102, 76, + 97, 121, 101, 114, 79, 112, + 97, 99, 105, 116, 121, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 105, 66, 108, 101, 110, 100, + 67, 111, 110, 102, 105, 103, + 0, 171, 171, 171, 1, 0, + 19, 0, 1, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 109, 89, 117, 118, + 67, 111, 108, 111, 114, 77, + 97, 116, 114, 105, 120, 0, + 2, 0, 3, 0, 3, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 109, 76, + 97, 121, 101, 114, 84, 114, + 97, 110, 115, 102, 111, 114, + 109, 0, 3, 0, 3, 0, + 4, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 109, 80, 114, 111, 106, 101, + 99, 116, 105, 111, 110, 0, + 118, 82, 101, 110, 100, 101, + 114, 84, 97, 114, 103, 101, + 116, 79, 102, 102, 115, 101, + 116, 0, 118, 84, 101, 120, + 116, 117, 114, 101, 67, 111, + 111, 114, 100, 115, 0, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 118, 76, + 97, 121, 101, 114, 81, 117, + 97, 100, 0, 118, 77, 97, + 115, 107, 81, 117, 97, 100, + 0, 109, 66, 97, 99, 107, + 100, 114, 111, 112, 84, 114, + 97, 110, 115, 102, 111, 114, + 109, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 73, 83, 71, 78, 80, 0, + 0, 0, 2, 0, 0, 0, + 8, 0, 0, 0, 56, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 68, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 171, 171, 171, 79, 83, + 71, 78, 44, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 83, 86, 95, 84, + 97, 114, 103, 101, 116, 0, + 171, 171 +}; ShaderBytes sSolidColorShader = { SolidColorShader, sizeof(SolidColorShader) }; -#if 0 -// -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 -// -// -// Buffer Definitions: -// -// cbuffer $Globals -// { -// -// float4 fLayerColor; // Offset: 0 Size: 16 [unused] -// float fLayerOpacity; // Offset: 16 Size: 4 -// uint4 iBlendConfig; // Offset: 32 Size: 16 [unused] -// float4x4 mLayerTransform; // Offset: 48 Size: 64 [unused] -// float4x4 mProjection; // Offset: 112 Size: 64 [unused] -// float4 vRenderTargetOffset; // Offset: 176 Size: 16 [unused] -// float4 vTextureCoords; // Offset: 192 Size: 16 [unused] -// float4 vLayerQuad; // Offset: 208 Size: 16 [unused] -// float4 vMaskQuad; // Offset: 224 Size: 16 [unused] -// float4x4 mBackdropTransform; // Offset: 240 Size: 64 [unused] -// -// } -// -// -// Resource Bindings: -// -// Name Type Format Dim HLSL Bind Count -// ------------------------------ ---------- ------- ----------- -------------- ------ -// sSampler sampler NA NA s0 1 -// tRGB texture float4 2d t0 1 -// $Globals cbuffer NA NA cb0 1 -// -// -// -// Input signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// SV_Position 0 xyzw 0 POS float -// TEXCOORD 0 xy 1 NONE float xy -// -// -// Output signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// SV_Target 0 xyzw 0 TARGET float xyzw -// -// -// Constant buffer to DX9 shader constant mappings: -// -// Target Reg Buffer Start Reg # of Regs Data Conversion -// ---------- ------- --------- --------- ---------------------- -// c0 cb0 1 1 ( FLT, FLT, FLT, FLT) -// -// -// Sampler/Resource to DX9 shader sampler mappings: -// -// Target Sampler Source Sampler Source Resource -// -------------- --------------- ---------------- -// s0 s0 t0 -// -// -// Level9 shader bytecode: -// - ps_2_x - dcl t0.xy - dcl_2d s0 - texld r0, t0, s0 - mul r0.xyz, r0, c0.x - mov r0.w, c0.x - mov oC0, r0 - -// approximately 4 instruction slots used (1 texture, 3 arithmetic) -ps_4_0 -dcl_constantbuffer CB0[2], immediateIndexed -dcl_sampler s0, mode_default -dcl_resource_texture2d (float,float,float,float) t0 -dcl_input_ps linear v1.xy -dcl_output o0.xyzw -dcl_temps 1 -sample r0.xyzw, v1.xyxx, t0.xyzw, s0 -mul o0.xyz, r0.xyzx, cb0[1].xxxx -mov o0.w, cb0[1].x -ret -// Approximately 4 instruction slots used -#endif - -const BYTE RGBShader[] = -{ - 68, 88, 66, 67, 125, 240, - 204, 179, 182, 100, 41, 5, - 9, 193, 104, 239, 180, 186, - 251, 1, 1, 0, 0, 0, - 76, 5, 0, 0, 6, 0, - 0, 0, 56, 0, 0, 0, - 204, 0, 0, 0, 136, 1, - 0, 0, 4, 2, 0, 0, - 192, 4, 0, 0, 24, 5, - 0, 0, 65, 111, 110, 57, - 140, 0, 0, 0, 140, 0, - 0, 0, 0, 2, 255, 255, - 88, 0, 0, 0, 52, 0, - 0, 0, 1, 0, 40, 0, - 0, 0, 52, 0, 0, 0, - 52, 0, 1, 0, 36, 0, - 0, 0, 52, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 1, 2, 255, 255, - 31, 0, 0, 2, 0, 0, - 0, 128, 0, 0, 3, 176, - 31, 0, 0, 2, 0, 0, - 0, 144, 0, 8, 15, 160, - 66, 0, 0, 3, 0, 0, - 15, 128, 0, 0, 228, 176, - 0, 8, 228, 160, 5, 0, - 0, 3, 0, 0, 7, 128, - 0, 0, 228, 128, 0, 0, - 0, 160, 1, 0, 0, 2, - 0, 0, 8, 128, 0, 0, - 0, 160, 1, 0, 0, 2, - 0, 8, 15, 128, 0, 0, - 228, 128, 255, 255, 0, 0, - 83, 72, 68, 82, 180, 0, - 0, 0, 64, 0, 0, 0, - 45, 0, 0, 0, 89, 0, - 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 90, 0, 0, 3, - 0, 96, 16, 0, 0, 0, - 0, 0, 88, 24, 0, 4, - 0, 112, 16, 0, 0, 0, - 0, 0, 85, 85, 0, 0, - 98, 16, 0, 3, 50, 16, - 16, 0, 1, 0, 0, 0, - 101, 0, 0, 3, 242, 32, - 16, 0, 0, 0, 0, 0, - 104, 0, 0, 2, 1, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 0, 0, - 0, 0, 70, 16, 16, 0, - 1, 0, 0, 0, 70, 126, - 16, 0, 0, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 8, - 114, 32, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 6, 128, - 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 54, 0, - 0, 6, 130, 32, 16, 0, - 0, 0, 0, 0, 10, 128, - 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 62, 0, - 0, 1, 83, 84, 65, 84, - 116, 0, 0, 0, 4, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 82, 68, 69, 70, 180, 2, - 0, 0, 1, 0, 0, 0, - 148, 0, 0, 0, 3, 0, - 0, 0, 28, 0, 0, 0, - 0, 4, 255, 255, 0, 1, - 0, 0, 128, 2, 0, 0, - 124, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 1, 0, - 0, 0, 133, 0, 0, 0, - 2, 0, 0, 0, 5, 0, - 0, 0, 4, 0, 0, 0, - 255, 255, 255, 255, 0, 0, - 0, 0, 1, 0, 0, 0, - 13, 0, 0, 0, 138, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 115, 83, 97, 109, 112, 108, - 101, 114, 0, 116, 82, 71, - 66, 0, 36, 71, 108, 111, - 98, 97, 108, 115, 0, 171, - 138, 0, 0, 0, 10, 0, - 0, 0, 172, 0, 0, 0, - 48, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 156, 1, 0, 0, 0, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 168, 1, - 0, 0, 0, 0, 0, 0, - 184, 1, 0, 0, 16, 0, - 0, 0, 4, 0, 0, 0, - 2, 0, 0, 0, 200, 1, - 0, 0, 0, 0, 0, 0, - 216, 1, 0, 0, 32, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 232, 1, - 0, 0, 0, 0, 0, 0, - 248, 1, 0, 0, 48, 0, - 0, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 8, 2, - 0, 0, 0, 0, 0, 0, - 24, 2, 0, 0, 112, 0, - 0, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 8, 2, - 0, 0, 0, 0, 0, 0, - 36, 2, 0, 0, 176, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 168, 1, - 0, 0, 0, 0, 0, 0, - 56, 2, 0, 0, 192, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 72, 2, - 0, 0, 0, 0, 0, 0, - 88, 2, 0, 0, 208, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 72, 2, - 0, 0, 0, 0, 0, 0, - 99, 2, 0, 0, 224, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 72, 2, - 0, 0, 0, 0, 0, 0, - 109, 2, 0, 0, 240, 0, - 0, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 8, 2, - 0, 0, 0, 0, 0, 0, - 102, 76, 97, 121, 101, 114, - 67, 111, 108, 111, 114, 0, - 1, 0, 3, 0, 1, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 102, 76, - 97, 121, 101, 114, 79, 112, - 97, 99, 105, 116, 121, 0, - 171, 171, 0, 0, 3, 0, - 1, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 105, 66, 108, 101, 110, 100, - 67, 111, 110, 102, 105, 103, - 0, 171, 171, 171, 1, 0, - 19, 0, 1, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 109, 76, 97, 121, - 101, 114, 84, 114, 97, 110, - 115, 102, 111, 114, 109, 0, - 3, 0, 3, 0, 4, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 109, 80, - 114, 111, 106, 101, 99, 116, - 105, 111, 110, 0, 118, 82, - 101, 110, 100, 101, 114, 84, - 97, 114, 103, 101, 116, 79, - 102, 102, 115, 101, 116, 0, - 118, 84, 101, 120, 116, 117, - 114, 101, 67, 111, 111, 114, - 100, 115, 0, 171, 1, 0, - 3, 0, 1, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 118, 76, 97, 121, - 101, 114, 81, 117, 97, 100, - 0, 118, 77, 97, 115, 107, - 81, 117, 97, 100, 0, 109, - 66, 97, 99, 107, 100, 114, - 111, 112, 84, 114, 97, 110, - 115, 102, 111, 114, 109, 0, - 77, 105, 99, 114, 111, 115, - 111, 102, 116, 32, 40, 82, - 41, 32, 72, 76, 83, 76, - 32, 83, 104, 97, 100, 101, - 114, 32, 67, 111, 109, 112, - 105, 108, 101, 114, 32, 49, - 48, 46, 48, 46, 49, 48, - 48, 49, 49, 46, 49, 54, - 51, 56, 52, 0, 73, 83, - 71, 78, 80, 0, 0, 0, - 2, 0, 0, 0, 8, 0, - 0, 0, 56, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 68, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 3, 3, - 0, 0, 83, 86, 95, 80, - 111, 115, 105, 116, 105, 111, - 110, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 171, - 171, 171, 79, 83, 71, 78, - 44, 0, 0, 0, 1, 0, - 0, 0, 8, 0, 0, 0, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 83, 86, 95, 84, 97, 114, - 103, 101, 116, 0, 171, 171 -}; +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer $Globals +// { +// +// float4 fLayerColor; // Offset: 0 Size: 16 [unused] +// float fLayerOpacity; // Offset: 16 Size: 4 +// uint4 iBlendConfig; // Offset: 32 Size: 16 [unused] +// row_major float3x3 mYuvColorMatrix;// Offset: 48 Size: 44 [unused] +// float4x4 mLayerTransform; // Offset: 96 Size: 64 [unused] +// float4x4 mProjection; // Offset: 160 Size: 64 [unused] +// float4 vRenderTargetOffset; // Offset: 224 Size: 16 [unused] +// float4 vTextureCoords; // Offset: 240 Size: 16 [unused] +// float4 vLayerQuad; // Offset: 256 Size: 16 [unused] +// float4 vMaskQuad; // Offset: 272 Size: 16 [unused] +// float4x4 mBackdropTransform; // Offset: 288 Size: 64 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim HLSL Bind Count +// ------------------------------ ---------- ------- ----------- -------------- ------ +// sSampler sampler NA NA s0 1 +// tRGB texture float4 2d t0 1 +// $Globals cbuffer NA NA cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Position 0 xyzw 0 POS float +// TEXCOORD 0 xy 1 NONE float xy +// +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Target 0 xyzw 0 TARGET float xyzw +// +// +// Constant buffer to DX9 shader constant mappings: +// +// Target Reg Buffer Start Reg # of Regs Data Conversion +// ---------- ------- --------- --------- ---------------------- +// c0 cb0 1 1 ( FLT, FLT, FLT, FLT) +// +// +// Sampler/Resource to DX9 shader sampler mappings: +// +// Target Sampler Source Sampler Source Resource +// -------------- --------------- ---------------- +// s0 s0 t0 +// +// +// Level9 shader bytecode: +// + ps_2_x + dcl t0.xy + dcl_2d s0 + texld r0, t0, s0 + mul r0.xyz, r0, c0.x + mov r0.w, c0.x + mov oC0, r0 + +// approximately 4 instruction slots used (1 texture, 3 arithmetic) +ps_4_0 +dcl_constantbuffer CB0[2], immediateIndexed +dcl_sampler s0, mode_default +dcl_resource_texture2d (float,float,float,float) t0 +dcl_input_ps linear v1.xy +dcl_output o0.xyzw +dcl_temps 1 +sample r0.xyzw, v1.xyxx, t0.xyzw, s0 +mul o0.xyz, r0.xyzx, cb0[1].xxxx +mov o0.w, cb0[1].x +ret +// Approximately 4 instruction slots used +#endif + +const BYTE RGBShader[] = +{ + 68, 88, 66, 67, 181, 57, + 113, 191, 104, 206, 206, 65, + 235, 158, 87, 241, 179, 224, + 69, 235, 1, 0, 0, 0, + 120, 5, 0, 0, 6, 0, + 0, 0, 56, 0, 0, 0, + 204, 0, 0, 0, 136, 1, + 0, 0, 4, 2, 0, 0, + 236, 4, 0, 0, 68, 5, + 0, 0, 65, 111, 110, 57, + 140, 0, 0, 0, 140, 0, + 0, 0, 0, 2, 255, 255, + 88, 0, 0, 0, 52, 0, + 0, 0, 1, 0, 40, 0, + 0, 0, 52, 0, 0, 0, + 52, 0, 1, 0, 36, 0, + 0, 0, 52, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 1, 2, 255, 255, + 31, 0, 0, 2, 0, 0, + 0, 128, 0, 0, 3, 176, + 31, 0, 0, 2, 0, 0, + 0, 144, 0, 8, 15, 160, + 66, 0, 0, 3, 0, 0, + 15, 128, 0, 0, 228, 176, + 0, 8, 228, 160, 5, 0, + 0, 3, 0, 0, 7, 128, + 0, 0, 228, 128, 0, 0, + 0, 160, 1, 0, 0, 2, + 0, 0, 8, 128, 0, 0, + 0, 160, 1, 0, 0, 2, + 0, 8, 15, 128, 0, 0, + 228, 128, 255, 255, 0, 0, + 83, 72, 68, 82, 180, 0, + 0, 0, 64, 0, 0, 0, + 45, 0, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 90, 0, 0, 3, + 0, 96, 16, 0, 0, 0, + 0, 0, 88, 24, 0, 4, + 0, 112, 16, 0, 0, 0, + 0, 0, 85, 85, 0, 0, + 98, 16, 0, 3, 50, 16, + 16, 0, 1, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 0, 0, 0, 0, + 104, 0, 0, 2, 1, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 16, 16, 0, + 1, 0, 0, 0, 70, 126, + 16, 0, 0, 0, 0, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 8, + 114, 32, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 6, 128, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 54, 0, + 0, 6, 130, 32, 16, 0, + 0, 0, 0, 0, 10, 128, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 62, 0, + 0, 1, 83, 84, 65, 84, + 116, 0, 0, 0, 4, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 82, 68, 69, 70, 224, 2, + 0, 0, 1, 0, 0, 0, + 148, 0, 0, 0, 3, 0, + 0, 0, 28, 0, 0, 0, + 0, 4, 255, 255, 0, 1, + 0, 0, 184, 2, 0, 0, + 124, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 133, 0, 0, 0, + 2, 0, 0, 0, 5, 0, + 0, 0, 4, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 1, 0, 0, 0, + 13, 0, 0, 0, 138, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 115, 83, 97, 109, 112, 108, + 101, 114, 0, 116, 82, 71, + 66, 0, 36, 71, 108, 111, + 98, 97, 108, 115, 0, 171, + 138, 0, 0, 0, 11, 0, + 0, 0, 172, 0, 0, 0, + 96, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 180, 1, 0, 0, 0, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 192, 1, + 0, 0, 0, 0, 0, 0, + 208, 1, 0, 0, 16, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 224, 1, + 0, 0, 0, 0, 0, 0, + 240, 1, 0, 0, 32, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 0, 2, + 0, 0, 0, 0, 0, 0, + 16, 2, 0, 0, 48, 0, + 0, 0, 44, 0, 0, 0, + 0, 0, 0, 0, 32, 2, + 0, 0, 0, 0, 0, 0, + 48, 2, 0, 0, 96, 0, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 64, 2, + 0, 0, 0, 0, 0, 0, + 80, 2, 0, 0, 160, 0, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 64, 2, + 0, 0, 0, 0, 0, 0, + 92, 2, 0, 0, 224, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 192, 1, + 0, 0, 0, 0, 0, 0, + 112, 2, 0, 0, 240, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 128, 2, + 0, 0, 0, 0, 0, 0, + 144, 2, 0, 0, 0, 1, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 128, 2, + 0, 0, 0, 0, 0, 0, + 155, 2, 0, 0, 16, 1, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 128, 2, + 0, 0, 0, 0, 0, 0, + 165, 2, 0, 0, 32, 1, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 64, 2, + 0, 0, 0, 0, 0, 0, + 102, 76, 97, 121, 101, 114, + 67, 111, 108, 111, 114, 0, + 1, 0, 3, 0, 1, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 102, 76, + 97, 121, 101, 114, 79, 112, + 97, 99, 105, 116, 121, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 105, 66, 108, 101, 110, 100, + 67, 111, 110, 102, 105, 103, + 0, 171, 171, 171, 1, 0, + 19, 0, 1, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 109, 89, 117, 118, + 67, 111, 108, 111, 114, 77, + 97, 116, 114, 105, 120, 0, + 2, 0, 3, 0, 3, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 109, 76, + 97, 121, 101, 114, 84, 114, + 97, 110, 115, 102, 111, 114, + 109, 0, 3, 0, 3, 0, + 4, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 109, 80, 114, 111, 106, 101, + 99, 116, 105, 111, 110, 0, + 118, 82, 101, 110, 100, 101, + 114, 84, 97, 114, 103, 101, + 116, 79, 102, 102, 115, 101, + 116, 0, 118, 84, 101, 120, + 116, 117, 114, 101, 67, 111, + 111, 114, 100, 115, 0, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 118, 76, + 97, 121, 101, 114, 81, 117, + 97, 100, 0, 118, 77, 97, + 115, 107, 81, 117, 97, 100, + 0, 109, 66, 97, 99, 107, + 100, 114, 111, 112, 84, 114, + 97, 110, 115, 102, 111, 114, + 109, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 73, 83, 71, 78, 80, 0, + 0, 0, 2, 0, 0, 0, + 8, 0, 0, 0, 56, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 68, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 3, 3, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 171, 171, 171, 79, 83, + 71, 78, 44, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 83, 86, 95, 84, + 97, 114, 103, 101, 116, 0, + 171, 171 +}; ShaderBytes sRGBShader = { RGBShader, sizeof(RGBShader) }; -#if 0 -// -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 -// -// -// Buffer Definitions: -// -// cbuffer $Globals -// { -// -// float4 fLayerColor; // Offset: 0 Size: 16 [unused] -// float fLayerOpacity; // Offset: 16 Size: 4 -// uint4 iBlendConfig; // Offset: 32 Size: 16 [unused] -// float4x4 mLayerTransform; // Offset: 48 Size: 64 [unused] -// float4x4 mProjection; // Offset: 112 Size: 64 [unused] -// float4 vRenderTargetOffset; // Offset: 176 Size: 16 [unused] -// float4 vTextureCoords; // Offset: 192 Size: 16 [unused] -// float4 vLayerQuad; // Offset: 208 Size: 16 [unused] -// float4 vMaskQuad; // Offset: 224 Size: 16 [unused] -// float4x4 mBackdropTransform; // Offset: 240 Size: 64 [unused] -// -// } -// -// -// Resource Bindings: -// -// Name Type Format Dim HLSL Bind Count -// ------------------------------ ---------- ------- ----------- -------------- ------ -// sSampler sampler NA NA s0 1 -// tRGB texture float4 2d t0 1 -// $Globals cbuffer NA NA cb0 1 -// -// -// -// Input signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// SV_Position 0 xyzw 0 POS float -// TEXCOORD 0 xy 1 NONE float xy -// -// -// Output signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// SV_Target 0 xyzw 0 TARGET float xyzw -// -// -// Constant buffer to DX9 shader constant mappings: -// -// Target Reg Buffer Start Reg # of Regs Data Conversion -// ---------- ------- --------- --------- ---------------------- -// c0 cb0 1 1 ( FLT, FLT, FLT, FLT) -// -// -// Sampler/Resource to DX9 shader sampler mappings: -// -// Target Sampler Source Sampler Source Resource -// -------------- --------------- ---------------- -// s0 s0 t0 -// -// -// Level9 shader bytecode: -// - ps_2_x - dcl t0.xy - dcl_2d s0 - texld r0, t0, s0 - mul r0, r0, c0.x - mov oC0, r0 - -// approximately 3 instruction slots used (1 texture, 2 arithmetic) -ps_4_0 -dcl_constantbuffer CB0[2], immediateIndexed -dcl_sampler s0, mode_default -dcl_resource_texture2d (float,float,float,float) t0 -dcl_input_ps linear v1.xy -dcl_output o0.xyzw -dcl_temps 1 -sample r0.xyzw, v1.xyxx, t0.xyzw, s0 -mul o0.xyzw, r0.xyzw, cb0[1].xxxx -ret -// Approximately 3 instruction slots used -#endif - -const BYTE RGBAShader[] = -{ - 68, 88, 66, 67, 199, 240, - 113, 171, 34, 194, 134, 123, - 243, 63, 156, 246, 8, 157, - 15, 85, 1, 0, 0, 0, - 40, 5, 0, 0, 6, 0, - 0, 0, 56, 0, 0, 0, - 192, 0, 0, 0, 100, 1, - 0, 0, 224, 1, 0, 0, - 156, 4, 0, 0, 244, 4, - 0, 0, 65, 111, 110, 57, - 128, 0, 0, 0, 128, 0, - 0, 0, 0, 2, 255, 255, - 76, 0, 0, 0, 52, 0, - 0, 0, 1, 0, 40, 0, - 0, 0, 52, 0, 0, 0, - 52, 0, 1, 0, 36, 0, - 0, 0, 52, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 1, 2, 255, 255, - 31, 0, 0, 2, 0, 0, - 0, 128, 0, 0, 3, 176, - 31, 0, 0, 2, 0, 0, - 0, 144, 0, 8, 15, 160, - 66, 0, 0, 3, 0, 0, - 15, 128, 0, 0, 228, 176, - 0, 8, 228, 160, 5, 0, - 0, 3, 0, 0, 15, 128, - 0, 0, 228, 128, 0, 0, - 0, 160, 1, 0, 0, 2, - 0, 8, 15, 128, 0, 0, - 228, 128, 255, 255, 0, 0, - 83, 72, 68, 82, 156, 0, - 0, 0, 64, 0, 0, 0, - 39, 0, 0, 0, 89, 0, - 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 90, 0, 0, 3, - 0, 96, 16, 0, 0, 0, - 0, 0, 88, 24, 0, 4, - 0, 112, 16, 0, 0, 0, - 0, 0, 85, 85, 0, 0, - 98, 16, 0, 3, 50, 16, - 16, 0, 1, 0, 0, 0, - 101, 0, 0, 3, 242, 32, - 16, 0, 0, 0, 0, 0, - 104, 0, 0, 2, 1, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 0, 0, - 0, 0, 70, 16, 16, 0, - 1, 0, 0, 0, 70, 126, - 16, 0, 0, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 8, - 242, 32, 16, 0, 0, 0, - 0, 0, 70, 14, 16, 0, - 0, 0, 0, 0, 6, 128, - 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 62, 0, - 0, 1, 83, 84, 65, 84, - 116, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 82, 68, 69, 70, 180, 2, - 0, 0, 1, 0, 0, 0, - 148, 0, 0, 0, 3, 0, - 0, 0, 28, 0, 0, 0, - 0, 4, 255, 255, 0, 1, - 0, 0, 128, 2, 0, 0, - 124, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 1, 0, - 0, 0, 133, 0, 0, 0, - 2, 0, 0, 0, 5, 0, - 0, 0, 4, 0, 0, 0, - 255, 255, 255, 255, 0, 0, - 0, 0, 1, 0, 0, 0, - 13, 0, 0, 0, 138, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 115, 83, 97, 109, 112, 108, - 101, 114, 0, 116, 82, 71, - 66, 0, 36, 71, 108, 111, - 98, 97, 108, 115, 0, 171, - 138, 0, 0, 0, 10, 0, - 0, 0, 172, 0, 0, 0, - 48, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 156, 1, 0, 0, 0, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 168, 1, - 0, 0, 0, 0, 0, 0, - 184, 1, 0, 0, 16, 0, - 0, 0, 4, 0, 0, 0, - 2, 0, 0, 0, 200, 1, - 0, 0, 0, 0, 0, 0, - 216, 1, 0, 0, 32, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 232, 1, - 0, 0, 0, 0, 0, 0, - 248, 1, 0, 0, 48, 0, - 0, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 8, 2, - 0, 0, 0, 0, 0, 0, - 24, 2, 0, 0, 112, 0, - 0, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 8, 2, - 0, 0, 0, 0, 0, 0, - 36, 2, 0, 0, 176, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 168, 1, - 0, 0, 0, 0, 0, 0, - 56, 2, 0, 0, 192, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 72, 2, - 0, 0, 0, 0, 0, 0, - 88, 2, 0, 0, 208, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 72, 2, - 0, 0, 0, 0, 0, 0, - 99, 2, 0, 0, 224, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 72, 2, - 0, 0, 0, 0, 0, 0, - 109, 2, 0, 0, 240, 0, - 0, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 8, 2, - 0, 0, 0, 0, 0, 0, - 102, 76, 97, 121, 101, 114, - 67, 111, 108, 111, 114, 0, - 1, 0, 3, 0, 1, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 102, 76, - 97, 121, 101, 114, 79, 112, - 97, 99, 105, 116, 121, 0, - 171, 171, 0, 0, 3, 0, - 1, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 105, 66, 108, 101, 110, 100, - 67, 111, 110, 102, 105, 103, - 0, 171, 171, 171, 1, 0, - 19, 0, 1, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 109, 76, 97, 121, - 101, 114, 84, 114, 97, 110, - 115, 102, 111, 114, 109, 0, - 3, 0, 3, 0, 4, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 109, 80, - 114, 111, 106, 101, 99, 116, - 105, 111, 110, 0, 118, 82, - 101, 110, 100, 101, 114, 84, - 97, 114, 103, 101, 116, 79, - 102, 102, 115, 101, 116, 0, - 118, 84, 101, 120, 116, 117, - 114, 101, 67, 111, 111, 114, - 100, 115, 0, 171, 1, 0, - 3, 0, 1, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 118, 76, 97, 121, - 101, 114, 81, 117, 97, 100, - 0, 118, 77, 97, 115, 107, - 81, 117, 97, 100, 0, 109, - 66, 97, 99, 107, 100, 114, - 111, 112, 84, 114, 97, 110, - 115, 102, 111, 114, 109, 0, - 77, 105, 99, 114, 111, 115, - 111, 102, 116, 32, 40, 82, - 41, 32, 72, 76, 83, 76, - 32, 83, 104, 97, 100, 101, - 114, 32, 67, 111, 109, 112, - 105, 108, 101, 114, 32, 49, - 48, 46, 48, 46, 49, 48, - 48, 49, 49, 46, 49, 54, - 51, 56, 52, 0, 73, 83, - 71, 78, 80, 0, 0, 0, - 2, 0, 0, 0, 8, 0, - 0, 0, 56, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 68, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 3, 3, - 0, 0, 83, 86, 95, 80, - 111, 115, 105, 116, 105, 111, - 110, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 171, - 171, 171, 79, 83, 71, 78, - 44, 0, 0, 0, 1, 0, - 0, 0, 8, 0, 0, 0, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 83, 86, 95, 84, 97, 114, - 103, 101, 116, 0, 171, 171 -}; +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer $Globals +// { +// +// float4 fLayerColor; // Offset: 0 Size: 16 [unused] +// float fLayerOpacity; // Offset: 16 Size: 4 +// uint4 iBlendConfig; // Offset: 32 Size: 16 [unused] +// row_major float3x3 mYuvColorMatrix;// Offset: 48 Size: 44 [unused] +// float4x4 mLayerTransform; // Offset: 96 Size: 64 [unused] +// float4x4 mProjection; // Offset: 160 Size: 64 [unused] +// float4 vRenderTargetOffset; // Offset: 224 Size: 16 [unused] +// float4 vTextureCoords; // Offset: 240 Size: 16 [unused] +// float4 vLayerQuad; // Offset: 256 Size: 16 [unused] +// float4 vMaskQuad; // Offset: 272 Size: 16 [unused] +// float4x4 mBackdropTransform; // Offset: 288 Size: 64 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim HLSL Bind Count +// ------------------------------ ---------- ------- ----------- -------------- ------ +// sSampler sampler NA NA s0 1 +// tRGB texture float4 2d t0 1 +// $Globals cbuffer NA NA cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Position 0 xyzw 0 POS float +// TEXCOORD 0 xy 1 NONE float xy +// +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Target 0 xyzw 0 TARGET float xyzw +// +// +// Constant buffer to DX9 shader constant mappings: +// +// Target Reg Buffer Start Reg # of Regs Data Conversion +// ---------- ------- --------- --------- ---------------------- +// c0 cb0 1 1 ( FLT, FLT, FLT, FLT) +// +// +// Sampler/Resource to DX9 shader sampler mappings: +// +// Target Sampler Source Sampler Source Resource +// -------------- --------------- ---------------- +// s0 s0 t0 +// +// +// Level9 shader bytecode: +// + ps_2_x + dcl t0.xy + dcl_2d s0 + texld r0, t0, s0 + mul r0, r0, c0.x + mov oC0, r0 + +// approximately 3 instruction slots used (1 texture, 2 arithmetic) +ps_4_0 +dcl_constantbuffer CB0[2], immediateIndexed +dcl_sampler s0, mode_default +dcl_resource_texture2d (float,float,float,float) t0 +dcl_input_ps linear v1.xy +dcl_output o0.xyzw +dcl_temps 1 +sample r0.xyzw, v1.xyxx, t0.xyzw, s0 +mul o0.xyzw, r0.xyzw, cb0[1].xxxx +ret +// Approximately 3 instruction slots used +#endif + +const BYTE RGBAShader[] = +{ + 68, 88, 66, 67, 0, 64, + 93, 222, 73, 216, 128, 20, + 42, 69, 82, 179, 209, 122, + 136, 190, 1, 0, 0, 0, + 84, 5, 0, 0, 6, 0, + 0, 0, 56, 0, 0, 0, + 192, 0, 0, 0, 100, 1, + 0, 0, 224, 1, 0, 0, + 200, 4, 0, 0, 32, 5, + 0, 0, 65, 111, 110, 57, + 128, 0, 0, 0, 128, 0, + 0, 0, 0, 2, 255, 255, + 76, 0, 0, 0, 52, 0, + 0, 0, 1, 0, 40, 0, + 0, 0, 52, 0, 0, 0, + 52, 0, 1, 0, 36, 0, + 0, 0, 52, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 1, 2, 255, 255, + 31, 0, 0, 2, 0, 0, + 0, 128, 0, 0, 3, 176, + 31, 0, 0, 2, 0, 0, + 0, 144, 0, 8, 15, 160, + 66, 0, 0, 3, 0, 0, + 15, 128, 0, 0, 228, 176, + 0, 8, 228, 160, 5, 0, + 0, 3, 0, 0, 15, 128, + 0, 0, 228, 128, 0, 0, + 0, 160, 1, 0, 0, 2, + 0, 8, 15, 128, 0, 0, + 228, 128, 255, 255, 0, 0, + 83, 72, 68, 82, 156, 0, + 0, 0, 64, 0, 0, 0, + 39, 0, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 90, 0, 0, 3, + 0, 96, 16, 0, 0, 0, + 0, 0, 88, 24, 0, 4, + 0, 112, 16, 0, 0, 0, + 0, 0, 85, 85, 0, 0, + 98, 16, 0, 3, 50, 16, + 16, 0, 1, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 0, 0, 0, 0, + 104, 0, 0, 2, 1, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 16, 16, 0, + 1, 0, 0, 0, 70, 126, + 16, 0, 0, 0, 0, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 8, + 242, 32, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 0, 0, 0, 0, 6, 128, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 62, 0, + 0, 1, 83, 84, 65, 84, + 116, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 82, 68, 69, 70, 224, 2, + 0, 0, 1, 0, 0, 0, + 148, 0, 0, 0, 3, 0, + 0, 0, 28, 0, 0, 0, + 0, 4, 255, 255, 0, 1, + 0, 0, 184, 2, 0, 0, + 124, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 133, 0, 0, 0, + 2, 0, 0, 0, 5, 0, + 0, 0, 4, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 1, 0, 0, 0, + 13, 0, 0, 0, 138, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 115, 83, 97, 109, 112, 108, + 101, 114, 0, 116, 82, 71, + 66, 0, 36, 71, 108, 111, + 98, 97, 108, 115, 0, 171, + 138, 0, 0, 0, 11, 0, + 0, 0, 172, 0, 0, 0, + 96, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 180, 1, 0, 0, 0, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 192, 1, + 0, 0, 0, 0, 0, 0, + 208, 1, 0, 0, 16, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 224, 1, + 0, 0, 0, 0, 0, 0, + 240, 1, 0, 0, 32, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 0, 2, + 0, 0, 0, 0, 0, 0, + 16, 2, 0, 0, 48, 0, + 0, 0, 44, 0, 0, 0, + 0, 0, 0, 0, 32, 2, + 0, 0, 0, 0, 0, 0, + 48, 2, 0, 0, 96, 0, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 64, 2, + 0, 0, 0, 0, 0, 0, + 80, 2, 0, 0, 160, 0, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 64, 2, + 0, 0, 0, 0, 0, 0, + 92, 2, 0, 0, 224, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 192, 1, + 0, 0, 0, 0, 0, 0, + 112, 2, 0, 0, 240, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 128, 2, + 0, 0, 0, 0, 0, 0, + 144, 2, 0, 0, 0, 1, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 128, 2, + 0, 0, 0, 0, 0, 0, + 155, 2, 0, 0, 16, 1, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 128, 2, + 0, 0, 0, 0, 0, 0, + 165, 2, 0, 0, 32, 1, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 64, 2, + 0, 0, 0, 0, 0, 0, + 102, 76, 97, 121, 101, 114, + 67, 111, 108, 111, 114, 0, + 1, 0, 3, 0, 1, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 102, 76, + 97, 121, 101, 114, 79, 112, + 97, 99, 105, 116, 121, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 105, 66, 108, 101, 110, 100, + 67, 111, 110, 102, 105, 103, + 0, 171, 171, 171, 1, 0, + 19, 0, 1, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 109, 89, 117, 118, + 67, 111, 108, 111, 114, 77, + 97, 116, 114, 105, 120, 0, + 2, 0, 3, 0, 3, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 109, 76, + 97, 121, 101, 114, 84, 114, + 97, 110, 115, 102, 111, 114, + 109, 0, 3, 0, 3, 0, + 4, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 109, 80, 114, 111, 106, 101, + 99, 116, 105, 111, 110, 0, + 118, 82, 101, 110, 100, 101, + 114, 84, 97, 114, 103, 101, + 116, 79, 102, 102, 115, 101, + 116, 0, 118, 84, 101, 120, + 116, 117, 114, 101, 67, 111, + 111, 114, 100, 115, 0, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 118, 76, + 97, 121, 101, 114, 81, 117, + 97, 100, 0, 118, 77, 97, + 115, 107, 81, 117, 97, 100, + 0, 109, 66, 97, 99, 107, + 100, 114, 111, 112, 84, 114, + 97, 110, 115, 102, 111, 114, + 109, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 73, 83, 71, 78, 80, 0, + 0, 0, 2, 0, 0, 0, + 8, 0, 0, 0, 56, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 68, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 3, 3, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 171, 171, 171, 79, 83, + 71, 78, 44, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 83, 86, 95, 84, + 97, 114, 103, 101, 116, 0, + 171, 171 +}; ShaderBytes sRGBAShader = { RGBAShader, sizeof(RGBAShader) }; -#if 0 -// -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 -// -// -// Buffer Definitions: -// -// cbuffer $Globals -// { -// -// float4 fLayerColor; // Offset: 0 Size: 16 [unused] -// float fLayerOpacity; // Offset: 16 Size: 4 -// uint4 iBlendConfig; // Offset: 32 Size: 16 [unused] -// float4x4 mLayerTransform; // Offset: 48 Size: 64 [unused] -// float4x4 mProjection; // Offset: 112 Size: 64 [unused] -// float4 vRenderTargetOffset; // Offset: 176 Size: 16 [unused] -// float4 vTextureCoords; // Offset: 192 Size: 16 [unused] -// float4 vLayerQuad; // Offset: 208 Size: 16 [unused] -// float4 vMaskQuad; // Offset: 224 Size: 16 [unused] -// float4x4 mBackdropTransform; // Offset: 240 Size: 64 [unused] -// -// } -// -// -// Resource Bindings: -// -// Name Type Format Dim HLSL Bind Count -// ------------------------------ ---------- ------- ----------- -------------- ------ -// sSampler sampler NA NA s0 1 -// tRGB texture float4 2d t0 1 -// tRGBWhite texture float4 2d t4 1 -// $Globals cbuffer NA NA cb0 1 -// -// -// -// Input signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// SV_Position 0 xyzw 0 POS float -// TEXCOORD 0 xy 1 NONE float xy -// -// -// Output signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// SV_Target 0 xyzw 0 TARGET float xyzw -// SV_Target 1 xyzw 1 TARGET float xyzw -// -// -// Constant buffer to DX9 shader constant mappings: -// -// Target Reg Buffer Start Reg # of Regs Data Conversion -// ---------- ------- --------- --------- ---------------------- -// c0 cb0 1 1 ( FLT, FLT, FLT, FLT) -// -// -// Sampler/Resource to DX9 shader sampler mappings: -// -// Target Sampler Source Sampler Source Resource -// -------------- --------------- ---------------- -// s0 s0 t0 -// s1 s0 t4 -// -// -// Level9 shader bytecode: -// - ps_2_x - def c1, 1, 0, 0, 0 - dcl t0.xy - dcl_2d s0 - dcl_2d s1 - texld r0, t0, s0 - texld r1, t0, s1 - add r1, r0, -r1 - add r1, r1, c1.x - mov r0.w, r1.y - mul r1, r1, c0.x - mov oC1, r1 - mul r0, r0, c0.x - mov oC0, r0 - -// approximately 9 instruction slots used (2 texture, 7 arithmetic) -ps_4_0 -dcl_constantbuffer CB0[2], immediateIndexed -dcl_sampler s0, mode_default -dcl_resource_texture2d (float,float,float,float) t0 -dcl_resource_texture2d (float,float,float,float) t4 -dcl_input_ps linear v1.xy -dcl_output o0.xyzw -dcl_output o1.xyzw -dcl_temps 2 -sample r0.xyzw, v1.xyxx, t4.xyzw, s0 -sample r1.xyzw, v1.xyxx, t0.xyzw, s0 -add r0.xyzw, -r0.xyzw, r1.xyzw -add r0.xyzw, r0.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000) -mov r1.w, r0.y -mul o1.xyzw, r0.xyzw, cb0[1].xxxx -mul o0.xyzw, r1.xyzw, cb0[1].xxxx -ret -// Approximately 8 instruction slots used -#endif - -const BYTE ComponentAlphaShader[] = -{ - 68, 88, 66, 67, 207, 79, - 99, 143, 94, 253, 50, 234, - 183, 114, 100, 130, 114, 218, - 230, 139, 1, 0, 0, 0, - 168, 6, 0, 0, 6, 0, - 0, 0, 56, 0, 0, 0, - 64, 1, 0, 0, 160, 2, - 0, 0, 28, 3, 0, 0, - 4, 6, 0, 0, 92, 6, - 0, 0, 65, 111, 110, 57, - 0, 1, 0, 0, 0, 1, - 0, 0, 0, 2, 255, 255, - 200, 0, 0, 0, 56, 0, - 0, 0, 1, 0, 44, 0, - 0, 0, 56, 0, 0, 0, - 56, 0, 2, 0, 36, 0, - 0, 0, 56, 0, 0, 0, - 0, 0, 4, 0, 1, 0, - 0, 0, 1, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 1, 2, 255, 255, 81, 0, - 0, 5, 1, 0, 15, 160, - 0, 0, 128, 63, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 0, 0, 0, 128, - 0, 0, 3, 176, 31, 0, - 0, 2, 0, 0, 0, 144, - 0, 8, 15, 160, 31, 0, - 0, 2, 0, 0, 0, 144, - 1, 8, 15, 160, 66, 0, - 0, 3, 0, 0, 15, 128, - 0, 0, 228, 176, 0, 8, - 228, 160, 66, 0, 0, 3, - 1, 0, 15, 128, 0, 0, - 228, 176, 1, 8, 228, 160, - 2, 0, 0, 3, 1, 0, - 15, 128, 0, 0, 228, 128, - 1, 0, 228, 129, 2, 0, - 0, 3, 1, 0, 15, 128, - 1, 0, 228, 128, 1, 0, - 0, 160, 1, 0, 0, 2, - 0, 0, 8, 128, 1, 0, - 85, 128, 5, 0, 0, 3, - 1, 0, 15, 128, 1, 0, - 228, 128, 0, 0, 0, 160, - 1, 0, 0, 2, 1, 8, - 15, 128, 1, 0, 228, 128, - 5, 0, 0, 3, 0, 0, - 15, 128, 0, 0, 228, 128, - 0, 0, 0, 160, 1, 0, - 0, 2, 0, 8, 15, 128, - 0, 0, 228, 128, 255, 255, - 0, 0, 83, 72, 68, 82, - 88, 1, 0, 0, 64, 0, - 0, 0, 86, 0, 0, 0, - 89, 0, 0, 4, 70, 142, - 32, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 90, 0, - 0, 3, 0, 96, 16, 0, - 0, 0, 0, 0, 88, 24, - 0, 4, 0, 112, 16, 0, - 0, 0, 0, 0, 85, 85, - 0, 0, 88, 24, 0, 4, - 0, 112, 16, 0, 4, 0, - 0, 0, 85, 85, 0, 0, - 98, 16, 0, 3, 50, 16, - 16, 0, 1, 0, 0, 0, - 101, 0, 0, 3, 242, 32, - 16, 0, 0, 0, 0, 0, - 101, 0, 0, 3, 242, 32, - 16, 0, 1, 0, 0, 0, - 104, 0, 0, 2, 2, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 0, 0, - 0, 0, 70, 16, 16, 0, - 1, 0, 0, 0, 70, 126, - 16, 0, 4, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 1, 0, - 0, 0, 70, 16, 16, 0, - 1, 0, 0, 0, 70, 126, - 16, 0, 0, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 0, 0, 0, 8, - 242, 0, 16, 0, 0, 0, - 0, 0, 70, 14, 16, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 70, 14, 16, 0, - 1, 0, 0, 0, 0, 0, - 0, 10, 242, 0, 16, 0, - 0, 0, 0, 0, 70, 14, - 16, 0, 0, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 128, 63, 0, 0, 128, 63, - 0, 0, 128, 63, 0, 0, - 128, 63, 54, 0, 0, 5, - 130, 0, 16, 0, 1, 0, - 0, 0, 26, 0, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 8, 242, 32, 16, 0, - 1, 0, 0, 0, 70, 14, - 16, 0, 0, 0, 0, 0, - 6, 128, 32, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 56, 0, 0, 8, 242, 32, - 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 1, 0, - 0, 0, 6, 128, 32, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 62, 0, 0, 1, - 83, 84, 65, 84, 116, 0, - 0, 0, 8, 0, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 68, - 69, 70, 224, 2, 0, 0, - 1, 0, 0, 0, 192, 0, - 0, 0, 4, 0, 0, 0, - 28, 0, 0, 0, 0, 4, - 255, 255, 0, 1, 0, 0, - 172, 2, 0, 0, 156, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 1, 0, 0, 0, - 165, 0, 0, 0, 2, 0, - 0, 0, 5, 0, 0, 0, - 4, 0, 0, 0, 255, 255, - 255, 255, 0, 0, 0, 0, - 1, 0, 0, 0, 13, 0, - 0, 0, 170, 0, 0, 0, - 2, 0, 0, 0, 5, 0, - 0, 0, 4, 0, 0, 0, - 255, 255, 255, 255, 4, 0, - 0, 0, 1, 0, 0, 0, - 13, 0, 0, 0, 180, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 115, 83, 97, 109, 112, 108, - 101, 114, 0, 116, 82, 71, - 66, 0, 116, 82, 71, 66, - 87, 104, 105, 116, 101, 0, - 36, 71, 108, 111, 98, 97, - 108, 115, 0, 171, 171, 171, - 180, 0, 0, 0, 10, 0, - 0, 0, 216, 0, 0, 0, - 48, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 200, 1, 0, 0, 0, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 212, 1, - 0, 0, 0, 0, 0, 0, - 228, 1, 0, 0, 16, 0, - 0, 0, 4, 0, 0, 0, - 2, 0, 0, 0, 244, 1, - 0, 0, 0, 0, 0, 0, - 4, 2, 0, 0, 32, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 20, 2, - 0, 0, 0, 0, 0, 0, - 36, 2, 0, 0, 48, 0, - 0, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 52, 2, - 0, 0, 0, 0, 0, 0, - 68, 2, 0, 0, 112, 0, - 0, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 52, 2, - 0, 0, 0, 0, 0, 0, - 80, 2, 0, 0, 176, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 212, 1, - 0, 0, 0, 0, 0, 0, - 100, 2, 0, 0, 192, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 116, 2, - 0, 0, 0, 0, 0, 0, - 132, 2, 0, 0, 208, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 116, 2, - 0, 0, 0, 0, 0, 0, - 143, 2, 0, 0, 224, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 116, 2, - 0, 0, 0, 0, 0, 0, - 153, 2, 0, 0, 240, 0, - 0, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 52, 2, - 0, 0, 0, 0, 0, 0, - 102, 76, 97, 121, 101, 114, - 67, 111, 108, 111, 114, 0, - 1, 0, 3, 0, 1, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 102, 76, - 97, 121, 101, 114, 79, 112, - 97, 99, 105, 116, 121, 0, - 171, 171, 0, 0, 3, 0, - 1, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 105, 66, 108, 101, 110, 100, - 67, 111, 110, 102, 105, 103, - 0, 171, 171, 171, 1, 0, - 19, 0, 1, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 109, 76, 97, 121, - 101, 114, 84, 114, 97, 110, - 115, 102, 111, 114, 109, 0, - 3, 0, 3, 0, 4, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 109, 80, - 114, 111, 106, 101, 99, 116, - 105, 111, 110, 0, 118, 82, - 101, 110, 100, 101, 114, 84, - 97, 114, 103, 101, 116, 79, - 102, 102, 115, 101, 116, 0, - 118, 84, 101, 120, 116, 117, - 114, 101, 67, 111, 111, 114, - 100, 115, 0, 171, 1, 0, - 3, 0, 1, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 118, 76, 97, 121, - 101, 114, 81, 117, 97, 100, - 0, 118, 77, 97, 115, 107, - 81, 117, 97, 100, 0, 109, - 66, 97, 99, 107, 100, 114, - 111, 112, 84, 114, 97, 110, - 115, 102, 111, 114, 109, 0, - 77, 105, 99, 114, 111, 115, - 111, 102, 116, 32, 40, 82, - 41, 32, 72, 76, 83, 76, - 32, 83, 104, 97, 100, 101, - 114, 32, 67, 111, 109, 112, - 105, 108, 101, 114, 32, 49, - 48, 46, 48, 46, 49, 48, - 48, 49, 49, 46, 49, 54, - 51, 56, 52, 0, 73, 83, - 71, 78, 80, 0, 0, 0, - 2, 0, 0, 0, 8, 0, - 0, 0, 56, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 68, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 3, 3, - 0, 0, 83, 86, 95, 80, - 111, 115, 105, 116, 105, 111, - 110, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 171, - 171, 171, 79, 83, 71, 78, - 68, 0, 0, 0, 2, 0, - 0, 0, 8, 0, 0, 0, - 56, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 56, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 15, 0, 0, 0, - 83, 86, 95, 84, 97, 114, - 103, 101, 116, 0, 171, 171 -}; +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer $Globals +// { +// +// float4 fLayerColor; // Offset: 0 Size: 16 [unused] +// float fLayerOpacity; // Offset: 16 Size: 4 +// uint4 iBlendConfig; // Offset: 32 Size: 16 [unused] +// row_major float3x3 mYuvColorMatrix;// Offset: 48 Size: 44 [unused] +// float4x4 mLayerTransform; // Offset: 96 Size: 64 [unused] +// float4x4 mProjection; // Offset: 160 Size: 64 [unused] +// float4 vRenderTargetOffset; // Offset: 224 Size: 16 [unused] +// float4 vTextureCoords; // Offset: 240 Size: 16 [unused] +// float4 vLayerQuad; // Offset: 256 Size: 16 [unused] +// float4 vMaskQuad; // Offset: 272 Size: 16 [unused] +// float4x4 mBackdropTransform; // Offset: 288 Size: 64 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim HLSL Bind Count +// ------------------------------ ---------- ------- ----------- -------------- ------ +// sSampler sampler NA NA s0 1 +// tRGB texture float4 2d t0 1 +// tRGBWhite texture float4 2d t4 1 +// $Globals cbuffer NA NA cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Position 0 xyzw 0 POS float +// TEXCOORD 0 xy 1 NONE float xy +// +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Target 0 xyzw 0 TARGET float xyzw +// SV_Target 1 xyzw 1 TARGET float xyzw +// +// +// Constant buffer to DX9 shader constant mappings: +// +// Target Reg Buffer Start Reg # of Regs Data Conversion +// ---------- ------- --------- --------- ---------------------- +// c0 cb0 1 1 ( FLT, FLT, FLT, FLT) +// +// +// Sampler/Resource to DX9 shader sampler mappings: +// +// Target Sampler Source Sampler Source Resource +// -------------- --------------- ---------------- +// s0 s0 t0 +// s1 s0 t4 +// +// +// Level9 shader bytecode: +// + ps_2_x + def c1, 1, 0, 0, 0 + dcl t0.xy + dcl_2d s0 + dcl_2d s1 + texld r0, t0, s0 + texld r1, t0, s1 + add r1, r0, -r1 + add r1, r1, c1.x + mov r0.w, r1.y + mul r1, r1, c0.x + mov oC1, r1 + mul r0, r0, c0.x + mov oC0, r0 + +// approximately 9 instruction slots used (2 texture, 7 arithmetic) +ps_4_0 +dcl_constantbuffer CB0[2], immediateIndexed +dcl_sampler s0, mode_default +dcl_resource_texture2d (float,float,float,float) t0 +dcl_resource_texture2d (float,float,float,float) t4 +dcl_input_ps linear v1.xy +dcl_output o0.xyzw +dcl_output o1.xyzw +dcl_temps 2 +sample r0.xyzw, v1.xyxx, t4.xyzw, s0 +sample r1.xyzw, v1.xyxx, t0.xyzw, s0 +add r0.xyzw, -r0.xyzw, r1.xyzw +add r0.xyzw, r0.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000) +mov r1.w, r0.y +mul o1.xyzw, r0.xyzw, cb0[1].xxxx +mul o0.xyzw, r1.xyzw, cb0[1].xxxx +ret +// Approximately 8 instruction slots used +#endif + +const BYTE ComponentAlphaShader[] = +{ + 68, 88, 66, 67, 168, 127, + 203, 56, 125, 182, 211, 23, + 166, 215, 189, 218, 181, 48, + 227, 73, 1, 0, 0, 0, + 212, 6, 0, 0, 6, 0, + 0, 0, 56, 0, 0, 0, + 64, 1, 0, 0, 160, 2, + 0, 0, 28, 3, 0, 0, + 48, 6, 0, 0, 136, 6, + 0, 0, 65, 111, 110, 57, + 0, 1, 0, 0, 0, 1, + 0, 0, 0, 2, 255, 255, + 200, 0, 0, 0, 56, 0, + 0, 0, 1, 0, 44, 0, + 0, 0, 56, 0, 0, 0, + 56, 0, 2, 0, 36, 0, + 0, 0, 56, 0, 0, 0, + 0, 0, 4, 0, 1, 0, + 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 1, 2, 255, 255, 81, 0, + 0, 5, 1, 0, 15, 160, + 0, 0, 128, 63, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 31, 0, + 0, 2, 0, 0, 0, 128, + 0, 0, 3, 176, 31, 0, + 0, 2, 0, 0, 0, 144, + 0, 8, 15, 160, 31, 0, + 0, 2, 0, 0, 0, 144, + 1, 8, 15, 160, 66, 0, + 0, 3, 0, 0, 15, 128, + 0, 0, 228, 176, 0, 8, + 228, 160, 66, 0, 0, 3, + 1, 0, 15, 128, 0, 0, + 228, 176, 1, 8, 228, 160, + 2, 0, 0, 3, 1, 0, + 15, 128, 0, 0, 228, 128, + 1, 0, 228, 129, 2, 0, + 0, 3, 1, 0, 15, 128, + 1, 0, 228, 128, 1, 0, + 0, 160, 1, 0, 0, 2, + 0, 0, 8, 128, 1, 0, + 85, 128, 5, 0, 0, 3, + 1, 0, 15, 128, 1, 0, + 228, 128, 0, 0, 0, 160, + 1, 0, 0, 2, 1, 8, + 15, 128, 1, 0, 228, 128, + 5, 0, 0, 3, 0, 0, + 15, 128, 0, 0, 228, 128, + 0, 0, 0, 160, 1, 0, + 0, 2, 0, 8, 15, 128, + 0, 0, 228, 128, 255, 255, + 0, 0, 83, 72, 68, 82, + 88, 1, 0, 0, 64, 0, + 0, 0, 86, 0, 0, 0, + 89, 0, 0, 4, 70, 142, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 90, 0, + 0, 3, 0, 96, 16, 0, + 0, 0, 0, 0, 88, 24, + 0, 4, 0, 112, 16, 0, + 0, 0, 0, 0, 85, 85, + 0, 0, 88, 24, 0, 4, + 0, 112, 16, 0, 4, 0, + 0, 0, 85, 85, 0, 0, + 98, 16, 0, 3, 50, 16, + 16, 0, 1, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 0, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 1, 0, 0, 0, + 104, 0, 0, 2, 2, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 16, 16, 0, + 1, 0, 0, 0, 70, 126, + 16, 0, 4, 0, 0, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 16, 16, 0, + 1, 0, 0, 0, 70, 126, + 16, 0, 0, 0, 0, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 0, 0, 0, 8, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 0, 0, + 0, 10, 242, 0, 16, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 63, 0, 0, 128, 63, + 0, 0, 128, 63, 0, 0, + 128, 63, 54, 0, 0, 5, + 130, 0, 16, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 8, 242, 32, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 0, 0, 0, 0, + 6, 128, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 56, 0, 0, 8, 242, 32, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 6, 128, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 62, 0, 0, 1, + 83, 84, 65, 84, 116, 0, + 0, 0, 8, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 68, + 69, 70, 12, 3, 0, 0, + 1, 0, 0, 0, 192, 0, + 0, 0, 4, 0, 0, 0, + 28, 0, 0, 0, 0, 4, + 255, 255, 0, 1, 0, 0, + 228, 2, 0, 0, 156, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 165, 0, 0, 0, 2, 0, + 0, 0, 5, 0, 0, 0, + 4, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 1, 0, 0, 0, 13, 0, + 0, 0, 170, 0, 0, 0, + 2, 0, 0, 0, 5, 0, + 0, 0, 4, 0, 0, 0, + 255, 255, 255, 255, 4, 0, + 0, 0, 1, 0, 0, 0, + 13, 0, 0, 0, 180, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 115, 83, 97, 109, 112, 108, + 101, 114, 0, 116, 82, 71, + 66, 0, 116, 82, 71, 66, + 87, 104, 105, 116, 101, 0, + 36, 71, 108, 111, 98, 97, + 108, 115, 0, 171, 171, 171, + 180, 0, 0, 0, 11, 0, + 0, 0, 216, 0, 0, 0, + 96, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 224, 1, 0, 0, 0, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 236, 1, + 0, 0, 0, 0, 0, 0, + 252, 1, 0, 0, 16, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 12, 2, + 0, 0, 0, 0, 0, 0, + 28, 2, 0, 0, 32, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 44, 2, + 0, 0, 0, 0, 0, 0, + 60, 2, 0, 0, 48, 0, + 0, 0, 44, 0, 0, 0, + 0, 0, 0, 0, 76, 2, + 0, 0, 0, 0, 0, 0, + 92, 2, 0, 0, 96, 0, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 108, 2, + 0, 0, 0, 0, 0, 0, + 124, 2, 0, 0, 160, 0, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 108, 2, + 0, 0, 0, 0, 0, 0, + 136, 2, 0, 0, 224, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 236, 1, + 0, 0, 0, 0, 0, 0, + 156, 2, 0, 0, 240, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 172, 2, + 0, 0, 0, 0, 0, 0, + 188, 2, 0, 0, 0, 1, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 172, 2, + 0, 0, 0, 0, 0, 0, + 199, 2, 0, 0, 16, 1, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 172, 2, + 0, 0, 0, 0, 0, 0, + 209, 2, 0, 0, 32, 1, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 108, 2, + 0, 0, 0, 0, 0, 0, + 102, 76, 97, 121, 101, 114, + 67, 111, 108, 111, 114, 0, + 1, 0, 3, 0, 1, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 102, 76, + 97, 121, 101, 114, 79, 112, + 97, 99, 105, 116, 121, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 105, 66, 108, 101, 110, 100, + 67, 111, 110, 102, 105, 103, + 0, 171, 171, 171, 1, 0, + 19, 0, 1, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 109, 89, 117, 118, + 67, 111, 108, 111, 114, 77, + 97, 116, 114, 105, 120, 0, + 2, 0, 3, 0, 3, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 109, 76, + 97, 121, 101, 114, 84, 114, + 97, 110, 115, 102, 111, 114, + 109, 0, 3, 0, 3, 0, + 4, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 109, 80, 114, 111, 106, 101, + 99, 116, 105, 111, 110, 0, + 118, 82, 101, 110, 100, 101, + 114, 84, 97, 114, 103, 101, + 116, 79, 102, 102, 115, 101, + 116, 0, 118, 84, 101, 120, + 116, 117, 114, 101, 67, 111, + 111, 114, 100, 115, 0, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 118, 76, + 97, 121, 101, 114, 81, 117, + 97, 100, 0, 118, 77, 97, + 115, 107, 81, 117, 97, 100, + 0, 109, 66, 97, 99, 107, + 100, 114, 111, 112, 84, 114, + 97, 110, 115, 102, 111, 114, + 109, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 73, 83, 71, 78, 80, 0, + 0, 0, 2, 0, 0, 0, + 8, 0, 0, 0, 56, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 68, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 3, 3, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 171, 171, 171, 79, 83, + 71, 78, 68, 0, 0, 0, + 2, 0, 0, 0, 8, 0, + 0, 0, 56, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 56, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 15, 0, + 0, 0, 83, 86, 95, 84, + 97, 114, 103, 101, 116, 0, + 171, 171 +}; ShaderBytes sComponentAlphaShader = { ComponentAlphaShader, sizeof(ComponentAlphaShader) }; -#if 0 -// -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 -// -// -// Buffer Definitions: -// -// cbuffer $Globals -// { -// -// float4 fLayerColor; // Offset: 0 Size: 16 [unused] -// float fLayerOpacity; // Offset: 16 Size: 4 -// uint4 iBlendConfig; // Offset: 32 Size: 16 [unused] -// float4x4 mLayerTransform; // Offset: 48 Size: 64 [unused] -// float4x4 mProjection; // Offset: 112 Size: 64 [unused] -// float4 vRenderTargetOffset; // Offset: 176 Size: 16 [unused] -// float4 vTextureCoords; // Offset: 192 Size: 16 [unused] -// float4 vLayerQuad; // Offset: 208 Size: 16 [unused] -// float4 vMaskQuad; // Offset: 224 Size: 16 [unused] -// float4x4 mBackdropTransform; // Offset: 240 Size: 64 [unused] -// -// } -// -// -// Resource Bindings: -// -// Name Type Format Dim HLSL Bind Count -// ------------------------------ ---------- ------- ----------- -------------- ------ -// sSampler sampler NA NA s0 1 -// tY texture float4 2d t1 1 -// tCb texture float4 2d t2 1 -// tCr texture float4 2d t3 1 -// $Globals cbuffer NA NA cb0 1 -// -// -// -// Input signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// SV_Position 0 xyzw 0 POS float -// TEXCOORD 0 xy 1 NONE float xy -// -// -// Output signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// SV_Target 0 xyzw 0 TARGET float xyzw -// -// -// Constant buffer to DX9 shader constant mappings: -// -// Target Reg Buffer Start Reg # of Regs Data Conversion -// ---------- ------- --------- --------- ---------------------- -// c0 cb0 1 1 ( FLT, FLT, FLT, FLT) -// -// -// Sampler/Resource to DX9 shader sampler mappings: -// -// Target Sampler Source Sampler Source Resource -// -------------- --------------- ---------------- -// s0 s0 t1 -// s1 s0 t2 -// s2 s0 t3 -// -// -// Level9 shader bytecode: -// - ps_2_x - def c1, -0.50195998, -0.0627499968, 1.59603, 0.812969983 - def c2, 1.16437995, 2.01723003, 0.391759992, 1 - dcl t0.xy - dcl_2d s0 - dcl_2d s1 - dcl_2d s2 - texld r0, t0, s0 - texld r1, t0, s2 - add r0.y, r1.x, c1.x - mul r0.yz, r0.y, c1.xzww - add r0.x, r0.x, c1.y - mad r0.z, r0.x, c2.x, -r0.z - mad r1.x, r0.x, c2.x, r0.y - texld r2, t0, s1 - add r0.y, r2.x, c1.x - mad r1.y, r0.y, -c2.z, r0.z - mul r0.y, r0.y, c2.y - mad r1.z, r0.x, c2.x, r0.y - mov r1.w, c2.w - mul r0, r1, c0.x - mov oC0, r0 - -// approximately 15 instruction slots used (3 texture, 12 arithmetic) -ps_4_0 -dcl_constantbuffer CB0[2], immediateIndexed -dcl_sampler s0, mode_default -dcl_resource_texture2d (float,float,float,float) t1 -dcl_resource_texture2d (float,float,float,float) t2 -dcl_resource_texture2d (float,float,float,float) t3 -dcl_input_ps linear v1.xy -dcl_output o0.xyzw -dcl_temps 3 -sample r0.xyzw, v1.xyxx, t3.xyzw, s0 -add r0.x, r0.x, l(-0.501960) -mul r0.xy, r0.xxxx, l(1.596030, 0.812970, 0.000000, 0.000000) -sample r1.xyzw, v1.xyxx, t1.xyzw, s0 -add r0.z, r1.x, l(-0.062750) -mad r0.y, r0.z, l(1.164380), -r0.y -mad r1.x, r0.z, l(1.164380), r0.x -sample r2.xyzw, v1.xyxx, t2.xyzw, s0 -add r0.x, r2.x, l(-0.501960) -mad r1.y, -r0.x, l(0.391760), r0.y -mul r0.x, r0.x, l(2.017230) -mad r1.z, r0.z, l(1.164380), r0.x -mov r1.w, l(1.000000) -mul o0.xyzw, r1.xyzw, cb0[1].xxxx -ret -// Approximately 15 instruction slots used -#endif - -const BYTE YCbCrShader[] = -{ - 68, 88, 66, 67, 38, 102, - 184, 10, 33, 16, 211, 116, - 233, 219, 255, 155, 108, 20, - 81, 243, 1, 0, 0, 0, - 56, 8, 0, 0, 6, 0, - 0, 0, 56, 0, 0, 0, - 220, 1, 0, 0, 44, 4, - 0, 0, 168, 4, 0, 0, - 172, 7, 0, 0, 4, 8, - 0, 0, 65, 111, 110, 57, - 156, 1, 0, 0, 156, 1, - 0, 0, 0, 2, 255, 255, - 96, 1, 0, 0, 60, 0, - 0, 0, 1, 0, 48, 0, - 0, 0, 60, 0, 0, 0, - 60, 0, 3, 0, 36, 0, - 0, 0, 60, 0, 1, 0, - 0, 0, 2, 0, 1, 0, - 3, 0, 2, 0, 0, 0, - 1, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 1, 2, - 255, 255, 81, 0, 0, 5, - 1, 0, 15, 160, 115, 128, - 0, 191, 18, 131, 128, 189, - 182, 74, 204, 63, 205, 30, - 80, 63, 81, 0, 0, 5, - 2, 0, 15, 160, 103, 10, - 149, 63, 76, 26, 1, 64, - 196, 148, 200, 62, 0, 0, - 128, 63, 31, 0, 0, 2, - 0, 0, 0, 128, 0, 0, - 3, 176, 31, 0, 0, 2, - 0, 0, 0, 144, 0, 8, - 15, 160, 31, 0, 0, 2, - 0, 0, 0, 144, 1, 8, - 15, 160, 31, 0, 0, 2, - 0, 0, 0, 144, 2, 8, - 15, 160, 66, 0, 0, 3, - 0, 0, 15, 128, 0, 0, - 228, 176, 0, 8, 228, 160, - 66, 0, 0, 3, 1, 0, - 15, 128, 0, 0, 228, 176, - 2, 8, 228, 160, 2, 0, - 0, 3, 0, 0, 2, 128, - 1, 0, 0, 128, 1, 0, - 0, 160, 5, 0, 0, 3, - 0, 0, 6, 128, 0, 0, - 85, 128, 1, 0, 248, 160, - 2, 0, 0, 3, 0, 0, - 1, 128, 0, 0, 0, 128, - 1, 0, 85, 160, 4, 0, - 0, 4, 0, 0, 4, 128, - 0, 0, 0, 128, 2, 0, - 0, 160, 0, 0, 170, 129, - 4, 0, 0, 4, 1, 0, - 1, 128, 0, 0, 0, 128, - 2, 0, 0, 160, 0, 0, - 85, 128, 66, 0, 0, 3, - 2, 0, 15, 128, 0, 0, - 228, 176, 1, 8, 228, 160, - 2, 0, 0, 3, 0, 0, - 2, 128, 2, 0, 0, 128, - 1, 0, 0, 160, 4, 0, - 0, 4, 1, 0, 2, 128, - 0, 0, 85, 128, 2, 0, - 170, 161, 0, 0, 170, 128, - 5, 0, 0, 3, 0, 0, - 2, 128, 0, 0, 85, 128, - 2, 0, 85, 160, 4, 0, - 0, 4, 1, 0, 4, 128, - 0, 0, 0, 128, 2, 0, - 0, 160, 0, 0, 85, 128, - 1, 0, 0, 2, 1, 0, - 8, 128, 2, 0, 255, 160, - 5, 0, 0, 3, 0, 0, - 15, 128, 1, 0, 228, 128, - 0, 0, 0, 160, 1, 0, - 0, 2, 0, 8, 15, 128, - 0, 0, 228, 128, 255, 255, - 0, 0, 83, 72, 68, 82, - 72, 2, 0, 0, 64, 0, - 0, 0, 146, 0, 0, 0, - 89, 0, 0, 4, 70, 142, - 32, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 90, 0, - 0, 3, 0, 96, 16, 0, - 0, 0, 0, 0, 88, 24, - 0, 4, 0, 112, 16, 0, - 1, 0, 0, 0, 85, 85, - 0, 0, 88, 24, 0, 4, - 0, 112, 16, 0, 2, 0, - 0, 0, 85, 85, 0, 0, - 88, 24, 0, 4, 0, 112, - 16, 0, 3, 0, 0, 0, - 85, 85, 0, 0, 98, 16, - 0, 3, 50, 16, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 104, 0, - 0, 2, 3, 0, 0, 0, - 69, 0, 0, 9, 242, 0, - 16, 0, 0, 0, 0, 0, - 70, 16, 16, 0, 1, 0, - 0, 0, 70, 126, 16, 0, - 3, 0, 0, 0, 0, 96, - 16, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 18, 0, - 16, 0, 0, 0, 0, 0, - 10, 0, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 115, 128, 0, 191, 56, 0, - 0, 10, 50, 0, 16, 0, - 0, 0, 0, 0, 6, 0, - 16, 0, 0, 0, 0, 0, - 2, 64, 0, 0, 182, 74, - 204, 63, 205, 30, 80, 63, - 0, 0, 0, 0, 0, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 1, 0, - 0, 0, 70, 16, 16, 0, - 1, 0, 0, 0, 70, 126, - 16, 0, 1, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 0, 0, 0, 7, - 66, 0, 16, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 1, 0, 0, 0, 1, 64, - 0, 0, 18, 131, 128, 189, - 50, 0, 0, 10, 34, 0, - 16, 0, 0, 0, 0, 0, - 42, 0, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 103, 10, 149, 63, 26, 0, - 16, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 50, 0, - 0, 9, 18, 0, 16, 0, - 1, 0, 0, 0, 42, 0, - 16, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 103, 10, - 149, 63, 10, 0, 16, 0, - 0, 0, 0, 0, 69, 0, - 0, 9, 242, 0, 16, 0, - 2, 0, 0, 0, 70, 16, - 16, 0, 1, 0, 0, 0, - 70, 126, 16, 0, 2, 0, - 0, 0, 0, 96, 16, 0, - 0, 0, 0, 0, 0, 0, - 0, 7, 18, 0, 16, 0, - 0, 0, 0, 0, 10, 0, - 16, 0, 2, 0, 0, 0, - 1, 64, 0, 0, 115, 128, - 0, 191, 50, 0, 0, 10, - 34, 0, 16, 0, 1, 0, - 0, 0, 10, 0, 16, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 196, 148, 200, 62, 26, 0, - 16, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 18, 0, - 16, 0, 0, 0, 0, 0, - 10, 0, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 76, 26, 1, 64, 50, 0, - 0, 9, 66, 0, 16, 0, - 1, 0, 0, 0, 42, 0, - 16, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 103, 10, - 149, 63, 10, 0, 16, 0, - 0, 0, 0, 0, 54, 0, - 0, 5, 130, 0, 16, 0, - 1, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 128, 63, - 56, 0, 0, 8, 242, 32, - 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 1, 0, - 0, 0, 6, 128, 32, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 62, 0, 0, 1, - 83, 84, 65, 84, 116, 0, - 0, 0, 15, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 10, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 68, - 69, 70, 252, 2, 0, 0, - 1, 0, 0, 0, 220, 0, - 0, 0, 5, 0, 0, 0, - 28, 0, 0, 0, 0, 4, - 255, 255, 0, 1, 0, 0, - 200, 2, 0, 0, 188, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 1, 0, 0, 0, - 197, 0, 0, 0, 2, 0, - 0, 0, 5, 0, 0, 0, - 4, 0, 0, 0, 255, 255, - 255, 255, 1, 0, 0, 0, - 1, 0, 0, 0, 13, 0, - 0, 0, 200, 0, 0, 0, - 2, 0, 0, 0, 5, 0, - 0, 0, 4, 0, 0, 0, - 255, 255, 255, 255, 2, 0, - 0, 0, 1, 0, 0, 0, - 13, 0, 0, 0, 204, 0, - 0, 0, 2, 0, 0, 0, - 5, 0, 0, 0, 4, 0, - 0, 0, 255, 255, 255, 255, - 3, 0, 0, 0, 1, 0, - 0, 0, 13, 0, 0, 0, - 208, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 115, 83, 97, 109, - 112, 108, 101, 114, 0, 116, - 89, 0, 116, 67, 98, 0, - 116, 67, 114, 0, 36, 71, - 108, 111, 98, 97, 108, 115, - 0, 171, 171, 171, 208, 0, - 0, 0, 10, 0, 0, 0, - 244, 0, 0, 0, 48, 1, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 228, 1, - 0, 0, 0, 0, 0, 0, - 16, 0, 0, 0, 0, 0, - 0, 0, 240, 1, 0, 0, - 0, 0, 0, 0, 0, 2, - 0, 0, 16, 0, 0, 0, - 4, 0, 0, 0, 2, 0, - 0, 0, 16, 2, 0, 0, - 0, 0, 0, 0, 32, 2, - 0, 0, 32, 0, 0, 0, - 16, 0, 0, 0, 0, 0, - 0, 0, 48, 2, 0, 0, - 0, 0, 0, 0, 64, 2, - 0, 0, 48, 0, 0, 0, - 64, 0, 0, 0, 0, 0, - 0, 0, 80, 2, 0, 0, - 0, 0, 0, 0, 96, 2, - 0, 0, 112, 0, 0, 0, - 64, 0, 0, 0, 0, 0, - 0, 0, 80, 2, 0, 0, - 0, 0, 0, 0, 108, 2, - 0, 0, 176, 0, 0, 0, - 16, 0, 0, 0, 0, 0, - 0, 0, 240, 1, 0, 0, - 0, 0, 0, 0, 128, 2, - 0, 0, 192, 0, 0, 0, - 16, 0, 0, 0, 0, 0, - 0, 0, 144, 2, 0, 0, - 0, 0, 0, 0, 160, 2, - 0, 0, 208, 0, 0, 0, - 16, 0, 0, 0, 0, 0, - 0, 0, 144, 2, 0, 0, - 0, 0, 0, 0, 171, 2, - 0, 0, 224, 0, 0, 0, - 16, 0, 0, 0, 0, 0, - 0, 0, 144, 2, 0, 0, - 0, 0, 0, 0, 181, 2, - 0, 0, 240, 0, 0, 0, - 64, 0, 0, 0, 0, 0, - 0, 0, 80, 2, 0, 0, - 0, 0, 0, 0, 102, 76, - 97, 121, 101, 114, 67, 111, - 108, 111, 114, 0, 1, 0, - 3, 0, 1, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 102, 76, 97, 121, - 101, 114, 79, 112, 97, 99, - 105, 116, 121, 0, 171, 171, - 0, 0, 3, 0, 1, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 105, 66, - 108, 101, 110, 100, 67, 111, - 110, 102, 105, 103, 0, 171, - 171, 171, 1, 0, 19, 0, - 1, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 109, 76, 97, 121, 101, 114, - 84, 114, 97, 110, 115, 102, - 111, 114, 109, 0, 3, 0, - 3, 0, 4, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 109, 80, 114, 111, - 106, 101, 99, 116, 105, 111, - 110, 0, 118, 82, 101, 110, - 100, 101, 114, 84, 97, 114, - 103, 101, 116, 79, 102, 102, - 115, 101, 116, 0, 118, 84, - 101, 120, 116, 117, 114, 101, - 67, 111, 111, 114, 100, 115, - 0, 171, 1, 0, 3, 0, - 1, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 118, 76, 97, 121, 101, 114, - 81, 117, 97, 100, 0, 118, - 77, 97, 115, 107, 81, 117, - 97, 100, 0, 109, 66, 97, - 99, 107, 100, 114, 111, 112, - 84, 114, 97, 110, 115, 102, - 111, 114, 109, 0, 77, 105, - 99, 114, 111, 115, 111, 102, - 116, 32, 40, 82, 41, 32, - 72, 76, 83, 76, 32, 83, - 104, 97, 100, 101, 114, 32, - 67, 111, 109, 112, 105, 108, - 101, 114, 32, 49, 48, 46, - 48, 46, 49, 48, 48, 49, - 49, 46, 49, 54, 51, 56, - 52, 0, 73, 83, 71, 78, - 80, 0, 0, 0, 2, 0, - 0, 0, 8, 0, 0, 0, - 56, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 68, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 3, 3, 0, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 171, 171, 171, - 79, 83, 71, 78, 44, 0, - 0, 0, 1, 0, 0, 0, - 8, 0, 0, 0, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 83, 86, - 95, 84, 97, 114, 103, 101, - 116, 0, 171, 171 -}; +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer $Globals +// { +// +// float4 fLayerColor; // Offset: 0 Size: 16 [unused] +// float fLayerOpacity; // Offset: 16 Size: 4 +// uint4 iBlendConfig; // Offset: 32 Size: 16 [unused] +// row_major float3x3 mYuvColorMatrix;// Offset: 48 Size: 44 +// float4x4 mLayerTransform; // Offset: 96 Size: 64 [unused] +// float4x4 mProjection; // Offset: 160 Size: 64 [unused] +// float4 vRenderTargetOffset; // Offset: 224 Size: 16 [unused] +// float4 vTextureCoords; // Offset: 240 Size: 16 [unused] +// float4 vLayerQuad; // Offset: 256 Size: 16 [unused] +// float4 vMaskQuad; // Offset: 272 Size: 16 [unused] +// float4x4 mBackdropTransform; // Offset: 288 Size: 64 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim HLSL Bind Count +// ------------------------------ ---------- ------- ----------- -------------- ------ +// sSampler sampler NA NA s0 1 +// tY texture float4 2d t1 1 +// tCb texture float4 2d t2 1 +// tCr texture float4 2d t3 1 +// $Globals cbuffer NA NA cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Position 0 xyzw 0 POS float +// TEXCOORD 0 xy 1 NONE float xy +// +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Target 0 xyzw 0 TARGET float xyzw +// +// +// Constant buffer to DX9 shader constant mappings: +// +// Target Reg Buffer Start Reg # of Regs Data Conversion +// ---------- ------- --------- --------- ---------------------- +// c0 cb0 1 1 ( FLT, FLT, FLT, FLT) +// c1 cb0 3 3 ( FLT, FLT, FLT, FLT) +// +// +// Sampler/Resource to DX9 shader sampler mappings: +// +// Target Sampler Source Sampler Source Resource +// -------------- --------------- ---------------- +// s0 s0 t1 +// s1 s0 t2 +// s2 s0 t3 +// +// +// Level9 shader bytecode: +// + ps_2_x + def c4, -0.0627499968, -0.50195998, 1, 0 + dcl t0.xy + dcl_2d s0 + dcl_2d s1 + dcl_2d s2 + mov r0.w, c4.z + texld r1, t0, s1 + texld r2, t0, s0 + add r2.x, r2.x, c4.x + add r2.y, r1.x, c4.y + texld r1, t0, s2 + add r2.z, r1.x, c4.y + dp3 r0.x, c1, r2 + dp3 r0.y, c2, r2 + dp3 r0.z, c3, r2 + mul r0, r0, c0.x + mov oC0, r0 + +// approximately 12 instruction slots used (3 texture, 9 arithmetic) +ps_4_0 +dcl_constantbuffer CB0[6], immediateIndexed +dcl_sampler s0, mode_default +dcl_resource_texture2d (float,float,float,float) t1 +dcl_resource_texture2d (float,float,float,float) t2 +dcl_resource_texture2d (float,float,float,float) t3 +dcl_input_ps linear v1.xy +dcl_output o0.xyzw +dcl_temps 3 +mov r0.w, l(1.000000) +sample r1.xyzw, v1.xyxx, t1.xyzw, s0 +add r1.x, r1.x, l(-0.062750) +sample r2.xyzw, v1.xyxx, t2.xyzw, s0 +add r1.y, r2.x, l(-0.501960) +sample r2.xyzw, v1.xyxx, t3.xyzw, s0 +add r1.z, r2.x, l(-0.501960) +dp3 r0.x, cb0[3].xyzx, r1.xyzx +dp3 r0.y, cb0[4].xyzx, r1.xyzx +dp3 r0.z, cb0[5].xyzx, r1.xyzx +mul o0.xyzw, r0.xyzw, cb0[1].xxxx +ret +// Approximately 12 instruction slots used +#endif + +const BYTE YCbCrShader[] = +{ + 68, 88, 66, 67, 56, 199, + 91, 5, 215, 233, 204, 14, + 193, 166, 163, 11, 246, 123, + 165, 88, 1, 0, 0, 0, + 156, 7, 0, 0, 6, 0, + 0, 0, 56, 0, 0, 0, + 144, 1, 0, 0, 100, 3, + 0, 0, 224, 3, 0, 0, + 16, 7, 0, 0, 104, 7, + 0, 0, 65, 111, 110, 57, + 80, 1, 0, 0, 80, 1, + 0, 0, 0, 2, 255, 255, + 8, 1, 0, 0, 72, 0, + 0, 0, 2, 0, 48, 0, + 0, 0, 72, 0, 0, 0, + 72, 0, 3, 0, 36, 0, + 0, 0, 72, 0, 1, 0, + 0, 0, 2, 0, 1, 0, + 3, 0, 2, 0, 0, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 1, 2, + 255, 255, 81, 0, 0, 5, + 4, 0, 15, 160, 18, 131, + 128, 189, 115, 128, 0, 191, + 0, 0, 128, 63, 0, 0, + 0, 0, 31, 0, 0, 2, + 0, 0, 0, 128, 0, 0, + 3, 176, 31, 0, 0, 2, + 0, 0, 0, 144, 0, 8, + 15, 160, 31, 0, 0, 2, + 0, 0, 0, 144, 1, 8, + 15, 160, 31, 0, 0, 2, + 0, 0, 0, 144, 2, 8, + 15, 160, 1, 0, 0, 2, + 0, 0, 8, 128, 4, 0, + 170, 160, 66, 0, 0, 3, + 1, 0, 15, 128, 0, 0, + 228, 176, 1, 8, 228, 160, + 66, 0, 0, 3, 2, 0, + 15, 128, 0, 0, 228, 176, + 0, 8, 228, 160, 2, 0, + 0, 3, 2, 0, 1, 128, + 2, 0, 0, 128, 4, 0, + 0, 160, 2, 0, 0, 3, + 2, 0, 2, 128, 1, 0, + 0, 128, 4, 0, 85, 160, + 66, 0, 0, 3, 1, 0, + 15, 128, 0, 0, 228, 176, + 2, 8, 228, 160, 2, 0, + 0, 3, 2, 0, 4, 128, + 1, 0, 0, 128, 4, 0, + 85, 160, 8, 0, 0, 3, + 0, 0, 1, 128, 1, 0, + 228, 160, 2, 0, 228, 128, + 8, 0, 0, 3, 0, 0, + 2, 128, 2, 0, 228, 160, + 2, 0, 228, 128, 8, 0, + 0, 3, 0, 0, 4, 128, + 3, 0, 228, 160, 2, 0, + 228, 128, 5, 0, 0, 3, + 0, 0, 15, 128, 0, 0, + 228, 128, 0, 0, 0, 160, + 1, 0, 0, 2, 0, 8, + 15, 128, 0, 0, 228, 128, + 255, 255, 0, 0, 83, 72, + 68, 82, 204, 1, 0, 0, + 64, 0, 0, 0, 115, 0, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 90, 0, 0, 3, 0, 96, + 16, 0, 0, 0, 0, 0, + 88, 24, 0, 4, 0, 112, + 16, 0, 1, 0, 0, 0, + 85, 85, 0, 0, 88, 24, + 0, 4, 0, 112, 16, 0, + 2, 0, 0, 0, 85, 85, + 0, 0, 88, 24, 0, 4, + 0, 112, 16, 0, 3, 0, + 0, 0, 85, 85, 0, 0, + 98, 16, 0, 3, 50, 16, + 16, 0, 1, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 0, 0, 0, 0, + 104, 0, 0, 2, 3, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 128, 63, 69, 0, + 0, 9, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 16, + 16, 0, 1, 0, 0, 0, + 70, 126, 16, 0, 1, 0, + 0, 0, 0, 96, 16, 0, + 0, 0, 0, 0, 0, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 18, 131, + 128, 189, 69, 0, 0, 9, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 16, 16, 0, + 1, 0, 0, 0, 70, 126, + 16, 0, 2, 0, 0, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 0, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 115, 128, 0, 191, + 69, 0, 0, 9, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 16, 16, 0, 1, 0, + 0, 0, 70, 126, 16, 0, + 3, 0, 0, 0, 0, 96, + 16, 0, 0, 0, 0, 0, + 0, 0, 0, 7, 66, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 115, 128, 0, 191, 16, 0, + 0, 8, 18, 0, 16, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 16, 0, 0, 8, 34, 0, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 16, 0, 0, 8, + 66, 0, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 56, 0, + 0, 8, 242, 32, 16, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 0, 0, 0, 0, + 6, 128, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 62, 0, 0, 1, 83, 84, + 65, 84, 116, 0, 0, 0, + 12, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 7, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 82, 68, 69, 70, + 40, 3, 0, 0, 1, 0, + 0, 0, 220, 0, 0, 0, + 5, 0, 0, 0, 28, 0, + 0, 0, 0, 4, 255, 255, + 0, 1, 0, 0, 0, 3, + 0, 0, 188, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 197, 0, + 0, 0, 2, 0, 0, 0, + 5, 0, 0, 0, 4, 0, + 0, 0, 255, 255, 255, 255, + 1, 0, 0, 0, 1, 0, + 0, 0, 13, 0, 0, 0, + 200, 0, 0, 0, 2, 0, + 0, 0, 5, 0, 0, 0, + 4, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 0, 0, + 1, 0, 0, 0, 13, 0, + 0, 0, 204, 0, 0, 0, + 2, 0, 0, 0, 5, 0, + 0, 0, 4, 0, 0, 0, + 255, 255, 255, 255, 3, 0, + 0, 0, 1, 0, 0, 0, + 13, 0, 0, 0, 208, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 115, 83, 97, 109, 112, 108, + 101, 114, 0, 116, 89, 0, + 116, 67, 98, 0, 116, 67, + 114, 0, 36, 71, 108, 111, + 98, 97, 108, 115, 0, 171, + 171, 171, 208, 0, 0, 0, + 11, 0, 0, 0, 244, 0, + 0, 0, 96, 1, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 252, 1, 0, 0, + 0, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 8, 2, 0, 0, 0, 0, + 0, 0, 24, 2, 0, 0, + 16, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 40, 2, 0, 0, 0, 0, + 0, 0, 56, 2, 0, 0, + 32, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 72, 2, 0, 0, 0, 0, + 0, 0, 88, 2, 0, 0, + 48, 0, 0, 0, 44, 0, + 0, 0, 2, 0, 0, 0, + 104, 2, 0, 0, 0, 0, + 0, 0, 120, 2, 0, 0, + 96, 0, 0, 0, 64, 0, + 0, 0, 0, 0, 0, 0, + 136, 2, 0, 0, 0, 0, + 0, 0, 152, 2, 0, 0, + 160, 0, 0, 0, 64, 0, + 0, 0, 0, 0, 0, 0, + 136, 2, 0, 0, 0, 0, + 0, 0, 164, 2, 0, 0, + 224, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 8, 2, 0, 0, 0, 0, + 0, 0, 184, 2, 0, 0, + 240, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 200, 2, 0, 0, 0, 0, + 0, 0, 216, 2, 0, 0, + 0, 1, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 200, 2, 0, 0, 0, 0, + 0, 0, 227, 2, 0, 0, + 16, 1, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 200, 2, 0, 0, 0, 0, + 0, 0, 237, 2, 0, 0, + 32, 1, 0, 0, 64, 0, + 0, 0, 0, 0, 0, 0, + 136, 2, 0, 0, 0, 0, + 0, 0, 102, 76, 97, 121, + 101, 114, 67, 111, 108, 111, + 114, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 102, 76, 97, 121, 101, 114, + 79, 112, 97, 99, 105, 116, + 121, 0, 171, 171, 0, 0, + 3, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 105, 66, 108, 101, + 110, 100, 67, 111, 110, 102, + 105, 103, 0, 171, 171, 171, + 1, 0, 19, 0, 1, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 109, 89, + 117, 118, 67, 111, 108, 111, + 114, 77, 97, 116, 114, 105, + 120, 0, 2, 0, 3, 0, + 3, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 109, 76, 97, 121, 101, 114, + 84, 114, 97, 110, 115, 102, + 111, 114, 109, 0, 3, 0, + 3, 0, 4, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 109, 80, 114, 111, + 106, 101, 99, 116, 105, 111, + 110, 0, 118, 82, 101, 110, + 100, 101, 114, 84, 97, 114, + 103, 101, 116, 79, 102, 102, + 115, 101, 116, 0, 118, 84, + 101, 120, 116, 117, 114, 101, + 67, 111, 111, 114, 100, 115, + 0, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 118, 76, 97, 121, 101, 114, + 81, 117, 97, 100, 0, 118, + 77, 97, 115, 107, 81, 117, + 97, 100, 0, 109, 66, 97, + 99, 107, 100, 114, 111, 112, + 84, 114, 97, 110, 115, 102, + 111, 114, 109, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 73, 83, 71, 78, + 80, 0, 0, 0, 2, 0, + 0, 0, 8, 0, 0, 0, + 56, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 68, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 3, 3, 0, 0, + 83, 86, 95, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 171, 171, 171, + 79, 83, 71, 78, 44, 0, + 0, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 83, 86, + 95, 84, 97, 114, 103, 101, + 116, 0, 171, 171 +}; ShaderBytes sYCbCrShader = { YCbCrShader, sizeof(YCbCrShader) }; -#if 0 -// -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 -// -// -// Buffer Definitions: -// -// cbuffer $Globals -// { -// -// float4x4 mLayerTransform; // Offset: 0 Size: 64 -// float4x4 mProjection; // Offset: 64 Size: 64 -// float4 vRenderTargetOffset; // Offset: 128 Size: 16 -// float4 vTextureCoords; // Offset: 144 Size: 16 -// float4 vLayerQuad; // Offset: 160 Size: 16 -// float4 vMaskQuad; // Offset: 176 Size: 16 -// float4x4 mBackdropTransform; // Offset: 192 Size: 64 [unused] -// float4 fLayerColor; // Offset: 256 Size: 16 [unused] -// float fLayerOpacity; // Offset: 272 Size: 4 [unused] -// uint4 iBlendConfig; // Offset: 288 Size: 16 [unused] -// -// } -// -// -// Resource Bindings: -// -// Name Type Format Dim HLSL Bind Count -// ------------------------------ ---------- ------- ----------- -------------- ------ -// $Globals cbuffer NA NA cb0 1 -// -// -// -// Input signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// POSITION 0 xy 0 NONE float xy -// -// -// Output signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// SV_Position 0 xyzw 0 POS float xyzw -// TEXCOORD 0 xy 1 NONE float xy -// TEXCOORD 1 xyz 2 NONE float xyz -// -// -// Constant buffer to DX9 shader constant mappings: -// -// Target Reg Buffer Start Reg # of Regs Data Conversion -// ---------- ------- --------- --------- ---------------------- -// c1 cb0 0 2 ( FLT, FLT, FLT, FLT) -// c3 cb0 3 9 ( FLT, FLT, FLT, FLT) -// -// -// Runtime generated constant mappings: -// -// Target Reg Constant Description -// ---------- -------------------------------------------------- -// c0 Vertex Shader position offset -// -// -// Level9 shader bytecode: -// - vs_2_x - def c12, 1, 0, 0, 0 - dcl_texcoord v0 - mov r0.z, c12.x - rcp r0.w, c11.z - mad r1.xy, v0, c10.zwzw, c10 - mul r2, r1.y, c2 - mad r1, c1, r1.x, r2 - add r1, r1, c3 - add r2.xy, r1, -c11 - mul r0.x, r0.w, r2.x - rcp r0.w, c11.w - mul r0.y, r0.w, r2.y - mul oT1.xyz, r0, r1.w - mad oT0.xy, v0, c9.zwzw, c9 - rcp r0.x, r1.w - mul r1.xyz, r0.x, r1 - add r0, r1, -c8 - mul r0.xyz, r0.w, r0 - mul r1, r0.y, c5 - mad r1, c4, r0.x, r1 - mad r1, c6, r0.z, r1 - mad r0, c7, r0.w, r1 - mad oPos.xy, r0.w, c0, r0 - mov oPos.zw, r0 - -// approximately 22 instruction slots used -vs_4_0 -dcl_constantbuffer CB0[12], immediateIndexed -dcl_input v0.xy -dcl_output_siv o0.xyzw, position -dcl_output o1.xy -dcl_output o2.xyz -dcl_temps 4 -mad r0.xy, v0.xyxx, cb0[10].zwzz, cb0[10].xyxx -mul r1.xyzw, r0.yyyy, cb0[1].xyzw -mad r0.xyzw, cb0[0].xyzw, r0.xxxx, r1.xyzw -add r0.xyzw, r0.xyzw, cb0[3].xyzw -div r1.xyz, r0.xyzx, r0.wwww -mov r1.w, r0.w -add r2.xyzw, r1.xyzw, -cb0[8].xyzw -mul r1.xyz, r2.wwww, r2.xyzx -mul r3.xyzw, r1.yyyy, cb0[5].xyzw -mad r3.xyzw, cb0[4].xyzw, r1.xxxx, r3.xyzw -mad r3.xyzw, cb0[6].xyzw, r1.zzzz, r3.xyzw -mad o0.xyzw, cb0[7].xyzw, r2.wwww, r3.xyzw -mad o1.xy, v0.xyxx, cb0[9].zwzz, cb0[9].xyxx -add r0.xy, r0.xyxx, -cb0[11].xyxx -div r0.xy, r0.xyxx, cb0[11].zwzz -mov r0.z, l(1.000000) -mul o2.xyz, r1.wwww, r0.xyzx -ret -// Approximately 18 instruction slots used -#endif - -const BYTE LayerQuadMaskVS[] = -{ - 68, 88, 66, 67, 170, 122, - 113, 58, 123, 23, 243, 241, - 143, 157, 226, 223, 154, 53, - 167, 168, 1, 0, 0, 0, - 64, 8, 0, 0, 6, 0, - 0, 0, 56, 0, 0, 0, - 20, 2, 0, 0, 176, 4, - 0, 0, 44, 5, 0, 0, - 156, 7, 0, 0, 208, 7, - 0, 0, 65, 111, 110, 57, - 212, 1, 0, 0, 212, 1, - 0, 0, 0, 2, 254, 255, - 148, 1, 0, 0, 64, 0, - 0, 0, 2, 0, 36, 0, - 0, 0, 60, 0, 0, 0, - 60, 0, 0, 0, 36, 0, - 1, 0, 60, 0, 0, 0, - 0, 0, 2, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 9, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 2, 254, 255, - 81, 0, 0, 5, 12, 0, - 15, 160, 0, 0, 128, 63, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 31, 0, 0, 2, 5, 0, - 0, 128, 0, 0, 15, 144, - 1, 0, 0, 2, 0, 0, - 4, 128, 12, 0, 0, 160, - 6, 0, 0, 2, 0, 0, - 8, 128, 11, 0, 170, 160, - 4, 0, 0, 4, 1, 0, - 3, 128, 0, 0, 228, 144, - 10, 0, 238, 160, 10, 0, - 228, 160, 5, 0, 0, 3, - 2, 0, 15, 128, 1, 0, - 85, 128, 2, 0, 228, 160, - 4, 0, 0, 4, 1, 0, - 15, 128, 1, 0, 228, 160, - 1, 0, 0, 128, 2, 0, - 228, 128, 2, 0, 0, 3, - 1, 0, 15, 128, 1, 0, - 228, 128, 3, 0, 228, 160, - 2, 0, 0, 3, 2, 0, - 3, 128, 1, 0, 228, 128, - 11, 0, 228, 161, 5, 0, - 0, 3, 0, 0, 1, 128, - 0, 0, 255, 128, 2, 0, - 0, 128, 6, 0, 0, 2, - 0, 0, 8, 128, 11, 0, - 255, 160, 5, 0, 0, 3, - 0, 0, 2, 128, 0, 0, - 255, 128, 2, 0, 85, 128, - 5, 0, 0, 3, 1, 0, - 7, 224, 0, 0, 228, 128, - 1, 0, 255, 128, 4, 0, - 0, 4, 0, 0, 3, 224, - 0, 0, 228, 144, 9, 0, - 238, 160, 9, 0, 228, 160, - 6, 0, 0, 2, 0, 0, - 1, 128, 1, 0, 255, 128, - 5, 0, 0, 3, 1, 0, - 7, 128, 0, 0, 0, 128, - 1, 0, 228, 128, 2, 0, - 0, 3, 0, 0, 15, 128, - 1, 0, 228, 128, 8, 0, - 228, 161, 5, 0, 0, 3, - 0, 0, 7, 128, 0, 0, - 255, 128, 0, 0, 228, 128, - 5, 0, 0, 3, 1, 0, - 15, 128, 0, 0, 85, 128, - 5, 0, 228, 160, 4, 0, - 0, 4, 1, 0, 15, 128, - 4, 0, 228, 160, 0, 0, - 0, 128, 1, 0, 228, 128, - 4, 0, 0, 4, 1, 0, - 15, 128, 6, 0, 228, 160, - 0, 0, 170, 128, 1, 0, - 228, 128, 4, 0, 0, 4, - 0, 0, 15, 128, 7, 0, - 228, 160, 0, 0, 255, 128, - 1, 0, 228, 128, 4, 0, - 0, 4, 0, 0, 3, 192, - 0, 0, 255, 128, 0, 0, - 228, 160, 0, 0, 228, 128, - 1, 0, 0, 2, 0, 0, - 12, 192, 0, 0, 228, 128, - 255, 255, 0, 0, 83, 72, - 68, 82, 148, 2, 0, 0, - 64, 0, 1, 0, 165, 0, - 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 0, 0, - 0, 0, 12, 0, 0, 0, - 95, 0, 0, 3, 50, 16, - 16, 0, 0, 0, 0, 0, - 103, 0, 0, 4, 242, 32, - 16, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 50, 32, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 114, 32, 16, 0, - 2, 0, 0, 0, 104, 0, - 0, 2, 4, 0, 0, 0, - 50, 0, 0, 11, 50, 0, - 16, 0, 0, 0, 0, 0, - 70, 16, 16, 0, 0, 0, - 0, 0, 230, 138, 32, 0, - 0, 0, 0, 0, 10, 0, - 0, 0, 70, 128, 32, 0, - 0, 0, 0, 0, 10, 0, - 0, 0, 56, 0, 0, 8, - 242, 0, 16, 0, 1, 0, - 0, 0, 86, 5, 16, 0, - 0, 0, 0, 0, 70, 142, - 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 50, 0, - 0, 10, 242, 0, 16, 0, - 0, 0, 0, 0, 70, 142, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 6, 0, - 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 1, 0, - 0, 0, 0, 0, 0, 8, - 242, 0, 16, 0, 0, 0, - 0, 0, 70, 14, 16, 0, - 0, 0, 0, 0, 70, 142, - 32, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 14, 0, - 0, 7, 114, 0, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 54, 0, 0, 5, - 130, 0, 16, 0, 1, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 0, 9, 242, 0, 16, 0, - 2, 0, 0, 0, 70, 14, - 16, 0, 1, 0, 0, 0, - 70, 142, 32, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 8, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 1, 0, 0, 0, 246, 15, - 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 56, 0, 0, 8, - 242, 0, 16, 0, 3, 0, - 0, 0, 86, 5, 16, 0, - 1, 0, 0, 0, 70, 142, - 32, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 50, 0, - 0, 10, 242, 0, 16, 0, - 3, 0, 0, 0, 70, 142, - 32, 0, 0, 0, 0, 0, - 4, 0, 0, 0, 6, 0, - 16, 0, 1, 0, 0, 0, - 70, 14, 16, 0, 3, 0, - 0, 0, 50, 0, 0, 10, - 242, 0, 16, 0, 3, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 6, 0, - 0, 0, 166, 10, 16, 0, - 1, 0, 0, 0, 70, 14, - 16, 0, 3, 0, 0, 0, - 50, 0, 0, 10, 242, 32, - 16, 0, 0, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 7, 0, 0, 0, - 246, 15, 16, 0, 2, 0, - 0, 0, 70, 14, 16, 0, - 3, 0, 0, 0, 50, 0, - 0, 11, 50, 32, 16, 0, - 1, 0, 0, 0, 70, 16, - 16, 0, 0, 0, 0, 0, - 230, 138, 32, 0, 0, 0, - 0, 0, 9, 0, 0, 0, - 70, 128, 32, 0, 0, 0, - 0, 0, 9, 0, 0, 0, - 0, 0, 0, 9, 50, 0, - 16, 0, 0, 0, 0, 0, - 70, 0, 16, 0, 0, 0, - 0, 0, 70, 128, 32, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 11, 0, 0, 0, - 14, 0, 0, 8, 50, 0, - 16, 0, 0, 0, 0, 0, - 70, 0, 16, 0, 0, 0, - 0, 0, 230, 138, 32, 0, - 0, 0, 0, 0, 11, 0, - 0, 0, 54, 0, 0, 5, - 66, 0, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 128, 63, 56, 0, - 0, 7, 114, 32, 16, 0, - 2, 0, 0, 0, 246, 15, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 62, 0, 0, 1, - 83, 84, 65, 84, 116, 0, - 0, 0, 18, 0, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 4, 0, 0, 0, - 15, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 68, - 69, 70, 104, 2, 0, 0, - 1, 0, 0, 0, 72, 0, - 0, 0, 1, 0, 0, 0, - 28, 0, 0, 0, 0, 4, - 254, 255, 0, 1, 0, 0, - 52, 2, 0, 0, 60, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 36, 71, 108, 111, 98, 97, - 108, 115, 0, 171, 171, 171, - 60, 0, 0, 0, 10, 0, - 0, 0, 96, 0, 0, 0, - 48, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 80, 1, 0, 0, 0, 0, - 0, 0, 64, 0, 0, 0, - 2, 0, 0, 0, 96, 1, - 0, 0, 0, 0, 0, 0, - 112, 1, 0, 0, 64, 0, - 0, 0, 64, 0, 0, 0, - 2, 0, 0, 0, 96, 1, - 0, 0, 0, 0, 0, 0, - 124, 1, 0, 0, 128, 0, - 0, 0, 16, 0, 0, 0, - 2, 0, 0, 0, 144, 1, - 0, 0, 0, 0, 0, 0, - 160, 1, 0, 0, 144, 0, - 0, 0, 16, 0, 0, 0, - 2, 0, 0, 0, 176, 1, - 0, 0, 0, 0, 0, 0, - 192, 1, 0, 0, 160, 0, - 0, 0, 16, 0, 0, 0, - 2, 0, 0, 0, 176, 1, - 0, 0, 0, 0, 0, 0, - 203, 1, 0, 0, 176, 0, - 0, 0, 16, 0, 0, 0, - 2, 0, 0, 0, 176, 1, - 0, 0, 0, 0, 0, 0, - 213, 1, 0, 0, 192, 0, - 0, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 96, 1, - 0, 0, 0, 0, 0, 0, - 232, 1, 0, 0, 0, 1, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 144, 1, - 0, 0, 0, 0, 0, 0, - 244, 1, 0, 0, 16, 1, - 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 4, 2, - 0, 0, 0, 0, 0, 0, - 20, 2, 0, 0, 32, 1, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 36, 2, - 0, 0, 0, 0, 0, 0, - 109, 76, 97, 121, 101, 114, - 84, 114, 97, 110, 115, 102, - 111, 114, 109, 0, 3, 0, - 3, 0, 4, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 109, 80, 114, 111, - 106, 101, 99, 116, 105, 111, - 110, 0, 118, 82, 101, 110, - 100, 101, 114, 84, 97, 114, - 103, 101, 116, 79, 102, 102, - 115, 101, 116, 0, 1, 0, - 3, 0, 1, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 118, 84, 101, 120, - 116, 117, 114, 101, 67, 111, - 111, 114, 100, 115, 0, 171, - 1, 0, 3, 0, 1, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 118, 76, - 97, 121, 101, 114, 81, 117, - 97, 100, 0, 118, 77, 97, - 115, 107, 81, 117, 97, 100, - 0, 109, 66, 97, 99, 107, - 100, 114, 111, 112, 84, 114, - 97, 110, 115, 102, 111, 114, - 109, 0, 102, 76, 97, 121, - 101, 114, 67, 111, 108, 111, - 114, 0, 102, 76, 97, 121, - 101, 114, 79, 112, 97, 99, - 105, 116, 121, 0, 171, 171, - 0, 0, 3, 0, 1, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 105, 66, - 108, 101, 110, 100, 67, 111, - 110, 102, 105, 103, 0, 171, - 171, 171, 1, 0, 19, 0, - 1, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 77, 105, 99, 114, 111, 115, - 111, 102, 116, 32, 40, 82, - 41, 32, 72, 76, 83, 76, - 32, 83, 104, 97, 100, 101, - 114, 32, 67, 111, 109, 112, - 105, 108, 101, 114, 32, 49, - 48, 46, 48, 46, 49, 48, - 48, 49, 49, 46, 49, 54, - 51, 56, 52, 0, 73, 83, - 71, 78, 44, 0, 0, 0, - 1, 0, 0, 0, 8, 0, - 0, 0, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 3, 3, - 0, 0, 80, 79, 83, 73, - 84, 73, 79, 78, 0, 171, - 171, 171, 79, 83, 71, 78, - 104, 0, 0, 0, 3, 0, - 0, 0, 8, 0, 0, 0, - 80, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 92, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 3, 12, 0, 0, - 92, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 7, 8, 0, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 171, 171, 171 -}; +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer $Globals +// { +// +// float4x4 mLayerTransform; // Offset: 0 Size: 64 +// float4x4 mProjection; // Offset: 64 Size: 64 +// float4 vRenderTargetOffset; // Offset: 128 Size: 16 +// float4 vTextureCoords; // Offset: 144 Size: 16 +// float4 vLayerQuad; // Offset: 160 Size: 16 +// float4 vMaskQuad; // Offset: 176 Size: 16 +// float4x4 mBackdropTransform; // Offset: 192 Size: 64 [unused] +// float4 fLayerColor; // Offset: 256 Size: 16 [unused] +// float fLayerOpacity; // Offset: 272 Size: 4 [unused] +// uint4 iBlendConfig; // Offset: 288 Size: 16 [unused] +// row_major float3x3 mYuvColorMatrix;// Offset: 304 Size: 44 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim HLSL Bind Count +// ------------------------------ ---------- ------- ----------- -------------- ------ +// $Globals cbuffer NA NA cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// POSITION 0 xy 0 NONE float xy +// +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Position 0 xyzw 0 POS float xyzw +// TEXCOORD 0 xy 1 NONE float xy +// TEXCOORD 1 xyz 2 NONE float xyz +// +// +// Constant buffer to DX9 shader constant mappings: +// +// Target Reg Buffer Start Reg # of Regs Data Conversion +// ---------- ------- --------- --------- ---------------------- +// c1 cb0 0 2 ( FLT, FLT, FLT, FLT) +// c3 cb0 3 9 ( FLT, FLT, FLT, FLT) +// +// +// Runtime generated constant mappings: +// +// Target Reg Constant Description +// ---------- -------------------------------------------------- +// c0 Vertex Shader position offset +// +// +// Level9 shader bytecode: +// + vs_2_x + def c12, 1, 0, 0, 0 + dcl_texcoord v0 + mov r0.z, c12.x + rcp r0.w, c11.z + mad r1.xy, v0, c10.zwzw, c10 + mul r2, r1.y, c2 + mad r1, c1, r1.x, r2 + add r1, r1, c3 + add r2.xy, r1, -c11 + mul r0.x, r0.w, r2.x + rcp r0.w, c11.w + mul r0.y, r0.w, r2.y + mul oT1.xyz, r0, r1.w + mad oT0.xy, v0, c9.zwzw, c9 + rcp r0.x, r1.w + mul r1.xyz, r0.x, r1 + add r0, r1, -c8 + mul r0.xyz, r0.w, r0 + mul r1, r0.y, c5 + mad r1, c4, r0.x, r1 + mad r1, c6, r0.z, r1 + mad r0, c7, r0.w, r1 + mad oPos.xy, r0.w, c0, r0 + mov oPos.zw, r0 + +// approximately 22 instruction slots used +vs_4_0 +dcl_constantbuffer CB0[12], immediateIndexed +dcl_input v0.xy +dcl_output_siv o0.xyzw, position +dcl_output o1.xy +dcl_output o2.xyz +dcl_temps 4 +mad r0.xy, v0.xyxx, cb0[10].zwzz, cb0[10].xyxx +mul r1.xyzw, r0.yyyy, cb0[1].xyzw +mad r0.xyzw, cb0[0].xyzw, r0.xxxx, r1.xyzw +add r0.xyzw, r0.xyzw, cb0[3].xyzw +div r1.xyz, r0.xyzx, r0.wwww +mov r1.w, r0.w +add r2.xyzw, r1.xyzw, -cb0[8].xyzw +mul r1.xyz, r2.wwww, r2.xyzx +mul r3.xyzw, r1.yyyy, cb0[5].xyzw +mad r3.xyzw, cb0[4].xyzw, r1.xxxx, r3.xyzw +mad r3.xyzw, cb0[6].xyzw, r1.zzzz, r3.xyzw +mad o0.xyzw, cb0[7].xyzw, r2.wwww, r3.xyzw +mad o1.xy, v0.xyxx, cb0[9].zwzz, cb0[9].xyxx +add r0.xy, r0.xyxx, -cb0[11].xyxx +div r0.xy, r0.xyxx, cb0[11].zwzz +mov r0.z, l(1.000000) +mul o2.xyz, r1.wwww, r0.xyzx +ret +// Approximately 18 instruction slots used +#endif + +const BYTE LayerQuadMaskVS[] = +{ + 68, 88, 66, 67, 47, 28, + 196, 228, 98, 79, 27, 152, + 192, 25, 215, 128, 59, 234, + 245, 240, 1, 0, 0, 0, + 108, 8, 0, 0, 6, 0, + 0, 0, 56, 0, 0, 0, + 20, 2, 0, 0, 176, 4, + 0, 0, 44, 5, 0, 0, + 200, 7, 0, 0, 252, 7, + 0, 0, 65, 111, 110, 57, + 212, 1, 0, 0, 212, 1, + 0, 0, 0, 2, 254, 255, + 148, 1, 0, 0, 64, 0, + 0, 0, 2, 0, 36, 0, + 0, 0, 60, 0, 0, 0, + 60, 0, 0, 0, 36, 0, + 1, 0, 60, 0, 0, 0, + 0, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 9, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 2, 254, 255, + 81, 0, 0, 5, 12, 0, + 15, 160, 0, 0, 128, 63, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 0, 2, 5, 0, + 0, 128, 0, 0, 15, 144, + 1, 0, 0, 2, 0, 0, + 4, 128, 12, 0, 0, 160, + 6, 0, 0, 2, 0, 0, + 8, 128, 11, 0, 170, 160, + 4, 0, 0, 4, 1, 0, + 3, 128, 0, 0, 228, 144, + 10, 0, 238, 160, 10, 0, + 228, 160, 5, 0, 0, 3, + 2, 0, 15, 128, 1, 0, + 85, 128, 2, 0, 228, 160, + 4, 0, 0, 4, 1, 0, + 15, 128, 1, 0, 228, 160, + 1, 0, 0, 128, 2, 0, + 228, 128, 2, 0, 0, 3, + 1, 0, 15, 128, 1, 0, + 228, 128, 3, 0, 228, 160, + 2, 0, 0, 3, 2, 0, + 3, 128, 1, 0, 228, 128, + 11, 0, 228, 161, 5, 0, + 0, 3, 0, 0, 1, 128, + 0, 0, 255, 128, 2, 0, + 0, 128, 6, 0, 0, 2, + 0, 0, 8, 128, 11, 0, + 255, 160, 5, 0, 0, 3, + 0, 0, 2, 128, 0, 0, + 255, 128, 2, 0, 85, 128, + 5, 0, 0, 3, 1, 0, + 7, 224, 0, 0, 228, 128, + 1, 0, 255, 128, 4, 0, + 0, 4, 0, 0, 3, 224, + 0, 0, 228, 144, 9, 0, + 238, 160, 9, 0, 228, 160, + 6, 0, 0, 2, 0, 0, + 1, 128, 1, 0, 255, 128, + 5, 0, 0, 3, 1, 0, + 7, 128, 0, 0, 0, 128, + 1, 0, 228, 128, 2, 0, + 0, 3, 0, 0, 15, 128, + 1, 0, 228, 128, 8, 0, + 228, 161, 5, 0, 0, 3, + 0, 0, 7, 128, 0, 0, + 255, 128, 0, 0, 228, 128, + 5, 0, 0, 3, 1, 0, + 15, 128, 0, 0, 85, 128, + 5, 0, 228, 160, 4, 0, + 0, 4, 1, 0, 15, 128, + 4, 0, 228, 160, 0, 0, + 0, 128, 1, 0, 228, 128, + 4, 0, 0, 4, 1, 0, + 15, 128, 6, 0, 228, 160, + 0, 0, 170, 128, 1, 0, + 228, 128, 4, 0, 0, 4, + 0, 0, 15, 128, 7, 0, + 228, 160, 0, 0, 255, 128, + 1, 0, 228, 128, 4, 0, + 0, 4, 0, 0, 3, 192, + 0, 0, 255, 128, 0, 0, + 228, 160, 0, 0, 228, 128, + 1, 0, 0, 2, 0, 0, + 12, 192, 0, 0, 228, 128, + 255, 255, 0, 0, 83, 72, + 68, 82, 148, 2, 0, 0, + 64, 0, 1, 0, 165, 0, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 12, 0, 0, 0, + 95, 0, 0, 3, 50, 16, + 16, 0, 0, 0, 0, 0, + 103, 0, 0, 4, 242, 32, + 16, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 50, 32, 16, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 114, 32, 16, 0, + 2, 0, 0, 0, 104, 0, + 0, 2, 4, 0, 0, 0, + 50, 0, 0, 11, 50, 0, + 16, 0, 0, 0, 0, 0, + 70, 16, 16, 0, 0, 0, + 0, 0, 230, 138, 32, 0, + 0, 0, 0, 0, 10, 0, + 0, 0, 70, 128, 32, 0, + 0, 0, 0, 0, 10, 0, + 0, 0, 56, 0, 0, 8, + 242, 0, 16, 0, 1, 0, + 0, 0, 86, 5, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 50, 0, + 0, 10, 242, 0, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 0, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 0, 0, 0, 8, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 14, 0, + 0, 7, 114, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 0, 9, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 70, 142, 32, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 1, 0, 0, 0, 246, 15, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 56, 0, 0, 8, + 242, 0, 16, 0, 3, 0, + 0, 0, 86, 5, 16, 0, + 1, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 50, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 6, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 50, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 166, 10, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 50, 0, 0, 10, 242, 32, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 246, 15, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 50, 0, + 0, 11, 50, 32, 16, 0, + 1, 0, 0, 0, 70, 16, + 16, 0, 0, 0, 0, 0, + 230, 138, 32, 0, 0, 0, + 0, 0, 9, 0, 0, 0, + 70, 128, 32, 0, 0, 0, + 0, 0, 9, 0, 0, 0, + 0, 0, 0, 9, 50, 0, + 16, 0, 0, 0, 0, 0, + 70, 0, 16, 0, 0, 0, + 0, 0, 70, 128, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 11, 0, 0, 0, + 14, 0, 0, 8, 50, 0, + 16, 0, 0, 0, 0, 0, + 70, 0, 16, 0, 0, 0, + 0, 0, 230, 138, 32, 0, + 0, 0, 0, 0, 11, 0, + 0, 0, 54, 0, 0, 5, + 66, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 128, 63, 56, 0, + 0, 7, 114, 32, 16, 0, + 2, 0, 0, 0, 246, 15, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 62, 0, 0, 1, + 83, 84, 65, 84, 116, 0, + 0, 0, 18, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 68, + 69, 70, 148, 2, 0, 0, + 1, 0, 0, 0, 72, 0, + 0, 0, 1, 0, 0, 0, + 28, 0, 0, 0, 0, 4, + 254, 255, 0, 1, 0, 0, + 108, 2, 0, 0, 60, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 36, 71, 108, 111, 98, 97, + 108, 115, 0, 171, 171, 171, + 60, 0, 0, 0, 11, 0, + 0, 0, 96, 0, 0, 0, + 96, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 104, 1, 0, 0, 0, 0, + 0, 0, 64, 0, 0, 0, + 2, 0, 0, 0, 120, 1, + 0, 0, 0, 0, 0, 0, + 136, 1, 0, 0, 64, 0, + 0, 0, 64, 0, 0, 0, + 2, 0, 0, 0, 120, 1, + 0, 0, 0, 0, 0, 0, + 148, 1, 0, 0, 128, 0, + 0, 0, 16, 0, 0, 0, + 2, 0, 0, 0, 168, 1, + 0, 0, 0, 0, 0, 0, + 184, 1, 0, 0, 144, 0, + 0, 0, 16, 0, 0, 0, + 2, 0, 0, 0, 200, 1, + 0, 0, 0, 0, 0, 0, + 216, 1, 0, 0, 160, 0, + 0, 0, 16, 0, 0, 0, + 2, 0, 0, 0, 200, 1, + 0, 0, 0, 0, 0, 0, + 227, 1, 0, 0, 176, 0, + 0, 0, 16, 0, 0, 0, + 2, 0, 0, 0, 200, 1, + 0, 0, 0, 0, 0, 0, + 237, 1, 0, 0, 192, 0, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 120, 1, + 0, 0, 0, 0, 0, 0, + 0, 2, 0, 0, 0, 1, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 168, 1, + 0, 0, 0, 0, 0, 0, + 12, 2, 0, 0, 16, 1, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 28, 2, + 0, 0, 0, 0, 0, 0, + 44, 2, 0, 0, 32, 1, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 60, 2, + 0, 0, 0, 0, 0, 0, + 76, 2, 0, 0, 48, 1, + 0, 0, 44, 0, 0, 0, + 0, 0, 0, 0, 92, 2, + 0, 0, 0, 0, 0, 0, + 109, 76, 97, 121, 101, 114, + 84, 114, 97, 110, 115, 102, + 111, 114, 109, 0, 3, 0, + 3, 0, 4, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 109, 80, 114, 111, + 106, 101, 99, 116, 105, 111, + 110, 0, 118, 82, 101, 110, + 100, 101, 114, 84, 97, 114, + 103, 101, 116, 79, 102, 102, + 115, 101, 116, 0, 1, 0, + 3, 0, 1, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 118, 84, 101, 120, + 116, 117, 114, 101, 67, 111, + 111, 114, 100, 115, 0, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 118, 76, + 97, 121, 101, 114, 81, 117, + 97, 100, 0, 118, 77, 97, + 115, 107, 81, 117, 97, 100, + 0, 109, 66, 97, 99, 107, + 100, 114, 111, 112, 84, 114, + 97, 110, 115, 102, 111, 114, + 109, 0, 102, 76, 97, 121, + 101, 114, 67, 111, 108, 111, + 114, 0, 102, 76, 97, 121, + 101, 114, 79, 112, 97, 99, + 105, 116, 121, 0, 171, 171, + 0, 0, 3, 0, 1, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 105, 66, + 108, 101, 110, 100, 67, 111, + 110, 102, 105, 103, 0, 171, + 171, 171, 1, 0, 19, 0, + 1, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 109, 89, 117, 118, 67, 111, + 108, 111, 114, 77, 97, 116, + 114, 105, 120, 0, 2, 0, + 3, 0, 3, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 73, 83, 71, 78, 44, 0, + 0, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 3, 3, 0, 0, 80, 79, + 83, 73, 84, 73, 79, 78, + 0, 171, 171, 171, 79, 83, + 71, 78, 104, 0, 0, 0, + 3, 0, 0, 0, 8, 0, + 0, 0, 80, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 92, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 3, 12, + 0, 0, 92, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 7, 8, + 0, 0, 83, 86, 95, 80, + 111, 115, 105, 116, 105, 111, + 110, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 171, + 171, 171 +}; ShaderBytes sLayerQuadMaskVS = { LayerQuadMaskVS, sizeof(LayerQuadMaskVS) }; -#if 0 -// -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 -// -// -// Buffer Definitions: -// -// cbuffer $Globals -// { -// -// float4 fLayerColor; // Offset: 0 Size: 16 -// float fLayerOpacity; // Offset: 16 Size: 4 [unused] -// uint4 iBlendConfig; // Offset: 32 Size: 16 [unused] -// float4x4 mLayerTransform; // Offset: 48 Size: 64 [unused] -// float4x4 mProjection; // Offset: 112 Size: 64 [unused] -// float4 vRenderTargetOffset; // Offset: 176 Size: 16 [unused] -// float4 vTextureCoords; // Offset: 192 Size: 16 [unused] -// float4 vLayerQuad; // Offset: 208 Size: 16 [unused] -// float4 vMaskQuad; // Offset: 224 Size: 16 [unused] -// float4x4 mBackdropTransform; // Offset: 240 Size: 64 [unused] -// -// } -// -// -// Resource Bindings: -// -// Name Type Format Dim HLSL Bind Count -// ------------------------------ ---------- ------- ----------- -------------- ------ -// sSampler sampler NA NA s0 1 -// tMask texture float4 2d t5 1 -// $Globals cbuffer NA NA cb0 1 -// -// -// -// Input signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// SV_Position 0 xyzw 0 POS float -// TEXCOORD 0 xy 1 NONE float -// TEXCOORD 1 xyz 2 NONE float xyz -// -// -// Output signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// SV_Target 0 xyzw 0 TARGET float xyzw -// -// -// Constant buffer to DX9 shader constant mappings: -// -// Target Reg Buffer Start Reg # of Regs Data Conversion -// ---------- ------- --------- --------- ---------------------- -// c0 cb0 0 1 ( FLT, FLT, FLT, FLT) -// -// -// Sampler/Resource to DX9 shader sampler mappings: -// -// Target Sampler Source Sampler Source Resource -// -------------- --------------- ---------------- -// s0 s0 t5 -// -// -// Level9 shader bytecode: -// - ps_2_x - dcl t1.xyz - dcl_2d s0 - rcp r0.w, t1.z - mul r0.xy, r0.w, t1 - texld r0, r0, s0 - mul r0, r0.x, c0 - mov oC0, r0 - -// approximately 5 instruction slots used (1 texture, 4 arithmetic) -ps_4_0 -dcl_constantbuffer CB0[1], immediateIndexed -dcl_sampler s0, mode_default -dcl_resource_texture2d (float,float,float,float) t5 -dcl_input_ps linear v2.xyz -dcl_output o0.xyzw -dcl_temps 1 -div r0.xy, v2.xyxx, v2.zzzz -sample r0.xyzw, r0.xyxx, t5.xyzw, s0 -mul o0.xyzw, r0.xxxx, cb0[0].xyzw -ret -// Approximately 4 instruction slots used -#endif - -const BYTE SolidColorShaderMask[] = -{ - 68, 88, 66, 67, 136, 34, - 160, 50, 38, 225, 198, 78, - 252, 58, 191, 192, 204, 38, - 60, 224, 1, 0, 0, 0, - 120, 5, 0, 0, 6, 0, - 0, 0, 56, 0, 0, 0, - 220, 0, 0, 0, 156, 1, - 0, 0, 24, 2, 0, 0, - 212, 4, 0, 0, 68, 5, - 0, 0, 65, 111, 110, 57, - 156, 0, 0, 0, 156, 0, - 0, 0, 0, 2, 255, 255, - 104, 0, 0, 0, 52, 0, - 0, 0, 1, 0, 40, 0, - 0, 0, 52, 0, 0, 0, - 52, 0, 1, 0, 36, 0, - 0, 0, 52, 0, 5, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 1, 2, 255, 255, - 31, 0, 0, 2, 0, 0, - 0, 128, 1, 0, 7, 176, - 31, 0, 0, 2, 0, 0, - 0, 144, 0, 8, 15, 160, - 6, 0, 0, 2, 0, 0, - 8, 128, 1, 0, 170, 176, - 5, 0, 0, 3, 0, 0, - 3, 128, 0, 0, 255, 128, - 1, 0, 228, 176, 66, 0, - 0, 3, 0, 0, 15, 128, - 0, 0, 228, 128, 0, 8, - 228, 160, 5, 0, 0, 3, - 0, 0, 15, 128, 0, 0, - 0, 128, 0, 0, 228, 160, - 1, 0, 0, 2, 0, 8, - 15, 128, 0, 0, 228, 128, - 255, 255, 0, 0, 83, 72, - 68, 82, 184, 0, 0, 0, - 64, 0, 0, 0, 46, 0, - 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 90, 0, 0, 3, 0, 96, - 16, 0, 0, 0, 0, 0, - 88, 24, 0, 4, 0, 112, - 16, 0, 5, 0, 0, 0, - 85, 85, 0, 0, 98, 16, - 0, 3, 114, 16, 16, 0, - 2, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 104, 0, - 0, 2, 1, 0, 0, 0, - 14, 0, 0, 7, 50, 0, - 16, 0, 0, 0, 0, 0, - 70, 16, 16, 0, 2, 0, - 0, 0, 166, 26, 16, 0, - 2, 0, 0, 0, 69, 0, - 0, 9, 242, 0, 16, 0, - 0, 0, 0, 0, 70, 0, - 16, 0, 0, 0, 0, 0, - 70, 126, 16, 0, 5, 0, - 0, 0, 0, 96, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 8, 242, 32, 16, 0, - 0, 0, 0, 0, 6, 0, - 16, 0, 0, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 62, 0, 0, 1, 83, 84, - 65, 84, 116, 0, 0, 0, - 4, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 82, 68, 69, 70, - 180, 2, 0, 0, 1, 0, - 0, 0, 148, 0, 0, 0, - 3, 0, 0, 0, 28, 0, - 0, 0, 0, 4, 255, 255, - 0, 1, 0, 0, 128, 2, - 0, 0, 124, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 1, 0, 0, 0, 133, 0, - 0, 0, 2, 0, 0, 0, - 5, 0, 0, 0, 4, 0, - 0, 0, 255, 255, 255, 255, - 5, 0, 0, 0, 1, 0, - 0, 0, 13, 0, 0, 0, - 139, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 115, 83, 97, 109, - 112, 108, 101, 114, 0, 116, - 77, 97, 115, 107, 0, 36, - 71, 108, 111, 98, 97, 108, - 115, 0, 139, 0, 0, 0, - 10, 0, 0, 0, 172, 0, - 0, 0, 48, 1, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 156, 1, 0, 0, - 0, 0, 0, 0, 16, 0, - 0, 0, 2, 0, 0, 0, - 168, 1, 0, 0, 0, 0, - 0, 0, 184, 1, 0, 0, - 16, 0, 0, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 200, 1, 0, 0, 0, 0, - 0, 0, 216, 1, 0, 0, - 32, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 232, 1, 0, 0, 0, 0, - 0, 0, 248, 1, 0, 0, - 48, 0, 0, 0, 64, 0, - 0, 0, 0, 0, 0, 0, - 8, 2, 0, 0, 0, 0, - 0, 0, 24, 2, 0, 0, - 112, 0, 0, 0, 64, 0, - 0, 0, 0, 0, 0, 0, - 8, 2, 0, 0, 0, 0, - 0, 0, 36, 2, 0, 0, - 176, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 168, 1, 0, 0, 0, 0, - 0, 0, 56, 2, 0, 0, - 192, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 72, 2, 0, 0, 0, 0, - 0, 0, 88, 2, 0, 0, - 208, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 72, 2, 0, 0, 0, 0, - 0, 0, 99, 2, 0, 0, - 224, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 72, 2, 0, 0, 0, 0, - 0, 0, 109, 2, 0, 0, - 240, 0, 0, 0, 64, 0, - 0, 0, 0, 0, 0, 0, - 8, 2, 0, 0, 0, 0, - 0, 0, 102, 76, 97, 121, - 101, 114, 67, 111, 108, 111, - 114, 0, 1, 0, 3, 0, - 1, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 102, 76, 97, 121, 101, 114, - 79, 112, 97, 99, 105, 116, - 121, 0, 171, 171, 0, 0, - 3, 0, 1, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 105, 66, 108, 101, - 110, 100, 67, 111, 110, 102, - 105, 103, 0, 171, 171, 171, - 1, 0, 19, 0, 1, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 109, 76, - 97, 121, 101, 114, 84, 114, - 97, 110, 115, 102, 111, 114, - 109, 0, 3, 0, 3, 0, - 4, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 109, 80, 114, 111, 106, 101, - 99, 116, 105, 111, 110, 0, - 118, 82, 101, 110, 100, 101, - 114, 84, 97, 114, 103, 101, - 116, 79, 102, 102, 115, 101, - 116, 0, 118, 84, 101, 120, - 116, 117, 114, 101, 67, 111, - 111, 114, 100, 115, 0, 171, - 1, 0, 3, 0, 1, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 118, 76, - 97, 121, 101, 114, 81, 117, - 97, 100, 0, 118, 77, 97, - 115, 107, 81, 117, 97, 100, - 0, 109, 66, 97, 99, 107, - 100, 114, 111, 112, 84, 114, - 97, 110, 115, 102, 111, 114, - 109, 0, 77, 105, 99, 114, - 111, 115, 111, 102, 116, 32, - 40, 82, 41, 32, 72, 76, - 83, 76, 32, 83, 104, 97, - 100, 101, 114, 32, 67, 111, - 109, 112, 105, 108, 101, 114, - 32, 49, 48, 46, 48, 46, - 49, 48, 48, 49, 49, 46, - 49, 54, 51, 56, 52, 0, - 73, 83, 71, 78, 104, 0, - 0, 0, 3, 0, 0, 0, - 8, 0, 0, 0, 80, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 92, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 92, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 2, 0, 0, 0, - 7, 7, 0, 0, 83, 86, - 95, 80, 111, 115, 105, 116, - 105, 111, 110, 0, 84, 69, - 88, 67, 79, 79, 82, 68, - 0, 171, 171, 171, 79, 83, - 71, 78, 44, 0, 0, 0, - 1, 0, 0, 0, 8, 0, - 0, 0, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 83, 86, 95, 84, - 97, 114, 103, 101, 116, 0, - 171, 171 -}; +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer $Globals +// { +// +// float4 fLayerColor; // Offset: 0 Size: 16 +// float fLayerOpacity; // Offset: 16 Size: 4 [unused] +// uint4 iBlendConfig; // Offset: 32 Size: 16 [unused] +// row_major float3x3 mYuvColorMatrix;// Offset: 48 Size: 44 [unused] +// float4x4 mLayerTransform; // Offset: 96 Size: 64 [unused] +// float4x4 mProjection; // Offset: 160 Size: 64 [unused] +// float4 vRenderTargetOffset; // Offset: 224 Size: 16 [unused] +// float4 vTextureCoords; // Offset: 240 Size: 16 [unused] +// float4 vLayerQuad; // Offset: 256 Size: 16 [unused] +// float4 vMaskQuad; // Offset: 272 Size: 16 [unused] +// float4x4 mBackdropTransform; // Offset: 288 Size: 64 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim HLSL Bind Count +// ------------------------------ ---------- ------- ----------- -------------- ------ +// sSampler sampler NA NA s0 1 +// tMask texture float4 2d t5 1 +// $Globals cbuffer NA NA cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Position 0 xyzw 0 POS float +// TEXCOORD 0 xy 1 NONE float +// TEXCOORD 1 xyz 2 NONE float xyz +// +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Target 0 xyzw 0 TARGET float xyzw +// +// +// Constant buffer to DX9 shader constant mappings: +// +// Target Reg Buffer Start Reg # of Regs Data Conversion +// ---------- ------- --------- --------- ---------------------- +// c0 cb0 0 1 ( FLT, FLT, FLT, FLT) +// +// +// Sampler/Resource to DX9 shader sampler mappings: +// +// Target Sampler Source Sampler Source Resource +// -------------- --------------- ---------------- +// s0 s0 t5 +// +// +// Level9 shader bytecode: +// + ps_2_x + dcl t1.xyz + dcl_2d s0 + rcp r0.w, t1.z + mul r0.xy, r0.w, t1 + texld r0, r0, s0 + mul r0, r0.x, c0 + mov oC0, r0 + +// approximately 5 instruction slots used (1 texture, 4 arithmetic) +ps_4_0 +dcl_constantbuffer CB0[1], immediateIndexed +dcl_sampler s0, mode_default +dcl_resource_texture2d (float,float,float,float) t5 +dcl_input_ps linear v2.xyz +dcl_output o0.xyzw +dcl_temps 1 +div r0.xy, v2.xyxx, v2.zzzz +sample r0.xyzw, r0.xyxx, t5.xyzw, s0 +mul o0.xyzw, r0.xxxx, cb0[0].xyzw +ret +// Approximately 4 instruction slots used +#endif + +const BYTE SolidColorShaderMask[] = +{ + 68, 88, 66, 67, 11, 0, + 43, 127, 123, 42, 253, 228, + 4, 220, 7, 130, 11, 94, + 213, 177, 1, 0, 0, 0, + 164, 5, 0, 0, 6, 0, + 0, 0, 56, 0, 0, 0, + 220, 0, 0, 0, 156, 1, + 0, 0, 24, 2, 0, 0, + 0, 5, 0, 0, 112, 5, + 0, 0, 65, 111, 110, 57, + 156, 0, 0, 0, 156, 0, + 0, 0, 0, 2, 255, 255, + 104, 0, 0, 0, 52, 0, + 0, 0, 1, 0, 40, 0, + 0, 0, 52, 0, 0, 0, + 52, 0, 1, 0, 36, 0, + 0, 0, 52, 0, 5, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 1, 2, 255, 255, + 31, 0, 0, 2, 0, 0, + 0, 128, 1, 0, 7, 176, + 31, 0, 0, 2, 0, 0, + 0, 144, 0, 8, 15, 160, + 6, 0, 0, 2, 0, 0, + 8, 128, 1, 0, 170, 176, + 5, 0, 0, 3, 0, 0, + 3, 128, 0, 0, 255, 128, + 1, 0, 228, 176, 66, 0, + 0, 3, 0, 0, 15, 128, + 0, 0, 228, 128, 0, 8, + 228, 160, 5, 0, 0, 3, + 0, 0, 15, 128, 0, 0, + 0, 128, 0, 0, 228, 160, + 1, 0, 0, 2, 0, 8, + 15, 128, 0, 0, 228, 128, + 255, 255, 0, 0, 83, 72, + 68, 82, 184, 0, 0, 0, + 64, 0, 0, 0, 46, 0, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 90, 0, 0, 3, 0, 96, + 16, 0, 0, 0, 0, 0, + 88, 24, 0, 4, 0, 112, + 16, 0, 5, 0, 0, 0, + 85, 85, 0, 0, 98, 16, + 0, 3, 114, 16, 16, 0, + 2, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 104, 0, + 0, 2, 1, 0, 0, 0, + 14, 0, 0, 7, 50, 0, + 16, 0, 0, 0, 0, 0, + 70, 16, 16, 0, 2, 0, + 0, 0, 166, 26, 16, 0, + 2, 0, 0, 0, 69, 0, + 0, 9, 242, 0, 16, 0, + 0, 0, 0, 0, 70, 0, + 16, 0, 0, 0, 0, 0, + 70, 126, 16, 0, 5, 0, + 0, 0, 0, 96, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 8, 242, 32, 16, 0, + 0, 0, 0, 0, 6, 0, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 62, 0, 0, 1, 83, 84, + 65, 84, 116, 0, 0, 0, + 4, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 82, 68, 69, 70, + 224, 2, 0, 0, 1, 0, + 0, 0, 148, 0, 0, 0, + 3, 0, 0, 0, 28, 0, + 0, 0, 0, 4, 255, 255, + 0, 1, 0, 0, 184, 2, + 0, 0, 124, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 133, 0, + 0, 0, 2, 0, 0, 0, + 5, 0, 0, 0, 4, 0, + 0, 0, 255, 255, 255, 255, + 5, 0, 0, 0, 1, 0, + 0, 0, 13, 0, 0, 0, + 139, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 115, 83, 97, 109, + 112, 108, 101, 114, 0, 116, + 77, 97, 115, 107, 0, 36, + 71, 108, 111, 98, 97, 108, + 115, 0, 139, 0, 0, 0, + 11, 0, 0, 0, 172, 0, + 0, 0, 96, 1, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 180, 1, 0, 0, + 0, 0, 0, 0, 16, 0, + 0, 0, 2, 0, 0, 0, + 192, 1, 0, 0, 0, 0, + 0, 0, 208, 1, 0, 0, + 16, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 224, 1, 0, 0, 0, 0, + 0, 0, 240, 1, 0, 0, + 32, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 0, 2, 0, 0, 0, 0, + 0, 0, 16, 2, 0, 0, + 48, 0, 0, 0, 44, 0, + 0, 0, 0, 0, 0, 0, + 32, 2, 0, 0, 0, 0, + 0, 0, 48, 2, 0, 0, + 96, 0, 0, 0, 64, 0, + 0, 0, 0, 0, 0, 0, + 64, 2, 0, 0, 0, 0, + 0, 0, 80, 2, 0, 0, + 160, 0, 0, 0, 64, 0, + 0, 0, 0, 0, 0, 0, + 64, 2, 0, 0, 0, 0, + 0, 0, 92, 2, 0, 0, + 224, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 192, 1, 0, 0, 0, 0, + 0, 0, 112, 2, 0, 0, + 240, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 128, 2, 0, 0, 0, 0, + 0, 0, 144, 2, 0, 0, + 0, 1, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 128, 2, 0, 0, 0, 0, + 0, 0, 155, 2, 0, 0, + 16, 1, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 128, 2, 0, 0, 0, 0, + 0, 0, 165, 2, 0, 0, + 32, 1, 0, 0, 64, 0, + 0, 0, 0, 0, 0, 0, + 64, 2, 0, 0, 0, 0, + 0, 0, 102, 76, 97, 121, + 101, 114, 67, 111, 108, 111, + 114, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 102, 76, 97, 121, 101, 114, + 79, 112, 97, 99, 105, 116, + 121, 0, 171, 171, 0, 0, + 3, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 105, 66, 108, 101, + 110, 100, 67, 111, 110, 102, + 105, 103, 0, 171, 171, 171, + 1, 0, 19, 0, 1, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 109, 89, + 117, 118, 67, 111, 108, 111, + 114, 77, 97, 116, 114, 105, + 120, 0, 2, 0, 3, 0, + 3, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 109, 76, 97, 121, 101, 114, + 84, 114, 97, 110, 115, 102, + 111, 114, 109, 0, 3, 0, + 3, 0, 4, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 109, 80, 114, 111, + 106, 101, 99, 116, 105, 111, + 110, 0, 118, 82, 101, 110, + 100, 101, 114, 84, 97, 114, + 103, 101, 116, 79, 102, 102, + 115, 101, 116, 0, 118, 84, + 101, 120, 116, 117, 114, 101, + 67, 111, 111, 114, 100, 115, + 0, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 118, 76, 97, 121, 101, 114, + 81, 117, 97, 100, 0, 118, + 77, 97, 115, 107, 81, 117, + 97, 100, 0, 109, 66, 97, + 99, 107, 100, 114, 111, 112, + 84, 114, 97, 110, 115, 102, + 111, 114, 109, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 73, 83, 71, 78, + 104, 0, 0, 0, 3, 0, + 0, 0, 8, 0, 0, 0, + 80, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 92, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 92, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 7, 7, 0, 0, + 83, 86, 95, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 171, 171, 171, + 79, 83, 71, 78, 44, 0, + 0, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 83, 86, + 95, 84, 97, 114, 103, 101, + 116, 0, 171, 171 +}; ShaderBytes sSolidColorShaderMask = { SolidColorShaderMask, sizeof(SolidColorShaderMask) }; -#if 0 -// -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 -// -// -// Buffer Definitions: -// -// cbuffer $Globals -// { -// -// float4 fLayerColor; // Offset: 0 Size: 16 [unused] -// float fLayerOpacity; // Offset: 16 Size: 4 -// uint4 iBlendConfig; // Offset: 32 Size: 16 [unused] -// float4x4 mLayerTransform; // Offset: 48 Size: 64 [unused] -// float4x4 mProjection; // Offset: 112 Size: 64 [unused] -// float4 vRenderTargetOffset; // Offset: 176 Size: 16 [unused] -// float4 vTextureCoords; // Offset: 192 Size: 16 [unused] -// float4 vLayerQuad; // Offset: 208 Size: 16 [unused] -// float4 vMaskQuad; // Offset: 224 Size: 16 [unused] -// float4x4 mBackdropTransform; // Offset: 240 Size: 64 [unused] -// -// } -// -// -// Resource Bindings: -// -// Name Type Format Dim HLSL Bind Count -// ------------------------------ ---------- ------- ----------- -------------- ------ -// sSampler sampler NA NA s0 1 -// tRGB texture float4 2d t0 1 -// tMask texture float4 2d t5 1 -// $Globals cbuffer NA NA cb0 1 -// -// -// -// Input signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// SV_Position 0 xyzw 0 POS float -// TEXCOORD 0 xy 1 NONE float xy -// TEXCOORD 1 xyz 2 NONE float xyz -// -// -// Output signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// SV_Target 0 xyzw 0 TARGET float xyzw -// -// -// Constant buffer to DX9 shader constant mappings: -// -// Target Reg Buffer Start Reg # of Regs Data Conversion -// ---------- ------- --------- --------- ---------------------- -// c0 cb0 1 1 ( FLT, FLT, FLT, FLT) -// -// -// Sampler/Resource to DX9 shader sampler mappings: -// -// Target Sampler Source Sampler Source Resource -// -------------- --------------- ---------------- -// s0 s0 t0 -// s1 s0 t5 -// -// -// Level9 shader bytecode: -// - ps_2_x - dcl t0.xy - dcl t1.xyz - dcl_2d s0 - dcl_2d s1 - rcp r0.w, t1.z - mul r0.xy, r0.w, t1 - texld r1, t0, s0 - texld r0, r0, s1 - mul r1.xyz, r1, c0.x - mov r1.w, c0.x - mul r0, r0.x, r1 - mov oC0, r0 - -// approximately 8 instruction slots used (2 texture, 6 arithmetic) -ps_4_0 -dcl_constantbuffer CB0[2], immediateIndexed -dcl_sampler s0, mode_default -dcl_resource_texture2d (float,float,float,float) t0 -dcl_resource_texture2d (float,float,float,float) t5 -dcl_input_ps linear v1.xy -dcl_input_ps linear v2.xyz -dcl_output o0.xyzw -dcl_temps 2 -sample r0.xyzw, v1.xyxx, t0.xyzw, s0 -mul r0.xyz, r0.xyzx, cb0[1].xxxx -div r1.xy, v2.xyxx, v2.zzzz -sample r1.xyzw, r1.xyxx, t5.xyzw, s0 -mov r0.w, cb0[1].x -mul o0.xyzw, r0.xyzw, r1.xxxx -ret -// Approximately 7 instruction slots used -#endif - -const BYTE RGBShaderMask[] = -{ - 68, 88, 66, 67, 79, 247, - 118, 147, 119, 222, 85, 19, - 212, 225, 110, 66, 228, 229, - 204, 201, 1, 0, 0, 0, - 92, 6, 0, 0, 6, 0, - 0, 0, 56, 0, 0, 0, - 36, 1, 0, 0, 88, 2, - 0, 0, 212, 2, 0, 0, - 184, 5, 0, 0, 40, 6, - 0, 0, 65, 111, 110, 57, - 228, 0, 0, 0, 228, 0, - 0, 0, 0, 2, 255, 255, - 172, 0, 0, 0, 56, 0, - 0, 0, 1, 0, 44, 0, - 0, 0, 56, 0, 0, 0, - 56, 0, 2, 0, 36, 0, - 0, 0, 56, 0, 0, 0, - 0, 0, 5, 0, 1, 0, - 0, 0, 1, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 1, 2, 255, 255, 31, 0, - 0, 2, 0, 0, 0, 128, - 0, 0, 3, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 1, 0, 7, 176, 31, 0, - 0, 2, 0, 0, 0, 144, - 0, 8, 15, 160, 31, 0, - 0, 2, 0, 0, 0, 144, - 1, 8, 15, 160, 6, 0, - 0, 2, 0, 0, 8, 128, - 1, 0, 170, 176, 5, 0, - 0, 3, 0, 0, 3, 128, - 0, 0, 255, 128, 1, 0, - 228, 176, 66, 0, 0, 3, - 1, 0, 15, 128, 0, 0, - 228, 176, 0, 8, 228, 160, - 66, 0, 0, 3, 0, 0, - 15, 128, 0, 0, 228, 128, - 1, 8, 228, 160, 5, 0, - 0, 3, 1, 0, 7, 128, - 1, 0, 228, 128, 0, 0, - 0, 160, 1, 0, 0, 2, - 1, 0, 8, 128, 0, 0, - 0, 160, 5, 0, 0, 3, - 0, 0, 15, 128, 0, 0, - 0, 128, 1, 0, 228, 128, - 1, 0, 0, 2, 0, 8, - 15, 128, 0, 0, 228, 128, - 255, 255, 0, 0, 83, 72, - 68, 82, 44, 1, 0, 0, - 64, 0, 0, 0, 75, 0, - 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 90, 0, 0, 3, 0, 96, - 16, 0, 0, 0, 0, 0, - 88, 24, 0, 4, 0, 112, - 16, 0, 0, 0, 0, 0, - 85, 85, 0, 0, 88, 24, - 0, 4, 0, 112, 16, 0, - 5, 0, 0, 0, 85, 85, - 0, 0, 98, 16, 0, 3, - 50, 16, 16, 0, 1, 0, - 0, 0, 98, 16, 0, 3, - 114, 16, 16, 0, 2, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 0, 0, - 0, 0, 104, 0, 0, 2, - 2, 0, 0, 0, 69, 0, - 0, 9, 242, 0, 16, 0, - 0, 0, 0, 0, 70, 16, - 16, 0, 1, 0, 0, 0, - 70, 126, 16, 0, 0, 0, - 0, 0, 0, 96, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 8, 114, 0, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 6, 128, 32, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 14, 0, 0, 7, 50, 0, - 16, 0, 1, 0, 0, 0, - 70, 16, 16, 0, 2, 0, - 0, 0, 166, 26, 16, 0, - 2, 0, 0, 0, 69, 0, - 0, 9, 242, 0, 16, 0, - 1, 0, 0, 0, 70, 0, - 16, 0, 1, 0, 0, 0, - 70, 126, 16, 0, 5, 0, - 0, 0, 0, 96, 16, 0, - 0, 0, 0, 0, 54, 0, - 0, 6, 130, 0, 16, 0, - 0, 0, 0, 0, 10, 128, - 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 56, 0, - 0, 7, 242, 32, 16, 0, - 0, 0, 0, 0, 70, 14, - 16, 0, 0, 0, 0, 0, - 6, 0, 16, 0, 1, 0, - 0, 0, 62, 0, 0, 1, - 83, 84, 65, 84, 116, 0, - 0, 0, 7, 0, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 68, - 69, 70, 220, 2, 0, 0, - 1, 0, 0, 0, 188, 0, - 0, 0, 4, 0, 0, 0, - 28, 0, 0, 0, 0, 4, - 255, 255, 0, 1, 0, 0, - 168, 2, 0, 0, 156, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 1, 0, 0, 0, - 165, 0, 0, 0, 2, 0, - 0, 0, 5, 0, 0, 0, - 4, 0, 0, 0, 255, 255, - 255, 255, 0, 0, 0, 0, - 1, 0, 0, 0, 13, 0, - 0, 0, 170, 0, 0, 0, - 2, 0, 0, 0, 5, 0, - 0, 0, 4, 0, 0, 0, - 255, 255, 255, 255, 5, 0, - 0, 0, 1, 0, 0, 0, - 13, 0, 0, 0, 176, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 115, 83, 97, 109, 112, 108, - 101, 114, 0, 116, 82, 71, - 66, 0, 116, 77, 97, 115, - 107, 0, 36, 71, 108, 111, - 98, 97, 108, 115, 0, 171, - 171, 171, 176, 0, 0, 0, - 10, 0, 0, 0, 212, 0, - 0, 0, 48, 1, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 196, 1, 0, 0, - 0, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 208, 1, 0, 0, 0, 0, - 0, 0, 224, 1, 0, 0, - 16, 0, 0, 0, 4, 0, - 0, 0, 2, 0, 0, 0, - 240, 1, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 0, - 32, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 16, 2, 0, 0, 0, 0, - 0, 0, 32, 2, 0, 0, - 48, 0, 0, 0, 64, 0, - 0, 0, 0, 0, 0, 0, - 48, 2, 0, 0, 0, 0, - 0, 0, 64, 2, 0, 0, - 112, 0, 0, 0, 64, 0, - 0, 0, 0, 0, 0, 0, - 48, 2, 0, 0, 0, 0, - 0, 0, 76, 2, 0, 0, - 176, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 208, 1, 0, 0, 0, 0, - 0, 0, 96, 2, 0, 0, - 192, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 112, 2, 0, 0, 0, 0, - 0, 0, 128, 2, 0, 0, - 208, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 112, 2, 0, 0, 0, 0, - 0, 0, 139, 2, 0, 0, - 224, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 112, 2, 0, 0, 0, 0, - 0, 0, 149, 2, 0, 0, - 240, 0, 0, 0, 64, 0, - 0, 0, 0, 0, 0, 0, - 48, 2, 0, 0, 0, 0, - 0, 0, 102, 76, 97, 121, - 101, 114, 67, 111, 108, 111, - 114, 0, 1, 0, 3, 0, - 1, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 102, 76, 97, 121, 101, 114, - 79, 112, 97, 99, 105, 116, - 121, 0, 171, 171, 0, 0, - 3, 0, 1, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 105, 66, 108, 101, - 110, 100, 67, 111, 110, 102, - 105, 103, 0, 171, 171, 171, - 1, 0, 19, 0, 1, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 109, 76, - 97, 121, 101, 114, 84, 114, - 97, 110, 115, 102, 111, 114, - 109, 0, 3, 0, 3, 0, - 4, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 109, 80, 114, 111, 106, 101, - 99, 116, 105, 111, 110, 0, - 118, 82, 101, 110, 100, 101, - 114, 84, 97, 114, 103, 101, - 116, 79, 102, 102, 115, 101, - 116, 0, 118, 84, 101, 120, - 116, 117, 114, 101, 67, 111, - 111, 114, 100, 115, 0, 171, - 1, 0, 3, 0, 1, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 118, 76, - 97, 121, 101, 114, 81, 117, - 97, 100, 0, 118, 77, 97, - 115, 107, 81, 117, 97, 100, - 0, 109, 66, 97, 99, 107, - 100, 114, 111, 112, 84, 114, - 97, 110, 115, 102, 111, 114, - 109, 0, 77, 105, 99, 114, - 111, 115, 111, 102, 116, 32, - 40, 82, 41, 32, 72, 76, - 83, 76, 32, 83, 104, 97, - 100, 101, 114, 32, 67, 111, - 109, 112, 105, 108, 101, 114, - 32, 49, 48, 46, 48, 46, - 49, 48, 48, 49, 49, 46, - 49, 54, 51, 56, 52, 0, - 73, 83, 71, 78, 104, 0, - 0, 0, 3, 0, 0, 0, - 8, 0, 0, 0, 80, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 92, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 3, 3, 0, 0, 92, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 2, 0, 0, 0, - 7, 7, 0, 0, 83, 86, - 95, 80, 111, 115, 105, 116, - 105, 111, 110, 0, 84, 69, - 88, 67, 79, 79, 82, 68, - 0, 171, 171, 171, 79, 83, - 71, 78, 44, 0, 0, 0, - 1, 0, 0, 0, 8, 0, - 0, 0, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 83, 86, 95, 84, - 97, 114, 103, 101, 116, 0, - 171, 171 -}; +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer $Globals +// { +// +// float4 fLayerColor; // Offset: 0 Size: 16 [unused] +// float fLayerOpacity; // Offset: 16 Size: 4 +// uint4 iBlendConfig; // Offset: 32 Size: 16 [unused] +// row_major float3x3 mYuvColorMatrix;// Offset: 48 Size: 44 [unused] +// float4x4 mLayerTransform; // Offset: 96 Size: 64 [unused] +// float4x4 mProjection; // Offset: 160 Size: 64 [unused] +// float4 vRenderTargetOffset; // Offset: 224 Size: 16 [unused] +// float4 vTextureCoords; // Offset: 240 Size: 16 [unused] +// float4 vLayerQuad; // Offset: 256 Size: 16 [unused] +// float4 vMaskQuad; // Offset: 272 Size: 16 [unused] +// float4x4 mBackdropTransform; // Offset: 288 Size: 64 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim HLSL Bind Count +// ------------------------------ ---------- ------- ----------- -------------- ------ +// sSampler sampler NA NA s0 1 +// tRGB texture float4 2d t0 1 +// tMask texture float4 2d t5 1 +// $Globals cbuffer NA NA cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Position 0 xyzw 0 POS float +// TEXCOORD 0 xy 1 NONE float xy +// TEXCOORD 1 xyz 2 NONE float xyz +// +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Target 0 xyzw 0 TARGET float xyzw +// +// +// Constant buffer to DX9 shader constant mappings: +// +// Target Reg Buffer Start Reg # of Regs Data Conversion +// ---------- ------- --------- --------- ---------------------- +// c0 cb0 1 1 ( FLT, FLT, FLT, FLT) +// +// +// Sampler/Resource to DX9 shader sampler mappings: +// +// Target Sampler Source Sampler Source Resource +// -------------- --------------- ---------------- +// s0 s0 t0 +// s1 s0 t5 +// +// +// Level9 shader bytecode: +// + ps_2_x + dcl t0.xy + dcl t1.xyz + dcl_2d s0 + dcl_2d s1 + rcp r0.w, t1.z + mul r0.xy, r0.w, t1 + texld r1, t0, s0 + texld r0, r0, s1 + mul r1.xyz, r1, c0.x + mov r1.w, c0.x + mul r0, r0.x, r1 + mov oC0, r0 + +// approximately 8 instruction slots used (2 texture, 6 arithmetic) +ps_4_0 +dcl_constantbuffer CB0[2], immediateIndexed +dcl_sampler s0, mode_default +dcl_resource_texture2d (float,float,float,float) t0 +dcl_resource_texture2d (float,float,float,float) t5 +dcl_input_ps linear v1.xy +dcl_input_ps linear v2.xyz +dcl_output o0.xyzw +dcl_temps 2 +sample r0.xyzw, v1.xyxx, t0.xyzw, s0 +mul r0.xyz, r0.xyzx, cb0[1].xxxx +div r1.xy, v2.xyxx, v2.zzzz +sample r1.xyzw, r1.xyxx, t5.xyzw, s0 +mov r0.w, cb0[1].x +mul o0.xyzw, r0.xyzw, r1.xxxx +ret +// Approximately 7 instruction slots used +#endif + +const BYTE RGBShaderMask[] = +{ + 68, 88, 66, 67, 89, 221, + 15, 22, 232, 140, 114, 122, + 200, 15, 217, 125, 153, 18, + 224, 0, 1, 0, 0, 0, + 136, 6, 0, 0, 6, 0, + 0, 0, 56, 0, 0, 0, + 36, 1, 0, 0, 88, 2, + 0, 0, 212, 2, 0, 0, + 228, 5, 0, 0, 84, 6, + 0, 0, 65, 111, 110, 57, + 228, 0, 0, 0, 228, 0, + 0, 0, 0, 2, 255, 255, + 172, 0, 0, 0, 56, 0, + 0, 0, 1, 0, 44, 0, + 0, 0, 56, 0, 0, 0, + 56, 0, 2, 0, 36, 0, + 0, 0, 56, 0, 0, 0, + 0, 0, 5, 0, 1, 0, + 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 1, 2, 255, 255, 31, 0, + 0, 2, 0, 0, 0, 128, + 0, 0, 3, 176, 31, 0, + 0, 2, 0, 0, 0, 128, + 1, 0, 7, 176, 31, 0, + 0, 2, 0, 0, 0, 144, + 0, 8, 15, 160, 31, 0, + 0, 2, 0, 0, 0, 144, + 1, 8, 15, 160, 6, 0, + 0, 2, 0, 0, 8, 128, + 1, 0, 170, 176, 5, 0, + 0, 3, 0, 0, 3, 128, + 0, 0, 255, 128, 1, 0, + 228, 176, 66, 0, 0, 3, + 1, 0, 15, 128, 0, 0, + 228, 176, 0, 8, 228, 160, + 66, 0, 0, 3, 0, 0, + 15, 128, 0, 0, 228, 128, + 1, 8, 228, 160, 5, 0, + 0, 3, 1, 0, 7, 128, + 1, 0, 228, 128, 0, 0, + 0, 160, 1, 0, 0, 2, + 1, 0, 8, 128, 0, 0, + 0, 160, 5, 0, 0, 3, + 0, 0, 15, 128, 0, 0, + 0, 128, 1, 0, 228, 128, + 1, 0, 0, 2, 0, 8, + 15, 128, 0, 0, 228, 128, + 255, 255, 0, 0, 83, 72, + 68, 82, 44, 1, 0, 0, + 64, 0, 0, 0, 75, 0, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 90, 0, 0, 3, 0, 96, + 16, 0, 0, 0, 0, 0, + 88, 24, 0, 4, 0, 112, + 16, 0, 0, 0, 0, 0, + 85, 85, 0, 0, 88, 24, + 0, 4, 0, 112, 16, 0, + 5, 0, 0, 0, 85, 85, + 0, 0, 98, 16, 0, 3, + 50, 16, 16, 0, 1, 0, + 0, 0, 98, 16, 0, 3, + 114, 16, 16, 0, 2, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 0, 0, + 0, 0, 104, 0, 0, 2, + 2, 0, 0, 0, 69, 0, + 0, 9, 242, 0, 16, 0, + 0, 0, 0, 0, 70, 16, + 16, 0, 1, 0, 0, 0, + 70, 126, 16, 0, 0, 0, + 0, 0, 0, 96, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 8, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 6, 128, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 14, 0, 0, 7, 50, 0, + 16, 0, 1, 0, 0, 0, + 70, 16, 16, 0, 2, 0, + 0, 0, 166, 26, 16, 0, + 2, 0, 0, 0, 69, 0, + 0, 9, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 0, + 16, 0, 1, 0, 0, 0, + 70, 126, 16, 0, 5, 0, + 0, 0, 0, 96, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 130, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 56, 0, + 0, 7, 242, 32, 16, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 0, 0, 0, 0, + 6, 0, 16, 0, 1, 0, + 0, 0, 62, 0, 0, 1, + 83, 84, 65, 84, 116, 0, + 0, 0, 7, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 68, + 69, 70, 8, 3, 0, 0, + 1, 0, 0, 0, 188, 0, + 0, 0, 4, 0, 0, 0, + 28, 0, 0, 0, 0, 4, + 255, 255, 0, 1, 0, 0, + 224, 2, 0, 0, 156, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 165, 0, 0, 0, 2, 0, + 0, 0, 5, 0, 0, 0, + 4, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 1, 0, 0, 0, 13, 0, + 0, 0, 170, 0, 0, 0, + 2, 0, 0, 0, 5, 0, + 0, 0, 4, 0, 0, 0, + 255, 255, 255, 255, 5, 0, + 0, 0, 1, 0, 0, 0, + 13, 0, 0, 0, 176, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 115, 83, 97, 109, 112, 108, + 101, 114, 0, 116, 82, 71, + 66, 0, 116, 77, 97, 115, + 107, 0, 36, 71, 108, 111, + 98, 97, 108, 115, 0, 171, + 171, 171, 176, 0, 0, 0, + 11, 0, 0, 0, 212, 0, + 0, 0, 96, 1, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 220, 1, 0, 0, + 0, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 232, 1, 0, 0, 0, 0, + 0, 0, 248, 1, 0, 0, + 16, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 8, 2, 0, 0, 0, 0, + 0, 0, 24, 2, 0, 0, + 32, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 40, 2, 0, 0, 0, 0, + 0, 0, 56, 2, 0, 0, + 48, 0, 0, 0, 44, 0, + 0, 0, 0, 0, 0, 0, + 72, 2, 0, 0, 0, 0, + 0, 0, 88, 2, 0, 0, + 96, 0, 0, 0, 64, 0, + 0, 0, 0, 0, 0, 0, + 104, 2, 0, 0, 0, 0, + 0, 0, 120, 2, 0, 0, + 160, 0, 0, 0, 64, 0, + 0, 0, 0, 0, 0, 0, + 104, 2, 0, 0, 0, 0, + 0, 0, 132, 2, 0, 0, + 224, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 232, 1, 0, 0, 0, 0, + 0, 0, 152, 2, 0, 0, + 240, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 168, 2, 0, 0, 0, 0, + 0, 0, 184, 2, 0, 0, + 0, 1, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 168, 2, 0, 0, 0, 0, + 0, 0, 195, 2, 0, 0, + 16, 1, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 168, 2, 0, 0, 0, 0, + 0, 0, 205, 2, 0, 0, + 32, 1, 0, 0, 64, 0, + 0, 0, 0, 0, 0, 0, + 104, 2, 0, 0, 0, 0, + 0, 0, 102, 76, 97, 121, + 101, 114, 67, 111, 108, 111, + 114, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 102, 76, 97, 121, 101, 114, + 79, 112, 97, 99, 105, 116, + 121, 0, 171, 171, 0, 0, + 3, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 105, 66, 108, 101, + 110, 100, 67, 111, 110, 102, + 105, 103, 0, 171, 171, 171, + 1, 0, 19, 0, 1, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 109, 89, + 117, 118, 67, 111, 108, 111, + 114, 77, 97, 116, 114, 105, + 120, 0, 2, 0, 3, 0, + 3, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 109, 76, 97, 121, 101, 114, + 84, 114, 97, 110, 115, 102, + 111, 114, 109, 0, 3, 0, + 3, 0, 4, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 109, 80, 114, 111, + 106, 101, 99, 116, 105, 111, + 110, 0, 118, 82, 101, 110, + 100, 101, 114, 84, 97, 114, + 103, 101, 116, 79, 102, 102, + 115, 101, 116, 0, 118, 84, + 101, 120, 116, 117, 114, 101, + 67, 111, 111, 114, 100, 115, + 0, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 118, 76, 97, 121, 101, 114, + 81, 117, 97, 100, 0, 118, + 77, 97, 115, 107, 81, 117, + 97, 100, 0, 109, 66, 97, + 99, 107, 100, 114, 111, 112, + 84, 114, 97, 110, 115, 102, + 111, 114, 109, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 73, 83, 71, 78, + 104, 0, 0, 0, 3, 0, + 0, 0, 8, 0, 0, 0, + 80, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 92, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 3, 3, 0, 0, + 92, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 7, 7, 0, 0, + 83, 86, 95, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 171, 171, 171, + 79, 83, 71, 78, 44, 0, + 0, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 83, 86, + 95, 84, 97, 114, 103, 101, + 116, 0, 171, 171 +}; ShaderBytes sRGBShaderMask = { RGBShaderMask, sizeof(RGBShaderMask) }; -#if 0 -// -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 -// -// -// Buffer Definitions: -// -// cbuffer $Globals -// { -// -// float4 fLayerColor; // Offset: 0 Size: 16 [unused] -// float fLayerOpacity; // Offset: 16 Size: 4 -// uint4 iBlendConfig; // Offset: 32 Size: 16 [unused] -// float4x4 mLayerTransform; // Offset: 48 Size: 64 [unused] -// float4x4 mProjection; // Offset: 112 Size: 64 [unused] -// float4 vRenderTargetOffset; // Offset: 176 Size: 16 [unused] -// float4 vTextureCoords; // Offset: 192 Size: 16 [unused] -// float4 vLayerQuad; // Offset: 208 Size: 16 [unused] -// float4 vMaskQuad; // Offset: 224 Size: 16 [unused] -// float4x4 mBackdropTransform; // Offset: 240 Size: 64 [unused] -// -// } -// -// -// Resource Bindings: -// -// Name Type Format Dim HLSL Bind Count -// ------------------------------ ---------- ------- ----------- -------------- ------ -// sSampler sampler NA NA s0 1 -// tRGB texture float4 2d t0 1 -// tMask texture float4 2d t5 1 -// $Globals cbuffer NA NA cb0 1 -// -// -// -// Input signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// SV_Position 0 xyzw 0 POS float -// TEXCOORD 0 xy 1 NONE float xy -// TEXCOORD 1 xyz 2 NONE float xyz -// -// -// Output signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// SV_Target 0 xyzw 0 TARGET float xyzw -// -// -// Constant buffer to DX9 shader constant mappings: -// -// Target Reg Buffer Start Reg # of Regs Data Conversion -// ---------- ------- --------- --------- ---------------------- -// c0 cb0 1 1 ( FLT, FLT, FLT, FLT) -// -// -// Sampler/Resource to DX9 shader sampler mappings: -// -// Target Sampler Source Sampler Source Resource -// -------------- --------------- ---------------- -// s0 s0 t0 -// s1 s0 t5 -// -// -// Level9 shader bytecode: -// - ps_2_x - dcl t0.xy - dcl t1.xyz - dcl_2d s0 - dcl_2d s1 - rcp r0.w, t1.z - mul r0.xy, r0.w, t1 - texld r1, t0, s0 - texld r0, r0, s1 - mul r1, r1, c0.x - mul r0, r0.x, r1 - mov oC0, r0 - -// approximately 7 instruction slots used (2 texture, 5 arithmetic) -ps_4_0 -dcl_constantbuffer CB0[2], immediateIndexed -dcl_sampler s0, mode_default -dcl_resource_texture2d (float,float,float,float) t0 -dcl_resource_texture2d (float,float,float,float) t5 -dcl_input_ps linear v1.xy -dcl_input_ps linear v2.xyz -dcl_output o0.xyzw -dcl_temps 2 -div r0.xy, v2.xyxx, v2.zzzz -sample r0.xyzw, r0.xyxx, t5.xyzw, s0 -sample r1.xyzw, v1.xyxx, t0.xyzw, s0 -mul r1.xyzw, r1.xyzw, cb0[1].xxxx -mul o0.xyzw, r0.xxxx, r1.xyzw -ret -// Approximately 6 instruction slots used -#endif - -const BYTE RGBAShaderMask[] = -{ - 68, 88, 66, 67, 100, 50, - 112, 237, 158, 118, 201, 119, - 153, 231, 223, 176, 232, 201, - 145, 152, 1, 0, 0, 0, - 56, 6, 0, 0, 6, 0, - 0, 0, 56, 0, 0, 0, - 24, 1, 0, 0, 52, 2, - 0, 0, 176, 2, 0, 0, - 148, 5, 0, 0, 4, 6, - 0, 0, 65, 111, 110, 57, - 216, 0, 0, 0, 216, 0, - 0, 0, 0, 2, 255, 255, - 160, 0, 0, 0, 56, 0, - 0, 0, 1, 0, 44, 0, - 0, 0, 56, 0, 0, 0, - 56, 0, 2, 0, 36, 0, - 0, 0, 56, 0, 0, 0, - 0, 0, 5, 0, 1, 0, - 0, 0, 1, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 1, 2, 255, 255, 31, 0, - 0, 2, 0, 0, 0, 128, - 0, 0, 3, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 1, 0, 7, 176, 31, 0, - 0, 2, 0, 0, 0, 144, - 0, 8, 15, 160, 31, 0, - 0, 2, 0, 0, 0, 144, - 1, 8, 15, 160, 6, 0, - 0, 2, 0, 0, 8, 128, - 1, 0, 170, 176, 5, 0, - 0, 3, 0, 0, 3, 128, - 0, 0, 255, 128, 1, 0, - 228, 176, 66, 0, 0, 3, - 1, 0, 15, 128, 0, 0, - 228, 176, 0, 8, 228, 160, - 66, 0, 0, 3, 0, 0, - 15, 128, 0, 0, 228, 128, - 1, 8, 228, 160, 5, 0, - 0, 3, 1, 0, 15, 128, - 1, 0, 228, 128, 0, 0, - 0, 160, 5, 0, 0, 3, - 0, 0, 15, 128, 0, 0, - 0, 128, 1, 0, 228, 128, - 1, 0, 0, 2, 0, 8, - 15, 128, 0, 0, 228, 128, - 255, 255, 0, 0, 83, 72, - 68, 82, 20, 1, 0, 0, - 64, 0, 0, 0, 69, 0, - 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 90, 0, 0, 3, 0, 96, - 16, 0, 0, 0, 0, 0, - 88, 24, 0, 4, 0, 112, - 16, 0, 0, 0, 0, 0, - 85, 85, 0, 0, 88, 24, - 0, 4, 0, 112, 16, 0, - 5, 0, 0, 0, 85, 85, - 0, 0, 98, 16, 0, 3, - 50, 16, 16, 0, 1, 0, - 0, 0, 98, 16, 0, 3, - 114, 16, 16, 0, 2, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 0, 0, - 0, 0, 104, 0, 0, 2, - 2, 0, 0, 0, 14, 0, - 0, 7, 50, 0, 16, 0, - 0, 0, 0, 0, 70, 16, - 16, 0, 2, 0, 0, 0, - 166, 26, 16, 0, 2, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 0, 0, - 0, 0, 70, 0, 16, 0, - 0, 0, 0, 0, 70, 126, - 16, 0, 5, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 1, 0, - 0, 0, 70, 16, 16, 0, - 1, 0, 0, 0, 70, 126, - 16, 0, 0, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 8, - 242, 0, 16, 0, 1, 0, - 0, 0, 70, 14, 16, 0, - 1, 0, 0, 0, 6, 128, - 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 56, 0, - 0, 7, 242, 32, 16, 0, - 0, 0, 0, 0, 6, 0, - 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 1, 0, - 0, 0, 62, 0, 0, 1, - 83, 84, 65, 84, 116, 0, - 0, 0, 6, 0, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 68, - 69, 70, 220, 2, 0, 0, - 1, 0, 0, 0, 188, 0, - 0, 0, 4, 0, 0, 0, - 28, 0, 0, 0, 0, 4, - 255, 255, 0, 1, 0, 0, - 168, 2, 0, 0, 156, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 1, 0, 0, 0, - 165, 0, 0, 0, 2, 0, - 0, 0, 5, 0, 0, 0, - 4, 0, 0, 0, 255, 255, - 255, 255, 0, 0, 0, 0, - 1, 0, 0, 0, 13, 0, - 0, 0, 170, 0, 0, 0, - 2, 0, 0, 0, 5, 0, - 0, 0, 4, 0, 0, 0, - 255, 255, 255, 255, 5, 0, - 0, 0, 1, 0, 0, 0, - 13, 0, 0, 0, 176, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 115, 83, 97, 109, 112, 108, - 101, 114, 0, 116, 82, 71, - 66, 0, 116, 77, 97, 115, - 107, 0, 36, 71, 108, 111, - 98, 97, 108, 115, 0, 171, - 171, 171, 176, 0, 0, 0, - 10, 0, 0, 0, 212, 0, - 0, 0, 48, 1, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 196, 1, 0, 0, - 0, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 208, 1, 0, 0, 0, 0, - 0, 0, 224, 1, 0, 0, - 16, 0, 0, 0, 4, 0, - 0, 0, 2, 0, 0, 0, - 240, 1, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 0, - 32, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 16, 2, 0, 0, 0, 0, - 0, 0, 32, 2, 0, 0, - 48, 0, 0, 0, 64, 0, - 0, 0, 0, 0, 0, 0, - 48, 2, 0, 0, 0, 0, - 0, 0, 64, 2, 0, 0, - 112, 0, 0, 0, 64, 0, - 0, 0, 0, 0, 0, 0, - 48, 2, 0, 0, 0, 0, - 0, 0, 76, 2, 0, 0, - 176, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 208, 1, 0, 0, 0, 0, - 0, 0, 96, 2, 0, 0, - 192, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 112, 2, 0, 0, 0, 0, - 0, 0, 128, 2, 0, 0, - 208, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 112, 2, 0, 0, 0, 0, - 0, 0, 139, 2, 0, 0, - 224, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 112, 2, 0, 0, 0, 0, - 0, 0, 149, 2, 0, 0, - 240, 0, 0, 0, 64, 0, - 0, 0, 0, 0, 0, 0, - 48, 2, 0, 0, 0, 0, - 0, 0, 102, 76, 97, 121, - 101, 114, 67, 111, 108, 111, - 114, 0, 1, 0, 3, 0, - 1, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 102, 76, 97, 121, 101, 114, - 79, 112, 97, 99, 105, 116, - 121, 0, 171, 171, 0, 0, - 3, 0, 1, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 105, 66, 108, 101, - 110, 100, 67, 111, 110, 102, - 105, 103, 0, 171, 171, 171, - 1, 0, 19, 0, 1, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 109, 76, - 97, 121, 101, 114, 84, 114, - 97, 110, 115, 102, 111, 114, - 109, 0, 3, 0, 3, 0, - 4, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 109, 80, 114, 111, 106, 101, - 99, 116, 105, 111, 110, 0, - 118, 82, 101, 110, 100, 101, - 114, 84, 97, 114, 103, 101, - 116, 79, 102, 102, 115, 101, - 116, 0, 118, 84, 101, 120, - 116, 117, 114, 101, 67, 111, - 111, 114, 100, 115, 0, 171, - 1, 0, 3, 0, 1, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 118, 76, - 97, 121, 101, 114, 81, 117, - 97, 100, 0, 118, 77, 97, - 115, 107, 81, 117, 97, 100, - 0, 109, 66, 97, 99, 107, - 100, 114, 111, 112, 84, 114, - 97, 110, 115, 102, 111, 114, - 109, 0, 77, 105, 99, 114, - 111, 115, 111, 102, 116, 32, - 40, 82, 41, 32, 72, 76, - 83, 76, 32, 83, 104, 97, - 100, 101, 114, 32, 67, 111, - 109, 112, 105, 108, 101, 114, - 32, 49, 48, 46, 48, 46, - 49, 48, 48, 49, 49, 46, - 49, 54, 51, 56, 52, 0, - 73, 83, 71, 78, 104, 0, - 0, 0, 3, 0, 0, 0, - 8, 0, 0, 0, 80, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 92, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 3, 3, 0, 0, 92, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 2, 0, 0, 0, - 7, 7, 0, 0, 83, 86, - 95, 80, 111, 115, 105, 116, - 105, 111, 110, 0, 84, 69, - 88, 67, 79, 79, 82, 68, - 0, 171, 171, 171, 79, 83, - 71, 78, 44, 0, 0, 0, - 1, 0, 0, 0, 8, 0, - 0, 0, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 83, 86, 95, 84, - 97, 114, 103, 101, 116, 0, - 171, 171 -}; +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer $Globals +// { +// +// float4 fLayerColor; // Offset: 0 Size: 16 [unused] +// float fLayerOpacity; // Offset: 16 Size: 4 +// uint4 iBlendConfig; // Offset: 32 Size: 16 [unused] +// row_major float3x3 mYuvColorMatrix;// Offset: 48 Size: 44 [unused] +// float4x4 mLayerTransform; // Offset: 96 Size: 64 [unused] +// float4x4 mProjection; // Offset: 160 Size: 64 [unused] +// float4 vRenderTargetOffset; // Offset: 224 Size: 16 [unused] +// float4 vTextureCoords; // Offset: 240 Size: 16 [unused] +// float4 vLayerQuad; // Offset: 256 Size: 16 [unused] +// float4 vMaskQuad; // Offset: 272 Size: 16 [unused] +// float4x4 mBackdropTransform; // Offset: 288 Size: 64 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim HLSL Bind Count +// ------------------------------ ---------- ------- ----------- -------------- ------ +// sSampler sampler NA NA s0 1 +// tRGB texture float4 2d t0 1 +// tMask texture float4 2d t5 1 +// $Globals cbuffer NA NA cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Position 0 xyzw 0 POS float +// TEXCOORD 0 xy 1 NONE float xy +// TEXCOORD 1 xyz 2 NONE float xyz +// +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Target 0 xyzw 0 TARGET float xyzw +// +// +// Constant buffer to DX9 shader constant mappings: +// +// Target Reg Buffer Start Reg # of Regs Data Conversion +// ---------- ------- --------- --------- ---------------------- +// c0 cb0 1 1 ( FLT, FLT, FLT, FLT) +// +// +// Sampler/Resource to DX9 shader sampler mappings: +// +// Target Sampler Source Sampler Source Resource +// -------------- --------------- ---------------- +// s0 s0 t0 +// s1 s0 t5 +// +// +// Level9 shader bytecode: +// + ps_2_x + dcl t0.xy + dcl t1.xyz + dcl_2d s0 + dcl_2d s1 + rcp r0.w, t1.z + mul r0.xy, r0.w, t1 + texld r1, t0, s0 + texld r0, r0, s1 + mul r1, r1, c0.x + mul r0, r0.x, r1 + mov oC0, r0 + +// approximately 7 instruction slots used (2 texture, 5 arithmetic) +ps_4_0 +dcl_constantbuffer CB0[2], immediateIndexed +dcl_sampler s0, mode_default +dcl_resource_texture2d (float,float,float,float) t0 +dcl_resource_texture2d (float,float,float,float) t5 +dcl_input_ps linear v1.xy +dcl_input_ps linear v2.xyz +dcl_output o0.xyzw +dcl_temps 2 +div r0.xy, v2.xyxx, v2.zzzz +sample r0.xyzw, r0.xyxx, t5.xyzw, s0 +sample r1.xyzw, v1.xyxx, t0.xyzw, s0 +mul r1.xyzw, r1.xyzw, cb0[1].xxxx +mul o0.xyzw, r0.xxxx, r1.xyzw +ret +// Approximately 6 instruction slots used +#endif + +const BYTE RGBAShaderMask[] = +{ + 68, 88, 66, 67, 195, 236, + 129, 118, 244, 48, 247, 117, + 155, 208, 5, 31, 9, 224, + 75, 19, 1, 0, 0, 0, + 100, 6, 0, 0, 6, 0, + 0, 0, 56, 0, 0, 0, + 24, 1, 0, 0, 52, 2, + 0, 0, 176, 2, 0, 0, + 192, 5, 0, 0, 48, 6, + 0, 0, 65, 111, 110, 57, + 216, 0, 0, 0, 216, 0, + 0, 0, 0, 2, 255, 255, + 160, 0, 0, 0, 56, 0, + 0, 0, 1, 0, 44, 0, + 0, 0, 56, 0, 0, 0, + 56, 0, 2, 0, 36, 0, + 0, 0, 56, 0, 0, 0, + 0, 0, 5, 0, 1, 0, + 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 1, 2, 255, 255, 31, 0, + 0, 2, 0, 0, 0, 128, + 0, 0, 3, 176, 31, 0, + 0, 2, 0, 0, 0, 128, + 1, 0, 7, 176, 31, 0, + 0, 2, 0, 0, 0, 144, + 0, 8, 15, 160, 31, 0, + 0, 2, 0, 0, 0, 144, + 1, 8, 15, 160, 6, 0, + 0, 2, 0, 0, 8, 128, + 1, 0, 170, 176, 5, 0, + 0, 3, 0, 0, 3, 128, + 0, 0, 255, 128, 1, 0, + 228, 176, 66, 0, 0, 3, + 1, 0, 15, 128, 0, 0, + 228, 176, 0, 8, 228, 160, + 66, 0, 0, 3, 0, 0, + 15, 128, 0, 0, 228, 128, + 1, 8, 228, 160, 5, 0, + 0, 3, 1, 0, 15, 128, + 1, 0, 228, 128, 0, 0, + 0, 160, 5, 0, 0, 3, + 0, 0, 15, 128, 0, 0, + 0, 128, 1, 0, 228, 128, + 1, 0, 0, 2, 0, 8, + 15, 128, 0, 0, 228, 128, + 255, 255, 0, 0, 83, 72, + 68, 82, 20, 1, 0, 0, + 64, 0, 0, 0, 69, 0, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 90, 0, 0, 3, 0, 96, + 16, 0, 0, 0, 0, 0, + 88, 24, 0, 4, 0, 112, + 16, 0, 0, 0, 0, 0, + 85, 85, 0, 0, 88, 24, + 0, 4, 0, 112, 16, 0, + 5, 0, 0, 0, 85, 85, + 0, 0, 98, 16, 0, 3, + 50, 16, 16, 0, 1, 0, + 0, 0, 98, 16, 0, 3, + 114, 16, 16, 0, 2, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 0, 0, + 0, 0, 104, 0, 0, 2, + 2, 0, 0, 0, 14, 0, + 0, 7, 50, 0, 16, 0, + 0, 0, 0, 0, 70, 16, + 16, 0, 2, 0, 0, 0, + 166, 26, 16, 0, 2, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 0, 16, 0, + 0, 0, 0, 0, 70, 126, + 16, 0, 5, 0, 0, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 16, 16, 0, + 1, 0, 0, 0, 70, 126, + 16, 0, 0, 0, 0, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 8, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 6, 128, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 56, 0, + 0, 7, 242, 32, 16, 0, + 0, 0, 0, 0, 6, 0, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 62, 0, 0, 1, + 83, 84, 65, 84, 116, 0, + 0, 0, 6, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 68, + 69, 70, 8, 3, 0, 0, + 1, 0, 0, 0, 188, 0, + 0, 0, 4, 0, 0, 0, + 28, 0, 0, 0, 0, 4, + 255, 255, 0, 1, 0, 0, + 224, 2, 0, 0, 156, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 165, 0, 0, 0, 2, 0, + 0, 0, 5, 0, 0, 0, + 4, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 1, 0, 0, 0, 13, 0, + 0, 0, 170, 0, 0, 0, + 2, 0, 0, 0, 5, 0, + 0, 0, 4, 0, 0, 0, + 255, 255, 255, 255, 5, 0, + 0, 0, 1, 0, 0, 0, + 13, 0, 0, 0, 176, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 115, 83, 97, 109, 112, 108, + 101, 114, 0, 116, 82, 71, + 66, 0, 116, 77, 97, 115, + 107, 0, 36, 71, 108, 111, + 98, 97, 108, 115, 0, 171, + 171, 171, 176, 0, 0, 0, + 11, 0, 0, 0, 212, 0, + 0, 0, 96, 1, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 220, 1, 0, 0, + 0, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 232, 1, 0, 0, 0, 0, + 0, 0, 248, 1, 0, 0, + 16, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 8, 2, 0, 0, 0, 0, + 0, 0, 24, 2, 0, 0, + 32, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 40, 2, 0, 0, 0, 0, + 0, 0, 56, 2, 0, 0, + 48, 0, 0, 0, 44, 0, + 0, 0, 0, 0, 0, 0, + 72, 2, 0, 0, 0, 0, + 0, 0, 88, 2, 0, 0, + 96, 0, 0, 0, 64, 0, + 0, 0, 0, 0, 0, 0, + 104, 2, 0, 0, 0, 0, + 0, 0, 120, 2, 0, 0, + 160, 0, 0, 0, 64, 0, + 0, 0, 0, 0, 0, 0, + 104, 2, 0, 0, 0, 0, + 0, 0, 132, 2, 0, 0, + 224, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 232, 1, 0, 0, 0, 0, + 0, 0, 152, 2, 0, 0, + 240, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 168, 2, 0, 0, 0, 0, + 0, 0, 184, 2, 0, 0, + 0, 1, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 168, 2, 0, 0, 0, 0, + 0, 0, 195, 2, 0, 0, + 16, 1, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 168, 2, 0, 0, 0, 0, + 0, 0, 205, 2, 0, 0, + 32, 1, 0, 0, 64, 0, + 0, 0, 0, 0, 0, 0, + 104, 2, 0, 0, 0, 0, + 0, 0, 102, 76, 97, 121, + 101, 114, 67, 111, 108, 111, + 114, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 102, 76, 97, 121, 101, 114, + 79, 112, 97, 99, 105, 116, + 121, 0, 171, 171, 0, 0, + 3, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 105, 66, 108, 101, + 110, 100, 67, 111, 110, 102, + 105, 103, 0, 171, 171, 171, + 1, 0, 19, 0, 1, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 109, 89, + 117, 118, 67, 111, 108, 111, + 114, 77, 97, 116, 114, 105, + 120, 0, 2, 0, 3, 0, + 3, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 109, 76, 97, 121, 101, 114, + 84, 114, 97, 110, 115, 102, + 111, 114, 109, 0, 3, 0, + 3, 0, 4, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 109, 80, 114, 111, + 106, 101, 99, 116, 105, 111, + 110, 0, 118, 82, 101, 110, + 100, 101, 114, 84, 97, 114, + 103, 101, 116, 79, 102, 102, + 115, 101, 116, 0, 118, 84, + 101, 120, 116, 117, 114, 101, + 67, 111, 111, 114, 100, 115, + 0, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 118, 76, 97, 121, 101, 114, + 81, 117, 97, 100, 0, 118, + 77, 97, 115, 107, 81, 117, + 97, 100, 0, 109, 66, 97, + 99, 107, 100, 114, 111, 112, + 84, 114, 97, 110, 115, 102, + 111, 114, 109, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 73, 83, 71, 78, + 104, 0, 0, 0, 3, 0, + 0, 0, 8, 0, 0, 0, + 80, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 92, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 3, 3, 0, 0, + 92, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 7, 7, 0, 0, + 83, 86, 95, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 171, 171, 171, + 79, 83, 71, 78, 44, 0, + 0, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 83, 86, + 95, 84, 97, 114, 103, 101, + 116, 0, 171, 171 +}; ShaderBytes sRGBAShaderMask = { RGBAShaderMask, sizeof(RGBAShaderMask) }; -#if 0 -// -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 -// -// -// Buffer Definitions: -// -// cbuffer $Globals -// { -// -// float4 fLayerColor; // Offset: 0 Size: 16 [unused] -// float fLayerOpacity; // Offset: 16 Size: 4 -// uint4 iBlendConfig; // Offset: 32 Size: 16 [unused] -// float4x4 mLayerTransform; // Offset: 48 Size: 64 [unused] -// float4x4 mProjection; // Offset: 112 Size: 64 [unused] -// float4 vRenderTargetOffset; // Offset: 176 Size: 16 [unused] -// float4 vTextureCoords; // Offset: 192 Size: 16 [unused] -// float4 vLayerQuad; // Offset: 208 Size: 16 [unused] -// float4 vMaskQuad; // Offset: 224 Size: 16 [unused] -// float4x4 mBackdropTransform; // Offset: 240 Size: 64 [unused] -// -// } -// -// -// Resource Bindings: -// -// Name Type Format Dim HLSL Bind Count -// ------------------------------ ---------- ------- ----------- -------------- ------ -// sSampler sampler NA NA s0 1 -// tY texture float4 2d t1 1 -// tCb texture float4 2d t2 1 -// tCr texture float4 2d t3 1 -// tMask texture float4 2d t5 1 -// $Globals cbuffer NA NA cb0 1 -// -// -// -// Input signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// SV_Position 0 xyzw 0 POS float -// TEXCOORD 0 xy 1 NONE float xy -// TEXCOORD 1 xyz 2 NONE float xyz -// -// -// Output signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// SV_Target 0 xyzw 0 TARGET float xyzw -// -// -// Constant buffer to DX9 shader constant mappings: -// -// Target Reg Buffer Start Reg # of Regs Data Conversion -// ---------- ------- --------- --------- ---------------------- -// c0 cb0 1 1 ( FLT, FLT, FLT, FLT) -// -// -// Sampler/Resource to DX9 shader sampler mappings: -// -// Target Sampler Source Sampler Source Resource -// -------------- --------------- ---------------- -// s0 s0 t1 -// s1 s0 t2 -// s2 s0 t3 -// s3 s0 t5 -// -// -// Level9 shader bytecode: -// - ps_2_x - def c1, -0.50195998, -0.0627499968, 1.59603, 0.812969983 - def c2, 1.16437995, 2.01723003, 0.391759992, 1 - dcl t0.xy - dcl t1.xyz - dcl_2d s0 - dcl_2d s1 - dcl_2d s2 - dcl_2d s3 - texld r0, t0, s0 - texld r1, t0, s2 - add r0.y, r1.x, c1.x - mul r0.yz, r0.y, c1.xzww - add r0.x, r0.x, c1.y - mad r0.z, r0.x, c2.x, -r0.z - mad r1.x, r0.x, c2.x, r0.y - rcp r0.y, t1.z - mul r2.xy, r0.y, t1 - texld r3, t0, s1 - texld r2, r2, s3 - add r0.y, r3.x, c1.x - mad r1.y, r0.y, -c2.z, r0.z - mul r0.y, r0.y, c2.y - mad r1.z, r0.x, c2.x, r0.y - mov r1.w, c2.w - mul r0, r1, c0.x - mul r0, r2.x, r0 - mov oC0, r0 - -// approximately 19 instruction slots used (4 texture, 15 arithmetic) -ps_4_0 -dcl_constantbuffer CB0[2], immediateIndexed -dcl_sampler s0, mode_default -dcl_resource_texture2d (float,float,float,float) t1 -dcl_resource_texture2d (float,float,float,float) t2 -dcl_resource_texture2d (float,float,float,float) t3 -dcl_resource_texture2d (float,float,float,float) t5 -dcl_input_ps linear v1.xy -dcl_input_ps linear v2.xyz -dcl_output o0.xyzw -dcl_temps 3 -sample r0.xyzw, v1.xyxx, t3.xyzw, s0 -add r0.x, r0.x, l(-0.501960) -mul r0.xy, r0.xxxx, l(1.596030, 0.812970, 0.000000, 0.000000) -sample r1.xyzw, v1.xyxx, t1.xyzw, s0 -add r0.z, r1.x, l(-0.062750) -mad r0.y, r0.z, l(1.164380), -r0.y -mad r1.x, r0.z, l(1.164380), r0.x -sample r2.xyzw, v1.xyxx, t2.xyzw, s0 -add r0.x, r2.x, l(-0.501960) -mad r1.y, -r0.x, l(0.391760), r0.y -mul r0.x, r0.x, l(2.017230) -mad r1.z, r0.z, l(1.164380), r0.x -mov r1.w, l(1.000000) -mul r0.xyzw, r1.xyzw, cb0[1].xxxx -div r1.xy, v2.xyxx, v2.zzzz -sample r1.xyzw, r1.xyxx, t5.xyzw, s0 -mul o0.xyzw, r0.xyzw, r1.xxxx -ret -// Approximately 18 instruction slots used -#endif - -const BYTE YCbCrShaderMask[] = -{ - 68, 88, 66, 67, 204, 171, - 122, 254, 247, 109, 96, 89, - 237, 176, 206, 43, 154, 27, - 195, 203, 1, 0, 0, 0, - 68, 9, 0, 0, 6, 0, - 0, 0, 56, 0, 0, 0, - 52, 2, 0, 0, 252, 4, - 0, 0, 120, 5, 0, 0, - 160, 8, 0, 0, 16, 9, - 0, 0, 65, 111, 110, 57, - 244, 1, 0, 0, 244, 1, - 0, 0, 0, 2, 255, 255, - 180, 1, 0, 0, 64, 0, - 0, 0, 1, 0, 52, 0, - 0, 0, 64, 0, 0, 0, - 64, 0, 4, 0, 36, 0, - 0, 0, 64, 0, 1, 0, - 0, 0, 2, 0, 1, 0, - 3, 0, 2, 0, 5, 0, - 3, 0, 0, 0, 1, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 1, 2, 255, 255, - 81, 0, 0, 5, 1, 0, - 15, 160, 115, 128, 0, 191, - 18, 131, 128, 189, 182, 74, - 204, 63, 205, 30, 80, 63, - 81, 0, 0, 5, 2, 0, - 15, 160, 103, 10, 149, 63, - 76, 26, 1, 64, 196, 148, - 200, 62, 0, 0, 128, 63, - 31, 0, 0, 2, 0, 0, - 0, 128, 0, 0, 3, 176, - 31, 0, 0, 2, 0, 0, - 0, 128, 1, 0, 7, 176, - 31, 0, 0, 2, 0, 0, - 0, 144, 0, 8, 15, 160, - 31, 0, 0, 2, 0, 0, - 0, 144, 1, 8, 15, 160, - 31, 0, 0, 2, 0, 0, - 0, 144, 2, 8, 15, 160, - 31, 0, 0, 2, 0, 0, - 0, 144, 3, 8, 15, 160, - 66, 0, 0, 3, 0, 0, - 15, 128, 0, 0, 228, 176, - 0, 8, 228, 160, 66, 0, - 0, 3, 1, 0, 15, 128, - 0, 0, 228, 176, 2, 8, - 228, 160, 2, 0, 0, 3, - 0, 0, 2, 128, 1, 0, - 0, 128, 1, 0, 0, 160, - 5, 0, 0, 3, 0, 0, - 6, 128, 0, 0, 85, 128, - 1, 0, 248, 160, 2, 0, - 0, 3, 0, 0, 1, 128, - 0, 0, 0, 128, 1, 0, - 85, 160, 4, 0, 0, 4, - 0, 0, 4, 128, 0, 0, - 0, 128, 2, 0, 0, 160, - 0, 0, 170, 129, 4, 0, - 0, 4, 1, 0, 1, 128, - 0, 0, 0, 128, 2, 0, - 0, 160, 0, 0, 85, 128, - 6, 0, 0, 2, 0, 0, - 2, 128, 1, 0, 170, 176, - 5, 0, 0, 3, 2, 0, - 3, 128, 0, 0, 85, 128, - 1, 0, 228, 176, 66, 0, - 0, 3, 3, 0, 15, 128, - 0, 0, 228, 176, 1, 8, - 228, 160, 66, 0, 0, 3, - 2, 0, 15, 128, 2, 0, - 228, 128, 3, 8, 228, 160, - 2, 0, 0, 3, 0, 0, - 2, 128, 3, 0, 0, 128, - 1, 0, 0, 160, 4, 0, - 0, 4, 1, 0, 2, 128, - 0, 0, 85, 128, 2, 0, - 170, 161, 0, 0, 170, 128, - 5, 0, 0, 3, 0, 0, - 2, 128, 0, 0, 85, 128, - 2, 0, 85, 160, 4, 0, - 0, 4, 1, 0, 4, 128, - 0, 0, 0, 128, 2, 0, - 0, 160, 0, 0, 85, 128, - 1, 0, 0, 2, 1, 0, - 8, 128, 2, 0, 255, 160, - 5, 0, 0, 3, 0, 0, - 15, 128, 1, 0, 228, 128, - 0, 0, 0, 160, 5, 0, - 0, 3, 0, 0, 15, 128, - 2, 0, 0, 128, 0, 0, - 228, 128, 1, 0, 0, 2, - 0, 8, 15, 128, 0, 0, - 228, 128, 255, 255, 0, 0, - 83, 72, 68, 82, 192, 2, - 0, 0, 64, 0, 0, 0, - 176, 0, 0, 0, 89, 0, - 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 90, 0, 0, 3, - 0, 96, 16, 0, 0, 0, - 0, 0, 88, 24, 0, 4, - 0, 112, 16, 0, 1, 0, - 0, 0, 85, 85, 0, 0, - 88, 24, 0, 4, 0, 112, - 16, 0, 2, 0, 0, 0, - 85, 85, 0, 0, 88, 24, - 0, 4, 0, 112, 16, 0, - 3, 0, 0, 0, 85, 85, - 0, 0, 88, 24, 0, 4, - 0, 112, 16, 0, 5, 0, - 0, 0, 85, 85, 0, 0, - 98, 16, 0, 3, 50, 16, - 16, 0, 1, 0, 0, 0, - 98, 16, 0, 3, 114, 16, - 16, 0, 2, 0, 0, 0, - 101, 0, 0, 3, 242, 32, - 16, 0, 0, 0, 0, 0, - 104, 0, 0, 2, 3, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 0, 0, - 0, 0, 70, 16, 16, 0, - 1, 0, 0, 0, 70, 126, - 16, 0, 3, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 0, 0, 0, 7, - 18, 0, 16, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 1, 64, - 0, 0, 115, 128, 0, 191, - 56, 0, 0, 10, 50, 0, - 16, 0, 0, 0, 0, 0, - 6, 0, 16, 0, 0, 0, - 0, 0, 2, 64, 0, 0, - 182, 74, 204, 63, 205, 30, - 80, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 69, 0, - 0, 9, 242, 0, 16, 0, - 1, 0, 0, 0, 70, 16, - 16, 0, 1, 0, 0, 0, - 70, 126, 16, 0, 1, 0, - 0, 0, 0, 96, 16, 0, - 0, 0, 0, 0, 0, 0, - 0, 7, 66, 0, 16, 0, - 0, 0, 0, 0, 10, 0, - 16, 0, 1, 0, 0, 0, - 1, 64, 0, 0, 18, 131, - 128, 189, 50, 0, 0, 10, - 34, 0, 16, 0, 0, 0, - 0, 0, 42, 0, 16, 0, - 0, 0, 0, 0, 1, 64, - 0, 0, 103, 10, 149, 63, - 26, 0, 16, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 50, 0, 0, 9, 18, 0, - 16, 0, 1, 0, 0, 0, - 42, 0, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 103, 10, 149, 63, 10, 0, - 16, 0, 0, 0, 0, 0, - 69, 0, 0, 9, 242, 0, - 16, 0, 2, 0, 0, 0, - 70, 16, 16, 0, 1, 0, - 0, 0, 70, 126, 16, 0, - 2, 0, 0, 0, 0, 96, - 16, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 18, 0, - 16, 0, 0, 0, 0, 0, - 10, 0, 16, 0, 2, 0, - 0, 0, 1, 64, 0, 0, - 115, 128, 0, 191, 50, 0, - 0, 10, 34, 0, 16, 0, - 1, 0, 0, 0, 10, 0, - 16, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 1, 64, - 0, 0, 196, 148, 200, 62, - 26, 0, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 7, - 18, 0, 16, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 1, 64, - 0, 0, 76, 26, 1, 64, - 50, 0, 0, 9, 66, 0, - 16, 0, 1, 0, 0, 0, - 42, 0, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 103, 10, 149, 63, 10, 0, - 16, 0, 0, 0, 0, 0, - 54, 0, 0, 5, 130, 0, - 16, 0, 1, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 128, 63, 56, 0, 0, 8, - 242, 0, 16, 0, 0, 0, - 0, 0, 70, 14, 16, 0, - 1, 0, 0, 0, 6, 128, - 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 14, 0, - 0, 7, 50, 0, 16, 0, - 1, 0, 0, 0, 70, 16, - 16, 0, 2, 0, 0, 0, - 166, 26, 16, 0, 2, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 1, 0, - 0, 0, 70, 0, 16, 0, - 1, 0, 0, 0, 70, 126, - 16, 0, 5, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 7, - 242, 32, 16, 0, 0, 0, - 0, 0, 70, 14, 16, 0, - 0, 0, 0, 0, 6, 0, - 16, 0, 1, 0, 0, 0, - 62, 0, 0, 1, 83, 84, - 65, 84, 116, 0, 0, 0, - 18, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 12, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 82, 68, 69, 70, - 32, 3, 0, 0, 1, 0, - 0, 0, 0, 1, 0, 0, - 6, 0, 0, 0, 28, 0, - 0, 0, 0, 4, 255, 255, - 0, 1, 0, 0, 236, 2, - 0, 0, 220, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 1, 0, 0, 0, 229, 0, - 0, 0, 2, 0, 0, 0, - 5, 0, 0, 0, 4, 0, - 0, 0, 255, 255, 255, 255, - 1, 0, 0, 0, 1, 0, - 0, 0, 13, 0, 0, 0, - 232, 0, 0, 0, 2, 0, - 0, 0, 5, 0, 0, 0, - 4, 0, 0, 0, 255, 255, - 255, 255, 2, 0, 0, 0, - 1, 0, 0, 0, 13, 0, - 0, 0, 236, 0, 0, 0, - 2, 0, 0, 0, 5, 0, - 0, 0, 4, 0, 0, 0, - 255, 255, 255, 255, 3, 0, - 0, 0, 1, 0, 0, 0, - 13, 0, 0, 0, 240, 0, - 0, 0, 2, 0, 0, 0, - 5, 0, 0, 0, 4, 0, - 0, 0, 255, 255, 255, 255, - 5, 0, 0, 0, 1, 0, - 0, 0, 13, 0, 0, 0, - 246, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 115, 83, 97, 109, - 112, 108, 101, 114, 0, 116, - 89, 0, 116, 67, 98, 0, - 116, 67, 114, 0, 116, 77, - 97, 115, 107, 0, 36, 71, - 108, 111, 98, 97, 108, 115, - 0, 171, 246, 0, 0, 0, - 10, 0, 0, 0, 24, 1, - 0, 0, 48, 1, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 8, 2, 0, 0, - 0, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 20, 2, 0, 0, 0, 0, - 0, 0, 36, 2, 0, 0, - 16, 0, 0, 0, 4, 0, - 0, 0, 2, 0, 0, 0, - 52, 2, 0, 0, 0, 0, - 0, 0, 68, 2, 0, 0, - 32, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 84, 2, 0, 0, 0, 0, - 0, 0, 100, 2, 0, 0, - 48, 0, 0, 0, 64, 0, - 0, 0, 0, 0, 0, 0, - 116, 2, 0, 0, 0, 0, - 0, 0, 132, 2, 0, 0, - 112, 0, 0, 0, 64, 0, - 0, 0, 0, 0, 0, 0, - 116, 2, 0, 0, 0, 0, - 0, 0, 144, 2, 0, 0, - 176, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 20, 2, 0, 0, 0, 0, - 0, 0, 164, 2, 0, 0, - 192, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 180, 2, 0, 0, 0, 0, - 0, 0, 196, 2, 0, 0, - 208, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 180, 2, 0, 0, 0, 0, - 0, 0, 207, 2, 0, 0, - 224, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 180, 2, 0, 0, 0, 0, - 0, 0, 217, 2, 0, 0, - 240, 0, 0, 0, 64, 0, - 0, 0, 0, 0, 0, 0, - 116, 2, 0, 0, 0, 0, - 0, 0, 102, 76, 97, 121, - 101, 114, 67, 111, 108, 111, - 114, 0, 1, 0, 3, 0, - 1, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 102, 76, 97, 121, 101, 114, - 79, 112, 97, 99, 105, 116, - 121, 0, 171, 171, 0, 0, - 3, 0, 1, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 105, 66, 108, 101, - 110, 100, 67, 111, 110, 102, - 105, 103, 0, 171, 171, 171, - 1, 0, 19, 0, 1, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 109, 76, - 97, 121, 101, 114, 84, 114, - 97, 110, 115, 102, 111, 114, - 109, 0, 3, 0, 3, 0, - 4, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 109, 80, 114, 111, 106, 101, - 99, 116, 105, 111, 110, 0, - 118, 82, 101, 110, 100, 101, - 114, 84, 97, 114, 103, 101, - 116, 79, 102, 102, 115, 101, - 116, 0, 118, 84, 101, 120, - 116, 117, 114, 101, 67, 111, - 111, 114, 100, 115, 0, 171, - 1, 0, 3, 0, 1, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 118, 76, - 97, 121, 101, 114, 81, 117, - 97, 100, 0, 118, 77, 97, - 115, 107, 81, 117, 97, 100, - 0, 109, 66, 97, 99, 107, - 100, 114, 111, 112, 84, 114, - 97, 110, 115, 102, 111, 114, - 109, 0, 77, 105, 99, 114, - 111, 115, 111, 102, 116, 32, - 40, 82, 41, 32, 72, 76, - 83, 76, 32, 83, 104, 97, - 100, 101, 114, 32, 67, 111, - 109, 112, 105, 108, 101, 114, - 32, 49, 48, 46, 48, 46, - 49, 48, 48, 49, 49, 46, - 49, 54, 51, 56, 52, 0, - 73, 83, 71, 78, 104, 0, - 0, 0, 3, 0, 0, 0, - 8, 0, 0, 0, 80, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 92, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 3, 3, 0, 0, 92, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 2, 0, 0, 0, - 7, 7, 0, 0, 83, 86, - 95, 80, 111, 115, 105, 116, - 105, 111, 110, 0, 84, 69, - 88, 67, 79, 79, 82, 68, - 0, 171, 171, 171, 79, 83, - 71, 78, 44, 0, 0, 0, - 1, 0, 0, 0, 8, 0, - 0, 0, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 83, 86, 95, 84, - 97, 114, 103, 101, 116, 0, - 171, 171 -}; +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer $Globals +// { +// +// float4 fLayerColor; // Offset: 0 Size: 16 [unused] +// float fLayerOpacity; // Offset: 16 Size: 4 +// uint4 iBlendConfig; // Offset: 32 Size: 16 [unused] +// row_major float3x3 mYuvColorMatrix;// Offset: 48 Size: 44 +// float4x4 mLayerTransform; // Offset: 96 Size: 64 [unused] +// float4x4 mProjection; // Offset: 160 Size: 64 [unused] +// float4 vRenderTargetOffset; // Offset: 224 Size: 16 [unused] +// float4 vTextureCoords; // Offset: 240 Size: 16 [unused] +// float4 vLayerQuad; // Offset: 256 Size: 16 [unused] +// float4 vMaskQuad; // Offset: 272 Size: 16 [unused] +// float4x4 mBackdropTransform; // Offset: 288 Size: 64 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim HLSL Bind Count +// ------------------------------ ---------- ------- ----------- -------------- ------ +// sSampler sampler NA NA s0 1 +// tY texture float4 2d t1 1 +// tCb texture float4 2d t2 1 +// tCr texture float4 2d t3 1 +// tMask texture float4 2d t5 1 +// $Globals cbuffer NA NA cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Position 0 xyzw 0 POS float +// TEXCOORD 0 xy 1 NONE float xy +// TEXCOORD 1 xyz 2 NONE float xyz +// +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Target 0 xyzw 0 TARGET float xyzw +// +// +// Constant buffer to DX9 shader constant mappings: +// +// Target Reg Buffer Start Reg # of Regs Data Conversion +// ---------- ------- --------- --------- ---------------------- +// c0 cb0 1 1 ( FLT, FLT, FLT, FLT) +// c1 cb0 3 3 ( FLT, FLT, FLT, FLT) +// +// +// Sampler/Resource to DX9 shader sampler mappings: +// +// Target Sampler Source Sampler Source Resource +// -------------- --------------- ---------------- +// s0 s0 t1 +// s1 s0 t2 +// s2 s0 t3 +// s3 s0 t5 +// +// +// Level9 shader bytecode: +// + ps_2_x + def c4, -0.0627499968, -0.50195998, 1, 0 + dcl t0.xy + dcl t1.xyz + dcl_2d s0 + dcl_2d s1 + dcl_2d s2 + dcl_2d s3 + mov r0.w, c4.z + texld r1, t0, s1 + texld r2, t0, s0 + add r2.x, r2.x, c4.x + add r2.y, r1.x, c4.y + rcp r2.w, t1.z + mul r1.xy, r2.w, t1 + texld r3, t0, s2 + texld r1, r1, s3 + add r2.z, r3.x, c4.y + dp3 r0.x, c1, r2 + dp3 r0.y, c2, r2 + dp3 r0.z, c3, r2 + mul r0, r0, c0.x + mul r0, r1.x, r0 + mov oC0, r0 + +// approximately 16 instruction slots used (4 texture, 12 arithmetic) +ps_4_0 +dcl_constantbuffer CB0[6], immediateIndexed +dcl_sampler s0, mode_default +dcl_resource_texture2d (float,float,float,float) t1 +dcl_resource_texture2d (float,float,float,float) t2 +dcl_resource_texture2d (float,float,float,float) t3 +dcl_resource_texture2d (float,float,float,float) t5 +dcl_input_ps linear v1.xy +dcl_input_ps linear v2.xyz +dcl_output o0.xyzw +dcl_temps 3 +mov r0.w, l(1.000000) +sample r1.xyzw, v1.xyxx, t1.xyzw, s0 +add r1.x, r1.x, l(-0.062750) +sample r2.xyzw, v1.xyxx, t2.xyzw, s0 +add r1.y, r2.x, l(-0.501960) +sample r2.xyzw, v1.xyxx, t3.xyzw, s0 +add r1.z, r2.x, l(-0.501960) +dp3 r0.x, cb0[3].xyzx, r1.xyzx +dp3 r0.y, cb0[4].xyzx, r1.xyzx +dp3 r0.z, cb0[5].xyzx, r1.xyzx +mul r0.xyzw, r0.xyzw, cb0[1].xxxx +div r1.xy, v2.xyxx, v2.zzzz +sample r1.xyzw, r1.xyxx, t5.xyzw, s0 +mul o0.xyzw, r0.xyzw, r1.xxxx +ret +// Approximately 15 instruction slots used +#endif + +const BYTE YCbCrShaderMask[] = +{ + 68, 88, 66, 67, 239, 174, + 189, 163, 31, 16, 244, 108, + 86, 227, 23, 8, 28, 147, + 43, 62, 1, 0, 0, 0, + 168, 8, 0, 0, 6, 0, + 0, 0, 56, 0, 0, 0, + 232, 1, 0, 0, 52, 4, + 0, 0, 176, 4, 0, 0, + 4, 8, 0, 0, 116, 8, + 0, 0, 65, 111, 110, 57, + 168, 1, 0, 0, 168, 1, + 0, 0, 0, 2, 255, 255, + 92, 1, 0, 0, 76, 0, + 0, 0, 2, 0, 52, 0, + 0, 0, 76, 0, 0, 0, + 76, 0, 4, 0, 36, 0, + 0, 0, 76, 0, 1, 0, + 0, 0, 2, 0, 1, 0, + 3, 0, 2, 0, 5, 0, + 3, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 1, 2, 255, 255, + 81, 0, 0, 5, 4, 0, + 15, 160, 18, 131, 128, 189, + 115, 128, 0, 191, 0, 0, + 128, 63, 0, 0, 0, 0, + 31, 0, 0, 2, 0, 0, + 0, 128, 0, 0, 3, 176, + 31, 0, 0, 2, 0, 0, + 0, 128, 1, 0, 7, 176, + 31, 0, 0, 2, 0, 0, + 0, 144, 0, 8, 15, 160, + 31, 0, 0, 2, 0, 0, + 0, 144, 1, 8, 15, 160, + 31, 0, 0, 2, 0, 0, + 0, 144, 2, 8, 15, 160, + 31, 0, 0, 2, 0, 0, + 0, 144, 3, 8, 15, 160, + 1, 0, 0, 2, 0, 0, + 8, 128, 4, 0, 170, 160, + 66, 0, 0, 3, 1, 0, + 15, 128, 0, 0, 228, 176, + 1, 8, 228, 160, 66, 0, + 0, 3, 2, 0, 15, 128, + 0, 0, 228, 176, 0, 8, + 228, 160, 2, 0, 0, 3, + 2, 0, 1, 128, 2, 0, + 0, 128, 4, 0, 0, 160, + 2, 0, 0, 3, 2, 0, + 2, 128, 1, 0, 0, 128, + 4, 0, 85, 160, 6, 0, + 0, 2, 2, 0, 8, 128, + 1, 0, 170, 176, 5, 0, + 0, 3, 1, 0, 3, 128, + 2, 0, 255, 128, 1, 0, + 228, 176, 66, 0, 0, 3, + 3, 0, 15, 128, 0, 0, + 228, 176, 2, 8, 228, 160, + 66, 0, 0, 3, 1, 0, + 15, 128, 1, 0, 228, 128, + 3, 8, 228, 160, 2, 0, + 0, 3, 2, 0, 4, 128, + 3, 0, 0, 128, 4, 0, + 85, 160, 8, 0, 0, 3, + 0, 0, 1, 128, 1, 0, + 228, 160, 2, 0, 228, 128, + 8, 0, 0, 3, 0, 0, + 2, 128, 2, 0, 228, 160, + 2, 0, 228, 128, 8, 0, + 0, 3, 0, 0, 4, 128, + 3, 0, 228, 160, 2, 0, + 228, 128, 5, 0, 0, 3, + 0, 0, 15, 128, 0, 0, + 228, 128, 0, 0, 0, 160, + 5, 0, 0, 3, 0, 0, + 15, 128, 1, 0, 0, 128, + 0, 0, 228, 128, 1, 0, + 0, 2, 0, 8, 15, 128, + 0, 0, 228, 128, 255, 255, + 0, 0, 83, 72, 68, 82, + 68, 2, 0, 0, 64, 0, + 0, 0, 145, 0, 0, 0, + 89, 0, 0, 4, 70, 142, + 32, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 90, 0, + 0, 3, 0, 96, 16, 0, + 0, 0, 0, 0, 88, 24, + 0, 4, 0, 112, 16, 0, + 1, 0, 0, 0, 85, 85, + 0, 0, 88, 24, 0, 4, + 0, 112, 16, 0, 2, 0, + 0, 0, 85, 85, 0, 0, + 88, 24, 0, 4, 0, 112, + 16, 0, 3, 0, 0, 0, + 85, 85, 0, 0, 88, 24, + 0, 4, 0, 112, 16, 0, + 5, 0, 0, 0, 85, 85, + 0, 0, 98, 16, 0, 3, + 50, 16, 16, 0, 1, 0, + 0, 0, 98, 16, 0, 3, + 114, 16, 16, 0, 2, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 0, 0, + 0, 0, 104, 0, 0, 2, + 3, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 128, 63, + 69, 0, 0, 9, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 16, 16, 0, 1, 0, + 0, 0, 70, 126, 16, 0, + 1, 0, 0, 0, 0, 96, + 16, 0, 0, 0, 0, 0, + 0, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 18, 131, 128, 189, 69, 0, + 0, 9, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 16, + 16, 0, 1, 0, 0, 0, + 70, 126, 16, 0, 2, 0, + 0, 0, 0, 96, 16, 0, + 0, 0, 0, 0, 0, 0, + 0, 7, 34, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 115, 128, + 0, 191, 69, 0, 0, 9, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 16, 16, 0, + 1, 0, 0, 0, 70, 126, + 16, 0, 3, 0, 0, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 0, 0, 0, 7, + 66, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 115, 128, 0, 191, + 16, 0, 0, 8, 18, 0, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 16, 0, 0, 8, + 34, 0, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 16, 0, + 0, 8, 66, 0, 16, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 56, 0, 0, 8, 242, 0, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 0, 0, + 0, 0, 6, 128, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 14, 0, 0, 7, + 50, 0, 16, 0, 1, 0, + 0, 0, 70, 16, 16, 0, + 2, 0, 0, 0, 166, 26, + 16, 0, 2, 0, 0, 0, + 69, 0, 0, 9, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 0, 16, 0, 1, 0, + 0, 0, 70, 126, 16, 0, + 5, 0, 0, 0, 0, 96, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 7, 242, 32, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 0, 0, + 0, 0, 6, 0, 16, 0, + 1, 0, 0, 0, 62, 0, + 0, 1, 83, 84, 65, 84, + 116, 0, 0, 0, 15, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 9, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 82, 68, 69, 70, 76, 3, + 0, 0, 1, 0, 0, 0, + 0, 1, 0, 0, 6, 0, + 0, 0, 28, 0, 0, 0, + 0, 4, 255, 255, 0, 1, + 0, 0, 36, 3, 0, 0, + 220, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 229, 0, 0, 0, + 2, 0, 0, 0, 5, 0, + 0, 0, 4, 0, 0, 0, + 255, 255, 255, 255, 1, 0, + 0, 0, 1, 0, 0, 0, + 13, 0, 0, 0, 232, 0, + 0, 0, 2, 0, 0, 0, + 5, 0, 0, 0, 4, 0, + 0, 0, 255, 255, 255, 255, + 2, 0, 0, 0, 1, 0, + 0, 0, 13, 0, 0, 0, + 236, 0, 0, 0, 2, 0, + 0, 0, 5, 0, 0, 0, + 4, 0, 0, 0, 255, 255, + 255, 255, 3, 0, 0, 0, + 1, 0, 0, 0, 13, 0, + 0, 0, 240, 0, 0, 0, + 2, 0, 0, 0, 5, 0, + 0, 0, 4, 0, 0, 0, + 255, 255, 255, 255, 5, 0, + 0, 0, 1, 0, 0, 0, + 13, 0, 0, 0, 246, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 115, 83, 97, 109, 112, 108, + 101, 114, 0, 116, 89, 0, + 116, 67, 98, 0, 116, 67, + 114, 0, 116, 77, 97, 115, + 107, 0, 36, 71, 108, 111, + 98, 97, 108, 115, 0, 171, + 246, 0, 0, 0, 11, 0, + 0, 0, 24, 1, 0, 0, + 96, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 32, 2, 0, 0, 0, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 44, 2, + 0, 0, 0, 0, 0, 0, + 60, 2, 0, 0, 16, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 76, 2, + 0, 0, 0, 0, 0, 0, + 92, 2, 0, 0, 32, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 108, 2, + 0, 0, 0, 0, 0, 0, + 124, 2, 0, 0, 48, 0, + 0, 0, 44, 0, 0, 0, + 2, 0, 0, 0, 140, 2, + 0, 0, 0, 0, 0, 0, + 156, 2, 0, 0, 96, 0, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 172, 2, + 0, 0, 0, 0, 0, 0, + 188, 2, 0, 0, 160, 0, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 172, 2, + 0, 0, 0, 0, 0, 0, + 200, 2, 0, 0, 224, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 44, 2, + 0, 0, 0, 0, 0, 0, + 220, 2, 0, 0, 240, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 236, 2, + 0, 0, 0, 0, 0, 0, + 252, 2, 0, 0, 0, 1, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 236, 2, + 0, 0, 0, 0, 0, 0, + 7, 3, 0, 0, 16, 1, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 236, 2, + 0, 0, 0, 0, 0, 0, + 17, 3, 0, 0, 32, 1, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 172, 2, + 0, 0, 0, 0, 0, 0, + 102, 76, 97, 121, 101, 114, + 67, 111, 108, 111, 114, 0, + 1, 0, 3, 0, 1, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 102, 76, + 97, 121, 101, 114, 79, 112, + 97, 99, 105, 116, 121, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 105, 66, 108, 101, 110, 100, + 67, 111, 110, 102, 105, 103, + 0, 171, 171, 171, 1, 0, + 19, 0, 1, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 109, 89, 117, 118, + 67, 111, 108, 111, 114, 77, + 97, 116, 114, 105, 120, 0, + 2, 0, 3, 0, 3, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 109, 76, + 97, 121, 101, 114, 84, 114, + 97, 110, 115, 102, 111, 114, + 109, 0, 3, 0, 3, 0, + 4, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 109, 80, 114, 111, 106, 101, + 99, 116, 105, 111, 110, 0, + 118, 82, 101, 110, 100, 101, + 114, 84, 97, 114, 103, 101, + 116, 79, 102, 102, 115, 101, + 116, 0, 118, 84, 101, 120, + 116, 117, 114, 101, 67, 111, + 111, 114, 100, 115, 0, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 118, 76, + 97, 121, 101, 114, 81, 117, + 97, 100, 0, 118, 77, 97, + 115, 107, 81, 117, 97, 100, + 0, 109, 66, 97, 99, 107, + 100, 114, 111, 112, 84, 114, + 97, 110, 115, 102, 111, 114, + 109, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 73, 83, 71, 78, 104, 0, + 0, 0, 3, 0, 0, 0, + 8, 0, 0, 0, 80, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 92, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 3, 3, 0, 0, 92, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 7, 7, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 171, 171, 171, 79, 83, + 71, 78, 44, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 83, 86, 95, 84, + 97, 114, 103, 101, 116, 0, + 171, 171 +}; ShaderBytes sYCbCrShaderMask = { YCbCrShaderMask, sizeof(YCbCrShaderMask) }; -#if 0 -// -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 -// -// -// Buffer Definitions: -// -// cbuffer $Globals -// { -// -// float4 fLayerColor; // Offset: 0 Size: 16 [unused] -// float fLayerOpacity; // Offset: 16 Size: 4 -// uint4 iBlendConfig; // Offset: 32 Size: 16 [unused] -// float4x4 mLayerTransform; // Offset: 48 Size: 64 [unused] -// float4x4 mProjection; // Offset: 112 Size: 64 [unused] -// float4 vRenderTargetOffset; // Offset: 176 Size: 16 [unused] -// float4 vTextureCoords; // Offset: 192 Size: 16 [unused] -// float4 vLayerQuad; // Offset: 208 Size: 16 [unused] -// float4 vMaskQuad; // Offset: 224 Size: 16 [unused] -// float4x4 mBackdropTransform; // Offset: 240 Size: 64 [unused] -// -// } -// -// -// Resource Bindings: -// -// Name Type Format Dim HLSL Bind Count -// ------------------------------ ---------- ------- ----------- -------------- ------ -// sSampler sampler NA NA s0 1 -// tRGB texture float4 2d t0 1 -// tRGBWhite texture float4 2d t4 1 -// tMask texture float4 2d t5 1 -// $Globals cbuffer NA NA cb0 1 -// -// -// -// Input signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// SV_Position 0 xyzw 0 POS float -// TEXCOORD 0 xy 1 NONE float xy -// TEXCOORD 1 xyz 2 NONE float xyz -// -// -// Output signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// SV_Target 0 xyzw 0 TARGET float xyzw -// SV_Target 1 xyzw 1 TARGET float xyzw -// -// -// Constant buffer to DX9 shader constant mappings: -// -// Target Reg Buffer Start Reg # of Regs Data Conversion -// ---------- ------- --------- --------- ---------------------- -// c0 cb0 1 1 ( FLT, FLT, FLT, FLT) -// -// -// Sampler/Resource to DX9 shader sampler mappings: -// -// Target Sampler Source Sampler Source Resource -// -------------- --------------- ---------------- -// s0 s0 t0 -// s1 s0 t4 -// s2 s0 t5 -// -// -// Level9 shader bytecode: -// - ps_2_x - def c1, 1, 0, 0, 0 - dcl t0.xy - dcl t1.xyz - dcl_2d s0 - dcl_2d s1 - dcl_2d s2 - rcp r0.w, t1.z - mul r0.xy, r0.w, t1 - texld r0, r0, s2 - mul r0.x, r0.x, c0.x - texld r1, t0, s0 - texld r2, t0, s1 - add r2, r1, -r2 - add r2, r2, c1.x - mov r1.w, r2.y - mul r2, r0.x, r2 - mul r0, r0.x, r1 - mov oC0, r0 - mov oC1, r2 - -// approximately 13 instruction slots used (3 texture, 10 arithmetic) -ps_4_0 -dcl_constantbuffer CB0[2], immediateIndexed -dcl_sampler s0, mode_default -dcl_resource_texture2d (float,float,float,float) t0 -dcl_resource_texture2d (float,float,float,float) t4 -dcl_resource_texture2d (float,float,float,float) t5 -dcl_input_ps linear v1.xy -dcl_input_ps linear v2.xyz -dcl_output o0.xyzw -dcl_output o1.xyzw -dcl_temps 3 -div r0.xy, v2.xyxx, v2.zzzz -sample r0.xyzw, r0.xyxx, t5.xyzw, s0 -mul r0.x, r0.x, cb0[1].x -sample r1.xyzw, v1.xyxx, t4.xyzw, s0 -sample r2.xyzw, v1.xyxx, t0.xyzw, s0 -add r1.xyzw, -r1.xyzw, r2.xyzw -add r1.xyzw, r1.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000) -mov r2.w, r1.y -mul o1.xyzw, r0.xxxx, r1.xyzw -mul o0.xyzw, r0.xxxx, r2.xyzw -ret -// Approximately 11 instruction slots used -#endif - -const BYTE ComponentAlphaShaderMask[] = -{ - 68, 88, 66, 67, 15, 154, - 37, 42, 228, 90, 173, 36, - 200, 249, 246, 236, 145, 93, - 169, 30, 1, 0, 0, 0, - 176, 7, 0, 0, 6, 0, - 0, 0, 56, 0, 0, 0, - 152, 1, 0, 0, 108, 3, - 0, 0, 232, 3, 0, 0, - 244, 6, 0, 0, 100, 7, - 0, 0, 65, 111, 110, 57, - 88, 1, 0, 0, 88, 1, - 0, 0, 0, 2, 255, 255, - 28, 1, 0, 0, 60, 0, - 0, 0, 1, 0, 48, 0, - 0, 0, 60, 0, 0, 0, - 60, 0, 3, 0, 36, 0, - 0, 0, 60, 0, 0, 0, - 0, 0, 4, 0, 1, 0, - 5, 0, 2, 0, 0, 0, - 1, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 1, 2, - 255, 255, 81, 0, 0, 5, - 1, 0, 15, 160, 0, 0, - 128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 31, 0, 0, 2, - 0, 0, 0, 128, 0, 0, - 3, 176, 31, 0, 0, 2, - 0, 0, 0, 128, 1, 0, - 7, 176, 31, 0, 0, 2, - 0, 0, 0, 144, 0, 8, - 15, 160, 31, 0, 0, 2, - 0, 0, 0, 144, 1, 8, - 15, 160, 31, 0, 0, 2, - 0, 0, 0, 144, 2, 8, - 15, 160, 6, 0, 0, 2, - 0, 0, 8, 128, 1, 0, - 170, 176, 5, 0, 0, 3, - 0, 0, 3, 128, 0, 0, - 255, 128, 1, 0, 228, 176, - 66, 0, 0, 3, 0, 0, - 15, 128, 0, 0, 228, 128, - 2, 8, 228, 160, 5, 0, - 0, 3, 0, 0, 1, 128, - 0, 0, 0, 128, 0, 0, - 0, 160, 66, 0, 0, 3, - 1, 0, 15, 128, 0, 0, - 228, 176, 0, 8, 228, 160, - 66, 0, 0, 3, 2, 0, - 15, 128, 0, 0, 228, 176, - 1, 8, 228, 160, 2, 0, - 0, 3, 2, 0, 15, 128, - 1, 0, 228, 128, 2, 0, - 228, 129, 2, 0, 0, 3, - 2, 0, 15, 128, 2, 0, - 228, 128, 1, 0, 0, 160, - 1, 0, 0, 2, 1, 0, - 8, 128, 2, 0, 85, 128, - 5, 0, 0, 3, 2, 0, - 15, 128, 0, 0, 0, 128, - 2, 0, 228, 128, 5, 0, - 0, 3, 0, 0, 15, 128, - 0, 0, 0, 128, 1, 0, - 228, 128, 1, 0, 0, 2, - 0, 8, 15, 128, 0, 0, - 228, 128, 1, 0, 0, 2, - 1, 8, 15, 128, 2, 0, - 228, 128, 255, 255, 0, 0, - 83, 72, 68, 82, 204, 1, - 0, 0, 64, 0, 0, 0, - 115, 0, 0, 0, 89, 0, - 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 90, 0, 0, 3, - 0, 96, 16, 0, 0, 0, - 0, 0, 88, 24, 0, 4, - 0, 112, 16, 0, 0, 0, - 0, 0, 85, 85, 0, 0, - 88, 24, 0, 4, 0, 112, - 16, 0, 4, 0, 0, 0, - 85, 85, 0, 0, 88, 24, - 0, 4, 0, 112, 16, 0, - 5, 0, 0, 0, 85, 85, - 0, 0, 98, 16, 0, 3, - 50, 16, 16, 0, 1, 0, - 0, 0, 98, 16, 0, 3, - 114, 16, 16, 0, 2, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 0, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 1, 0, - 0, 0, 104, 0, 0, 2, - 3, 0, 0, 0, 14, 0, - 0, 7, 50, 0, 16, 0, - 0, 0, 0, 0, 70, 16, - 16, 0, 2, 0, 0, 0, - 166, 26, 16, 0, 2, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 0, 0, - 0, 0, 70, 0, 16, 0, - 0, 0, 0, 0, 70, 126, - 16, 0, 5, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 8, - 18, 0, 16, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 10, 128, - 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 69, 0, - 0, 9, 242, 0, 16, 0, - 1, 0, 0, 0, 70, 16, - 16, 0, 1, 0, 0, 0, - 70, 126, 16, 0, 4, 0, - 0, 0, 0, 96, 16, 0, - 0, 0, 0, 0, 69, 0, - 0, 9, 242, 0, 16, 0, - 2, 0, 0, 0, 70, 16, - 16, 0, 1, 0, 0, 0, - 70, 126, 16, 0, 0, 0, - 0, 0, 0, 96, 16, 0, - 0, 0, 0, 0, 0, 0, - 0, 8, 242, 0, 16, 0, - 1, 0, 0, 0, 70, 14, - 16, 128, 65, 0, 0, 0, - 1, 0, 0, 0, 70, 14, - 16, 0, 2, 0, 0, 0, - 0, 0, 0, 10, 242, 0, - 16, 0, 1, 0, 0, 0, - 70, 14, 16, 0, 1, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 128, 63, 0, 0, - 128, 63, 0, 0, 128, 63, - 0, 0, 128, 63, 54, 0, - 0, 5, 130, 0, 16, 0, - 2, 0, 0, 0, 26, 0, - 16, 0, 1, 0, 0, 0, - 56, 0, 0, 7, 242, 32, - 16, 0, 1, 0, 0, 0, - 6, 0, 16, 0, 0, 0, - 0, 0, 70, 14, 16, 0, - 1, 0, 0, 0, 56, 0, - 0, 7, 242, 32, 16, 0, - 0, 0, 0, 0, 6, 0, - 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 2, 0, - 0, 0, 62, 0, 0, 1, - 83, 84, 65, 84, 116, 0, - 0, 0, 11, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 4, 0, 0, 0, - 6, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 68, - 69, 70, 4, 3, 0, 0, - 1, 0, 0, 0, 228, 0, - 0, 0, 5, 0, 0, 0, - 28, 0, 0, 0, 0, 4, - 255, 255, 0, 1, 0, 0, - 208, 2, 0, 0, 188, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 1, 0, 0, 0, - 197, 0, 0, 0, 2, 0, - 0, 0, 5, 0, 0, 0, - 4, 0, 0, 0, 255, 255, - 255, 255, 0, 0, 0, 0, - 1, 0, 0, 0, 13, 0, - 0, 0, 202, 0, 0, 0, - 2, 0, 0, 0, 5, 0, - 0, 0, 4, 0, 0, 0, - 255, 255, 255, 255, 4, 0, - 0, 0, 1, 0, 0, 0, - 13, 0, 0, 0, 212, 0, - 0, 0, 2, 0, 0, 0, - 5, 0, 0, 0, 4, 0, - 0, 0, 255, 255, 255, 255, - 5, 0, 0, 0, 1, 0, - 0, 0, 13, 0, 0, 0, - 218, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 115, 83, 97, 109, - 112, 108, 101, 114, 0, 116, - 82, 71, 66, 0, 116, 82, - 71, 66, 87, 104, 105, 116, - 101, 0, 116, 77, 97, 115, - 107, 0, 36, 71, 108, 111, - 98, 97, 108, 115, 0, 171, - 218, 0, 0, 0, 10, 0, - 0, 0, 252, 0, 0, 0, - 48, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 236, 1, 0, 0, 0, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 248, 1, - 0, 0, 0, 0, 0, 0, - 8, 2, 0, 0, 16, 0, - 0, 0, 4, 0, 0, 0, - 2, 0, 0, 0, 24, 2, - 0, 0, 0, 0, 0, 0, - 40, 2, 0, 0, 32, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 56, 2, - 0, 0, 0, 0, 0, 0, - 72, 2, 0, 0, 48, 0, - 0, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 88, 2, - 0, 0, 0, 0, 0, 0, - 104, 2, 0, 0, 112, 0, - 0, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 88, 2, - 0, 0, 0, 0, 0, 0, - 116, 2, 0, 0, 176, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 248, 1, - 0, 0, 0, 0, 0, 0, - 136, 2, 0, 0, 192, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 152, 2, - 0, 0, 0, 0, 0, 0, - 168, 2, 0, 0, 208, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 152, 2, - 0, 0, 0, 0, 0, 0, - 179, 2, 0, 0, 224, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 152, 2, - 0, 0, 0, 0, 0, 0, - 189, 2, 0, 0, 240, 0, - 0, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 88, 2, - 0, 0, 0, 0, 0, 0, - 102, 76, 97, 121, 101, 114, - 67, 111, 108, 111, 114, 0, - 1, 0, 3, 0, 1, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 102, 76, - 97, 121, 101, 114, 79, 112, - 97, 99, 105, 116, 121, 0, - 171, 171, 0, 0, 3, 0, - 1, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 105, 66, 108, 101, 110, 100, - 67, 111, 110, 102, 105, 103, - 0, 171, 171, 171, 1, 0, - 19, 0, 1, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 109, 76, 97, 121, - 101, 114, 84, 114, 97, 110, - 115, 102, 111, 114, 109, 0, - 3, 0, 3, 0, 4, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 109, 80, - 114, 111, 106, 101, 99, 116, - 105, 111, 110, 0, 118, 82, - 101, 110, 100, 101, 114, 84, - 97, 114, 103, 101, 116, 79, - 102, 102, 115, 101, 116, 0, - 118, 84, 101, 120, 116, 117, - 114, 101, 67, 111, 111, 114, - 100, 115, 0, 171, 1, 0, - 3, 0, 1, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 118, 76, 97, 121, - 101, 114, 81, 117, 97, 100, - 0, 118, 77, 97, 115, 107, - 81, 117, 97, 100, 0, 109, - 66, 97, 99, 107, 100, 114, - 111, 112, 84, 114, 97, 110, - 115, 102, 111, 114, 109, 0, - 77, 105, 99, 114, 111, 115, - 111, 102, 116, 32, 40, 82, - 41, 32, 72, 76, 83, 76, - 32, 83, 104, 97, 100, 101, - 114, 32, 67, 111, 109, 112, - 105, 108, 101, 114, 32, 49, - 48, 46, 48, 46, 49, 48, - 48, 49, 49, 46, 49, 54, - 51, 56, 52, 0, 73, 83, - 71, 78, 104, 0, 0, 0, - 3, 0, 0, 0, 8, 0, - 0, 0, 80, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 92, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 3, 3, - 0, 0, 92, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 2, 0, 0, 0, 7, 7, - 0, 0, 83, 86, 95, 80, - 111, 115, 105, 116, 105, 111, - 110, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 171, - 171, 171, 79, 83, 71, 78, - 68, 0, 0, 0, 2, 0, - 0, 0, 8, 0, 0, 0, - 56, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 56, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 15, 0, 0, 0, - 83, 86, 95, 84, 97, 114, - 103, 101, 116, 0, 171, 171 -}; +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer $Globals +// { +// +// float4 fLayerColor; // Offset: 0 Size: 16 [unused] +// float fLayerOpacity; // Offset: 16 Size: 4 +// uint4 iBlendConfig; // Offset: 32 Size: 16 [unused] +// row_major float3x3 mYuvColorMatrix;// Offset: 48 Size: 44 [unused] +// float4x4 mLayerTransform; // Offset: 96 Size: 64 [unused] +// float4x4 mProjection; // Offset: 160 Size: 64 [unused] +// float4 vRenderTargetOffset; // Offset: 224 Size: 16 [unused] +// float4 vTextureCoords; // Offset: 240 Size: 16 [unused] +// float4 vLayerQuad; // Offset: 256 Size: 16 [unused] +// float4 vMaskQuad; // Offset: 272 Size: 16 [unused] +// float4x4 mBackdropTransform; // Offset: 288 Size: 64 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim HLSL Bind Count +// ------------------------------ ---------- ------- ----------- -------------- ------ +// sSampler sampler NA NA s0 1 +// tRGB texture float4 2d t0 1 +// tRGBWhite texture float4 2d t4 1 +// tMask texture float4 2d t5 1 +// $Globals cbuffer NA NA cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Position 0 xyzw 0 POS float +// TEXCOORD 0 xy 1 NONE float xy +// TEXCOORD 1 xyz 2 NONE float xyz +// +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Target 0 xyzw 0 TARGET float xyzw +// SV_Target 1 xyzw 1 TARGET float xyzw +// +// +// Constant buffer to DX9 shader constant mappings: +// +// Target Reg Buffer Start Reg # of Regs Data Conversion +// ---------- ------- --------- --------- ---------------------- +// c0 cb0 1 1 ( FLT, FLT, FLT, FLT) +// +// +// Sampler/Resource to DX9 shader sampler mappings: +// +// Target Sampler Source Sampler Source Resource +// -------------- --------------- ---------------- +// s0 s0 t0 +// s1 s0 t4 +// s2 s0 t5 +// +// +// Level9 shader bytecode: +// + ps_2_x + def c1, 1, 0, 0, 0 + dcl t0.xy + dcl t1.xyz + dcl_2d s0 + dcl_2d s1 + dcl_2d s2 + rcp r0.w, t1.z + mul r0.xy, r0.w, t1 + texld r0, r0, s2 + mul r0.x, r0.x, c0.x + texld r1, t0, s0 + texld r2, t0, s1 + add r2, r1, -r2 + add r2, r2, c1.x + mov r1.w, r2.y + mul r2, r0.x, r2 + mul r0, r0.x, r1 + mov oC0, r0 + mov oC1, r2 + +// approximately 13 instruction slots used (3 texture, 10 arithmetic) +ps_4_0 +dcl_constantbuffer CB0[2], immediateIndexed +dcl_sampler s0, mode_default +dcl_resource_texture2d (float,float,float,float) t0 +dcl_resource_texture2d (float,float,float,float) t4 +dcl_resource_texture2d (float,float,float,float) t5 +dcl_input_ps linear v1.xy +dcl_input_ps linear v2.xyz +dcl_output o0.xyzw +dcl_output o1.xyzw +dcl_temps 3 +div r0.xy, v2.xyxx, v2.zzzz +sample r0.xyzw, r0.xyxx, t5.xyzw, s0 +mul r0.x, r0.x, cb0[1].x +sample r1.xyzw, v1.xyxx, t4.xyzw, s0 +sample r2.xyzw, v1.xyxx, t0.xyzw, s0 +add r1.xyzw, -r1.xyzw, r2.xyzw +add r1.xyzw, r1.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000) +mov r2.w, r1.y +mul o1.xyzw, r0.xxxx, r1.xyzw +mul o0.xyzw, r0.xxxx, r2.xyzw +ret +// Approximately 11 instruction slots used +#endif + +const BYTE ComponentAlphaShaderMask[] = +{ + 68, 88, 66, 67, 53, 1, + 100, 182, 2, 181, 247, 136, + 91, 215, 208, 183, 243, 6, + 78, 16, 1, 0, 0, 0, + 220, 7, 0, 0, 6, 0, + 0, 0, 56, 0, 0, 0, + 152, 1, 0, 0, 108, 3, + 0, 0, 232, 3, 0, 0, + 32, 7, 0, 0, 144, 7, + 0, 0, 65, 111, 110, 57, + 88, 1, 0, 0, 88, 1, + 0, 0, 0, 2, 255, 255, + 28, 1, 0, 0, 60, 0, + 0, 0, 1, 0, 48, 0, + 0, 0, 60, 0, 0, 0, + 60, 0, 3, 0, 36, 0, + 0, 0, 60, 0, 0, 0, + 0, 0, 4, 0, 1, 0, + 5, 0, 2, 0, 0, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 2, + 255, 255, 81, 0, 0, 5, + 1, 0, 15, 160, 0, 0, + 128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 2, + 0, 0, 0, 128, 0, 0, + 3, 176, 31, 0, 0, 2, + 0, 0, 0, 128, 1, 0, + 7, 176, 31, 0, 0, 2, + 0, 0, 0, 144, 0, 8, + 15, 160, 31, 0, 0, 2, + 0, 0, 0, 144, 1, 8, + 15, 160, 31, 0, 0, 2, + 0, 0, 0, 144, 2, 8, + 15, 160, 6, 0, 0, 2, + 0, 0, 8, 128, 1, 0, + 170, 176, 5, 0, 0, 3, + 0, 0, 3, 128, 0, 0, + 255, 128, 1, 0, 228, 176, + 66, 0, 0, 3, 0, 0, + 15, 128, 0, 0, 228, 128, + 2, 8, 228, 160, 5, 0, + 0, 3, 0, 0, 1, 128, + 0, 0, 0, 128, 0, 0, + 0, 160, 66, 0, 0, 3, + 1, 0, 15, 128, 0, 0, + 228, 176, 0, 8, 228, 160, + 66, 0, 0, 3, 2, 0, + 15, 128, 0, 0, 228, 176, + 1, 8, 228, 160, 2, 0, + 0, 3, 2, 0, 15, 128, + 1, 0, 228, 128, 2, 0, + 228, 129, 2, 0, 0, 3, + 2, 0, 15, 128, 2, 0, + 228, 128, 1, 0, 0, 160, + 1, 0, 0, 2, 1, 0, + 8, 128, 2, 0, 85, 128, + 5, 0, 0, 3, 2, 0, + 15, 128, 0, 0, 0, 128, + 2, 0, 228, 128, 5, 0, + 0, 3, 0, 0, 15, 128, + 0, 0, 0, 128, 1, 0, + 228, 128, 1, 0, 0, 2, + 0, 8, 15, 128, 0, 0, + 228, 128, 1, 0, 0, 2, + 1, 8, 15, 128, 2, 0, + 228, 128, 255, 255, 0, 0, + 83, 72, 68, 82, 204, 1, + 0, 0, 64, 0, 0, 0, + 115, 0, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 90, 0, 0, 3, + 0, 96, 16, 0, 0, 0, + 0, 0, 88, 24, 0, 4, + 0, 112, 16, 0, 0, 0, + 0, 0, 85, 85, 0, 0, + 88, 24, 0, 4, 0, 112, + 16, 0, 4, 0, 0, 0, + 85, 85, 0, 0, 88, 24, + 0, 4, 0, 112, 16, 0, + 5, 0, 0, 0, 85, 85, + 0, 0, 98, 16, 0, 3, + 50, 16, 16, 0, 1, 0, + 0, 0, 98, 16, 0, 3, + 114, 16, 16, 0, 2, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 0, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 1, 0, + 0, 0, 104, 0, 0, 2, + 3, 0, 0, 0, 14, 0, + 0, 7, 50, 0, 16, 0, + 0, 0, 0, 0, 70, 16, + 16, 0, 2, 0, 0, 0, + 166, 26, 16, 0, 2, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 0, 16, 0, + 0, 0, 0, 0, 70, 126, + 16, 0, 5, 0, 0, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 8, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 69, 0, + 0, 9, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 16, + 16, 0, 1, 0, 0, 0, + 70, 126, 16, 0, 4, 0, + 0, 0, 0, 96, 16, 0, + 0, 0, 0, 0, 69, 0, + 0, 9, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 16, + 16, 0, 1, 0, 0, 0, + 70, 126, 16, 0, 0, 0, + 0, 0, 0, 96, 16, 0, + 0, 0, 0, 0, 0, 0, + 0, 8, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 128, 65, 0, 0, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 0, 0, 0, 10, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 63, 0, 0, + 128, 63, 0, 0, 128, 63, + 0, 0, 128, 63, 54, 0, + 0, 5, 130, 0, 16, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 1, 0, 0, 0, + 56, 0, 0, 7, 242, 32, + 16, 0, 1, 0, 0, 0, + 6, 0, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 56, 0, + 0, 7, 242, 32, 16, 0, + 0, 0, 0, 0, 6, 0, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 62, 0, 0, 1, + 83, 84, 65, 84, 116, 0, + 0, 0, 11, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 68, + 69, 70, 48, 3, 0, 0, + 1, 0, 0, 0, 228, 0, + 0, 0, 5, 0, 0, 0, + 28, 0, 0, 0, 0, 4, + 255, 255, 0, 1, 0, 0, + 8, 3, 0, 0, 188, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 197, 0, 0, 0, 2, 0, + 0, 0, 5, 0, 0, 0, + 4, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 1, 0, 0, 0, 13, 0, + 0, 0, 202, 0, 0, 0, + 2, 0, 0, 0, 5, 0, + 0, 0, 4, 0, 0, 0, + 255, 255, 255, 255, 4, 0, + 0, 0, 1, 0, 0, 0, + 13, 0, 0, 0, 212, 0, + 0, 0, 2, 0, 0, 0, + 5, 0, 0, 0, 4, 0, + 0, 0, 255, 255, 255, 255, + 5, 0, 0, 0, 1, 0, + 0, 0, 13, 0, 0, 0, + 218, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 115, 83, 97, 109, + 112, 108, 101, 114, 0, 116, + 82, 71, 66, 0, 116, 82, + 71, 66, 87, 104, 105, 116, + 101, 0, 116, 77, 97, 115, + 107, 0, 36, 71, 108, 111, + 98, 97, 108, 115, 0, 171, + 218, 0, 0, 0, 11, 0, + 0, 0, 252, 0, 0, 0, + 96, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 4, 2, 0, 0, 0, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 16, 2, + 0, 0, 0, 0, 0, 0, + 32, 2, 0, 0, 16, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 48, 2, + 0, 0, 0, 0, 0, 0, + 64, 2, 0, 0, 32, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 80, 2, + 0, 0, 0, 0, 0, 0, + 96, 2, 0, 0, 48, 0, + 0, 0, 44, 0, 0, 0, + 0, 0, 0, 0, 112, 2, + 0, 0, 0, 0, 0, 0, + 128, 2, 0, 0, 96, 0, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 144, 2, + 0, 0, 0, 0, 0, 0, + 160, 2, 0, 0, 160, 0, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 144, 2, + 0, 0, 0, 0, 0, 0, + 172, 2, 0, 0, 224, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 16, 2, + 0, 0, 0, 0, 0, 0, + 192, 2, 0, 0, 240, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 208, 2, + 0, 0, 0, 0, 0, 0, + 224, 2, 0, 0, 0, 1, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 208, 2, + 0, 0, 0, 0, 0, 0, + 235, 2, 0, 0, 16, 1, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 208, 2, + 0, 0, 0, 0, 0, 0, + 245, 2, 0, 0, 32, 1, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 144, 2, + 0, 0, 0, 0, 0, 0, + 102, 76, 97, 121, 101, 114, + 67, 111, 108, 111, 114, 0, + 1, 0, 3, 0, 1, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 102, 76, + 97, 121, 101, 114, 79, 112, + 97, 99, 105, 116, 121, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 105, 66, 108, 101, 110, 100, + 67, 111, 110, 102, 105, 103, + 0, 171, 171, 171, 1, 0, + 19, 0, 1, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 109, 89, 117, 118, + 67, 111, 108, 111, 114, 77, + 97, 116, 114, 105, 120, 0, + 2, 0, 3, 0, 3, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 109, 76, + 97, 121, 101, 114, 84, 114, + 97, 110, 115, 102, 111, 114, + 109, 0, 3, 0, 3, 0, + 4, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 109, 80, 114, 111, 106, 101, + 99, 116, 105, 111, 110, 0, + 118, 82, 101, 110, 100, 101, + 114, 84, 97, 114, 103, 101, + 116, 79, 102, 102, 115, 101, + 116, 0, 118, 84, 101, 120, + 116, 117, 114, 101, 67, 111, + 111, 114, 100, 115, 0, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 118, 76, + 97, 121, 101, 114, 81, 117, + 97, 100, 0, 118, 77, 97, + 115, 107, 81, 117, 97, 100, + 0, 109, 66, 97, 99, 107, + 100, 114, 111, 112, 84, 114, + 97, 110, 115, 102, 111, 114, + 109, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 73, 83, 71, 78, 104, 0, + 0, 0, 3, 0, 0, 0, + 8, 0, 0, 0, 80, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 92, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 3, 3, 0, 0, 92, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 7, 7, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 171, 171, 171, 79, 83, + 71, 78, 68, 0, 0, 0, + 2, 0, 0, 0, 8, 0, + 0, 0, 56, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 56, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 15, 0, + 0, 0, 83, 86, 95, 84, + 97, 114, 103, 101, 116, 0, + 171, 171 +}; ShaderBytes sComponentAlphaShaderMask = { ComponentAlphaShaderMask, sizeof(ComponentAlphaShaderMask) }; -#if 0 -// -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 -// -// -// Buffer Definitions: -// -// cbuffer $Globals -// { -// -// float4x4 mLayerTransform; // Offset: 0 Size: 64 -// float4x4 mProjection; // Offset: 64 Size: 64 -// float4 vRenderTargetOffset; // Offset: 128 Size: 16 -// float4 vTextureCoords; // Offset: 144 Size: 16 -// float4 vLayerQuad; // Offset: 160 Size: 16 -// float4 vMaskQuad; // Offset: 176 Size: 16 [unused] -// float4x4 mBackdropTransform; // Offset: 192 Size: 64 -// float4 fLayerColor; // Offset: 256 Size: 16 [unused] -// float fLayerOpacity; // Offset: 272 Size: 4 [unused] -// uint4 iBlendConfig; // Offset: 288 Size: 16 [unused] -// -// } -// -// -// Resource Bindings: -// -// Name Type Format Dim HLSL Bind Count -// ------------------------------ ---------- ------- ----------- -------------- ------ -// $Globals cbuffer NA NA cb0 1 -// -// -// -// Input signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// POSITION 0 xy 0 NONE float xy -// -// -// Output signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// SV_Position 0 xyzw 0 POS float xyzw -// TEXCOORD 0 xy 1 NONE float xy -// TEXCOORD 2 zw 1 NONE float zw -// TEXCOORD 1 xyz 2 NONE float xyz -// -// -// Constant buffer to DX9 shader constant mappings: -// -// Target Reg Buffer Start Reg # of Regs Data Conversion -// ---------- ------- --------- --------- ---------------------- -// c1 cb0 0 2 ( FLT, FLT, FLT, FLT) -// c3 cb0 3 8 ( FLT, FLT, FLT, FLT) -// c11 cb0 12 2 ( FLT, FLT, FLT, FLT) -// c13 cb0 15 1 ( FLT, FLT, FLT, FLT) -// -// -// Runtime generated constant mappings: -// -// Target Reg Constant Description -// ---------- -------------------------------------------------- -// c0 Vertex Shader position offset -// -// -// Level9 shader bytecode: -// - vs_2_x - def c14, 1, 0.5, 0, 0 - dcl_texcoord v0 - mad oT0.xy, v0, c9.zwzw, c9 - mad r0.xy, v0, c10.zwzw, c10 - mul r1, r0.y, c2 - mad r0, c1, r0.x, r1 - add r0, r0, c3 - rcp r1.x, r0.w - mul r0.xyz, r0, r1.x - add r0, r0, -c8 - mul r0.xyz, r0.w, r0 - mul r1, r0.y, c5 - mad r1, c4, r0.x, r1 - mad r1, c6, r0.z, r1 - mad r0, c7, r0.w, r1 - add r1.xy, r0, c14.x - mad r1.y, r1.y, -c14.y, c14.x - mul r1.x, r1.x, c14.y - mul r1.yz, r1.y, c12.xyxw - mad r1.xy, c11.yxzw, r1.x, r1.yzzw - add oT0.zw, r1.xyxy, c13.xyyx - mad oPos.xy, r0.w, c0, r0 - mov oPos.zw, r0 - mov oT1.xyz, c14.z - -// approximately 22 instruction slots used -vs_4_0 -dcl_constantbuffer CB0[16], immediateIndexed -dcl_input v0.xy -dcl_output_siv o0.xyzw, position -dcl_output o1.xy -dcl_output o1.zw -dcl_output o2.xyz -dcl_temps 2 -mad r0.xy, v0.xyxx, cb0[10].zwzz, cb0[10].xyxx -mul r1.xyzw, r0.yyyy, cb0[1].xyzw -mad r0.xyzw, cb0[0].xyzw, r0.xxxx, r1.xyzw -add r0.xyzw, r0.xyzw, cb0[3].xyzw -div r0.xyz, r0.xyzx, r0.wwww -add r0.xyzw, r0.xyzw, -cb0[8].xyzw -mul r0.xyz, r0.wwww, r0.xyzx -mul r1.xyzw, r0.yyyy, cb0[5].xyzw -mad r1.xyzw, cb0[4].xyzw, r0.xxxx, r1.xyzw -mad r1.xyzw, cb0[6].xyzw, r0.zzzz, r1.xyzw -mad r0.xyzw, cb0[7].xyzw, r0.wwww, r1.xyzw -mov o0.xyzw, r0.xyzw -add r0.xy, r0.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000) -mad r0.y, -r0.y, l(0.500000), l(1.000000) -mul r0.x, r0.x, l(0.500000) -mul r0.yz, r0.yyyy, cb0[13].xxyx -mad r0.xy, cb0[12].xyxx, r0.xxxx, r0.yzyy -add o1.zw, r0.xxxy, cb0[15].xxxy -mad o1.xy, v0.xyxx, cb0[9].zwzz, cb0[9].xyxx -mov o2.xyz, l(0,0,0,0) -ret -// Approximately 21 instruction slots used -#endif - -const BYTE LayerQuadBlendVS[] = -{ - 68, 88, 66, 67, 76, 129, - 194, 215, 223, 117, 197, 26, - 131, 244, 213, 174, 68, 116, - 23, 183, 1, 0, 0, 0, - 12, 9, 0, 0, 6, 0, - 0, 0, 56, 0, 0, 0, - 60, 2, 0, 0, 100, 5, - 0, 0, 224, 5, 0, 0, - 80, 8, 0, 0, 132, 8, - 0, 0, 65, 111, 110, 57, - 252, 1, 0, 0, 252, 1, - 0, 0, 0, 2, 254, 255, - 164, 1, 0, 0, 88, 0, - 0, 0, 4, 0, 36, 0, - 0, 0, 84, 0, 0, 0, - 84, 0, 0, 0, 36, 0, - 1, 0, 84, 0, 0, 0, - 0, 0, 2, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 8, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 12, 0, 2, 0, 11, 0, - 0, 0, 0, 0, 0, 0, - 15, 0, 1, 0, 13, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 2, 254, 255, - 81, 0, 0, 5, 14, 0, - 15, 160, 0, 0, 128, 63, - 0, 0, 0, 63, 0, 0, - 0, 0, 0, 0, 0, 0, - 31, 0, 0, 2, 5, 0, - 0, 128, 0, 0, 15, 144, - 4, 0, 0, 4, 0, 0, - 3, 224, 0, 0, 228, 144, - 9, 0, 238, 160, 9, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 3, 128, 0, 0, - 228, 144, 10, 0, 238, 160, - 10, 0, 228, 160, 5, 0, - 0, 3, 1, 0, 15, 128, - 0, 0, 85, 128, 2, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 15, 128, 1, 0, - 228, 160, 0, 0, 0, 128, - 1, 0, 228, 128, 2, 0, - 0, 3, 0, 0, 15, 128, - 0, 0, 228, 128, 3, 0, - 228, 160, 6, 0, 0, 2, - 1, 0, 1, 128, 0, 0, - 255, 128, 5, 0, 0, 3, - 0, 0, 7, 128, 0, 0, - 228, 128, 1, 0, 0, 128, - 2, 0, 0, 3, 0, 0, - 15, 128, 0, 0, 228, 128, - 8, 0, 228, 161, 5, 0, - 0, 3, 0, 0, 7, 128, - 0, 0, 255, 128, 0, 0, - 228, 128, 5, 0, 0, 3, - 1, 0, 15, 128, 0, 0, - 85, 128, 5, 0, 228, 160, - 4, 0, 0, 4, 1, 0, - 15, 128, 4, 0, 228, 160, - 0, 0, 0, 128, 1, 0, - 228, 128, 4, 0, 0, 4, - 1, 0, 15, 128, 6, 0, - 228, 160, 0, 0, 170, 128, - 1, 0, 228, 128, 4, 0, - 0, 4, 0, 0, 15, 128, - 7, 0, 228, 160, 0, 0, - 255, 128, 1, 0, 228, 128, - 2, 0, 0, 3, 1, 0, - 3, 128, 0, 0, 228, 128, - 14, 0, 0, 160, 4, 0, - 0, 4, 1, 0, 2, 128, - 1, 0, 85, 128, 14, 0, - 85, 161, 14, 0, 0, 160, - 5, 0, 0, 3, 1, 0, - 1, 128, 1, 0, 0, 128, - 14, 0, 85, 160, 5, 0, - 0, 3, 1, 0, 6, 128, - 1, 0, 85, 128, 12, 0, - 196, 160, 4, 0, 0, 4, - 1, 0, 3, 128, 11, 0, - 225, 160, 1, 0, 0, 128, - 1, 0, 233, 128, 2, 0, - 0, 3, 0, 0, 12, 224, - 1, 0, 68, 128, 13, 0, - 20, 160, 4, 0, 0, 4, - 0, 0, 3, 192, 0, 0, - 255, 128, 0, 0, 228, 160, - 0, 0, 228, 128, 1, 0, - 0, 2, 0, 0, 12, 192, - 0, 0, 228, 128, 1, 0, - 0, 2, 1, 0, 7, 224, - 14, 0, 170, 160, 255, 255, - 0, 0, 83, 72, 68, 82, - 32, 3, 0, 0, 64, 0, - 1, 0, 200, 0, 0, 0, - 89, 0, 0, 4, 70, 142, - 32, 0, 0, 0, 0, 0, - 16, 0, 0, 0, 95, 0, - 0, 3, 50, 16, 16, 0, - 0, 0, 0, 0, 103, 0, - 0, 4, 242, 32, 16, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 101, 0, 0, 3, - 50, 32, 16, 0, 1, 0, - 0, 0, 101, 0, 0, 3, - 194, 32, 16, 0, 1, 0, - 0, 0, 101, 0, 0, 3, - 114, 32, 16, 0, 2, 0, - 0, 0, 104, 0, 0, 2, - 2, 0, 0, 0, 50, 0, - 0, 11, 50, 0, 16, 0, - 0, 0, 0, 0, 70, 16, - 16, 0, 0, 0, 0, 0, - 230, 138, 32, 0, 0, 0, - 0, 0, 10, 0, 0, 0, - 70, 128, 32, 0, 0, 0, - 0, 0, 10, 0, 0, 0, - 56, 0, 0, 8, 242, 0, - 16, 0, 1, 0, 0, 0, - 86, 5, 16, 0, 0, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 50, 0, 0, 10, - 242, 0, 16, 0, 0, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 6, 0, 16, 0, - 0, 0, 0, 0, 70, 14, - 16, 0, 1, 0, 0, 0, - 0, 0, 0, 8, 242, 0, - 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 0, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 14, 0, 0, 7, - 114, 0, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 246, 15, - 16, 0, 0, 0, 0, 0, - 0, 0, 0, 9, 242, 0, - 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 0, 0, - 0, 0, 70, 142, 32, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 8, 0, 0, 0, - 56, 0, 0, 7, 114, 0, - 16, 0, 0, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 8, 242, 0, 16, 0, - 1, 0, 0, 0, 86, 5, - 16, 0, 0, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 5, 0, 0, 0, - 50, 0, 0, 10, 242, 0, - 16, 0, 1, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 4, 0, 0, 0, - 6, 0, 16, 0, 0, 0, - 0, 0, 70, 14, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 10, 242, 0, 16, 0, - 1, 0, 0, 0, 70, 142, - 32, 0, 0, 0, 0, 0, - 6, 0, 0, 0, 166, 10, - 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 1, 0, - 0, 0, 50, 0, 0, 10, - 242, 0, 16, 0, 0, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 7, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 14, - 16, 0, 1, 0, 0, 0, - 54, 0, 0, 5, 242, 32, - 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 0, 0, - 0, 0, 0, 0, 0, 10, - 50, 0, 16, 0, 0, 0, - 0, 0, 70, 0, 16, 0, - 0, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 128, 63, - 0, 0, 128, 63, 0, 0, - 0, 0, 0, 0, 0, 0, - 50, 0, 0, 10, 34, 0, - 16, 0, 0, 0, 0, 0, - 26, 0, 16, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 63, 1, 64, 0, 0, - 0, 0, 128, 63, 56, 0, - 0, 7, 18, 0, 16, 0, - 0, 0, 0, 0, 10, 0, - 16, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 63, 56, 0, 0, 8, - 98, 0, 16, 0, 0, 0, - 0, 0, 86, 5, 16, 0, - 0, 0, 0, 0, 6, 129, - 32, 0, 0, 0, 0, 0, - 13, 0, 0, 0, 50, 0, - 0, 10, 50, 0, 16, 0, - 0, 0, 0, 0, 70, 128, - 32, 0, 0, 0, 0, 0, - 12, 0, 0, 0, 6, 0, - 16, 0, 0, 0, 0, 0, - 150, 5, 16, 0, 0, 0, - 0, 0, 0, 0, 0, 8, - 194, 32, 16, 0, 1, 0, - 0, 0, 6, 4, 16, 0, - 0, 0, 0, 0, 6, 132, - 32, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 50, 0, - 0, 11, 50, 32, 16, 0, - 1, 0, 0, 0, 70, 16, - 16, 0, 0, 0, 0, 0, - 230, 138, 32, 0, 0, 0, - 0, 0, 9, 0, 0, 0, - 70, 128, 32, 0, 0, 0, - 0, 0, 9, 0, 0, 0, - 54, 0, 0, 8, 114, 32, - 16, 0, 2, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 62, 0, 0, 1, - 83, 84, 65, 84, 116, 0, - 0, 0, 21, 0, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 5, 0, 0, 0, - 18, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 68, - 69, 70, 104, 2, 0, 0, - 1, 0, 0, 0, 72, 0, - 0, 0, 1, 0, 0, 0, - 28, 0, 0, 0, 0, 4, - 254, 255, 0, 1, 0, 0, - 52, 2, 0, 0, 60, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 36, 71, 108, 111, 98, 97, - 108, 115, 0, 171, 171, 171, - 60, 0, 0, 0, 10, 0, - 0, 0, 96, 0, 0, 0, - 48, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 80, 1, 0, 0, 0, 0, - 0, 0, 64, 0, 0, 0, - 2, 0, 0, 0, 96, 1, - 0, 0, 0, 0, 0, 0, - 112, 1, 0, 0, 64, 0, - 0, 0, 64, 0, 0, 0, - 2, 0, 0, 0, 96, 1, - 0, 0, 0, 0, 0, 0, - 124, 1, 0, 0, 128, 0, - 0, 0, 16, 0, 0, 0, - 2, 0, 0, 0, 144, 1, - 0, 0, 0, 0, 0, 0, - 160, 1, 0, 0, 144, 0, - 0, 0, 16, 0, 0, 0, - 2, 0, 0, 0, 176, 1, - 0, 0, 0, 0, 0, 0, - 192, 1, 0, 0, 160, 0, - 0, 0, 16, 0, 0, 0, - 2, 0, 0, 0, 176, 1, - 0, 0, 0, 0, 0, 0, - 203, 1, 0, 0, 176, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 176, 1, - 0, 0, 0, 0, 0, 0, - 213, 1, 0, 0, 192, 0, - 0, 0, 64, 0, 0, 0, - 2, 0, 0, 0, 96, 1, - 0, 0, 0, 0, 0, 0, - 232, 1, 0, 0, 0, 1, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 144, 1, - 0, 0, 0, 0, 0, 0, - 244, 1, 0, 0, 16, 1, - 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 4, 2, - 0, 0, 0, 0, 0, 0, - 20, 2, 0, 0, 32, 1, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 36, 2, - 0, 0, 0, 0, 0, 0, - 109, 76, 97, 121, 101, 114, - 84, 114, 97, 110, 115, 102, - 111, 114, 109, 0, 3, 0, - 3, 0, 4, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 109, 80, 114, 111, - 106, 101, 99, 116, 105, 111, - 110, 0, 118, 82, 101, 110, - 100, 101, 114, 84, 97, 114, - 103, 101, 116, 79, 102, 102, - 115, 101, 116, 0, 1, 0, - 3, 0, 1, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 118, 84, 101, 120, - 116, 117, 114, 101, 67, 111, - 111, 114, 100, 115, 0, 171, - 1, 0, 3, 0, 1, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 118, 76, - 97, 121, 101, 114, 81, 117, - 97, 100, 0, 118, 77, 97, - 115, 107, 81, 117, 97, 100, - 0, 109, 66, 97, 99, 107, - 100, 114, 111, 112, 84, 114, - 97, 110, 115, 102, 111, 114, - 109, 0, 102, 76, 97, 121, - 101, 114, 67, 111, 108, 111, - 114, 0, 102, 76, 97, 121, - 101, 114, 79, 112, 97, 99, - 105, 116, 121, 0, 171, 171, - 0, 0, 3, 0, 1, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 105, 66, - 108, 101, 110, 100, 67, 111, - 110, 102, 105, 103, 0, 171, - 171, 171, 1, 0, 19, 0, - 1, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 77, 105, 99, 114, 111, 115, - 111, 102, 116, 32, 40, 82, - 41, 32, 72, 76, 83, 76, - 32, 83, 104, 97, 100, 101, - 114, 32, 67, 111, 109, 112, - 105, 108, 101, 114, 32, 49, - 48, 46, 48, 46, 49, 48, - 48, 49, 49, 46, 49, 54, - 51, 56, 52, 0, 73, 83, - 71, 78, 44, 0, 0, 0, - 1, 0, 0, 0, 8, 0, - 0, 0, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 3, 3, - 0, 0, 80, 79, 83, 73, - 84, 73, 79, 78, 0, 171, - 171, 171, 79, 83, 71, 78, - 128, 0, 0, 0, 4, 0, - 0, 0, 8, 0, 0, 0, - 104, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 116, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 3, 12, 0, 0, - 116, 0, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 12, 3, 0, 0, - 116, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 7, 8, 0, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 171, 171, 171 -}; +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer $Globals +// { +// +// float4x4 mLayerTransform; // Offset: 0 Size: 64 +// float4x4 mProjection; // Offset: 64 Size: 64 +// float4 vRenderTargetOffset; // Offset: 128 Size: 16 +// float4 vTextureCoords; // Offset: 144 Size: 16 +// float4 vLayerQuad; // Offset: 160 Size: 16 +// float4 vMaskQuad; // Offset: 176 Size: 16 [unused] +// float4x4 mBackdropTransform; // Offset: 192 Size: 64 +// float4 fLayerColor; // Offset: 256 Size: 16 [unused] +// float fLayerOpacity; // Offset: 272 Size: 4 [unused] +// uint4 iBlendConfig; // Offset: 288 Size: 16 [unused] +// row_major float3x3 mYuvColorMatrix;// Offset: 304 Size: 44 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim HLSL Bind Count +// ------------------------------ ---------- ------- ----------- -------------- ------ +// $Globals cbuffer NA NA cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// POSITION 0 xy 0 NONE float xy +// +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Position 0 xyzw 0 POS float xyzw +// TEXCOORD 0 xy 1 NONE float xy +// TEXCOORD 2 zw 1 NONE float zw +// TEXCOORD 1 xyz 2 NONE float xyz +// +// +// Constant buffer to DX9 shader constant mappings: +// +// Target Reg Buffer Start Reg # of Regs Data Conversion +// ---------- ------- --------- --------- ---------------------- +// c1 cb0 0 2 ( FLT, FLT, FLT, FLT) +// c3 cb0 3 8 ( FLT, FLT, FLT, FLT) +// c11 cb0 12 2 ( FLT, FLT, FLT, FLT) +// c13 cb0 15 1 ( FLT, FLT, FLT, FLT) +// +// +// Runtime generated constant mappings: +// +// Target Reg Constant Description +// ---------- -------------------------------------------------- +// c0 Vertex Shader position offset +// +// +// Level9 shader bytecode: +// + vs_2_x + def c14, 1, 0.5, 0, 0 + dcl_texcoord v0 + mad oT0.xy, v0, c9.zwzw, c9 + mad r0.xy, v0, c10.zwzw, c10 + mul r1, r0.y, c2 + mad r0, c1, r0.x, r1 + add r0, r0, c3 + rcp r1.x, r0.w + mul r0.xyz, r0, r1.x + add r0, r0, -c8 + mul r0.xyz, r0.w, r0 + mul r1, r0.y, c5 + mad r1, c4, r0.x, r1 + mad r1, c6, r0.z, r1 + mad r0, c7, r0.w, r1 + add r1.xy, r0, c14.x + mad r1.y, r1.y, -c14.y, c14.x + mul r1.x, r1.x, c14.y + mul r1.yz, r1.y, c12.xyxw + mad r1.xy, c11.yxzw, r1.x, r1.yzzw + add oT0.zw, r1.xyxy, c13.xyyx + mad oPos.xy, r0.w, c0, r0 + mov oPos.zw, r0 + mov oT1.xyz, c14.z + +// approximately 22 instruction slots used +vs_4_0 +dcl_constantbuffer CB0[16], immediateIndexed +dcl_input v0.xy +dcl_output_siv o0.xyzw, position +dcl_output o1.xy +dcl_output o1.zw +dcl_output o2.xyz +dcl_temps 2 +mad r0.xy, v0.xyxx, cb0[10].zwzz, cb0[10].xyxx +mul r1.xyzw, r0.yyyy, cb0[1].xyzw +mad r0.xyzw, cb0[0].xyzw, r0.xxxx, r1.xyzw +add r0.xyzw, r0.xyzw, cb0[3].xyzw +div r0.xyz, r0.xyzx, r0.wwww +add r0.xyzw, r0.xyzw, -cb0[8].xyzw +mul r0.xyz, r0.wwww, r0.xyzx +mul r1.xyzw, r0.yyyy, cb0[5].xyzw +mad r1.xyzw, cb0[4].xyzw, r0.xxxx, r1.xyzw +mad r1.xyzw, cb0[6].xyzw, r0.zzzz, r1.xyzw +mad r0.xyzw, cb0[7].xyzw, r0.wwww, r1.xyzw +mov o0.xyzw, r0.xyzw +add r0.xy, r0.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000) +mad r0.y, -r0.y, l(0.500000), l(1.000000) +mul r0.x, r0.x, l(0.500000) +mul r0.yz, r0.yyyy, cb0[13].xxyx +mad r0.xy, cb0[12].xyxx, r0.xxxx, r0.yzyy +add o1.zw, r0.xxxy, cb0[15].xxxy +mad o1.xy, v0.xyxx, cb0[9].zwzz, cb0[9].xyxx +mov o2.xyz, l(0,0,0,0) +ret +// Approximately 21 instruction slots used +#endif + +const BYTE LayerQuadBlendVS[] = +{ + 68, 88, 66, 67, 36, 1, + 251, 17, 122, 90, 56, 20, + 13, 210, 38, 20, 162, 170, + 120, 203, 1, 0, 0, 0, + 56, 9, 0, 0, 6, 0, + 0, 0, 56, 0, 0, 0, + 60, 2, 0, 0, 100, 5, + 0, 0, 224, 5, 0, 0, + 124, 8, 0, 0, 176, 8, + 0, 0, 65, 111, 110, 57, + 252, 1, 0, 0, 252, 1, + 0, 0, 0, 2, 254, 255, + 164, 1, 0, 0, 88, 0, + 0, 0, 4, 0, 36, 0, + 0, 0, 84, 0, 0, 0, + 84, 0, 0, 0, 36, 0, + 1, 0, 84, 0, 0, 0, + 0, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 8, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 12, 0, 2, 0, 11, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 1, 0, 13, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 2, 254, 255, + 81, 0, 0, 5, 14, 0, + 15, 160, 0, 0, 128, 63, + 0, 0, 0, 63, 0, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 0, 2, 5, 0, + 0, 128, 0, 0, 15, 144, + 4, 0, 0, 4, 0, 0, + 3, 224, 0, 0, 228, 144, + 9, 0, 238, 160, 9, 0, + 228, 160, 4, 0, 0, 4, + 0, 0, 3, 128, 0, 0, + 228, 144, 10, 0, 238, 160, + 10, 0, 228, 160, 5, 0, + 0, 3, 1, 0, 15, 128, + 0, 0, 85, 128, 2, 0, + 228, 160, 4, 0, 0, 4, + 0, 0, 15, 128, 1, 0, + 228, 160, 0, 0, 0, 128, + 1, 0, 228, 128, 2, 0, + 0, 3, 0, 0, 15, 128, + 0, 0, 228, 128, 3, 0, + 228, 160, 6, 0, 0, 2, + 1, 0, 1, 128, 0, 0, + 255, 128, 5, 0, 0, 3, + 0, 0, 7, 128, 0, 0, + 228, 128, 1, 0, 0, 128, + 2, 0, 0, 3, 0, 0, + 15, 128, 0, 0, 228, 128, + 8, 0, 228, 161, 5, 0, + 0, 3, 0, 0, 7, 128, + 0, 0, 255, 128, 0, 0, + 228, 128, 5, 0, 0, 3, + 1, 0, 15, 128, 0, 0, + 85, 128, 5, 0, 228, 160, + 4, 0, 0, 4, 1, 0, + 15, 128, 4, 0, 228, 160, + 0, 0, 0, 128, 1, 0, + 228, 128, 4, 0, 0, 4, + 1, 0, 15, 128, 6, 0, + 228, 160, 0, 0, 170, 128, + 1, 0, 228, 128, 4, 0, + 0, 4, 0, 0, 15, 128, + 7, 0, 228, 160, 0, 0, + 255, 128, 1, 0, 228, 128, + 2, 0, 0, 3, 1, 0, + 3, 128, 0, 0, 228, 128, + 14, 0, 0, 160, 4, 0, + 0, 4, 1, 0, 2, 128, + 1, 0, 85, 128, 14, 0, + 85, 161, 14, 0, 0, 160, + 5, 0, 0, 3, 1, 0, + 1, 128, 1, 0, 0, 128, + 14, 0, 85, 160, 5, 0, + 0, 3, 1, 0, 6, 128, + 1, 0, 85, 128, 12, 0, + 196, 160, 4, 0, 0, 4, + 1, 0, 3, 128, 11, 0, + 225, 160, 1, 0, 0, 128, + 1, 0, 233, 128, 2, 0, + 0, 3, 0, 0, 12, 224, + 1, 0, 68, 128, 13, 0, + 20, 160, 4, 0, 0, 4, + 0, 0, 3, 192, 0, 0, + 255, 128, 0, 0, 228, 160, + 0, 0, 228, 128, 1, 0, + 0, 2, 0, 0, 12, 192, + 0, 0, 228, 128, 1, 0, + 0, 2, 1, 0, 7, 224, + 14, 0, 170, 160, 255, 255, + 0, 0, 83, 72, 68, 82, + 32, 3, 0, 0, 64, 0, + 1, 0, 200, 0, 0, 0, + 89, 0, 0, 4, 70, 142, + 32, 0, 0, 0, 0, 0, + 16, 0, 0, 0, 95, 0, + 0, 3, 50, 16, 16, 0, + 0, 0, 0, 0, 103, 0, + 0, 4, 242, 32, 16, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 50, 32, 16, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 194, 32, 16, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 114, 32, 16, 0, 2, 0, + 0, 0, 104, 0, 0, 2, + 2, 0, 0, 0, 50, 0, + 0, 11, 50, 0, 16, 0, + 0, 0, 0, 0, 70, 16, + 16, 0, 0, 0, 0, 0, + 230, 138, 32, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 70, 128, 32, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 56, 0, 0, 8, 242, 0, + 16, 0, 1, 0, 0, 0, + 86, 5, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 50, 0, 0, 10, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 16, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 0, 0, 0, 8, 242, 0, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 14, 0, 0, 7, + 114, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 0, 0, 0, 9, 242, 0, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 56, 0, 0, 7, 114, 0, + 16, 0, 0, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 8, 242, 0, 16, 0, + 1, 0, 0, 0, 86, 5, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 50, 0, 0, 10, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 6, 0, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 50, 0, + 0, 10, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 166, 10, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 50, 0, 0, 10, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 54, 0, 0, 5, 242, 32, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 0, 0, + 0, 0, 0, 0, 0, 10, + 50, 0, 16, 0, 0, 0, + 0, 0, 70, 0, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 128, 63, + 0, 0, 128, 63, 0, 0, + 0, 0, 0, 0, 0, 0, + 50, 0, 0, 10, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 63, 1, 64, 0, 0, + 0, 0, 128, 63, 56, 0, + 0, 7, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 63, 56, 0, 0, 8, + 98, 0, 16, 0, 0, 0, + 0, 0, 86, 5, 16, 0, + 0, 0, 0, 0, 6, 129, + 32, 0, 0, 0, 0, 0, + 13, 0, 0, 0, 50, 0, + 0, 10, 50, 0, 16, 0, + 0, 0, 0, 0, 70, 128, + 32, 0, 0, 0, 0, 0, + 12, 0, 0, 0, 6, 0, + 16, 0, 0, 0, 0, 0, + 150, 5, 16, 0, 0, 0, + 0, 0, 0, 0, 0, 8, + 194, 32, 16, 0, 1, 0, + 0, 0, 6, 4, 16, 0, + 0, 0, 0, 0, 6, 132, + 32, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 50, 0, + 0, 11, 50, 32, 16, 0, + 1, 0, 0, 0, 70, 16, + 16, 0, 0, 0, 0, 0, + 230, 138, 32, 0, 0, 0, + 0, 0, 9, 0, 0, 0, + 70, 128, 32, 0, 0, 0, + 0, 0, 9, 0, 0, 0, + 54, 0, 0, 8, 114, 32, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 62, 0, 0, 1, + 83, 84, 65, 84, 116, 0, + 0, 0, 21, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 18, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 68, + 69, 70, 148, 2, 0, 0, + 1, 0, 0, 0, 72, 0, + 0, 0, 1, 0, 0, 0, + 28, 0, 0, 0, 0, 4, + 254, 255, 0, 1, 0, 0, + 108, 2, 0, 0, 60, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 36, 71, 108, 111, 98, 97, + 108, 115, 0, 171, 171, 171, + 60, 0, 0, 0, 11, 0, + 0, 0, 96, 0, 0, 0, + 96, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 104, 1, 0, 0, 0, 0, + 0, 0, 64, 0, 0, 0, + 2, 0, 0, 0, 120, 1, + 0, 0, 0, 0, 0, 0, + 136, 1, 0, 0, 64, 0, + 0, 0, 64, 0, 0, 0, + 2, 0, 0, 0, 120, 1, + 0, 0, 0, 0, 0, 0, + 148, 1, 0, 0, 128, 0, + 0, 0, 16, 0, 0, 0, + 2, 0, 0, 0, 168, 1, + 0, 0, 0, 0, 0, 0, + 184, 1, 0, 0, 144, 0, + 0, 0, 16, 0, 0, 0, + 2, 0, 0, 0, 200, 1, + 0, 0, 0, 0, 0, 0, + 216, 1, 0, 0, 160, 0, + 0, 0, 16, 0, 0, 0, + 2, 0, 0, 0, 200, 1, + 0, 0, 0, 0, 0, 0, + 227, 1, 0, 0, 176, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 200, 1, + 0, 0, 0, 0, 0, 0, + 237, 1, 0, 0, 192, 0, + 0, 0, 64, 0, 0, 0, + 2, 0, 0, 0, 120, 1, + 0, 0, 0, 0, 0, 0, + 0, 2, 0, 0, 0, 1, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 168, 1, + 0, 0, 0, 0, 0, 0, + 12, 2, 0, 0, 16, 1, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 28, 2, + 0, 0, 0, 0, 0, 0, + 44, 2, 0, 0, 32, 1, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 60, 2, + 0, 0, 0, 0, 0, 0, + 76, 2, 0, 0, 48, 1, + 0, 0, 44, 0, 0, 0, + 0, 0, 0, 0, 92, 2, + 0, 0, 0, 0, 0, 0, + 109, 76, 97, 121, 101, 114, + 84, 114, 97, 110, 115, 102, + 111, 114, 109, 0, 3, 0, + 3, 0, 4, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 109, 80, 114, 111, + 106, 101, 99, 116, 105, 111, + 110, 0, 118, 82, 101, 110, + 100, 101, 114, 84, 97, 114, + 103, 101, 116, 79, 102, 102, + 115, 101, 116, 0, 1, 0, + 3, 0, 1, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 118, 84, 101, 120, + 116, 117, 114, 101, 67, 111, + 111, 114, 100, 115, 0, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 118, 76, + 97, 121, 101, 114, 81, 117, + 97, 100, 0, 118, 77, 97, + 115, 107, 81, 117, 97, 100, + 0, 109, 66, 97, 99, 107, + 100, 114, 111, 112, 84, 114, + 97, 110, 115, 102, 111, 114, + 109, 0, 102, 76, 97, 121, + 101, 114, 67, 111, 108, 111, + 114, 0, 102, 76, 97, 121, + 101, 114, 79, 112, 97, 99, + 105, 116, 121, 0, 171, 171, + 0, 0, 3, 0, 1, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 105, 66, + 108, 101, 110, 100, 67, 111, + 110, 102, 105, 103, 0, 171, + 171, 171, 1, 0, 19, 0, + 1, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 109, 89, 117, 118, 67, 111, + 108, 111, 114, 77, 97, 116, + 114, 105, 120, 0, 2, 0, + 3, 0, 3, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 73, 83, 71, 78, 44, 0, + 0, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 3, 3, 0, 0, 80, 79, + 83, 73, 84, 73, 79, 78, + 0, 171, 171, 171, 79, 83, + 71, 78, 128, 0, 0, 0, + 4, 0, 0, 0, 8, 0, + 0, 0, 104, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 116, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 3, 12, + 0, 0, 116, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 12, 3, + 0, 0, 116, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 7, 8, + 0, 0, 83, 86, 95, 80, + 111, 115, 105, 116, 105, 111, + 110, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 171, + 171, 171 +}; ShaderBytes sLayerQuadBlendVS = { LayerQuadBlendVS, sizeof(LayerQuadBlendVS) }; -#if 0 -// -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 -// -// -// Buffer Definitions: -// -// cbuffer $Globals -// { -// -// float4x4 mLayerTransform; // Offset: 0 Size: 64 -// float4x4 mProjection; // Offset: 64 Size: 64 -// float4 vRenderTargetOffset; // Offset: 128 Size: 16 -// float4 vTextureCoords; // Offset: 144 Size: 16 -// float4 vLayerQuad; // Offset: 160 Size: 16 -// float4 vMaskQuad; // Offset: 176 Size: 16 -// float4x4 mBackdropTransform; // Offset: 192 Size: 64 -// float4 fLayerColor; // Offset: 256 Size: 16 [unused] -// float fLayerOpacity; // Offset: 272 Size: 4 [unused] -// uint4 iBlendConfig; // Offset: 288 Size: 16 [unused] -// -// } -// -// -// Resource Bindings: -// -// Name Type Format Dim HLSL Bind Count -// ------------------------------ ---------- ------- ----------- -------------- ------ -// $Globals cbuffer NA NA cb0 1 -// -// -// -// Input signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// POSITION 0 xy 0 NONE float xy -// -// -// Output signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// SV_Position 0 xyzw 0 POS float xyzw -// TEXCOORD 0 xy 1 NONE float xy -// TEXCOORD 2 zw 1 NONE float zw -// TEXCOORD 1 xyz 2 NONE float xyz -// -// -// Constant buffer to DX9 shader constant mappings: -// -// Target Reg Buffer Start Reg # of Regs Data Conversion -// ---------- ------- --------- --------- ---------------------- -// c1 cb0 0 2 ( FLT, FLT, FLT, FLT) -// c3 cb0 3 11 ( FLT, FLT, FLT, FLT) -// c14 cb0 15 1 ( FLT, FLT, FLT, FLT) -// -// -// Runtime generated constant mappings: -// -// Target Reg Constant Description -// ---------- -------------------------------------------------- -// c0 Vertex Shader position offset -// -// -// Level9 shader bytecode: -// - vs_2_x - def c15, 1, 0.5, 0, 0 - dcl_texcoord v0 - mov r0.z, c15.x - rcp r0.w, c11.z - mad r1.xy, v0, c10.zwzw, c10 - mul r2, r1.y, c2 - mad r1, c1, r1.x, r2 - add r1, r1, c3 - add r2.xy, r1, -c11 - mul r0.x, r0.w, r2.x - rcp r0.w, c11.w - mul r0.y, r0.w, r2.y - mul oT1.xyz, r0, r1.w - mad oT0.xy, v0, c9.zwzw, c9 - rcp r0.x, r1.w - mul r1.xyz, r0.x, r1 - add r0, r1, -c8 - mul r0.xyz, r0.w, r0 - mul r1, r0.y, c5 - mad r1, c4, r0.x, r1 - mad r1, c6, r0.z, r1 - mad r0, c7, r0.w, r1 - add r1.xy, r0, c15.x - mad r1.y, r1.y, -c15.y, c15.x - mul r1.x, r1.x, c15.y - mul r1.yz, r1.y, c13.xyxw - mad r1.xy, c12.yxzw, r1.x, r1.yzzw - add oT0.zw, r1.xyxy, c14.xyyx - mad oPos.xy, r0.w, c0, r0 - mov oPos.zw, r0 - -// approximately 28 instruction slots used -vs_4_0 -dcl_constantbuffer CB0[16], immediateIndexed -dcl_input v0.xy -dcl_output_siv o0.xyzw, position -dcl_output o1.xy -dcl_output o1.zw -dcl_output o2.xyz -dcl_temps 4 -mad r0.xy, v0.xyxx, cb0[10].zwzz, cb0[10].xyxx -mul r1.xyzw, r0.yyyy, cb0[1].xyzw -mad r0.xyzw, cb0[0].xyzw, r0.xxxx, r1.xyzw -add r0.xyzw, r0.xyzw, cb0[3].xyzw -div r1.xyz, r0.xyzx, r0.wwww -mov r1.w, r0.w -add r2.xyzw, r1.xyzw, -cb0[8].xyzw -mul r1.xyz, r2.wwww, r2.xyzx -mul r3.xyzw, r1.yyyy, cb0[5].xyzw -mad r3.xyzw, cb0[4].xyzw, r1.xxxx, r3.xyzw -mad r3.xyzw, cb0[6].xyzw, r1.zzzz, r3.xyzw -mad r2.xyzw, cb0[7].xyzw, r2.wwww, r3.xyzw -mov o0.xyzw, r2.xyzw -add r0.zw, r2.xxxy, l(0.000000, 0.000000, 1.000000, 1.000000) -mad r0.w, -r0.w, l(0.500000), l(1.000000) -mul r0.z, r0.z, l(0.500000) -mul r1.xy, r0.wwww, cb0[13].xyxx -mad r0.zw, cb0[12].xxxy, r0.zzzz, r1.xxxy -add o1.zw, r0.zzzw, cb0[15].xxxy -mad o1.xy, v0.xyxx, cb0[9].zwzz, cb0[9].xyxx -add r0.xy, r0.xyxx, -cb0[11].xyxx -div r0.xy, r0.xyxx, cb0[11].zwzz -mov r0.z, l(1.000000) -mul o2.xyz, r1.wwww, r0.xyzx -ret -// Approximately 25 instruction slots used -#endif - -const BYTE LayerQuadBlendMaskVS[] = -{ - 68, 88, 66, 67, 215, 232, - 211, 207, 91, 59, 72, 19, - 182, 146, 63, 212, 224, 141, - 136, 84, 1, 0, 0, 0, - 192, 9, 0, 0, 6, 0, - 0, 0, 56, 0, 0, 0, - 136, 2, 0, 0, 24, 6, - 0, 0, 148, 6, 0, 0, - 4, 9, 0, 0, 56, 9, - 0, 0, 65, 111, 110, 57, - 72, 2, 0, 0, 72, 2, - 0, 0, 0, 2, 254, 255, - 252, 1, 0, 0, 76, 0, - 0, 0, 3, 0, 36, 0, - 0, 0, 72, 0, 0, 0, - 72, 0, 0, 0, 36, 0, - 1, 0, 72, 0, 0, 0, - 0, 0, 2, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 11, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 15, 0, 1, 0, 14, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 2, 254, 255, - 81, 0, 0, 5, 15, 0, - 15, 160, 0, 0, 128, 63, - 0, 0, 0, 63, 0, 0, - 0, 0, 0, 0, 0, 0, - 31, 0, 0, 2, 5, 0, - 0, 128, 0, 0, 15, 144, - 1, 0, 0, 2, 0, 0, - 4, 128, 15, 0, 0, 160, - 6, 0, 0, 2, 0, 0, - 8, 128, 11, 0, 170, 160, - 4, 0, 0, 4, 1, 0, - 3, 128, 0, 0, 228, 144, - 10, 0, 238, 160, 10, 0, - 228, 160, 5, 0, 0, 3, - 2, 0, 15, 128, 1, 0, - 85, 128, 2, 0, 228, 160, - 4, 0, 0, 4, 1, 0, - 15, 128, 1, 0, 228, 160, - 1, 0, 0, 128, 2, 0, - 228, 128, 2, 0, 0, 3, - 1, 0, 15, 128, 1, 0, - 228, 128, 3, 0, 228, 160, - 2, 0, 0, 3, 2, 0, - 3, 128, 1, 0, 228, 128, - 11, 0, 228, 161, 5, 0, - 0, 3, 0, 0, 1, 128, - 0, 0, 255, 128, 2, 0, - 0, 128, 6, 0, 0, 2, - 0, 0, 8, 128, 11, 0, - 255, 160, 5, 0, 0, 3, - 0, 0, 2, 128, 0, 0, - 255, 128, 2, 0, 85, 128, - 5, 0, 0, 3, 1, 0, - 7, 224, 0, 0, 228, 128, - 1, 0, 255, 128, 4, 0, - 0, 4, 0, 0, 3, 224, - 0, 0, 228, 144, 9, 0, - 238, 160, 9, 0, 228, 160, - 6, 0, 0, 2, 0, 0, - 1, 128, 1, 0, 255, 128, - 5, 0, 0, 3, 1, 0, - 7, 128, 0, 0, 0, 128, - 1, 0, 228, 128, 2, 0, - 0, 3, 0, 0, 15, 128, - 1, 0, 228, 128, 8, 0, - 228, 161, 5, 0, 0, 3, - 0, 0, 7, 128, 0, 0, - 255, 128, 0, 0, 228, 128, - 5, 0, 0, 3, 1, 0, - 15, 128, 0, 0, 85, 128, - 5, 0, 228, 160, 4, 0, - 0, 4, 1, 0, 15, 128, - 4, 0, 228, 160, 0, 0, - 0, 128, 1, 0, 228, 128, - 4, 0, 0, 4, 1, 0, - 15, 128, 6, 0, 228, 160, - 0, 0, 170, 128, 1, 0, - 228, 128, 4, 0, 0, 4, - 0, 0, 15, 128, 7, 0, - 228, 160, 0, 0, 255, 128, - 1, 0, 228, 128, 2, 0, - 0, 3, 1, 0, 3, 128, - 0, 0, 228, 128, 15, 0, - 0, 160, 4, 0, 0, 4, - 1, 0, 2, 128, 1, 0, - 85, 128, 15, 0, 85, 161, - 15, 0, 0, 160, 5, 0, - 0, 3, 1, 0, 1, 128, - 1, 0, 0, 128, 15, 0, - 85, 160, 5, 0, 0, 3, - 1, 0, 6, 128, 1, 0, - 85, 128, 13, 0, 196, 160, - 4, 0, 0, 4, 1, 0, - 3, 128, 12, 0, 225, 160, - 1, 0, 0, 128, 1, 0, - 233, 128, 2, 0, 0, 3, - 0, 0, 12, 224, 1, 0, - 68, 128, 14, 0, 20, 160, - 4, 0, 0, 4, 0, 0, - 3, 192, 0, 0, 255, 128, - 0, 0, 228, 160, 0, 0, - 228, 128, 1, 0, 0, 2, - 0, 0, 12, 192, 0, 0, - 228, 128, 255, 255, 0, 0, - 83, 72, 68, 82, 136, 3, - 0, 0, 64, 0, 1, 0, - 226, 0, 0, 0, 89, 0, - 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 16, 0, - 0, 0, 95, 0, 0, 3, - 50, 16, 16, 0, 0, 0, - 0, 0, 103, 0, 0, 4, - 242, 32, 16, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 101, 0, 0, 3, 50, 32, - 16, 0, 1, 0, 0, 0, - 101, 0, 0, 3, 194, 32, - 16, 0, 1, 0, 0, 0, - 101, 0, 0, 3, 114, 32, - 16, 0, 2, 0, 0, 0, - 104, 0, 0, 2, 4, 0, - 0, 0, 50, 0, 0, 11, - 50, 0, 16, 0, 0, 0, - 0, 0, 70, 16, 16, 0, - 0, 0, 0, 0, 230, 138, - 32, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 70, 128, - 32, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 56, 0, - 0, 8, 242, 0, 16, 0, - 1, 0, 0, 0, 86, 5, - 16, 0, 0, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 50, 0, 0, 10, 242, 0, - 16, 0, 0, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 6, 0, 16, 0, 0, 0, - 0, 0, 70, 14, 16, 0, - 1, 0, 0, 0, 0, 0, - 0, 8, 242, 0, 16, 0, - 0, 0, 0, 0, 70, 14, - 16, 0, 0, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 14, 0, 0, 7, 114, 0, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 54, 0, - 0, 5, 130, 0, 16, 0, - 1, 0, 0, 0, 58, 0, - 16, 0, 0, 0, 0, 0, - 0, 0, 0, 9, 242, 0, - 16, 0, 2, 0, 0, 0, - 70, 14, 16, 0, 1, 0, - 0, 0, 70, 142, 32, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 8, 0, 0, 0, - 56, 0, 0, 7, 114, 0, - 16, 0, 1, 0, 0, 0, - 246, 15, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 56, 0, - 0, 8, 242, 0, 16, 0, - 3, 0, 0, 0, 86, 5, - 16, 0, 1, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 5, 0, 0, 0, - 50, 0, 0, 10, 242, 0, - 16, 0, 3, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 4, 0, 0, 0, - 6, 0, 16, 0, 1, 0, - 0, 0, 70, 14, 16, 0, - 3, 0, 0, 0, 50, 0, - 0, 10, 242, 0, 16, 0, - 3, 0, 0, 0, 70, 142, - 32, 0, 0, 0, 0, 0, - 6, 0, 0, 0, 166, 10, - 16, 0, 1, 0, 0, 0, - 70, 14, 16, 0, 3, 0, - 0, 0, 50, 0, 0, 10, - 242, 0, 16, 0, 2, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 7, 0, - 0, 0, 246, 15, 16, 0, - 2, 0, 0, 0, 70, 14, - 16, 0, 3, 0, 0, 0, - 54, 0, 0, 5, 242, 32, - 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 2, 0, - 0, 0, 0, 0, 0, 10, - 194, 0, 16, 0, 0, 0, - 0, 0, 6, 4, 16, 0, - 2, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 128, 63, 0, 0, 128, 63, - 50, 0, 0, 10, 130, 0, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 63, 1, 64, 0, 0, - 0, 0, 128, 63, 56, 0, - 0, 7, 66, 0, 16, 0, - 0, 0, 0, 0, 42, 0, - 16, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 63, 56, 0, 0, 8, - 50, 0, 16, 0, 1, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 128, - 32, 0, 0, 0, 0, 0, - 13, 0, 0, 0, 50, 0, - 0, 10, 194, 0, 16, 0, - 0, 0, 0, 0, 6, 132, - 32, 0, 0, 0, 0, 0, - 12, 0, 0, 0, 166, 10, - 16, 0, 0, 0, 0, 0, - 6, 4, 16, 0, 1, 0, - 0, 0, 0, 0, 0, 8, - 194, 32, 16, 0, 1, 0, - 0, 0, 166, 14, 16, 0, - 0, 0, 0, 0, 6, 132, - 32, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 50, 0, - 0, 11, 50, 32, 16, 0, - 1, 0, 0, 0, 70, 16, - 16, 0, 0, 0, 0, 0, - 230, 138, 32, 0, 0, 0, - 0, 0, 9, 0, 0, 0, - 70, 128, 32, 0, 0, 0, - 0, 0, 9, 0, 0, 0, - 0, 0, 0, 9, 50, 0, - 16, 0, 0, 0, 0, 0, - 70, 0, 16, 0, 0, 0, - 0, 0, 70, 128, 32, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 11, 0, 0, 0, - 14, 0, 0, 8, 50, 0, - 16, 0, 0, 0, 0, 0, - 70, 0, 16, 0, 0, 0, - 0, 0, 230, 138, 32, 0, - 0, 0, 0, 0, 11, 0, - 0, 0, 54, 0, 0, 5, - 66, 0, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 128, 63, 56, 0, - 0, 7, 114, 32, 16, 0, - 2, 0, 0, 0, 246, 15, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 62, 0, 0, 1, - 83, 84, 65, 84, 116, 0, - 0, 0, 25, 0, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 5, 0, 0, 0, - 21, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 68, - 69, 70, 104, 2, 0, 0, - 1, 0, 0, 0, 72, 0, - 0, 0, 1, 0, 0, 0, - 28, 0, 0, 0, 0, 4, - 254, 255, 0, 1, 0, 0, - 52, 2, 0, 0, 60, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 36, 71, 108, 111, 98, 97, - 108, 115, 0, 171, 171, 171, - 60, 0, 0, 0, 10, 0, - 0, 0, 96, 0, 0, 0, - 48, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 80, 1, 0, 0, 0, 0, - 0, 0, 64, 0, 0, 0, - 2, 0, 0, 0, 96, 1, - 0, 0, 0, 0, 0, 0, - 112, 1, 0, 0, 64, 0, - 0, 0, 64, 0, 0, 0, - 2, 0, 0, 0, 96, 1, - 0, 0, 0, 0, 0, 0, - 124, 1, 0, 0, 128, 0, - 0, 0, 16, 0, 0, 0, - 2, 0, 0, 0, 144, 1, - 0, 0, 0, 0, 0, 0, - 160, 1, 0, 0, 144, 0, - 0, 0, 16, 0, 0, 0, - 2, 0, 0, 0, 176, 1, - 0, 0, 0, 0, 0, 0, - 192, 1, 0, 0, 160, 0, - 0, 0, 16, 0, 0, 0, - 2, 0, 0, 0, 176, 1, - 0, 0, 0, 0, 0, 0, - 203, 1, 0, 0, 176, 0, - 0, 0, 16, 0, 0, 0, - 2, 0, 0, 0, 176, 1, - 0, 0, 0, 0, 0, 0, - 213, 1, 0, 0, 192, 0, - 0, 0, 64, 0, 0, 0, - 2, 0, 0, 0, 96, 1, - 0, 0, 0, 0, 0, 0, - 232, 1, 0, 0, 0, 1, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 144, 1, - 0, 0, 0, 0, 0, 0, - 244, 1, 0, 0, 16, 1, - 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 4, 2, - 0, 0, 0, 0, 0, 0, - 20, 2, 0, 0, 32, 1, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 36, 2, - 0, 0, 0, 0, 0, 0, - 109, 76, 97, 121, 101, 114, - 84, 114, 97, 110, 115, 102, - 111, 114, 109, 0, 3, 0, - 3, 0, 4, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 109, 80, 114, 111, - 106, 101, 99, 116, 105, 111, - 110, 0, 118, 82, 101, 110, - 100, 101, 114, 84, 97, 114, - 103, 101, 116, 79, 102, 102, - 115, 101, 116, 0, 1, 0, - 3, 0, 1, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 118, 84, 101, 120, - 116, 117, 114, 101, 67, 111, - 111, 114, 100, 115, 0, 171, - 1, 0, 3, 0, 1, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 118, 76, - 97, 121, 101, 114, 81, 117, - 97, 100, 0, 118, 77, 97, - 115, 107, 81, 117, 97, 100, - 0, 109, 66, 97, 99, 107, - 100, 114, 111, 112, 84, 114, - 97, 110, 115, 102, 111, 114, - 109, 0, 102, 76, 97, 121, - 101, 114, 67, 111, 108, 111, - 114, 0, 102, 76, 97, 121, - 101, 114, 79, 112, 97, 99, - 105, 116, 121, 0, 171, 171, - 0, 0, 3, 0, 1, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 105, 66, - 108, 101, 110, 100, 67, 111, - 110, 102, 105, 103, 0, 171, - 171, 171, 1, 0, 19, 0, - 1, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 77, 105, 99, 114, 111, 115, - 111, 102, 116, 32, 40, 82, - 41, 32, 72, 76, 83, 76, - 32, 83, 104, 97, 100, 101, - 114, 32, 67, 111, 109, 112, - 105, 108, 101, 114, 32, 49, - 48, 46, 48, 46, 49, 48, - 48, 49, 49, 46, 49, 54, - 51, 56, 52, 0, 73, 83, - 71, 78, 44, 0, 0, 0, - 1, 0, 0, 0, 8, 0, - 0, 0, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 3, 3, - 0, 0, 80, 79, 83, 73, - 84, 73, 79, 78, 0, 171, - 171, 171, 79, 83, 71, 78, - 128, 0, 0, 0, 4, 0, - 0, 0, 8, 0, 0, 0, - 104, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 116, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 3, 12, 0, 0, - 116, 0, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 12, 3, 0, 0, - 116, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 7, 8, 0, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 171, 171, 171 -}; +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer $Globals +// { +// +// float4x4 mLayerTransform; // Offset: 0 Size: 64 +// float4x4 mProjection; // Offset: 64 Size: 64 +// float4 vRenderTargetOffset; // Offset: 128 Size: 16 +// float4 vTextureCoords; // Offset: 144 Size: 16 +// float4 vLayerQuad; // Offset: 160 Size: 16 +// float4 vMaskQuad; // Offset: 176 Size: 16 +// float4x4 mBackdropTransform; // Offset: 192 Size: 64 +// float4 fLayerColor; // Offset: 256 Size: 16 [unused] +// float fLayerOpacity; // Offset: 272 Size: 4 [unused] +// uint4 iBlendConfig; // Offset: 288 Size: 16 [unused] +// row_major float3x3 mYuvColorMatrix;// Offset: 304 Size: 44 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim HLSL Bind Count +// ------------------------------ ---------- ------- ----------- -------------- ------ +// $Globals cbuffer NA NA cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// POSITION 0 xy 0 NONE float xy +// +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Position 0 xyzw 0 POS float xyzw +// TEXCOORD 0 xy 1 NONE float xy +// TEXCOORD 2 zw 1 NONE float zw +// TEXCOORD 1 xyz 2 NONE float xyz +// +// +// Constant buffer to DX9 shader constant mappings: +// +// Target Reg Buffer Start Reg # of Regs Data Conversion +// ---------- ------- --------- --------- ---------------------- +// c1 cb0 0 2 ( FLT, FLT, FLT, FLT) +// c3 cb0 3 11 ( FLT, FLT, FLT, FLT) +// c14 cb0 15 1 ( FLT, FLT, FLT, FLT) +// +// +// Runtime generated constant mappings: +// +// Target Reg Constant Description +// ---------- -------------------------------------------------- +// c0 Vertex Shader position offset +// +// +// Level9 shader bytecode: +// + vs_2_x + def c15, 1, 0.5, 0, 0 + dcl_texcoord v0 + mov r0.z, c15.x + rcp r0.w, c11.z + mad r1.xy, v0, c10.zwzw, c10 + mul r2, r1.y, c2 + mad r1, c1, r1.x, r2 + add r1, r1, c3 + add r2.xy, r1, -c11 + mul r0.x, r0.w, r2.x + rcp r0.w, c11.w + mul r0.y, r0.w, r2.y + mul oT1.xyz, r0, r1.w + mad oT0.xy, v0, c9.zwzw, c9 + rcp r0.x, r1.w + mul r1.xyz, r0.x, r1 + add r0, r1, -c8 + mul r0.xyz, r0.w, r0 + mul r1, r0.y, c5 + mad r1, c4, r0.x, r1 + mad r1, c6, r0.z, r1 + mad r0, c7, r0.w, r1 + add r1.xy, r0, c15.x + mad r1.y, r1.y, -c15.y, c15.x + mul r1.x, r1.x, c15.y + mul r1.yz, r1.y, c13.xyxw + mad r1.xy, c12.yxzw, r1.x, r1.yzzw + add oT0.zw, r1.xyxy, c14.xyyx + mad oPos.xy, r0.w, c0, r0 + mov oPos.zw, r0 + +// approximately 28 instruction slots used +vs_4_0 +dcl_constantbuffer CB0[16], immediateIndexed +dcl_input v0.xy +dcl_output_siv o0.xyzw, position +dcl_output o1.xy +dcl_output o1.zw +dcl_output o2.xyz +dcl_temps 4 +mad r0.xy, v0.xyxx, cb0[10].zwzz, cb0[10].xyxx +mul r1.xyzw, r0.yyyy, cb0[1].xyzw +mad r0.xyzw, cb0[0].xyzw, r0.xxxx, r1.xyzw +add r0.xyzw, r0.xyzw, cb0[3].xyzw +div r1.xyz, r0.xyzx, r0.wwww +mov r1.w, r0.w +add r2.xyzw, r1.xyzw, -cb0[8].xyzw +mul r1.xyz, r2.wwww, r2.xyzx +mul r3.xyzw, r1.yyyy, cb0[5].xyzw +mad r3.xyzw, cb0[4].xyzw, r1.xxxx, r3.xyzw +mad r3.xyzw, cb0[6].xyzw, r1.zzzz, r3.xyzw +mad r2.xyzw, cb0[7].xyzw, r2.wwww, r3.xyzw +mov o0.xyzw, r2.xyzw +add r0.zw, r2.xxxy, l(0.000000, 0.000000, 1.000000, 1.000000) +mad r0.w, -r0.w, l(0.500000), l(1.000000) +mul r0.z, r0.z, l(0.500000) +mul r1.xy, r0.wwww, cb0[13].xyxx +mad r0.zw, cb0[12].xxxy, r0.zzzz, r1.xxxy +add o1.zw, r0.zzzw, cb0[15].xxxy +mad o1.xy, v0.xyxx, cb0[9].zwzz, cb0[9].xyxx +add r0.xy, r0.xyxx, -cb0[11].xyxx +div r0.xy, r0.xyxx, cb0[11].zwzz +mov r0.z, l(1.000000) +mul o2.xyz, r1.wwww, r0.xyzx +ret +// Approximately 25 instruction slots used +#endif + +const BYTE LayerQuadBlendMaskVS[] = +{ + 68, 88, 66, 67, 206, 205, + 172, 45, 15, 157, 207, 85, + 247, 28, 223, 137, 10, 58, + 17, 237, 1, 0, 0, 0, + 236, 9, 0, 0, 6, 0, + 0, 0, 56, 0, 0, 0, + 136, 2, 0, 0, 24, 6, + 0, 0, 148, 6, 0, 0, + 48, 9, 0, 0, 100, 9, + 0, 0, 65, 111, 110, 57, + 72, 2, 0, 0, 72, 2, + 0, 0, 0, 2, 254, 255, + 252, 1, 0, 0, 76, 0, + 0, 0, 3, 0, 36, 0, + 0, 0, 72, 0, 0, 0, + 72, 0, 0, 0, 36, 0, + 1, 0, 72, 0, 0, 0, + 0, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 11, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 1, 0, 14, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 2, 254, 255, + 81, 0, 0, 5, 15, 0, + 15, 160, 0, 0, 128, 63, + 0, 0, 0, 63, 0, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 0, 2, 5, 0, + 0, 128, 0, 0, 15, 144, + 1, 0, 0, 2, 0, 0, + 4, 128, 15, 0, 0, 160, + 6, 0, 0, 2, 0, 0, + 8, 128, 11, 0, 170, 160, + 4, 0, 0, 4, 1, 0, + 3, 128, 0, 0, 228, 144, + 10, 0, 238, 160, 10, 0, + 228, 160, 5, 0, 0, 3, + 2, 0, 15, 128, 1, 0, + 85, 128, 2, 0, 228, 160, + 4, 0, 0, 4, 1, 0, + 15, 128, 1, 0, 228, 160, + 1, 0, 0, 128, 2, 0, + 228, 128, 2, 0, 0, 3, + 1, 0, 15, 128, 1, 0, + 228, 128, 3, 0, 228, 160, + 2, 0, 0, 3, 2, 0, + 3, 128, 1, 0, 228, 128, + 11, 0, 228, 161, 5, 0, + 0, 3, 0, 0, 1, 128, + 0, 0, 255, 128, 2, 0, + 0, 128, 6, 0, 0, 2, + 0, 0, 8, 128, 11, 0, + 255, 160, 5, 0, 0, 3, + 0, 0, 2, 128, 0, 0, + 255, 128, 2, 0, 85, 128, + 5, 0, 0, 3, 1, 0, + 7, 224, 0, 0, 228, 128, + 1, 0, 255, 128, 4, 0, + 0, 4, 0, 0, 3, 224, + 0, 0, 228, 144, 9, 0, + 238, 160, 9, 0, 228, 160, + 6, 0, 0, 2, 0, 0, + 1, 128, 1, 0, 255, 128, + 5, 0, 0, 3, 1, 0, + 7, 128, 0, 0, 0, 128, + 1, 0, 228, 128, 2, 0, + 0, 3, 0, 0, 15, 128, + 1, 0, 228, 128, 8, 0, + 228, 161, 5, 0, 0, 3, + 0, 0, 7, 128, 0, 0, + 255, 128, 0, 0, 228, 128, + 5, 0, 0, 3, 1, 0, + 15, 128, 0, 0, 85, 128, + 5, 0, 228, 160, 4, 0, + 0, 4, 1, 0, 15, 128, + 4, 0, 228, 160, 0, 0, + 0, 128, 1, 0, 228, 128, + 4, 0, 0, 4, 1, 0, + 15, 128, 6, 0, 228, 160, + 0, 0, 170, 128, 1, 0, + 228, 128, 4, 0, 0, 4, + 0, 0, 15, 128, 7, 0, + 228, 160, 0, 0, 255, 128, + 1, 0, 228, 128, 2, 0, + 0, 3, 1, 0, 3, 128, + 0, 0, 228, 128, 15, 0, + 0, 160, 4, 0, 0, 4, + 1, 0, 2, 128, 1, 0, + 85, 128, 15, 0, 85, 161, + 15, 0, 0, 160, 5, 0, + 0, 3, 1, 0, 1, 128, + 1, 0, 0, 128, 15, 0, + 85, 160, 5, 0, 0, 3, + 1, 0, 6, 128, 1, 0, + 85, 128, 13, 0, 196, 160, + 4, 0, 0, 4, 1, 0, + 3, 128, 12, 0, 225, 160, + 1, 0, 0, 128, 1, 0, + 233, 128, 2, 0, 0, 3, + 0, 0, 12, 224, 1, 0, + 68, 128, 14, 0, 20, 160, + 4, 0, 0, 4, 0, 0, + 3, 192, 0, 0, 255, 128, + 0, 0, 228, 160, 0, 0, + 228, 128, 1, 0, 0, 2, + 0, 0, 12, 192, 0, 0, + 228, 128, 255, 255, 0, 0, + 83, 72, 68, 82, 136, 3, + 0, 0, 64, 0, 1, 0, + 226, 0, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 16, 0, + 0, 0, 95, 0, 0, 3, + 50, 16, 16, 0, 0, 0, + 0, 0, 103, 0, 0, 4, + 242, 32, 16, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 101, 0, 0, 3, 50, 32, + 16, 0, 1, 0, 0, 0, + 101, 0, 0, 3, 194, 32, + 16, 0, 1, 0, 0, 0, + 101, 0, 0, 3, 114, 32, + 16, 0, 2, 0, 0, 0, + 104, 0, 0, 2, 4, 0, + 0, 0, 50, 0, 0, 11, + 50, 0, 16, 0, 0, 0, + 0, 0, 70, 16, 16, 0, + 0, 0, 0, 0, 230, 138, + 32, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 70, 128, + 32, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 56, 0, + 0, 8, 242, 0, 16, 0, + 1, 0, 0, 0, 86, 5, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 50, 0, 0, 10, 242, 0, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 6, 0, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 0, 0, + 0, 8, 242, 0, 16, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 14, 0, 0, 7, 114, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 0, 0, 0, 9, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 70, 142, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 56, 0, 0, 7, 114, 0, + 16, 0, 1, 0, 0, 0, + 246, 15, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 56, 0, + 0, 8, 242, 0, 16, 0, + 3, 0, 0, 0, 86, 5, + 16, 0, 1, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 50, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 6, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 50, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 166, 10, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 50, 0, 0, 10, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 246, 15, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 54, 0, 0, 5, 242, 32, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 0, 0, 0, 10, + 194, 0, 16, 0, 0, 0, + 0, 0, 6, 4, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 128, 63, 0, 0, 128, 63, + 50, 0, 0, 10, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 63, 1, 64, 0, 0, + 0, 0, 128, 63, 56, 0, + 0, 7, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 63, 56, 0, 0, 8, + 50, 0, 16, 0, 1, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 128, + 32, 0, 0, 0, 0, 0, + 13, 0, 0, 0, 50, 0, + 0, 10, 194, 0, 16, 0, + 0, 0, 0, 0, 6, 132, + 32, 0, 0, 0, 0, 0, + 12, 0, 0, 0, 166, 10, + 16, 0, 0, 0, 0, 0, + 6, 4, 16, 0, 1, 0, + 0, 0, 0, 0, 0, 8, + 194, 32, 16, 0, 1, 0, + 0, 0, 166, 14, 16, 0, + 0, 0, 0, 0, 6, 132, + 32, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 50, 0, + 0, 11, 50, 32, 16, 0, + 1, 0, 0, 0, 70, 16, + 16, 0, 0, 0, 0, 0, + 230, 138, 32, 0, 0, 0, + 0, 0, 9, 0, 0, 0, + 70, 128, 32, 0, 0, 0, + 0, 0, 9, 0, 0, 0, + 0, 0, 0, 9, 50, 0, + 16, 0, 0, 0, 0, 0, + 70, 0, 16, 0, 0, 0, + 0, 0, 70, 128, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 11, 0, 0, 0, + 14, 0, 0, 8, 50, 0, + 16, 0, 0, 0, 0, 0, + 70, 0, 16, 0, 0, 0, + 0, 0, 230, 138, 32, 0, + 0, 0, 0, 0, 11, 0, + 0, 0, 54, 0, 0, 5, + 66, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 128, 63, 56, 0, + 0, 7, 114, 32, 16, 0, + 2, 0, 0, 0, 246, 15, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 62, 0, 0, 1, + 83, 84, 65, 84, 116, 0, + 0, 0, 25, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 21, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 68, + 69, 70, 148, 2, 0, 0, + 1, 0, 0, 0, 72, 0, + 0, 0, 1, 0, 0, 0, + 28, 0, 0, 0, 0, 4, + 254, 255, 0, 1, 0, 0, + 108, 2, 0, 0, 60, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 36, 71, 108, 111, 98, 97, + 108, 115, 0, 171, 171, 171, + 60, 0, 0, 0, 11, 0, + 0, 0, 96, 0, 0, 0, + 96, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 104, 1, 0, 0, 0, 0, + 0, 0, 64, 0, 0, 0, + 2, 0, 0, 0, 120, 1, + 0, 0, 0, 0, 0, 0, + 136, 1, 0, 0, 64, 0, + 0, 0, 64, 0, 0, 0, + 2, 0, 0, 0, 120, 1, + 0, 0, 0, 0, 0, 0, + 148, 1, 0, 0, 128, 0, + 0, 0, 16, 0, 0, 0, + 2, 0, 0, 0, 168, 1, + 0, 0, 0, 0, 0, 0, + 184, 1, 0, 0, 144, 0, + 0, 0, 16, 0, 0, 0, + 2, 0, 0, 0, 200, 1, + 0, 0, 0, 0, 0, 0, + 216, 1, 0, 0, 160, 0, + 0, 0, 16, 0, 0, 0, + 2, 0, 0, 0, 200, 1, + 0, 0, 0, 0, 0, 0, + 227, 1, 0, 0, 176, 0, + 0, 0, 16, 0, 0, 0, + 2, 0, 0, 0, 200, 1, + 0, 0, 0, 0, 0, 0, + 237, 1, 0, 0, 192, 0, + 0, 0, 64, 0, 0, 0, + 2, 0, 0, 0, 120, 1, + 0, 0, 0, 0, 0, 0, + 0, 2, 0, 0, 0, 1, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 168, 1, + 0, 0, 0, 0, 0, 0, + 12, 2, 0, 0, 16, 1, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 28, 2, + 0, 0, 0, 0, 0, 0, + 44, 2, 0, 0, 32, 1, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 60, 2, + 0, 0, 0, 0, 0, 0, + 76, 2, 0, 0, 48, 1, + 0, 0, 44, 0, 0, 0, + 0, 0, 0, 0, 92, 2, + 0, 0, 0, 0, 0, 0, + 109, 76, 97, 121, 101, 114, + 84, 114, 97, 110, 115, 102, + 111, 114, 109, 0, 3, 0, + 3, 0, 4, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 109, 80, 114, 111, + 106, 101, 99, 116, 105, 111, + 110, 0, 118, 82, 101, 110, + 100, 101, 114, 84, 97, 114, + 103, 101, 116, 79, 102, 102, + 115, 101, 116, 0, 1, 0, + 3, 0, 1, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 118, 84, 101, 120, + 116, 117, 114, 101, 67, 111, + 111, 114, 100, 115, 0, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 118, 76, + 97, 121, 101, 114, 81, 117, + 97, 100, 0, 118, 77, 97, + 115, 107, 81, 117, 97, 100, + 0, 109, 66, 97, 99, 107, + 100, 114, 111, 112, 84, 114, + 97, 110, 115, 102, 111, 114, + 109, 0, 102, 76, 97, 121, + 101, 114, 67, 111, 108, 111, + 114, 0, 102, 76, 97, 121, + 101, 114, 79, 112, 97, 99, + 105, 116, 121, 0, 171, 171, + 0, 0, 3, 0, 1, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 105, 66, + 108, 101, 110, 100, 67, 111, + 110, 102, 105, 103, 0, 171, + 171, 171, 1, 0, 19, 0, + 1, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 109, 89, 117, 118, 67, 111, + 108, 111, 114, 77, 97, 116, + 114, 105, 120, 0, 2, 0, + 3, 0, 3, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 73, 83, 71, 78, 44, 0, + 0, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 3, 3, 0, 0, 80, 79, + 83, 73, 84, 73, 79, 78, + 0, 171, 171, 171, 79, 83, + 71, 78, 128, 0, 0, 0, + 4, 0, 0, 0, 8, 0, + 0, 0, 104, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 116, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 3, 12, + 0, 0, 116, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 12, 3, + 0, 0, 116, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 7, 8, + 0, 0, 83, 86, 95, 80, + 111, 115, 105, 116, 105, 111, + 110, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 171, + 171, 171 +}; ShaderBytes sLayerQuadBlendMaskVS = { LayerQuadBlendMaskVS, sizeof(LayerQuadBlendMaskVS) }; -#if 0 -// -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 -// -// -// Buffer Definitions: -// -// cbuffer $Globals -// { -// -// float4 fLayerColor; // Offset: 0 Size: 16 -// float fLayerOpacity; // Offset: 16 Size: 4 -// uint4 iBlendConfig; // Offset: 32 Size: 16 -// float4x4 mLayerTransform; // Offset: 48 Size: 64 [unused] -// float4x4 mProjection; // Offset: 112 Size: 64 [unused] -// float4 vRenderTargetOffset; // Offset: 176 Size: 16 [unused] -// float4 vTextureCoords; // Offset: 192 Size: 16 [unused] -// float4 vLayerQuad; // Offset: 208 Size: 16 [unused] -// float4 vMaskQuad; // Offset: 224 Size: 16 [unused] -// float4x4 mBackdropTransform; // Offset: 240 Size: 64 [unused] -// -// } -// -// -// Resource Bindings: -// -// Name Type Format Dim HLSL Bind Count -// ------------------------------ ---------- ------- ----------- -------------- ------ -// sSampler sampler NA NA s0 1 -// tRGB texture float4 2d t0 1 -// tY texture float4 2d t1 1 -// tCb texture float4 2d t2 1 -// tCr texture float4 2d t3 1 -// tMask texture float4 2d t5 1 -// tBackdrop texture float4 2d t6 1 -// $Globals cbuffer NA NA cb0 1 -// -// -// -// Input signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// SV_Position 0 xyzw 0 POS float -// TEXCOORD 0 xy 1 NONE float xy -// TEXCOORD 2 zw 1 NONE float zw -// TEXCOORD 1 xyz 2 NONE float xyz -// -// -// Output signature: -// -// Name Index Mask Register SysValue Format Used -// -------------------- ----- ------ -------- -------- ------- ------ -// SV_Target 0 xyzw 0 TARGET float xyzw -// -// -// Constant buffer to DX9 shader constant mappings: -// -// Target Reg Buffer Start Reg # of Regs Data Conversion -// ---------- ------- --------- --------- ---------------------- -// c0 cb0 0 2 ( FLT, FLT, FLT, FLT) -// c2 cb0 2 1 (UINT,UINT,UINT,UINT) -// -// -// Sampler/Resource to DX9 shader sampler mappings: -// -// Target Sampler Source Sampler Source Resource -// -------------- --------------- ---------------- -// s0 s0 t0 -// s1 s0 t1 -// s2 s0 t2 -// s3 s0 t3 -// s4 s0 t5 -// s5 s0 t6 -// -// -// Level9 shader bytecode: -// - ps_2_x - def c3, -1, -2, -0.50195998, -0.0627499968 - def c4, 1.59603, 0.812969983, 1.16437995, 2.01723003 - def c5, -2, -3, -4, -5 - def c6, -6, -7, -8, -9 - def c7, 1, 0.25, 2, -1 - def c8, 16, -12, -14, 0 - def c9, -10, -11, -12, -13 - def c10, 0.300000012, 0.589999974, 0.109999999, 0 - def c11, 0.391759992, -1, -0, -0.5 - dcl t0 - dcl t1.xyz - dcl_2d s0 - dcl_2d s1 - dcl_2d s2 - dcl_2d s3 - dcl_2d s4 - dcl_2d s5 - mov r0.x, -c11.z - mov r1.x, -c11.z - mov r2.z, -c11.z - texld r3, t0, s1 - texld r4, t0, s3 - add r0.w, r4.x, c3.z - mul r3.yz, r0.w, c4.xxyw - add r0.w, r3.x, c3.w - mad r1.w, r0.w, c4.z, -r3.z - mad r3.x, r0.w, c4.z, r3.y - rcp r2.w, t1.z - mul r4.xy, r2.w, t1 - texld r5, t0, s2 - texld r4, r4, s4 - add r2.w, r5.x, c3.z - mad r3.y, r2.w, -c11.x, r1.w - mul r1.w, r2.w, c4.w - mad r3.z, r0.w, c4.z, r1.w - mov r3.w, -c3.x - mul r3, r3, c1.x - mul r5, r4.x, r3 - mov r6.xy, t0.wzzw - texld r7, t0, s0 - texld r6, r6, s5 - mul r7, r7, c1.x - mul r8, r4.x, r7 - mov r9.xy, c3 - add r10, r9.xyxx, c2.xxyz - mul r10, r10, r10 - cmp r5, -r10.x, r8, r5 - cmp r3, -r10.x, r7, r3 - mov r7.w, c1.x - mul r8, r4.x, r7 - cmp r3, -c2.x, r7, r3 - mul r4, r4.x, c0 - cmp r5, -c2.x, r8, r5 - cmp r7.xy, -r10.yzzw, c11.y, c11.z - cmp r0.w, -r10.x, c3.x, r7.x - cmp r1.w, -c2.y, r9.x, r7.y - cmp r0.w, -c2.x, r9.x, r0.w - cmp r4, r0.w, r4, r5 - cmp r3, r0.w, c0, r3 - cmp r3, -c2.y, r3, r4 - cmp r3, r1.w, -c11.zzzy, r3 - rcp r0.w, r3.w - mul r4.xyz, r0.w, r3 - cmp r4.xyz, -c2.w, r3, r4 - add r5.xy, -r4.yzzw, r4 - cmp r5.zw, r5.x, r4.xyxy, r4.xyyx - max r0.w, r5.z, r4.z - min r1.w, r4.z, r5.w - add r7.w, r0.w, -r1.w - rcp r0.w, r6.w - mul r8.xyz, r0.w, r6 - mad r5.zw, r6.xyzy, r0.w, -r8.xyxz - mul r9.xy, r7.w, r5.zwzw - mad r11, r6.yxxz, r0.w, -r8.xzyy - rcp r1.w, r11.x - mul r7.y, r1.w, r9.x - cmp r1.yz, r11.z, -c11.z, r7.xwyw - mul r12, r7.w, r11 - rcp r1.w, r5.w - mul r7.x, r1.w, r12.y - cmp r2.xy, r11.w, -c11.z, r7.xwzw - cmp r1.xyz, r5.z, r1, r2 - rcp r1.w, r5.z - mul r7.z, r1.w, r12.x - cmp r0.yz, r11.y, -c11.z, r7.xzww - cmp r0.xyz, r11.w, r0, r1 - mov r1.y, -c11.z - mov r2.y, -c11.z - mov r10.z, -c11.z - rcp r1.w, r11.z - mul r7.y, r1.w, r12.w - cmp r2.xz, r11.x, -c11.z, r7.wyyw - rcp r1.w, r11.y - mul r7.x, r1.w, r9.y - cmp r10.xy, r5.z, -c11.z, r7.wxzw - cmp r2.xyz, r11.w, r2, r10 - rcp r1.w, r11.w - mul r7.z, r1.w, r12.z - cmp r1.xz, r5.w, -c11.z, r7.zyww - cmp r1.xyz, r5.z, r1, r2 - cmp r0.xyz, r11.x, r0, r1 - cmp r1.xy, r11.z, r8, r8.yxzw - dp3 r4.w, c10, r0 - dp3 r8.w, c10, r8 - add r4.w, -r4.w, r8.w - add r0.xyz, r0, r4.w - add r4.w, -r0.y, r0.x - cmp r1.zw, r4.w, r0.xyyx, r0.xyxy - min r4.w, r0.z, r1.z - max r2.x, r1.w, r0.z - dp3 r1.z, c10, r0 - add r1.w, -r4.w, r1.z - rcp r1.w, r1.w - add r2.yzw, r0.xxyz, -r1.z - mul r2.yzw, r1.z, r2 - mad r2.yzw, r2, r1.w, r1.z - cmp r0.xyz, r4.w, r0, r2.yzww - add r2.yzw, -r1.z, r0.xxyz - add r1.w, -r1.z, -c3.x - mul r2.yzw, r1.w, r2 - add r1.w, -r1.z, r2.x - add r4.w, -r2.x, -c3.x - rcp r1.w, r1.w - mad r2.xyz, r2.yzww, r1.w, r1.z - cmp r0.xyz, r4.w, r0, r2 - mov r4.w, c2.z - add r1.z, r4.w, c8.z - mul r1.z, r1.z, r1.z - dp3 r1.w, c10, r4 - add r2.x, -r8.w, r1.w - add r1.w, -r1.w, r8.w - add r2.yzw, r1.w, r4.xxyz - mad r7.xyz, r6, r0.w, r2.x - add r1.w, -r7.y, r7.x - cmp r5.zw, r1.w, r7.xyyx, r7.xyxy - min r1.w, r7.z, r5.z - max r2.x, r5.w, r7.z - dp3 r7.w, c10, r7 - add r5.z, -r1.w, r7.w - rcp r5.z, r5.z - add r9.xyz, -r7.w, r7 - mul r9.xyz, r7.w, r9 - mad r9.xyz, r9, r5.z, r7.w - cmp r7.xyz, r1.w, r7, r9 - add r9.xyz, -r7.w, r7 - add r1.w, -r7.w, -c3.x - mul r9.xyz, r1.w, r9 - add r1.w, r2.x, -r7.w - add r9.w, -r2.x, -c3.x - rcp r1.w, r1.w - mad r9.xyz, r9, r1.w, r7.w - cmp r7.xyz, r9.w, r7, r9 - cmp r7.xyz, -r1.z, r7, -c11.z - add r7.w, -r2.z, r2.y - cmp r1.zw, r7.w, r2.xyzy, r2.xyyz - min r7.w, r2.w, r1.z - max r5.z, r1.w, r2.w - dp3 r5.w, c10, r2.yzww - add r1.z, -r7.w, r5.w - rcp r1.z, r1.z - add r9.xyz, r2.yzww, -r5.w - mul r9.xyz, r5.w, r9 - mad r9.xyz, r9, r1.z, r5.w - cmp r2.xyz, r7.w, r2.yzww, r9 - add r9.xyz, -r5.w, r2 - add r2.w, -r5.w, -c3.x - mul r9.xyz, r2.w, r9 - add r2.w, -r5.w, r5.z - add r7.w, -r5.z, -c3.x - rcp r2.w, r2.w - mad r9.xyz, r9, r2.w, r5.w - cmp r2.xyz, r7.w, r2, r9 - add r9, r4.w, c9 - mul r9, r9, r9 - cmp r2.xyz, -r9.w, r2, r7 - cmp r0.xyz, -r9.z, r0, r2 - add r2, -r4.xxzy, r4.yzxz - mov r7.y, -c11.z - mov r10.y, -c11.z - mov r11.z, -c11.z - rcp r7.w, r2.z - max r11.w, r1.x, r8.z - min r5.z, r8.z, r1.y - add r1.w, -r5.z, r11.w - mul r5.zw, r1.w, r5.xyxy - mul r1.x, r7.w, r5.w - cmp r11.xy, r2.y, -c11.z, r1.wxzw - rcp r5.w, r5.x - mul r12, r1.w, r2 - mul r1.y, r5.w, r12.w - cmp r10.xz, r2.x, -c11.z, r1.wyyw - cmp r10.xyz, r2.w, r10, r11 - rcp r5.w, r2.w - mul r1.z, r5.w, r5.z - cmp r7.xz, r5.y, -c11.z, r1.zyww - cmp r7.xyz, r2.y, r7, r10 - mov r10.x, -c11.z - mov r11.x, -c11.z - mov r13.z, -c11.z - rcp r7.w, r2.x - mul r1.y, r7.w, r12.y - cmp r11.yz, r5.x, -c11.z, r1.xwyw - rcp r7.w, r5.y - mul r1.x, r7.w, r12.z - cmp r13.xy, r2.w, -c11.z, r1.xwzw - cmp r5.xyz, r2.y, r11, r13 - rcp r5.w, r2.y - mul r1.z, r5.w, r12.x - cmp r10.yz, r2.z, -c11.z, r1.xzww - cmp r1.xyz, r2.w, r10, r5 - cmp r1.xyz, r2.x, r1, r7 - dp3 r1.w, c10, r1 - add r1.w, -r1.w, r8.w - add r1.xyz, r1.w, r1 - add r1.w, -r1.y, r1.x - cmp r2.xy, r1.w, r1.yxzw, r1 - min r8.w, r1.z, r2.x - max r5.x, r2.y, r1.z - dp3 r1.w, c10, r1 - add r2.x, -r8.w, r1.w - rcp r2.x, r2.x - add r2.yzw, -r1.w, r1.xxyz - mul r2.yzw, r1.w, r2 - mad r2.xyz, r2.yzww, r2.x, r1.w - cmp r1.xyz, r8.w, r1, r2 - add r2.xyz, -r1.w, r1 - add r2.w, -r1.w, -c3.x - mul r2.xyz, r2.w, r2 - add r2.w, -r1.w, r5.x - add r8.w, -r5.x, -c3.x - rcp r2.w, r2.w - mad r2.xyz, r2, r2.w, r1.w - cmp r1.xyz, r8.w, r1, r2 - cmp r0.xyz, -r9.y, r1, r0 - mad r1.xyz, r6, r0.w, r4 - mul r2.xyz, r4, r8 - mad r5.xyz, r2, c3.y, r1 - mad r1.xyz, r8, -r4, r1 - cmp r0.xyz, -r9.x, r5, r0 - mad r5.xyz, r6, r0.w, -r4 - abs r5.xyz, r5 - add r7, r4.w, c6 - mul r7, r7, r7 - cmp r0.xyz, -r7.w, r5, r0 - add r5.xy, -r4.yzzw, -c11.w - mad r9.xyz, r4, c7.z, c7.w - mad r1.w, r6.z, -r0.w, c7.y - mad r10.xyz, r8, c8.x, c8.y - mad r10.xyz, r10, r8, -c5.z - mul r10.xyz, r8, r10 - rsq r2.w, r8.z - rcp r2.w, r2.w - cmp r1.w, r1.w, r10.z, r2.w - mad r1.w, r6.z, -r0.w, r1.w - mad r1.w, r9.z, r1.w, r8.z - mad r11.xyz, r4, c3.y, -c3.x - mul r11.xyz, r8, r11 - mad r12, r6.yzxy, -r0.w, c7.xxyy - mad r5.zw, r11.xyyz, -r12.xyxy, r8.xyyz - cmp r13.z, r5.y, r5.w, r1.w - rsq r1.w, r8.y - rcp r1.w, r1.w - cmp r1.w, r12.w, r10.y, r1.w - mad r1.w, r6.y, -r0.w, r1.w - mad r1.w, r9.y, r1.w, r8.y - cmp r13.y, r5.x, r5.z, r1.w - add r14, -r4.xyzx, -c11.yyyw - rsq r1.w, r8.x - rcp r1.w, r1.w - cmp r1.w, r12.z, r10.x, r1.w - mad r1.w, r6.x, -r0.w, r1.w - mad r1.w, r9.x, r1.w, r8.x - mad r9, r6.xyzx, -r0.w, -c11.wwwy - mad r6.xyz, r6, r0.w, c3.x - mul r6.xyz, r6, r6 - mad r0.w, r11.x, -r9.w, r8.x - cmp r13.x, r14.w, r0.w, r1.w - cmp r0.xyz, -r7.z, r13, r0 - add r10.xyz, r8, r8 - mad r11.xyz, r4, -c3.y, r10 - add r11.xyz, r11, c3.x - mad r13.xyz, r4, -r10, r11 - mul r10.xyz, r4, r10 - add r15.xyz, r4, r4 - mul r16.xyz, r8, r15 - mad r11.xyz, r15, -r8, r11 - cmp r9.xyz, r9, r10, r11 - cmp r5.yz, r5.xxyw, r16, r13 - cmp r5.x, r14.w, r16.x, r13.x - cmp r0.xyz, -r7.y, r5, r0 - rcp r0.w, r4.x - mad r0.w, r9.w, -r0.w, -c3.x - max r1.w, r0.w, -c11.z - mul r5.xyz, r4, r4 - cmp r0.w, -r5.x, -c11.z, r1.w - cmp r10.x, -r6.x, -c3.x, r0.w - rcp r0.w, r4.y - mad r0.w, r12.x, -r0.w, -c3.x - max r1.w, r0.w, -c11.z - cmp r0.w, -r5.y, -c11.z, r1.w - cmp r10.y, -r6.y, -c3.x, r0.w - rcp r0.w, r4.z - mad r0.w, r12.y, -r0.w, -c3.x - max r1.w, r0.w, -c11.z - cmp r0.w, -r5.z, -c11.z, r1.w - cmp r10.z, -r6.z, -c3.x, r0.w - cmp r0.xyz, -r7.x, r10, r0 - add r5, r4.w, c5 - mul r5, r5, r5 - add r6.xyz, r4, c3.x - mul r6.xyz, r6, r6 - rcp r0.w, r14.x - mul r0.w, r0.w, r8.x - min r1.w, r0.w, -c3.x - cmp r0.w, -r6.x, -c3.x, r1.w - mul r7.xyz, r8, r8 - cmp r10.x, -r7.x, -c11.z, r0.w - rcp r0.w, r14.y - rcp r1.w, r14.z - mul r1.w, r1.w, r8.z - min r2.w, r1.w, -c3.x - cmp r1.w, -r6.z, -c3.x, r2.w - cmp r10.z, -r7.z, -c11.z, r1.w - mul r0.w, r0.w, r8.y - min r1.w, r0.w, -c3.x - cmp r0.w, -r6.y, -c3.x, r1.w - cmp r10.y, -r7.y, -c11.z, r0.w - cmp r0.xyz, -r5.w, r10, r0 - max r6.xyz, r8, r4 - min r7.xyz, r4, r8 - cmp r0.xyz, -r5.z, r6, r0 - cmp r0.xyz, -r5.y, r7, r0 - cmp r0.xyz, -r5.x, r9, r0 - cmp r0.xyz, -r10.w, r1, r0 - cmp r0.xyz, -c2.z, r2, r0 - lrp r1.xyz, r6.w, r0, r4 - mul r1.w, r6.w, r6.w - mul r0.xyz, r3.w, r1 - mul r1.x, r3.w, r3.w - mov r0.w, r3.w - cmp r0, -r1.x, -c11.z, r0 - cmp r0, -r1.w, r3, r0 - mov oC0, r0 - -// approximately 326 instruction slots used (6 texture, 320 arithmetic) -ps_4_0 -dcl_constantbuffer CB0[3], immediateIndexed -dcl_sampler s0, mode_default -dcl_resource_texture2d (float,float,float,float) t0 -dcl_resource_texture2d (float,float,float,float) t1 -dcl_resource_texture2d (float,float,float,float) t2 -dcl_resource_texture2d (float,float,float,float) t3 -dcl_resource_texture2d (float,float,float,float) t5 -dcl_resource_texture2d (float,float,float,float) t6 -dcl_input_ps linear v1.xy -dcl_input_ps linear v1.zw -dcl_input_ps linear v2.xyz -dcl_output o0.xyzw -dcl_temps 22 -sample r0.xyzw, v1.zwzz, t6.xyzw, s0 -if_z cb0[2].y - if_z cb0[2].x - sample r1.xyzw, v1.xyxx, t0.xyzw, s0 - mul r1.xyz, r1.xyzx, cb0[1].xxxx - mov r1.w, cb0[1].x - mov r2.x, l(-1) - else - ieq r2.y, l(1), cb0[2].x - if_nz r2.y - sample r3.xyzw, v1.xyxx, t0.xyzw, s0 - mul r1.xyzw, r3.xyzw, cb0[1].xxxx - mov r2.x, l(-1) - else - ieq r2.x, l(2), cb0[2].x - if_nz r2.x - sample r3.xyzw, v1.xyxx, t3.xyzw, s0 - add r2.y, r3.x, l(-0.501960) - sample r3.xyzw, v1.xyxx, t1.xyzw, s0 - add r2.z, r3.x, l(-0.062750) - sample r3.xyzw, v1.xyxx, t2.xyzw, s0 - add r2.w, r3.x, l(-0.501960) - mul r3.xy, r2.yyyy, l(1.596030, 0.812970, 0.000000, 0.000000) - mad r4.x, r2.z, l(1.164380), r3.x - mad r2.y, r2.z, l(1.164380), -r3.y - mul r3.x, r2.w, l(2.017230) - mad r4.y, -r2.w, l(0.391760), r2.y - mad r4.z, r2.z, l(1.164380), r3.x - mov r4.w, l(1.000000) - mul r1.xyzw, r4.xyzw, cb0[1].xxxx - endif - endif - endif - movc r1.xyzw, r2.xxxx, r1.xyzw, cb0[0].xyzw - mov r2.x, l(-1) -else - ieq r2.x, l(1), cb0[2].y - if_nz r2.x - if_z cb0[2].x - sample r3.xyzw, v1.xyxx, t0.xyzw, s0 - mul r3.xyz, r3.xyzx, cb0[1].xxxx - div r2.yz, v2.xxyx, v2.zzzz - sample r4.xyzw, r2.yzyy, t5.xyzw, s0 - mov r3.w, cb0[1].x - mul r1.xyzw, r3.xyzw, r4.xxxx - mov r2.y, l(-1) - else - ieq r2.z, l(1), cb0[2].x - if_nz r2.z - div r2.zw, v2.xxxy, v2.zzzz - sample r3.xyzw, r2.zwzz, t5.xyzw, s0 - sample r4.xyzw, v1.xyxx, t0.xyzw, s0 - mul r4.xyzw, r4.xyzw, cb0[1].xxxx - mul r1.xyzw, r3.xxxx, r4.xyzw - mov r2.y, l(-1) - else - ieq r2.y, l(2), cb0[2].x - if_nz r2.y - div r2.zw, v2.xxxy, v2.zzzz - sample r3.xyzw, r2.zwzz, t5.xyzw, s0 - sample r4.xyzw, v1.xyxx, t3.xyzw, s0 - add r2.z, r4.x, l(-0.501960) - sample r4.xyzw, v1.xyxx, t1.xyzw, s0 - add r2.w, r4.x, l(-0.062750) - sample r4.xyzw, v1.xyxx, t2.xyzw, s0 - add r3.y, r4.x, l(-0.501960) - mul r3.zw, r2.zzzz, l(0.000000, 0.000000, 1.596030, 0.812970) - mad r4.x, r2.w, l(1.164380), r3.z - mad r2.z, r2.w, l(1.164380), -r3.w - mul r3.z, r3.y, l(2.017230) - mad r4.y, -r3.y, l(0.391760), r2.z - mad r4.z, r2.w, l(1.164380), r3.z - mov r4.w, l(1.000000) - mul r4.xyzw, r4.xyzw, cb0[1].xxxx - mul r1.xyzw, r3.xxxx, r4.xyzw - endif - endif - endif - if_z r2.y - div r2.yz, v2.xxyx, v2.zzzz - sample r3.xyzw, r2.yzyy, t5.xyzw, s0 - mul r1.xyzw, r3.xxxx, cb0[0].xyzw - endif - endif -endif -movc r1.xyzw, r2.xxxx, r1.xyzw, l(0,0,0,1.000000) -eq r2.x, r0.w, l(0.000000) -if_nz r2.x - mov o0.xyzw, r1.xyzw - ret -endif -eq r2.x, r1.w, l(0.000000) -if_nz r2.x - mov o0.xyzw, l(0,0,0,0) - ret -endif -div r0.xyz, r0.xyzx, r0.wwww -div r2.xyz, r1.xyzx, r1.wwww -movc r1.xyz, cb0[2].wwww, r2.xyzx, r1.xyzx -mul r2.xyz, r0.xyzx, r1.xyzx -add r3.xyz, r0.xyzx, r1.xyzx -mad r4.xyz, -r0.xyzx, r1.xyzx, r3.xyzx -ge r5.xyzw, l(0.500000, 0.500000, 0.500000, 0.250000), r0.xyzx -add r6.xyz, r0.xyzx, r0.xyzx -mul r7.xyz, r1.xyzx, r6.xyzx -add r8.xyz, r1.xyzx, r1.xyzx -mad r9.xyz, r1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), r6.xyzx -add r9.xyz, r9.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000) -mul r10.xyz, r0.xyzx, r8.xyzx -mad r8.xyz, -r8.xyzx, r0.xyzx, r9.xyzx -movc r5.xyz, r5.xyzx, r7.xyzx, r8.xyzx -min r7.xyz, r0.xyzx, r1.xyzx -ieq r8.xyzw, l(1, 2, 3, 4), cb0[2].zzzz -max r11.xyz, r0.xyzx, r1.xyzx -eq r12.xyzw, r0.xyzx, l(0.000000, 0.000000, 0.000000, 1.000000) -eq r13.xyzw, r1.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000) -add r14.xyz, -r1.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000) -div r14.xyz, r0.xyzx, r14.xyzx -min r14.xyz, r14.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000) -movc r13.xyz, r13.xyzx, l(1.000000,1.000000,1.000000,0), r14.xyzx -movc r12.xyz, r12.xyzx, l(0,0,0,0), r13.xyzx -add r13.xyz, -r0.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000) -div r14.xyz, r13.xyzx, r1.xyzx -min r14.xyz, r14.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000) -add r14.xyz, -r14.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000) -movc r2.w, r13.w, l(0), r14.x -movc r15.x, r12.w, l(1.000000), r2.w -eq r14.xw, r0.yyyz, l(1.000000, 0.000000, 0.000000, 1.000000) -eq r16.xy, r1.yzyy, l(0.000000, 0.000000, 0.000000, 0.000000) -movc r14.yz, r16.xxyx, l(0,0,0,0), r14.yyzy -movc r15.yz, r14.xxwx, l(0,1.000000,1.000000,0), r14.yyzy -ge r14.xyz, l(0.500000, 0.500000, 0.500000, 0.000000), r1.xyzx -mad r6.xyz, -r1.xyzx, r6.xyzx, r9.xyzx -movc r6.xyz, r14.xyzx, r10.xyzx, r6.xyzx -ieq r9.xyzw, l(5, 6, 7, 8), cb0[2].zzzz -mad r10.xyz, -r1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(1.000000, 1.000000, 1.000000, 0.000000) -mul r10.xyz, r0.xyzx, r10.xyzx -mad r10.xyz, -r10.xyzx, r13.xyzx, r0.xyzx -mad r13.xyz, r1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000) -mad r16.xyz, r0.xyzx, l(16.000000, 16.000000, 16.000000, 0.000000), l(-12.000000, -12.000000, -12.000000, 0.000000) -mad r16.xyz, r16.xyzx, r0.xyzx, l(4.000000, 4.000000, 4.000000, 0.000000) -mul r16.xyz, r0.xyzx, r16.xyzx -sqrt r17.xyz, r0.xyzx -movc r2.w, r5.w, r16.x, r17.x -add r2.w, -r0.x, r2.w -mad r2.w, r13.x, r2.w, r0.x -movc r18.x, r14.x, r10.x, r2.w -ge r10.xw, l(0.250000, 0.000000, 0.000000, 0.250000), r0.yyyz -movc r10.xw, r10.xxxw, r16.yyyz, r17.yyyz -add r10.xw, -r0.yyyz, r10.xxxw -mad r10.xw, r13.yyyz, r10.xxxw, r0.yyyz -movc r18.yz, r14.yyzy, r10.yyzy, r10.xxwx -add r10.xyz, r0.xyzx, -r1.xyzx -mad r3.xyz, -r2.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), r3.xyzx -max r2.w, r0.y, r0.x -max r2.w, r0.z, r2.w -min r3.w, r0.y, r0.x -min r3.w, r0.z, r3.w -add r13.w, r2.w, -r3.w -ge r2.w, r1.y, r1.x -if_nz r2.w - lt r14.xyz, r1.xxzx, r1.zyyz - add r16.xyzw, -r1.xxzz, r1.yzxy - mul r17.xyz, r13.wwww, r16.xyzx - div r13.xyz, r17.xyzx, r16.yxwy - and r16.yz, r13.xxwx, r14.xxxx - ge r14.xw, r1.zzzz, r1.yyyx - and r17.yz, r13.wwyw, r14.yyyy - and r19.xy, r13.zwzz, r14.zzzz - mov r17.x, l(0) - mov r19.z, l(0) - movc r14.yzw, r14.wwww, r17.xxyz, r19.xxyz - mov r16.x, l(0) - movc r14.xyz, r14.xxxx, r16.xyzx, r14.yzwy -else - lt r16.xyz, r1.yyzy, r1.zxxz - add r17.xyzw, -r1.yyzz, r1.xzyx - mul r19.xyz, r13.wwww, r17.xyzx - div r13.xyz, r19.xyzx, r17.yxwy - and r17.xz, r13.xxwx, r16.xxxx - ge r16.xw, r1.zzzz, r1.xxxy - and r19.xz, r13.wwyw, r16.yyyy - and r13.xy, r13.wzww, r16.zzzz - mov r19.y, l(0) - mov r13.z, l(0) - movc r13.xyz, r16.wwww, r19.xyzx, r13.xyzx - mov r17.y, l(0) - movc r14.xyz, r16.xxxx, r17.xyzx, r13.xyzx -endif -dp3 r2.w, l(0.300000, 0.590000, 0.110000, 0.000000), r0.xyzx -dp3 r3.w, l(0.300000, 0.590000, 0.110000, 0.000000), r14.xyzx -add r3.w, r2.w, -r3.w -add r13.xyz, r3.wwww, r14.xyzx -dp3 r3.w, l(0.300000, 0.590000, 0.110000, 0.000000), r13.xyzx -min r4.w, r13.y, r13.x -min r4.w, r13.z, r4.w -max r5.w, r13.y, r13.x -max r5.w, r13.z, r5.w -lt r6.w, r4.w, l(0.000000) -add r14.xyz, -r3.wwww, r13.xyzx -mul r14.xyz, r3.wwww, r14.xyzx -add r4.w, r3.w, -r4.w -div r14.xyz, r14.xyzx, r4.wwww -add r14.xyz, r3.wwww, r14.xyzx -movc r13.xyz, r6.wwww, r14.xyzx, r13.xyzx -lt r4.w, l(1.000000), r5.w -add r14.xyz, -r3.wwww, r13.xyzx -add r6.w, -r3.w, l(1.000000) -mul r14.xyz, r6.wwww, r14.xyzx -add r5.w, -r3.w, r5.w -div r14.xyz, r14.xyzx, r5.wwww -add r14.xyz, r3.wwww, r14.xyzx -movc r13.xyz, r4.wwww, r14.xyzx, r13.xyzx -ieq r14.xyzw, l(9, 10, 11, 12), cb0[2].zzzz -max r3.w, r1.y, r1.x -max r3.w, r1.z, r3.w -min r4.w, r1.y, r1.x -min r4.w, r1.z, r4.w -add r16.w, r3.w, -r4.w -ge r3.w, r0.y, r0.x -if_nz r3.w - lt r17.xyz, r0.xxzx, r0.zyyz - add r19.xyzw, -r0.xxzz, r0.yzxy - mul r20.xyz, r16.wwww, r19.xyzx - div r16.xyz, r20.xyzx, r19.yxwy - and r19.yz, r16.xxwx, r17.xxxx - ge r17.xw, r0.zzzz, r0.yyyx - and r20.yz, r16.wwyw, r17.yyyy - and r21.xy, r16.zwzz, r17.zzzz - mov r20.x, l(0) - mov r21.z, l(0) - movc r17.yzw, r17.wwww, r20.xxyz, r21.xxyz - mov r19.x, l(0) - movc r17.xyz, r17.xxxx, r19.xyzx, r17.yzwy -else - lt r19.xyz, r0.yyzy, r0.zxxz - add r20.xyzw, -r0.yyzz, r0.xzyx - mul r21.xyz, r16.wwww, r20.xyzx - div r16.xyz, r21.xyzx, r20.yxwy - and r20.xz, r16.xxwx, r19.xxxx - ge r19.xw, r0.zzzz, r0.xxxy - and r21.xz, r16.wwyw, r19.yyyy - and r16.xy, r16.wzww, r19.zzzz - mov r21.y, l(0) - mov r16.z, l(0) - movc r16.xyz, r19.wwww, r21.xyzx, r16.xyzx - mov r20.y, l(0) - movc r17.xyz, r19.xxxx, r20.xyzx, r16.xyzx -endif -dp3 r3.w, l(0.300000, 0.590000, 0.110000, 0.000000), r17.xyzx -add r3.w, r2.w, -r3.w -add r16.xyz, r3.wwww, r17.xyzx -dp3 r3.w, l(0.300000, 0.590000, 0.110000, 0.000000), r16.xyzx -min r4.w, r16.y, r16.x -min r4.w, r16.z, r4.w -max r5.w, r16.y, r16.x -max r5.w, r16.z, r5.w -lt r6.w, r4.w, l(0.000000) -add r17.xyz, -r3.wwww, r16.xyzx -mul r17.xyz, r3.wwww, r17.xyzx -add r4.w, r3.w, -r4.w -div r17.xyz, r17.xyzx, r4.wwww -add r17.xyz, r3.wwww, r17.xyzx -movc r16.xyz, r6.wwww, r17.xyzx, r16.xyzx -lt r4.w, l(1.000000), r5.w -add r17.xyz, -r3.wwww, r16.xyzx -add r6.w, -r3.w, l(1.000000) -mul r17.xyz, r6.wwww, r17.xyzx -add r5.w, -r3.w, r5.w -div r17.xyz, r17.xyzx, r5.wwww -add r17.xyz, r3.wwww, r17.xyzx -movc r16.xyz, r4.wwww, r17.xyzx, r16.xyzx -dp3 r3.w, l(0.300000, 0.590000, 0.110000, 0.000000), r1.xyzx -add r4.w, r2.w, -r3.w -add r17.xyz, r1.xyzx, r4.wwww -dp3 r4.w, l(0.300000, 0.590000, 0.110000, 0.000000), r17.xyzx -min r5.w, r17.y, r17.x -min r5.w, r17.z, r5.w -max r6.w, r17.y, r17.x -max r6.w, r17.z, r6.w -lt r7.w, r5.w, l(0.000000) -add r19.xyz, -r4.wwww, r17.xyzx -mul r19.xyz, r4.wwww, r19.xyzx -add r5.w, r4.w, -r5.w -div r19.xyz, r19.xyzx, r5.wwww -add r19.xyz, r4.wwww, r19.xyzx -movc r17.xyz, r7.wwww, r19.xyzx, r17.xyzx -lt r5.w, l(1.000000), r6.w -add r19.xyz, -r4.wwww, r17.xyzx -add r7.w, -r4.w, l(1.000000) -mul r19.xyz, r7.wwww, r19.xyzx -add r6.w, -r4.w, r6.w -div r19.xyz, r19.xyzx, r6.wwww -add r19.xyz, r4.wwww, r19.xyzx -movc r17.xyz, r5.wwww, r19.xyzx, r17.xyzx -ieq r19.xy, l(13, 14, 0, 0), cb0[2].zzzz -add r2.w, -r2.w, r3.w -add r0.xyz, r0.xyzx, r2.wwww -dp3 r2.w, l(0.300000, 0.590000, 0.110000, 0.000000), r0.xyzx -min r3.w, r0.y, r0.x -min r3.w, r0.z, r3.w -max r4.w, r0.y, r0.x -max r4.w, r0.z, r4.w -lt r5.w, r3.w, l(0.000000) -add r20.xyz, r0.xyzx, -r2.wwww -mul r20.xyz, r2.wwww, r20.xyzx -add r3.w, r2.w, -r3.w -div r20.xyz, r20.xyzx, r3.wwww -add r20.xyz, r2.wwww, r20.xyzx -movc r0.xyz, r5.wwww, r20.xyzx, r0.xyzx -lt r3.w, l(1.000000), r4.w -add r20.xyz, -r2.wwww, r0.xyzx -add r5.w, -r2.w, l(1.000000) -mul r20.xyz, r5.wwww, r20.xyzx -add r4.w, -r2.w, r4.w -div r20.xyz, r20.xyzx, r4.wwww -add r20.xyz, r2.wwww, r20.xyzx -movc r0.xyz, r3.wwww, r20.xyzx, r0.xyzx -and r0.xyz, r0.xyzx, r19.yyyy -movc r0.xyz, r19.xxxx, r17.xyzx, r0.xyzx -movc r0.xyz, r14.wwww, r16.xyzx, r0.xyzx -movc r0.xyz, r14.zzzz, r13.xyzx, r0.xyzx -movc r0.xyz, r14.yyyy, r3.xyzx, r0.xyzx -movc r0.xyz, r14.xxxx, |r10.xyzx|, r0.xyzx -movc r0.xyz, r9.wwww, r18.xyzx, r0.xyzx -movc r0.xyz, r9.zzzz, r6.xyzx, r0.xyzx -movc r0.xyz, r9.yyyy, r15.xyzx, r0.xyzx -movc r0.xyz, r9.xxxx, r12.xyzx, r0.xyzx -movc r0.xyz, r8.wwww, r11.xyzx, r0.xyzx -movc r0.xyz, r8.zzzz, r7.xyzx, r0.xyzx -movc r0.xyz, r8.yyyy, r5.xyzx, r0.xyzx -movc r0.xyz, r8.xxxx, r4.xyzx, r0.xyzx -movc r0.xyz, cb0[2].zzzz, r0.xyzx, r2.xyzx -add r2.x, -r0.w, l(1.000000) -mul r0.xyz, r0.xyzx, r0.wwww -mad r0.xyz, r2.xxxx, r1.xyzx, r0.xyzx -mul o0.xyz, r1.wwww, r0.xyzx -mov o0.w, r1.w -ret -// Approximately 339 instruction slots used -#endif - -const BYTE BlendShader[] = -{ - 68, 88, 66, 67, 112, 63, - 111, 12, 13, 48, 235, 163, - 54, 75, 30, 70, 47, 59, - 134, 187, 1, 0, 0, 0, - 196, 67, 0, 0, 6, 0, - 0, 0, 56, 0, 0, 0, - 92, 23, 0, 0, 20, 63, - 0, 0, 144, 63, 0, 0, - 8, 67, 0, 0, 144, 67, - 0, 0, 65, 111, 110, 57, - 28, 23, 0, 0, 28, 23, - 0, 0, 0, 2, 255, 255, - 200, 22, 0, 0, 84, 0, - 0, 0, 2, 0, 60, 0, - 0, 0, 84, 0, 0, 0, - 84, 0, 6, 0, 36, 0, - 0, 0, 84, 0, 0, 0, - 0, 0, 1, 0, 1, 0, - 2, 0, 2, 0, 3, 0, - 3, 0, 5, 0, 4, 0, - 6, 0, 5, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 2, 0, 1, 0, 2, 0, - 3, 3, 3, 3, 1, 2, - 255, 255, 81, 0, 0, 5, - 3, 0, 15, 160, 0, 0, - 128, 191, 0, 0, 0, 192, - 115, 128, 0, 191, 18, 131, - 128, 189, 81, 0, 0, 5, - 4, 0, 15, 160, 182, 74, - 204, 63, 205, 30, 80, 63, - 103, 10, 149, 63, 76, 26, - 1, 64, 81, 0, 0, 5, - 5, 0, 15, 160, 0, 0, - 0, 192, 0, 0, 64, 192, - 0, 0, 128, 192, 0, 0, - 160, 192, 81, 0, 0, 5, - 6, 0, 15, 160, 0, 0, - 192, 192, 0, 0, 224, 192, - 0, 0, 0, 193, 0, 0, - 16, 193, 81, 0, 0, 5, - 7, 0, 15, 160, 0, 0, - 128, 63, 0, 0, 128, 62, - 0, 0, 0, 64, 0, 0, - 128, 191, 81, 0, 0, 5, - 8, 0, 15, 160, 0, 0, - 128, 65, 0, 0, 64, 193, - 0, 0, 96, 193, 0, 0, - 0, 0, 81, 0, 0, 5, - 9, 0, 15, 160, 0, 0, - 32, 193, 0, 0, 48, 193, - 0, 0, 64, 193, 0, 0, - 80, 193, 81, 0, 0, 5, - 10, 0, 15, 160, 154, 153, - 153, 62, 61, 10, 23, 63, - 174, 71, 225, 61, 0, 0, - 0, 0, 81, 0, 0, 5, - 11, 0, 15, 160, 196, 148, - 200, 62, 0, 0, 128, 191, - 0, 0, 0, 128, 0, 0, - 0, 191, 31, 0, 0, 2, - 0, 0, 0, 128, 0, 0, - 15, 176, 31, 0, 0, 2, - 0, 0, 0, 128, 1, 0, - 7, 176, 31, 0, 0, 2, - 0, 0, 0, 144, 0, 8, - 15, 160, 31, 0, 0, 2, - 0, 0, 0, 144, 1, 8, - 15, 160, 31, 0, 0, 2, - 0, 0, 0, 144, 2, 8, - 15, 160, 31, 0, 0, 2, - 0, 0, 0, 144, 3, 8, - 15, 160, 31, 0, 0, 2, - 0, 0, 0, 144, 4, 8, - 15, 160, 31, 0, 0, 2, - 0, 0, 0, 144, 5, 8, - 15, 160, 1, 0, 0, 2, - 0, 0, 1, 128, 11, 0, - 170, 161, 1, 0, 0, 2, - 1, 0, 1, 128, 11, 0, - 170, 161, 1, 0, 0, 2, - 2, 0, 4, 128, 11, 0, - 170, 161, 66, 0, 0, 3, - 3, 0, 15, 128, 0, 0, - 228, 176, 1, 8, 228, 160, - 66, 0, 0, 3, 4, 0, - 15, 128, 0, 0, 228, 176, - 3, 8, 228, 160, 2, 0, - 0, 3, 0, 0, 8, 128, - 4, 0, 0, 128, 3, 0, - 170, 160, 5, 0, 0, 3, - 3, 0, 6, 128, 0, 0, - 255, 128, 4, 0, 208, 160, - 2, 0, 0, 3, 0, 0, - 8, 128, 3, 0, 0, 128, - 3, 0, 255, 160, 4, 0, - 0, 4, 1, 0, 8, 128, - 0, 0, 255, 128, 4, 0, - 170, 160, 3, 0, 170, 129, - 4, 0, 0, 4, 3, 0, - 1, 128, 0, 0, 255, 128, - 4, 0, 170, 160, 3, 0, - 85, 128, 6, 0, 0, 2, - 2, 0, 8, 128, 1, 0, - 170, 176, 5, 0, 0, 3, - 4, 0, 3, 128, 2, 0, - 255, 128, 1, 0, 228, 176, - 66, 0, 0, 3, 5, 0, - 15, 128, 0, 0, 228, 176, - 2, 8, 228, 160, 66, 0, - 0, 3, 4, 0, 15, 128, - 4, 0, 228, 128, 4, 8, - 228, 160, 2, 0, 0, 3, - 2, 0, 8, 128, 5, 0, - 0, 128, 3, 0, 170, 160, - 4, 0, 0, 4, 3, 0, - 2, 128, 2, 0, 255, 128, - 11, 0, 0, 161, 1, 0, - 255, 128, 5, 0, 0, 3, - 1, 0, 8, 128, 2, 0, - 255, 128, 4, 0, 255, 160, - 4, 0, 0, 4, 3, 0, - 4, 128, 0, 0, 255, 128, - 4, 0, 170, 160, 1, 0, - 255, 128, 1, 0, 0, 2, - 3, 0, 8, 128, 3, 0, - 0, 161, 5, 0, 0, 3, - 3, 0, 15, 128, 3, 0, - 228, 128, 1, 0, 0, 160, - 5, 0, 0, 3, 5, 0, - 15, 128, 4, 0, 0, 128, - 3, 0, 228, 128, 1, 0, - 0, 2, 6, 0, 3, 128, - 0, 0, 235, 176, 66, 0, - 0, 3, 7, 0, 15, 128, - 0, 0, 228, 176, 0, 8, - 228, 160, 66, 0, 0, 3, - 6, 0, 15, 128, 6, 0, - 228, 128, 5, 8, 228, 160, - 5, 0, 0, 3, 7, 0, - 15, 128, 7, 0, 228, 128, - 1, 0, 0, 160, 5, 0, - 0, 3, 8, 0, 15, 128, - 4, 0, 0, 128, 7, 0, - 228, 128, 1, 0, 0, 2, - 9, 0, 3, 128, 3, 0, - 228, 160, 2, 0, 0, 3, - 10, 0, 15, 128, 9, 0, - 4, 128, 2, 0, 144, 160, - 5, 0, 0, 3, 10, 0, - 15, 128, 10, 0, 228, 128, - 10, 0, 228, 128, 88, 0, - 0, 4, 5, 0, 15, 128, - 10, 0, 0, 129, 8, 0, - 228, 128, 5, 0, 228, 128, - 88, 0, 0, 4, 3, 0, - 15, 128, 10, 0, 0, 129, - 7, 0, 228, 128, 3, 0, - 228, 128, 1, 0, 0, 2, - 7, 0, 8, 128, 1, 0, - 0, 160, 5, 0, 0, 3, - 8, 0, 15, 128, 4, 0, - 0, 128, 7, 0, 228, 128, - 88, 0, 0, 4, 3, 0, - 15, 128, 2, 0, 0, 161, - 7, 0, 228, 128, 3, 0, - 228, 128, 5, 0, 0, 3, - 4, 0, 15, 128, 4, 0, - 0, 128, 0, 0, 228, 160, - 88, 0, 0, 4, 5, 0, - 15, 128, 2, 0, 0, 161, - 8, 0, 228, 128, 5, 0, - 228, 128, 88, 0, 0, 4, - 7, 0, 3, 128, 10, 0, - 233, 129, 11, 0, 85, 160, - 11, 0, 170, 160, 88, 0, - 0, 4, 0, 0, 8, 128, - 10, 0, 0, 129, 3, 0, - 0, 160, 7, 0, 0, 128, - 88, 0, 0, 4, 1, 0, - 8, 128, 2, 0, 85, 161, - 9, 0, 0, 128, 7, 0, - 85, 128, 88, 0, 0, 4, - 0, 0, 8, 128, 2, 0, - 0, 161, 9, 0, 0, 128, - 0, 0, 255, 128, 88, 0, - 0, 4, 4, 0, 15, 128, - 0, 0, 255, 128, 4, 0, - 228, 128, 5, 0, 228, 128, - 88, 0, 0, 4, 3, 0, - 15, 128, 0, 0, 255, 128, - 0, 0, 228, 160, 3, 0, - 228, 128, 88, 0, 0, 4, - 3, 0, 15, 128, 2, 0, - 85, 161, 3, 0, 228, 128, - 4, 0, 228, 128, 88, 0, - 0, 4, 3, 0, 15, 128, - 1, 0, 255, 128, 11, 0, - 106, 161, 3, 0, 228, 128, - 6, 0, 0, 2, 0, 0, - 8, 128, 3, 0, 255, 128, - 5, 0, 0, 3, 4, 0, - 7, 128, 0, 0, 255, 128, - 3, 0, 228, 128, 88, 0, - 0, 4, 4, 0, 7, 128, - 2, 0, 255, 161, 3, 0, - 228, 128, 4, 0, 228, 128, - 2, 0, 0, 3, 5, 0, - 3, 128, 4, 0, 233, 129, - 4, 0, 228, 128, 88, 0, - 0, 4, 5, 0, 12, 128, - 5, 0, 0, 128, 4, 0, - 68, 128, 4, 0, 20, 128, - 11, 0, 0, 3, 0, 0, - 8, 128, 5, 0, 170, 128, - 4, 0, 170, 128, 10, 0, - 0, 3, 1, 0, 8, 128, - 4, 0, 170, 128, 5, 0, - 255, 128, 2, 0, 0, 3, - 7, 0, 8, 128, 0, 0, - 255, 128, 1, 0, 255, 129, - 6, 0, 0, 2, 0, 0, - 8, 128, 6, 0, 255, 128, - 5, 0, 0, 3, 8, 0, - 7, 128, 0, 0, 255, 128, - 6, 0, 228, 128, 4, 0, - 0, 4, 5, 0, 12, 128, - 6, 0, 100, 128, 0, 0, - 255, 128, 8, 0, 132, 129, - 5, 0, 0, 3, 9, 0, - 3, 128, 7, 0, 255, 128, - 5, 0, 238, 128, 4, 0, - 0, 4, 11, 0, 15, 128, - 6, 0, 129, 128, 0, 0, - 255, 128, 8, 0, 88, 129, - 6, 0, 0, 2, 1, 0, - 8, 128, 11, 0, 0, 128, - 5, 0, 0, 3, 7, 0, - 2, 128, 1, 0, 255, 128, - 9, 0, 0, 128, 88, 0, - 0, 4, 1, 0, 6, 128, - 11, 0, 170, 128, 11, 0, - 170, 161, 7, 0, 220, 128, - 5, 0, 0, 3, 12, 0, - 15, 128, 7, 0, 255, 128, - 11, 0, 228, 128, 6, 0, - 0, 2, 1, 0, 8, 128, - 5, 0, 255, 128, 5, 0, - 0, 3, 7, 0, 1, 128, - 1, 0, 255, 128, 12, 0, - 85, 128, 88, 0, 0, 4, - 2, 0, 3, 128, 11, 0, - 255, 128, 11, 0, 170, 161, - 7, 0, 236, 128, 88, 0, - 0, 4, 1, 0, 7, 128, - 5, 0, 170, 128, 1, 0, - 228, 128, 2, 0, 228, 128, - 6, 0, 0, 2, 1, 0, - 8, 128, 5, 0, 170, 128, - 5, 0, 0, 3, 7, 0, - 4, 128, 1, 0, 255, 128, - 12, 0, 0, 128, 88, 0, - 0, 4, 0, 0, 6, 128, - 11, 0, 85, 128, 11, 0, - 170, 161, 7, 0, 248, 128, - 88, 0, 0, 4, 0, 0, - 7, 128, 11, 0, 255, 128, - 0, 0, 228, 128, 1, 0, - 228, 128, 1, 0, 0, 2, - 1, 0, 2, 128, 11, 0, - 170, 161, 1, 0, 0, 2, - 2, 0, 2, 128, 11, 0, - 170, 161, 1, 0, 0, 2, - 10, 0, 4, 128, 11, 0, - 170, 161, 6, 0, 0, 2, - 1, 0, 8, 128, 11, 0, - 170, 128, 5, 0, 0, 3, - 7, 0, 2, 128, 1, 0, - 255, 128, 12, 0, 255, 128, - 88, 0, 0, 4, 2, 0, - 5, 128, 11, 0, 0, 128, - 11, 0, 170, 161, 7, 0, - 215, 128, 6, 0, 0, 2, - 1, 0, 8, 128, 11, 0, - 85, 128, 5, 0, 0, 3, - 7, 0, 1, 128, 1, 0, - 255, 128, 9, 0, 85, 128, - 88, 0, 0, 4, 10, 0, - 3, 128, 5, 0, 170, 128, - 11, 0, 170, 161, 7, 0, - 227, 128, 88, 0, 0, 4, - 2, 0, 7, 128, 11, 0, - 255, 128, 2, 0, 228, 128, - 10, 0, 228, 128, 6, 0, - 0, 2, 1, 0, 8, 128, - 11, 0, 255, 128, 5, 0, - 0, 3, 7, 0, 4, 128, - 1, 0, 255, 128, 12, 0, - 170, 128, 88, 0, 0, 4, - 1, 0, 5, 128, 5, 0, - 255, 128, 11, 0, 170, 161, - 7, 0, 246, 128, 88, 0, - 0, 4, 1, 0, 7, 128, - 5, 0, 170, 128, 1, 0, - 228, 128, 2, 0, 228, 128, - 88, 0, 0, 4, 0, 0, - 7, 128, 11, 0, 0, 128, - 0, 0, 228, 128, 1, 0, - 228, 128, 88, 0, 0, 4, - 1, 0, 3, 128, 11, 0, - 170, 128, 8, 0, 228, 128, - 8, 0, 225, 128, 8, 0, - 0, 3, 4, 0, 8, 128, - 10, 0, 228, 160, 0, 0, - 228, 128, 8, 0, 0, 3, - 8, 0, 8, 128, 10, 0, - 228, 160, 8, 0, 228, 128, - 2, 0, 0, 3, 4, 0, - 8, 128, 4, 0, 255, 129, - 8, 0, 255, 128, 2, 0, - 0, 3, 0, 0, 7, 128, - 0, 0, 228, 128, 4, 0, - 255, 128, 2, 0, 0, 3, - 4, 0, 8, 128, 0, 0, - 85, 129, 0, 0, 0, 128, - 88, 0, 0, 4, 1, 0, - 12, 128, 4, 0, 255, 128, - 0, 0, 20, 128, 0, 0, - 68, 128, 10, 0, 0, 3, - 4, 0, 8, 128, 0, 0, - 170, 128, 1, 0, 170, 128, - 11, 0, 0, 3, 2, 0, - 1, 128, 1, 0, 255, 128, - 0, 0, 170, 128, 8, 0, - 0, 3, 1, 0, 4, 128, - 10, 0, 228, 160, 0, 0, - 228, 128, 2, 0, 0, 3, - 1, 0, 8, 128, 4, 0, - 255, 129, 1, 0, 170, 128, - 6, 0, 0, 2, 1, 0, - 8, 128, 1, 0, 255, 128, - 2, 0, 0, 3, 2, 0, - 14, 128, 0, 0, 144, 128, - 1, 0, 170, 129, 5, 0, - 0, 3, 2, 0, 14, 128, - 1, 0, 170, 128, 2, 0, - 228, 128, 4, 0, 0, 4, - 2, 0, 14, 128, 2, 0, - 228, 128, 1, 0, 255, 128, - 1, 0, 170, 128, 88, 0, - 0, 4, 0, 0, 7, 128, - 4, 0, 255, 128, 0, 0, - 228, 128, 2, 0, 249, 128, - 2, 0, 0, 3, 2, 0, - 14, 128, 1, 0, 170, 129, - 0, 0, 144, 128, 2, 0, - 0, 3, 1, 0, 8, 128, - 1, 0, 170, 129, 3, 0, - 0, 161, 5, 0, 0, 3, - 2, 0, 14, 128, 1, 0, - 255, 128, 2, 0, 228, 128, - 2, 0, 0, 3, 1, 0, - 8, 128, 1, 0, 170, 129, - 2, 0, 0, 128, 2, 0, - 0, 3, 4, 0, 8, 128, - 2, 0, 0, 129, 3, 0, - 0, 161, 6, 0, 0, 2, - 1, 0, 8, 128, 1, 0, - 255, 128, 4, 0, 0, 4, - 2, 0, 7, 128, 2, 0, - 249, 128, 1, 0, 255, 128, - 1, 0, 170, 128, 88, 0, - 0, 4, 0, 0, 7, 128, - 4, 0, 255, 128, 0, 0, - 228, 128, 2, 0, 228, 128, - 1, 0, 0, 2, 4, 0, - 8, 128, 2, 0, 170, 160, - 2, 0, 0, 3, 1, 0, - 4, 128, 4, 0, 255, 128, - 8, 0, 170, 160, 5, 0, - 0, 3, 1, 0, 4, 128, - 1, 0, 170, 128, 1, 0, - 170, 128, 8, 0, 0, 3, - 1, 0, 8, 128, 10, 0, - 228, 160, 4, 0, 228, 128, - 2, 0, 0, 3, 2, 0, - 1, 128, 8, 0, 255, 129, - 1, 0, 255, 128, 2, 0, - 0, 3, 1, 0, 8, 128, - 1, 0, 255, 129, 8, 0, - 255, 128, 2, 0, 0, 3, - 2, 0, 14, 128, 1, 0, - 255, 128, 4, 0, 144, 128, - 4, 0, 0, 4, 7, 0, - 7, 128, 6, 0, 228, 128, - 0, 0, 255, 128, 2, 0, - 0, 128, 2, 0, 0, 3, - 1, 0, 8, 128, 7, 0, - 85, 129, 7, 0, 0, 128, - 88, 0, 0, 4, 5, 0, - 12, 128, 1, 0, 255, 128, - 7, 0, 20, 128, 7, 0, - 68, 128, 10, 0, 0, 3, - 1, 0, 8, 128, 7, 0, - 170, 128, 5, 0, 170, 128, - 11, 0, 0, 3, 2, 0, - 1, 128, 5, 0, 255, 128, - 7, 0, 170, 128, 8, 0, - 0, 3, 7, 0, 8, 128, - 10, 0, 228, 160, 7, 0, - 228, 128, 2, 0, 0, 3, - 5, 0, 4, 128, 1, 0, - 255, 129, 7, 0, 255, 128, - 6, 0, 0, 2, 5, 0, - 4, 128, 5, 0, 170, 128, - 2, 0, 0, 3, 9, 0, - 7, 128, 7, 0, 255, 129, - 7, 0, 228, 128, 5, 0, - 0, 3, 9, 0, 7, 128, - 7, 0, 255, 128, 9, 0, - 228, 128, 4, 0, 0, 4, - 9, 0, 7, 128, 9, 0, - 228, 128, 5, 0, 170, 128, - 7, 0, 255, 128, 88, 0, - 0, 4, 7, 0, 7, 128, - 1, 0, 255, 128, 7, 0, - 228, 128, 9, 0, 228, 128, - 2, 0, 0, 3, 9, 0, - 7, 128, 7, 0, 255, 129, - 7, 0, 228, 128, 2, 0, - 0, 3, 1, 0, 8, 128, - 7, 0, 255, 129, 3, 0, - 0, 161, 5, 0, 0, 3, - 9, 0, 7, 128, 1, 0, - 255, 128, 9, 0, 228, 128, - 2, 0, 0, 3, 1, 0, - 8, 128, 2, 0, 0, 128, - 7, 0, 255, 129, 2, 0, - 0, 3, 9, 0, 8, 128, - 2, 0, 0, 129, 3, 0, - 0, 161, 6, 0, 0, 2, - 1, 0, 8, 128, 1, 0, - 255, 128, 4, 0, 0, 4, - 9, 0, 7, 128, 9, 0, - 228, 128, 1, 0, 255, 128, - 7, 0, 255, 128, 88, 0, - 0, 4, 7, 0, 7, 128, - 9, 0, 255, 128, 7, 0, - 228, 128, 9, 0, 228, 128, - 88, 0, 0, 4, 7, 0, - 7, 128, 1, 0, 170, 129, - 7, 0, 228, 128, 11, 0, - 170, 161, 2, 0, 0, 3, - 7, 0, 8, 128, 2, 0, - 170, 129, 2, 0, 85, 128, - 88, 0, 0, 4, 1, 0, - 12, 128, 7, 0, 255, 128, - 2, 0, 100, 128, 2, 0, - 148, 128, 10, 0, 0, 3, - 7, 0, 8, 128, 2, 0, - 255, 128, 1, 0, 170, 128, - 11, 0, 0, 3, 5, 0, - 4, 128, 1, 0, 255, 128, - 2, 0, 255, 128, 8, 0, - 0, 3, 5, 0, 8, 128, - 10, 0, 228, 160, 2, 0, - 249, 128, 2, 0, 0, 3, - 1, 0, 4, 128, 7, 0, - 255, 129, 5, 0, 255, 128, - 6, 0, 0, 2, 1, 0, - 4, 128, 1, 0, 170, 128, - 2, 0, 0, 3, 9, 0, - 7, 128, 2, 0, 249, 128, - 5, 0, 255, 129, 5, 0, - 0, 3, 9, 0, 7, 128, - 5, 0, 255, 128, 9, 0, - 228, 128, 4, 0, 0, 4, - 9, 0, 7, 128, 9, 0, - 228, 128, 1, 0, 170, 128, - 5, 0, 255, 128, 88, 0, - 0, 4, 2, 0, 7, 128, - 7, 0, 255, 128, 2, 0, - 249, 128, 9, 0, 228, 128, - 2, 0, 0, 3, 9, 0, - 7, 128, 5, 0, 255, 129, - 2, 0, 228, 128, 2, 0, - 0, 3, 2, 0, 8, 128, - 5, 0, 255, 129, 3, 0, - 0, 161, 5, 0, 0, 3, - 9, 0, 7, 128, 2, 0, - 255, 128, 9, 0, 228, 128, - 2, 0, 0, 3, 2, 0, - 8, 128, 5, 0, 255, 129, - 5, 0, 170, 128, 2, 0, - 0, 3, 7, 0, 8, 128, - 5, 0, 170, 129, 3, 0, - 0, 161, 6, 0, 0, 2, - 2, 0, 8, 128, 2, 0, - 255, 128, 4, 0, 0, 4, - 9, 0, 7, 128, 9, 0, - 228, 128, 2, 0, 255, 128, - 5, 0, 255, 128, 88, 0, - 0, 4, 2, 0, 7, 128, - 7, 0, 255, 128, 2, 0, - 228, 128, 9, 0, 228, 128, - 2, 0, 0, 3, 9, 0, - 15, 128, 4, 0, 255, 128, - 9, 0, 228, 160, 5, 0, - 0, 3, 9, 0, 15, 128, - 9, 0, 228, 128, 9, 0, - 228, 128, 88, 0, 0, 4, - 2, 0, 7, 128, 9, 0, - 255, 129, 2, 0, 228, 128, - 7, 0, 228, 128, 88, 0, - 0, 4, 0, 0, 7, 128, - 9, 0, 170, 129, 0, 0, - 228, 128, 2, 0, 228, 128, - 2, 0, 0, 3, 2, 0, - 15, 128, 4, 0, 96, 129, - 4, 0, 137, 128, 1, 0, - 0, 2, 7, 0, 2, 128, - 11, 0, 170, 161, 1, 0, - 0, 2, 10, 0, 2, 128, - 11, 0, 170, 161, 1, 0, - 0, 2, 11, 0, 4, 128, - 11, 0, 170, 161, 6, 0, - 0, 2, 7, 0, 8, 128, - 2, 0, 170, 128, 11, 0, - 0, 3, 11, 0, 8, 128, - 1, 0, 0, 128, 8, 0, - 170, 128, 10, 0, 0, 3, - 5, 0, 4, 128, 8, 0, - 170, 128, 1, 0, 85, 128, - 2, 0, 0, 3, 1, 0, - 8, 128, 5, 0, 170, 129, - 11, 0, 255, 128, 5, 0, - 0, 3, 5, 0, 12, 128, - 1, 0, 255, 128, 5, 0, - 68, 128, 5, 0, 0, 3, - 1, 0, 1, 128, 7, 0, - 255, 128, 5, 0, 255, 128, - 88, 0, 0, 4, 11, 0, - 3, 128, 2, 0, 85, 128, - 11, 0, 170, 161, 1, 0, - 227, 128, 6, 0, 0, 2, - 5, 0, 8, 128, 5, 0, - 0, 128, 5, 0, 0, 3, - 12, 0, 15, 128, 1, 0, - 255, 128, 2, 0, 228, 128, - 5, 0, 0, 3, 1, 0, - 2, 128, 5, 0, 255, 128, - 12, 0, 255, 128, 88, 0, - 0, 4, 10, 0, 5, 128, - 2, 0, 0, 128, 11, 0, - 170, 161, 1, 0, 215, 128, - 88, 0, 0, 4, 10, 0, - 7, 128, 2, 0, 255, 128, - 10, 0, 228, 128, 11, 0, - 228, 128, 6, 0, 0, 2, - 5, 0, 8, 128, 2, 0, - 255, 128, 5, 0, 0, 3, - 1, 0, 4, 128, 5, 0, - 255, 128, 5, 0, 170, 128, - 88, 0, 0, 4, 7, 0, - 5, 128, 5, 0, 85, 128, - 11, 0, 170, 161, 1, 0, - 246, 128, 88, 0, 0, 4, - 7, 0, 7, 128, 2, 0, - 85, 128, 7, 0, 228, 128, - 10, 0, 228, 128, 1, 0, - 0, 2, 10, 0, 1, 128, - 11, 0, 170, 161, 1, 0, - 0, 2, 11, 0, 1, 128, - 11, 0, 170, 161, 1, 0, - 0, 2, 13, 0, 4, 128, - 11, 0, 170, 161, 6, 0, - 0, 2, 7, 0, 8, 128, - 2, 0, 0, 128, 5, 0, - 0, 3, 1, 0, 2, 128, - 7, 0, 255, 128, 12, 0, - 85, 128, 88, 0, 0, 4, - 11, 0, 6, 128, 5, 0, - 0, 128, 11, 0, 170, 161, - 1, 0, 220, 128, 6, 0, - 0, 2, 7, 0, 8, 128, - 5, 0, 85, 128, 5, 0, - 0, 3, 1, 0, 1, 128, - 7, 0, 255, 128, 12, 0, - 170, 128, 88, 0, 0, 4, - 13, 0, 3, 128, 2, 0, - 255, 128, 11, 0, 170, 161, - 1, 0, 236, 128, 88, 0, - 0, 4, 5, 0, 7, 128, - 2, 0, 85, 128, 11, 0, - 228, 128, 13, 0, 228, 128, - 6, 0, 0, 2, 5, 0, - 8, 128, 2, 0, 85, 128, - 5, 0, 0, 3, 1, 0, - 4, 128, 5, 0, 255, 128, - 12, 0, 0, 128, 88, 0, - 0, 4, 10, 0, 6, 128, - 2, 0, 170, 128, 11, 0, - 170, 161, 1, 0, 248, 128, - 88, 0, 0, 4, 1, 0, - 7, 128, 2, 0, 255, 128, - 10, 0, 228, 128, 5, 0, - 228, 128, 88, 0, 0, 4, - 1, 0, 7, 128, 2, 0, - 0, 128, 1, 0, 228, 128, - 7, 0, 228, 128, 8, 0, - 0, 3, 1, 0, 8, 128, - 10, 0, 228, 160, 1, 0, - 228, 128, 2, 0, 0, 3, - 1, 0, 8, 128, 1, 0, - 255, 129, 8, 0, 255, 128, - 2, 0, 0, 3, 1, 0, - 7, 128, 1, 0, 255, 128, - 1, 0, 228, 128, 2, 0, - 0, 3, 1, 0, 8, 128, - 1, 0, 85, 129, 1, 0, - 0, 128, 88, 0, 0, 4, - 2, 0, 3, 128, 1, 0, - 255, 128, 1, 0, 225, 128, - 1, 0, 228, 128, 10, 0, - 0, 3, 8, 0, 8, 128, - 1, 0, 170, 128, 2, 0, - 0, 128, 11, 0, 0, 3, - 5, 0, 1, 128, 2, 0, - 85, 128, 1, 0, 170, 128, - 8, 0, 0, 3, 1, 0, - 8, 128, 10, 0, 228, 160, - 1, 0, 228, 128, 2, 0, - 0, 3, 2, 0, 1, 128, - 8, 0, 255, 129, 1, 0, - 255, 128, 6, 0, 0, 2, - 2, 0, 1, 128, 2, 0, - 0, 128, 2, 0, 0, 3, - 2, 0, 14, 128, 1, 0, - 255, 129, 1, 0, 144, 128, - 5, 0, 0, 3, 2, 0, - 14, 128, 1, 0, 255, 128, - 2, 0, 228, 128, 4, 0, - 0, 4, 2, 0, 7, 128, - 2, 0, 249, 128, 2, 0, - 0, 128, 1, 0, 255, 128, - 88, 0, 0, 4, 1, 0, - 7, 128, 8, 0, 255, 128, - 1, 0, 228, 128, 2, 0, - 228, 128, 2, 0, 0, 3, - 2, 0, 7, 128, 1, 0, - 255, 129, 1, 0, 228, 128, - 2, 0, 0, 3, 2, 0, - 8, 128, 1, 0, 255, 129, - 3, 0, 0, 161, 5, 0, - 0, 3, 2, 0, 7, 128, - 2, 0, 255, 128, 2, 0, - 228, 128, 2, 0, 0, 3, - 2, 0, 8, 128, 1, 0, - 255, 129, 5, 0, 0, 128, - 2, 0, 0, 3, 8, 0, - 8, 128, 5, 0, 0, 129, - 3, 0, 0, 161, 6, 0, - 0, 2, 2, 0, 8, 128, - 2, 0, 255, 128, 4, 0, - 0, 4, 2, 0, 7, 128, - 2, 0, 228, 128, 2, 0, - 255, 128, 1, 0, 255, 128, - 88, 0, 0, 4, 1, 0, - 7, 128, 8, 0, 255, 128, - 1, 0, 228, 128, 2, 0, - 228, 128, 88, 0, 0, 4, - 0, 0, 7, 128, 9, 0, - 85, 129, 1, 0, 228, 128, - 0, 0, 228, 128, 4, 0, - 0, 4, 1, 0, 7, 128, - 6, 0, 228, 128, 0, 0, - 255, 128, 4, 0, 228, 128, - 5, 0, 0, 3, 2, 0, - 7, 128, 4, 0, 228, 128, - 8, 0, 228, 128, 4, 0, - 0, 4, 5, 0, 7, 128, - 2, 0, 228, 128, 3, 0, - 85, 160, 1, 0, 228, 128, - 4, 0, 0, 4, 1, 0, - 7, 128, 8, 0, 228, 128, - 4, 0, 228, 129, 1, 0, - 228, 128, 88, 0, 0, 4, - 0, 0, 7, 128, 9, 0, - 0, 129, 5, 0, 228, 128, - 0, 0, 228, 128, 4, 0, - 0, 4, 5, 0, 7, 128, - 6, 0, 228, 128, 0, 0, - 255, 128, 4, 0, 228, 129, - 35, 0, 0, 2, 5, 0, - 7, 128, 5, 0, 228, 128, - 2, 0, 0, 3, 7, 0, - 15, 128, 4, 0, 255, 128, - 6, 0, 228, 160, 5, 0, - 0, 3, 7, 0, 15, 128, - 7, 0, 228, 128, 7, 0, - 228, 128, 88, 0, 0, 4, - 0, 0, 7, 128, 7, 0, - 255, 129, 5, 0, 228, 128, - 0, 0, 228, 128, 2, 0, - 0, 3, 5, 0, 3, 128, - 4, 0, 233, 129, 11, 0, - 255, 161, 4, 0, 0, 4, - 9, 0, 7, 128, 4, 0, - 228, 128, 7, 0, 170, 160, - 7, 0, 255, 160, 4, 0, - 0, 4, 1, 0, 8, 128, - 6, 0, 170, 128, 0, 0, - 255, 129, 7, 0, 85, 160, - 4, 0, 0, 4, 10, 0, - 7, 128, 8, 0, 228, 128, - 8, 0, 0, 160, 8, 0, - 85, 160, 4, 0, 0, 4, - 10, 0, 7, 128, 10, 0, - 228, 128, 8, 0, 228, 128, - 5, 0, 170, 161, 5, 0, - 0, 3, 10, 0, 7, 128, - 8, 0, 228, 128, 10, 0, - 228, 128, 7, 0, 0, 2, - 2, 0, 8, 128, 8, 0, - 170, 128, 6, 0, 0, 2, - 2, 0, 8, 128, 2, 0, - 255, 128, 88, 0, 0, 4, - 1, 0, 8, 128, 1, 0, - 255, 128, 10, 0, 170, 128, - 2, 0, 255, 128, 4, 0, - 0, 4, 1, 0, 8, 128, - 6, 0, 170, 128, 0, 0, - 255, 129, 1, 0, 255, 128, - 4, 0, 0, 4, 1, 0, - 8, 128, 9, 0, 170, 128, - 1, 0, 255, 128, 8, 0, - 170, 128, 4, 0, 0, 4, - 11, 0, 7, 128, 4, 0, - 228, 128, 3, 0, 85, 160, - 3, 0, 0, 161, 5, 0, - 0, 3, 11, 0, 7, 128, - 8, 0, 228, 128, 11, 0, - 228, 128, 4, 0, 0, 4, - 12, 0, 15, 128, 6, 0, - 73, 128, 0, 0, 255, 129, - 7, 0, 80, 160, 4, 0, - 0, 4, 5, 0, 12, 128, - 11, 0, 148, 128, 12, 0, - 68, 129, 8, 0, 148, 128, - 88, 0, 0, 4, 13, 0, - 4, 128, 5, 0, 85, 128, - 5, 0, 255, 128, 1, 0, - 255, 128, 7, 0, 0, 2, - 1, 0, 8, 128, 8, 0, - 85, 128, 6, 0, 0, 2, - 1, 0, 8, 128, 1, 0, - 255, 128, 88, 0, 0, 4, - 1, 0, 8, 128, 12, 0, - 255, 128, 10, 0, 85, 128, - 1, 0, 255, 128, 4, 0, - 0, 4, 1, 0, 8, 128, - 6, 0, 85, 128, 0, 0, - 255, 129, 1, 0, 255, 128, - 4, 0, 0, 4, 1, 0, - 8, 128, 9, 0, 85, 128, - 1, 0, 255, 128, 8, 0, - 85, 128, 88, 0, 0, 4, - 13, 0, 2, 128, 5, 0, - 0, 128, 5, 0, 170, 128, - 1, 0, 255, 128, 2, 0, - 0, 3, 14, 0, 15, 128, - 4, 0, 36, 129, 11, 0, - 213, 161, 7, 0, 0, 2, - 1, 0, 8, 128, 8, 0, - 0, 128, 6, 0, 0, 2, - 1, 0, 8, 128, 1, 0, - 255, 128, 88, 0, 0, 4, - 1, 0, 8, 128, 12, 0, - 170, 128, 10, 0, 0, 128, - 1, 0, 255, 128, 4, 0, - 0, 4, 1, 0, 8, 128, - 6, 0, 0, 128, 0, 0, - 255, 129, 1, 0, 255, 128, - 4, 0, 0, 4, 1, 0, - 8, 128, 9, 0, 0, 128, - 1, 0, 255, 128, 8, 0, - 0, 128, 4, 0, 0, 4, - 9, 0, 15, 128, 6, 0, - 36, 128, 0, 0, 255, 129, - 11, 0, 127, 161, 4, 0, - 0, 4, 6, 0, 7, 128, - 6, 0, 228, 128, 0, 0, - 255, 128, 3, 0, 0, 160, - 5, 0, 0, 3, 6, 0, - 7, 128, 6, 0, 228, 128, - 6, 0, 228, 128, 4, 0, - 0, 4, 0, 0, 8, 128, - 11, 0, 0, 128, 9, 0, - 255, 129, 8, 0, 0, 128, - 88, 0, 0, 4, 13, 0, - 1, 128, 14, 0, 255, 128, - 0, 0, 255, 128, 1, 0, - 255, 128, 88, 0, 0, 4, - 0, 0, 7, 128, 7, 0, - 170, 129, 13, 0, 228, 128, - 0, 0, 228, 128, 2, 0, - 0, 3, 10, 0, 7, 128, - 8, 0, 228, 128, 8, 0, - 228, 128, 4, 0, 0, 4, - 11, 0, 7, 128, 4, 0, - 228, 128, 3, 0, 85, 161, - 10, 0, 228, 128, 2, 0, - 0, 3, 11, 0, 7, 128, - 11, 0, 228, 128, 3, 0, - 0, 160, 4, 0, 0, 4, - 13, 0, 7, 128, 4, 0, - 228, 128, 10, 0, 228, 129, - 11, 0, 228, 128, 5, 0, - 0, 3, 10, 0, 7, 128, - 4, 0, 228, 128, 10, 0, - 228, 128, 2, 0, 0, 3, - 15, 0, 7, 128, 4, 0, - 228, 128, 4, 0, 228, 128, - 5, 0, 0, 3, 16, 0, - 7, 128, 8, 0, 228, 128, - 15, 0, 228, 128, 4, 0, - 0, 4, 11, 0, 7, 128, - 15, 0, 228, 128, 8, 0, - 228, 129, 11, 0, 228, 128, - 88, 0, 0, 4, 9, 0, - 7, 128, 9, 0, 228, 128, - 10, 0, 228, 128, 11, 0, - 228, 128, 88, 0, 0, 4, - 5, 0, 6, 128, 5, 0, - 208, 128, 16, 0, 228, 128, - 13, 0, 228, 128, 88, 0, - 0, 4, 5, 0, 1, 128, - 14, 0, 255, 128, 16, 0, - 0, 128, 13, 0, 0, 128, - 88, 0, 0, 4, 0, 0, - 7, 128, 7, 0, 85, 129, - 5, 0, 228, 128, 0, 0, - 228, 128, 6, 0, 0, 2, - 0, 0, 8, 128, 4, 0, - 0, 128, 4, 0, 0, 4, - 0, 0, 8, 128, 9, 0, - 255, 128, 0, 0, 255, 129, - 3, 0, 0, 161, 11, 0, - 0, 3, 1, 0, 8, 128, - 0, 0, 255, 128, 11, 0, - 170, 161, 5, 0, 0, 3, - 5, 0, 7, 128, 4, 0, - 228, 128, 4, 0, 228, 128, - 88, 0, 0, 4, 0, 0, - 8, 128, 5, 0, 0, 129, - 11, 0, 170, 161, 1, 0, - 255, 128, 88, 0, 0, 4, - 10, 0, 1, 128, 6, 0, - 0, 129, 3, 0, 0, 161, - 0, 0, 255, 128, 6, 0, - 0, 2, 0, 0, 8, 128, - 4, 0, 85, 128, 4, 0, - 0, 4, 0, 0, 8, 128, - 12, 0, 0, 128, 0, 0, - 255, 129, 3, 0, 0, 161, - 11, 0, 0, 3, 1, 0, - 8, 128, 0, 0, 255, 128, - 11, 0, 170, 161, 88, 0, - 0, 4, 0, 0, 8, 128, - 5, 0, 85, 129, 11, 0, - 170, 161, 1, 0, 255, 128, - 88, 0, 0, 4, 10, 0, - 2, 128, 6, 0, 85, 129, - 3, 0, 0, 161, 0, 0, - 255, 128, 6, 0, 0, 2, - 0, 0, 8, 128, 4, 0, - 170, 128, 4, 0, 0, 4, - 0, 0, 8, 128, 12, 0, - 85, 128, 0, 0, 255, 129, - 3, 0, 0, 161, 11, 0, - 0, 3, 1, 0, 8, 128, - 0, 0, 255, 128, 11, 0, - 170, 161, 88, 0, 0, 4, - 0, 0, 8, 128, 5, 0, - 170, 129, 11, 0, 170, 161, - 1, 0, 255, 128, 88, 0, - 0, 4, 10, 0, 4, 128, - 6, 0, 170, 129, 3, 0, - 0, 161, 0, 0, 255, 128, - 88, 0, 0, 4, 0, 0, - 7, 128, 7, 0, 0, 129, - 10, 0, 228, 128, 0, 0, - 228, 128, 2, 0, 0, 3, - 5, 0, 15, 128, 4, 0, - 255, 128, 5, 0, 228, 160, - 5, 0, 0, 3, 5, 0, - 15, 128, 5, 0, 228, 128, - 5, 0, 228, 128, 2, 0, - 0, 3, 6, 0, 7, 128, - 4, 0, 228, 128, 3, 0, - 0, 160, 5, 0, 0, 3, - 6, 0, 7, 128, 6, 0, - 228, 128, 6, 0, 228, 128, - 6, 0, 0, 2, 0, 0, - 8, 128, 14, 0, 0, 128, - 5, 0, 0, 3, 0, 0, - 8, 128, 0, 0, 255, 128, - 8, 0, 0, 128, 10, 0, - 0, 3, 1, 0, 8, 128, - 0, 0, 255, 128, 3, 0, - 0, 161, 88, 0, 0, 4, - 0, 0, 8, 128, 6, 0, - 0, 129, 3, 0, 0, 161, - 1, 0, 255, 128, 5, 0, - 0, 3, 7, 0, 7, 128, - 8, 0, 228, 128, 8, 0, - 228, 128, 88, 0, 0, 4, - 10, 0, 1, 128, 7, 0, - 0, 129, 11, 0, 170, 161, - 0, 0, 255, 128, 6, 0, - 0, 2, 0, 0, 8, 128, - 14, 0, 85, 128, 6, 0, - 0, 2, 1, 0, 8, 128, - 14, 0, 170, 128, 5, 0, - 0, 3, 1, 0, 8, 128, - 1, 0, 255, 128, 8, 0, - 170, 128, 10, 0, 0, 3, - 2, 0, 8, 128, 1, 0, - 255, 128, 3, 0, 0, 161, - 88, 0, 0, 4, 1, 0, - 8, 128, 6, 0, 170, 129, - 3, 0, 0, 161, 2, 0, - 255, 128, 88, 0, 0, 4, - 10, 0, 4, 128, 7, 0, - 170, 129, 11, 0, 170, 161, - 1, 0, 255, 128, 5, 0, - 0, 3, 0, 0, 8, 128, - 0, 0, 255, 128, 8, 0, - 85, 128, 10, 0, 0, 3, - 1, 0, 8, 128, 0, 0, - 255, 128, 3, 0, 0, 161, - 88, 0, 0, 4, 0, 0, - 8, 128, 6, 0, 85, 129, - 3, 0, 0, 161, 1, 0, - 255, 128, 88, 0, 0, 4, - 10, 0, 2, 128, 7, 0, - 85, 129, 11, 0, 170, 161, - 0, 0, 255, 128, 88, 0, - 0, 4, 0, 0, 7, 128, - 5, 0, 255, 129, 10, 0, - 228, 128, 0, 0, 228, 128, - 11, 0, 0, 3, 6, 0, - 7, 128, 8, 0, 228, 128, - 4, 0, 228, 128, 10, 0, - 0, 3, 7, 0, 7, 128, - 4, 0, 228, 128, 8, 0, - 228, 128, 88, 0, 0, 4, - 0, 0, 7, 128, 5, 0, - 170, 129, 6, 0, 228, 128, - 0, 0, 228, 128, 88, 0, - 0, 4, 0, 0, 7, 128, - 5, 0, 85, 129, 7, 0, - 228, 128, 0, 0, 228, 128, - 88, 0, 0, 4, 0, 0, - 7, 128, 5, 0, 0, 129, - 9, 0, 228, 128, 0, 0, - 228, 128, 88, 0, 0, 4, - 0, 0, 7, 128, 10, 0, - 255, 129, 1, 0, 228, 128, - 0, 0, 228, 128, 88, 0, - 0, 4, 0, 0, 7, 128, - 2, 0, 170, 161, 2, 0, - 228, 128, 0, 0, 228, 128, - 18, 0, 0, 4, 1, 0, - 7, 128, 6, 0, 255, 128, - 0, 0, 228, 128, 4, 0, - 228, 128, 5, 0, 0, 3, - 1, 0, 8, 128, 6, 0, - 255, 128, 6, 0, 255, 128, - 5, 0, 0, 3, 0, 0, - 7, 128, 3, 0, 255, 128, - 1, 0, 228, 128, 5, 0, - 0, 3, 1, 0, 1, 128, - 3, 0, 255, 128, 3, 0, - 255, 128, 1, 0, 0, 2, - 0, 0, 8, 128, 3, 0, - 255, 128, 88, 0, 0, 4, - 0, 0, 15, 128, 1, 0, - 0, 129, 11, 0, 170, 161, - 0, 0, 228, 128, 88, 0, - 0, 4, 0, 0, 15, 128, - 1, 0, 255, 129, 3, 0, - 228, 128, 0, 0, 228, 128, - 1, 0, 0, 2, 0, 8, - 15, 128, 0, 0, 228, 128, - 255, 255, 0, 0, 83, 72, - 68, 82, 176, 39, 0, 0, - 64, 0, 0, 0, 236, 9, - 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 90, 0, 0, 3, 0, 96, - 16, 0, 0, 0, 0, 0, - 88, 24, 0, 4, 0, 112, - 16, 0, 0, 0, 0, 0, - 85, 85, 0, 0, 88, 24, - 0, 4, 0, 112, 16, 0, - 1, 0, 0, 0, 85, 85, - 0, 0, 88, 24, 0, 4, - 0, 112, 16, 0, 2, 0, - 0, 0, 85, 85, 0, 0, - 88, 24, 0, 4, 0, 112, - 16, 0, 3, 0, 0, 0, - 85, 85, 0, 0, 88, 24, - 0, 4, 0, 112, 16, 0, - 5, 0, 0, 0, 85, 85, - 0, 0, 88, 24, 0, 4, - 0, 112, 16, 0, 6, 0, - 0, 0, 85, 85, 0, 0, - 98, 16, 0, 3, 50, 16, - 16, 0, 1, 0, 0, 0, - 98, 16, 0, 3, 194, 16, - 16, 0, 1, 0, 0, 0, - 98, 16, 0, 3, 114, 16, - 16, 0, 2, 0, 0, 0, - 101, 0, 0, 3, 242, 32, - 16, 0, 0, 0, 0, 0, - 104, 0, 0, 2, 22, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 0, 0, - 0, 0, 230, 26, 16, 0, - 1, 0, 0, 0, 70, 126, - 16, 0, 6, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 31, 0, 0, 4, - 26, 128, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 31, 0, 0, 4, 10, 128, - 32, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 69, 0, - 0, 9, 242, 0, 16, 0, - 1, 0, 0, 0, 70, 16, - 16, 0, 1, 0, 0, 0, - 70, 126, 16, 0, 0, 0, - 0, 0, 0, 96, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 8, 114, 0, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 6, 128, 32, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 54, 0, 0, 6, 130, 0, - 16, 0, 1, 0, 0, 0, - 10, 128, 32, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 54, 0, 0, 5, 18, 0, - 16, 0, 2, 0, 0, 0, - 1, 64, 0, 0, 255, 255, - 255, 255, 18, 0, 0, 1, - 32, 0, 0, 8, 34, 0, - 16, 0, 2, 0, 0, 0, - 1, 64, 0, 0, 1, 0, - 0, 0, 10, 128, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 31, 0, 4, 3, - 26, 0, 16, 0, 2, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 3, 0, - 0, 0, 70, 16, 16, 0, - 1, 0, 0, 0, 70, 126, - 16, 0, 0, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 8, - 242, 0, 16, 0, 1, 0, - 0, 0, 70, 14, 16, 0, - 3, 0, 0, 0, 6, 128, - 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 54, 0, - 0, 5, 18, 0, 16, 0, - 2, 0, 0, 0, 1, 64, - 0, 0, 255, 255, 255, 255, - 18, 0, 0, 1, 32, 0, - 0, 8, 18, 0, 16, 0, - 2, 0, 0, 0, 1, 64, - 0, 0, 2, 0, 0, 0, - 10, 128, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 31, 0, 4, 3, 10, 0, - 16, 0, 2, 0, 0, 0, - 69, 0, 0, 9, 242, 0, - 16, 0, 3, 0, 0, 0, - 70, 16, 16, 0, 1, 0, - 0, 0, 70, 126, 16, 0, - 3, 0, 0, 0, 0, 96, - 16, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 34, 0, - 16, 0, 2, 0, 0, 0, - 10, 0, 16, 0, 3, 0, - 0, 0, 1, 64, 0, 0, - 115, 128, 0, 191, 69, 0, - 0, 9, 242, 0, 16, 0, - 3, 0, 0, 0, 70, 16, - 16, 0, 1, 0, 0, 0, - 70, 126, 16, 0, 1, 0, - 0, 0, 0, 96, 16, 0, - 0, 0, 0, 0, 0, 0, - 0, 7, 66, 0, 16, 0, - 2, 0, 0, 0, 10, 0, - 16, 0, 3, 0, 0, 0, - 1, 64, 0, 0, 18, 131, - 128, 189, 69, 0, 0, 9, - 242, 0, 16, 0, 3, 0, - 0, 0, 70, 16, 16, 0, - 1, 0, 0, 0, 70, 126, - 16, 0, 2, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 0, 0, 0, 7, - 130, 0, 16, 0, 2, 0, - 0, 0, 10, 0, 16, 0, - 3, 0, 0, 0, 1, 64, - 0, 0, 115, 128, 0, 191, - 56, 0, 0, 10, 50, 0, - 16, 0, 3, 0, 0, 0, - 86, 5, 16, 0, 2, 0, - 0, 0, 2, 64, 0, 0, - 182, 74, 204, 63, 205, 30, - 80, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, - 0, 9, 18, 0, 16, 0, - 4, 0, 0, 0, 42, 0, - 16, 0, 2, 0, 0, 0, - 1, 64, 0, 0, 103, 10, - 149, 63, 10, 0, 16, 0, - 3, 0, 0, 0, 50, 0, - 0, 10, 34, 0, 16, 0, - 2, 0, 0, 0, 42, 0, - 16, 0, 2, 0, 0, 0, - 1, 64, 0, 0, 103, 10, - 149, 63, 26, 0, 16, 128, - 65, 0, 0, 0, 3, 0, - 0, 0, 56, 0, 0, 7, - 18, 0, 16, 0, 3, 0, - 0, 0, 58, 0, 16, 0, - 2, 0, 0, 0, 1, 64, - 0, 0, 76, 26, 1, 64, - 50, 0, 0, 10, 34, 0, - 16, 0, 4, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 2, 0, 0, 0, - 1, 64, 0, 0, 196, 148, - 200, 62, 26, 0, 16, 0, - 2, 0, 0, 0, 50, 0, - 0, 9, 66, 0, 16, 0, - 4, 0, 0, 0, 42, 0, - 16, 0, 2, 0, 0, 0, - 1, 64, 0, 0, 103, 10, - 149, 63, 10, 0, 16, 0, - 3, 0, 0, 0, 54, 0, - 0, 5, 130, 0, 16, 0, - 4, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 128, 63, - 56, 0, 0, 8, 242, 0, - 16, 0, 1, 0, 0, 0, - 70, 14, 16, 0, 4, 0, - 0, 0, 6, 128, 32, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 21, 0, 0, 1, - 21, 0, 0, 1, 21, 0, - 0, 1, 55, 0, 0, 10, - 242, 0, 16, 0, 1, 0, - 0, 0, 6, 0, 16, 0, - 2, 0, 0, 0, 70, 14, - 16, 0, 1, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 54, 0, 0, 5, 18, 0, - 16, 0, 2, 0, 0, 0, - 1, 64, 0, 0, 255, 255, - 255, 255, 18, 0, 0, 1, - 32, 0, 0, 8, 18, 0, - 16, 0, 2, 0, 0, 0, - 1, 64, 0, 0, 1, 0, - 0, 0, 26, 128, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 31, 0, 4, 3, - 10, 0, 16, 0, 2, 0, - 0, 0, 31, 0, 0, 4, - 10, 128, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 69, 0, 0, 9, 242, 0, - 16, 0, 3, 0, 0, 0, - 70, 16, 16, 0, 1, 0, - 0, 0, 70, 126, 16, 0, - 0, 0, 0, 0, 0, 96, - 16, 0, 0, 0, 0, 0, - 56, 0, 0, 8, 114, 0, - 16, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 3, 0, - 0, 0, 6, 128, 32, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 14, 0, 0, 7, - 98, 0, 16, 0, 2, 0, - 0, 0, 6, 17, 16, 0, - 2, 0, 0, 0, 166, 26, - 16, 0, 2, 0, 0, 0, - 69, 0, 0, 9, 242, 0, - 16, 0, 4, 0, 0, 0, - 150, 5, 16, 0, 2, 0, - 0, 0, 70, 126, 16, 0, - 5, 0, 0, 0, 0, 96, - 16, 0, 0, 0, 0, 0, - 54, 0, 0, 6, 130, 0, - 16, 0, 3, 0, 0, 0, - 10, 128, 32, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 56, 0, 0, 7, 242, 0, - 16, 0, 1, 0, 0, 0, - 70, 14, 16, 0, 3, 0, - 0, 0, 6, 0, 16, 0, - 4, 0, 0, 0, 54, 0, - 0, 5, 34, 0, 16, 0, - 2, 0, 0, 0, 1, 64, - 0, 0, 255, 255, 255, 255, - 18, 0, 0, 1, 32, 0, - 0, 8, 66, 0, 16, 0, - 2, 0, 0, 0, 1, 64, - 0, 0, 1, 0, 0, 0, - 10, 128, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 31, 0, 4, 3, 42, 0, - 16, 0, 2, 0, 0, 0, - 14, 0, 0, 7, 194, 0, - 16, 0, 2, 0, 0, 0, - 6, 20, 16, 0, 2, 0, - 0, 0, 166, 26, 16, 0, - 2, 0, 0, 0, 69, 0, - 0, 9, 242, 0, 16, 0, - 3, 0, 0, 0, 230, 10, - 16, 0, 2, 0, 0, 0, - 70, 126, 16, 0, 5, 0, - 0, 0, 0, 96, 16, 0, - 0, 0, 0, 0, 69, 0, - 0, 9, 242, 0, 16, 0, - 4, 0, 0, 0, 70, 16, - 16, 0, 1, 0, 0, 0, - 70, 126, 16, 0, 0, 0, - 0, 0, 0, 96, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 8, 242, 0, 16, 0, - 4, 0, 0, 0, 70, 14, - 16, 0, 4, 0, 0, 0, - 6, 128, 32, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 56, 0, 0, 7, 242, 0, - 16, 0, 1, 0, 0, 0, - 6, 0, 16, 0, 3, 0, - 0, 0, 70, 14, 16, 0, - 4, 0, 0, 0, 54, 0, - 0, 5, 34, 0, 16, 0, - 2, 0, 0, 0, 1, 64, - 0, 0, 255, 255, 255, 255, - 18, 0, 0, 1, 32, 0, - 0, 8, 34, 0, 16, 0, - 2, 0, 0, 0, 1, 64, - 0, 0, 2, 0, 0, 0, - 10, 128, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 31, 0, 4, 3, 26, 0, - 16, 0, 2, 0, 0, 0, - 14, 0, 0, 7, 194, 0, - 16, 0, 2, 0, 0, 0, - 6, 20, 16, 0, 2, 0, - 0, 0, 166, 26, 16, 0, - 2, 0, 0, 0, 69, 0, - 0, 9, 242, 0, 16, 0, - 3, 0, 0, 0, 230, 10, - 16, 0, 2, 0, 0, 0, - 70, 126, 16, 0, 5, 0, - 0, 0, 0, 96, 16, 0, - 0, 0, 0, 0, 69, 0, - 0, 9, 242, 0, 16, 0, - 4, 0, 0, 0, 70, 16, - 16, 0, 1, 0, 0, 0, - 70, 126, 16, 0, 3, 0, - 0, 0, 0, 96, 16, 0, - 0, 0, 0, 0, 0, 0, - 0, 7, 66, 0, 16, 0, - 2, 0, 0, 0, 10, 0, - 16, 0, 4, 0, 0, 0, - 1, 64, 0, 0, 115, 128, - 0, 191, 69, 0, 0, 9, - 242, 0, 16, 0, 4, 0, - 0, 0, 70, 16, 16, 0, - 1, 0, 0, 0, 70, 126, - 16, 0, 1, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 0, 0, 0, 7, - 130, 0, 16, 0, 2, 0, - 0, 0, 10, 0, 16, 0, - 4, 0, 0, 0, 1, 64, - 0, 0, 18, 131, 128, 189, - 69, 0, 0, 9, 242, 0, - 16, 0, 4, 0, 0, 0, - 70, 16, 16, 0, 1, 0, - 0, 0, 70, 126, 16, 0, - 2, 0, 0, 0, 0, 96, - 16, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 34, 0, - 16, 0, 3, 0, 0, 0, - 10, 0, 16, 0, 4, 0, - 0, 0, 1, 64, 0, 0, - 115, 128, 0, 191, 56, 0, - 0, 10, 194, 0, 16, 0, - 3, 0, 0, 0, 166, 10, - 16, 0, 2, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 182, 74, 204, 63, 205, 30, - 80, 63, 50, 0, 0, 9, - 18, 0, 16, 0, 4, 0, - 0, 0, 58, 0, 16, 0, - 2, 0, 0, 0, 1, 64, - 0, 0, 103, 10, 149, 63, - 42, 0, 16, 0, 3, 0, - 0, 0, 50, 0, 0, 10, - 66, 0, 16, 0, 2, 0, - 0, 0, 58, 0, 16, 0, - 2, 0, 0, 0, 1, 64, - 0, 0, 103, 10, 149, 63, - 58, 0, 16, 128, 65, 0, - 0, 0, 3, 0, 0, 0, - 56, 0, 0, 7, 66, 0, - 16, 0, 3, 0, 0, 0, - 26, 0, 16, 0, 3, 0, - 0, 0, 1, 64, 0, 0, - 76, 26, 1, 64, 50, 0, - 0, 10, 34, 0, 16, 0, - 4, 0, 0, 0, 26, 0, - 16, 128, 65, 0, 0, 0, - 3, 0, 0, 0, 1, 64, - 0, 0, 196, 148, 200, 62, - 42, 0, 16, 0, 2, 0, - 0, 0, 50, 0, 0, 9, - 66, 0, 16, 0, 4, 0, - 0, 0, 58, 0, 16, 0, - 2, 0, 0, 0, 1, 64, - 0, 0, 103, 10, 149, 63, - 42, 0, 16, 0, 3, 0, - 0, 0, 54, 0, 0, 5, - 130, 0, 16, 0, 4, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 128, 63, 56, 0, - 0, 8, 242, 0, 16, 0, - 4, 0, 0, 0, 70, 14, - 16, 0, 4, 0, 0, 0, - 6, 128, 32, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 56, 0, 0, 7, 242, 0, - 16, 0, 1, 0, 0, 0, - 6, 0, 16, 0, 3, 0, - 0, 0, 70, 14, 16, 0, - 4, 0, 0, 0, 21, 0, - 0, 1, 21, 0, 0, 1, - 21, 0, 0, 1, 31, 0, - 0, 3, 26, 0, 16, 0, - 2, 0, 0, 0, 14, 0, - 0, 7, 98, 0, 16, 0, - 2, 0, 0, 0, 6, 17, - 16, 0, 2, 0, 0, 0, - 166, 26, 16, 0, 2, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 3, 0, - 0, 0, 150, 5, 16, 0, - 2, 0, 0, 0, 70, 126, - 16, 0, 5, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 8, - 242, 0, 16, 0, 1, 0, - 0, 0, 6, 0, 16, 0, - 3, 0, 0, 0, 70, 142, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 21, 0, - 0, 1, 21, 0, 0, 1, - 21, 0, 0, 1, 55, 0, - 0, 12, 242, 0, 16, 0, - 1, 0, 0, 0, 6, 0, - 16, 0, 2, 0, 0, 0, - 70, 14, 16, 0, 1, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 128, 63, 24, 0, - 0, 7, 18, 0, 16, 0, - 2, 0, 0, 0, 58, 0, - 16, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 0, 31, 0, 4, 3, - 10, 0, 16, 0, 2, 0, - 0, 0, 54, 0, 0, 5, - 242, 32, 16, 0, 0, 0, - 0, 0, 70, 14, 16, 0, - 1, 0, 0, 0, 62, 0, - 0, 1, 21, 0, 0, 1, - 24, 0, 0, 7, 18, 0, - 16, 0, 2, 0, 0, 0, - 58, 0, 16, 0, 1, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 0, 0, 31, 0, - 4, 3, 10, 0, 16, 0, - 2, 0, 0, 0, 54, 0, - 0, 8, 242, 32, 16, 0, - 0, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 62, 0, 0, 1, 21, 0, - 0, 1, 14, 0, 0, 7, - 114, 0, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 246, 15, - 16, 0, 0, 0, 0, 0, - 14, 0, 0, 7, 114, 0, - 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 246, 15, 16, 0, - 1, 0, 0, 0, 55, 0, - 0, 10, 114, 0, 16, 0, - 1, 0, 0, 0, 246, 143, - 32, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 0, 0, 0, 7, 114, 0, - 16, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 10, 114, 0, 16, 0, - 4, 0, 0, 0, 70, 2, - 16, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 3, 0, - 0, 0, 29, 0, 0, 10, - 242, 0, 16, 0, 5, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 0, 63, 0, 0, - 0, 63, 0, 0, 0, 63, - 0, 0, 128, 62, 70, 2, - 16, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 114, 0, - 16, 0, 6, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 7, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 6, 0, - 0, 0, 0, 0, 0, 7, - 114, 0, 16, 0, 8, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 50, 0, 0, 12, 114, 0, - 16, 0, 9, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 0, 64, 0, 0, - 0, 64, 0, 0, 0, 64, - 0, 0, 0, 0, 70, 2, - 16, 0, 6, 0, 0, 0, - 0, 0, 0, 10, 114, 0, - 16, 0, 9, 0, 0, 0, - 70, 2, 16, 0, 9, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 128, 191, 0, 0, - 128, 191, 0, 0, 128, 191, - 0, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 10, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 8, 0, - 0, 0, 50, 0, 0, 10, - 114, 0, 16, 0, 8, 0, - 0, 0, 70, 2, 16, 128, - 65, 0, 0, 0, 8, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 9, 0, 0, 0, - 55, 0, 0, 9, 114, 0, - 16, 0, 5, 0, 0, 0, - 70, 2, 16, 0, 5, 0, - 0, 0, 70, 2, 16, 0, - 7, 0, 0, 0, 70, 2, - 16, 0, 8, 0, 0, 0, - 51, 0, 0, 7, 114, 0, - 16, 0, 7, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 32, 0, - 0, 11, 242, 0, 16, 0, - 8, 0, 0, 0, 2, 64, - 0, 0, 1, 0, 0, 0, - 2, 0, 0, 0, 3, 0, - 0, 0, 4, 0, 0, 0, - 166, 138, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 52, 0, 0, 7, 114, 0, - 16, 0, 11, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 24, 0, - 0, 10, 242, 0, 16, 0, - 12, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 128, 63, 24, 0, 0, 10, - 242, 0, 16, 0, 13, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 128, 63, - 0, 0, 128, 63, 0, 0, - 128, 63, 0, 0, 0, 0, - 0, 0, 0, 11, 114, 0, - 16, 0, 14, 0, 0, 0, - 70, 2, 16, 128, 65, 0, - 0, 0, 1, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 128, 63, 0, 0, 128, 63, - 0, 0, 128, 63, 0, 0, - 0, 0, 14, 0, 0, 7, - 114, 0, 16, 0, 14, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 14, 0, 0, 0, - 51, 0, 0, 10, 114, 0, - 16, 0, 14, 0, 0, 0, - 70, 2, 16, 0, 14, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 128, 63, 0, 0, - 128, 63, 0, 0, 128, 63, - 0, 0, 0, 0, 55, 0, - 0, 12, 114, 0, 16, 0, - 13, 0, 0, 0, 70, 2, - 16, 0, 13, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 128, 63, 0, 0, 128, 63, - 0, 0, 128, 63, 0, 0, - 0, 0, 70, 2, 16, 0, - 14, 0, 0, 0, 55, 0, - 0, 12, 114, 0, 16, 0, - 12, 0, 0, 0, 70, 2, - 16, 0, 12, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 13, 0, 0, 0, 0, 0, - 0, 11, 114, 0, 16, 0, - 13, 0, 0, 0, 70, 2, - 16, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 128, 63, - 0, 0, 128, 63, 0, 0, - 128, 63, 0, 0, 0, 0, - 14, 0, 0, 7, 114, 0, - 16, 0, 14, 0, 0, 0, - 70, 2, 16, 0, 13, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 51, 0, - 0, 10, 114, 0, 16, 0, - 14, 0, 0, 0, 70, 2, - 16, 0, 14, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 128, 63, 0, 0, 128, 63, - 0, 0, 128, 63, 0, 0, - 0, 0, 0, 0, 0, 11, - 114, 0, 16, 0, 14, 0, - 0, 0, 70, 2, 16, 128, - 65, 0, 0, 0, 14, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 128, 63, 0, 0, - 128, 63, 0, 0, 128, 63, - 0, 0, 0, 0, 55, 0, - 0, 9, 130, 0, 16, 0, - 2, 0, 0, 0, 58, 0, - 16, 0, 13, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 14, 0, 0, 0, 55, 0, - 0, 9, 18, 0, 16, 0, - 15, 0, 0, 0, 58, 0, - 16, 0, 12, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 128, 63, 58, 0, 16, 0, - 2, 0, 0, 0, 24, 0, - 0, 10, 146, 0, 16, 0, - 14, 0, 0, 0, 86, 9, - 16, 0, 0, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 128, 63, 24, 0, 0, 10, - 50, 0, 16, 0, 16, 0, - 0, 0, 150, 5, 16, 0, - 1, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 55, 0, 0, 12, 98, 0, - 16, 0, 14, 0, 0, 0, - 6, 1, 16, 0, 16, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 86, 6, - 16, 0, 14, 0, 0, 0, - 55, 0, 0, 12, 98, 0, - 16, 0, 15, 0, 0, 0, - 6, 3, 16, 0, 14, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 0, 0, 0, 0, - 128, 63, 0, 0, 128, 63, - 0, 0, 0, 0, 86, 6, - 16, 0, 14, 0, 0, 0, - 29, 0, 0, 10, 114, 0, - 16, 0, 14, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 0, 63, 0, 0, 0, 63, - 0, 0, 0, 63, 0, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 10, 114, 0, 16, 0, - 6, 0, 0, 0, 70, 2, - 16, 128, 65, 0, 0, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 6, 0, 0, 0, - 70, 2, 16, 0, 9, 0, - 0, 0, 55, 0, 0, 9, - 114, 0, 16, 0, 6, 0, - 0, 0, 70, 2, 16, 0, - 14, 0, 0, 0, 70, 2, - 16, 0, 10, 0, 0, 0, - 70, 2, 16, 0, 6, 0, - 0, 0, 32, 0, 0, 11, - 242, 0, 16, 0, 9, 0, - 0, 0, 2, 64, 0, 0, - 5, 0, 0, 0, 6, 0, - 0, 0, 7, 0, 0, 0, - 8, 0, 0, 0, 166, 138, - 32, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 50, 0, - 0, 16, 114, 0, 16, 0, - 10, 0, 0, 0, 70, 2, - 16, 128, 65, 0, 0, 0, - 1, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 0, 64, - 0, 0, 0, 64, 0, 0, - 0, 64, 0, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 128, 63, 0, 0, 128, 63, - 0, 0, 128, 63, 0, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 10, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 10, 0, 0, 0, - 50, 0, 0, 10, 114, 0, - 16, 0, 10, 0, 0, 0, - 70, 2, 16, 128, 65, 0, - 0, 0, 10, 0, 0, 0, - 70, 2, 16, 0, 13, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 50, 0, - 0, 15, 114, 0, 16, 0, - 13, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 0, 64, 0, 0, 0, 64, - 0, 0, 0, 64, 0, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 128, 191, 0, 0, - 128, 191, 0, 0, 128, 191, - 0, 0, 0, 0, 50, 0, - 0, 15, 114, 0, 16, 0, - 16, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 128, 65, 0, 0, 128, 65, - 0, 0, 128, 65, 0, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 64, 193, 0, 0, - 64, 193, 0, 0, 64, 193, - 0, 0, 0, 0, 50, 0, - 0, 12, 114, 0, 16, 0, - 16, 0, 0, 0, 70, 2, - 16, 0, 16, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 128, 64, 0, 0, - 128, 64, 0, 0, 128, 64, - 0, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 16, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 16, 0, - 0, 0, 75, 0, 0, 5, - 114, 0, 16, 0, 17, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 55, 0, - 0, 9, 130, 0, 16, 0, - 2, 0, 0, 0, 58, 0, - 16, 0, 5, 0, 0, 0, - 10, 0, 16, 0, 16, 0, - 0, 0, 10, 0, 16, 0, - 17, 0, 0, 0, 0, 0, - 0, 8, 130, 0, 16, 0, - 2, 0, 0, 0, 10, 0, - 16, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 2, 0, 0, 0, - 50, 0, 0, 9, 130, 0, - 16, 0, 2, 0, 0, 0, - 10, 0, 16, 0, 13, 0, - 0, 0, 58, 0, 16, 0, - 2, 0, 0, 0, 10, 0, - 16, 0, 0, 0, 0, 0, - 55, 0, 0, 9, 18, 0, - 16, 0, 18, 0, 0, 0, - 10, 0, 16, 0, 14, 0, - 0, 0, 10, 0, 16, 0, - 10, 0, 0, 0, 58, 0, - 16, 0, 2, 0, 0, 0, - 29, 0, 0, 10, 146, 0, - 16, 0, 10, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 128, 62, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 128, 62, 86, 9, 16, 0, - 0, 0, 0, 0, 55, 0, - 0, 9, 146, 0, 16, 0, - 10, 0, 0, 0, 6, 12, - 16, 0, 10, 0, 0, 0, - 86, 9, 16, 0, 16, 0, - 0, 0, 86, 9, 16, 0, - 17, 0, 0, 0, 0, 0, - 0, 8, 146, 0, 16, 0, - 10, 0, 0, 0, 86, 9, - 16, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 6, 12, - 16, 0, 10, 0, 0, 0, - 50, 0, 0, 9, 146, 0, - 16, 0, 10, 0, 0, 0, - 86, 9, 16, 0, 13, 0, - 0, 0, 6, 12, 16, 0, - 10, 0, 0, 0, 86, 9, - 16, 0, 0, 0, 0, 0, - 55, 0, 0, 9, 98, 0, - 16, 0, 18, 0, 0, 0, - 86, 6, 16, 0, 14, 0, - 0, 0, 86, 6, 16, 0, - 10, 0, 0, 0, 6, 3, - 16, 0, 10, 0, 0, 0, - 0, 0, 0, 8, 114, 0, - 16, 0, 10, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 128, - 65, 0, 0, 0, 1, 0, - 0, 0, 50, 0, 0, 13, - 114, 0, 16, 0, 3, 0, - 0, 0, 70, 2, 16, 128, - 65, 0, 0, 0, 2, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 0, 64, 0, 0, - 0, 64, 0, 0, 0, 64, - 0, 0, 0, 0, 70, 2, - 16, 0, 3, 0, 0, 0, - 52, 0, 0, 7, 130, 0, - 16, 0, 2, 0, 0, 0, - 26, 0, 16, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 52, 0, - 0, 7, 130, 0, 16, 0, - 2, 0, 0, 0, 42, 0, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 2, 0, - 0, 0, 51, 0, 0, 7, - 130, 0, 16, 0, 3, 0, - 0, 0, 26, 0, 16, 0, - 0, 0, 0, 0, 10, 0, - 16, 0, 0, 0, 0, 0, - 51, 0, 0, 7, 130, 0, - 16, 0, 3, 0, 0, 0, - 42, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 3, 0, 0, 0, 0, 0, - 0, 8, 130, 0, 16, 0, - 13, 0, 0, 0, 58, 0, - 16, 0, 2, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 3, 0, 0, 0, - 29, 0, 0, 7, 130, 0, - 16, 0, 2, 0, 0, 0, - 26, 0, 16, 0, 1, 0, - 0, 0, 10, 0, 16, 0, - 1, 0, 0, 0, 31, 0, - 4, 3, 58, 0, 16, 0, - 2, 0, 0, 0, 49, 0, - 0, 7, 114, 0, 16, 0, - 14, 0, 0, 0, 6, 2, - 16, 0, 1, 0, 0, 0, - 102, 9, 16, 0, 1, 0, - 0, 0, 0, 0, 0, 8, - 242, 0, 16, 0, 16, 0, - 0, 0, 6, 10, 16, 128, - 65, 0, 0, 0, 1, 0, - 0, 0, 150, 4, 16, 0, - 1, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 17, 0, 0, 0, 246, 15, - 16, 0, 13, 0, 0, 0, - 70, 2, 16, 0, 16, 0, - 0, 0, 14, 0, 0, 7, - 114, 0, 16, 0, 13, 0, - 0, 0, 70, 2, 16, 0, - 17, 0, 0, 0, 22, 7, - 16, 0, 16, 0, 0, 0, - 1, 0, 0, 7, 98, 0, - 16, 0, 16, 0, 0, 0, - 6, 3, 16, 0, 13, 0, - 0, 0, 6, 0, 16, 0, - 14, 0, 0, 0, 29, 0, - 0, 7, 146, 0, 16, 0, - 14, 0, 0, 0, 166, 10, - 16, 0, 1, 0, 0, 0, - 86, 1, 16, 0, 1, 0, - 0, 0, 1, 0, 0, 7, - 98, 0, 16, 0, 17, 0, - 0, 0, 246, 13, 16, 0, - 13, 0, 0, 0, 86, 5, - 16, 0, 14, 0, 0, 0, - 1, 0, 0, 7, 50, 0, - 16, 0, 19, 0, 0, 0, - 230, 10, 16, 0, 13, 0, - 0, 0, 166, 10, 16, 0, - 14, 0, 0, 0, 54, 0, - 0, 5, 18, 0, 16, 0, - 17, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 0, - 54, 0, 0, 5, 66, 0, - 16, 0, 19, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 0, 55, 0, 0, 9, - 226, 0, 16, 0, 14, 0, - 0, 0, 246, 15, 16, 0, - 14, 0, 0, 0, 6, 9, - 16, 0, 17, 0, 0, 0, - 6, 9, 16, 0, 19, 0, - 0, 0, 54, 0, 0, 5, - 18, 0, 16, 0, 16, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 0, 0, 55, 0, - 0, 9, 114, 0, 16, 0, - 14, 0, 0, 0, 6, 0, - 16, 0, 14, 0, 0, 0, - 70, 2, 16, 0, 16, 0, - 0, 0, 150, 7, 16, 0, - 14, 0, 0, 0, 18, 0, - 0, 1, 49, 0, 0, 7, - 114, 0, 16, 0, 16, 0, - 0, 0, 86, 6, 16, 0, - 1, 0, 0, 0, 38, 8, - 16, 0, 1, 0, 0, 0, - 0, 0, 0, 8, 242, 0, - 16, 0, 17, 0, 0, 0, - 86, 10, 16, 128, 65, 0, - 0, 0, 1, 0, 0, 0, - 134, 1, 16, 0, 1, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 19, 0, - 0, 0, 246, 15, 16, 0, - 13, 0, 0, 0, 70, 2, - 16, 0, 17, 0, 0, 0, - 14, 0, 0, 7, 114, 0, - 16, 0, 13, 0, 0, 0, - 70, 2, 16, 0, 19, 0, - 0, 0, 22, 7, 16, 0, - 17, 0, 0, 0, 1, 0, - 0, 7, 82, 0, 16, 0, - 17, 0, 0, 0, 6, 3, - 16, 0, 13, 0, 0, 0, - 6, 0, 16, 0, 16, 0, - 0, 0, 29, 0, 0, 7, - 146, 0, 16, 0, 16, 0, - 0, 0, 166, 10, 16, 0, - 1, 0, 0, 0, 6, 4, - 16, 0, 1, 0, 0, 0, - 1, 0, 0, 7, 82, 0, - 16, 0, 19, 0, 0, 0, - 246, 13, 16, 0, 13, 0, - 0, 0, 86, 5, 16, 0, - 16, 0, 0, 0, 1, 0, - 0, 7, 50, 0, 16, 0, - 13, 0, 0, 0, 182, 15, - 16, 0, 13, 0, 0, 0, - 166, 10, 16, 0, 16, 0, - 0, 0, 54, 0, 0, 5, - 34, 0, 16, 0, 19, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 0, 0, 54, 0, - 0, 5, 66, 0, 16, 0, - 13, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 0, - 55, 0, 0, 9, 114, 0, - 16, 0, 13, 0, 0, 0, - 246, 15, 16, 0, 16, 0, - 0, 0, 70, 2, 16, 0, - 19, 0, 0, 0, 70, 2, - 16, 0, 13, 0, 0, 0, - 54, 0, 0, 5, 34, 0, - 16, 0, 17, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 0, 55, 0, 0, 9, - 114, 0, 16, 0, 14, 0, - 0, 0, 6, 0, 16, 0, - 16, 0, 0, 0, 70, 2, - 16, 0, 17, 0, 0, 0, - 70, 2, 16, 0, 13, 0, - 0, 0, 21, 0, 0, 1, - 16, 0, 0, 10, 130, 0, - 16, 0, 2, 0, 0, 0, - 2, 64, 0, 0, 154, 153, - 153, 62, 61, 10, 23, 63, - 174, 71, 225, 61, 0, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 16, 0, - 0, 10, 130, 0, 16, 0, - 3, 0, 0, 0, 2, 64, - 0, 0, 154, 153, 153, 62, - 61, 10, 23, 63, 174, 71, - 225, 61, 0, 0, 0, 0, - 70, 2, 16, 0, 14, 0, - 0, 0, 0, 0, 0, 8, - 130, 0, 16, 0, 3, 0, - 0, 0, 58, 0, 16, 0, - 2, 0, 0, 0, 58, 0, - 16, 128, 65, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 7, 114, 0, 16, 0, - 13, 0, 0, 0, 246, 15, - 16, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 14, 0, - 0, 0, 16, 0, 0, 10, - 130, 0, 16, 0, 3, 0, - 0, 0, 2, 64, 0, 0, - 154, 153, 153, 62, 61, 10, - 23, 63, 174, 71, 225, 61, - 0, 0, 0, 0, 70, 2, - 16, 0, 13, 0, 0, 0, - 51, 0, 0, 7, 130, 0, - 16, 0, 4, 0, 0, 0, - 26, 0, 16, 0, 13, 0, - 0, 0, 10, 0, 16, 0, - 13, 0, 0, 0, 51, 0, - 0, 7, 130, 0, 16, 0, - 4, 0, 0, 0, 42, 0, - 16, 0, 13, 0, 0, 0, - 58, 0, 16, 0, 4, 0, - 0, 0, 52, 0, 0, 7, - 130, 0, 16, 0, 5, 0, - 0, 0, 26, 0, 16, 0, - 13, 0, 0, 0, 10, 0, - 16, 0, 13, 0, 0, 0, - 52, 0, 0, 7, 130, 0, - 16, 0, 5, 0, 0, 0, - 42, 0, 16, 0, 13, 0, - 0, 0, 58, 0, 16, 0, - 5, 0, 0, 0, 49, 0, - 0, 7, 130, 0, 16, 0, - 6, 0, 0, 0, 58, 0, - 16, 0, 4, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 8, - 114, 0, 16, 0, 14, 0, - 0, 0, 246, 15, 16, 128, - 65, 0, 0, 0, 3, 0, - 0, 0, 70, 2, 16, 0, - 13, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 14, 0, 0, 0, 246, 15, - 16, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 14, 0, - 0, 0, 0, 0, 0, 8, - 130, 0, 16, 0, 4, 0, - 0, 0, 58, 0, 16, 0, - 3, 0, 0, 0, 58, 0, - 16, 128, 65, 0, 0, 0, - 4, 0, 0, 0, 14, 0, - 0, 7, 114, 0, 16, 0, - 14, 0, 0, 0, 70, 2, - 16, 0, 14, 0, 0, 0, - 246, 15, 16, 0, 4, 0, - 0, 0, 0, 0, 0, 7, - 114, 0, 16, 0, 14, 0, - 0, 0, 246, 15, 16, 0, - 3, 0, 0, 0, 70, 2, - 16, 0, 14, 0, 0, 0, - 55, 0, 0, 9, 114, 0, - 16, 0, 13, 0, 0, 0, - 246, 15, 16, 0, 6, 0, - 0, 0, 70, 2, 16, 0, - 14, 0, 0, 0, 70, 2, - 16, 0, 13, 0, 0, 0, - 49, 0, 0, 7, 130, 0, - 16, 0, 4, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 128, 63, 58, 0, 16, 0, - 5, 0, 0, 0, 0, 0, - 0, 8, 114, 0, 16, 0, - 14, 0, 0, 0, 246, 15, - 16, 128, 65, 0, 0, 0, - 3, 0, 0, 0, 70, 2, - 16, 0, 13, 0, 0, 0, - 0, 0, 0, 8, 130, 0, - 16, 0, 6, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 3, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 128, 63, 56, 0, 0, 7, - 114, 0, 16, 0, 14, 0, - 0, 0, 246, 15, 16, 0, - 6, 0, 0, 0, 70, 2, - 16, 0, 14, 0, 0, 0, - 0, 0, 0, 8, 130, 0, - 16, 0, 5, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 3, 0, 0, 0, - 58, 0, 16, 0, 5, 0, - 0, 0, 14, 0, 0, 7, - 114, 0, 16, 0, 14, 0, - 0, 0, 70, 2, 16, 0, - 14, 0, 0, 0, 246, 15, - 16, 0, 5, 0, 0, 0, - 0, 0, 0, 7, 114, 0, - 16, 0, 14, 0, 0, 0, - 246, 15, 16, 0, 3, 0, - 0, 0, 70, 2, 16, 0, - 14, 0, 0, 0, 55, 0, - 0, 9, 114, 0, 16, 0, - 13, 0, 0, 0, 246, 15, - 16, 0, 4, 0, 0, 0, - 70, 2, 16, 0, 14, 0, - 0, 0, 70, 2, 16, 0, - 13, 0, 0, 0, 32, 0, - 0, 11, 242, 0, 16, 0, - 14, 0, 0, 0, 2, 64, - 0, 0, 9, 0, 0, 0, - 10, 0, 0, 0, 11, 0, - 0, 0, 12, 0, 0, 0, - 166, 138, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 52, 0, 0, 7, 130, 0, - 16, 0, 3, 0, 0, 0, - 26, 0, 16, 0, 1, 0, - 0, 0, 10, 0, 16, 0, - 1, 0, 0, 0, 52, 0, - 0, 7, 130, 0, 16, 0, - 3, 0, 0, 0, 42, 0, - 16, 0, 1, 0, 0, 0, - 58, 0, 16, 0, 3, 0, - 0, 0, 51, 0, 0, 7, - 130, 0, 16, 0, 4, 0, - 0, 0, 26, 0, 16, 0, - 1, 0, 0, 0, 10, 0, - 16, 0, 1, 0, 0, 0, - 51, 0, 0, 7, 130, 0, - 16, 0, 4, 0, 0, 0, - 42, 0, 16, 0, 1, 0, - 0, 0, 58, 0, 16, 0, - 4, 0, 0, 0, 0, 0, - 0, 8, 130, 0, 16, 0, - 16, 0, 0, 0, 58, 0, - 16, 0, 3, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 4, 0, 0, 0, - 29, 0, 0, 7, 130, 0, - 16, 0, 3, 0, 0, 0, - 26, 0, 16, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 31, 0, - 4, 3, 58, 0, 16, 0, - 3, 0, 0, 0, 49, 0, - 0, 7, 114, 0, 16, 0, - 17, 0, 0, 0, 6, 2, - 16, 0, 0, 0, 0, 0, - 102, 9, 16, 0, 0, 0, - 0, 0, 0, 0, 0, 8, - 242, 0, 16, 0, 19, 0, - 0, 0, 6, 10, 16, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 150, 4, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 20, 0, 0, 0, 246, 15, - 16, 0, 16, 0, 0, 0, - 70, 2, 16, 0, 19, 0, - 0, 0, 14, 0, 0, 7, - 114, 0, 16, 0, 16, 0, - 0, 0, 70, 2, 16, 0, - 20, 0, 0, 0, 22, 7, - 16, 0, 19, 0, 0, 0, - 1, 0, 0, 7, 98, 0, - 16, 0, 19, 0, 0, 0, - 6, 3, 16, 0, 16, 0, - 0, 0, 6, 0, 16, 0, - 17, 0, 0, 0, 29, 0, - 0, 7, 146, 0, 16, 0, - 17, 0, 0, 0, 166, 10, - 16, 0, 0, 0, 0, 0, - 86, 1, 16, 0, 0, 0, - 0, 0, 1, 0, 0, 7, - 98, 0, 16, 0, 20, 0, - 0, 0, 246, 13, 16, 0, - 16, 0, 0, 0, 86, 5, - 16, 0, 17, 0, 0, 0, - 1, 0, 0, 7, 50, 0, - 16, 0, 21, 0, 0, 0, - 230, 10, 16, 0, 16, 0, - 0, 0, 166, 10, 16, 0, - 17, 0, 0, 0, 54, 0, - 0, 5, 18, 0, 16, 0, - 20, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 0, - 54, 0, 0, 5, 66, 0, - 16, 0, 21, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 0, 55, 0, 0, 9, - 226, 0, 16, 0, 17, 0, - 0, 0, 246, 15, 16, 0, - 17, 0, 0, 0, 6, 9, - 16, 0, 20, 0, 0, 0, - 6, 9, 16, 0, 21, 0, - 0, 0, 54, 0, 0, 5, - 18, 0, 16, 0, 19, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 0, 0, 55, 0, - 0, 9, 114, 0, 16, 0, - 17, 0, 0, 0, 6, 0, - 16, 0, 17, 0, 0, 0, - 70, 2, 16, 0, 19, 0, - 0, 0, 150, 7, 16, 0, - 17, 0, 0, 0, 18, 0, - 0, 1, 49, 0, 0, 7, - 114, 0, 16, 0, 19, 0, - 0, 0, 86, 6, 16, 0, - 0, 0, 0, 0, 38, 8, - 16, 0, 0, 0, 0, 0, - 0, 0, 0, 8, 242, 0, - 16, 0, 20, 0, 0, 0, - 86, 10, 16, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 134, 1, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 21, 0, - 0, 0, 246, 15, 16, 0, - 16, 0, 0, 0, 70, 2, - 16, 0, 20, 0, 0, 0, - 14, 0, 0, 7, 114, 0, - 16, 0, 16, 0, 0, 0, - 70, 2, 16, 0, 21, 0, - 0, 0, 22, 7, 16, 0, - 20, 0, 0, 0, 1, 0, - 0, 7, 82, 0, 16, 0, - 20, 0, 0, 0, 6, 3, - 16, 0, 16, 0, 0, 0, - 6, 0, 16, 0, 19, 0, - 0, 0, 29, 0, 0, 7, - 146, 0, 16, 0, 19, 0, - 0, 0, 166, 10, 16, 0, - 0, 0, 0, 0, 6, 4, - 16, 0, 0, 0, 0, 0, - 1, 0, 0, 7, 82, 0, - 16, 0, 21, 0, 0, 0, - 246, 13, 16, 0, 16, 0, - 0, 0, 86, 5, 16, 0, - 19, 0, 0, 0, 1, 0, - 0, 7, 50, 0, 16, 0, - 16, 0, 0, 0, 182, 15, - 16, 0, 16, 0, 0, 0, - 166, 10, 16, 0, 19, 0, - 0, 0, 54, 0, 0, 5, - 34, 0, 16, 0, 21, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 0, 0, 54, 0, - 0, 5, 66, 0, 16, 0, - 16, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 0, - 55, 0, 0, 9, 114, 0, - 16, 0, 16, 0, 0, 0, - 246, 15, 16, 0, 19, 0, - 0, 0, 70, 2, 16, 0, - 21, 0, 0, 0, 70, 2, - 16, 0, 16, 0, 0, 0, - 54, 0, 0, 5, 34, 0, - 16, 0, 20, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 0, 55, 0, 0, 9, - 114, 0, 16, 0, 17, 0, - 0, 0, 6, 0, 16, 0, - 19, 0, 0, 0, 70, 2, - 16, 0, 20, 0, 0, 0, - 70, 2, 16, 0, 16, 0, - 0, 0, 21, 0, 0, 1, - 16, 0, 0, 10, 130, 0, - 16, 0, 3, 0, 0, 0, - 2, 64, 0, 0, 154, 153, - 153, 62, 61, 10, 23, 63, - 174, 71, 225, 61, 0, 0, - 0, 0, 70, 2, 16, 0, - 17, 0, 0, 0, 0, 0, - 0, 8, 130, 0, 16, 0, - 3, 0, 0, 0, 58, 0, - 16, 0, 2, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 7, 114, 0, - 16, 0, 16, 0, 0, 0, - 246, 15, 16, 0, 3, 0, - 0, 0, 70, 2, 16, 0, - 17, 0, 0, 0, 16, 0, - 0, 10, 130, 0, 16, 0, - 3, 0, 0, 0, 2, 64, - 0, 0, 154, 153, 153, 62, - 61, 10, 23, 63, 174, 71, - 225, 61, 0, 0, 0, 0, - 70, 2, 16, 0, 16, 0, - 0, 0, 51, 0, 0, 7, - 130, 0, 16, 0, 4, 0, - 0, 0, 26, 0, 16, 0, - 16, 0, 0, 0, 10, 0, - 16, 0, 16, 0, 0, 0, - 51, 0, 0, 7, 130, 0, - 16, 0, 4, 0, 0, 0, - 42, 0, 16, 0, 16, 0, - 0, 0, 58, 0, 16, 0, - 4, 0, 0, 0, 52, 0, - 0, 7, 130, 0, 16, 0, - 5, 0, 0, 0, 26, 0, - 16, 0, 16, 0, 0, 0, - 10, 0, 16, 0, 16, 0, - 0, 0, 52, 0, 0, 7, - 130, 0, 16, 0, 5, 0, - 0, 0, 42, 0, 16, 0, - 16, 0, 0, 0, 58, 0, - 16, 0, 5, 0, 0, 0, - 49, 0, 0, 7, 130, 0, - 16, 0, 6, 0, 0, 0, - 58, 0, 16, 0, 4, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 8, 114, 0, 16, 0, - 17, 0, 0, 0, 246, 15, - 16, 128, 65, 0, 0, 0, - 3, 0, 0, 0, 70, 2, - 16, 0, 16, 0, 0, 0, - 56, 0, 0, 7, 114, 0, - 16, 0, 17, 0, 0, 0, - 246, 15, 16, 0, 3, 0, - 0, 0, 70, 2, 16, 0, - 17, 0, 0, 0, 0, 0, - 0, 8, 130, 0, 16, 0, - 4, 0, 0, 0, 58, 0, - 16, 0, 3, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 4, 0, 0, 0, - 14, 0, 0, 7, 114, 0, - 16, 0, 17, 0, 0, 0, - 70, 2, 16, 0, 17, 0, - 0, 0, 246, 15, 16, 0, - 4, 0, 0, 0, 0, 0, - 0, 7, 114, 0, 16, 0, - 17, 0, 0, 0, 246, 15, - 16, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 17, 0, - 0, 0, 55, 0, 0, 9, - 114, 0, 16, 0, 16, 0, - 0, 0, 246, 15, 16, 0, - 6, 0, 0, 0, 70, 2, - 16, 0, 17, 0, 0, 0, - 70, 2, 16, 0, 16, 0, - 0, 0, 49, 0, 0, 7, - 130, 0, 16, 0, 4, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 128, 63, 58, 0, - 16, 0, 5, 0, 0, 0, - 0, 0, 0, 8, 114, 0, - 16, 0, 17, 0, 0, 0, - 246, 15, 16, 128, 65, 0, - 0, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 16, 0, - 0, 0, 0, 0, 0, 8, - 130, 0, 16, 0, 6, 0, - 0, 0, 58, 0, 16, 128, - 65, 0, 0, 0, 3, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 128, 63, 56, 0, - 0, 7, 114, 0, 16, 0, - 17, 0, 0, 0, 246, 15, - 16, 0, 6, 0, 0, 0, - 70, 2, 16, 0, 17, 0, - 0, 0, 0, 0, 0, 8, - 130, 0, 16, 0, 5, 0, - 0, 0, 58, 0, 16, 128, - 65, 0, 0, 0, 3, 0, - 0, 0, 58, 0, 16, 0, - 5, 0, 0, 0, 14, 0, - 0, 7, 114, 0, 16, 0, - 17, 0, 0, 0, 70, 2, - 16, 0, 17, 0, 0, 0, - 246, 15, 16, 0, 5, 0, - 0, 0, 0, 0, 0, 7, - 114, 0, 16, 0, 17, 0, - 0, 0, 246, 15, 16, 0, - 3, 0, 0, 0, 70, 2, - 16, 0, 17, 0, 0, 0, - 55, 0, 0, 9, 114, 0, - 16, 0, 16, 0, 0, 0, - 246, 15, 16, 0, 4, 0, - 0, 0, 70, 2, 16, 0, - 17, 0, 0, 0, 70, 2, - 16, 0, 16, 0, 0, 0, - 16, 0, 0, 10, 130, 0, - 16, 0, 3, 0, 0, 0, - 2, 64, 0, 0, 154, 153, - 153, 62, 61, 10, 23, 63, - 174, 71, 225, 61, 0, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 0, 0, - 0, 8, 130, 0, 16, 0, - 4, 0, 0, 0, 58, 0, - 16, 0, 2, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 7, 114, 0, - 16, 0, 17, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 246, 15, 16, 0, - 4, 0, 0, 0, 16, 0, - 0, 10, 130, 0, 16, 0, - 4, 0, 0, 0, 2, 64, - 0, 0, 154, 153, 153, 62, - 61, 10, 23, 63, 174, 71, - 225, 61, 0, 0, 0, 0, - 70, 2, 16, 0, 17, 0, - 0, 0, 51, 0, 0, 7, - 130, 0, 16, 0, 5, 0, - 0, 0, 26, 0, 16, 0, - 17, 0, 0, 0, 10, 0, - 16, 0, 17, 0, 0, 0, - 51, 0, 0, 7, 130, 0, - 16, 0, 5, 0, 0, 0, - 42, 0, 16, 0, 17, 0, - 0, 0, 58, 0, 16, 0, - 5, 0, 0, 0, 52, 0, - 0, 7, 130, 0, 16, 0, - 6, 0, 0, 0, 26, 0, - 16, 0, 17, 0, 0, 0, - 10, 0, 16, 0, 17, 0, - 0, 0, 52, 0, 0, 7, - 130, 0, 16, 0, 6, 0, - 0, 0, 42, 0, 16, 0, - 17, 0, 0, 0, 58, 0, - 16, 0, 6, 0, 0, 0, - 49, 0, 0, 7, 130, 0, - 16, 0, 7, 0, 0, 0, - 58, 0, 16, 0, 5, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 8, 114, 0, 16, 0, - 19, 0, 0, 0, 246, 15, - 16, 128, 65, 0, 0, 0, - 4, 0, 0, 0, 70, 2, - 16, 0, 17, 0, 0, 0, - 56, 0, 0, 7, 114, 0, - 16, 0, 19, 0, 0, 0, - 246, 15, 16, 0, 4, 0, - 0, 0, 70, 2, 16, 0, - 19, 0, 0, 0, 0, 0, - 0, 8, 130, 0, 16, 0, - 5, 0, 0, 0, 58, 0, - 16, 0, 4, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 5, 0, 0, 0, - 14, 0, 0, 7, 114, 0, - 16, 0, 19, 0, 0, 0, - 70, 2, 16, 0, 19, 0, - 0, 0, 246, 15, 16, 0, - 5, 0, 0, 0, 0, 0, - 0, 7, 114, 0, 16, 0, - 19, 0, 0, 0, 246, 15, - 16, 0, 4, 0, 0, 0, - 70, 2, 16, 0, 19, 0, - 0, 0, 55, 0, 0, 9, - 114, 0, 16, 0, 17, 0, - 0, 0, 246, 15, 16, 0, - 7, 0, 0, 0, 70, 2, - 16, 0, 19, 0, 0, 0, - 70, 2, 16, 0, 17, 0, - 0, 0, 49, 0, 0, 7, - 130, 0, 16, 0, 5, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 128, 63, 58, 0, - 16, 0, 6, 0, 0, 0, - 0, 0, 0, 8, 114, 0, - 16, 0, 19, 0, 0, 0, - 246, 15, 16, 128, 65, 0, - 0, 0, 4, 0, 0, 0, - 70, 2, 16, 0, 17, 0, - 0, 0, 0, 0, 0, 8, - 130, 0, 16, 0, 7, 0, - 0, 0, 58, 0, 16, 128, - 65, 0, 0, 0, 4, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 128, 63, 56, 0, - 0, 7, 114, 0, 16, 0, - 19, 0, 0, 0, 246, 15, - 16, 0, 7, 0, 0, 0, - 70, 2, 16, 0, 19, 0, - 0, 0, 0, 0, 0, 8, - 130, 0, 16, 0, 6, 0, - 0, 0, 58, 0, 16, 128, - 65, 0, 0, 0, 4, 0, - 0, 0, 58, 0, 16, 0, - 6, 0, 0, 0, 14, 0, - 0, 7, 114, 0, 16, 0, - 19, 0, 0, 0, 70, 2, - 16, 0, 19, 0, 0, 0, - 246, 15, 16, 0, 6, 0, - 0, 0, 0, 0, 0, 7, - 114, 0, 16, 0, 19, 0, - 0, 0, 246, 15, 16, 0, - 4, 0, 0, 0, 70, 2, - 16, 0, 19, 0, 0, 0, - 55, 0, 0, 9, 114, 0, - 16, 0, 17, 0, 0, 0, - 246, 15, 16, 0, 5, 0, - 0, 0, 70, 2, 16, 0, - 19, 0, 0, 0, 70, 2, - 16, 0, 17, 0, 0, 0, - 32, 0, 0, 11, 50, 0, - 16, 0, 19, 0, 0, 0, - 2, 64, 0, 0, 13, 0, - 0, 0, 14, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 166, 138, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 8, - 130, 0, 16, 0, 2, 0, - 0, 0, 58, 0, 16, 128, - 65, 0, 0, 0, 2, 0, - 0, 0, 58, 0, 16, 0, - 3, 0, 0, 0, 0, 0, - 0, 7, 114, 0, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 246, 15, 16, 0, 2, 0, - 0, 0, 16, 0, 0, 10, - 130, 0, 16, 0, 2, 0, - 0, 0, 2, 64, 0, 0, - 154, 153, 153, 62, 61, 10, - 23, 63, 174, 71, 225, 61, - 0, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 51, 0, 0, 7, 130, 0, - 16, 0, 3, 0, 0, 0, - 26, 0, 16, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 51, 0, - 0, 7, 130, 0, 16, 0, - 3, 0, 0, 0, 42, 0, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 3, 0, - 0, 0, 52, 0, 0, 7, - 130, 0, 16, 0, 4, 0, - 0, 0, 26, 0, 16, 0, - 0, 0, 0, 0, 10, 0, - 16, 0, 0, 0, 0, 0, - 52, 0, 0, 7, 130, 0, - 16, 0, 4, 0, 0, 0, - 42, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 4, 0, 0, 0, 49, 0, - 0, 7, 130, 0, 16, 0, - 5, 0, 0, 0, 58, 0, - 16, 0, 3, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 8, - 114, 0, 16, 0, 20, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 246, 15, - 16, 128, 65, 0, 0, 0, - 2, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 20, 0, 0, 0, 246, 15, - 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 20, 0, - 0, 0, 0, 0, 0, 8, - 130, 0, 16, 0, 3, 0, - 0, 0, 58, 0, 16, 0, - 2, 0, 0, 0, 58, 0, - 16, 128, 65, 0, 0, 0, - 3, 0, 0, 0, 14, 0, - 0, 7, 114, 0, 16, 0, - 20, 0, 0, 0, 70, 2, - 16, 0, 20, 0, 0, 0, - 246, 15, 16, 0, 3, 0, - 0, 0, 0, 0, 0, 7, - 114, 0, 16, 0, 20, 0, - 0, 0, 246, 15, 16, 0, - 2, 0, 0, 0, 70, 2, - 16, 0, 20, 0, 0, 0, - 55, 0, 0, 9, 114, 0, - 16, 0, 0, 0, 0, 0, - 246, 15, 16, 0, 5, 0, - 0, 0, 70, 2, 16, 0, - 20, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 49, 0, 0, 7, 130, 0, - 16, 0, 3, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 128, 63, 58, 0, 16, 0, - 4, 0, 0, 0, 0, 0, - 0, 8, 114, 0, 16, 0, - 20, 0, 0, 0, 246, 15, - 16, 128, 65, 0, 0, 0, - 2, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 0, 0, 0, 8, 130, 0, - 16, 0, 5, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 2, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 128, 63, 56, 0, 0, 7, - 114, 0, 16, 0, 20, 0, - 0, 0, 246, 15, 16, 0, - 5, 0, 0, 0, 70, 2, - 16, 0, 20, 0, 0, 0, - 0, 0, 0, 8, 130, 0, - 16, 0, 4, 0, 0, 0, - 58, 0, 16, 128, 65, 0, - 0, 0, 2, 0, 0, 0, - 58, 0, 16, 0, 4, 0, - 0, 0, 14, 0, 0, 7, - 114, 0, 16, 0, 20, 0, - 0, 0, 70, 2, 16, 0, - 20, 0, 0, 0, 246, 15, - 16, 0, 4, 0, 0, 0, - 0, 0, 0, 7, 114, 0, - 16, 0, 20, 0, 0, 0, - 246, 15, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 0, - 20, 0, 0, 0, 55, 0, - 0, 9, 114, 0, 16, 0, - 0, 0, 0, 0, 246, 15, - 16, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 20, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 1, 0, - 0, 7, 114, 0, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 86, 5, 16, 0, 19, 0, - 0, 0, 55, 0, 0, 9, - 114, 0, 16, 0, 0, 0, - 0, 0, 6, 0, 16, 0, - 19, 0, 0, 0, 70, 2, - 16, 0, 17, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 55, 0, 0, 9, - 114, 0, 16, 0, 0, 0, - 0, 0, 246, 15, 16, 0, - 14, 0, 0, 0, 70, 2, - 16, 0, 16, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 55, 0, 0, 9, - 114, 0, 16, 0, 0, 0, - 0, 0, 166, 10, 16, 0, - 14, 0, 0, 0, 70, 2, - 16, 0, 13, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 55, 0, 0, 9, - 114, 0, 16, 0, 0, 0, - 0, 0, 86, 5, 16, 0, - 14, 0, 0, 0, 70, 2, - 16, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 55, 0, 0, 10, - 114, 0, 16, 0, 0, 0, - 0, 0, 6, 0, 16, 0, - 14, 0, 0, 0, 70, 2, - 16, 128, 129, 0, 0, 0, - 10, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 55, 0, 0, 9, 114, 0, - 16, 0, 0, 0, 0, 0, - 246, 15, 16, 0, 9, 0, - 0, 0, 70, 2, 16, 0, - 18, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 55, 0, 0, 9, 114, 0, - 16, 0, 0, 0, 0, 0, - 166, 10, 16, 0, 9, 0, - 0, 0, 70, 2, 16, 0, - 6, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 55, 0, 0, 9, 114, 0, - 16, 0, 0, 0, 0, 0, - 86, 5, 16, 0, 9, 0, - 0, 0, 70, 2, 16, 0, - 15, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 55, 0, 0, 9, 114, 0, - 16, 0, 0, 0, 0, 0, - 6, 0, 16, 0, 9, 0, - 0, 0, 70, 2, 16, 0, - 12, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 55, 0, 0, 9, 114, 0, - 16, 0, 0, 0, 0, 0, - 246, 15, 16, 0, 8, 0, - 0, 0, 70, 2, 16, 0, - 11, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 55, 0, 0, 9, 114, 0, - 16, 0, 0, 0, 0, 0, - 166, 10, 16, 0, 8, 0, - 0, 0, 70, 2, 16, 0, - 7, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 55, 0, 0, 9, 114, 0, - 16, 0, 0, 0, 0, 0, - 86, 5, 16, 0, 8, 0, - 0, 0, 70, 2, 16, 0, - 5, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 55, 0, 0, 9, 114, 0, - 16, 0, 0, 0, 0, 0, - 6, 0, 16, 0, 8, 0, - 0, 0, 70, 2, 16, 0, - 4, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 55, 0, 0, 10, 114, 0, - 16, 0, 0, 0, 0, 0, - 166, 138, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 0, 0, - 0, 8, 18, 0, 16, 0, - 2, 0, 0, 0, 58, 0, - 16, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 128, 63, - 56, 0, 0, 7, 114, 0, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 50, 0, - 0, 9, 114, 0, 16, 0, - 0, 0, 0, 0, 6, 0, - 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 7, 114, 32, 16, 0, - 0, 0, 0, 0, 246, 15, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 54, 0, 0, 5, - 130, 32, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 1, 0, 0, 0, 62, 0, - 0, 1, 83, 84, 65, 84, - 116, 0, 0, 0, 83, 1, - 0, 0, 22, 0, 0, 0, - 0, 0, 0, 0, 4, 0, - 0, 0, 197, 0, 0, 0, - 9, 0, 0, 0, 13, 0, - 0, 0, 13, 0, 0, 0, - 10, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 24, 0, 0, 0, - 45, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 82, 68, 69, 70, 112, 3, - 0, 0, 1, 0, 0, 0, - 80, 1, 0, 0, 8, 0, - 0, 0, 28, 0, 0, 0, - 0, 4, 255, 255, 0, 1, - 0, 0, 60, 3, 0, 0, - 28, 1, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 1, 0, - 0, 0, 37, 1, 0, 0, - 2, 0, 0, 0, 5, 0, - 0, 0, 4, 0, 0, 0, - 255, 255, 255, 255, 0, 0, - 0, 0, 1, 0, 0, 0, - 13, 0, 0, 0, 42, 1, - 0, 0, 2, 0, 0, 0, - 5, 0, 0, 0, 4, 0, - 0, 0, 255, 255, 255, 255, - 1, 0, 0, 0, 1, 0, - 0, 0, 13, 0, 0, 0, - 45, 1, 0, 0, 2, 0, - 0, 0, 5, 0, 0, 0, - 4, 0, 0, 0, 255, 255, - 255, 255, 2, 0, 0, 0, - 1, 0, 0, 0, 13, 0, - 0, 0, 49, 1, 0, 0, - 2, 0, 0, 0, 5, 0, - 0, 0, 4, 0, 0, 0, - 255, 255, 255, 255, 3, 0, - 0, 0, 1, 0, 0, 0, - 13, 0, 0, 0, 53, 1, - 0, 0, 2, 0, 0, 0, - 5, 0, 0, 0, 4, 0, - 0, 0, 255, 255, 255, 255, - 5, 0, 0, 0, 1, 0, - 0, 0, 13, 0, 0, 0, - 59, 1, 0, 0, 2, 0, - 0, 0, 5, 0, 0, 0, - 4, 0, 0, 0, 255, 255, - 255, 255, 6, 0, 0, 0, - 1, 0, 0, 0, 13, 0, - 0, 0, 69, 1, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 115, 83, - 97, 109, 112, 108, 101, 114, - 0, 116, 82, 71, 66, 0, - 116, 89, 0, 116, 67, 98, - 0, 116, 67, 114, 0, 116, - 77, 97, 115, 107, 0, 116, - 66, 97, 99, 107, 100, 114, - 111, 112, 0, 36, 71, 108, - 111, 98, 97, 108, 115, 0, - 171, 171, 69, 1, 0, 0, - 10, 0, 0, 0, 104, 1, - 0, 0, 48, 1, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 88, 2, 0, 0, - 0, 0, 0, 0, 16, 0, - 0, 0, 2, 0, 0, 0, - 100, 2, 0, 0, 0, 0, - 0, 0, 116, 2, 0, 0, - 16, 0, 0, 0, 4, 0, - 0, 0, 2, 0, 0, 0, - 132, 2, 0, 0, 0, 0, - 0, 0, 148, 2, 0, 0, - 32, 0, 0, 0, 16, 0, - 0, 0, 2, 0, 0, 0, - 164, 2, 0, 0, 0, 0, - 0, 0, 180, 2, 0, 0, - 48, 0, 0, 0, 64, 0, - 0, 0, 0, 0, 0, 0, - 196, 2, 0, 0, 0, 0, - 0, 0, 212, 2, 0, 0, - 112, 0, 0, 0, 64, 0, - 0, 0, 0, 0, 0, 0, - 196, 2, 0, 0, 0, 0, - 0, 0, 224, 2, 0, 0, - 176, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 100, 2, 0, 0, 0, 0, - 0, 0, 244, 2, 0, 0, - 192, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 4, 3, 0, 0, 0, 0, - 0, 0, 20, 3, 0, 0, - 208, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 4, 3, 0, 0, 0, 0, - 0, 0, 31, 3, 0, 0, - 224, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 4, 3, 0, 0, 0, 0, - 0, 0, 41, 3, 0, 0, - 240, 0, 0, 0, 64, 0, - 0, 0, 0, 0, 0, 0, - 196, 2, 0, 0, 0, 0, - 0, 0, 102, 76, 97, 121, - 101, 114, 67, 111, 108, 111, - 114, 0, 1, 0, 3, 0, - 1, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 102, 76, 97, 121, 101, 114, - 79, 112, 97, 99, 105, 116, - 121, 0, 171, 171, 0, 0, - 3, 0, 1, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 105, 66, 108, 101, - 110, 100, 67, 111, 110, 102, - 105, 103, 0, 171, 171, 171, - 1, 0, 19, 0, 1, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 109, 76, - 97, 121, 101, 114, 84, 114, - 97, 110, 115, 102, 111, 114, - 109, 0, 3, 0, 3, 0, - 4, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 109, 80, 114, 111, 106, 101, - 99, 116, 105, 111, 110, 0, - 118, 82, 101, 110, 100, 101, - 114, 84, 97, 114, 103, 101, - 116, 79, 102, 102, 115, 101, - 116, 0, 118, 84, 101, 120, - 116, 117, 114, 101, 67, 111, - 111, 114, 100, 115, 0, 171, - 1, 0, 3, 0, 1, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 118, 76, - 97, 121, 101, 114, 81, 117, - 97, 100, 0, 118, 77, 97, - 115, 107, 81, 117, 97, 100, - 0, 109, 66, 97, 99, 107, - 100, 114, 111, 112, 84, 114, - 97, 110, 115, 102, 111, 114, - 109, 0, 77, 105, 99, 114, - 111, 115, 111, 102, 116, 32, - 40, 82, 41, 32, 72, 76, - 83, 76, 32, 83, 104, 97, - 100, 101, 114, 32, 67, 111, - 109, 112, 105, 108, 101, 114, - 32, 49, 48, 46, 48, 46, - 49, 48, 48, 49, 49, 46, - 49, 54, 51, 56, 52, 0, - 73, 83, 71, 78, 128, 0, - 0, 0, 4, 0, 0, 0, - 8, 0, 0, 0, 104, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 116, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 3, 3, 0, 0, 116, 0, - 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 12, 12, 0, 0, 116, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 2, 0, 0, 0, - 7, 7, 0, 0, 83, 86, - 95, 80, 111, 115, 105, 116, - 105, 111, 110, 0, 84, 69, - 88, 67, 79, 79, 82, 68, - 0, 171, 171, 171, 79, 83, - 71, 78, 44, 0, 0, 0, - 1, 0, 0, 0, 8, 0, - 0, 0, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 83, 86, 95, 84, - 97, 114, 103, 101, 116, 0, - 171, 171 -}; +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer $Globals +// { +// +// float4 fLayerColor; // Offset: 0 Size: 16 +// float fLayerOpacity; // Offset: 16 Size: 4 +// uint4 iBlendConfig; // Offset: 32 Size: 16 +// row_major float3x3 mYuvColorMatrix;// Offset: 48 Size: 44 +// float4x4 mLayerTransform; // Offset: 96 Size: 64 [unused] +// float4x4 mProjection; // Offset: 160 Size: 64 [unused] +// float4 vRenderTargetOffset; // Offset: 224 Size: 16 [unused] +// float4 vTextureCoords; // Offset: 240 Size: 16 [unused] +// float4 vLayerQuad; // Offset: 256 Size: 16 [unused] +// float4 vMaskQuad; // Offset: 272 Size: 16 [unused] +// float4x4 mBackdropTransform; // Offset: 288 Size: 64 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim HLSL Bind Count +// ------------------------------ ---------- ------- ----------- -------------- ------ +// sSampler sampler NA NA s0 1 +// tRGB texture float4 2d t0 1 +// tY texture float4 2d t1 1 +// tCb texture float4 2d t2 1 +// tCr texture float4 2d t3 1 +// tMask texture float4 2d t5 1 +// tBackdrop texture float4 2d t6 1 +// $Globals cbuffer NA NA cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Position 0 xyzw 0 POS float +// TEXCOORD 0 xy 1 NONE float xy +// TEXCOORD 2 zw 1 NONE float zw +// TEXCOORD 1 xyz 2 NONE float xyz +// +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// SV_Target 0 xyzw 0 TARGET float xyzw +// +// +// Constant buffer to DX9 shader constant mappings: +// +// Target Reg Buffer Start Reg # of Regs Data Conversion +// ---------- ------- --------- --------- ---------------------- +// c0 cb0 0 2 ( FLT, FLT, FLT, FLT) +// c2 cb0 2 1 (UINT,UINT,UINT,UINT) +// c3 cb0 3 3 ( FLT, FLT, FLT, FLT) +// +// +// Sampler/Resource to DX9 shader sampler mappings: +// +// Target Sampler Source Sampler Source Resource +// -------------- --------------- ---------------- +// s0 s0 t0 +// s1 s0 t1 +// s2 s0 t2 +// s3 s0 t3 +// s4 s0 t5 +// s5 s0 t6 +// +// +// Level9 shader bytecode: +// + ps_2_x + def c6, -1, -2, -0.0627499968, -0.50195998 + def c7, -2, -3, -4, -5 + def c8, -6, -7, -8, -9 + def c9, 0.5, 1, 0.25, -2 + def c10, 16, -12, -14, 0 + def c11, -10, -11, -12, -13 + def c12, 0.300000012, 0.589999974, 0.109999999, 0 + def c13, -1, -0, 0, 1 + dcl t0 + dcl t1.xyz + dcl_2d s0 + dcl_2d s1 + dcl_2d s2 + dcl_2d s3 + dcl_2d s4 + dcl_2d s5 + mov r0.x, c13.z + mov r1.x, c13.z + mov r2.z, c13.z + mov r3.w, -c6.x + texld r4, t0, s2 + texld r5, t0, s1 + add r5.x, r5.x, c6.z + add r5.y, r4.x, c6.w + rcp r0.w, t1.z + mul r4.xy, r0.w, t1 + texld r6, t0, s3 + texld r4, r4, s4 + add r5.z, r6.x, c6.w + dp3 r3.x, c3, r5 + dp3 r3.y, c4, r5 + dp3 r3.z, c5, r5 + mul r3, r3, c1.x + mul r5, r4.x, r3 + mov r6.xy, t0.wzzw + texld r7, t0, s0 + texld r6, r6, s5 + mul r7, r7, c1.x + mul r8, r4.x, r7 + mov r9.xy, c6 + add r10, r9.xyxx, c2.xxyz + mul r10, r10, r10 + cmp r5, -r10.x, r8, r5 + cmp r3, -r10.x, r7, r3 + mov r7.w, c1.x + mul r8, r4.x, r7 + cmp r3, -c2.x, r7, r3 + mul r4, r4.x, c0 + cmp r5, -c2.x, r8, r5 + cmp r7.xy, -r10.yzzw, c13.x, c13.y + cmp r0.w, -r10.x, c6.x, r7.x + cmp r1.w, -c2.y, r9.x, r7.y + cmp r0.w, -c2.x, r9.x, r0.w + cmp r4, r0.w, r4, r5 + cmp r3, r0.w, c0, r3 + cmp r3, -c2.y, r3, r4 + cmp r3, r1.w, c13.zzzw, r3 + rcp r0.w, r3.w + mul r4.xyz, r0.w, r3 + cmp r4.xyz, -c2.w, r3, r4 + add r5.xy, -r4.yzzw, r4 + cmp r5.zw, r5.x, r4.xyxy, r4.xyyx + max r0.w, r5.z, r4.z + min r1.w, r4.z, r5.w + add r7.w, r0.w, -r1.w + rcp r0.w, r6.w + mul r8.xyz, r0.w, r6 + mad r5.zw, r6.xyzy, r0.w, -r8.xyxz + mul r9.xy, r7.w, r5.zwzw + mad r11, r6.yxxz, r0.w, -r8.xzyy + rcp r1.w, r11.x + mul r7.y, r1.w, r9.x + cmp r1.yz, r11.z, c13.z, r7.xwyw + mul r12, r7.w, r11 + rcp r1.w, r5.w + mul r7.x, r1.w, r12.y + cmp r2.xy, r11.w, c13.z, r7.xwzw + cmp r1.xyz, r5.z, r1, r2 + rcp r1.w, r5.z + mul r7.z, r1.w, r12.x + cmp r0.yz, r11.y, c13.z, r7.xzww + cmp r0.xyz, r11.w, r0, r1 + mov r1.y, c13.z + mov r2.y, c13.z + mov r10.z, c13.z + rcp r1.w, r11.z + mul r7.y, r1.w, r12.w + cmp r2.xz, r11.x, c13.z, r7.wyyw + rcp r1.w, r11.y + mul r7.x, r1.w, r9.y + cmp r10.xy, r5.z, c13.z, r7.wxzw + cmp r2.xyz, r11.w, r2, r10 + rcp r1.w, r11.w + mul r7.z, r1.w, r12.z + cmp r1.xz, r5.w, c13.z, r7.zyww + cmp r1.xyz, r5.z, r1, r2 + cmp r0.xyz, r11.x, r0, r1 + cmp r1.xy, r11.z, r8, r8.yxzw + dp3 r4.w, c12, r0 + dp3 r8.w, c12, r8 + add r4.w, -r4.w, r8.w + add r0.xyz, r0, r4.w + add r4.w, -r0.y, r0.x + cmp r1.zw, r4.w, r0.xyyx, r0.xyxy + min r4.w, r0.z, r1.z + max r2.x, r1.w, r0.z + dp3 r1.z, c12, r0 + add r1.w, -r4.w, r1.z + rcp r1.w, r1.w + add r2.yzw, r0.xxyz, -r1.z + mul r2.yzw, r1.z, r2 + mad r2.yzw, r2, r1.w, r1.z + cmp r0.xyz, r4.w, r0, r2.yzww + add r2.yzw, -r1.z, r0.xxyz + add r1.w, -r1.z, -c6.x + mul r2.yzw, r1.w, r2 + add r1.w, -r1.z, r2.x + add r4.w, -r2.x, -c6.x + rcp r1.w, r1.w + mad r2.xyz, r2.yzww, r1.w, r1.z + cmp r0.xyz, r4.w, r0, r2 + mov r4.w, c2.z + add r1.z, r4.w, c10.z + mul r1.z, r1.z, r1.z + dp3 r1.w, c12, r4 + add r2.x, -r8.w, r1.w + add r1.w, -r1.w, r8.w + add r2.yzw, r1.w, r4.xxyz + mad r7.xyz, r6, r0.w, r2.x + add r1.w, -r7.y, r7.x + cmp r5.zw, r1.w, r7.xyyx, r7.xyxy + min r1.w, r7.z, r5.z + max r2.x, r5.w, r7.z + dp3 r7.w, c12, r7 + add r5.z, -r1.w, r7.w + rcp r5.z, r5.z + add r9.xyz, -r7.w, r7 + mul r9.xyz, r7.w, r9 + mad r9.xyz, r9, r5.z, r7.w + cmp r7.xyz, r1.w, r7, r9 + add r9.xyz, -r7.w, r7 + add r1.w, -r7.w, -c6.x + mul r9.xyz, r1.w, r9 + add r1.w, r2.x, -r7.w + add r9.w, -r2.x, -c6.x + rcp r1.w, r1.w + mad r9.xyz, r9, r1.w, r7.w + cmp r7.xyz, r9.w, r7, r9 + cmp r7.xyz, -r1.z, r7, c13.z + add r7.w, -r2.z, r2.y + cmp r1.zw, r7.w, r2.xyzy, r2.xyyz + min r7.w, r2.w, r1.z + max r5.z, r1.w, r2.w + dp3 r5.w, c12, r2.yzww + add r1.z, -r7.w, r5.w + rcp r1.z, r1.z + add r9.xyz, r2.yzww, -r5.w + mul r9.xyz, r5.w, r9 + mad r9.xyz, r9, r1.z, r5.w + cmp r2.xyz, r7.w, r2.yzww, r9 + add r9.xyz, -r5.w, r2 + add r2.w, -r5.w, -c6.x + mul r9.xyz, r2.w, r9 + add r2.w, -r5.w, r5.z + add r7.w, -r5.z, -c6.x + rcp r2.w, r2.w + mad r9.xyz, r9, r2.w, r5.w + cmp r2.xyz, r7.w, r2, r9 + add r9, r4.w, c11 + mul r9, r9, r9 + cmp r2.xyz, -r9.w, r2, r7 + cmp r0.xyz, -r9.z, r0, r2 + add r2, -r4.xxzy, r4.yzxz + mov r7.y, c13.z + mov r10.y, c13.z + mov r11.z, c13.z + rcp r7.w, r2.z + max r11.w, r1.x, r8.z + min r5.z, r8.z, r1.y + add r1.w, -r5.z, r11.w + mul r5.zw, r1.w, r5.xyxy + mul r1.x, r7.w, r5.w + cmp r11.xy, r2.y, c13.z, r1.wxzw + rcp r5.w, r5.x + mul r12, r1.w, r2 + mul r1.y, r5.w, r12.w + cmp r10.xz, r2.x, c13.z, r1.wyyw + cmp r10.xyz, r2.w, r10, r11 + rcp r5.w, r2.w + mul r1.z, r5.w, r5.z + cmp r7.xz, r5.y, c13.z, r1.zyww + cmp r7.xyz, r2.y, r7, r10 + mov r10.x, c13.z + mov r11.x, c13.z + mov r13.z, c13.z + rcp r7.w, r2.x + mul r1.y, r7.w, r12.y + cmp r11.yz, r5.x, c13.z, r1.xwyw + rcp r7.w, r5.y + mul r1.x, r7.w, r12.z + cmp r13.xy, r2.w, c13.z, r1.xwzw + cmp r5.xyz, r2.y, r11, r13 + rcp r5.w, r2.y + mul r1.z, r5.w, r12.x + cmp r10.yz, r2.z, c13.z, r1.xzww + cmp r1.xyz, r2.w, r10, r5 + cmp r1.xyz, r2.x, r1, r7 + dp3 r1.w, c12, r1 + add r1.w, -r1.w, r8.w + add r1.xyz, r1.w, r1 + add r1.w, -r1.y, r1.x + cmp r2.xy, r1.w, r1.yxzw, r1 + min r8.w, r1.z, r2.x + max r5.x, r2.y, r1.z + dp3 r1.w, c12, r1 + add r2.x, -r8.w, r1.w + rcp r2.x, r2.x + add r2.yzw, -r1.w, r1.xxyz + mul r2.yzw, r1.w, r2 + mad r2.xyz, r2.yzww, r2.x, r1.w + cmp r1.xyz, r8.w, r1, r2 + add r2.xyz, -r1.w, r1 + add r2.w, -r1.w, -c6.x + mul r2.xyz, r2.w, r2 + add r2.w, -r1.w, r5.x + add r8.w, -r5.x, -c6.x + rcp r2.w, r2.w + mad r2.xyz, r2, r2.w, r1.w + cmp r1.xyz, r8.w, r1, r2 + cmp r0.xyz, -r9.y, r1, r0 + mad r1.xyz, r6, r0.w, r4 + mul r2.xyz, r4, r8 + mad r5.xyz, r2, c6.y, r1 + mad r1.xyz, r8, -r4, r1 + cmp r0.xyz, -r9.x, r5, r0 + mad r5.xyz, r6, r0.w, -r4 + abs r5.xyz, r5 + add r7, r4.w, c8 + mul r7, r7, r7 + cmp r0.xyz, -r7.w, r5, r0 + add r5.xy, -r4.yzzw, c9.x + mad r9.xyz, r4, -c9.w, -c9.y + mad r1.w, r6.z, -r0.w, c9.z + mad r10.xyz, r8, c10.x, c10.y + mad r10.xyz, r10, r8, -c7.z + mul r10.xyz, r8, r10 + rsq r2.w, r8.z + rcp r2.w, r2.w + cmp r1.w, r1.w, r10.z, r2.w + mad r1.w, r6.z, -r0.w, r1.w + mad r1.w, r9.z, r1.w, r8.z + mad r11.xyz, r4, c6.y, -c6.x + mul r11.xyz, r8, r11 + mad r12, r6.yzxy, -r0.w, c9.yyzz + mad r5.zw, r11.xyyz, -r12.xyxy, r8.xyyz + cmp r13.z, r5.y, r5.w, r1.w + rsq r1.w, r8.y + rcp r1.w, r1.w + cmp r1.w, r12.w, r10.y, r1.w + mad r1.w, r6.y, -r0.w, r1.w + mad r1.w, r9.y, r1.w, r8.y + cmp r13.y, r5.x, r5.z, r1.w + add r14, -r4.xyzx, c9.yyyx + rsq r1.w, r8.x + rcp r1.w, r1.w + cmp r1.w, r12.z, r10.x, r1.w + mad r1.w, r6.x, -r0.w, r1.w + mad r1.w, r9.x, r1.w, r8.x + mad r9, r6.xyzx, -r0.w, c9.xxxy + mad r6.xyz, r6, r0.w, c6.x + mul r6.xyz, r6, r6 + mad r0.w, r11.x, -r9.w, r8.x + cmp r13.x, r14.w, r0.w, r1.w + cmp r0.xyz, -r7.z, r13, r0 + add r10.xyz, r8, r8 + mad r11.xyz, r4, -c6.y, r10 + add r11.xyz, r11, c6.x + mad r13.xyz, r4, -r10, r11 + mul r10.xyz, r4, r10 + add r15.xyz, r4, r4 + mul r16.xyz, r8, r15 + mad r11.xyz, r15, -r8, r11 + cmp r9.xyz, r9, r10, r11 + cmp r5.yz, r5.xxyw, r16, r13 + cmp r5.x, r14.w, r16.x, r13.x + cmp r0.xyz, -r7.y, r5, r0 + rcp r0.w, r4.x + mad r0.w, r9.w, -r0.w, -c6.x + max r1.w, r0.w, c13.z + mul r5.xyz, r4, r4 + cmp r0.w, -r5.x, c13.z, r1.w + cmp r10.x, -r6.x, -c6.x, r0.w + rcp r0.w, r4.y + mad r0.w, r12.x, -r0.w, -c6.x + max r1.w, r0.w, c13.z + cmp r0.w, -r5.y, c13.z, r1.w + cmp r10.y, -r6.y, -c6.x, r0.w + rcp r0.w, r4.z + mad r0.w, r12.y, -r0.w, -c6.x + max r1.w, r0.w, c13.z + cmp r0.w, -r5.z, c13.z, r1.w + cmp r10.z, -r6.z, -c6.x, r0.w + cmp r0.xyz, -r7.x, r10, r0 + add r5, r4.w, c7 + mul r5, r5, r5 + add r6.xyz, r4, c6.x + mul r6.xyz, r6, r6 + rcp r0.w, r14.x + mul r0.w, r0.w, r8.x + min r1.w, r0.w, -c6.x + cmp r0.w, -r6.x, -c6.x, r1.w + mul r7.xyz, r8, r8 + cmp r10.x, -r7.x, c13.z, r0.w + rcp r0.w, r14.y + rcp r1.w, r14.z + mul r1.w, r1.w, r8.z + min r2.w, r1.w, -c6.x + cmp r1.w, -r6.z, -c6.x, r2.w + cmp r10.z, -r7.z, c13.z, r1.w + mul r0.w, r0.w, r8.y + min r1.w, r0.w, -c6.x + cmp r0.w, -r6.y, -c6.x, r1.w + cmp r10.y, -r7.y, c13.z, r0.w + cmp r0.xyz, -r5.w, r10, r0 + max r6.xyz, r8, r4 + min r7.xyz, r4, r8 + cmp r0.xyz, -r5.z, r6, r0 + cmp r0.xyz, -r5.y, r7, r0 + cmp r0.xyz, -r5.x, r9, r0 + cmp r0.xyz, -r10.w, r1, r0 + cmp r0.xyz, -c2.z, r2, r0 + lrp r1.xyz, r6.w, r0, r4 + mul r1.w, r6.w, r6.w + mul r0.xyz, r3.w, r1 + mul r1.x, r3.w, r3.w + mov r0.w, r3.w + cmp r0, -r1.x, c13.z, r0 + cmp r0, -r1.w, r3, r0 + mov oC0, r0 + +// approximately 323 instruction slots used (6 texture, 317 arithmetic) +ps_4_0 +dcl_constantbuffer CB0[6], immediateIndexed +dcl_sampler s0, mode_default +dcl_resource_texture2d (float,float,float,float) t0 +dcl_resource_texture2d (float,float,float,float) t1 +dcl_resource_texture2d (float,float,float,float) t2 +dcl_resource_texture2d (float,float,float,float) t3 +dcl_resource_texture2d (float,float,float,float) t5 +dcl_resource_texture2d (float,float,float,float) t6 +dcl_input_ps linear v1.xy +dcl_input_ps linear v1.zw +dcl_input_ps linear v2.xyz +dcl_output o0.xyzw +dcl_temps 22 +sample r0.xyzw, v1.zwzz, t6.xyzw, s0 +if_z cb0[2].y + if_z cb0[2].x + sample r1.xyzw, v1.xyxx, t0.xyzw, s0 + mul r1.xyz, r1.xyzx, cb0[1].xxxx + mov r1.w, cb0[1].x + mov r2.x, l(-1) + else + ieq r2.y, l(1), cb0[2].x + if_nz r2.y + sample r3.xyzw, v1.xyxx, t0.xyzw, s0 + mul r1.xyzw, r3.xyzw, cb0[1].xxxx + mov r2.x, l(-1) + else + ieq r2.x, l(2), cb0[2].x + if_nz r2.x + sample r3.xyzw, v1.xyxx, t1.xyzw, s0 + add r3.x, r3.x, l(-0.062750) + sample r4.xyzw, v1.xyxx, t2.xyzw, s0 + add r3.y, r4.x, l(-0.501960) + sample r4.xyzw, v1.xyxx, t3.xyzw, s0 + add r3.z, r4.x, l(-0.501960) + dp3 r4.x, cb0[3].xyzx, r3.xyzx + dp3 r4.y, cb0[4].xyzx, r3.xyzx + dp3 r4.z, cb0[5].xyzx, r3.xyzx + mov r4.w, l(1.000000) + mul r1.xyzw, r4.xyzw, cb0[1].xxxx + endif + endif + endif + movc r1.xyzw, r2.xxxx, r1.xyzw, cb0[0].xyzw + mov r2.x, l(-1) +else + ieq r2.x, l(1), cb0[2].y + if_nz r2.x + if_z cb0[2].x + sample r3.xyzw, v1.xyxx, t0.xyzw, s0 + mul r3.xyz, r3.xyzx, cb0[1].xxxx + div r2.yz, v2.xxyx, v2.zzzz + sample r4.xyzw, r2.yzyy, t5.xyzw, s0 + mov r3.w, cb0[1].x + mul r1.xyzw, r3.xyzw, r4.xxxx + mov r2.y, l(-1) + else + ieq r2.z, l(1), cb0[2].x + if_nz r2.z + div r2.zw, v2.xxxy, v2.zzzz + sample r3.xyzw, r2.zwzz, t5.xyzw, s0 + sample r4.xyzw, v1.xyxx, t0.xyzw, s0 + mul r4.xyzw, r4.xyzw, cb0[1].xxxx + mul r1.xyzw, r3.xxxx, r4.xyzw + mov r2.y, l(-1) + else + ieq r2.y, l(2), cb0[2].x + if_nz r2.y + div r2.zw, v2.xxxy, v2.zzzz + sample r3.xyzw, r2.zwzz, t5.xyzw, s0 + sample r4.xyzw, v1.xyxx, t1.xyzw, s0 + add r4.x, r4.x, l(-0.062750) + sample r5.xyzw, v1.xyxx, t2.xyzw, s0 + add r4.y, r5.x, l(-0.501960) + sample r5.xyzw, v1.xyxx, t3.xyzw, s0 + add r4.z, r5.x, l(-0.501960) + dp3 r5.x, cb0[3].xyzx, r4.xyzx + dp3 r5.y, cb0[4].xyzx, r4.xyzx + dp3 r5.z, cb0[5].xyzx, r4.xyzx + mov r5.w, l(1.000000) + mul r4.xyzw, r5.xyzw, cb0[1].xxxx + mul r1.xyzw, r3.xxxx, r4.xyzw + endif + endif + endif + if_z r2.y + div r2.yz, v2.xxyx, v2.zzzz + sample r3.xyzw, r2.yzyy, t5.xyzw, s0 + mul r1.xyzw, r3.xxxx, cb0[0].xyzw + endif + endif +endif +movc r1.xyzw, r2.xxxx, r1.xyzw, l(0,0,0,1.000000) +eq r2.x, r0.w, l(0.000000) +if_nz r2.x + mov o0.xyzw, r1.xyzw + ret +endif +eq r2.x, r1.w, l(0.000000) +if_nz r2.x + mov o0.xyzw, l(0,0,0,0) + ret +endif +div r0.xyz, r0.xyzx, r0.wwww +div r2.xyz, r1.xyzx, r1.wwww +movc r1.xyz, cb0[2].wwww, r2.xyzx, r1.xyzx +mul r2.xyz, r0.xyzx, r1.xyzx +add r3.xyz, r0.xyzx, r1.xyzx +mad r4.xyz, -r0.xyzx, r1.xyzx, r3.xyzx +ge r5.xyzw, l(0.500000, 0.500000, 0.500000, 0.250000), r0.xyzx +add r6.xyz, r0.xyzx, r0.xyzx +mul r7.xyz, r1.xyzx, r6.xyzx +add r8.xyz, r1.xyzx, r1.xyzx +mad r9.xyz, r1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), r6.xyzx +add r9.xyz, r9.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000) +mul r10.xyz, r0.xyzx, r8.xyzx +mad r8.xyz, -r8.xyzx, r0.xyzx, r9.xyzx +movc r5.xyz, r5.xyzx, r7.xyzx, r8.xyzx +min r7.xyz, r0.xyzx, r1.xyzx +ieq r8.xyzw, l(1, 2, 3, 4), cb0[2].zzzz +max r11.xyz, r0.xyzx, r1.xyzx +eq r12.xyzw, r0.xyzx, l(0.000000, 0.000000, 0.000000, 1.000000) +eq r13.xyzw, r1.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000) +add r14.xyz, -r1.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000) +div r14.xyz, r0.xyzx, r14.xyzx +min r14.xyz, r14.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000) +movc r13.xyz, r13.xyzx, l(1.000000,1.000000,1.000000,0), r14.xyzx +movc r12.xyz, r12.xyzx, l(0,0,0,0), r13.xyzx +add r13.xyz, -r0.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000) +div r14.xyz, r13.xyzx, r1.xyzx +min r14.xyz, r14.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000) +add r14.xyz, -r14.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000) +movc r2.w, r13.w, l(0), r14.x +movc r15.x, r12.w, l(1.000000), r2.w +eq r14.xw, r0.yyyz, l(1.000000, 0.000000, 0.000000, 1.000000) +eq r16.xy, r1.yzyy, l(0.000000, 0.000000, 0.000000, 0.000000) +movc r14.yz, r16.xxyx, l(0,0,0,0), r14.yyzy +movc r15.yz, r14.xxwx, l(0,1.000000,1.000000,0), r14.yyzy +ge r14.xyz, l(0.500000, 0.500000, 0.500000, 0.000000), r1.xyzx +mad r6.xyz, -r1.xyzx, r6.xyzx, r9.xyzx +movc r6.xyz, r14.xyzx, r10.xyzx, r6.xyzx +ieq r9.xyzw, l(5, 6, 7, 8), cb0[2].zzzz +mad r10.xyz, -r1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(1.000000, 1.000000, 1.000000, 0.000000) +mul r10.xyz, r0.xyzx, r10.xyzx +mad r10.xyz, -r10.xyzx, r13.xyzx, r0.xyzx +mad r13.xyz, r1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000) +mad r16.xyz, r0.xyzx, l(16.000000, 16.000000, 16.000000, 0.000000), l(-12.000000, -12.000000, -12.000000, 0.000000) +mad r16.xyz, r16.xyzx, r0.xyzx, l(4.000000, 4.000000, 4.000000, 0.000000) +mul r16.xyz, r0.xyzx, r16.xyzx +sqrt r17.xyz, r0.xyzx +movc r2.w, r5.w, r16.x, r17.x +add r2.w, -r0.x, r2.w +mad r2.w, r13.x, r2.w, r0.x +movc r18.x, r14.x, r10.x, r2.w +ge r10.xw, l(0.250000, 0.000000, 0.000000, 0.250000), r0.yyyz +movc r10.xw, r10.xxxw, r16.yyyz, r17.yyyz +add r10.xw, -r0.yyyz, r10.xxxw +mad r10.xw, r13.yyyz, r10.xxxw, r0.yyyz +movc r18.yz, r14.yyzy, r10.yyzy, r10.xxwx +add r10.xyz, r0.xyzx, -r1.xyzx +mad r3.xyz, -r2.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), r3.xyzx +max r2.w, r0.y, r0.x +max r2.w, r0.z, r2.w +min r3.w, r0.y, r0.x +min r3.w, r0.z, r3.w +add r13.w, r2.w, -r3.w +ge r2.w, r1.y, r1.x +if_nz r2.w + lt r14.xyz, r1.xxzx, r1.zyyz + add r16.xyzw, -r1.xxzz, r1.yzxy + mul r17.xyz, r13.wwww, r16.xyzx + div r13.xyz, r17.xyzx, r16.yxwy + and r16.yz, r13.xxwx, r14.xxxx + ge r14.xw, r1.zzzz, r1.yyyx + and r17.yz, r13.wwyw, r14.yyyy + and r19.xy, r13.zwzz, r14.zzzz + mov r17.x, l(0) + mov r19.z, l(0) + movc r14.yzw, r14.wwww, r17.xxyz, r19.xxyz + mov r16.x, l(0) + movc r14.xyz, r14.xxxx, r16.xyzx, r14.yzwy +else + lt r16.xyz, r1.yyzy, r1.zxxz + add r17.xyzw, -r1.yyzz, r1.xzyx + mul r19.xyz, r13.wwww, r17.xyzx + div r13.xyz, r19.xyzx, r17.yxwy + and r17.xz, r13.xxwx, r16.xxxx + ge r16.xw, r1.zzzz, r1.xxxy + and r19.xz, r13.wwyw, r16.yyyy + and r13.xy, r13.wzww, r16.zzzz + mov r19.y, l(0) + mov r13.z, l(0) + movc r13.xyz, r16.wwww, r19.xyzx, r13.xyzx + mov r17.y, l(0) + movc r14.xyz, r16.xxxx, r17.xyzx, r13.xyzx +endif +dp3 r2.w, l(0.300000, 0.590000, 0.110000, 0.000000), r0.xyzx +dp3 r3.w, l(0.300000, 0.590000, 0.110000, 0.000000), r14.xyzx +add r3.w, r2.w, -r3.w +add r13.xyz, r3.wwww, r14.xyzx +dp3 r3.w, l(0.300000, 0.590000, 0.110000, 0.000000), r13.xyzx +min r4.w, r13.y, r13.x +min r4.w, r13.z, r4.w +max r5.w, r13.y, r13.x +max r5.w, r13.z, r5.w +lt r6.w, r4.w, l(0.000000) +add r14.xyz, -r3.wwww, r13.xyzx +mul r14.xyz, r3.wwww, r14.xyzx +add r4.w, r3.w, -r4.w +div r14.xyz, r14.xyzx, r4.wwww +add r14.xyz, r3.wwww, r14.xyzx +movc r13.xyz, r6.wwww, r14.xyzx, r13.xyzx +lt r4.w, l(1.000000), r5.w +add r14.xyz, -r3.wwww, r13.xyzx +add r6.w, -r3.w, l(1.000000) +mul r14.xyz, r6.wwww, r14.xyzx +add r5.w, -r3.w, r5.w +div r14.xyz, r14.xyzx, r5.wwww +add r14.xyz, r3.wwww, r14.xyzx +movc r13.xyz, r4.wwww, r14.xyzx, r13.xyzx +ieq r14.xyzw, l(9, 10, 11, 12), cb0[2].zzzz +max r3.w, r1.y, r1.x +max r3.w, r1.z, r3.w +min r4.w, r1.y, r1.x +min r4.w, r1.z, r4.w +add r16.w, r3.w, -r4.w +ge r3.w, r0.y, r0.x +if_nz r3.w + lt r17.xyz, r0.xxzx, r0.zyyz + add r19.xyzw, -r0.xxzz, r0.yzxy + mul r20.xyz, r16.wwww, r19.xyzx + div r16.xyz, r20.xyzx, r19.yxwy + and r19.yz, r16.xxwx, r17.xxxx + ge r17.xw, r0.zzzz, r0.yyyx + and r20.yz, r16.wwyw, r17.yyyy + and r21.xy, r16.zwzz, r17.zzzz + mov r20.x, l(0) + mov r21.z, l(0) + movc r17.yzw, r17.wwww, r20.xxyz, r21.xxyz + mov r19.x, l(0) + movc r17.xyz, r17.xxxx, r19.xyzx, r17.yzwy +else + lt r19.xyz, r0.yyzy, r0.zxxz + add r20.xyzw, -r0.yyzz, r0.xzyx + mul r21.xyz, r16.wwww, r20.xyzx + div r16.xyz, r21.xyzx, r20.yxwy + and r20.xz, r16.xxwx, r19.xxxx + ge r19.xw, r0.zzzz, r0.xxxy + and r21.xz, r16.wwyw, r19.yyyy + and r16.xy, r16.wzww, r19.zzzz + mov r21.y, l(0) + mov r16.z, l(0) + movc r16.xyz, r19.wwww, r21.xyzx, r16.xyzx + mov r20.y, l(0) + movc r17.xyz, r19.xxxx, r20.xyzx, r16.xyzx +endif +dp3 r3.w, l(0.300000, 0.590000, 0.110000, 0.000000), r17.xyzx +add r3.w, r2.w, -r3.w +add r16.xyz, r3.wwww, r17.xyzx +dp3 r3.w, l(0.300000, 0.590000, 0.110000, 0.000000), r16.xyzx +min r4.w, r16.y, r16.x +min r4.w, r16.z, r4.w +max r5.w, r16.y, r16.x +max r5.w, r16.z, r5.w +lt r6.w, r4.w, l(0.000000) +add r17.xyz, -r3.wwww, r16.xyzx +mul r17.xyz, r3.wwww, r17.xyzx +add r4.w, r3.w, -r4.w +div r17.xyz, r17.xyzx, r4.wwww +add r17.xyz, r3.wwww, r17.xyzx +movc r16.xyz, r6.wwww, r17.xyzx, r16.xyzx +lt r4.w, l(1.000000), r5.w +add r17.xyz, -r3.wwww, r16.xyzx +add r6.w, -r3.w, l(1.000000) +mul r17.xyz, r6.wwww, r17.xyzx +add r5.w, -r3.w, r5.w +div r17.xyz, r17.xyzx, r5.wwww +add r17.xyz, r3.wwww, r17.xyzx +movc r16.xyz, r4.wwww, r17.xyzx, r16.xyzx +dp3 r3.w, l(0.300000, 0.590000, 0.110000, 0.000000), r1.xyzx +add r4.w, r2.w, -r3.w +add r17.xyz, r1.xyzx, r4.wwww +dp3 r4.w, l(0.300000, 0.590000, 0.110000, 0.000000), r17.xyzx +min r5.w, r17.y, r17.x +min r5.w, r17.z, r5.w +max r6.w, r17.y, r17.x +max r6.w, r17.z, r6.w +lt r7.w, r5.w, l(0.000000) +add r19.xyz, -r4.wwww, r17.xyzx +mul r19.xyz, r4.wwww, r19.xyzx +add r5.w, r4.w, -r5.w +div r19.xyz, r19.xyzx, r5.wwww +add r19.xyz, r4.wwww, r19.xyzx +movc r17.xyz, r7.wwww, r19.xyzx, r17.xyzx +lt r5.w, l(1.000000), r6.w +add r19.xyz, -r4.wwww, r17.xyzx +add r7.w, -r4.w, l(1.000000) +mul r19.xyz, r7.wwww, r19.xyzx +add r6.w, -r4.w, r6.w +div r19.xyz, r19.xyzx, r6.wwww +add r19.xyz, r4.wwww, r19.xyzx +movc r17.xyz, r5.wwww, r19.xyzx, r17.xyzx +ieq r19.xy, l(13, 14, 0, 0), cb0[2].zzzz +add r2.w, -r2.w, r3.w +add r0.xyz, r0.xyzx, r2.wwww +dp3 r2.w, l(0.300000, 0.590000, 0.110000, 0.000000), r0.xyzx +min r3.w, r0.y, r0.x +min r3.w, r0.z, r3.w +max r4.w, r0.y, r0.x +max r4.w, r0.z, r4.w +lt r5.w, r3.w, l(0.000000) +add r20.xyz, r0.xyzx, -r2.wwww +mul r20.xyz, r2.wwww, r20.xyzx +add r3.w, r2.w, -r3.w +div r20.xyz, r20.xyzx, r3.wwww +add r20.xyz, r2.wwww, r20.xyzx +movc r0.xyz, r5.wwww, r20.xyzx, r0.xyzx +lt r3.w, l(1.000000), r4.w +add r20.xyz, -r2.wwww, r0.xyzx +add r5.w, -r2.w, l(1.000000) +mul r20.xyz, r5.wwww, r20.xyzx +add r4.w, -r2.w, r4.w +div r20.xyz, r20.xyzx, r4.wwww +add r20.xyz, r2.wwww, r20.xyzx +movc r0.xyz, r3.wwww, r20.xyzx, r0.xyzx +and r0.xyz, r0.xyzx, r19.yyyy +movc r0.xyz, r19.xxxx, r17.xyzx, r0.xyzx +movc r0.xyz, r14.wwww, r16.xyzx, r0.xyzx +movc r0.xyz, r14.zzzz, r13.xyzx, r0.xyzx +movc r0.xyz, r14.yyyy, r3.xyzx, r0.xyzx +movc r0.xyz, r14.xxxx, |r10.xyzx|, r0.xyzx +movc r0.xyz, r9.wwww, r18.xyzx, r0.xyzx +movc r0.xyz, r9.zzzz, r6.xyzx, r0.xyzx +movc r0.xyz, r9.yyyy, r15.xyzx, r0.xyzx +movc r0.xyz, r9.xxxx, r12.xyzx, r0.xyzx +movc r0.xyz, r8.wwww, r11.xyzx, r0.xyzx +movc r0.xyz, r8.zzzz, r7.xyzx, r0.xyzx +movc r0.xyz, r8.yyyy, r5.xyzx, r0.xyzx +movc r0.xyz, r8.xxxx, r4.xyzx, r0.xyzx +movc r0.xyz, cb0[2].zzzz, r0.xyzx, r2.xyzx +add r2.x, -r0.w, l(1.000000) +mul r0.xyz, r0.xyzx, r0.wwww +mad r0.xyz, r2.xxxx, r1.xyzx, r0.xyzx +mul o0.xyz, r1.wwww, r0.xyzx +mov o0.w, r1.w +ret +// Approximately 333 instruction slots used +#endif + +const BYTE BlendShader[] = +{ + 68, 88, 66, 67, 28, 114, + 244, 41, 206, 5, 116, 244, + 79, 130, 118, 154, 72, 188, + 36, 32, 1, 0, 0, 0, + 172, 66, 0, 0, 6, 0, + 0, 0, 56, 0, 0, 0, + 16, 23, 0, 0, 208, 61, + 0, 0, 76, 62, 0, 0, + 240, 65, 0, 0, 120, 66, + 0, 0, 65, 111, 110, 57, + 208, 22, 0, 0, 208, 22, + 0, 0, 0, 2, 255, 255, + 112, 22, 0, 0, 96, 0, + 0, 0, 3, 0, 60, 0, + 0, 0, 96, 0, 0, 0, + 96, 0, 6, 0, 36, 0, + 0, 0, 96, 0, 0, 0, + 0, 0, 1, 0, 1, 0, + 2, 0, 2, 0, 3, 0, + 3, 0, 5, 0, 4, 0, + 6, 0, 5, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 1, 0, 2, 0, + 3, 3, 3, 3, 0, 0, + 3, 0, 3, 0, 3, 0, + 0, 0, 0, 0, 1, 2, + 255, 255, 81, 0, 0, 5, + 6, 0, 15, 160, 0, 0, + 128, 191, 0, 0, 0, 192, + 18, 131, 128, 189, 115, 128, + 0, 191, 81, 0, 0, 5, + 7, 0, 15, 160, 0, 0, + 0, 192, 0, 0, 64, 192, + 0, 0, 128, 192, 0, 0, + 160, 192, 81, 0, 0, 5, + 8, 0, 15, 160, 0, 0, + 192, 192, 0, 0, 224, 192, + 0, 0, 0, 193, 0, 0, + 16, 193, 81, 0, 0, 5, + 9, 0, 15, 160, 0, 0, + 0, 63, 0, 0, 128, 63, + 0, 0, 128, 62, 0, 0, + 0, 192, 81, 0, 0, 5, + 10, 0, 15, 160, 0, 0, + 128, 65, 0, 0, 64, 193, + 0, 0, 96, 193, 0, 0, + 0, 0, 81, 0, 0, 5, + 11, 0, 15, 160, 0, 0, + 32, 193, 0, 0, 48, 193, + 0, 0, 64, 193, 0, 0, + 80, 193, 81, 0, 0, 5, + 12, 0, 15, 160, 154, 153, + 153, 62, 61, 10, 23, 63, + 174, 71, 225, 61, 0, 0, + 0, 0, 81, 0, 0, 5, + 13, 0, 15, 160, 0, 0, + 128, 191, 0, 0, 0, 128, + 0, 0, 0, 0, 0, 0, + 128, 63, 31, 0, 0, 2, + 0, 0, 0, 128, 0, 0, + 15, 176, 31, 0, 0, 2, + 0, 0, 0, 128, 1, 0, + 7, 176, 31, 0, 0, 2, + 0, 0, 0, 144, 0, 8, + 15, 160, 31, 0, 0, 2, + 0, 0, 0, 144, 1, 8, + 15, 160, 31, 0, 0, 2, + 0, 0, 0, 144, 2, 8, + 15, 160, 31, 0, 0, 2, + 0, 0, 0, 144, 3, 8, + 15, 160, 31, 0, 0, 2, + 0, 0, 0, 144, 4, 8, + 15, 160, 31, 0, 0, 2, + 0, 0, 0, 144, 5, 8, + 15, 160, 1, 0, 0, 2, + 0, 0, 1, 128, 13, 0, + 170, 160, 1, 0, 0, 2, + 1, 0, 1, 128, 13, 0, + 170, 160, 1, 0, 0, 2, + 2, 0, 4, 128, 13, 0, + 170, 160, 1, 0, 0, 2, + 3, 0, 8, 128, 6, 0, + 0, 161, 66, 0, 0, 3, + 4, 0, 15, 128, 0, 0, + 228, 176, 2, 8, 228, 160, + 66, 0, 0, 3, 5, 0, + 15, 128, 0, 0, 228, 176, + 1, 8, 228, 160, 2, 0, + 0, 3, 5, 0, 1, 128, + 5, 0, 0, 128, 6, 0, + 170, 160, 2, 0, 0, 3, + 5, 0, 2, 128, 4, 0, + 0, 128, 6, 0, 255, 160, + 6, 0, 0, 2, 0, 0, + 8, 128, 1, 0, 170, 176, + 5, 0, 0, 3, 4, 0, + 3, 128, 0, 0, 255, 128, + 1, 0, 228, 176, 66, 0, + 0, 3, 6, 0, 15, 128, + 0, 0, 228, 176, 3, 8, + 228, 160, 66, 0, 0, 3, + 4, 0, 15, 128, 4, 0, + 228, 128, 4, 8, 228, 160, + 2, 0, 0, 3, 5, 0, + 4, 128, 6, 0, 0, 128, + 6, 0, 255, 160, 8, 0, + 0, 3, 3, 0, 1, 128, + 3, 0, 228, 160, 5, 0, + 228, 128, 8, 0, 0, 3, + 3, 0, 2, 128, 4, 0, + 228, 160, 5, 0, 228, 128, + 8, 0, 0, 3, 3, 0, + 4, 128, 5, 0, 228, 160, + 5, 0, 228, 128, 5, 0, + 0, 3, 3, 0, 15, 128, + 3, 0, 228, 128, 1, 0, + 0, 160, 5, 0, 0, 3, + 5, 0, 15, 128, 4, 0, + 0, 128, 3, 0, 228, 128, + 1, 0, 0, 2, 6, 0, + 3, 128, 0, 0, 235, 176, + 66, 0, 0, 3, 7, 0, + 15, 128, 0, 0, 228, 176, + 0, 8, 228, 160, 66, 0, + 0, 3, 6, 0, 15, 128, + 6, 0, 228, 128, 5, 8, + 228, 160, 5, 0, 0, 3, + 7, 0, 15, 128, 7, 0, + 228, 128, 1, 0, 0, 160, + 5, 0, 0, 3, 8, 0, + 15, 128, 4, 0, 0, 128, + 7, 0, 228, 128, 1, 0, + 0, 2, 9, 0, 3, 128, + 6, 0, 228, 160, 2, 0, + 0, 3, 10, 0, 15, 128, + 9, 0, 4, 128, 2, 0, + 144, 160, 5, 0, 0, 3, + 10, 0, 15, 128, 10, 0, + 228, 128, 10, 0, 228, 128, + 88, 0, 0, 4, 5, 0, + 15, 128, 10, 0, 0, 129, + 8, 0, 228, 128, 5, 0, + 228, 128, 88, 0, 0, 4, + 3, 0, 15, 128, 10, 0, + 0, 129, 7, 0, 228, 128, + 3, 0, 228, 128, 1, 0, + 0, 2, 7, 0, 8, 128, + 1, 0, 0, 160, 5, 0, + 0, 3, 8, 0, 15, 128, + 4, 0, 0, 128, 7, 0, + 228, 128, 88, 0, 0, 4, + 3, 0, 15, 128, 2, 0, + 0, 161, 7, 0, 228, 128, + 3, 0, 228, 128, 5, 0, + 0, 3, 4, 0, 15, 128, + 4, 0, 0, 128, 0, 0, + 228, 160, 88, 0, 0, 4, + 5, 0, 15, 128, 2, 0, + 0, 161, 8, 0, 228, 128, + 5, 0, 228, 128, 88, 0, + 0, 4, 7, 0, 3, 128, + 10, 0, 233, 129, 13, 0, + 0, 160, 13, 0, 85, 160, + 88, 0, 0, 4, 0, 0, + 8, 128, 10, 0, 0, 129, + 6, 0, 0, 160, 7, 0, + 0, 128, 88, 0, 0, 4, + 1, 0, 8, 128, 2, 0, + 85, 161, 9, 0, 0, 128, + 7, 0, 85, 128, 88, 0, + 0, 4, 0, 0, 8, 128, + 2, 0, 0, 161, 9, 0, + 0, 128, 0, 0, 255, 128, + 88, 0, 0, 4, 4, 0, + 15, 128, 0, 0, 255, 128, + 4, 0, 228, 128, 5, 0, + 228, 128, 88, 0, 0, 4, + 3, 0, 15, 128, 0, 0, + 255, 128, 0, 0, 228, 160, + 3, 0, 228, 128, 88, 0, + 0, 4, 3, 0, 15, 128, + 2, 0, 85, 161, 3, 0, + 228, 128, 4, 0, 228, 128, + 88, 0, 0, 4, 3, 0, + 15, 128, 1, 0, 255, 128, + 13, 0, 234, 160, 3, 0, + 228, 128, 6, 0, 0, 2, + 0, 0, 8, 128, 3, 0, + 255, 128, 5, 0, 0, 3, + 4, 0, 7, 128, 0, 0, + 255, 128, 3, 0, 228, 128, + 88, 0, 0, 4, 4, 0, + 7, 128, 2, 0, 255, 161, + 3, 0, 228, 128, 4, 0, + 228, 128, 2, 0, 0, 3, + 5, 0, 3, 128, 4, 0, + 233, 129, 4, 0, 228, 128, + 88, 0, 0, 4, 5, 0, + 12, 128, 5, 0, 0, 128, + 4, 0, 68, 128, 4, 0, + 20, 128, 11, 0, 0, 3, + 0, 0, 8, 128, 5, 0, + 170, 128, 4, 0, 170, 128, + 10, 0, 0, 3, 1, 0, + 8, 128, 4, 0, 170, 128, + 5, 0, 255, 128, 2, 0, + 0, 3, 7, 0, 8, 128, + 0, 0, 255, 128, 1, 0, + 255, 129, 6, 0, 0, 2, + 0, 0, 8, 128, 6, 0, + 255, 128, 5, 0, 0, 3, + 8, 0, 7, 128, 0, 0, + 255, 128, 6, 0, 228, 128, + 4, 0, 0, 4, 5, 0, + 12, 128, 6, 0, 100, 128, + 0, 0, 255, 128, 8, 0, + 132, 129, 5, 0, 0, 3, + 9, 0, 3, 128, 7, 0, + 255, 128, 5, 0, 238, 128, + 4, 0, 0, 4, 11, 0, + 15, 128, 6, 0, 129, 128, + 0, 0, 255, 128, 8, 0, + 88, 129, 6, 0, 0, 2, + 1, 0, 8, 128, 11, 0, + 0, 128, 5, 0, 0, 3, + 7, 0, 2, 128, 1, 0, + 255, 128, 9, 0, 0, 128, + 88, 0, 0, 4, 1, 0, + 6, 128, 11, 0, 170, 128, + 13, 0, 170, 160, 7, 0, + 220, 128, 5, 0, 0, 3, + 12, 0, 15, 128, 7, 0, + 255, 128, 11, 0, 228, 128, + 6, 0, 0, 2, 1, 0, + 8, 128, 5, 0, 255, 128, + 5, 0, 0, 3, 7, 0, + 1, 128, 1, 0, 255, 128, + 12, 0, 85, 128, 88, 0, + 0, 4, 2, 0, 3, 128, + 11, 0, 255, 128, 13, 0, + 170, 160, 7, 0, 236, 128, + 88, 0, 0, 4, 1, 0, + 7, 128, 5, 0, 170, 128, + 1, 0, 228, 128, 2, 0, + 228, 128, 6, 0, 0, 2, + 1, 0, 8, 128, 5, 0, + 170, 128, 5, 0, 0, 3, + 7, 0, 4, 128, 1, 0, + 255, 128, 12, 0, 0, 128, + 88, 0, 0, 4, 0, 0, + 6, 128, 11, 0, 85, 128, + 13, 0, 170, 160, 7, 0, + 248, 128, 88, 0, 0, 4, + 0, 0, 7, 128, 11, 0, + 255, 128, 0, 0, 228, 128, + 1, 0, 228, 128, 1, 0, + 0, 2, 1, 0, 2, 128, + 13, 0, 170, 160, 1, 0, + 0, 2, 2, 0, 2, 128, + 13, 0, 170, 160, 1, 0, + 0, 2, 10, 0, 4, 128, + 13, 0, 170, 160, 6, 0, + 0, 2, 1, 0, 8, 128, + 11, 0, 170, 128, 5, 0, + 0, 3, 7, 0, 2, 128, + 1, 0, 255, 128, 12, 0, + 255, 128, 88, 0, 0, 4, + 2, 0, 5, 128, 11, 0, + 0, 128, 13, 0, 170, 160, + 7, 0, 215, 128, 6, 0, + 0, 2, 1, 0, 8, 128, + 11, 0, 85, 128, 5, 0, + 0, 3, 7, 0, 1, 128, + 1, 0, 255, 128, 9, 0, + 85, 128, 88, 0, 0, 4, + 10, 0, 3, 128, 5, 0, + 170, 128, 13, 0, 170, 160, + 7, 0, 227, 128, 88, 0, + 0, 4, 2, 0, 7, 128, + 11, 0, 255, 128, 2, 0, + 228, 128, 10, 0, 228, 128, + 6, 0, 0, 2, 1, 0, + 8, 128, 11, 0, 255, 128, + 5, 0, 0, 3, 7, 0, + 4, 128, 1, 0, 255, 128, + 12, 0, 170, 128, 88, 0, + 0, 4, 1, 0, 5, 128, + 5, 0, 255, 128, 13, 0, + 170, 160, 7, 0, 246, 128, + 88, 0, 0, 4, 1, 0, + 7, 128, 5, 0, 170, 128, + 1, 0, 228, 128, 2, 0, + 228, 128, 88, 0, 0, 4, + 0, 0, 7, 128, 11, 0, + 0, 128, 0, 0, 228, 128, + 1, 0, 228, 128, 88, 0, + 0, 4, 1, 0, 3, 128, + 11, 0, 170, 128, 8, 0, + 228, 128, 8, 0, 225, 128, + 8, 0, 0, 3, 4, 0, + 8, 128, 12, 0, 228, 160, + 0, 0, 228, 128, 8, 0, + 0, 3, 8, 0, 8, 128, + 12, 0, 228, 160, 8, 0, + 228, 128, 2, 0, 0, 3, + 4, 0, 8, 128, 4, 0, + 255, 129, 8, 0, 255, 128, + 2, 0, 0, 3, 0, 0, + 7, 128, 0, 0, 228, 128, + 4, 0, 255, 128, 2, 0, + 0, 3, 4, 0, 8, 128, + 0, 0, 85, 129, 0, 0, + 0, 128, 88, 0, 0, 4, + 1, 0, 12, 128, 4, 0, + 255, 128, 0, 0, 20, 128, + 0, 0, 68, 128, 10, 0, + 0, 3, 4, 0, 8, 128, + 0, 0, 170, 128, 1, 0, + 170, 128, 11, 0, 0, 3, + 2, 0, 1, 128, 1, 0, + 255, 128, 0, 0, 170, 128, + 8, 0, 0, 3, 1, 0, + 4, 128, 12, 0, 228, 160, + 0, 0, 228, 128, 2, 0, + 0, 3, 1, 0, 8, 128, + 4, 0, 255, 129, 1, 0, + 170, 128, 6, 0, 0, 2, + 1, 0, 8, 128, 1, 0, + 255, 128, 2, 0, 0, 3, + 2, 0, 14, 128, 0, 0, + 144, 128, 1, 0, 170, 129, + 5, 0, 0, 3, 2, 0, + 14, 128, 1, 0, 170, 128, + 2, 0, 228, 128, 4, 0, + 0, 4, 2, 0, 14, 128, + 2, 0, 228, 128, 1, 0, + 255, 128, 1, 0, 170, 128, + 88, 0, 0, 4, 0, 0, + 7, 128, 4, 0, 255, 128, + 0, 0, 228, 128, 2, 0, + 249, 128, 2, 0, 0, 3, + 2, 0, 14, 128, 1, 0, + 170, 129, 0, 0, 144, 128, + 2, 0, 0, 3, 1, 0, + 8, 128, 1, 0, 170, 129, + 6, 0, 0, 161, 5, 0, + 0, 3, 2, 0, 14, 128, + 1, 0, 255, 128, 2, 0, + 228, 128, 2, 0, 0, 3, + 1, 0, 8, 128, 1, 0, + 170, 129, 2, 0, 0, 128, + 2, 0, 0, 3, 4, 0, + 8, 128, 2, 0, 0, 129, + 6, 0, 0, 161, 6, 0, + 0, 2, 1, 0, 8, 128, + 1, 0, 255, 128, 4, 0, + 0, 4, 2, 0, 7, 128, + 2, 0, 249, 128, 1, 0, + 255, 128, 1, 0, 170, 128, + 88, 0, 0, 4, 0, 0, + 7, 128, 4, 0, 255, 128, + 0, 0, 228, 128, 2, 0, + 228, 128, 1, 0, 0, 2, + 4, 0, 8, 128, 2, 0, + 170, 160, 2, 0, 0, 3, + 1, 0, 4, 128, 4, 0, + 255, 128, 10, 0, 170, 160, + 5, 0, 0, 3, 1, 0, + 4, 128, 1, 0, 170, 128, + 1, 0, 170, 128, 8, 0, + 0, 3, 1, 0, 8, 128, + 12, 0, 228, 160, 4, 0, + 228, 128, 2, 0, 0, 3, + 2, 0, 1, 128, 8, 0, + 255, 129, 1, 0, 255, 128, + 2, 0, 0, 3, 1, 0, + 8, 128, 1, 0, 255, 129, + 8, 0, 255, 128, 2, 0, + 0, 3, 2, 0, 14, 128, + 1, 0, 255, 128, 4, 0, + 144, 128, 4, 0, 0, 4, + 7, 0, 7, 128, 6, 0, + 228, 128, 0, 0, 255, 128, + 2, 0, 0, 128, 2, 0, + 0, 3, 1, 0, 8, 128, + 7, 0, 85, 129, 7, 0, + 0, 128, 88, 0, 0, 4, + 5, 0, 12, 128, 1, 0, + 255, 128, 7, 0, 20, 128, + 7, 0, 68, 128, 10, 0, + 0, 3, 1, 0, 8, 128, + 7, 0, 170, 128, 5, 0, + 170, 128, 11, 0, 0, 3, + 2, 0, 1, 128, 5, 0, + 255, 128, 7, 0, 170, 128, + 8, 0, 0, 3, 7, 0, + 8, 128, 12, 0, 228, 160, + 7, 0, 228, 128, 2, 0, + 0, 3, 5, 0, 4, 128, + 1, 0, 255, 129, 7, 0, + 255, 128, 6, 0, 0, 2, + 5, 0, 4, 128, 5, 0, + 170, 128, 2, 0, 0, 3, + 9, 0, 7, 128, 7, 0, + 255, 129, 7, 0, 228, 128, + 5, 0, 0, 3, 9, 0, + 7, 128, 7, 0, 255, 128, + 9, 0, 228, 128, 4, 0, + 0, 4, 9, 0, 7, 128, + 9, 0, 228, 128, 5, 0, + 170, 128, 7, 0, 255, 128, + 88, 0, 0, 4, 7, 0, + 7, 128, 1, 0, 255, 128, + 7, 0, 228, 128, 9, 0, + 228, 128, 2, 0, 0, 3, + 9, 0, 7, 128, 7, 0, + 255, 129, 7, 0, 228, 128, + 2, 0, 0, 3, 1, 0, + 8, 128, 7, 0, 255, 129, + 6, 0, 0, 161, 5, 0, + 0, 3, 9, 0, 7, 128, + 1, 0, 255, 128, 9, 0, + 228, 128, 2, 0, 0, 3, + 1, 0, 8, 128, 2, 0, + 0, 128, 7, 0, 255, 129, + 2, 0, 0, 3, 9, 0, + 8, 128, 2, 0, 0, 129, + 6, 0, 0, 161, 6, 0, + 0, 2, 1, 0, 8, 128, + 1, 0, 255, 128, 4, 0, + 0, 4, 9, 0, 7, 128, + 9, 0, 228, 128, 1, 0, + 255, 128, 7, 0, 255, 128, + 88, 0, 0, 4, 7, 0, + 7, 128, 9, 0, 255, 128, + 7, 0, 228, 128, 9, 0, + 228, 128, 88, 0, 0, 4, + 7, 0, 7, 128, 1, 0, + 170, 129, 7, 0, 228, 128, + 13, 0, 170, 160, 2, 0, + 0, 3, 7, 0, 8, 128, + 2, 0, 170, 129, 2, 0, + 85, 128, 88, 0, 0, 4, + 1, 0, 12, 128, 7, 0, + 255, 128, 2, 0, 100, 128, + 2, 0, 148, 128, 10, 0, + 0, 3, 7, 0, 8, 128, + 2, 0, 255, 128, 1, 0, + 170, 128, 11, 0, 0, 3, + 5, 0, 4, 128, 1, 0, + 255, 128, 2, 0, 255, 128, + 8, 0, 0, 3, 5, 0, + 8, 128, 12, 0, 228, 160, + 2, 0, 249, 128, 2, 0, + 0, 3, 1, 0, 4, 128, + 7, 0, 255, 129, 5, 0, + 255, 128, 6, 0, 0, 2, + 1, 0, 4, 128, 1, 0, + 170, 128, 2, 0, 0, 3, + 9, 0, 7, 128, 2, 0, + 249, 128, 5, 0, 255, 129, + 5, 0, 0, 3, 9, 0, + 7, 128, 5, 0, 255, 128, + 9, 0, 228, 128, 4, 0, + 0, 4, 9, 0, 7, 128, + 9, 0, 228, 128, 1, 0, + 170, 128, 5, 0, 255, 128, + 88, 0, 0, 4, 2, 0, + 7, 128, 7, 0, 255, 128, + 2, 0, 249, 128, 9, 0, + 228, 128, 2, 0, 0, 3, + 9, 0, 7, 128, 5, 0, + 255, 129, 2, 0, 228, 128, + 2, 0, 0, 3, 2, 0, + 8, 128, 5, 0, 255, 129, + 6, 0, 0, 161, 5, 0, + 0, 3, 9, 0, 7, 128, + 2, 0, 255, 128, 9, 0, + 228, 128, 2, 0, 0, 3, + 2, 0, 8, 128, 5, 0, + 255, 129, 5, 0, 170, 128, + 2, 0, 0, 3, 7, 0, + 8, 128, 5, 0, 170, 129, + 6, 0, 0, 161, 6, 0, + 0, 2, 2, 0, 8, 128, + 2, 0, 255, 128, 4, 0, + 0, 4, 9, 0, 7, 128, + 9, 0, 228, 128, 2, 0, + 255, 128, 5, 0, 255, 128, + 88, 0, 0, 4, 2, 0, + 7, 128, 7, 0, 255, 128, + 2, 0, 228, 128, 9, 0, + 228, 128, 2, 0, 0, 3, + 9, 0, 15, 128, 4, 0, + 255, 128, 11, 0, 228, 160, + 5, 0, 0, 3, 9, 0, + 15, 128, 9, 0, 228, 128, + 9, 0, 228, 128, 88, 0, + 0, 4, 2, 0, 7, 128, + 9, 0, 255, 129, 2, 0, + 228, 128, 7, 0, 228, 128, + 88, 0, 0, 4, 0, 0, + 7, 128, 9, 0, 170, 129, + 0, 0, 228, 128, 2, 0, + 228, 128, 2, 0, 0, 3, + 2, 0, 15, 128, 4, 0, + 96, 129, 4, 0, 137, 128, + 1, 0, 0, 2, 7, 0, + 2, 128, 13, 0, 170, 160, + 1, 0, 0, 2, 10, 0, + 2, 128, 13, 0, 170, 160, + 1, 0, 0, 2, 11, 0, + 4, 128, 13, 0, 170, 160, + 6, 0, 0, 2, 7, 0, + 8, 128, 2, 0, 170, 128, + 11, 0, 0, 3, 11, 0, + 8, 128, 1, 0, 0, 128, + 8, 0, 170, 128, 10, 0, + 0, 3, 5, 0, 4, 128, + 8, 0, 170, 128, 1, 0, + 85, 128, 2, 0, 0, 3, + 1, 0, 8, 128, 5, 0, + 170, 129, 11, 0, 255, 128, + 5, 0, 0, 3, 5, 0, + 12, 128, 1, 0, 255, 128, + 5, 0, 68, 128, 5, 0, + 0, 3, 1, 0, 1, 128, + 7, 0, 255, 128, 5, 0, + 255, 128, 88, 0, 0, 4, + 11, 0, 3, 128, 2, 0, + 85, 128, 13, 0, 170, 160, + 1, 0, 227, 128, 6, 0, + 0, 2, 5, 0, 8, 128, + 5, 0, 0, 128, 5, 0, + 0, 3, 12, 0, 15, 128, + 1, 0, 255, 128, 2, 0, + 228, 128, 5, 0, 0, 3, + 1, 0, 2, 128, 5, 0, + 255, 128, 12, 0, 255, 128, + 88, 0, 0, 4, 10, 0, + 5, 128, 2, 0, 0, 128, + 13, 0, 170, 160, 1, 0, + 215, 128, 88, 0, 0, 4, + 10, 0, 7, 128, 2, 0, + 255, 128, 10, 0, 228, 128, + 11, 0, 228, 128, 6, 0, + 0, 2, 5, 0, 8, 128, + 2, 0, 255, 128, 5, 0, + 0, 3, 1, 0, 4, 128, + 5, 0, 255, 128, 5, 0, + 170, 128, 88, 0, 0, 4, + 7, 0, 5, 128, 5, 0, + 85, 128, 13, 0, 170, 160, + 1, 0, 246, 128, 88, 0, + 0, 4, 7, 0, 7, 128, + 2, 0, 85, 128, 7, 0, + 228, 128, 10, 0, 228, 128, + 1, 0, 0, 2, 10, 0, + 1, 128, 13, 0, 170, 160, + 1, 0, 0, 2, 11, 0, + 1, 128, 13, 0, 170, 160, + 1, 0, 0, 2, 13, 0, + 4, 128, 13, 0, 170, 160, + 6, 0, 0, 2, 7, 0, + 8, 128, 2, 0, 0, 128, + 5, 0, 0, 3, 1, 0, + 2, 128, 7, 0, 255, 128, + 12, 0, 85, 128, 88, 0, + 0, 4, 11, 0, 6, 128, + 5, 0, 0, 128, 13, 0, + 170, 160, 1, 0, 220, 128, + 6, 0, 0, 2, 7, 0, + 8, 128, 5, 0, 85, 128, + 5, 0, 0, 3, 1, 0, + 1, 128, 7, 0, 255, 128, + 12, 0, 170, 128, 88, 0, + 0, 4, 13, 0, 3, 128, + 2, 0, 255, 128, 13, 0, + 170, 160, 1, 0, 236, 128, + 88, 0, 0, 4, 5, 0, + 7, 128, 2, 0, 85, 128, + 11, 0, 228, 128, 13, 0, + 228, 128, 6, 0, 0, 2, + 5, 0, 8, 128, 2, 0, + 85, 128, 5, 0, 0, 3, + 1, 0, 4, 128, 5, 0, + 255, 128, 12, 0, 0, 128, + 88, 0, 0, 4, 10, 0, + 6, 128, 2, 0, 170, 128, + 13, 0, 170, 160, 1, 0, + 248, 128, 88, 0, 0, 4, + 1, 0, 7, 128, 2, 0, + 255, 128, 10, 0, 228, 128, + 5, 0, 228, 128, 88, 0, + 0, 4, 1, 0, 7, 128, + 2, 0, 0, 128, 1, 0, + 228, 128, 7, 0, 228, 128, + 8, 0, 0, 3, 1, 0, + 8, 128, 12, 0, 228, 160, + 1, 0, 228, 128, 2, 0, + 0, 3, 1, 0, 8, 128, + 1, 0, 255, 129, 8, 0, + 255, 128, 2, 0, 0, 3, + 1, 0, 7, 128, 1, 0, + 255, 128, 1, 0, 228, 128, + 2, 0, 0, 3, 1, 0, + 8, 128, 1, 0, 85, 129, + 1, 0, 0, 128, 88, 0, + 0, 4, 2, 0, 3, 128, + 1, 0, 255, 128, 1, 0, + 225, 128, 1, 0, 228, 128, + 10, 0, 0, 3, 8, 0, + 8, 128, 1, 0, 170, 128, + 2, 0, 0, 128, 11, 0, + 0, 3, 5, 0, 1, 128, + 2, 0, 85, 128, 1, 0, + 170, 128, 8, 0, 0, 3, + 1, 0, 8, 128, 12, 0, + 228, 160, 1, 0, 228, 128, + 2, 0, 0, 3, 2, 0, + 1, 128, 8, 0, 255, 129, + 1, 0, 255, 128, 6, 0, + 0, 2, 2, 0, 1, 128, + 2, 0, 0, 128, 2, 0, + 0, 3, 2, 0, 14, 128, + 1, 0, 255, 129, 1, 0, + 144, 128, 5, 0, 0, 3, + 2, 0, 14, 128, 1, 0, + 255, 128, 2, 0, 228, 128, + 4, 0, 0, 4, 2, 0, + 7, 128, 2, 0, 249, 128, + 2, 0, 0, 128, 1, 0, + 255, 128, 88, 0, 0, 4, + 1, 0, 7, 128, 8, 0, + 255, 128, 1, 0, 228, 128, + 2, 0, 228, 128, 2, 0, + 0, 3, 2, 0, 7, 128, + 1, 0, 255, 129, 1, 0, + 228, 128, 2, 0, 0, 3, + 2, 0, 8, 128, 1, 0, + 255, 129, 6, 0, 0, 161, + 5, 0, 0, 3, 2, 0, + 7, 128, 2, 0, 255, 128, + 2, 0, 228, 128, 2, 0, + 0, 3, 2, 0, 8, 128, + 1, 0, 255, 129, 5, 0, + 0, 128, 2, 0, 0, 3, + 8, 0, 8, 128, 5, 0, + 0, 129, 6, 0, 0, 161, + 6, 0, 0, 2, 2, 0, + 8, 128, 2, 0, 255, 128, + 4, 0, 0, 4, 2, 0, + 7, 128, 2, 0, 228, 128, + 2, 0, 255, 128, 1, 0, + 255, 128, 88, 0, 0, 4, + 1, 0, 7, 128, 8, 0, + 255, 128, 1, 0, 228, 128, + 2, 0, 228, 128, 88, 0, + 0, 4, 0, 0, 7, 128, + 9, 0, 85, 129, 1, 0, + 228, 128, 0, 0, 228, 128, + 4, 0, 0, 4, 1, 0, + 7, 128, 6, 0, 228, 128, + 0, 0, 255, 128, 4, 0, + 228, 128, 5, 0, 0, 3, + 2, 0, 7, 128, 4, 0, + 228, 128, 8, 0, 228, 128, + 4, 0, 0, 4, 5, 0, + 7, 128, 2, 0, 228, 128, + 6, 0, 85, 160, 1, 0, + 228, 128, 4, 0, 0, 4, + 1, 0, 7, 128, 8, 0, + 228, 128, 4, 0, 228, 129, + 1, 0, 228, 128, 88, 0, + 0, 4, 0, 0, 7, 128, + 9, 0, 0, 129, 5, 0, + 228, 128, 0, 0, 228, 128, + 4, 0, 0, 4, 5, 0, + 7, 128, 6, 0, 228, 128, + 0, 0, 255, 128, 4, 0, + 228, 129, 35, 0, 0, 2, + 5, 0, 7, 128, 5, 0, + 228, 128, 2, 0, 0, 3, + 7, 0, 15, 128, 4, 0, + 255, 128, 8, 0, 228, 160, + 5, 0, 0, 3, 7, 0, + 15, 128, 7, 0, 228, 128, + 7, 0, 228, 128, 88, 0, + 0, 4, 0, 0, 7, 128, + 7, 0, 255, 129, 5, 0, + 228, 128, 0, 0, 228, 128, + 2, 0, 0, 3, 5, 0, + 3, 128, 4, 0, 233, 129, + 9, 0, 0, 160, 4, 0, + 0, 4, 9, 0, 7, 128, + 4, 0, 228, 128, 9, 0, + 255, 161, 9, 0, 85, 161, + 4, 0, 0, 4, 1, 0, + 8, 128, 6, 0, 170, 128, + 0, 0, 255, 129, 9, 0, + 170, 160, 4, 0, 0, 4, + 10, 0, 7, 128, 8, 0, + 228, 128, 10, 0, 0, 160, + 10, 0, 85, 160, 4, 0, + 0, 4, 10, 0, 7, 128, + 10, 0, 228, 128, 8, 0, + 228, 128, 7, 0, 170, 161, + 5, 0, 0, 3, 10, 0, + 7, 128, 8, 0, 228, 128, + 10, 0, 228, 128, 7, 0, + 0, 2, 2, 0, 8, 128, + 8, 0, 170, 128, 6, 0, + 0, 2, 2, 0, 8, 128, + 2, 0, 255, 128, 88, 0, + 0, 4, 1, 0, 8, 128, + 1, 0, 255, 128, 10, 0, + 170, 128, 2, 0, 255, 128, + 4, 0, 0, 4, 1, 0, + 8, 128, 6, 0, 170, 128, + 0, 0, 255, 129, 1, 0, + 255, 128, 4, 0, 0, 4, + 1, 0, 8, 128, 9, 0, + 170, 128, 1, 0, 255, 128, + 8, 0, 170, 128, 4, 0, + 0, 4, 11, 0, 7, 128, + 4, 0, 228, 128, 6, 0, + 85, 160, 6, 0, 0, 161, + 5, 0, 0, 3, 11, 0, + 7, 128, 8, 0, 228, 128, + 11, 0, 228, 128, 4, 0, + 0, 4, 12, 0, 15, 128, + 6, 0, 73, 128, 0, 0, + 255, 129, 9, 0, 165, 160, + 4, 0, 0, 4, 5, 0, + 12, 128, 11, 0, 148, 128, + 12, 0, 68, 129, 8, 0, + 148, 128, 88, 0, 0, 4, + 13, 0, 4, 128, 5, 0, + 85, 128, 5, 0, 255, 128, + 1, 0, 255, 128, 7, 0, + 0, 2, 1, 0, 8, 128, + 8, 0, 85, 128, 6, 0, + 0, 2, 1, 0, 8, 128, + 1, 0, 255, 128, 88, 0, + 0, 4, 1, 0, 8, 128, + 12, 0, 255, 128, 10, 0, + 85, 128, 1, 0, 255, 128, + 4, 0, 0, 4, 1, 0, + 8, 128, 6, 0, 85, 128, + 0, 0, 255, 129, 1, 0, + 255, 128, 4, 0, 0, 4, + 1, 0, 8, 128, 9, 0, + 85, 128, 1, 0, 255, 128, + 8, 0, 85, 128, 88, 0, + 0, 4, 13, 0, 2, 128, + 5, 0, 0, 128, 5, 0, + 170, 128, 1, 0, 255, 128, + 2, 0, 0, 3, 14, 0, + 15, 128, 4, 0, 36, 129, + 9, 0, 21, 160, 7, 0, + 0, 2, 1, 0, 8, 128, + 8, 0, 0, 128, 6, 0, + 0, 2, 1, 0, 8, 128, + 1, 0, 255, 128, 88, 0, + 0, 4, 1, 0, 8, 128, + 12, 0, 170, 128, 10, 0, + 0, 128, 1, 0, 255, 128, + 4, 0, 0, 4, 1, 0, + 8, 128, 6, 0, 0, 128, + 0, 0, 255, 129, 1, 0, + 255, 128, 4, 0, 0, 4, + 1, 0, 8, 128, 9, 0, + 0, 128, 1, 0, 255, 128, + 8, 0, 0, 128, 4, 0, + 0, 4, 9, 0, 15, 128, + 6, 0, 36, 128, 0, 0, + 255, 129, 9, 0, 64, 160, + 4, 0, 0, 4, 6, 0, + 7, 128, 6, 0, 228, 128, + 0, 0, 255, 128, 6, 0, + 0, 160, 5, 0, 0, 3, + 6, 0, 7, 128, 6, 0, + 228, 128, 6, 0, 228, 128, + 4, 0, 0, 4, 0, 0, + 8, 128, 11, 0, 0, 128, + 9, 0, 255, 129, 8, 0, + 0, 128, 88, 0, 0, 4, + 13, 0, 1, 128, 14, 0, + 255, 128, 0, 0, 255, 128, + 1, 0, 255, 128, 88, 0, + 0, 4, 0, 0, 7, 128, + 7, 0, 170, 129, 13, 0, + 228, 128, 0, 0, 228, 128, + 2, 0, 0, 3, 10, 0, + 7, 128, 8, 0, 228, 128, + 8, 0, 228, 128, 4, 0, + 0, 4, 11, 0, 7, 128, + 4, 0, 228, 128, 6, 0, + 85, 161, 10, 0, 228, 128, + 2, 0, 0, 3, 11, 0, + 7, 128, 11, 0, 228, 128, + 6, 0, 0, 160, 4, 0, + 0, 4, 13, 0, 7, 128, + 4, 0, 228, 128, 10, 0, + 228, 129, 11, 0, 228, 128, + 5, 0, 0, 3, 10, 0, + 7, 128, 4, 0, 228, 128, + 10, 0, 228, 128, 2, 0, + 0, 3, 15, 0, 7, 128, + 4, 0, 228, 128, 4, 0, + 228, 128, 5, 0, 0, 3, + 16, 0, 7, 128, 8, 0, + 228, 128, 15, 0, 228, 128, + 4, 0, 0, 4, 11, 0, + 7, 128, 15, 0, 228, 128, + 8, 0, 228, 129, 11, 0, + 228, 128, 88, 0, 0, 4, + 9, 0, 7, 128, 9, 0, + 228, 128, 10, 0, 228, 128, + 11, 0, 228, 128, 88, 0, + 0, 4, 5, 0, 6, 128, + 5, 0, 208, 128, 16, 0, + 228, 128, 13, 0, 228, 128, + 88, 0, 0, 4, 5, 0, + 1, 128, 14, 0, 255, 128, + 16, 0, 0, 128, 13, 0, + 0, 128, 88, 0, 0, 4, + 0, 0, 7, 128, 7, 0, + 85, 129, 5, 0, 228, 128, + 0, 0, 228, 128, 6, 0, + 0, 2, 0, 0, 8, 128, + 4, 0, 0, 128, 4, 0, + 0, 4, 0, 0, 8, 128, + 9, 0, 255, 128, 0, 0, + 255, 129, 6, 0, 0, 161, + 11, 0, 0, 3, 1, 0, + 8, 128, 0, 0, 255, 128, + 13, 0, 170, 160, 5, 0, + 0, 3, 5, 0, 7, 128, + 4, 0, 228, 128, 4, 0, + 228, 128, 88, 0, 0, 4, + 0, 0, 8, 128, 5, 0, + 0, 129, 13, 0, 170, 160, + 1, 0, 255, 128, 88, 0, + 0, 4, 10, 0, 1, 128, + 6, 0, 0, 129, 6, 0, + 0, 161, 0, 0, 255, 128, + 6, 0, 0, 2, 0, 0, + 8, 128, 4, 0, 85, 128, + 4, 0, 0, 4, 0, 0, + 8, 128, 12, 0, 0, 128, + 0, 0, 255, 129, 6, 0, + 0, 161, 11, 0, 0, 3, + 1, 0, 8, 128, 0, 0, + 255, 128, 13, 0, 170, 160, + 88, 0, 0, 4, 0, 0, + 8, 128, 5, 0, 85, 129, + 13, 0, 170, 160, 1, 0, + 255, 128, 88, 0, 0, 4, + 10, 0, 2, 128, 6, 0, + 85, 129, 6, 0, 0, 161, + 0, 0, 255, 128, 6, 0, + 0, 2, 0, 0, 8, 128, + 4, 0, 170, 128, 4, 0, + 0, 4, 0, 0, 8, 128, + 12, 0, 85, 128, 0, 0, + 255, 129, 6, 0, 0, 161, + 11, 0, 0, 3, 1, 0, + 8, 128, 0, 0, 255, 128, + 13, 0, 170, 160, 88, 0, + 0, 4, 0, 0, 8, 128, + 5, 0, 170, 129, 13, 0, + 170, 160, 1, 0, 255, 128, + 88, 0, 0, 4, 10, 0, + 4, 128, 6, 0, 170, 129, + 6, 0, 0, 161, 0, 0, + 255, 128, 88, 0, 0, 4, + 0, 0, 7, 128, 7, 0, + 0, 129, 10, 0, 228, 128, + 0, 0, 228, 128, 2, 0, + 0, 3, 5, 0, 15, 128, + 4, 0, 255, 128, 7, 0, + 228, 160, 5, 0, 0, 3, + 5, 0, 15, 128, 5, 0, + 228, 128, 5, 0, 228, 128, + 2, 0, 0, 3, 6, 0, + 7, 128, 4, 0, 228, 128, + 6, 0, 0, 160, 5, 0, + 0, 3, 6, 0, 7, 128, + 6, 0, 228, 128, 6, 0, + 228, 128, 6, 0, 0, 2, + 0, 0, 8, 128, 14, 0, + 0, 128, 5, 0, 0, 3, + 0, 0, 8, 128, 0, 0, + 255, 128, 8, 0, 0, 128, + 10, 0, 0, 3, 1, 0, + 8, 128, 0, 0, 255, 128, + 6, 0, 0, 161, 88, 0, + 0, 4, 0, 0, 8, 128, + 6, 0, 0, 129, 6, 0, + 0, 161, 1, 0, 255, 128, + 5, 0, 0, 3, 7, 0, + 7, 128, 8, 0, 228, 128, + 8, 0, 228, 128, 88, 0, + 0, 4, 10, 0, 1, 128, + 7, 0, 0, 129, 13, 0, + 170, 160, 0, 0, 255, 128, + 6, 0, 0, 2, 0, 0, + 8, 128, 14, 0, 85, 128, + 6, 0, 0, 2, 1, 0, + 8, 128, 14, 0, 170, 128, + 5, 0, 0, 3, 1, 0, + 8, 128, 1, 0, 255, 128, + 8, 0, 170, 128, 10, 0, + 0, 3, 2, 0, 8, 128, + 1, 0, 255, 128, 6, 0, + 0, 161, 88, 0, 0, 4, + 1, 0, 8, 128, 6, 0, + 170, 129, 6, 0, 0, 161, + 2, 0, 255, 128, 88, 0, + 0, 4, 10, 0, 4, 128, + 7, 0, 170, 129, 13, 0, + 170, 160, 1, 0, 255, 128, + 5, 0, 0, 3, 0, 0, + 8, 128, 0, 0, 255, 128, + 8, 0, 85, 128, 10, 0, + 0, 3, 1, 0, 8, 128, + 0, 0, 255, 128, 6, 0, + 0, 161, 88, 0, 0, 4, + 0, 0, 8, 128, 6, 0, + 85, 129, 6, 0, 0, 161, + 1, 0, 255, 128, 88, 0, + 0, 4, 10, 0, 2, 128, + 7, 0, 85, 129, 13, 0, + 170, 160, 0, 0, 255, 128, + 88, 0, 0, 4, 0, 0, + 7, 128, 5, 0, 255, 129, + 10, 0, 228, 128, 0, 0, + 228, 128, 11, 0, 0, 3, + 6, 0, 7, 128, 8, 0, + 228, 128, 4, 0, 228, 128, + 10, 0, 0, 3, 7, 0, + 7, 128, 4, 0, 228, 128, + 8, 0, 228, 128, 88, 0, + 0, 4, 0, 0, 7, 128, + 5, 0, 170, 129, 6, 0, + 228, 128, 0, 0, 228, 128, + 88, 0, 0, 4, 0, 0, + 7, 128, 5, 0, 85, 129, + 7, 0, 228, 128, 0, 0, + 228, 128, 88, 0, 0, 4, + 0, 0, 7, 128, 5, 0, + 0, 129, 9, 0, 228, 128, + 0, 0, 228, 128, 88, 0, + 0, 4, 0, 0, 7, 128, + 10, 0, 255, 129, 1, 0, + 228, 128, 0, 0, 228, 128, + 88, 0, 0, 4, 0, 0, + 7, 128, 2, 0, 170, 161, + 2, 0, 228, 128, 0, 0, + 228, 128, 18, 0, 0, 4, + 1, 0, 7, 128, 6, 0, + 255, 128, 0, 0, 228, 128, + 4, 0, 228, 128, 5, 0, + 0, 3, 1, 0, 8, 128, + 6, 0, 255, 128, 6, 0, + 255, 128, 5, 0, 0, 3, + 0, 0, 7, 128, 3, 0, + 255, 128, 1, 0, 228, 128, + 5, 0, 0, 3, 1, 0, + 1, 128, 3, 0, 255, 128, + 3, 0, 255, 128, 1, 0, + 0, 2, 0, 0, 8, 128, + 3, 0, 255, 128, 88, 0, + 0, 4, 0, 0, 15, 128, + 1, 0, 0, 129, 13, 0, + 170, 160, 0, 0, 228, 128, + 88, 0, 0, 4, 0, 0, + 15, 128, 1, 0, 255, 129, + 3, 0, 228, 128, 0, 0, + 228, 128, 1, 0, 0, 2, + 0, 8, 15, 128, 0, 0, + 228, 128, 255, 255, 0, 0, + 83, 72, 68, 82, 184, 38, + 0, 0, 64, 0, 0, 0, + 174, 9, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 90, 0, 0, 3, + 0, 96, 16, 0, 0, 0, + 0, 0, 88, 24, 0, 4, + 0, 112, 16, 0, 0, 0, + 0, 0, 85, 85, 0, 0, + 88, 24, 0, 4, 0, 112, + 16, 0, 1, 0, 0, 0, + 85, 85, 0, 0, 88, 24, + 0, 4, 0, 112, 16, 0, + 2, 0, 0, 0, 85, 85, + 0, 0, 88, 24, 0, 4, + 0, 112, 16, 0, 3, 0, + 0, 0, 85, 85, 0, 0, + 88, 24, 0, 4, 0, 112, + 16, 0, 5, 0, 0, 0, + 85, 85, 0, 0, 88, 24, + 0, 4, 0, 112, 16, 0, + 6, 0, 0, 0, 85, 85, + 0, 0, 98, 16, 0, 3, + 50, 16, 16, 0, 1, 0, + 0, 0, 98, 16, 0, 3, + 194, 16, 16, 0, 1, 0, + 0, 0, 98, 16, 0, 3, + 114, 16, 16, 0, 2, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 0, 0, + 0, 0, 104, 0, 0, 2, + 22, 0, 0, 0, 69, 0, + 0, 9, 242, 0, 16, 0, + 0, 0, 0, 0, 230, 26, + 16, 0, 1, 0, 0, 0, + 70, 126, 16, 0, 6, 0, + 0, 0, 0, 96, 16, 0, + 0, 0, 0, 0, 31, 0, + 0, 4, 26, 128, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 31, 0, 0, 4, + 10, 128, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 69, 0, 0, 9, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 16, 16, 0, 1, 0, + 0, 0, 70, 126, 16, 0, + 0, 0, 0, 0, 0, 96, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 8, 114, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 6, 128, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 54, 0, 0, 6, + 130, 0, 16, 0, 1, 0, + 0, 0, 10, 128, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 54, 0, 0, 5, + 18, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 18, 0, + 0, 1, 32, 0, 0, 8, + 34, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 10, 128, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 31, 0, + 4, 3, 26, 0, 16, 0, + 2, 0, 0, 0, 69, 0, + 0, 9, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 16, + 16, 0, 1, 0, 0, 0, + 70, 126, 16, 0, 0, 0, + 0, 0, 0, 96, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 8, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 6, 128, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 54, 0, 0, 5, 18, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 255, 255, + 255, 255, 18, 0, 0, 1, + 32, 0, 0, 8, 18, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 2, 0, + 0, 0, 10, 128, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 31, 0, 4, 3, + 10, 0, 16, 0, 2, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 16, 16, 0, + 1, 0, 0, 0, 70, 126, + 16, 0, 1, 0, 0, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 0, 0, 0, 7, + 18, 0, 16, 0, 3, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 18, 131, 128, 189, + 69, 0, 0, 9, 242, 0, + 16, 0, 4, 0, 0, 0, + 70, 16, 16, 0, 1, 0, + 0, 0, 70, 126, 16, 0, + 2, 0, 0, 0, 0, 96, + 16, 0, 0, 0, 0, 0, + 0, 0, 0, 7, 34, 0, + 16, 0, 3, 0, 0, 0, + 10, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 115, 128, 0, 191, 69, 0, + 0, 9, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 16, + 16, 0, 1, 0, 0, 0, + 70, 126, 16, 0, 3, 0, + 0, 0, 0, 96, 16, 0, + 0, 0, 0, 0, 0, 0, + 0, 7, 66, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 115, 128, + 0, 191, 16, 0, 0, 8, + 18, 0, 16, 0, 4, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 16, 0, + 0, 8, 34, 0, 16, 0, + 4, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 16, 0, 0, 8, 66, 0, + 16, 0, 4, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 128, 63, 56, 0, + 0, 8, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 6, 128, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 21, 0, 0, 1, 21, 0, + 0, 1, 21, 0, 0, 1, + 55, 0, 0, 10, 242, 0, + 16, 0, 1, 0, 0, 0, + 6, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 18, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 255, 255, 255, 255, + 18, 0, 0, 1, 32, 0, + 0, 8, 18, 0, 16, 0, + 2, 0, 0, 0, 1, 64, + 0, 0, 1, 0, 0, 0, + 26, 128, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 31, 0, 4, 3, 10, 0, + 16, 0, 2, 0, 0, 0, + 31, 0, 0, 4, 10, 128, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 69, 0, + 0, 9, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 16, + 16, 0, 1, 0, 0, 0, + 70, 126, 16, 0, 0, 0, + 0, 0, 0, 96, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 8, 114, 0, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 6, 128, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 14, 0, 0, 7, 98, 0, + 16, 0, 2, 0, 0, 0, + 6, 17, 16, 0, 2, 0, + 0, 0, 166, 26, 16, 0, + 2, 0, 0, 0, 69, 0, + 0, 9, 242, 0, 16, 0, + 4, 0, 0, 0, 150, 5, + 16, 0, 2, 0, 0, 0, + 70, 126, 16, 0, 5, 0, + 0, 0, 0, 96, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 130, 0, 16, 0, + 3, 0, 0, 0, 10, 128, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 56, 0, + 0, 7, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 6, 0, 16, 0, 4, 0, + 0, 0, 54, 0, 0, 5, + 34, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 18, 0, + 0, 1, 32, 0, 0, 8, + 66, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 1, 0, 0, 0, 10, 128, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 2, 0, 0, 0, 14, 0, + 0, 7, 194, 0, 16, 0, + 2, 0, 0, 0, 6, 20, + 16, 0, 2, 0, 0, 0, + 166, 26, 16, 0, 2, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 3, 0, + 0, 0, 230, 10, 16, 0, + 2, 0, 0, 0, 70, 126, + 16, 0, 5, 0, 0, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 16, 16, 0, + 1, 0, 0, 0, 70, 126, + 16, 0, 0, 0, 0, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 8, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 6, 128, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 56, 0, + 0, 7, 242, 0, 16, 0, + 1, 0, 0, 0, 6, 0, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 54, 0, 0, 5, + 34, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 255, 18, 0, + 0, 1, 32, 0, 0, 8, + 34, 0, 16, 0, 2, 0, + 0, 0, 1, 64, 0, 0, + 2, 0, 0, 0, 10, 128, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 31, 0, + 4, 3, 26, 0, 16, 0, + 2, 0, 0, 0, 14, 0, + 0, 7, 194, 0, 16, 0, + 2, 0, 0, 0, 6, 20, + 16, 0, 2, 0, 0, 0, + 166, 26, 16, 0, 2, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 3, 0, + 0, 0, 230, 10, 16, 0, + 2, 0, 0, 0, 70, 126, + 16, 0, 5, 0, 0, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 4, 0, + 0, 0, 70, 16, 16, 0, + 1, 0, 0, 0, 70, 126, + 16, 0, 1, 0, 0, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 0, 0, 0, 7, + 18, 0, 16, 0, 4, 0, + 0, 0, 10, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 18, 131, 128, 189, + 69, 0, 0, 9, 242, 0, + 16, 0, 5, 0, 0, 0, + 70, 16, 16, 0, 1, 0, + 0, 0, 70, 126, 16, 0, + 2, 0, 0, 0, 0, 96, + 16, 0, 0, 0, 0, 0, + 0, 0, 0, 7, 34, 0, + 16, 0, 4, 0, 0, 0, + 10, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 115, 128, 0, 191, 69, 0, + 0, 9, 242, 0, 16, 0, + 5, 0, 0, 0, 70, 16, + 16, 0, 1, 0, 0, 0, + 70, 126, 16, 0, 3, 0, + 0, 0, 0, 96, 16, 0, + 0, 0, 0, 0, 0, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 115, 128, + 0, 191, 16, 0, 0, 8, + 18, 0, 16, 0, 5, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 16, 0, + 0, 8, 34, 0, 16, 0, + 5, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 16, 0, 0, 8, 66, 0, + 16, 0, 5, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 128, 63, 56, 0, + 0, 8, 242, 0, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 5, 0, 0, 0, + 6, 128, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 56, 0, 0, 7, 242, 0, + 16, 0, 1, 0, 0, 0, + 6, 0, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 4, 0, 0, 0, 21, 0, + 0, 1, 21, 0, 0, 1, + 21, 0, 0, 1, 31, 0, + 0, 3, 26, 0, 16, 0, + 2, 0, 0, 0, 14, 0, + 0, 7, 98, 0, 16, 0, + 2, 0, 0, 0, 6, 17, + 16, 0, 2, 0, 0, 0, + 166, 26, 16, 0, 2, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 3, 0, + 0, 0, 150, 5, 16, 0, + 2, 0, 0, 0, 70, 126, + 16, 0, 5, 0, 0, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 8, + 242, 0, 16, 0, 1, 0, + 0, 0, 6, 0, 16, 0, + 3, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 21, 0, + 0, 1, 21, 0, 0, 1, + 21, 0, 0, 1, 55, 0, + 0, 12, 242, 0, 16, 0, + 1, 0, 0, 0, 6, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 128, 63, 24, 0, + 0, 7, 18, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 31, 0, 4, 3, + 10, 0, 16, 0, 2, 0, + 0, 0, 54, 0, 0, 5, + 242, 32, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 62, 0, + 0, 1, 21, 0, 0, 1, + 24, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 31, 0, + 4, 3, 10, 0, 16, 0, + 2, 0, 0, 0, 54, 0, + 0, 8, 242, 32, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 62, 0, 0, 1, 21, 0, + 0, 1, 14, 0, 0, 7, + 114, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 14, 0, 0, 7, 114, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 246, 15, 16, 0, + 1, 0, 0, 0, 55, 0, + 0, 10, 114, 0, 16, 0, + 1, 0, 0, 0, 246, 143, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 0, 0, 0, 7, 114, 0, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 50, 0, + 0, 10, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 29, 0, 0, 10, + 242, 0, 16, 0, 5, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 63, 0, 0, + 0, 63, 0, 0, 0, 63, + 0, 0, 128, 62, 70, 2, + 16, 0, 0, 0, 0, 0, + 0, 0, 0, 7, 114, 0, + 16, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 0, 0, 0, 7, + 114, 0, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 50, 0, 0, 12, 114, 0, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 64, 0, 0, + 0, 64, 0, 0, 0, 64, + 0, 0, 0, 0, 70, 2, + 16, 0, 6, 0, 0, 0, + 0, 0, 0, 10, 114, 0, + 16, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 191, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 10, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 8, 0, + 0, 0, 50, 0, 0, 10, + 114, 0, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 128, + 65, 0, 0, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 9, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 8, 0, 0, 0, + 51, 0, 0, 7, 114, 0, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 32, 0, + 0, 11, 242, 0, 16, 0, + 8, 0, 0, 0, 2, 64, + 0, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 3, 0, + 0, 0, 4, 0, 0, 0, + 166, 138, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 52, 0, 0, 7, 114, 0, + 16, 0, 11, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 24, 0, + 0, 10, 242, 0, 16, 0, + 12, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 128, 63, 24, 0, 0, 10, + 242, 0, 16, 0, 13, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 128, 63, + 0, 0, 128, 63, 0, 0, + 128, 63, 0, 0, 0, 0, + 0, 0, 0, 11, 114, 0, + 16, 0, 14, 0, 0, 0, + 70, 2, 16, 128, 65, 0, + 0, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 63, 0, 0, 128, 63, + 0, 0, 128, 63, 0, 0, + 0, 0, 14, 0, 0, 7, + 114, 0, 16, 0, 14, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 51, 0, 0, 10, 114, 0, + 16, 0, 14, 0, 0, 0, + 70, 2, 16, 0, 14, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 63, 0, 0, + 128, 63, 0, 0, 128, 63, + 0, 0, 0, 0, 55, 0, + 0, 12, 114, 0, 16, 0, + 13, 0, 0, 0, 70, 2, + 16, 0, 13, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 63, 0, 0, 128, 63, + 0, 0, 128, 63, 0, 0, + 0, 0, 70, 2, 16, 0, + 14, 0, 0, 0, 55, 0, + 0, 12, 114, 0, 16, 0, + 12, 0, 0, 0, 70, 2, + 16, 0, 12, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 13, 0, 0, 0, 0, 0, + 0, 11, 114, 0, 16, 0, + 13, 0, 0, 0, 70, 2, + 16, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 128, 63, + 0, 0, 128, 63, 0, 0, + 128, 63, 0, 0, 0, 0, + 14, 0, 0, 7, 114, 0, + 16, 0, 14, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 51, 0, + 0, 10, 114, 0, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 63, 0, 0, 128, 63, + 0, 0, 128, 63, 0, 0, + 0, 0, 0, 0, 0, 11, + 114, 0, 16, 0, 14, 0, + 0, 0, 70, 2, 16, 128, + 65, 0, 0, 0, 14, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 63, 0, 0, + 128, 63, 0, 0, 128, 63, + 0, 0, 0, 0, 55, 0, + 0, 9, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 13, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 14, 0, 0, 0, 55, 0, + 0, 9, 18, 0, 16, 0, + 15, 0, 0, 0, 58, 0, + 16, 0, 12, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 128, 63, 58, 0, 16, 0, + 2, 0, 0, 0, 24, 0, + 0, 10, 146, 0, 16, 0, + 14, 0, 0, 0, 86, 9, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 128, 63, 24, 0, 0, 10, + 50, 0, 16, 0, 16, 0, + 0, 0, 150, 5, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 55, 0, 0, 12, 98, 0, + 16, 0, 14, 0, 0, 0, + 6, 1, 16, 0, 16, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 86, 6, + 16, 0, 14, 0, 0, 0, + 55, 0, 0, 12, 98, 0, + 16, 0, 15, 0, 0, 0, + 6, 3, 16, 0, 14, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 128, 63, 0, 0, 128, 63, + 0, 0, 0, 0, 86, 6, + 16, 0, 14, 0, 0, 0, + 29, 0, 0, 10, 114, 0, + 16, 0, 14, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 63, 0, 0, 0, 63, + 0, 0, 0, 63, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 50, 0, + 0, 10, 114, 0, 16, 0, + 6, 0, 0, 0, 70, 2, + 16, 128, 65, 0, 0, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 9, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 6, 0, + 0, 0, 70, 2, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 10, 0, 0, 0, + 70, 2, 16, 0, 6, 0, + 0, 0, 32, 0, 0, 11, + 242, 0, 16, 0, 9, 0, + 0, 0, 2, 64, 0, 0, + 5, 0, 0, 0, 6, 0, + 0, 0, 7, 0, 0, 0, + 8, 0, 0, 0, 166, 138, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 50, 0, + 0, 16, 114, 0, 16, 0, + 10, 0, 0, 0, 70, 2, + 16, 128, 65, 0, 0, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 64, + 0, 0, 0, 64, 0, 0, + 0, 64, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 63, 0, 0, 128, 63, + 0, 0, 128, 63, 0, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 10, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 10, 0, 0, 0, + 50, 0, 0, 10, 114, 0, + 16, 0, 10, 0, 0, 0, + 70, 2, 16, 128, 65, 0, + 0, 0, 10, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 15, 114, 0, 16, 0, + 13, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 64, 0, 0, 0, 64, + 0, 0, 0, 64, 0, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 191, 0, 0, + 128, 191, 0, 0, 128, 191, + 0, 0, 0, 0, 50, 0, + 0, 15, 114, 0, 16, 0, + 16, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 65, 0, 0, 128, 65, + 0, 0, 128, 65, 0, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 64, 193, 0, 0, + 64, 193, 0, 0, 64, 193, + 0, 0, 0, 0, 50, 0, + 0, 12, 114, 0, 16, 0, + 16, 0, 0, 0, 70, 2, + 16, 0, 16, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 128, 64, 0, 0, + 128, 64, 0, 0, 128, 64, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 16, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 16, 0, + 0, 0, 75, 0, 0, 5, + 114, 0, 16, 0, 17, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 55, 0, + 0, 9, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 10, 0, 16, 0, 16, 0, + 0, 0, 10, 0, 16, 0, + 17, 0, 0, 0, 0, 0, + 0, 8, 130, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 50, 0, 0, 9, 130, 0, + 16, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 13, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 55, 0, 0, 9, 18, 0, + 16, 0, 18, 0, 0, 0, + 10, 0, 16, 0, 14, 0, + 0, 0, 10, 0, 16, 0, + 10, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 29, 0, 0, 10, 146, 0, + 16, 0, 10, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 62, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 128, 62, 86, 9, 16, 0, + 0, 0, 0, 0, 55, 0, + 0, 9, 146, 0, 16, 0, + 10, 0, 0, 0, 6, 12, + 16, 0, 10, 0, 0, 0, + 86, 9, 16, 0, 16, 0, + 0, 0, 86, 9, 16, 0, + 17, 0, 0, 0, 0, 0, + 0, 8, 146, 0, 16, 0, + 10, 0, 0, 0, 86, 9, + 16, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 6, 12, + 16, 0, 10, 0, 0, 0, + 50, 0, 0, 9, 146, 0, + 16, 0, 10, 0, 0, 0, + 86, 9, 16, 0, 13, 0, + 0, 0, 6, 12, 16, 0, + 10, 0, 0, 0, 86, 9, + 16, 0, 0, 0, 0, 0, + 55, 0, 0, 9, 98, 0, + 16, 0, 18, 0, 0, 0, + 86, 6, 16, 0, 14, 0, + 0, 0, 86, 6, 16, 0, + 10, 0, 0, 0, 6, 3, + 16, 0, 10, 0, 0, 0, + 0, 0, 0, 8, 114, 0, + 16, 0, 10, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 128, + 65, 0, 0, 0, 1, 0, + 0, 0, 50, 0, 0, 13, + 114, 0, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 128, + 65, 0, 0, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 64, 0, 0, + 0, 64, 0, 0, 0, 64, + 0, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 52, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 52, 0, + 0, 7, 130, 0, 16, 0, + 2, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 51, 0, 0, 7, + 130, 0, 16, 0, 3, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 51, 0, 0, 7, 130, 0, + 16, 0, 3, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 0, 0, + 0, 8, 130, 0, 16, 0, + 13, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 128, 65, 0, + 0, 0, 3, 0, 0, 0, + 29, 0, 0, 7, 130, 0, + 16, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 31, 0, + 4, 3, 58, 0, 16, 0, + 2, 0, 0, 0, 49, 0, + 0, 7, 114, 0, 16, 0, + 14, 0, 0, 0, 6, 2, + 16, 0, 1, 0, 0, 0, + 102, 9, 16, 0, 1, 0, + 0, 0, 0, 0, 0, 8, + 242, 0, 16, 0, 16, 0, + 0, 0, 6, 10, 16, 128, + 65, 0, 0, 0, 1, 0, + 0, 0, 150, 4, 16, 0, + 1, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 17, 0, 0, 0, 246, 15, + 16, 0, 13, 0, 0, 0, + 70, 2, 16, 0, 16, 0, + 0, 0, 14, 0, 0, 7, + 114, 0, 16, 0, 13, 0, + 0, 0, 70, 2, 16, 0, + 17, 0, 0, 0, 22, 7, + 16, 0, 16, 0, 0, 0, + 1, 0, 0, 7, 98, 0, + 16, 0, 16, 0, 0, 0, + 6, 3, 16, 0, 13, 0, + 0, 0, 6, 0, 16, 0, + 14, 0, 0, 0, 29, 0, + 0, 7, 146, 0, 16, 0, + 14, 0, 0, 0, 166, 10, + 16, 0, 1, 0, 0, 0, + 86, 1, 16, 0, 1, 0, + 0, 0, 1, 0, 0, 7, + 98, 0, 16, 0, 17, 0, + 0, 0, 246, 13, 16, 0, + 13, 0, 0, 0, 86, 5, + 16, 0, 14, 0, 0, 0, + 1, 0, 0, 7, 50, 0, + 16, 0, 19, 0, 0, 0, + 230, 10, 16, 0, 13, 0, + 0, 0, 166, 10, 16, 0, + 14, 0, 0, 0, 54, 0, + 0, 5, 18, 0, 16, 0, + 17, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 66, 0, + 16, 0, 19, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 55, 0, 0, 9, + 226, 0, 16, 0, 14, 0, + 0, 0, 246, 15, 16, 0, + 14, 0, 0, 0, 6, 9, + 16, 0, 17, 0, 0, 0, + 6, 9, 16, 0, 19, 0, + 0, 0, 54, 0, 0, 5, + 18, 0, 16, 0, 16, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 14, 0, 0, 0, 6, 0, + 16, 0, 14, 0, 0, 0, + 70, 2, 16, 0, 16, 0, + 0, 0, 150, 7, 16, 0, + 14, 0, 0, 0, 18, 0, + 0, 1, 49, 0, 0, 7, + 114, 0, 16, 0, 16, 0, + 0, 0, 86, 6, 16, 0, + 1, 0, 0, 0, 38, 8, + 16, 0, 1, 0, 0, 0, + 0, 0, 0, 8, 242, 0, + 16, 0, 17, 0, 0, 0, + 86, 10, 16, 128, 65, 0, + 0, 0, 1, 0, 0, 0, + 134, 1, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 19, 0, + 0, 0, 246, 15, 16, 0, + 13, 0, 0, 0, 70, 2, + 16, 0, 17, 0, 0, 0, + 14, 0, 0, 7, 114, 0, + 16, 0, 13, 0, 0, 0, + 70, 2, 16, 0, 19, 0, + 0, 0, 22, 7, 16, 0, + 17, 0, 0, 0, 1, 0, + 0, 7, 82, 0, 16, 0, + 17, 0, 0, 0, 6, 3, + 16, 0, 13, 0, 0, 0, + 6, 0, 16, 0, 16, 0, + 0, 0, 29, 0, 0, 7, + 146, 0, 16, 0, 16, 0, + 0, 0, 166, 10, 16, 0, + 1, 0, 0, 0, 6, 4, + 16, 0, 1, 0, 0, 0, + 1, 0, 0, 7, 82, 0, + 16, 0, 19, 0, 0, 0, + 246, 13, 16, 0, 13, 0, + 0, 0, 86, 5, 16, 0, + 16, 0, 0, 0, 1, 0, + 0, 7, 50, 0, 16, 0, + 13, 0, 0, 0, 182, 15, + 16, 0, 13, 0, 0, 0, + 166, 10, 16, 0, 16, 0, + 0, 0, 54, 0, 0, 5, + 34, 0, 16, 0, 19, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 66, 0, 16, 0, + 13, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 13, 0, 0, 0, + 246, 15, 16, 0, 16, 0, + 0, 0, 70, 2, 16, 0, + 19, 0, 0, 0, 70, 2, + 16, 0, 13, 0, 0, 0, + 54, 0, 0, 5, 34, 0, + 16, 0, 17, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 14, 0, + 0, 0, 6, 0, 16, 0, + 16, 0, 0, 0, 70, 2, + 16, 0, 17, 0, 0, 0, + 70, 2, 16, 0, 13, 0, + 0, 0, 21, 0, 0, 1, + 16, 0, 0, 10, 130, 0, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 154, 153, + 153, 62, 61, 10, 23, 63, + 174, 71, 225, 61, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 16, 0, + 0, 10, 130, 0, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 154, 153, 153, 62, + 61, 10, 23, 63, 174, 71, + 225, 61, 0, 0, 0, 0, + 70, 2, 16, 0, 14, 0, + 0, 0, 0, 0, 0, 8, + 130, 0, 16, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 128, 65, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 7, 114, 0, 16, 0, + 13, 0, 0, 0, 246, 15, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 14, 0, + 0, 0, 16, 0, 0, 10, + 130, 0, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, + 154, 153, 153, 62, 61, 10, + 23, 63, 174, 71, 225, 61, + 0, 0, 0, 0, 70, 2, + 16, 0, 13, 0, 0, 0, + 51, 0, 0, 7, 130, 0, + 16, 0, 4, 0, 0, 0, + 26, 0, 16, 0, 13, 0, + 0, 0, 10, 0, 16, 0, + 13, 0, 0, 0, 51, 0, + 0, 7, 130, 0, 16, 0, + 4, 0, 0, 0, 42, 0, + 16, 0, 13, 0, 0, 0, + 58, 0, 16, 0, 4, 0, + 0, 0, 52, 0, 0, 7, + 130, 0, 16, 0, 5, 0, + 0, 0, 26, 0, 16, 0, + 13, 0, 0, 0, 10, 0, + 16, 0, 13, 0, 0, 0, + 52, 0, 0, 7, 130, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 13, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 49, 0, + 0, 7, 130, 0, 16, 0, + 6, 0, 0, 0, 58, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 8, + 114, 0, 16, 0, 14, 0, + 0, 0, 246, 15, 16, 128, + 65, 0, 0, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 13, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 14, 0, 0, 0, 246, 15, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 14, 0, + 0, 0, 0, 0, 0, 8, + 130, 0, 16, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 128, 65, 0, 0, 0, + 4, 0, 0, 0, 14, 0, + 0, 7, 114, 0, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 246, 15, 16, 0, 4, 0, + 0, 0, 0, 0, 0, 7, + 114, 0, 16, 0, 14, 0, + 0, 0, 246, 15, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 13, 0, 0, 0, + 246, 15, 16, 0, 6, 0, + 0, 0, 70, 2, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 13, 0, 0, 0, + 49, 0, 0, 7, 130, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 128, 63, 58, 0, 16, 0, + 5, 0, 0, 0, 0, 0, + 0, 8, 114, 0, 16, 0, + 14, 0, 0, 0, 246, 15, + 16, 128, 65, 0, 0, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 13, 0, 0, 0, + 0, 0, 0, 8, 130, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 128, 65, 0, + 0, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 128, 63, 56, 0, 0, 7, + 114, 0, 16, 0, 14, 0, + 0, 0, 246, 15, 16, 0, + 6, 0, 0, 0, 70, 2, + 16, 0, 14, 0, 0, 0, + 0, 0, 0, 8, 130, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 128, 65, 0, + 0, 0, 3, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 14, 0, 0, 7, + 114, 0, 16, 0, 14, 0, + 0, 0, 70, 2, 16, 0, + 14, 0, 0, 0, 246, 15, + 16, 0, 5, 0, 0, 0, + 0, 0, 0, 7, 114, 0, + 16, 0, 14, 0, 0, 0, + 246, 15, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 14, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 13, 0, 0, 0, 246, 15, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 14, 0, + 0, 0, 70, 2, 16, 0, + 13, 0, 0, 0, 32, 0, + 0, 11, 242, 0, 16, 0, + 14, 0, 0, 0, 2, 64, + 0, 0, 9, 0, 0, 0, + 10, 0, 0, 0, 11, 0, + 0, 0, 12, 0, 0, 0, + 166, 138, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 52, 0, 0, 7, 130, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 52, 0, + 0, 7, 130, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 51, 0, 0, 7, + 130, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 51, 0, 0, 7, 130, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 4, 0, 0, 0, 0, 0, + 0, 8, 130, 0, 16, 0, + 16, 0, 0, 0, 58, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 128, 65, 0, + 0, 0, 4, 0, 0, 0, + 29, 0, 0, 7, 130, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 31, 0, + 4, 3, 58, 0, 16, 0, + 3, 0, 0, 0, 49, 0, + 0, 7, 114, 0, 16, 0, + 17, 0, 0, 0, 6, 2, + 16, 0, 0, 0, 0, 0, + 102, 9, 16, 0, 0, 0, + 0, 0, 0, 0, 0, 8, + 242, 0, 16, 0, 19, 0, + 0, 0, 6, 10, 16, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 150, 4, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 20, 0, 0, 0, 246, 15, + 16, 0, 16, 0, 0, 0, + 70, 2, 16, 0, 19, 0, + 0, 0, 14, 0, 0, 7, + 114, 0, 16, 0, 16, 0, + 0, 0, 70, 2, 16, 0, + 20, 0, 0, 0, 22, 7, + 16, 0, 19, 0, 0, 0, + 1, 0, 0, 7, 98, 0, + 16, 0, 19, 0, 0, 0, + 6, 3, 16, 0, 16, 0, + 0, 0, 6, 0, 16, 0, + 17, 0, 0, 0, 29, 0, + 0, 7, 146, 0, 16, 0, + 17, 0, 0, 0, 166, 10, + 16, 0, 0, 0, 0, 0, + 86, 1, 16, 0, 0, 0, + 0, 0, 1, 0, 0, 7, + 98, 0, 16, 0, 20, 0, + 0, 0, 246, 13, 16, 0, + 16, 0, 0, 0, 86, 5, + 16, 0, 17, 0, 0, 0, + 1, 0, 0, 7, 50, 0, + 16, 0, 21, 0, 0, 0, + 230, 10, 16, 0, 16, 0, + 0, 0, 166, 10, 16, 0, + 17, 0, 0, 0, 54, 0, + 0, 5, 18, 0, 16, 0, + 20, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 66, 0, + 16, 0, 21, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 55, 0, 0, 9, + 226, 0, 16, 0, 17, 0, + 0, 0, 246, 15, 16, 0, + 17, 0, 0, 0, 6, 9, + 16, 0, 20, 0, 0, 0, + 6, 9, 16, 0, 21, 0, + 0, 0, 54, 0, 0, 5, + 18, 0, 16, 0, 19, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 17, 0, 0, 0, 6, 0, + 16, 0, 17, 0, 0, 0, + 70, 2, 16, 0, 19, 0, + 0, 0, 150, 7, 16, 0, + 17, 0, 0, 0, 18, 0, + 0, 1, 49, 0, 0, 7, + 114, 0, 16, 0, 19, 0, + 0, 0, 86, 6, 16, 0, + 0, 0, 0, 0, 38, 8, + 16, 0, 0, 0, 0, 0, + 0, 0, 0, 8, 242, 0, + 16, 0, 20, 0, 0, 0, + 86, 10, 16, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 134, 1, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 21, 0, + 0, 0, 246, 15, 16, 0, + 16, 0, 0, 0, 70, 2, + 16, 0, 20, 0, 0, 0, + 14, 0, 0, 7, 114, 0, + 16, 0, 16, 0, 0, 0, + 70, 2, 16, 0, 21, 0, + 0, 0, 22, 7, 16, 0, + 20, 0, 0, 0, 1, 0, + 0, 7, 82, 0, 16, 0, + 20, 0, 0, 0, 6, 3, + 16, 0, 16, 0, 0, 0, + 6, 0, 16, 0, 19, 0, + 0, 0, 29, 0, 0, 7, + 146, 0, 16, 0, 19, 0, + 0, 0, 166, 10, 16, 0, + 0, 0, 0, 0, 6, 4, + 16, 0, 0, 0, 0, 0, + 1, 0, 0, 7, 82, 0, + 16, 0, 21, 0, 0, 0, + 246, 13, 16, 0, 16, 0, + 0, 0, 86, 5, 16, 0, + 19, 0, 0, 0, 1, 0, + 0, 7, 50, 0, 16, 0, + 16, 0, 0, 0, 182, 15, + 16, 0, 16, 0, 0, 0, + 166, 10, 16, 0, 19, 0, + 0, 0, 54, 0, 0, 5, + 34, 0, 16, 0, 21, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 66, 0, 16, 0, + 16, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 16, 0, 0, 0, + 246, 15, 16, 0, 19, 0, + 0, 0, 70, 2, 16, 0, + 21, 0, 0, 0, 70, 2, + 16, 0, 16, 0, 0, 0, + 54, 0, 0, 5, 34, 0, + 16, 0, 20, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 17, 0, + 0, 0, 6, 0, 16, 0, + 19, 0, 0, 0, 70, 2, + 16, 0, 20, 0, 0, 0, + 70, 2, 16, 0, 16, 0, + 0, 0, 21, 0, 0, 1, + 16, 0, 0, 10, 130, 0, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 154, 153, + 153, 62, 61, 10, 23, 63, + 174, 71, 225, 61, 0, 0, + 0, 0, 70, 2, 16, 0, + 17, 0, 0, 0, 0, 0, + 0, 8, 130, 0, 16, 0, + 3, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 128, 65, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 7, 114, 0, + 16, 0, 16, 0, 0, 0, + 246, 15, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 17, 0, 0, 0, 16, 0, + 0, 10, 130, 0, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 154, 153, 153, 62, + 61, 10, 23, 63, 174, 71, + 225, 61, 0, 0, 0, 0, + 70, 2, 16, 0, 16, 0, + 0, 0, 51, 0, 0, 7, + 130, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 16, 0, 0, 0, 10, 0, + 16, 0, 16, 0, 0, 0, + 51, 0, 0, 7, 130, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 16, 0, + 0, 0, 58, 0, 16, 0, + 4, 0, 0, 0, 52, 0, + 0, 7, 130, 0, 16, 0, + 5, 0, 0, 0, 26, 0, + 16, 0, 16, 0, 0, 0, + 10, 0, 16, 0, 16, 0, + 0, 0, 52, 0, 0, 7, + 130, 0, 16, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 16, 0, 0, 0, 58, 0, + 16, 0, 5, 0, 0, 0, + 49, 0, 0, 7, 130, 0, + 16, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 8, 114, 0, 16, 0, + 17, 0, 0, 0, 246, 15, + 16, 128, 65, 0, 0, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 16, 0, 0, 0, + 56, 0, 0, 7, 114, 0, + 16, 0, 17, 0, 0, 0, + 246, 15, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 17, 0, 0, 0, 0, 0, + 0, 8, 130, 0, 16, 0, + 4, 0, 0, 0, 58, 0, + 16, 0, 3, 0, 0, 0, + 58, 0, 16, 128, 65, 0, + 0, 0, 4, 0, 0, 0, + 14, 0, 0, 7, 114, 0, + 16, 0, 17, 0, 0, 0, + 70, 2, 16, 0, 17, 0, + 0, 0, 246, 15, 16, 0, + 4, 0, 0, 0, 0, 0, + 0, 7, 114, 0, 16, 0, + 17, 0, 0, 0, 246, 15, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 17, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 16, 0, + 0, 0, 246, 15, 16, 0, + 6, 0, 0, 0, 70, 2, + 16, 0, 17, 0, 0, 0, + 70, 2, 16, 0, 16, 0, + 0, 0, 49, 0, 0, 7, + 130, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 128, 63, 58, 0, + 16, 0, 5, 0, 0, 0, + 0, 0, 0, 8, 114, 0, + 16, 0, 17, 0, 0, 0, + 246, 15, 16, 128, 65, 0, + 0, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 16, 0, + 0, 0, 0, 0, 0, 8, + 130, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 128, + 65, 0, 0, 0, 3, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 128, 63, 56, 0, + 0, 7, 114, 0, 16, 0, + 17, 0, 0, 0, 246, 15, + 16, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 17, 0, + 0, 0, 0, 0, 0, 8, + 130, 0, 16, 0, 5, 0, + 0, 0, 58, 0, 16, 128, + 65, 0, 0, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 14, 0, + 0, 7, 114, 0, 16, 0, + 17, 0, 0, 0, 70, 2, + 16, 0, 17, 0, 0, 0, + 246, 15, 16, 0, 5, 0, + 0, 0, 0, 0, 0, 7, + 114, 0, 16, 0, 17, 0, + 0, 0, 246, 15, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 17, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 16, 0, 0, 0, + 246, 15, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 17, 0, 0, 0, 70, 2, + 16, 0, 16, 0, 0, 0, + 16, 0, 0, 10, 130, 0, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 154, 153, + 153, 62, 61, 10, 23, 63, + 174, 71, 225, 61, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 0, 0, + 0, 8, 130, 0, 16, 0, + 4, 0, 0, 0, 58, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 128, 65, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 7, 114, 0, + 16, 0, 17, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 246, 15, 16, 0, + 4, 0, 0, 0, 16, 0, + 0, 10, 130, 0, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 154, 153, 153, 62, + 61, 10, 23, 63, 174, 71, + 225, 61, 0, 0, 0, 0, + 70, 2, 16, 0, 17, 0, + 0, 0, 51, 0, 0, 7, + 130, 0, 16, 0, 5, 0, + 0, 0, 26, 0, 16, 0, + 17, 0, 0, 0, 10, 0, + 16, 0, 17, 0, 0, 0, + 51, 0, 0, 7, 130, 0, + 16, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 17, 0, + 0, 0, 58, 0, 16, 0, + 5, 0, 0, 0, 52, 0, + 0, 7, 130, 0, 16, 0, + 6, 0, 0, 0, 26, 0, + 16, 0, 17, 0, 0, 0, + 10, 0, 16, 0, 17, 0, + 0, 0, 52, 0, 0, 7, + 130, 0, 16, 0, 6, 0, + 0, 0, 42, 0, 16, 0, + 17, 0, 0, 0, 58, 0, + 16, 0, 6, 0, 0, 0, + 49, 0, 0, 7, 130, 0, + 16, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 8, 114, 0, 16, 0, + 19, 0, 0, 0, 246, 15, + 16, 128, 65, 0, 0, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 17, 0, 0, 0, + 56, 0, 0, 7, 114, 0, + 16, 0, 19, 0, 0, 0, + 246, 15, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 19, 0, 0, 0, 0, 0, + 0, 8, 130, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 4, 0, 0, 0, + 58, 0, 16, 128, 65, 0, + 0, 0, 5, 0, 0, 0, + 14, 0, 0, 7, 114, 0, + 16, 0, 19, 0, 0, 0, + 70, 2, 16, 0, 19, 0, + 0, 0, 246, 15, 16, 0, + 5, 0, 0, 0, 0, 0, + 0, 7, 114, 0, 16, 0, + 19, 0, 0, 0, 246, 15, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 19, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 17, 0, + 0, 0, 246, 15, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 19, 0, 0, 0, + 70, 2, 16, 0, 17, 0, + 0, 0, 49, 0, 0, 7, + 130, 0, 16, 0, 5, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 128, 63, 58, 0, + 16, 0, 6, 0, 0, 0, + 0, 0, 0, 8, 114, 0, + 16, 0, 19, 0, 0, 0, + 246, 15, 16, 128, 65, 0, + 0, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 17, 0, + 0, 0, 0, 0, 0, 8, + 130, 0, 16, 0, 7, 0, + 0, 0, 58, 0, 16, 128, + 65, 0, 0, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 128, 63, 56, 0, + 0, 7, 114, 0, 16, 0, + 19, 0, 0, 0, 246, 15, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 19, 0, + 0, 0, 0, 0, 0, 8, + 130, 0, 16, 0, 6, 0, + 0, 0, 58, 0, 16, 128, + 65, 0, 0, 0, 4, 0, + 0, 0, 58, 0, 16, 0, + 6, 0, 0, 0, 14, 0, + 0, 7, 114, 0, 16, 0, + 19, 0, 0, 0, 70, 2, + 16, 0, 19, 0, 0, 0, + 246, 15, 16, 0, 6, 0, + 0, 0, 0, 0, 0, 7, + 114, 0, 16, 0, 19, 0, + 0, 0, 246, 15, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 19, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 17, 0, 0, 0, + 246, 15, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 19, 0, 0, 0, 70, 2, + 16, 0, 17, 0, 0, 0, + 32, 0, 0, 11, 50, 0, + 16, 0, 19, 0, 0, 0, + 2, 64, 0, 0, 13, 0, + 0, 0, 14, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 166, 138, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 8, + 130, 0, 16, 0, 2, 0, + 0, 0, 58, 0, 16, 128, + 65, 0, 0, 0, 2, 0, + 0, 0, 58, 0, 16, 0, + 3, 0, 0, 0, 0, 0, + 0, 7, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 246, 15, 16, 0, 2, 0, + 0, 0, 16, 0, 0, 10, + 130, 0, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, + 154, 153, 153, 62, 61, 10, + 23, 63, 174, 71, 225, 61, + 0, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 51, 0, 0, 7, 130, 0, + 16, 0, 3, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 51, 0, + 0, 7, 130, 0, 16, 0, + 3, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 3, 0, + 0, 0, 52, 0, 0, 7, + 130, 0, 16, 0, 4, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 52, 0, 0, 7, 130, 0, + 16, 0, 4, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 4, 0, 0, 0, 49, 0, + 0, 7, 130, 0, 16, 0, + 5, 0, 0, 0, 58, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 8, + 114, 0, 16, 0, 20, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 246, 15, + 16, 128, 65, 0, 0, 0, + 2, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 20, 0, 0, 0, 246, 15, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 20, 0, + 0, 0, 0, 0, 0, 8, + 130, 0, 16, 0, 3, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 128, 65, 0, 0, 0, + 3, 0, 0, 0, 14, 0, + 0, 7, 114, 0, 16, 0, + 20, 0, 0, 0, 70, 2, + 16, 0, 20, 0, 0, 0, + 246, 15, 16, 0, 3, 0, + 0, 0, 0, 0, 0, 7, + 114, 0, 16, 0, 20, 0, + 0, 0, 246, 15, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 20, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 0, 0, 0, 0, + 246, 15, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 20, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 49, 0, 0, 7, 130, 0, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 128, 63, 58, 0, 16, 0, + 4, 0, 0, 0, 0, 0, + 0, 8, 114, 0, 16, 0, + 20, 0, 0, 0, 246, 15, + 16, 128, 65, 0, 0, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 0, 0, 0, 8, 130, 0, + 16, 0, 5, 0, 0, 0, + 58, 0, 16, 128, 65, 0, + 0, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 128, 63, 56, 0, 0, 7, + 114, 0, 16, 0, 20, 0, + 0, 0, 246, 15, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 20, 0, 0, 0, + 0, 0, 0, 8, 130, 0, + 16, 0, 4, 0, 0, 0, + 58, 0, 16, 128, 65, 0, + 0, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 4, 0, + 0, 0, 14, 0, 0, 7, + 114, 0, 16, 0, 20, 0, + 0, 0, 70, 2, 16, 0, + 20, 0, 0, 0, 246, 15, + 16, 0, 4, 0, 0, 0, + 0, 0, 0, 7, 114, 0, + 16, 0, 20, 0, 0, 0, + 246, 15, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 20, 0, 0, 0, 55, 0, + 0, 9, 114, 0, 16, 0, + 0, 0, 0, 0, 246, 15, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 20, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 1, 0, + 0, 7, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 86, 5, 16, 0, 19, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 0, 0, + 0, 0, 6, 0, 16, 0, + 19, 0, 0, 0, 70, 2, + 16, 0, 17, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 0, 0, + 0, 0, 246, 15, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 16, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 0, 0, + 0, 0, 166, 10, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 13, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 55, 0, 0, 9, + 114, 0, 16, 0, 0, 0, + 0, 0, 86, 5, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 55, 0, 0, 10, + 114, 0, 16, 0, 0, 0, + 0, 0, 6, 0, 16, 0, + 14, 0, 0, 0, 70, 2, + 16, 128, 129, 0, 0, 0, + 10, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 0, 0, 0, 0, + 246, 15, 16, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 18, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 0, 0, 0, 0, + 166, 10, 16, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 6, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 0, 0, 0, 0, + 86, 5, 16, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 15, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 0, 0, 0, 0, + 6, 0, 16, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 12, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 0, 0, 0, 0, + 246, 15, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 11, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 0, 0, 0, 0, + 166, 10, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 7, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 0, 0, 0, 0, + 86, 5, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 55, 0, 0, 9, 114, 0, + 16, 0, 0, 0, 0, 0, + 6, 0, 16, 0, 8, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 55, 0, 0, 10, 114, 0, + 16, 0, 0, 0, 0, 0, + 166, 138, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 0, 0, + 0, 8, 18, 0, 16, 0, + 2, 0, 0, 0, 58, 0, + 16, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 128, 63, + 56, 0, 0, 7, 114, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 9, 114, 0, 16, 0, + 0, 0, 0, 0, 6, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 32, 16, 0, + 0, 0, 0, 0, 246, 15, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 130, 32, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 62, 0, + 0, 1, 83, 84, 65, 84, + 116, 0, 0, 0, 77, 1, + 0, 0, 22, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 191, 0, 0, 0, + 9, 0, 0, 0, 13, 0, + 0, 0, 13, 0, 0, 0, + 10, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 24, 0, 0, 0, + 45, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 82, 68, 69, 70, 156, 3, + 0, 0, 1, 0, 0, 0, + 80, 1, 0, 0, 8, 0, + 0, 0, 28, 0, 0, 0, + 0, 4, 255, 255, 0, 1, + 0, 0, 116, 3, 0, 0, + 28, 1, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 37, 1, 0, 0, + 2, 0, 0, 0, 5, 0, + 0, 0, 4, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 1, 0, 0, 0, + 13, 0, 0, 0, 42, 1, + 0, 0, 2, 0, 0, 0, + 5, 0, 0, 0, 4, 0, + 0, 0, 255, 255, 255, 255, + 1, 0, 0, 0, 1, 0, + 0, 0, 13, 0, 0, 0, + 45, 1, 0, 0, 2, 0, + 0, 0, 5, 0, 0, 0, + 4, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 0, 0, + 1, 0, 0, 0, 13, 0, + 0, 0, 49, 1, 0, 0, + 2, 0, 0, 0, 5, 0, + 0, 0, 4, 0, 0, 0, + 255, 255, 255, 255, 3, 0, + 0, 0, 1, 0, 0, 0, + 13, 0, 0, 0, 53, 1, + 0, 0, 2, 0, 0, 0, + 5, 0, 0, 0, 4, 0, + 0, 0, 255, 255, 255, 255, + 5, 0, 0, 0, 1, 0, + 0, 0, 13, 0, 0, 0, + 59, 1, 0, 0, 2, 0, + 0, 0, 5, 0, 0, 0, + 4, 0, 0, 0, 255, 255, + 255, 255, 6, 0, 0, 0, + 1, 0, 0, 0, 13, 0, + 0, 0, 69, 1, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 115, 83, + 97, 109, 112, 108, 101, 114, + 0, 116, 82, 71, 66, 0, + 116, 89, 0, 116, 67, 98, + 0, 116, 67, 114, 0, 116, + 77, 97, 115, 107, 0, 116, + 66, 97, 99, 107, 100, 114, + 111, 112, 0, 36, 71, 108, + 111, 98, 97, 108, 115, 0, + 171, 171, 69, 1, 0, 0, + 11, 0, 0, 0, 104, 1, + 0, 0, 96, 1, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 112, 2, 0, 0, + 0, 0, 0, 0, 16, 0, + 0, 0, 2, 0, 0, 0, + 124, 2, 0, 0, 0, 0, + 0, 0, 140, 2, 0, 0, + 16, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 156, 2, 0, 0, 0, 0, + 0, 0, 172, 2, 0, 0, + 32, 0, 0, 0, 16, 0, + 0, 0, 2, 0, 0, 0, + 188, 2, 0, 0, 0, 0, + 0, 0, 204, 2, 0, 0, + 48, 0, 0, 0, 44, 0, + 0, 0, 2, 0, 0, 0, + 220, 2, 0, 0, 0, 0, + 0, 0, 236, 2, 0, 0, + 96, 0, 0, 0, 64, 0, + 0, 0, 0, 0, 0, 0, + 252, 2, 0, 0, 0, 0, + 0, 0, 12, 3, 0, 0, + 160, 0, 0, 0, 64, 0, + 0, 0, 0, 0, 0, 0, + 252, 2, 0, 0, 0, 0, + 0, 0, 24, 3, 0, 0, + 224, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 124, 2, 0, 0, 0, 0, + 0, 0, 44, 3, 0, 0, + 240, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 60, 3, 0, 0, 0, 0, + 0, 0, 76, 3, 0, 0, + 0, 1, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 60, 3, 0, 0, 0, 0, + 0, 0, 87, 3, 0, 0, + 16, 1, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 60, 3, 0, 0, 0, 0, + 0, 0, 97, 3, 0, 0, + 32, 1, 0, 0, 64, 0, + 0, 0, 0, 0, 0, 0, + 252, 2, 0, 0, 0, 0, + 0, 0, 102, 76, 97, 121, + 101, 114, 67, 111, 108, 111, + 114, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 102, 76, 97, 121, 101, 114, + 79, 112, 97, 99, 105, 116, + 121, 0, 171, 171, 0, 0, + 3, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 105, 66, 108, 101, + 110, 100, 67, 111, 110, 102, + 105, 103, 0, 171, 171, 171, + 1, 0, 19, 0, 1, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 109, 89, + 117, 118, 67, 111, 108, 111, + 114, 77, 97, 116, 114, 105, + 120, 0, 2, 0, 3, 0, + 3, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 109, 76, 97, 121, 101, 114, + 84, 114, 97, 110, 115, 102, + 111, 114, 109, 0, 3, 0, + 3, 0, 4, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 109, 80, 114, 111, + 106, 101, 99, 116, 105, 111, + 110, 0, 118, 82, 101, 110, + 100, 101, 114, 84, 97, 114, + 103, 101, 116, 79, 102, 102, + 115, 101, 116, 0, 118, 84, + 101, 120, 116, 117, 114, 101, + 67, 111, 111, 114, 100, 115, + 0, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 118, 76, 97, 121, 101, 114, + 81, 117, 97, 100, 0, 118, + 77, 97, 115, 107, 81, 117, + 97, 100, 0, 109, 66, 97, + 99, 107, 100, 114, 111, 112, + 84, 114, 97, 110, 115, 102, + 111, 114, 109, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 73, 83, 71, 78, + 128, 0, 0, 0, 4, 0, + 0, 0, 8, 0, 0, 0, + 104, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 116, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 3, 3, 0, 0, + 116, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 12, 12, 0, 0, + 116, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 7, 7, 0, 0, + 83, 86, 95, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 171, 171, 171, + 79, 83, 71, 78, 44, 0, + 0, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 83, 86, + 95, 84, 97, 114, 103, 101, + 116, 0, 171, 171 +}; ShaderBytes sBlendShader = { BlendShader, sizeof(BlendShader) }; diff --git a/gfx/layers/d3d9/CompositorD3D9.cpp b/gfx/layers/d3d9/CompositorD3D9.cpp index 80f61e407481..55af0a1c0da5 100644 --- a/gfx/layers/d3d9/CompositorD3D9.cpp +++ b/gfx/layers/d3d9/CompositorD3D9.cpp @@ -16,6 +16,7 @@ #include "mozilla/layers/LayerManagerComposite.h" #include "gfxPrefs.h" #include "gfxCrashReporterUtils.h" +#include "gfxUtils.h" #include "mozilla/layers/CompositorBridgeParent.h" #include "mozilla/widget/WinCompositorWidget.h" #include "D3D9SurfaceImage.h" @@ -415,6 +416,10 @@ CompositorD3D9::DrawQuad(const gfx::Rect &aRect, return; } + + float* yuvToRgb = gfxUtils::Get4x3YuvColorMatrix(ycbcrEffect->mYUVColorSpace); + d3d9Device->SetPixelShaderConstantF(CBmYuvColorMatrix, yuvToRgb, 3); + TextureSourceD3D9* sourceY = source->GetSubSource(Y)->AsSourceD3D9(); TextureSourceD3D9* sourceCb = source->GetSubSource(Cb)->AsSourceD3D9(); TextureSourceD3D9* sourceCr = source->GetSubSource(Cr)->AsSourceD3D9(); diff --git a/gfx/layers/d3d9/DeviceManagerD3D9.h b/gfx/layers/d3d9/DeviceManagerD3D9.h index 2564c65d802d..99bf65839d04 100644 --- a/gfx/layers/d3d9/DeviceManagerD3D9.h +++ b/gfx/layers/d3d9/DeviceManagerD3D9.h @@ -31,6 +31,7 @@ const int CBvLayerQuad = 10; // we don't use opacity with solid color shaders const int CBfLayerOpacity = 0; const int CBvColor = 0; +const int CBmYuvColorMatrix = 1; enum DeviceManagerState { // The device and swap chain are OK. diff --git a/gfx/layers/d3d9/LayerManagerD3D9Shaders.h b/gfx/layers/d3d9/LayerManagerD3D9Shaders.h index 7395636dc1f0..105970c0a8ab 100755 --- a/gfx/layers/d3d9/LayerManagerD3D9Shaders.h +++ b/gfx/layers/d3d9/LayerManagerD3D9Shaders.h @@ -1,6 +1,6 @@ #if 0 // -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 // // Parameters: // @@ -47,7 +47,7 @@ const BYTE LayerQuadVS[] = { 0, 2, 254, 255, 254, 255, - 79, 0, 67, 84, 65, 66, + 76, 0, 67, 84, 65, 66, 28, 0, 0, 0, 2, 1, 0, 0, 0, 2, 254, 255, 5, 0, 0, 0, 28, 0, @@ -97,9 +97,7 @@ const BYTE LayerQuadVS[] = 32, 83, 104, 97, 100, 101, 114, 32, 67, 111, 109, 112, 105, 108, 101, 114, 32, 49, - 48, 46, 48, 46, 49, 48, - 48, 49, 49, 46, 49, 54, - 51, 56, 52, 0, 171, 171, + 48, 46, 49, 0, 171, 171, 81, 0, 0, 5, 11, 0, 15, 160, 0, 0, 0, 191, 0, 0, 0, 0, 0, 0, @@ -155,7 +153,7 @@ const BYTE LayerQuadVS[] = }; #if 0 // -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 // // Parameters: // @@ -184,7 +182,7 @@ const BYTE LayerQuadVS[] = const BYTE RGBAShaderPS[] = { 0, 2, 255, 255, 254, 255, - 46, 0, 67, 84, 65, 66, + 43, 0, 67, 84, 65, 66, 28, 0, 0, 0, 127, 0, 0, 0, 0, 2, 255, 255, 2, 0, 0, 0, 28, 0, @@ -212,9 +210,7 @@ const BYTE RGBAShaderPS[] = 76, 32, 83, 104, 97, 100, 101, 114, 32, 67, 111, 109, 112, 105, 108, 101, 114, 32, - 49, 48, 46, 48, 46, 49, - 48, 48, 49, 49, 46, 49, - 54, 51, 56, 52, 0, 171, + 49, 48, 46, 49, 0, 171, 31, 0, 0, 2, 0, 0, 0, 128, 0, 0, 3, 176, 31, 0, 0, 2, 0, 0, @@ -230,7 +226,7 @@ const BYTE RGBAShaderPS[] = }; #if 0 // -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 // // Parameters: // @@ -267,7 +263,7 @@ const BYTE RGBAShaderPS[] = const BYTE ComponentPass1ShaderPS[] = { 0, 2, 255, 255, 254, 255, - 58, 0, 67, 84, 65, 66, + 55, 0, 67, 84, 65, 66, 28, 0, 0, 0, 175, 0, 0, 0, 0, 2, 255, 255, 3, 0, 0, 0, 28, 0, @@ -303,9 +299,7 @@ const BYTE ComponentPass1ShaderPS[] = 76, 32, 83, 104, 97, 100, 101, 114, 32, 67, 111, 109, 112, 105, 108, 101, 114, 32, - 49, 48, 46, 48, 46, 49, - 48, 48, 49, 49, 46, 49, - 54, 51, 56, 52, 0, 171, + 49, 48, 46, 49, 0, 171, 81, 0, 0, 5, 1, 0, 15, 160, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, @@ -337,7 +331,7 @@ const BYTE ComponentPass1ShaderPS[] = }; #if 0 // -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 // // Parameters: // @@ -373,7 +367,7 @@ const BYTE ComponentPass1ShaderPS[] = const BYTE ComponentPass2ShaderPS[] = { 0, 2, 255, 255, 254, 255, - 58, 0, 67, 84, 65, 66, + 55, 0, 67, 84, 65, 66, 28, 0, 0, 0, 175, 0, 0, 0, 0, 2, 255, 255, 3, 0, 0, 0, 28, 0, @@ -409,9 +403,7 @@ const BYTE ComponentPass2ShaderPS[] = 76, 32, 83, 104, 97, 100, 101, 114, 32, 67, 111, 109, 112, 105, 108, 101, 114, 32, - 49, 48, 46, 48, 46, 49, - 48, 48, 49, 49, 46, 49, - 54, 51, 56, 52, 0, 171, + 49, 48, 46, 49, 0, 171, 81, 0, 0, 5, 1, 0, 15, 160, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, @@ -441,7 +433,7 @@ const BYTE ComponentPass2ShaderPS[] = }; #if 0 // -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 // // Parameters: // @@ -472,7 +464,7 @@ const BYTE ComponentPass2ShaderPS[] = const BYTE RGBShaderPS[] = { 0, 2, 255, 255, 254, 255, - 46, 0, 67, 84, 65, 66, + 43, 0, 67, 84, 65, 66, 28, 0, 0, 0, 127, 0, 0, 0, 0, 2, 255, 255, 2, 0, 0, 0, 28, 0, @@ -500,9 +492,7 @@ const BYTE RGBShaderPS[] = 76, 32, 83, 104, 97, 100, 101, 114, 32, 67, 111, 109, 112, 105, 108, 101, 114, 32, - 49, 48, 46, 48, 46, 49, - 48, 48, 49, 49, 46, 49, - 54, 51, 56, 52, 0, 171, + 49, 48, 46, 49, 0, 171, 81, 0, 0, 5, 1, 0, 15, 160, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, @@ -524,11 +514,12 @@ const BYTE RGBShaderPS[] = }; #if 0 // -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 // // Parameters: // // float fLayerOpacity; +// row_major float3x3 mYuvColorMatrix; // sampler2D s2DCb; // sampler2D s2DCr; // sampler2D s2DY; @@ -536,148 +527,141 @@ const BYTE RGBShaderPS[] = // // Registers: // -// Name Reg Size -// ------------- ----- ---- -// fLayerOpacity c0 1 -// s2DY s0 1 -// s2DCb s1 1 -// s2DCr s2 1 +// Name Reg Size +// --------------- ----- ---- +// fLayerOpacity c0 1 +// mYuvColorMatrix c1 3 +// s2DY s0 1 +// s2DCb s1 1 +// s2DCr s2 1 // ps_2_0 - def c1, -0.5, -0.0625, 1.16400003, 1.59599996 - def c2, 0.813000023, 0.391000003, 2.01799989, 1 + def c4, -0.0627499968, -0.50195998, 1, 0 dcl t0.xy dcl_2d s0 dcl_2d s1 dcl_2d s2 - texld r0, t0, s2 - texld r1, t0, s0 - texld r2, t0, s1 - add r0.x, r0.w, c1.x - add r0.y, r1.w, c1.y - mul r0.y, r0.y, c1.z - mad r0.z, r0.x, -c2.x, r0.y - mad r1.x, r0.x, c1.w, r0.y - add r0.x, r2.w, c1.x - mad r1.y, r0.x, -c2.y, r0.z - mad r1.z, r0.x, c2.z, r0.y - mov r1.w, c2.w - mul r0, r1, c0.x + texld r0, t0, s0 + texld r1, t0, s1 + texld r2, t0, s2 + mov r3.w, c4.z + add r0.x, r0.w, c4.x + add r0.y, r1.w, c4.y + add r0.z, r2.w, c4.y + dp3 r3.x, c1, r0 + dp3 r3.y, c2, r0 + dp3 r3.z, c3, r0 + mul r0, r3, c0.x mov oC0, r0 -// approximately 14 instruction slots used (3 texture, 11 arithmetic) +// approximately 12 instruction slots used (3 texture, 9 arithmetic) #endif const BYTE YCbCrShaderPS[] = { 0, 2, 255, 255, 254, 255, - 69, 0, 67, 84, 65, 66, - 28, 0, 0, 0, 219, 0, + 79, 0, 67, 84, 65, 66, + 28, 0, 0, 0, 15, 1, 0, 0, 0, 2, 255, 255, - 4, 0, 0, 0, 28, 0, + 5, 0, 0, 0, 28, 0, 0, 0, 0, 1, 0, 0, - 212, 0, 0, 0, 108, 0, + 8, 1, 0, 0, 128, 0, 0, 0, 2, 0, 0, 0, - 1, 0, 0, 0, 124, 0, + 1, 0, 0, 0, 144, 0, 0, 0, 0, 0, 0, 0, - 140, 0, 0, 0, 3, 0, - 1, 0, 1, 0, 0, 0, - 148, 0, 0, 0, 0, 0, - 0, 0, 164, 0, 0, 0, - 3, 0, 2, 0, 1, 0, - 0, 0, 172, 0, 0, 0, - 0, 0, 0, 0, 188, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 196, 0, - 0, 0, 0, 0, 0, 0, - 102, 76, 97, 121, 101, 114, - 79, 112, 97, 99, 105, 116, - 121, 0, 171, 171, 0, 0, + 160, 0, 0, 0, 2, 0, + 1, 0, 3, 0, 6, 0, + 176, 0, 0, 0, 0, 0, + 0, 0, 192, 0, 0, 0, 3, 0, 1, 0, 1, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 115, 50, 68, 67, - 98, 0, 171, 171, 4, 0, - 12, 0, 1, 0, 1, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 115, 50, 68, 67, - 114, 0, 171, 171, 4, 0, - 12, 0, 1, 0, 1, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 115, 50, 68, 89, - 0, 171, 171, 171, 4, 0, - 12, 0, 1, 0, 1, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 112, 115, 95, 50, - 95, 48, 0, 77, 105, 99, - 114, 111, 115, 111, 102, 116, - 32, 40, 82, 41, 32, 72, - 76, 83, 76, 32, 83, 104, - 97, 100, 101, 114, 32, 67, - 111, 109, 112, 105, 108, 101, - 114, 32, 49, 48, 46, 48, - 46, 49, 48, 48, 49, 49, - 46, 49, 54, 51, 56, 52, - 0, 171, 81, 0, 0, 5, - 1, 0, 15, 160, 0, 0, - 0, 191, 0, 0, 128, 189, - 244, 253, 148, 63, 186, 73, - 204, 63, 81, 0, 0, 5, - 2, 0, 15, 160, 197, 32, - 80, 63, 39, 49, 200, 62, - 233, 38, 1, 64, 0, 0, - 128, 63, 31, 0, 0, 2, - 0, 0, 0, 128, 0, 0, - 3, 176, 31, 0, 0, 2, - 0, 0, 0, 144, 0, 8, - 15, 160, 31, 0, 0, 2, - 0, 0, 0, 144, 1, 8, - 15, 160, 31, 0, 0, 2, - 0, 0, 0, 144, 2, 8, - 15, 160, 66, 0, 0, 3, - 0, 0, 15, 128, 0, 0, - 228, 176, 2, 8, 228, 160, - 66, 0, 0, 3, 1, 0, + 0, 0, 200, 0, 0, 0, + 0, 0, 0, 0, 216, 0, + 0, 0, 3, 0, 2, 0, + 1, 0, 0, 0, 224, 0, + 0, 0, 0, 0, 0, 0, + 240, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 248, 0, 0, 0, 0, 0, + 0, 0, 102, 76, 97, 121, + 101, 114, 79, 112, 97, 99, + 105, 116, 121, 0, 171, 171, + 0, 0, 3, 0, 1, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 109, 89, + 117, 118, 67, 111, 108, 111, + 114, 77, 97, 116, 114, 105, + 120, 0, 2, 0, 3, 0, + 3, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 115, 50, 68, 67, 98, 0, + 171, 171, 4, 0, 12, 0, + 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 115, 50, 68, 67, 114, 0, + 171, 171, 4, 0, 12, 0, + 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 115, 50, 68, 89, 0, 171, + 171, 171, 4, 0, 12, 0, + 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 112, 115, 95, 50, 95, 48, + 0, 77, 105, 99, 114, 111, + 115, 111, 102, 116, 32, 40, + 82, 41, 32, 72, 76, 83, + 76, 32, 83, 104, 97, 100, + 101, 114, 32, 67, 111, 109, + 112, 105, 108, 101, 114, 32, + 49, 48, 46, 49, 0, 171, + 81, 0, 0, 5, 4, 0, + 15, 160, 18, 131, 128, 189, + 115, 128, 0, 191, 0, 0, + 128, 63, 0, 0, 0, 0, + 31, 0, 0, 2, 0, 0, + 0, 128, 0, 0, 3, 176, + 31, 0, 0, 2, 0, 0, + 0, 144, 0, 8, 15, 160, + 31, 0, 0, 2, 0, 0, + 0, 144, 1, 8, 15, 160, + 31, 0, 0, 2, 0, 0, + 0, 144, 2, 8, 15, 160, + 66, 0, 0, 3, 0, 0, 15, 128, 0, 0, 228, 176, 0, 8, 228, 160, 66, 0, - 0, 3, 2, 0, 15, 128, + 0, 3, 1, 0, 15, 128, 0, 0, 228, 176, 1, 8, - 228, 160, 2, 0, 0, 3, - 0, 0, 1, 128, 0, 0, - 255, 128, 1, 0, 0, 160, + 228, 160, 66, 0, 0, 3, + 2, 0, 15, 128, 0, 0, + 228, 176, 2, 8, 228, 160, + 1, 0, 0, 2, 3, 0, + 8, 128, 4, 0, 170, 160, 2, 0, 0, 3, 0, 0, - 2, 128, 1, 0, 255, 128, - 1, 0, 85, 160, 5, 0, + 1, 128, 0, 0, 255, 128, + 4, 0, 0, 160, 2, 0, 0, 3, 0, 0, 2, 128, - 0, 0, 85, 128, 1, 0, - 170, 160, 4, 0, 0, 4, - 0, 0, 4, 128, 0, 0, - 0, 128, 2, 0, 0, 161, - 0, 0, 85, 128, 4, 0, - 0, 4, 1, 0, 1, 128, - 0, 0, 0, 128, 1, 0, - 255, 160, 0, 0, 85, 128, - 2, 0, 0, 3, 0, 0, - 1, 128, 2, 0, 255, 128, - 1, 0, 0, 160, 4, 0, - 0, 4, 1, 0, 2, 128, - 0, 0, 0, 128, 2, 0, - 85, 161, 0, 0, 170, 128, - 4, 0, 0, 4, 1, 0, - 4, 128, 0, 0, 0, 128, - 2, 0, 170, 160, 0, 0, - 85, 128, 1, 0, 0, 2, - 1, 0, 8, 128, 2, 0, - 255, 160, 5, 0, 0, 3, - 0, 0, 15, 128, 1, 0, - 228, 128, 0, 0, 0, 160, - 1, 0, 0, 2, 0, 8, - 15, 128, 0, 0, 228, 128, - 255, 255, 0, 0 + 1, 0, 255, 128, 4, 0, + 85, 160, 2, 0, 0, 3, + 0, 0, 4, 128, 2, 0, + 255, 128, 4, 0, 85, 160, + 8, 0, 0, 3, 3, 0, + 1, 128, 1, 0, 228, 160, + 0, 0, 228, 128, 8, 0, + 0, 3, 3, 0, 2, 128, + 2, 0, 228, 160, 0, 0, + 228, 128, 8, 0, 0, 3, + 3, 0, 4, 128, 3, 0, + 228, 160, 0, 0, 228, 128, + 5, 0, 0, 3, 0, 0, + 15, 128, 3, 0, 228, 128, + 0, 0, 0, 160, 1, 0, + 0, 2, 0, 8, 15, 128, + 0, 0, 228, 128, 255, 255, + 0, 0 }; #if 0 // -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 // // Parameters: // @@ -700,7 +684,7 @@ const BYTE YCbCrShaderPS[] = const BYTE SolidColorShaderPS[] = { 0, 2, 255, 255, 254, 255, - 35, 0, 67, 84, 65, 66, + 32, 0, 67, 84, 65, 66, 28, 0, 0, 0, 83, 0, 0, 0, 0, 2, 255, 255, 1, 0, 0, 0, 28, 0, @@ -721,16 +705,14 @@ const BYTE SolidColorShaderPS[] = 83, 104, 97, 100, 101, 114, 32, 67, 111, 109, 112, 105, 108, 101, 114, 32, 49, 48, - 46, 48, 46, 49, 48, 48, - 49, 49, 46, 49, 54, 51, - 56, 52, 0, 171, 1, 0, + 46, 49, 0, 171, 1, 0, 0, 2, 0, 8, 15, 128, 0, 0, 228, 160, 255, 255, 0, 0 }; #if 0 // -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 // // Parameters: // @@ -786,7 +768,7 @@ const BYTE SolidColorShaderPS[] = const BYTE LayerQuadVSMask[] = { 0, 2, 254, 255, 254, 255, - 87, 0, 67, 84, 65, 66, + 84, 0, 67, 84, 65, 66, 28, 0, 0, 0, 34, 1, 0, 0, 0, 2, 254, 255, 6, 0, 0, 0, 28, 0, @@ -841,9 +823,7 @@ const BYTE LayerQuadVSMask[] = 83, 76, 32, 83, 104, 97, 100, 101, 114, 32, 67, 111, 109, 112, 105, 108, 101, 114, - 32, 49, 48, 46, 48, 46, - 49, 48, 48, 49, 49, 46, - 49, 54, 51, 56, 52, 0, + 32, 49, 48, 46, 49, 0, 171, 171, 81, 0, 0, 5, 12, 0, 15, 160, 0, 0, 0, 191, 0, 0, 128, 63, @@ -914,7 +894,7 @@ const BYTE LayerQuadVSMask[] = }; #if 0 // -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 // // Parameters: // @@ -951,7 +931,7 @@ const BYTE LayerQuadVSMask[] = const BYTE RGBAShaderPSMask[] = { 0, 2, 255, 255, 254, 255, - 57, 0, 67, 84, 65, 66, + 54, 0, 67, 84, 65, 66, 28, 0, 0, 0, 171, 0, 0, 0, 0, 2, 255, 255, 3, 0, 0, 0, 28, 0, @@ -986,9 +966,7 @@ const BYTE RGBAShaderPSMask[] = 76, 83, 76, 32, 83, 104, 97, 100, 101, 114, 32, 67, 111, 109, 112, 105, 108, 101, - 114, 32, 49, 48, 46, 48, - 46, 49, 48, 48, 49, 49, - 46, 49, 54, 51, 56, 52, + 114, 32, 49, 48, 46, 49, 0, 171, 31, 0, 0, 2, 0, 0, 0, 128, 0, 0, 3, 176, 31, 0, 0, 2, @@ -1019,7 +997,7 @@ const BYTE RGBAShaderPSMask[] = }; #if 0 // -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 // // Parameters: // @@ -1064,7 +1042,7 @@ const BYTE RGBAShaderPSMask[] = const BYTE ComponentPass1ShaderPSMask[] = { 0, 2, 255, 255, 254, 255, - 69, 0, 67, 84, 65, 66, + 66, 0, 67, 84, 65, 66, 28, 0, 0, 0, 219, 0, 0, 0, 0, 2, 255, 255, 4, 0, 0, 0, 28, 0, @@ -1107,9 +1085,7 @@ const BYTE ComponentPass1ShaderPSMask[] = 76, 83, 76, 32, 83, 104, 97, 100, 101, 114, 32, 67, 111, 109, 112, 105, 108, 101, - 114, 32, 49, 48, 46, 48, - 46, 49, 48, 48, 49, 49, - 46, 49, 54, 51, 56, 52, + 114, 32, 49, 48, 46, 49, 0, 171, 81, 0, 0, 5, 1, 0, 15, 160, 0, 0, 128, 63, 0, 0, 0, 0, @@ -1156,7 +1132,7 @@ const BYTE ComponentPass1ShaderPSMask[] = }; #if 0 // -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 // // Parameters: // @@ -1200,7 +1176,7 @@ const BYTE ComponentPass1ShaderPSMask[] = const BYTE ComponentPass2ShaderPSMask[] = { 0, 2, 255, 255, 254, 255, - 69, 0, 67, 84, 65, 66, + 66, 0, 67, 84, 65, 66, 28, 0, 0, 0, 219, 0, 0, 0, 0, 2, 255, 255, 4, 0, 0, 0, 28, 0, @@ -1243,9 +1219,7 @@ const BYTE ComponentPass2ShaderPSMask[] = 76, 83, 76, 32, 83, 104, 97, 100, 101, 114, 32, 67, 111, 109, 112, 105, 108, 101, - 114, 32, 49, 48, 46, 48, - 46, 49, 48, 48, 49, 49, - 46, 49, 54, 51, 56, 52, + 114, 32, 49, 48, 46, 49, 0, 171, 81, 0, 0, 5, 1, 0, 15, 160, 0, 0, 128, 63, 0, 0, 0, 0, @@ -1290,7 +1264,7 @@ const BYTE ComponentPass2ShaderPSMask[] = }; #if 0 // -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 // // Parameters: // @@ -1329,7 +1303,7 @@ const BYTE ComponentPass2ShaderPSMask[] = const BYTE RGBShaderPSMask[] = { 0, 2, 255, 255, 254, 255, - 57, 0, 67, 84, 65, 66, + 54, 0, 67, 84, 65, 66, 28, 0, 0, 0, 171, 0, 0, 0, 0, 2, 255, 255, 3, 0, 0, 0, 28, 0, @@ -1364,9 +1338,7 @@ const BYTE RGBShaderPSMask[] = 76, 83, 76, 32, 83, 104, 97, 100, 101, 114, 32, 67, 111, 109, 112, 105, 108, 101, - 114, 32, 49, 48, 46, 48, - 46, 49, 48, 48, 49, 49, - 46, 49, 54, 51, 56, 52, + 114, 32, 49, 48, 46, 49, 0, 171, 81, 0, 0, 5, 1, 0, 15, 160, 0, 0, 128, 63, 0, 0, 0, 0, @@ -1403,11 +1375,12 @@ const BYTE RGBShaderPSMask[] = }; #if 0 // -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 // // Parameters: // // float fLayerOpacity; +// row_major float3x3 mYuvColorMatrix; // sampler2D s2DCb; // sampler2D s2DCr; // sampler2D s2DMask; @@ -1416,18 +1389,18 @@ const BYTE RGBShaderPSMask[] = // // Registers: // -// Name Reg Size -// ------------- ----- ---- -// fLayerOpacity c0 1 -// s2DY s0 1 -// s2DCb s1 1 -// s2DCr s2 1 -// s2DMask s3 1 +// Name Reg Size +// --------------- ----- ---- +// fLayerOpacity c0 1 +// mYuvColorMatrix c1 3 +// s2DY s0 1 +// s2DCb s1 1 +// s2DCr s2 1 +// s2DMask s3 1 // ps_2_0 - def c1, -0.50195998, -0.0627499968, 1.16437995, 1.59603 - def c2, 0.812969983, 0.391759992, 2.01723003, 1 + def c4, -0.0627499968, -0.50195998, 1, 0 dcl t0.xy dcl t1.xyz dcl_2d s0 @@ -1436,156 +1409,149 @@ const BYTE RGBShaderPSMask[] = dcl_2d s3 rcp r0.w, t1.z mul r0.xy, r0.w, t1 - texld r1, t0, s2 - texld r2, t0, s0 - texld r3, t0, s1 + texld r1, t0, s0 + texld r2, t0, s1 + texld r3, t0, s2 texld r0, r0, s3 - add r0.x, r1.w, c1.x - add r0.y, r2.w, c1.y - mul r0.y, r0.y, c1.z - mad r0.z, r0.x, -c2.x, r0.y - mad r1.x, r0.x, c1.w, r0.y - add r0.x, r3.w, c1.x - mad r1.y, r0.x, -c2.y, r0.z - mad r1.z, r0.x, c2.z, r0.y - mov r1.w, c2.w - mul r1, r1, c0.x + mov r4.w, c4.z + add r0.x, r1.w, c4.x + add r0.y, r2.w, c4.y + add r0.z, r3.w, c4.y + dp3 r4.x, c1, r0 + dp3 r4.y, c2, r0 + dp3 r4.z, c3, r0 + mul r1, r4, c0.x mul r0, r0.w, r1 mov oC0, r0 -// approximately 18 instruction slots used (4 texture, 14 arithmetic) +// approximately 16 instruction slots used (4 texture, 12 arithmetic) #endif const BYTE YCbCrShaderPSMask[] = { 0, 2, 255, 255, 254, 255, - 80, 0, 67, 84, 65, 66, - 28, 0, 0, 0, 7, 1, + 90, 0, 67, 84, 65, 66, + 28, 0, 0, 0, 59, 1, 0, 0, 0, 2, 255, 255, - 5, 0, 0, 0, 28, 0, + 6, 0, 0, 0, 28, 0, 0, 0, 0, 1, 0, 0, - 0, 1, 0, 0, 128, 0, + 52, 1, 0, 0, 148, 0, 0, 0, 2, 0, 0, 0, - 1, 0, 0, 0, 144, 0, + 1, 0, 0, 0, 164, 0, 0, 0, 0, 0, 0, 0, - 160, 0, 0, 0, 3, 0, - 1, 0, 1, 0, 0, 0, - 168, 0, 0, 0, 0, 0, - 0, 0, 184, 0, 0, 0, - 3, 0, 2, 0, 1, 0, - 0, 0, 192, 0, 0, 0, - 0, 0, 0, 0, 208, 0, - 0, 0, 3, 0, 3, 0, - 1, 0, 0, 0, 216, 0, + 180, 0, 0, 0, 2, 0, + 1, 0, 3, 0, 6, 0, + 196, 0, 0, 0, 0, 0, + 0, 0, 212, 0, 0, 0, + 3, 0, 1, 0, 1, 0, + 0, 0, 220, 0, 0, 0, + 0, 0, 0, 0, 236, 0, + 0, 0, 3, 0, 2, 0, + 1, 0, 0, 0, 244, 0, 0, 0, 0, 0, 0, 0, - 232, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 240, 0, 0, 0, 0, 0, - 0, 0, 102, 76, 97, 121, - 101, 114, 79, 112, 97, 99, - 105, 116, 121, 0, 171, 171, - 0, 0, 3, 0, 1, 0, - 1, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 115, 50, - 68, 67, 98, 0, 171, 171, - 4, 0, 12, 0, 1, 0, - 1, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 115, 50, - 68, 67, 114, 0, 171, 171, - 4, 0, 12, 0, 1, 0, - 1, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 115, 50, - 68, 77, 97, 115, 107, 0, - 4, 0, 12, 0, 1, 0, - 1, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 115, 50, - 68, 89, 0, 171, 171, 171, - 4, 0, 12, 0, 1, 0, - 1, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 112, 115, - 95, 50, 95, 48, 0, 77, - 105, 99, 114, 111, 115, 111, - 102, 116, 32, 40, 82, 41, - 32, 72, 76, 83, 76, 32, - 83, 104, 97, 100, 101, 114, - 32, 67, 111, 109, 112, 105, - 108, 101, 114, 32, 49, 48, - 46, 48, 46, 49, 48, 48, - 49, 49, 46, 49, 54, 51, - 56, 52, 0, 171, 81, 0, - 0, 5, 1, 0, 15, 160, - 115, 128, 0, 191, 18, 131, - 128, 189, 103, 10, 149, 63, - 182, 74, 204, 63, 81, 0, - 0, 5, 2, 0, 15, 160, - 205, 30, 80, 63, 196, 148, - 200, 62, 76, 26, 1, 64, - 0, 0, 128, 63, 31, 0, - 0, 2, 0, 0, 0, 128, - 0, 0, 3, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 1, 0, 7, 176, 31, 0, - 0, 2, 0, 0, 0, 144, - 0, 8, 15, 160, 31, 0, - 0, 2, 0, 0, 0, 144, - 1, 8, 15, 160, 31, 0, - 0, 2, 0, 0, 0, 144, - 2, 8, 15, 160, 31, 0, - 0, 2, 0, 0, 0, 144, - 3, 8, 15, 160, 6, 0, - 0, 2, 0, 0, 8, 128, - 1, 0, 170, 176, 5, 0, - 0, 3, 0, 0, 3, 128, - 0, 0, 255, 128, 1, 0, - 228, 176, 66, 0, 0, 3, - 1, 0, 15, 128, 0, 0, - 228, 176, 2, 8, 228, 160, - 66, 0, 0, 3, 2, 0, + 4, 1, 0, 0, 3, 0, + 3, 0, 1, 0, 0, 0, + 12, 1, 0, 0, 0, 0, + 0, 0, 28, 1, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 36, 1, 0, 0, + 0, 0, 0, 0, 102, 76, + 97, 121, 101, 114, 79, 112, + 97, 99, 105, 116, 121, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 109, 89, 117, 118, 67, 111, + 108, 111, 114, 77, 97, 116, + 114, 105, 120, 0, 2, 0, + 3, 0, 3, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 115, 50, 68, 67, + 98, 0, 171, 171, 4, 0, + 12, 0, 1, 0, 1, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 115, 50, 68, 67, + 114, 0, 171, 171, 4, 0, + 12, 0, 1, 0, 1, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 115, 50, 68, 77, + 97, 115, 107, 0, 4, 0, + 12, 0, 1, 0, 1, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 115, 50, 68, 89, + 0, 171, 171, 171, 4, 0, + 12, 0, 1, 0, 1, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 112, 115, 95, 50, + 95, 48, 0, 77, 105, 99, + 114, 111, 115, 111, 102, 116, + 32, 40, 82, 41, 32, 72, + 76, 83, 76, 32, 83, 104, + 97, 100, 101, 114, 32, 67, + 111, 109, 112, 105, 108, 101, + 114, 32, 49, 48, 46, 49, + 0, 171, 81, 0, 0, 5, + 4, 0, 15, 160, 18, 131, + 128, 189, 115, 128, 0, 191, + 0, 0, 128, 63, 0, 0, + 0, 0, 31, 0, 0, 2, + 0, 0, 0, 128, 0, 0, + 3, 176, 31, 0, 0, 2, + 0, 0, 0, 128, 1, 0, + 7, 176, 31, 0, 0, 2, + 0, 0, 0, 144, 0, 8, + 15, 160, 31, 0, 0, 2, + 0, 0, 0, 144, 1, 8, + 15, 160, 31, 0, 0, 2, + 0, 0, 0, 144, 2, 8, + 15, 160, 31, 0, 0, 2, + 0, 0, 0, 144, 3, 8, + 15, 160, 6, 0, 0, 2, + 0, 0, 8, 128, 1, 0, + 170, 176, 5, 0, 0, 3, + 0, 0, 3, 128, 0, 0, + 255, 128, 1, 0, 228, 176, + 66, 0, 0, 3, 1, 0, 15, 128, 0, 0, 228, 176, 0, 8, 228, 160, 66, 0, - 0, 3, 3, 0, 15, 128, + 0, 3, 2, 0, 15, 128, 0, 0, 228, 176, 1, 8, 228, 160, 66, 0, 0, 3, - 0, 0, 15, 128, 0, 0, - 228, 128, 3, 8, 228, 160, - 2, 0, 0, 3, 0, 0, - 1, 128, 1, 0, 255, 128, - 1, 0, 0, 160, 2, 0, - 0, 3, 0, 0, 2, 128, - 2, 0, 255, 128, 1, 0, - 85, 160, 5, 0, 0, 3, - 0, 0, 2, 128, 0, 0, - 85, 128, 1, 0, 170, 160, - 4, 0, 0, 4, 0, 0, - 4, 128, 0, 0, 0, 128, - 2, 0, 0, 161, 0, 0, - 85, 128, 4, 0, 0, 4, - 1, 0, 1, 128, 0, 0, - 0, 128, 1, 0, 255, 160, - 0, 0, 85, 128, 2, 0, + 3, 0, 15, 128, 0, 0, + 228, 176, 2, 8, 228, 160, + 66, 0, 0, 3, 0, 0, + 15, 128, 0, 0, 228, 128, + 3, 8, 228, 160, 1, 0, + 0, 2, 4, 0, 8, 128, + 4, 0, 170, 160, 2, 0, 0, 3, 0, 0, 1, 128, - 3, 0, 255, 128, 1, 0, - 0, 160, 4, 0, 0, 4, - 1, 0, 2, 128, 0, 0, - 0, 128, 2, 0, 85, 161, - 0, 0, 170, 128, 4, 0, - 0, 4, 1, 0, 4, 128, - 0, 0, 0, 128, 2, 0, - 170, 160, 0, 0, 85, 128, - 1, 0, 0, 2, 1, 0, - 8, 128, 2, 0, 255, 160, - 5, 0, 0, 3, 1, 0, - 15, 128, 1, 0, 228, 128, - 0, 0, 0, 160, 5, 0, - 0, 3, 0, 0, 15, 128, - 0, 0, 255, 128, 1, 0, - 228, 128, 1, 0, 0, 2, - 0, 8, 15, 128, 0, 0, - 228, 128, 255, 255, 0, 0 + 1, 0, 255, 128, 4, 0, + 0, 160, 2, 0, 0, 3, + 0, 0, 2, 128, 2, 0, + 255, 128, 4, 0, 85, 160, + 2, 0, 0, 3, 0, 0, + 4, 128, 3, 0, 255, 128, + 4, 0, 85, 160, 8, 0, + 0, 3, 4, 0, 1, 128, + 1, 0, 228, 160, 0, 0, + 228, 128, 8, 0, 0, 3, + 4, 0, 2, 128, 2, 0, + 228, 160, 0, 0, 228, 128, + 8, 0, 0, 3, 4, 0, + 4, 128, 3, 0, 228, 160, + 0, 0, 228, 128, 5, 0, + 0, 3, 1, 0, 15, 128, + 4, 0, 228, 128, 0, 0, + 0, 160, 5, 0, 0, 3, + 0, 0, 15, 128, 0, 0, + 255, 128, 1, 0, 228, 128, + 1, 0, 0, 2, 0, 8, + 15, 128, 0, 0, 228, 128, + 255, 255, 0, 0 }; #if 0 // -// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384 +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 // // Parameters: // @@ -1616,7 +1582,7 @@ const BYTE YCbCrShaderPSMask[] = const BYTE SolidColorShaderPSMask[] = { 0, 2, 255, 255, 254, 255, - 46, 0, 67, 84, 65, 66, + 43, 0, 67, 84, 65, 66, 28, 0, 0, 0, 127, 0, 0, 0, 0, 2, 255, 255, 2, 0, 0, 0, 28, 0, @@ -1644,9 +1610,7 @@ const BYTE SolidColorShaderPSMask[] = 76, 32, 83, 104, 97, 100, 101, 114, 32, 67, 111, 109, 112, 105, 108, 101, 114, 32, - 49, 48, 46, 48, 46, 49, - 48, 48, 49, 49, 46, 49, - 54, 51, 56, 52, 0, 171, + 49, 48, 46, 49, 0, 171, 31, 0, 0, 2, 0, 0, 0, 128, 1, 0, 7, 176, 31, 0, 0, 2, 0, 0, diff --git a/gfx/layers/d3d9/LayerManagerD3D9Shaders.hlsl b/gfx/layers/d3d9/LayerManagerD3D9Shaders.hlsl index 088ff28d0417..1f3a812f314c 100644 --- a/gfx/layers/d3d9/LayerManagerD3D9Shaders.hlsl +++ b/gfx/layers/d3d9/LayerManagerD3D9Shaders.hlsl @@ -18,6 +18,7 @@ sampler s2DMask; float fLayerOpacity; float4 fLayerColor; +row_major float3x3 mYuvColorMatrix : register(ps, c1); struct VS_INPUT { float4 vPosition : POSITION; @@ -139,18 +140,36 @@ float4 RGBShader(const VS_OUTPUT aVertex) : COLOR return result * fLayerOpacity; } +/* From Rec601: +[R] [1.1643835616438356, 0.0, 1.5960267857142858] [ Y - 16] +[G] = [1.1643835616438358, -0.3917622900949137, -0.8129676472377708] x [Cb - 128] +[B] [1.1643835616438356, 2.017232142857143, 8.862867620416422e-17] [Cr - 128] + +For [0,1] instead of [0,255], and to 5 places: +[R] [1.16438, 0.00000, 1.59603] [ Y - 0.06275] +[G] = [1.16438, -0.39176, -0.81297] x [Cb - 0.50196] +[B] [1.16438, 2.01723, 0.00000] [Cr - 0.50196] + +From Rec709: +[R] [1.1643835616438356, 4.2781193979771426e-17, 1.7927410714285714] [ Y - 16] +[G] = [1.1643835616438358, -0.21324861427372963, -0.532909328559444] x [Cb - 128] +[B] [1.1643835616438356, 2.1124017857142854, 0.0] [Cr - 128] + +For [0,1] instead of [0,255], and to 5 places: +[R] [1.16438, 0.00000, 1.79274] [ Y - 0.06275] +[G] = [1.16438, -0.21325, -0.53291] x [Cb - 0.50196] +[B] [1.16438, 2.11240, 0.00000] [Cr - 0.50196] +*/ float4 YCbCrShader(const VS_OUTPUT aVertex) : COLOR { - float4 yuv; + float3 yuv; float4 color; - yuv.r = tex2D(s2DCr, aVertex.vTexCoords).a - 0.5; - yuv.g = tex2D(s2DY, aVertex.vTexCoords).a - 0.0625; - yuv.b = tex2D(s2DCb, aVertex.vTexCoords).a - 0.5; + yuv.x = tex2D(s2DY, aVertex.vTexCoords).a - 0.06275; + yuv.y = tex2D(s2DCb, aVertex.vTexCoords).a - 0.50196; + yuv.z = tex2D(s2DCr, aVertex.vTexCoords).a - 0.50196; - color.r = yuv.g * 1.164 + yuv.r * 1.596; - color.g = yuv.g * 1.164 - 0.813 * yuv.r - 0.391 * yuv.b; - color.b = yuv.g * 1.164 + yuv.b * 2.018; + color.rgb = mul(mYuvColorMatrix, yuv); color.a = 1.0f; return color * fLayerOpacity; @@ -198,28 +217,16 @@ float4 RGBShaderMask(const VS_OUTPUT_MASK aVertex) : COLOR return result * fLayerOpacity * mask; } -/* From Rec601: -[R] [1.1643835616438356, 0.0, 1.5960267857142858] [ Y - 16] -[G] = [1.1643835616438358, -0.3917622900949137, -0.8129676472377708] x [Cb - 128] -[B] [1.1643835616438356, 2.017232142857143, 8.862867620416422e-17] [Cr - 128] - -For [0,1] instead of [0,255], and to 5 places: -[R] [1.16438, 0.00000, 1.59603] [ Y - 0.06275] -[G] = [1.16438, -0.39176, -0.81297] x [Cb - 0.50196] -[B] [1.16438, 2.01723, 0.00000] [Cr - 0.50196] -*/ float4 YCbCrShaderMask(const VS_OUTPUT_MASK aVertex) : COLOR { - float4 yuv; + float3 yuv; float4 color; - yuv.r = tex2D(s2DCr, aVertex.vTexCoords).a - 0.50196; - yuv.g = tex2D(s2DY, aVertex.vTexCoords).a - 0.06275; - yuv.b = tex2D(s2DCb, aVertex.vTexCoords).a - 0.50196; + yuv.x = tex2D(s2DY, aVertex.vTexCoords).a - 0.06275; + yuv.y = tex2D(s2DCb, aVertex.vTexCoords).a - 0.50196; + yuv.z = tex2D(s2DCr, aVertex.vTexCoords).a - 0.50196; - color.r = yuv.g * 1.16438 + yuv.r * 1.59603; - color.g = yuv.g * 1.16438 - 0.81297 * yuv.r - 0.39176 * yuv.b; - color.b = yuv.g * 1.16438 + yuv.b * 2.01723; + color.rgb = mul((float3x3)mYuvColorMatrix, yuv); color.a = 1.0f; float2 maskCoords = aVertex.vMaskCoords.xy / aVertex.vMaskCoords.z; diff --git a/gfx/layers/opengl/CompositorOGL.cpp b/gfx/layers/opengl/CompositorOGL.cpp index 0c3abb5e8e33..1fb1558398c1 100644 --- a/gfx/layers/opengl/CompositorOGL.cpp +++ b/gfx/layers/opengl/CompositorOGL.cpp @@ -1319,6 +1319,7 @@ CompositorOGL::DrawGeometry(const Geometry& aGeometry, program->SetYCbCrTextureUnits(Y, Cb, Cr); program->SetTextureTransform(Matrix4x4()); + program->SetYUVColorSpace(effectYCbCr->mYUVColorSpace); if (maskType != MaskType::MaskNone) { BindMaskForProgram(program, sourceMask, LOCAL_GL_TEXTURE3, maskQuadTransform); diff --git a/gfx/layers/opengl/OGLShaderProgram.cpp b/gfx/layers/opengl/OGLShaderProgram.cpp index 158fffb837c5..c06dc52ddd45 100644 --- a/gfx/layers/opengl/OGLShaderProgram.cpp +++ b/gfx/layers/opengl/OGLShaderProgram.cpp @@ -7,6 +7,7 @@ #include // for ostringstream #include "gfxEnv.h" #include "gfxRect.h" // for gfxRect +#include "gfxUtils.h" #include "mozilla/DebugOnly.h" // for DebugOnly #include "mozilla/layers/Compositor.h" // for BlendOpIsMixBlendMode #include "nsAString.h" @@ -58,6 +59,7 @@ AddUniforms(ProgramProfileOGL& aProfile) "uSSEdges", "uViewportSize", "uVisibleCenter", + "uYuvColorMatrix", nullptr }; @@ -375,6 +377,7 @@ ProgramProfileOGL::GetProfileFor(ShaderConfigOGL aConfig) fs << "uniform sampler2D uYTexture;" << endl; fs << "uniform sampler2D uCbTexture;" << endl; fs << "uniform sampler2D uCrTexture;" << endl; + fs << "uniform mat3 uYuvColorMatrix;" << endl; } else if (aConfig.mFeatures & ENABLE_TEXTURE_NV12) { fs << "uniform " << sampler2D << " uYTexture;" << endl; fs << "uniform " << sampler2D << " uCbTexture;" << endl; @@ -433,22 +436,11 @@ ProgramProfileOGL::GetProfileFor(ShaderConfigOGL aConfig) } } - /* From Rec601: -[R] [1.1643835616438356, 0.0, 1.5960267857142858] [ Y - 16] -[G] = [1.1643835616438358, -0.3917622900949137, -0.8129676472377708] x [Cb - 128] -[B] [1.1643835616438356, 2.017232142857143, 8.862867620416422e-17] [Cr - 128] - -For [0,1] instead of [0,255], and to 5 places: -[R] [1.16438, 0.00000, 1.59603] [ Y - 0.06275] -[G] = [1.16438, -0.39176, -0.81297] x [Cb - 0.50196] -[B] [1.16438, 2.01723, 0.00000] [Cr - 0.50196] - */ - fs << " y = (y - 0.06275) * 1.16438;" << endl; + fs << " y = y - 0.06275;" << endl; fs << " cb = cb - 0.50196;" << endl; fs << " cr = cr - 0.50196;" << endl; - fs << " color.r = y + 1.59603*cr;" << endl; - fs << " color.g = y - 0.39176*cb - 0.81297*cr;" << endl; - fs << " color.b = y + 2.01723*cb;" << endl; + fs << " vec3 yuv = vec3(y, cb, cr);" << endl; + fs << " color.rgb = uYuvColorMatrix * yuv;" << endl; fs << " color.a = 1.0;" << endl; } else if (aConfig.mFeatures & ENABLE_TEXTURE_COMPONENT_ALPHA) { if (aConfig.mFeatures & ENABLE_TEXTURE_RECT) { @@ -971,5 +963,12 @@ ShaderProgramOGL::SetBlurRadius(float aRX, float aRY) SetArrayUniform(KnownUniform::BlurGaussianKernel, GAUSSIAN_KERNEL_HALF_WIDTH, gaussianKernel); } +void +ShaderProgramOGL::SetYUVColorSpace(YUVColorSpace aYUVColorSpace) +{ + float* yuvToRgb = gfxUtils::Get3x3YuvColorMatrix(aYUVColorSpace); + SetMatrix3fvUniform(KnownUniform::YuvColorMatrix, yuvToRgb); +} + } // namespace layers } // namespace mozilla diff --git a/gfx/layers/opengl/OGLShaderProgram.h b/gfx/layers/opengl/OGLShaderProgram.h index ce84a9b59c39..ff4fb825f5e0 100644 --- a/gfx/layers/opengl/OGLShaderProgram.h +++ b/gfx/layers/opengl/OGLShaderProgram.h @@ -8,6 +8,7 @@ #include "GLContext.h" // for fast inlines of glUniform* #include "gfxTypes.h" +#include "ImageTypes.h" #include "mozilla/Assertions.h" // for MOZ_ASSERT, etc #include "mozilla/Pair.h" // for Pair #include "mozilla/RefPtr.h" // for RefPtr @@ -81,6 +82,7 @@ public: SSEdges, ViewportSize, VisibleCenter, + YuvColorMatrix, KnownUniformCount }; @@ -146,6 +148,7 @@ public: case 2: case 3: case 4: + case 9: case 16: if (memcmp(mValue.f16v, fp, sizeof(float) * cnt) != 0) { memcpy(mValue.f16v, fp, sizeof(float) * cnt); @@ -154,7 +157,7 @@ public: return false; } - NS_NOTREACHED("cnt must be 1 2 3 4 or 16"); + NS_NOTREACHED("cnt must be 1 2 3 4 9 or 16"); return false; } @@ -476,6 +479,8 @@ public: SetUniform(KnownUniform::CbCrTexCoordMultiplier, 2, f); } + void SetYUVColorSpace(YUVColorSpace aYUVColorSpace); + // Set whether we want the component alpha shader to return the color // vector (pass 1, false) or the alpha vector (pass2, true). With support // for multiple render targets we wouldn't need two passes here. @@ -595,6 +600,16 @@ protected: } } + void SetMatrix3fvUniform(KnownUniform::KnownUniformName aKnownUniform, const float *aFloatValues) { + ASSERT_THIS_PROGRAM; + NS_ASSERTION(aKnownUniform >= 0 && aKnownUniform < KnownUniform::KnownUniformCount, "Invalid known uniform"); + + KnownUniform& ku(mProfile.mUniforms[aKnownUniform]); + if (ku.UpdateUniform(9, aFloatValues)) { + mGL->fUniformMatrix3fv(ku.mLocation, 1, false, ku.mValue.f16v); + } + } + void SetMatrixUniform(KnownUniform::KnownUniformName aKnownUniform, const gfx::Matrix4x4& aMatrix) { SetMatrixUniform(aKnownUniform, &aMatrix._11); } diff --git a/gfx/thebes/gfxUtils.cpp b/gfx/thebes/gfxUtils.cpp index b7b36c18efbb..313372ebc57c 100644 --- a/gfx/thebes/gfxUtils.cpp +++ b/gfx/thebes/gfxUtils.cpp @@ -1148,6 +1148,64 @@ gfxUtils::EncodeSourceSurface(SourceSurface* aSurface, aBinaryOrData, aFile, nullptr); } +/* From Rec601: +[R] [1.1643835616438356, 0.0, 1.5960267857142858] [ Y - 16] +[G] = [1.1643835616438358, -0.3917622900949137, -0.8129676472377708] x [Cb - 128] +[B] [1.1643835616438356, 2.017232142857143, 8.862867620416422e-17] [Cr - 128] + +For [0,1] instead of [0,255], and to 5 places: +[R] [1.16438, 0.00000, 1.59603] [ Y - 0.06275] +[G] = [1.16438, -0.39176, -0.81297] x [Cb - 0.50196] +[B] [1.16438, 2.01723, 0.00000] [Cr - 0.50196] + +From Rec709: +[R] [1.1643835616438356, 4.2781193979771426e-17, 1.7927410714285714] [ Y - 16] +[G] = [1.1643835616438358, -0.21324861427372963, -0.532909328559444] x [Cb - 128] +[B] [1.1643835616438356, 2.1124017857142854, 0.0] [Cr - 128] + +For [0,1] instead of [0,255], and to 5 places: +[R] [1.16438, 0.00000, 1.79274] [ Y - 0.06275] +[G] = [1.16438, -0.21325, -0.53291] x [Cb - 0.50196] +[B] [1.16438, 2.11240, 0.00000] [Cr - 0.50196] +*/ + +/* static */ float* +gfxUtils::Get4x3YuvColorMatrix(YUVColorSpace aYUVColorSpace) +{ + static const float yuv_to_rgb_rec601[12] = { 1.16438f, 0.0f, 1.59603f, 0.0f, + 1.16438f, -0.39176f, -0.81297f, 0.0f, + 1.16438f, 2.01723f, 0.0f, 0.0f, + }; + + static const float yuv_to_rgb_rec709[12] = { 1.16438f, 0.0f, 1.79274f, 0.0f, + 1.16438f, -0.21325f, -0.53291f, 0.0f, + 1.16438f, 2.11240f, 0.0f, 0.0f, + }; + + if (aYUVColorSpace == YUVColorSpace::BT709) { + return const_cast(yuv_to_rgb_rec709); + } else { + return const_cast(yuv_to_rgb_rec601); + } +} + +/* static */ float* +gfxUtils::Get3x3YuvColorMatrix(YUVColorSpace aYUVColorSpace) +{ + static const float yuv_to_rgb_rec601[9] = { + 1.16438f, 1.16438f, 1.16438f, 0.0f, -0.39176f, 2.01723f, 1.59603f, -0.81297f, 0.0f, + }; + static const float yuv_to_rgb_rec709[9] = { + 1.16438f, 1.16438f, 1.16438f, 0.0f, -0.21325f, 2.11240f, 1.79274f, -0.53291f, 0.0f, + }; + + if (aYUVColorSpace == YUVColorSpace::BT709) { + return const_cast(yuv_to_rgb_rec709); + } else { + return const_cast(yuv_to_rgb_rec601); + } +} + /* static */ void gfxUtils::WriteAsPNG(SourceSurface* aSurface, const nsAString& aFile) { diff --git a/gfx/thebes/gfxUtils.h b/gfx/thebes/gfxUtils.h index b9831c3545f2..7a4679fb97cb 100644 --- a/gfx/thebes/gfxUtils.h +++ b/gfx/thebes/gfxUtils.h @@ -7,6 +7,7 @@ #define GFX_UTILS_H #include "gfxTypes.h" +#include "ImageTypes.h" #include "imgIContainer.h" #include "mozilla/gfx/2D.h" #include "mozilla/RefPtr.h" @@ -41,6 +42,7 @@ public: typedef mozilla::gfx::SourceSurface SourceSurface; typedef mozilla::gfx::SurfaceFormat SurfaceFormat; typedef mozilla::image::ImageRegion ImageRegion; + typedef mozilla::YUVColorSpace YUVColorSpace; /* * Premultiply or Unpremultiply aSourceSurface, writing the result @@ -134,6 +136,13 @@ public: */ static void ClearThebesSurface(gfxASurface* aSurface); + /** + * Get array of yuv to rgb conversion matrix. + */ + static float* Get4x3YuvColorMatrix(YUVColorSpace aYUVColorSpace); + + static float* Get3x3YuvColorMatrix(YUVColorSpace aYUVColorSpace); + /** * Creates a copy of aSurface, but having the SurfaceFormat aFormat. * diff --git a/layout/reftests/ogg-video/reftest-stylo.list b/layout/reftests/ogg-video/reftest-stylo.list index 1963aabb5003..e59d9d5348bb 100644 --- a/layout/reftests/ogg-video/reftest-stylo.list +++ b/layout/reftests/ogg-video/reftest-stylo.list @@ -11,7 +11,7 @@ fails-if(Android||B2G||Mulet) skip-if(gtkWidget) HTTP(..) == aspect-ratio-2b.xht # Initial mulet triage: parity with B2G/B2G Desktop HTTP(..) == aspect-ratio-3a.xhtml aspect-ratio-3a.xhtml HTTP(..) == aspect-ratio-3b.xhtml aspect-ratio-3b.xhtml -fails-if(Android||B2G||Mulet) random-if(layersGPUAccelerated) fails-if(/^Windows\x20NT\x205\.1/.test(http.oscpu)) == encoded-aspect-ratio-1.html encoded-aspect-ratio-1.html +fails-if(Android||B2G||Mulet) random-if(layersGPUAccelerated) == encoded-aspect-ratio-1.html encoded-aspect-ratio-1.html # bug 623460 for WinXP # Initial mulet triage: parity with B2G/B2G Desktop fails-if(Android||B2G||Mulet) HTTP(..) == basic-1.xhtml basic-1.xhtml diff --git a/layout/reftests/ogg-video/reftest.list b/layout/reftests/ogg-video/reftest.list index 9a6a818e04ac..cbe110f6cea8 100644 --- a/layout/reftests/ogg-video/reftest.list +++ b/layout/reftests/ogg-video/reftest.list @@ -6,7 +6,7 @@ fails-if(Android) skip-if(gtkWidget) HTTP(..) == aspect-ratio-2a.xhtml aspect-ra fails-if(Android) skip-if(gtkWidget) HTTP(..) == aspect-ratio-2b.xhtml aspect-ratio-2-ref.html HTTP(..) == aspect-ratio-3a.xhtml aspect-ratio-3-ref.xhtml HTTP(..) == aspect-ratio-3b.xhtml aspect-ratio-3-ref.xhtml -fails-if(Android) random-if(layersGPUAccelerated) fails-if(/^Windows\x20NT\x205\.1/.test(http.oscpu)) == encoded-aspect-ratio-1.html encoded-aspect-ratio-1-ref.html # bug 623460 for WinXP +fails-if(Android) random-if(layersGPUAccelerated) == encoded-aspect-ratio-1.html encoded-aspect-ratio-1-ref.html # bug 623460 for WinXP fails-if(Android) HTTP(..) == basic-1.xhtml basic-1-ref.html skip-if(Android) HTTP(..) == canvas-1a.xhtml basic-1-ref.html fails-if(Android) HTTP(..) == canvas-1b.xhtml basic-1-ref.html diff --git a/layout/reftests/webm-video/reftest-stylo.list b/layout/reftests/webm-video/reftest-stylo.list index 5f3beb643bb1..719c4e31228b 100644 --- a/layout/reftests/webm-video/reftest-stylo.list +++ b/layout/reftests/webm-video/reftest-stylo.list @@ -10,7 +10,7 @@ fails-if(Android||B2G||Mulet) skip-if(gtkWidget) HTTP(..) == aspect-ratio-2b.xht # Initial mulet triage: parity with B2G/B2G Desktop HTTP(..) == aspect-ratio-3a.xhtml aspect-ratio-3a.xhtml HTTP(..) == aspect-ratio-3b.xhtml aspect-ratio-3b.xhtml -fails-if(Android||B2G||Mulet) random-if(layersGPUAccelerated) fails-if(/^Windows\x20NT\x205\.1/.test(http.oscpu)) == encoded-aspect-ratio-1.html encoded-aspect-ratio-1.html +fails-if(Android||B2G||Mulet) random-if(layersGPUAccelerated) == encoded-aspect-ratio-1.html encoded-aspect-ratio-1.html # bug 623460 for WinXP # Initial mulet triage: parity with B2G/B2G Desktop fails-if(Android||B2G||Mulet) HTTP(..) == basic-1.xhtml basic-1.xhtml diff --git a/layout/reftests/webm-video/reftest.list b/layout/reftests/webm-video/reftest.list index 505620e3b406..109ad58c83ef 100644 --- a/layout/reftests/webm-video/reftest.list +++ b/layout/reftests/webm-video/reftest.list @@ -5,7 +5,7 @@ fails-if(Android) skip-if(gtkWidget) HTTP(..) == aspect-ratio-2a.xhtml aspect-ra fails-if(Android) skip-if(gtkWidget) HTTP(..) == aspect-ratio-2b.xhtml aspect-ratio-2-ref.html HTTP(..) == aspect-ratio-3a.xhtml aspect-ratio-3-ref.xhtml HTTP(..) == aspect-ratio-3b.xhtml aspect-ratio-3-ref.xhtml -fails-if(Android) random-if(layersGPUAccelerated) fails-if(/^Windows\x20NT\x205\.1/.test(http.oscpu)) == encoded-aspect-ratio-1.html encoded-aspect-ratio-1-ref.html # bug 623460 for WinXP +fails-if(Android) random-if(layersGPUAccelerated) == encoded-aspect-ratio-1.html encoded-aspect-ratio-1-ref.html # bug 623460 for WinXP fails-if(Android) HTTP(..) == basic-1.xhtml basic-1-ref.html skip-if(Android) HTTP(..) == canvas-1a.xhtml basic-1-ref.html fails-if(Android) HTTP(..) == canvas-1b.xhtml basic-1-ref.html