mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-06-06 07:20:48 +00:00
Added support for SDL_COLORSPACE_BT709_FULL to the hardware renderers
This commit is contained in:
parent
ec322bee1c
commit
dab77fe29b
55 changed files with 8405 additions and 9470 deletions
164
src/render/direct3d/D3D9_PixelShader_YUV.h
Executable file
164
src/render/direct3d/D3D9_PixelShader_YUV.h
Executable file
|
@ -0,0 +1,164 @@
|
|||
#if 0
|
||||
//
|
||||
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
|
||||
//
|
||||
// Parameters:
|
||||
//
|
||||
// float4 Bcoeff;
|
||||
// float4 Gcoeff;
|
||||
// float4 Rcoeff;
|
||||
// float4 Yoffset;
|
||||
// Texture2D theSampler+theTextureU;
|
||||
// Texture2D theSampler+theTextureV;
|
||||
// Texture2D theSampler+theTextureY;
|
||||
//
|
||||
//
|
||||
// Registers:
|
||||
//
|
||||
// Name Reg Size
|
||||
// ---------------------- ----- ----
|
||||
// Yoffset c0 1
|
||||
// Rcoeff c1 1
|
||||
// Gcoeff c2 1
|
||||
// Bcoeff c3 1
|
||||
// theSampler+theTextureY s0 1
|
||||
// theSampler+theTextureU s1 1
|
||||
// theSampler+theTextureV s2 1
|
||||
//
|
||||
|
||||
ps_2_0
|
||||
def c4, 1, 0, 0, 0
|
||||
dcl t0.xy
|
||||
dcl v0
|
||||
dcl_2d s0
|
||||
dcl_2d s1
|
||||
dcl_2d s2
|
||||
texld r0, t0, s0
|
||||
texld r1, t0, s1
|
||||
texld r2, t0, s2
|
||||
mov r0.y, r1.x
|
||||
mov r0.z, r2.x
|
||||
add r0.xyz, r0, c0
|
||||
dp3 r1.x, r0, c1
|
||||
dp3 r1.y, r0, c2
|
||||
dp3 r1.z, r0, c3
|
||||
mov r1.w, c4.x
|
||||
mul r0, r1, v0
|
||||
mov oC0, r0
|
||||
|
||||
// approximately 12 instruction slots used (3 texture, 9 arithmetic)
|
||||
#endif
|
||||
|
||||
const BYTE g_ps20_main[] =
|
||||
{
|
||||
0, 2, 255, 255, 254, 255,
|
||||
97, 0, 67, 84, 65, 66,
|
||||
28, 0, 0, 0, 87, 1,
|
||||
0, 0, 0, 2, 255, 255,
|
||||
7, 0, 0, 0, 28, 0,
|
||||
0, 0, 0, 1, 0, 0,
|
||||
80, 1, 0, 0, 168, 0,
|
||||
0, 0, 2, 0, 3, 0,
|
||||
1, 0, 0, 0, 176, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
192, 0, 0, 0, 2, 0,
|
||||
2, 0, 1, 0, 0, 0,
|
||||
176, 0, 0, 0, 0, 0,
|
||||
0, 0, 199, 0, 0, 0,
|
||||
2, 0, 1, 0, 1, 0,
|
||||
0, 0, 176, 0, 0, 0,
|
||||
0, 0, 0, 0, 206, 0,
|
||||
0, 0, 2, 0, 0, 0,
|
||||
1, 0, 0, 0, 176, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
214, 0, 0, 0, 3, 0,
|
||||
1, 0, 1, 0, 0, 0,
|
||||
240, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 0, 0,
|
||||
3, 0, 2, 0, 1, 0,
|
||||
0, 0, 24, 1, 0, 0,
|
||||
0, 0, 0, 0, 40, 1,
|
||||
0, 0, 3, 0, 0, 0,
|
||||
1, 0, 0, 0, 64, 1,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
66, 99, 111, 101, 102, 102,
|
||||
0, 171, 1, 0, 3, 0,
|
||||
1, 0, 4, 0, 1, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
71, 99, 111, 101, 102, 102,
|
||||
0, 82, 99, 111, 101, 102,
|
||||
102, 0, 89, 111, 102, 102,
|
||||
115, 101, 116, 0, 116, 104,
|
||||
101, 83, 97, 109, 112, 108,
|
||||
101, 114, 43, 116, 104, 101,
|
||||
84, 101, 120, 116, 117, 114,
|
||||
101, 85, 0, 171, 171, 171,
|
||||
4, 0, 7, 0, 1, 0,
|
||||
4, 0, 1, 0, 0, 0,
|
||||
0, 0, 0, 0, 116, 104,
|
||||
101, 83, 97, 109, 112, 108,
|
||||
101, 114, 43, 116, 104, 101,
|
||||
84, 101, 120, 116, 117, 114,
|
||||
101, 86, 0, 171, 4, 0,
|
||||
7, 0, 1, 0, 4, 0,
|
||||
1, 0, 0, 0, 0, 0,
|
||||
0, 0, 116, 104, 101, 83,
|
||||
97, 109, 112, 108, 101, 114,
|
||||
43, 116, 104, 101, 84, 101,
|
||||
120, 116, 117, 114, 101, 89,
|
||||
0, 171, 4, 0, 7, 0,
|
||||
1, 0, 4, 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, 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, 0, 0, 15, 144,
|
||||
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, 1, 8,
|
||||
228, 160, 66, 0, 0, 3,
|
||||
2, 0, 15, 128, 0, 0,
|
||||
228, 176, 2, 8, 228, 160,
|
||||
1, 0, 0, 2, 0, 0,
|
||||
2, 128, 1, 0, 0, 128,
|
||||
1, 0, 0, 2, 0, 0,
|
||||
4, 128, 2, 0, 0, 128,
|
||||
2, 0, 0, 3, 0, 0,
|
||||
7, 128, 0, 0, 228, 128,
|
||||
0, 0, 228, 160, 8, 0,
|
||||
0, 3, 1, 0, 1, 128,
|
||||
0, 0, 228, 128, 1, 0,
|
||||
228, 160, 8, 0, 0, 3,
|
||||
1, 0, 2, 128, 0, 0,
|
||||
228, 128, 2, 0, 228, 160,
|
||||
8, 0, 0, 3, 1, 0,
|
||||
4, 128, 0, 0, 228, 128,
|
||||
3, 0, 228, 160, 1, 0,
|
||||
0, 2, 1, 0, 8, 128,
|
||||
4, 0, 0, 160, 5, 0,
|
||||
0, 3, 0, 0, 15, 128,
|
||||
1, 0, 228, 128, 0, 0,
|
||||
228, 144, 1, 0, 0, 2,
|
||||
0, 8, 15, 128, 0, 0,
|
||||
228, 128, 255, 255, 0, 0
|
||||
};
|
47
src/render/direct3d/D3D9_PixelShader_YUV.hlsl
Normal file
47
src/render/direct3d/D3D9_PixelShader_YUV.hlsl
Normal file
|
@ -0,0 +1,47 @@
|
|||
|
||||
Texture2D theTextureY : register(t0);
|
||||
Texture2D theTextureU : register(t1);
|
||||
Texture2D theTextureV : register(t2);
|
||||
|
||||
SamplerState theSampler = sampler_state
|
||||
{
|
||||
addressU = Clamp;
|
||||
addressV = Clamp;
|
||||
mipfilter = NONE;
|
||||
minfilter = LINEAR;
|
||||
magfilter = LINEAR;
|
||||
};
|
||||
|
||||
struct PixelShaderInput
|
||||
{
|
||||
float4 pos : SV_POSITION;
|
||||
float2 tex : TEXCOORD0;
|
||||
float4 color : COLOR0;
|
||||
};
|
||||
|
||||
cbuffer Constants : register(b0)
|
||||
{
|
||||
float4 Yoffset;
|
||||
float4 Rcoeff;
|
||||
float4 Gcoeff;
|
||||
float4 Bcoeff;
|
||||
};
|
||||
|
||||
|
||||
float4 main(PixelShaderInput input) : SV_TARGET
|
||||
{
|
||||
float4 Output;
|
||||
|
||||
float3 yuv;
|
||||
yuv.x = theTextureY.Sample(theSampler, input.tex).r;
|
||||
yuv.y = theTextureU.Sample(theSampler, input.tex).r;
|
||||
yuv.z = theTextureV.Sample(theSampler, input.tex).r;
|
||||
|
||||
yuv += Yoffset.xyz;
|
||||
Output.r = dot(yuv, Rcoeff.xyz);
|
||||
Output.g = dot(yuv, Gcoeff.xyz);
|
||||
Output.b = dot(yuv, Bcoeff.xyz);
|
||||
Output.a = 1.0f;
|
||||
|
||||
return Output * input.color;
|
||||
}
|
|
@ -46,7 +46,8 @@ typedef struct
|
|||
SDL_bool cliprect_enabled_dirty;
|
||||
SDL_Rect cliprect;
|
||||
SDL_bool cliprect_dirty;
|
||||
LPDIRECT3DPIXELSHADER9 shader;
|
||||
D3D9_Shader shader;
|
||||
const float *shader_params;
|
||||
} D3D_DrawStateCache;
|
||||
|
||||
/* Direct3D renderer implementation */
|
||||
|
@ -90,6 +91,8 @@ typedef struct
|
|||
{
|
||||
D3D_TextureRep texture;
|
||||
D3DTEXTUREFILTERTYPE scaleMode;
|
||||
D3D9_Shader shader;
|
||||
const float *shader_params;
|
||||
|
||||
#if SDL_HAVE_YUV
|
||||
/* YV12 texture support */
|
||||
|
@ -553,6 +556,12 @@ static int D3D_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL_P
|
|||
if (D3D_CreateTextureRep(data->device, &texturedata->vtexture, usage, texture->format, PixelFormatToD3DFMT(texture->format), (texture->w + 1) / 2, (texture->h + 1) / 2) < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
texturedata->shader = SHADER_YUV;
|
||||
texturedata->shader_params = SDL_GetYCbCRtoRGBConversionMatrix(texture->colorspace);
|
||||
if (texturedata->shader_params == NULL) {
|
||||
return SDL_SetError("Unsupported YUV colorspace");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
|
@ -717,7 +726,8 @@ static void D3D_UnlockTexture(SDL_Renderer *renderer, SDL_Texture *texture)
|
|||
texturedata->texture.dirty = SDL_TRUE;
|
||||
if (data->drawstate.texture == texture) {
|
||||
data->drawstate.texture = NULL;
|
||||
data->drawstate.shader = NULL;
|
||||
data->drawstate.shader = SHADER_NONE;
|
||||
data->drawstate.shader_params = NULL;
|
||||
IDirect3DDevice9_SetPixelShader(data->device, NULL);
|
||||
IDirect3DDevice9_SetTexture(data->device, 0, NULL);
|
||||
}
|
||||
|
@ -928,39 +938,24 @@ static void UpdateTextureScaleMode(D3D_RenderData *data, D3D_TextureData *textur
|
|||
}
|
||||
}
|
||||
|
||||
static int SetupTextureState(D3D_RenderData *data, SDL_Texture *texture, LPDIRECT3DPIXELSHADER9 *shader)
|
||||
static int SetupTextureState(D3D_RenderData *data, SDL_Texture *texture, D3D9_Shader *shader, const float **shader_params)
|
||||
{
|
||||
D3D_TextureData *texturedata = (D3D_TextureData *)texture->driverdata;
|
||||
|
||||
SDL_assert(*shader == NULL);
|
||||
|
||||
if (!texturedata) {
|
||||
return SDL_SetError("Texture is not currently available");
|
||||
}
|
||||
|
||||
UpdateTextureScaleMode(data, texturedata, 0);
|
||||
|
||||
*shader = texturedata->shader;
|
||||
*shader_params = texturedata->shader_params;
|
||||
|
||||
if (BindTextureRep(data->device, &texturedata->texture, 0) < 0) {
|
||||
return -1;
|
||||
}
|
||||
#if SDL_HAVE_YUV
|
||||
if (texturedata->yuv) {
|
||||
if (SDL_ISCOLORSPACE_YUV_BT601(texture->colorspace)) {
|
||||
if (SDL_ISCOLORSPACE_LIMITED_RANGE(texture->colorspace)) {
|
||||
*shader = data->shaders[SHADER_YUV_BT601];
|
||||
} else {
|
||||
*shader = data->shaders[SHADER_YUV_JPEG];
|
||||
}
|
||||
} else if (SDL_ISCOLORSPACE_YUV_BT709(texture->colorspace)) {
|
||||
if (SDL_ISCOLORSPACE_LIMITED_RANGE(texture->colorspace)) {
|
||||
*shader = data->shaders[SHADER_YUV_BT709];
|
||||
} else {
|
||||
return SDL_SetError("Unsupported YUV conversion mode");
|
||||
}
|
||||
} else {
|
||||
return SDL_SetError("Unsupported YUV conversion mode");
|
||||
}
|
||||
|
||||
UpdateTextureScaleMode(data, texturedata, 1);
|
||||
UpdateTextureScaleMode(data, texturedata, 2);
|
||||
|
||||
|
@ -985,7 +980,8 @@ static int SetDrawState(D3D_RenderData *data, const SDL_RenderCommand *cmd)
|
|||
D3D_TextureData *oldtexturedata = data->drawstate.texture ? (D3D_TextureData *)data->drawstate.texture->driverdata : NULL;
|
||||
D3D_TextureData *newtexturedata = texture ? (D3D_TextureData *)texture->driverdata : NULL;
|
||||
#endif
|
||||
LPDIRECT3DPIXELSHADER9 shader = NULL;
|
||||
D3D9_Shader shader = SHADER_NONE;
|
||||
const float *shader_params = NULL;
|
||||
|
||||
/* disable any enabled textures we aren't going to use, let SetupTextureState() do the rest. */
|
||||
if (!texture) {
|
||||
|
@ -997,18 +993,29 @@ static int SetDrawState(D3D_RenderData *data, const SDL_RenderCommand *cmd)
|
|||
IDirect3DDevice9_SetTexture(data->device, 2, NULL);
|
||||
}
|
||||
#endif
|
||||
if (texture && SetupTextureState(data, texture, &shader) < 0) {
|
||||
if (texture && SetupTextureState(data, texture, &shader, &shader_params) < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (shader != data->drawstate.shader) {
|
||||
const HRESULT result = IDirect3DDevice9_SetPixelShader(data->device, shader);
|
||||
const HRESULT result = IDirect3DDevice9_SetPixelShader(data->device, data->shaders[shader]);
|
||||
if (FAILED(result)) {
|
||||
return D3D_SetError("IDirect3DDevice9_SetPixelShader()", result);
|
||||
}
|
||||
data->drawstate.shader = shader;
|
||||
}
|
||||
|
||||
if (shader_params != data->drawstate.shader_params) {
|
||||
if (shader_params) {
|
||||
const UINT shader_params_length = 4; /* The YUV shader takes 4 float4 parameters */
|
||||
const HRESULT result = IDirect3DDevice9_SetPixelShaderConstantF(data->device, 0, shader_params, shader_params_length);
|
||||
if (FAILED(result)) {
|
||||
return D3D_SetError("IDirect3DDevice9_SetPixelShaderConstantF()", result);
|
||||
}
|
||||
}
|
||||
data->drawstate.shader_params = shader_params;
|
||||
}
|
||||
|
||||
data->drawstate.texture = texture;
|
||||
} else if (texture) {
|
||||
D3D_TextureData *texturedata = (D3D_TextureData *)texture->driverdata;
|
||||
|
@ -1100,7 +1107,8 @@ static void D3D_InvalidateCachedState(SDL_Renderer *renderer)
|
|||
data->drawstate.cliprect_dirty = SDL_TRUE;
|
||||
data->drawstate.blend = SDL_BLENDMODE_INVALID;
|
||||
data->drawstate.texture = NULL;
|
||||
data->drawstate.shader = NULL;
|
||||
data->drawstate.shader = SHADER_NONE;
|
||||
data->drawstate.shader_params = NULL;
|
||||
}
|
||||
|
||||
static int D3D_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd, void *vertices, size_t vertsize)
|
||||
|
@ -1387,7 +1395,8 @@ static void D3D_DestroyTexture(SDL_Renderer *renderer, SDL_Texture *texture)
|
|||
|
||||
if (renderdata->drawstate.texture == texture) {
|
||||
renderdata->drawstate.texture = NULL;
|
||||
renderdata->drawstate.shader = NULL;
|
||||
renderdata->drawstate.shader = SHADER_NONE;
|
||||
renderdata->drawstate.shader_params = NULL;
|
||||
IDirect3DDevice9_SetPixelShader(renderdata->device, NULL);
|
||||
IDirect3DDevice9_SetTexture(renderdata->device, 0, NULL);
|
||||
#if SDL_HAVE_YUV
|
||||
|
@ -1711,13 +1720,13 @@ SDL_Renderer *D3D_CreateRenderer(SDL_Window *window, SDL_PropertiesID create_pro
|
|||
#if SDL_HAVE_YUV
|
||||
if (caps.MaxSimultaneousTextures >= 3) {
|
||||
int i;
|
||||
for (i = 0; i < SDL_arraysize(data->shaders); ++i) {
|
||||
for (i = SHADER_NONE + 1; i < SDL_arraysize(data->shaders); ++i) {
|
||||
result = D3D9_CreatePixelShader(data->device, (D3D9_Shader)i, &data->shaders[i]);
|
||||
if (FAILED(result)) {
|
||||
D3D_SetError("CreatePixelShader()", result);
|
||||
}
|
||||
}
|
||||
if (data->shaders[SHADER_YUV_JPEG] && data->shaders[SHADER_YUV_BT601] && data->shaders[SHADER_YUV_BT709]) {
|
||||
if (data->shaders[SHADER_YUV]) {
|
||||
renderer->info.texture_formats[renderer->info.num_texture_formats++] = SDL_PIXELFORMAT_YV12;
|
||||
renderer->info.texture_formats[renderer->info.num_texture_formats++] = SDL_PIXELFORMAT_IYUV;
|
||||
}
|
||||
|
|
|
@ -28,241 +28,21 @@
|
|||
|
||||
#include "SDL_shaders_d3d.h"
|
||||
|
||||
/* The shaders here were compiled with:
|
||||
/* The shaders here were compiled with compile_shaders.bat */
|
||||
|
||||
fxc /T ps_2_0 /Fo"<OUTPUT FILE>" "<INPUT FILE>"
|
||||
#define g_ps20_main D3D9_PixelShader_YUV
|
||||
#include "D3D9_PixelShader_YUV.h"
|
||||
#undef g_ps20_main
|
||||
|
||||
Shader object code was converted to a list of DWORDs via the following
|
||||
*nix style command (available separately from Windows + MSVC):
|
||||
|
||||
hexdump -v -e '6/4 "0x%08.8x, " "\n"' <FILE>
|
||||
*/
|
||||
|
||||
/* --- D3D9_PixelShader_YUV_JPEG.hlsl ---
|
||||
Texture2D theTextureY : register(t0);
|
||||
Texture2D theTextureU : register(t1);
|
||||
Texture2D theTextureV : register(t2);
|
||||
SamplerState theSampler = sampler_state
|
||||
{
|
||||
addressU = Clamp;
|
||||
addressV = Clamp;
|
||||
mipfilter = NONE;
|
||||
minfilter = LINEAR;
|
||||
magfilter = LINEAR;
|
||||
};
|
||||
|
||||
struct PixelShaderInput
|
||||
{
|
||||
float4 pos : SV_POSITION;
|
||||
float2 tex : TEXCOORD0;
|
||||
float4 color : COLOR0;
|
||||
};
|
||||
|
||||
float4 main(PixelShaderInput input) : SV_TARGET
|
||||
{
|
||||
const float3 offset = {0.0, -0.501960814, -0.501960814};
|
||||
const float3 Rcoeff = {1.0000, 0.0000, 1.4020};
|
||||
const float3 Gcoeff = {1.0000, -0.3441, -0.7141};
|
||||
const float3 Bcoeff = {1.0000, 1.7720, 0.0000};
|
||||
|
||||
float4 Output;
|
||||
|
||||
float3 yuv;
|
||||
yuv.x = theTextureY.Sample(theSampler, input.tex).r;
|
||||
yuv.y = theTextureU.Sample(theSampler, input.tex).r;
|
||||
yuv.z = theTextureV.Sample(theSampler, input.tex).r;
|
||||
|
||||
yuv += offset;
|
||||
Output.r = dot(yuv, Rcoeff);
|
||||
Output.g = dot(yuv, Gcoeff);
|
||||
Output.b = dot(yuv, Bcoeff);
|
||||
Output.a = 1.0f;
|
||||
|
||||
return Output * input.color;
|
||||
}
|
||||
*/
|
||||
static const DWORD D3D9_PixelShader_YUV_JPEG[] = {
|
||||
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000d7, 0xffff0200,
|
||||
0x00000003, 0x0000001c, 0x00000100, 0x000000d0, 0x00000058, 0x00010003,
|
||||
0x00000001, 0x00000070, 0x00000000, 0x00000080, 0x00020003, 0x00000001,
|
||||
0x00000098, 0x00000000, 0x000000a8, 0x00000003, 0x00000001, 0x000000c0,
|
||||
0x00000000, 0x53656874, 0x6c706d61, 0x742b7265, 0x65546568, 0x72757478,
|
||||
0xab005565, 0x00070004, 0x00040001, 0x00000001, 0x00000000, 0x53656874,
|
||||
0x6c706d61, 0x742b7265, 0x65546568, 0x72757478, 0xab005665, 0x00070004,
|
||||
0x00040001, 0x00000001, 0x00000000, 0x53656874, 0x6c706d61, 0x742b7265,
|
||||
0x65546568, 0x72757478, 0xab005965, 0x00070004, 0x00040001, 0x00000001,
|
||||
0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73, 0x29522820,
|
||||
0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, 0x2e362072,
|
||||
0x36392e33, 0x312e3030, 0x34383336, 0xababab00, 0x05000051, 0xa00f0000,
|
||||
0x00000000, 0xbf008081, 0xbf008081, 0x3f800000, 0x05000051, 0xa00f0001,
|
||||
0x3f800000, 0x00000000, 0x3fb374bc, 0x00000000, 0x05000051, 0xa00f0002,
|
||||
0x3f800000, 0xbeb02de0, 0xbf36cf42, 0x00000000, 0x05000051, 0xa00f0003,
|
||||
0x3f800000, 0x3fe2d0e5, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
|
||||
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
|
||||
0xa00f0800, 0x0200001f, 0x90000000, 0xa00f0801, 0x0200001f, 0x90000000,
|
||||
0xa00f0802, 0x03000042, 0x800f0000, 0xb0e40000, 0xa0e40800, 0x03000042,
|
||||
0x800f0001, 0xb0e40000, 0xa0e40801, 0x03000042, 0x800f0002, 0xb0e40000,
|
||||
0xa0e40802, 0x02000001, 0x80020000, 0x80000001, 0x02000001, 0x80040000,
|
||||
0x80000002, 0x03000002, 0x80070000, 0x80e40000, 0xa0e40000, 0x03000008,
|
||||
0x80010001, 0x80e40000, 0xa0e40001, 0x03000008, 0x80020001, 0x80e40000,
|
||||
0xa0e40002, 0x0400005a, 0x80040001, 0x80e40000, 0xa0e40003, 0xa0aa0003,
|
||||
0x02000001, 0x80080001, 0xa0ff0000, 0x03000005, 0x800f0000, 0x80e40001,
|
||||
0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
|
||||
};
|
||||
|
||||
/* --- D3D9_PixelShader_YUV_BT601.hlsl ---
|
||||
Texture2D theTextureY : register(t0);
|
||||
Texture2D theTextureU : register(t1);
|
||||
Texture2D theTextureV : register(t2);
|
||||
SamplerState theSampler = sampler_state
|
||||
{
|
||||
addressU = Clamp;
|
||||
addressV = Clamp;
|
||||
mipfilter = NONE;
|
||||
minfilter = LINEAR;
|
||||
magfilter = LINEAR;
|
||||
};
|
||||
|
||||
struct PixelShaderInput
|
||||
{
|
||||
float4 pos : SV_POSITION;
|
||||
float2 tex : TEXCOORD0;
|
||||
float4 color : COLOR0;
|
||||
};
|
||||
|
||||
float4 main(PixelShaderInput input) : SV_TARGET
|
||||
{
|
||||
const float3 offset = {-0.0627451017, -0.501960814, -0.501960814};
|
||||
const float3 Rcoeff = {1.1644, 0.0000, 1.5960};
|
||||
const float3 Gcoeff = {1.1644, -0.3918, -0.8130};
|
||||
const float3 Bcoeff = {1.1644, 2.0172, 0.0000};
|
||||
|
||||
float4 Output;
|
||||
|
||||
float3 yuv;
|
||||
yuv.x = theTextureY.Sample(theSampler, input.tex).r;
|
||||
yuv.y = theTextureU.Sample(theSampler, input.tex).r;
|
||||
yuv.z = theTextureV.Sample(theSampler, input.tex).r;
|
||||
|
||||
yuv += offset;
|
||||
Output.r = dot(yuv, Rcoeff);
|
||||
Output.g = dot(yuv, Gcoeff);
|
||||
Output.b = dot(yuv, Bcoeff);
|
||||
Output.a = 1.0f;
|
||||
|
||||
return Output * input.color;
|
||||
}
|
||||
*/
|
||||
static const DWORD D3D9_PixelShader_YUV_BT601[] = {
|
||||
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000d7, 0xffff0200,
|
||||
0x00000003, 0x0000001c, 0x00000100, 0x000000d0, 0x00000058, 0x00010003,
|
||||
0x00000001, 0x00000070, 0x00000000, 0x00000080, 0x00020003, 0x00000001,
|
||||
0x00000098, 0x00000000, 0x000000a8, 0x00000003, 0x00000001, 0x000000c0,
|
||||
0x00000000, 0x53656874, 0x6c706d61, 0x742b7265, 0x65546568, 0x72757478,
|
||||
0xab005565, 0x00070004, 0x00040001, 0x00000001, 0x00000000, 0x53656874,
|
||||
0x6c706d61, 0x742b7265, 0x65546568, 0x72757478, 0xab005665, 0x00070004,
|
||||
0x00040001, 0x00000001, 0x00000000, 0x53656874, 0x6c706d61, 0x742b7265,
|
||||
0x65546568, 0x72757478, 0xab005965, 0x00070004, 0x00040001, 0x00000001,
|
||||
0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73, 0x29522820,
|
||||
0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, 0x2e362072,
|
||||
0x36392e33, 0x312e3030, 0x34383336, 0xababab00, 0x05000051, 0xa00f0000,
|
||||
0xbd808081, 0xbf008081, 0xbf008081, 0x3f800000, 0x05000051, 0xa00f0001,
|
||||
0x3f950b0f, 0x00000000, 0x3fcc49ba, 0x00000000, 0x05000051, 0xa00f0002,
|
||||
0x3f950b0f, 0xbec89a02, 0xbf5020c5, 0x00000000, 0x05000051, 0xa00f0003,
|
||||
0x3f950b0f, 0x400119ce, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
|
||||
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
|
||||
0xa00f0800, 0x0200001f, 0x90000000, 0xa00f0801, 0x0200001f, 0x90000000,
|
||||
0xa00f0802, 0x03000042, 0x800f0000, 0xb0e40000, 0xa0e40800, 0x03000042,
|
||||
0x800f0001, 0xb0e40000, 0xa0e40801, 0x03000042, 0x800f0002, 0xb0e40000,
|
||||
0xa0e40802, 0x02000001, 0x80020000, 0x80000001, 0x02000001, 0x80040000,
|
||||
0x80000002, 0x03000002, 0x80070000, 0x80e40000, 0xa0e40000, 0x03000008,
|
||||
0x80010001, 0x80e40000, 0xa0e40001, 0x03000008, 0x80020001, 0x80e40000,
|
||||
0xa0e40002, 0x0400005a, 0x80040001, 0x80e40000, 0xa0e40003, 0xa0aa0003,
|
||||
0x02000001, 0x80080001, 0xa0ff0000, 0x03000005, 0x800f0000, 0x80e40001,
|
||||
0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
|
||||
};
|
||||
|
||||
/* --- D3D9_PixelShader_YUV_BT709.hlsl ---
|
||||
Texture2D theTextureY : register(t0);
|
||||
Texture2D theTextureU : register(t1);
|
||||
Texture2D theTextureV : register(t2);
|
||||
SamplerState theSampler = sampler_state
|
||||
{
|
||||
addressU = Clamp;
|
||||
addressV = Clamp;
|
||||
mipfilter = NONE;
|
||||
minfilter = LINEAR;
|
||||
magfilter = LINEAR;
|
||||
};
|
||||
|
||||
struct PixelShaderInput
|
||||
{
|
||||
float4 pos : SV_POSITION;
|
||||
float2 tex : TEXCOORD0;
|
||||
float4 color : COLOR0;
|
||||
};
|
||||
|
||||
float4 main(PixelShaderInput input) : SV_TARGET
|
||||
{
|
||||
const float3 offset = {-0.0627451017, -0.501960814, -0.501960814};
|
||||
const float3 Rcoeff = {1.1644, 0.0000, 1.7927};
|
||||
const float3 Gcoeff = {1.1644, -0.2132, -0.5329};
|
||||
const float3 Bcoeff = {1.1644, 2.1124, 0.0000};
|
||||
|
||||
float4 Output;
|
||||
|
||||
float3 yuv;
|
||||
yuv.x = theTextureY.Sample(theSampler, input.tex).r;
|
||||
yuv.y = theTextureU.Sample(theSampler, input.tex).r;
|
||||
yuv.z = theTextureV.Sample(theSampler, input.tex).r;
|
||||
|
||||
yuv += offset;
|
||||
Output.r = dot(yuv, Rcoeff);
|
||||
Output.g = dot(yuv, Gcoeff);
|
||||
Output.b = dot(yuv, Bcoeff);
|
||||
Output.a = 1.0f;
|
||||
|
||||
return Output * input.color;
|
||||
}
|
||||
*/
|
||||
static const DWORD D3D9_PixelShader_YUV_BT709[] = {
|
||||
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000d7, 0xffff0200,
|
||||
0x00000003, 0x0000001c, 0x00000100, 0x000000d0, 0x00000058, 0x00010003,
|
||||
0x00000001, 0x00000070, 0x00000000, 0x00000080, 0x00020003, 0x00000001,
|
||||
0x00000098, 0x00000000, 0x000000a8, 0x00000003, 0x00000001, 0x000000c0,
|
||||
0x00000000, 0x53656874, 0x6c706d61, 0x742b7265, 0x65546568, 0x72757478,
|
||||
0xab005565, 0x00070004, 0x00040001, 0x00000001, 0x00000000, 0x53656874,
|
||||
0x6c706d61, 0x742b7265, 0x65546568, 0x72757478, 0xab005665, 0x00070004,
|
||||
0x00040001, 0x00000001, 0x00000000, 0x53656874, 0x6c706d61, 0x742b7265,
|
||||
0x65546568, 0x72757478, 0xab005965, 0x00070004, 0x00040001, 0x00000001,
|
||||
0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73, 0x29522820,
|
||||
0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, 0x2e362072,
|
||||
0x36392e33, 0x312e3030, 0x34383336, 0xababab00, 0x05000051, 0xa00f0000,
|
||||
0xbd808081, 0xbf008081, 0xbf008081, 0x3f800000, 0x05000051, 0xa00f0001,
|
||||
0x3f950b0f, 0x00000000, 0x3fe57732, 0x00000000, 0x05000051, 0xa00f0002,
|
||||
0x3f950b0f, 0xbe5a511a, 0xbf086c22, 0x00000000, 0x05000051, 0xa00f0003,
|
||||
0x3f950b0f, 0x40073190, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
|
||||
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
|
||||
0xa00f0800, 0x0200001f, 0x90000000, 0xa00f0801, 0x0200001f, 0x90000000,
|
||||
0xa00f0802, 0x03000042, 0x800f0000, 0xb0e40000, 0xa0e40800, 0x03000042,
|
||||
0x800f0001, 0xb0e40000, 0xa0e40801, 0x03000042, 0x800f0002, 0xb0e40000,
|
||||
0xa0e40802, 0x02000001, 0x80020000, 0x80000001, 0x02000001, 0x80040000,
|
||||
0x80000002, 0x03000002, 0x80070000, 0x80e40000, 0xa0e40000, 0x03000008,
|
||||
0x80010001, 0x80e40000, 0xa0e40001, 0x03000008, 0x80020001, 0x80e40000,
|
||||
0xa0e40002, 0x0400005a, 0x80040001, 0x80e40000, 0xa0e40003, 0xa0aa0003,
|
||||
0x02000001, 0x80080001, 0xa0ff0000, 0x03000005, 0x800f0000, 0x80e40001,
|
||||
0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
|
||||
};
|
||||
|
||||
static const DWORD *D3D9_shaders[] = {
|
||||
D3D9_PixelShader_YUV_JPEG,
|
||||
D3D9_PixelShader_YUV_BT601,
|
||||
D3D9_PixelShader_YUV_BT709,
|
||||
static const BYTE *D3D9_shaders[] = {
|
||||
NULL,
|
||||
D3D9_PixelShader_YUV
|
||||
};
|
||||
SDL_COMPILE_TIME_ASSERT(D3D9_shaders, SDL_arraysize(D3D9_shaders) == NUM_SHADERS);
|
||||
|
||||
HRESULT D3D9_CreatePixelShader(IDirect3DDevice9 *d3dDevice, D3D9_Shader shader, IDirect3DPixelShader9 **pixelShader)
|
||||
{
|
||||
return IDirect3DDevice9_CreatePixelShader(d3dDevice, D3D9_shaders[shader], pixelShader);
|
||||
return IDirect3DDevice9_CreatePixelShader(d3dDevice, (const DWORD *)D3D9_shaders[shader], pixelShader);
|
||||
}
|
||||
|
||||
#endif /* SDL_VIDEO_RENDER_D3D && !SDL_RENDER_DISABLED */
|
||||
|
|
|
@ -24,9 +24,8 @@
|
|||
|
||||
typedef enum
|
||||
{
|
||||
SHADER_YUV_JPEG,
|
||||
SHADER_YUV_BT601,
|
||||
SHADER_YUV_BT709,
|
||||
SHADER_NONE,
|
||||
SHADER_YUV,
|
||||
NUM_SHADERS
|
||||
} D3D9_Shader;
|
||||
|
||||
|
|
1
src/render/direct3d/compile_shaders.bat
Normal file
1
src/render/direct3d/compile_shaders.bat
Normal file
|
@ -0,0 +1 @@
|
|||
fxc /T ps_2_0 /Fh D3D9_PixelShader_YUV.h D3D9_PixelShader_YUV.hlsl
|
134
src/render/direct3d11/D3D11_PixelShader_Colors.h
Executable file
134
src/render/direct3d11/D3D11_PixelShader_Colors.h
Executable file
|
@ -0,0 +1,134 @@
|
|||
#if 0
|
||||
//
|
||||
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
|
||||
//
|
||||
//
|
||||
//
|
||||
// Input signature:
|
||||
//
|
||||
// Name Index Mask Register SysValue Format Used
|
||||
// -------------------- ----- ------ -------- -------- ------- ------
|
||||
// SV_POSITION 0 xyzw 0 POS float
|
||||
// TEXCOORD 0 xy 1 NONE float
|
||||
// COLOR 0 xyzw 2 NONE float xyzw
|
||||
//
|
||||
//
|
||||
// Output signature:
|
||||
//
|
||||
// Name Index Mask Register SysValue Format Used
|
||||
// -------------------- ----- ------ -------- -------- ------- ------
|
||||
// SV_TARGET 0 xyzw 0 TARGET float xyzw
|
||||
//
|
||||
//
|
||||
// Level9 shader bytecode:
|
||||
//
|
||||
ps_2_0
|
||||
dcl t1
|
||||
mov oC0, t1
|
||||
|
||||
// approximately 1 instruction slot used
|
||||
ps_4_0
|
||||
dcl_input_ps linear v2.xyzw
|
||||
dcl_output o0.xyzw
|
||||
mov o0.xyzw, v2.xyzw
|
||||
ret
|
||||
// Approximately 2 instruction slots used
|
||||
#endif
|
||||
|
||||
const BYTE g_main[] =
|
||||
{
|
||||
68, 88, 66, 67, 226, 124,
|
||||
10, 63, 141, 181, 49, 167,
|
||||
218, 135, 248, 147, 77, 222,
|
||||
95, 123, 1, 0, 0, 0,
|
||||
52, 2, 0, 0, 6, 0,
|
||||
0, 0, 56, 0, 0, 0,
|
||||
132, 0, 0, 0, 196, 0,
|
||||
0, 0, 64, 1, 0, 0,
|
||||
140, 1, 0, 0, 0, 2,
|
||||
0, 0, 65, 111, 110, 57,
|
||||
68, 0, 0, 0, 68, 0,
|
||||
0, 0, 0, 2, 255, 255,
|
||||
32, 0, 0, 0, 36, 0,
|
||||
0, 0, 0, 0, 36, 0,
|
||||
0, 0, 36, 0, 0, 0,
|
||||
36, 0, 0, 0, 36, 0,
|
||||
0, 0, 36, 0, 0, 2,
|
||||
255, 255, 31, 0, 0, 2,
|
||||
0, 0, 0, 128, 1, 0,
|
||||
15, 176, 1, 0, 0, 2,
|
||||
0, 8, 15, 128, 1, 0,
|
||||
228, 176, 255, 255, 0, 0,
|
||||
83, 72, 68, 82, 56, 0,
|
||||
0, 0, 64, 0, 0, 0,
|
||||
14, 0, 0, 0, 98, 16,
|
||||
0, 3, 242, 16, 16, 0,
|
||||
2, 0, 0, 0, 101, 0,
|
||||
0, 3, 242, 32, 16, 0,
|
||||
0, 0, 0, 0, 54, 0,
|
||||
0, 5, 242, 32, 16, 0,
|
||||
0, 0, 0, 0, 70, 30,
|
||||
16, 0, 2, 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,
|
||||
2, 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,
|
||||
68, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 28, 0,
|
||||
0, 0, 0, 4, 255, 255,
|
||||
0, 1, 0, 0, 28, 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, 108, 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, 101, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 3, 0,
|
||||
0, 0, 2, 0, 0, 0,
|
||||
15, 15, 0, 0, 83, 86,
|
||||
95, 80, 79, 83, 73, 84,
|
||||
73, 79, 78, 0, 84, 69,
|
||||
88, 67, 79, 79, 82, 68,
|
||||
0, 67, 79, 76, 79, 82,
|
||||
0, 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, 65, 82,
|
||||
71, 69, 84, 0, 171, 171
|
||||
};
|
11
src/render/direct3d11/D3D11_PixelShader_Colors.hlsl
Normal file
11
src/render/direct3d11/D3D11_PixelShader_Colors.hlsl
Normal file
|
@ -0,0 +1,11 @@
|
|||
struct PixelShaderInput
|
||||
{
|
||||
float4 pos : SV_POSITION;
|
||||
float2 tex : TEXCOORD0;
|
||||
float4 color : COLOR0;
|
||||
};
|
||||
|
||||
float4 main(PixelShaderInput input) : SV_TARGET
|
||||
{
|
||||
return input.color;
|
||||
}
|
347
src/render/direct3d11/D3D11_PixelShader_NV12.h
Executable file
347
src/render/direct3d11/D3D11_PixelShader_NV12.h
Executable file
|
@ -0,0 +1,347 @@
|
|||
#if 0
|
||||
//
|
||||
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
|
||||
//
|
||||
//
|
||||
// Buffer Definitions:
|
||||
//
|
||||
// cbuffer Constants
|
||||
// {
|
||||
//
|
||||
// float4 Yoffset; // Offset: 0 Size: 16
|
||||
// float4 Rcoeff; // Offset: 16 Size: 16
|
||||
// float4 Gcoeff; // Offset: 32 Size: 16
|
||||
// float4 Bcoeff; // Offset: 48 Size: 16
|
||||
//
|
||||
// }
|
||||
//
|
||||
//
|
||||
// Resource Bindings:
|
||||
//
|
||||
// Name Type Format Dim HLSL Bind Count
|
||||
// ------------------------------ ---------- ------- ----------- -------------- ------
|
||||
// theSampler sampler NA NA s0 1
|
||||
// theTextureY texture float4 2d t0 1
|
||||
// theTextureUV texture float4 2d t1 1
|
||||
// Constants 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
|
||||
// COLOR 0 xyzw 2 NONE float xyzw
|
||||
//
|
||||
//
|
||||
// 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 4 ( FLT, FLT, FLT, FLT)
|
||||
//
|
||||
//
|
||||
// Sampler/Resource to DX9 shader sampler mappings:
|
||||
//
|
||||
// Target Sampler Source Sampler Source Resource
|
||||
// -------------- --------------- ----------------
|
||||
// s0 s0 t0
|
||||
// s1 s0 t1
|
||||
//
|
||||
//
|
||||
// Level9 shader bytecode:
|
||||
//
|
||||
ps_2_0
|
||||
def c4, 1, 0, 0, 0
|
||||
dcl t0.xy
|
||||
dcl t1
|
||||
dcl_2d s0
|
||||
dcl_2d s1
|
||||
texld r0, t0, s0
|
||||
texld r1, t0, s1
|
||||
mov r0.yz, r1.zxyw
|
||||
add r0.xyz, r0, c0
|
||||
dp3 r1.x, r0, c1
|
||||
dp3 r1.y, r0, c2
|
||||
dp3 r1.z, r0, c3
|
||||
mov r1.w, c4.x
|
||||
mul r0, r1, t1
|
||||
mov oC0, r0
|
||||
|
||||
// approximately 10 instruction slots used (2 texture, 8 arithmetic)
|
||||
ps_4_0
|
||||
dcl_constantbuffer CB0[4], immediateIndexed
|
||||
dcl_sampler s0, mode_default
|
||||
dcl_resource_texture2d (float,float,float,float) t0
|
||||
dcl_resource_texture2d (float,float,float,float) t1
|
||||
dcl_input_ps linear v1.xy
|
||||
dcl_input_ps linear v2.xyzw
|
||||
dcl_output o0.xyzw
|
||||
dcl_temps 2
|
||||
sample r0.xyzw, v1.xyxx, t0.xyzw, s0
|
||||
sample r1.xyzw, v1.xyxx, t1.xyzw, s0
|
||||
mov r0.yz, r1.xxyx
|
||||
add r0.xyz, r0.xyzx, cb0[0].xyzx
|
||||
dp3 r1.x, r0.xyzx, cb0[1].xyzx
|
||||
dp3 r1.y, r0.xyzx, cb0[2].xyzx
|
||||
dp3 r1.z, r0.xyzx, cb0[3].xyzx
|
||||
mov r1.w, l(1.000000)
|
||||
mul o0.xyzw, r1.xyzw, v2.xyzw
|
||||
ret
|
||||
// Approximately 10 instruction slots used
|
||||
#endif
|
||||
|
||||
const BYTE g_main[] =
|
||||
{
|
||||
68, 88, 66, 67, 141, 213,
|
||||
118, 74, 78, 95, 162, 4,
|
||||
201, 30, 199, 78, 91, 203,
|
||||
113, 9, 1, 0, 0, 0,
|
||||
172, 5, 0, 0, 6, 0,
|
||||
0, 0, 56, 0, 0, 0,
|
||||
92, 1, 0, 0, 228, 2,
|
||||
0, 0, 96, 3, 0, 0,
|
||||
4, 5, 0, 0, 120, 5,
|
||||
0, 0, 65, 111, 110, 57,
|
||||
28, 1, 0, 0, 28, 1,
|
||||
0, 0, 0, 2, 255, 255,
|
||||
228, 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, 1, 0, 1, 0,
|
||||
0, 0, 0, 0, 4, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
0, 2, 255, 255, 81, 0,
|
||||
0, 5, 4, 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, 15, 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,
|
||||
1, 0, 0, 2, 0, 0,
|
||||
6, 128, 1, 0, 210, 128,
|
||||
2, 0, 0, 3, 0, 0,
|
||||
7, 128, 0, 0, 228, 128,
|
||||
0, 0, 228, 160, 8, 0,
|
||||
0, 3, 1, 0, 1, 128,
|
||||
0, 0, 228, 128, 1, 0,
|
||||
228, 160, 8, 0, 0, 3,
|
||||
1, 0, 2, 128, 0, 0,
|
||||
228, 128, 2, 0, 228, 160,
|
||||
8, 0, 0, 3, 1, 0,
|
||||
4, 128, 0, 0, 228, 128,
|
||||
3, 0, 228, 160, 1, 0,
|
||||
0, 2, 1, 0, 8, 128,
|
||||
4, 0, 0, 160, 5, 0,
|
||||
0, 3, 0, 0, 15, 128,
|
||||
1, 0, 228, 128, 1, 0,
|
||||
228, 176, 1, 0, 0, 2,
|
||||
0, 8, 15, 128, 0, 0,
|
||||
228, 128, 255, 255, 0, 0,
|
||||
83, 72, 68, 82, 128, 1,
|
||||
0, 0, 64, 0, 0, 0,
|
||||
96, 0, 0, 0, 89, 0,
|
||||
0, 4, 70, 142, 32, 0,
|
||||
0, 0, 0, 0, 4, 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, 98, 16,
|
||||
0, 3, 50, 16, 16, 0,
|
||||
1, 0, 0, 0, 98, 16,
|
||||
0, 3, 242, 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,
|
||||
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,
|
||||
54, 0, 0, 5, 98, 0,
|
||||
16, 0, 0, 0, 0, 0,
|
||||
6, 1, 16, 0, 1, 0,
|
||||
0, 0, 0, 0, 0, 8,
|
||||
114, 0, 16, 0, 0, 0,
|
||||
0, 0, 70, 2, 16, 0,
|
||||
0, 0, 0, 0, 70, 130,
|
||||
32, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 16, 0,
|
||||
0, 8, 18, 0, 16, 0,
|
||||
1, 0, 0, 0, 70, 2,
|
||||
16, 0, 0, 0, 0, 0,
|
||||
70, 130, 32, 0, 0, 0,
|
||||
0, 0, 1, 0, 0, 0,
|
||||
16, 0, 0, 8, 34, 0,
|
||||
16, 0, 1, 0, 0, 0,
|
||||
70, 2, 16, 0, 0, 0,
|
||||
0, 0, 70, 130, 32, 0,
|
||||
0, 0, 0, 0, 2, 0,
|
||||
0, 0, 16, 0, 0, 8,
|
||||
66, 0, 16, 0, 1, 0,
|
||||
0, 0, 70, 2, 16, 0,
|
||||
0, 0, 0, 0, 70, 130,
|
||||
32, 0, 0, 0, 0, 0,
|
||||
3, 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, 7, 242, 32,
|
||||
16, 0, 0, 0, 0, 0,
|
||||
70, 14, 16, 0, 1, 0,
|
||||
0, 0, 70, 30, 16, 0,
|
||||
2, 0, 0, 0, 62, 0,
|
||||
0, 1, 83, 84, 65, 84,
|
||||
116, 0, 0, 0, 10, 0,
|
||||
0, 0, 2, 0, 0, 0,
|
||||
0, 0, 0, 0, 3, 0,
|
||||
0, 0, 5, 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, 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, 156, 1,
|
||||
0, 0, 1, 0, 0, 0,
|
||||
204, 0, 0, 0, 4, 0,
|
||||
0, 0, 28, 0, 0, 0,
|
||||
0, 4, 255, 255, 0, 1,
|
||||
0, 0, 113, 1, 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, 167, 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, 179, 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,
|
||||
192, 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, 1, 0,
|
||||
0, 0, 116, 104, 101, 83,
|
||||
97, 109, 112, 108, 101, 114,
|
||||
0, 116, 104, 101, 84, 101,
|
||||
120, 116, 117, 114, 101, 89,
|
||||
0, 116, 104, 101, 84, 101,
|
||||
120, 116, 117, 114, 101, 85,
|
||||
86, 0, 67, 111, 110, 115,
|
||||
116, 97, 110, 116, 115, 0,
|
||||
171, 171, 192, 0, 0, 0,
|
||||
4, 0, 0, 0, 228, 0,
|
||||
0, 0, 64, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
0, 0, 68, 1, 0, 0,
|
||||
0, 0, 0, 0, 16, 0,
|
||||
0, 0, 2, 0, 0, 0,
|
||||
76, 1, 0, 0, 0, 0,
|
||||
0, 0, 92, 1, 0, 0,
|
||||
16, 0, 0, 0, 16, 0,
|
||||
0, 0, 2, 0, 0, 0,
|
||||
76, 1, 0, 0, 0, 0,
|
||||
0, 0, 99, 1, 0, 0,
|
||||
32, 0, 0, 0, 16, 0,
|
||||
0, 0, 2, 0, 0, 0,
|
||||
76, 1, 0, 0, 0, 0,
|
||||
0, 0, 106, 1, 0, 0,
|
||||
48, 0, 0, 0, 16, 0,
|
||||
0, 0, 2, 0, 0, 0,
|
||||
76, 1, 0, 0, 0, 0,
|
||||
0, 0, 89, 111, 102, 102,
|
||||
115, 101, 116, 0, 1, 0,
|
||||
3, 0, 1, 0, 4, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
0, 0, 82, 99, 111, 101,
|
||||
102, 102, 0, 71, 99, 111,
|
||||
101, 102, 102, 0, 66, 99,
|
||||
111, 101, 102, 102, 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, 171, 171,
|
||||
73, 83, 71, 78, 108, 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, 101, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 3, 0,
|
||||
0, 0, 2, 0, 0, 0,
|
||||
15, 15, 0, 0, 83, 86,
|
||||
95, 80, 79, 83, 73, 84,
|
||||
73, 79, 78, 0, 84, 69,
|
||||
88, 67, 79, 79, 82, 68,
|
||||
0, 67, 79, 76, 79, 82,
|
||||
0, 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, 65, 82,
|
||||
71, 69, 84, 0, 171, 171
|
||||
};
|
36
src/render/direct3d11/D3D11_PixelShader_NV12.hlsl
Normal file
36
src/render/direct3d11/D3D11_PixelShader_NV12.hlsl
Normal file
|
@ -0,0 +1,36 @@
|
|||
Texture2D theTextureY : register(t0);
|
||||
Texture2D theTextureUV : register(t1);
|
||||
SamplerState theSampler : register(s0);
|
||||
|
||||
struct PixelShaderInput
|
||||
{
|
||||
float4 pos : SV_POSITION;
|
||||
float2 tex : TEXCOORD0;
|
||||
float4 color : COLOR0;
|
||||
};
|
||||
|
||||
cbuffer Constants : register(b0)
|
||||
{
|
||||
float4 Yoffset;
|
||||
float4 Rcoeff;
|
||||
float4 Gcoeff;
|
||||
float4 Bcoeff;
|
||||
};
|
||||
|
||||
|
||||
float4 main(PixelShaderInput input) : SV_TARGET
|
||||
{
|
||||
float4 Output;
|
||||
|
||||
float3 yuv;
|
||||
yuv.x = theTextureY.Sample(theSampler, input.tex).r;
|
||||
yuv.yz = theTextureUV.Sample(theSampler, input.tex).rg;
|
||||
|
||||
yuv += Yoffset.xyz;
|
||||
Output.r = dot(yuv, Rcoeff.xyz);
|
||||
Output.g = dot(yuv, Gcoeff.xyz);
|
||||
Output.b = dot(yuv, Bcoeff.xyz);
|
||||
Output.a = 1.0f;
|
||||
|
||||
return Output * input.color;
|
||||
}
|
350
src/render/direct3d11/D3D11_PixelShader_NV21.h
Executable file
350
src/render/direct3d11/D3D11_PixelShader_NV21.h
Executable file
|
@ -0,0 +1,350 @@
|
|||
#if 0
|
||||
//
|
||||
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
|
||||
//
|
||||
//
|
||||
// Buffer Definitions:
|
||||
//
|
||||
// cbuffer Constants
|
||||
// {
|
||||
//
|
||||
// float4 Yoffset; // Offset: 0 Size: 16
|
||||
// float4 Rcoeff; // Offset: 16 Size: 16
|
||||
// float4 Gcoeff; // Offset: 32 Size: 16
|
||||
// float4 Bcoeff; // Offset: 48 Size: 16
|
||||
//
|
||||
// }
|
||||
//
|
||||
//
|
||||
// Resource Bindings:
|
||||
//
|
||||
// Name Type Format Dim HLSL Bind Count
|
||||
// ------------------------------ ---------- ------- ----------- -------------- ------
|
||||
// theSampler sampler NA NA s0 1
|
||||
// theTextureY texture float4 2d t0 1
|
||||
// theTextureUV texture float4 2d t1 1
|
||||
// Constants 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
|
||||
// COLOR 0 xyzw 2 NONE float xyzw
|
||||
//
|
||||
//
|
||||
// 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 4 ( FLT, FLT, FLT, FLT)
|
||||
//
|
||||
//
|
||||
// Sampler/Resource to DX9 shader sampler mappings:
|
||||
//
|
||||
// Target Sampler Source Sampler Source Resource
|
||||
// -------------- --------------- ----------------
|
||||
// s0 s0 t0
|
||||
// s1 s0 t1
|
||||
//
|
||||
//
|
||||
// Level9 shader bytecode:
|
||||
//
|
||||
ps_2_0
|
||||
def c4, 1, 0, 0, 0
|
||||
dcl t0.xy
|
||||
dcl t1
|
||||
dcl_2d s0
|
||||
dcl_2d s1
|
||||
texld r0, t0, s0
|
||||
texld r1, t0, s1
|
||||
mov r0.y, r1.y
|
||||
mov r0.z, r1.x
|
||||
add r0.xyz, r0, c0
|
||||
dp3 r1.x, r0, c1
|
||||
dp3 r1.y, r0, c2
|
||||
dp3 r1.z, r0, c3
|
||||
mov r1.w, c4.x
|
||||
mul r0, r1, t1
|
||||
mov oC0, r0
|
||||
|
||||
// approximately 11 instruction slots used (2 texture, 9 arithmetic)
|
||||
ps_4_0
|
||||
dcl_constantbuffer CB0[4], immediateIndexed
|
||||
dcl_sampler s0, mode_default
|
||||
dcl_resource_texture2d (float,float,float,float) t0
|
||||
dcl_resource_texture2d (float,float,float,float) t1
|
||||
dcl_input_ps linear v1.xy
|
||||
dcl_input_ps linear v2.xyzw
|
||||
dcl_output o0.xyzw
|
||||
dcl_temps 2
|
||||
sample r0.xyzw, v1.xyxx, t0.xyzw, s0
|
||||
sample r1.xyzw, v1.xyxx, t1.xyzw, s0
|
||||
mov r0.yz, r1.yyxy
|
||||
add r0.xyz, r0.xyzx, cb0[0].xyzx
|
||||
dp3 r1.x, r0.xyzx, cb0[1].xyzx
|
||||
dp3 r1.y, r0.xyzx, cb0[2].xyzx
|
||||
dp3 r1.z, r0.xyzx, cb0[3].xyzx
|
||||
mov r1.w, l(1.000000)
|
||||
mul o0.xyzw, r1.xyzw, v2.xyzw
|
||||
ret
|
||||
// Approximately 10 instruction slots used
|
||||
#endif
|
||||
|
||||
const BYTE g_main[] =
|
||||
{
|
||||
68, 88, 66, 67, 142, 144,
|
||||
79, 192, 175, 21, 0, 8,
|
||||
7, 119, 219, 202, 53, 69,
|
||||
174, 234, 1, 0, 0, 0,
|
||||
184, 5, 0, 0, 6, 0,
|
||||
0, 0, 56, 0, 0, 0,
|
||||
104, 1, 0, 0, 240, 2,
|
||||
0, 0, 108, 3, 0, 0,
|
||||
16, 5, 0, 0, 132, 5,
|
||||
0, 0, 65, 111, 110, 57,
|
||||
40, 1, 0, 0, 40, 1,
|
||||
0, 0, 0, 2, 255, 255,
|
||||
240, 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, 1, 0, 1, 0,
|
||||
0, 0, 0, 0, 4, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
0, 2, 255, 255, 81, 0,
|
||||
0, 5, 4, 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, 15, 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,
|
||||
1, 0, 0, 2, 0, 0,
|
||||
2, 128, 1, 0, 85, 128,
|
||||
1, 0, 0, 2, 0, 0,
|
||||
4, 128, 1, 0, 0, 128,
|
||||
2, 0, 0, 3, 0, 0,
|
||||
7, 128, 0, 0, 228, 128,
|
||||
0, 0, 228, 160, 8, 0,
|
||||
0, 3, 1, 0, 1, 128,
|
||||
0, 0, 228, 128, 1, 0,
|
||||
228, 160, 8, 0, 0, 3,
|
||||
1, 0, 2, 128, 0, 0,
|
||||
228, 128, 2, 0, 228, 160,
|
||||
8, 0, 0, 3, 1, 0,
|
||||
4, 128, 0, 0, 228, 128,
|
||||
3, 0, 228, 160, 1, 0,
|
||||
0, 2, 1, 0, 8, 128,
|
||||
4, 0, 0, 160, 5, 0,
|
||||
0, 3, 0, 0, 15, 128,
|
||||
1, 0, 228, 128, 1, 0,
|
||||
228, 176, 1, 0, 0, 2,
|
||||
0, 8, 15, 128, 0, 0,
|
||||
228, 128, 255, 255, 0, 0,
|
||||
83, 72, 68, 82, 128, 1,
|
||||
0, 0, 64, 0, 0, 0,
|
||||
96, 0, 0, 0, 89, 0,
|
||||
0, 4, 70, 142, 32, 0,
|
||||
0, 0, 0, 0, 4, 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, 98, 16,
|
||||
0, 3, 50, 16, 16, 0,
|
||||
1, 0, 0, 0, 98, 16,
|
||||
0, 3, 242, 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,
|
||||
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,
|
||||
54, 0, 0, 5, 98, 0,
|
||||
16, 0, 0, 0, 0, 0,
|
||||
86, 4, 16, 0, 1, 0,
|
||||
0, 0, 0, 0, 0, 8,
|
||||
114, 0, 16, 0, 0, 0,
|
||||
0, 0, 70, 2, 16, 0,
|
||||
0, 0, 0, 0, 70, 130,
|
||||
32, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 16, 0,
|
||||
0, 8, 18, 0, 16, 0,
|
||||
1, 0, 0, 0, 70, 2,
|
||||
16, 0, 0, 0, 0, 0,
|
||||
70, 130, 32, 0, 0, 0,
|
||||
0, 0, 1, 0, 0, 0,
|
||||
16, 0, 0, 8, 34, 0,
|
||||
16, 0, 1, 0, 0, 0,
|
||||
70, 2, 16, 0, 0, 0,
|
||||
0, 0, 70, 130, 32, 0,
|
||||
0, 0, 0, 0, 2, 0,
|
||||
0, 0, 16, 0, 0, 8,
|
||||
66, 0, 16, 0, 1, 0,
|
||||
0, 0, 70, 2, 16, 0,
|
||||
0, 0, 0, 0, 70, 130,
|
||||
32, 0, 0, 0, 0, 0,
|
||||
3, 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, 7, 242, 32,
|
||||
16, 0, 0, 0, 0, 0,
|
||||
70, 14, 16, 0, 1, 0,
|
||||
0, 0, 70, 30, 16, 0,
|
||||
2, 0, 0, 0, 62, 0,
|
||||
0, 1, 83, 84, 65, 84,
|
||||
116, 0, 0, 0, 10, 0,
|
||||
0, 0, 2, 0, 0, 0,
|
||||
0, 0, 0, 0, 3, 0,
|
||||
0, 0, 5, 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, 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, 156, 1,
|
||||
0, 0, 1, 0, 0, 0,
|
||||
204, 0, 0, 0, 4, 0,
|
||||
0, 0, 28, 0, 0, 0,
|
||||
0, 4, 255, 255, 0, 1,
|
||||
0, 0, 113, 1, 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, 167, 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, 179, 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,
|
||||
192, 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, 1, 0,
|
||||
0, 0, 116, 104, 101, 83,
|
||||
97, 109, 112, 108, 101, 114,
|
||||
0, 116, 104, 101, 84, 101,
|
||||
120, 116, 117, 114, 101, 89,
|
||||
0, 116, 104, 101, 84, 101,
|
||||
120, 116, 117, 114, 101, 85,
|
||||
86, 0, 67, 111, 110, 115,
|
||||
116, 97, 110, 116, 115, 0,
|
||||
171, 171, 192, 0, 0, 0,
|
||||
4, 0, 0, 0, 228, 0,
|
||||
0, 0, 64, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
0, 0, 68, 1, 0, 0,
|
||||
0, 0, 0, 0, 16, 0,
|
||||
0, 0, 2, 0, 0, 0,
|
||||
76, 1, 0, 0, 0, 0,
|
||||
0, 0, 92, 1, 0, 0,
|
||||
16, 0, 0, 0, 16, 0,
|
||||
0, 0, 2, 0, 0, 0,
|
||||
76, 1, 0, 0, 0, 0,
|
||||
0, 0, 99, 1, 0, 0,
|
||||
32, 0, 0, 0, 16, 0,
|
||||
0, 0, 2, 0, 0, 0,
|
||||
76, 1, 0, 0, 0, 0,
|
||||
0, 0, 106, 1, 0, 0,
|
||||
48, 0, 0, 0, 16, 0,
|
||||
0, 0, 2, 0, 0, 0,
|
||||
76, 1, 0, 0, 0, 0,
|
||||
0, 0, 89, 111, 102, 102,
|
||||
115, 101, 116, 0, 1, 0,
|
||||
3, 0, 1, 0, 4, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
0, 0, 82, 99, 111, 101,
|
||||
102, 102, 0, 71, 99, 111,
|
||||
101, 102, 102, 0, 66, 99,
|
||||
111, 101, 102, 102, 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, 171, 171,
|
||||
73, 83, 71, 78, 108, 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, 101, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 3, 0,
|
||||
0, 0, 2, 0, 0, 0,
|
||||
15, 15, 0, 0, 83, 86,
|
||||
95, 80, 79, 83, 73, 84,
|
||||
73, 79, 78, 0, 84, 69,
|
||||
88, 67, 79, 79, 82, 68,
|
||||
0, 67, 79, 76, 79, 82,
|
||||
0, 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, 65, 82,
|
||||
71, 69, 84, 0, 171, 171
|
||||
};
|
36
src/render/direct3d11/D3D11_PixelShader_NV21.hlsl
Normal file
36
src/render/direct3d11/D3D11_PixelShader_NV21.hlsl
Normal file
|
@ -0,0 +1,36 @@
|
|||
Texture2D theTextureY : register(t0);
|
||||
Texture2D theTextureUV : register(t1);
|
||||
SamplerState theSampler : register(s0);
|
||||
|
||||
struct PixelShaderInput
|
||||
{
|
||||
float4 pos : SV_POSITION;
|
||||
float2 tex : TEXCOORD0;
|
||||
float4 color : COLOR0;
|
||||
};
|
||||
|
||||
cbuffer Constants : register(b0)
|
||||
{
|
||||
float4 Yoffset;
|
||||
float4 Rcoeff;
|
||||
float4 Gcoeff;
|
||||
float4 Bcoeff;
|
||||
};
|
||||
|
||||
|
||||
float4 main(PixelShaderInput input) : SV_TARGET
|
||||
{
|
||||
float4 Output;
|
||||
|
||||
float3 yuv;
|
||||
yuv.x = theTextureY.Sample(theSampler, input.tex).r;
|
||||
yuv.yz = theTextureUV.Sample(theSampler, input.tex).gr;
|
||||
|
||||
yuv += Yoffset.xyz;
|
||||
Output.r = dot(yuv, Rcoeff.xyz);
|
||||
Output.g = dot(yuv, Gcoeff.xyz);
|
||||
Output.b = dot(yuv, Bcoeff.xyz);
|
||||
Output.a = 1.0f;
|
||||
|
||||
return Output * input.color;
|
||||
}
|
198
src/render/direct3d11/D3D11_PixelShader_Textures.h
Executable file
198
src/render/direct3d11/D3D11_PixelShader_Textures.h
Executable file
|
@ -0,0 +1,198 @@
|
|||
#if 0
|
||||
//
|
||||
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
|
||||
//
|
||||
//
|
||||
// Resource Bindings:
|
||||
//
|
||||
// Name Type Format Dim HLSL Bind Count
|
||||
// ------------------------------ ---------- ------- ----------- -------------- ------
|
||||
// theSampler sampler NA NA s0 1
|
||||
// theTexture texture float4 2d t0 1
|
||||
//
|
||||
//
|
||||
//
|
||||
// Input signature:
|
||||
//
|
||||
// Name Index Mask Register SysValue Format Used
|
||||
// -------------------- ----- ------ -------- -------- ------- ------
|
||||
// SV_POSITION 0 xyzw 0 POS float
|
||||
// TEXCOORD 0 xy 1 NONE float xy
|
||||
// COLOR 0 xyzw 2 NONE float xyzw
|
||||
//
|
||||
//
|
||||
// Output signature:
|
||||
//
|
||||
// Name Index Mask Register SysValue Format Used
|
||||
// -------------------- ----- ------ -------- -------- ------- ------
|
||||
// SV_TARGET 0 xyzw 0 TARGET float xyzw
|
||||
//
|
||||
//
|
||||
// Sampler/Resource to DX9 shader sampler mappings:
|
||||
//
|
||||
// Target Sampler Source Sampler Source Resource
|
||||
// -------------- --------------- ----------------
|
||||
// s0 s0 t0
|
||||
//
|
||||
//
|
||||
// Level9 shader bytecode:
|
||||
//
|
||||
ps_2_0
|
||||
dcl t0.xy
|
||||
dcl t1
|
||||
dcl_2d s0
|
||||
texld r0, t0, s0
|
||||
mul r0, r0, t1
|
||||
mov oC0, r0
|
||||
|
||||
// approximately 3 instruction slots used (1 texture, 2 arithmetic)
|
||||
ps_4_0
|
||||
dcl_sampler s0, mode_default
|
||||
dcl_resource_texture2d (float,float,float,float) t0
|
||||
dcl_input_ps linear v1.xy
|
||||
dcl_input_ps linear v2.xyzw
|
||||
dcl_output o0.xyzw
|
||||
dcl_temps 1
|
||||
sample r0.xyzw, v1.xyxx, t0.xyzw, s0
|
||||
mul o0.xyzw, r0.xyzw, v2.xyzw
|
||||
ret
|
||||
// Approximately 3 instruction slots used
|
||||
#endif
|
||||
|
||||
const BYTE g_main[] =
|
||||
{
|
||||
68, 88, 66, 67, 192, 209,
|
||||
41, 173, 243, 223, 145, 48,
|
||||
186, 133, 149, 213, 4, 163,
|
||||
174, 97, 1, 0, 0, 0,
|
||||
36, 3, 0, 0, 6, 0,
|
||||
0, 0, 56, 0, 0, 0,
|
||||
192, 0, 0, 0, 92, 1,
|
||||
0, 0, 216, 1, 0, 0,
|
||||
124, 2, 0, 0, 240, 2,
|
||||
0, 0, 65, 111, 110, 57,
|
||||
128, 0, 0, 0, 128, 0,
|
||||
0, 0, 0, 2, 255, 255,
|
||||
88, 0, 0, 0, 40, 0,
|
||||
0, 0, 0, 0, 40, 0,
|
||||
0, 0, 40, 0, 0, 0,
|
||||
40, 0, 1, 0, 36, 0,
|
||||
0, 0, 40, 0, 0, 0,
|
||||
0, 0, 0, 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, 15, 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, 1, 0,
|
||||
228, 176, 1, 0, 0, 2,
|
||||
0, 8, 15, 128, 0, 0,
|
||||
228, 128, 255, 255, 0, 0,
|
||||
83, 72, 68, 82, 148, 0,
|
||||
0, 0, 64, 0, 0, 0,
|
||||
37, 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, 98, 16, 0, 3,
|
||||
242, 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, 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, 7, 242, 32, 16, 0,
|
||||
0, 0, 0, 0, 70, 14,
|
||||
16, 0, 0, 0, 0, 0,
|
||||
70, 30, 16, 0, 2, 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, 3, 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, 156, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
0, 0, 2, 0, 0, 0,
|
||||
28, 0, 0, 0, 0, 4,
|
||||
255, 255, 0, 1, 0, 0,
|
||||
114, 0, 0, 0, 92, 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,
|
||||
103, 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, 116, 104, 101, 83,
|
||||
97, 109, 112, 108, 101, 114,
|
||||
0, 116, 104, 101, 84, 101,
|
||||
120, 116, 117, 114, 101, 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, 171,
|
||||
73, 83, 71, 78, 108, 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, 101, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 3, 0,
|
||||
0, 0, 2, 0, 0, 0,
|
||||
15, 15, 0, 0, 83, 86,
|
||||
95, 80, 79, 83, 73, 84,
|
||||
73, 79, 78, 0, 84, 69,
|
||||
88, 67, 79, 79, 82, 68,
|
||||
0, 67, 79, 76, 79, 82,
|
||||
0, 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, 65, 82,
|
||||
71, 69, 84, 0, 171, 171
|
||||
};
|
14
src/render/direct3d11/D3D11_PixelShader_Textures.hlsl
Normal file
14
src/render/direct3d11/D3D11_PixelShader_Textures.hlsl
Normal file
|
@ -0,0 +1,14 @@
|
|||
Texture2D theTexture : register(t0);
|
||||
SamplerState theSampler : register(s0);
|
||||
|
||||
struct PixelShaderInput
|
||||
{
|
||||
float4 pos : SV_POSITION;
|
||||
float2 tex : TEXCOORD0;
|
||||
float4 color : COLOR0;
|
||||
};
|
||||
|
||||
float4 main(PixelShaderInput input) : SV_TARGET
|
||||
{
|
||||
return theTexture.Sample(theSampler, input.tex) * input.color;
|
||||
}
|
382
src/render/direct3d11/D3D11_PixelShader_YUV.h
Executable file
382
src/render/direct3d11/D3D11_PixelShader_YUV.h
Executable file
|
@ -0,0 +1,382 @@
|
|||
#if 0
|
||||
//
|
||||
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
|
||||
//
|
||||
//
|
||||
// Buffer Definitions:
|
||||
//
|
||||
// cbuffer Constants
|
||||
// {
|
||||
//
|
||||
// float4 Yoffset; // Offset: 0 Size: 16
|
||||
// float4 Rcoeff; // Offset: 16 Size: 16
|
||||
// float4 Gcoeff; // Offset: 32 Size: 16
|
||||
// float4 Bcoeff; // Offset: 48 Size: 16
|
||||
//
|
||||
// }
|
||||
//
|
||||
//
|
||||
// Resource Bindings:
|
||||
//
|
||||
// Name Type Format Dim HLSL Bind Count
|
||||
// ------------------------------ ---------- ------- ----------- -------------- ------
|
||||
// theSampler sampler NA NA s0 1
|
||||
// theTextureY texture float4 2d t0 1
|
||||
// theTextureU texture float4 2d t1 1
|
||||
// theTextureV texture float4 2d t2 1
|
||||
// Constants 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
|
||||
// COLOR 0 xyzw 2 NONE float xyzw
|
||||
//
|
||||
//
|
||||
// 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 4 ( 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
|
||||
//
|
||||
//
|
||||
// Level9 shader bytecode:
|
||||
//
|
||||
ps_2_0
|
||||
def c4, 1, 0, 0, 0
|
||||
dcl t0.xy
|
||||
dcl t1
|
||||
dcl_2d s0
|
||||
dcl_2d s1
|
||||
dcl_2d s2
|
||||
texld r0, t0, s0
|
||||
texld r1, t0, s1
|
||||
texld r2, t0, s2
|
||||
mov r0.y, r1.x
|
||||
mov r0.z, r2.x
|
||||
add r0.xyz, r0, c0
|
||||
dp3 r1.x, r0, c1
|
||||
dp3 r1.y, r0, c2
|
||||
dp3 r1.z, r0, c3
|
||||
mov r1.w, c4.x
|
||||
mul r0, r1, t1
|
||||
mov oC0, r0
|
||||
|
||||
// approximately 12 instruction slots used (3 texture, 9 arithmetic)
|
||||
ps_4_0
|
||||
dcl_constantbuffer CB0[4], 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_input_ps linear v1.xy
|
||||
dcl_input_ps linear v2.xyzw
|
||||
dcl_output o0.xyzw
|
||||
dcl_temps 2
|
||||
sample r0.xyzw, v1.xyxx, t0.xyzw, s0
|
||||
sample r1.xyzw, v1.xyxx, t1.xyzw, s0
|
||||
mov r0.y, r1.x
|
||||
sample r1.xyzw, v1.xyxx, t2.xyzw, s0
|
||||
mov r0.z, r1.x
|
||||
add r0.xyz, r0.xyzx, cb0[0].xyzx
|
||||
dp3 r1.x, r0.xyzx, cb0[1].xyzx
|
||||
dp3 r1.y, r0.xyzx, cb0[2].xyzx
|
||||
dp3 r1.z, r0.xyzx, cb0[3].xyzx
|
||||
mov r1.w, l(1.000000)
|
||||
mul o0.xyzw, r1.xyzw, v2.xyzw
|
||||
ret
|
||||
// Approximately 12 instruction slots used
|
||||
#endif
|
||||
|
||||
const BYTE g_main[] =
|
||||
{
|
||||
68, 88, 66, 67, 17, 27,
|
||||
202, 87, 93, 193, 186, 139,
|
||||
251, 175, 168, 151, 229, 182,
|
||||
100, 211, 1, 0, 0, 0,
|
||||
76, 6, 0, 0, 6, 0,
|
||||
0, 0, 56, 0, 0, 0,
|
||||
136, 1, 0, 0, 88, 3,
|
||||
0, 0, 212, 3, 0, 0,
|
||||
164, 5, 0, 0, 24, 6,
|
||||
0, 0, 65, 111, 110, 57,
|
||||
72, 1, 0, 0, 72, 1,
|
||||
0, 0, 0, 2, 255, 255,
|
||||
12, 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, 1, 0, 1, 0,
|
||||
2, 0, 2, 0, 0, 0,
|
||||
0, 0, 4, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 2,
|
||||
255, 255, 81, 0, 0, 5,
|
||||
4, 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,
|
||||
15, 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,
|
||||
1, 8, 228, 160, 66, 0,
|
||||
0, 3, 2, 0, 15, 128,
|
||||
0, 0, 228, 176, 2, 8,
|
||||
228, 160, 1, 0, 0, 2,
|
||||
0, 0, 2, 128, 1, 0,
|
||||
0, 128, 1, 0, 0, 2,
|
||||
0, 0, 4, 128, 2, 0,
|
||||
0, 128, 2, 0, 0, 3,
|
||||
0, 0, 7, 128, 0, 0,
|
||||
228, 128, 0, 0, 228, 160,
|
||||
8, 0, 0, 3, 1, 0,
|
||||
1, 128, 0, 0, 228, 128,
|
||||
1, 0, 228, 160, 8, 0,
|
||||
0, 3, 1, 0, 2, 128,
|
||||
0, 0, 228, 128, 2, 0,
|
||||
228, 160, 8, 0, 0, 3,
|
||||
1, 0, 4, 128, 0, 0,
|
||||
228, 128, 3, 0, 228, 160,
|
||||
1, 0, 0, 2, 1, 0,
|
||||
8, 128, 4, 0, 0, 160,
|
||||
5, 0, 0, 3, 0, 0,
|
||||
15, 128, 1, 0, 228, 128,
|
||||
1, 0, 228, 176, 1, 0,
|
||||
0, 2, 0, 8, 15, 128,
|
||||
0, 0, 228, 128, 255, 255,
|
||||
0, 0, 83, 72, 68, 82,
|
||||
200, 1, 0, 0, 64, 0,
|
||||
0, 0, 114, 0, 0, 0,
|
||||
89, 0, 0, 4, 70, 142,
|
||||
32, 0, 0, 0, 0, 0,
|
||||
4, 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, 98, 16,
|
||||
0, 3, 50, 16, 16, 0,
|
||||
1, 0, 0, 0, 98, 16,
|
||||
0, 3, 242, 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,
|
||||
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,
|
||||
54, 0, 0, 5, 34, 0,
|
||||
16, 0, 0, 0, 0, 0,
|
||||
10, 0, 16, 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, 2, 0, 0, 0,
|
||||
0, 96, 16, 0, 0, 0,
|
||||
0, 0, 54, 0, 0, 5,
|
||||
66, 0, 16, 0, 0, 0,
|
||||
0, 0, 10, 0, 16, 0,
|
||||
1, 0, 0, 0, 0, 0,
|
||||
0, 8, 114, 0, 16, 0,
|
||||
0, 0, 0, 0, 70, 2,
|
||||
16, 0, 0, 0, 0, 0,
|
||||
70, 130, 32, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
16, 0, 0, 8, 18, 0,
|
||||
16, 0, 1, 0, 0, 0,
|
||||
70, 2, 16, 0, 0, 0,
|
||||
0, 0, 70, 130, 32, 0,
|
||||
0, 0, 0, 0, 1, 0,
|
||||
0, 0, 16, 0, 0, 8,
|
||||
34, 0, 16, 0, 1, 0,
|
||||
0, 0, 70, 2, 16, 0,
|
||||
0, 0, 0, 0, 70, 130,
|
||||
32, 0, 0, 0, 0, 0,
|
||||
2, 0, 0, 0, 16, 0,
|
||||
0, 8, 66, 0, 16, 0,
|
||||
1, 0, 0, 0, 70, 2,
|
||||
16, 0, 0, 0, 0, 0,
|
||||
70, 130, 32, 0, 0, 0,
|
||||
0, 0, 3, 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, 7,
|
||||
242, 32, 16, 0, 0, 0,
|
||||
0, 0, 70, 14, 16, 0,
|
||||
1, 0, 0, 0, 70, 30,
|
||||
16, 0, 2, 0, 0, 0,
|
||||
62, 0, 0, 1, 83, 84,
|
||||
65, 84, 116, 0, 0, 0,
|
||||
12, 0, 0, 0, 2, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
3, 0, 0, 0, 5, 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, 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,
|
||||
200, 1, 0, 0, 1, 0,
|
||||
0, 0, 248, 0, 0, 0,
|
||||
5, 0, 0, 0, 28, 0,
|
||||
0, 0, 0, 4, 255, 255,
|
||||
0, 1, 0, 0, 157, 1,
|
||||
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, 199, 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,
|
||||
211, 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, 223, 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, 235, 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, 1, 0, 0, 0,
|
||||
116, 104, 101, 83, 97, 109,
|
||||
112, 108, 101, 114, 0, 116,
|
||||
104, 101, 84, 101, 120, 116,
|
||||
117, 114, 101, 89, 0, 116,
|
||||
104, 101, 84, 101, 120, 116,
|
||||
117, 114, 101, 85, 0, 116,
|
||||
104, 101, 84, 101, 120, 116,
|
||||
117, 114, 101, 86, 0, 67,
|
||||
111, 110, 115, 116, 97, 110,
|
||||
116, 115, 0, 171, 171, 171,
|
||||
235, 0, 0, 0, 4, 0,
|
||||
0, 0, 16, 1, 0, 0,
|
||||
64, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
112, 1, 0, 0, 0, 0,
|
||||
0, 0, 16, 0, 0, 0,
|
||||
2, 0, 0, 0, 120, 1,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
136, 1, 0, 0, 16, 0,
|
||||
0, 0, 16, 0, 0, 0,
|
||||
2, 0, 0, 0, 120, 1,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
143, 1, 0, 0, 32, 0,
|
||||
0, 0, 16, 0, 0, 0,
|
||||
2, 0, 0, 0, 120, 1,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
150, 1, 0, 0, 48, 0,
|
||||
0, 0, 16, 0, 0, 0,
|
||||
2, 0, 0, 0, 120, 1,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
89, 111, 102, 102, 115, 101,
|
||||
116, 0, 1, 0, 3, 0,
|
||||
1, 0, 4, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
82, 99, 111, 101, 102, 102,
|
||||
0, 71, 99, 111, 101, 102,
|
||||
102, 0, 66, 99, 111, 101,
|
||||
102, 102, 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, 171, 171, 73, 83,
|
||||
71, 78, 108, 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, 101, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
0, 0, 3, 0, 0, 0,
|
||||
2, 0, 0, 0, 15, 15,
|
||||
0, 0, 83, 86, 95, 80,
|
||||
79, 83, 73, 84, 73, 79,
|
||||
78, 0, 84, 69, 88, 67,
|
||||
79, 79, 82, 68, 0, 67,
|
||||
79, 76, 79, 82, 0, 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, 65, 82, 71, 69,
|
||||
84, 0, 171, 171
|
||||
};
|
38
src/render/direct3d11/D3D11_PixelShader_YUV.hlsl
Normal file
38
src/render/direct3d11/D3D11_PixelShader_YUV.hlsl
Normal file
|
@ -0,0 +1,38 @@
|
|||
Texture2D theTextureY : register(t0);
|
||||
Texture2D theTextureU : register(t1);
|
||||
Texture2D theTextureV : register(t2);
|
||||
SamplerState theSampler : register(s0);
|
||||
|
||||
struct PixelShaderInput
|
||||
{
|
||||
float4 pos : SV_POSITION;
|
||||
float2 tex : TEXCOORD0;
|
||||
float4 color : COLOR0;
|
||||
};
|
||||
|
||||
cbuffer Constants : register(b0)
|
||||
{
|
||||
float4 Yoffset;
|
||||
float4 Rcoeff;
|
||||
float4 Gcoeff;
|
||||
float4 Bcoeff;
|
||||
};
|
||||
|
||||
|
||||
float4 main(PixelShaderInput input) : SV_TARGET
|
||||
{
|
||||
float4 Output;
|
||||
|
||||
float3 yuv;
|
||||
yuv.x = theTextureY.Sample(theSampler, input.tex).r;
|
||||
yuv.y = theTextureU.Sample(theSampler, input.tex).r;
|
||||
yuv.z = theTextureV.Sample(theSampler, input.tex).r;
|
||||
|
||||
yuv += Yoffset.xyz;
|
||||
Output.r = dot(yuv, Rcoeff.xyz);
|
||||
Output.g = dot(yuv, Gcoeff.xyz);
|
||||
Output.b = dot(yuv, Bcoeff.xyz);
|
||||
Output.a = 1.0f;
|
||||
|
||||
return Output * input.color;
|
||||
}
|
339
src/render/direct3d11/D3D11_VertexShader.h
Executable file
339
src/render/direct3d11/D3D11_VertexShader.h
Executable file
|
@ -0,0 +1,339 @@
|
|||
#if 0
|
||||
//
|
||||
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
|
||||
//
|
||||
//
|
||||
// Buffer Definitions:
|
||||
//
|
||||
// cbuffer VertexShaderConstants
|
||||
// {
|
||||
//
|
||||
// row_major float4x4 model; // Offset: 0 Size: 64
|
||||
// row_major float4x4 projectionAndView;// Offset: 64 Size: 64
|
||||
//
|
||||
// }
|
||||
//
|
||||
//
|
||||
// Resource Bindings:
|
||||
//
|
||||
// Name Type Format Dim HLSL Bind Count
|
||||
// ------------------------------ ---------- ------- ----------- -------------- ------
|
||||
// VertexShaderConstants cbuffer NA NA cb0 1
|
||||
//
|
||||
//
|
||||
//
|
||||
// Input signature:
|
||||
//
|
||||
// Name Index Mask Register SysValue Format Used
|
||||
// -------------------- ----- ------ -------- -------- ------- ------
|
||||
// POSITION 0 xyz 0 NONE float xyz
|
||||
// TEXCOORD 0 xy 1 NONE float xy
|
||||
// COLOR 0 xyzw 2 NONE float xyzw
|
||||
//
|
||||
//
|
||||
// Output signature:
|
||||
//
|
||||
// Name Index Mask Register SysValue Format Used
|
||||
// -------------------- ----- ------ -------- -------- ------- ------
|
||||
// SV_POSITION 0 xyzw 0 POS float xyzw
|
||||
// TEXCOORD 0 xy 1 NONE float xy
|
||||
// COLOR 0 xyzw 2 NONE float xyzw
|
||||
//
|
||||
//
|
||||
// Constant buffer to DX9 shader constant mappings:
|
||||
//
|
||||
// Target Reg Buffer Start Reg # of Regs Data Conversion
|
||||
// ---------- ------- --------- --------- ----------------------
|
||||
// c1 cb0 0 8 ( FLT, FLT, FLT, FLT)
|
||||
//
|
||||
//
|
||||
// Runtime generated constant mappings:
|
||||
//
|
||||
// Target Reg Constant Description
|
||||
// ---------- --------------------------------------------------
|
||||
// c0 Vertex Shader position offset
|
||||
//
|
||||
//
|
||||
// Level9 shader bytecode:
|
||||
//
|
||||
vs_2_0
|
||||
dcl_texcoord v0
|
||||
dcl_texcoord1 v1
|
||||
dcl_texcoord2 v2
|
||||
mul r0, v0.y, c2
|
||||
mad r0, v0.x, c1, r0
|
||||
mad r0, v0.z, c3, r0
|
||||
add r0, r0, c4
|
||||
mul r1, r0.y, c6
|
||||
mad r1, r0.x, c5, r1
|
||||
mad r1, r0.z, c7, r1
|
||||
mad r0, r0.w, c8, r1
|
||||
mad oPos.xy, r0.w, c0, r0
|
||||
mov oPos.zw, r0
|
||||
mov oT0.xy, v1
|
||||
mov oT1, v2
|
||||
|
||||
// approximately 12 instruction slots used
|
||||
vs_4_0
|
||||
dcl_constantbuffer CB0[8], immediateIndexed
|
||||
dcl_input v0.xyz
|
||||
dcl_input v1.xy
|
||||
dcl_input v2.xyzw
|
||||
dcl_output_siv o0.xyzw, position
|
||||
dcl_output o1.xy
|
||||
dcl_output o2.xyzw
|
||||
dcl_temps 2
|
||||
mul r0.xyzw, v0.yyyy, cb0[1].xyzw
|
||||
mad r0.xyzw, v0.xxxx, cb0[0].xyzw, r0.xyzw
|
||||
mad r0.xyzw, v0.zzzz, cb0[2].xyzw, r0.xyzw
|
||||
add r0.xyzw, r0.xyzw, cb0[3].xyzw
|
||||
mul r1.xyzw, r0.yyyy, cb0[5].xyzw
|
||||
mad r1.xyzw, r0.xxxx, cb0[4].xyzw, r1.xyzw
|
||||
mad r1.xyzw, r0.zzzz, cb0[6].xyzw, r1.xyzw
|
||||
mad o0.xyzw, r0.wwww, cb0[7].xyzw, r1.xyzw
|
||||
mov o1.xy, v1.xyxx
|
||||
mov o2.xyzw, v2.xyzw
|
||||
ret
|
||||
// Approximately 11 instruction slots used
|
||||
#endif
|
||||
|
||||
const BYTE g_main[] =
|
||||
{
|
||||
68, 88, 66, 67, 152, 172,
|
||||
81, 45, 198, 200, 12, 38,
|
||||
143, 4, 178, 228, 158, 175,
|
||||
169, 64, 1, 0, 0, 0,
|
||||
140, 5, 0, 0, 6, 0,
|
||||
0, 0, 56, 0, 0, 0,
|
||||
108, 1, 0, 0, 52, 3,
|
||||
0, 0, 176, 3, 0, 0,
|
||||
168, 4, 0, 0, 24, 5,
|
||||
0, 0, 65, 111, 110, 57,
|
||||
44, 1, 0, 0, 44, 1,
|
||||
0, 0, 0, 2, 254, 255,
|
||||
248, 0, 0, 0, 52, 0,
|
||||
0, 0, 1, 0, 36, 0,
|
||||
0, 0, 48, 0, 0, 0,
|
||||
48, 0, 0, 0, 36, 0,
|
||||
1, 0, 48, 0, 0, 0,
|
||||
0, 0, 8, 0, 1, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 2, 254, 255,
|
||||
31, 0, 0, 2, 5, 0,
|
||||
0, 128, 0, 0, 15, 144,
|
||||
31, 0, 0, 2, 5, 0,
|
||||
1, 128, 1, 0, 15, 144,
|
||||
31, 0, 0, 2, 5, 0,
|
||||
2, 128, 2, 0, 15, 144,
|
||||
5, 0, 0, 3, 0, 0,
|
||||
15, 128, 0, 0, 85, 144,
|
||||
2, 0, 228, 160, 4, 0,
|
||||
0, 4, 0, 0, 15, 128,
|
||||
0, 0, 0, 144, 1, 0,
|
||||
228, 160, 0, 0, 228, 128,
|
||||
4, 0, 0, 4, 0, 0,
|
||||
15, 128, 0, 0, 170, 144,
|
||||
3, 0, 228, 160, 0, 0,
|
||||
228, 128, 2, 0, 0, 3,
|
||||
0, 0, 15, 128, 0, 0,
|
||||
228, 128, 4, 0, 228, 160,
|
||||
5, 0, 0, 3, 1, 0,
|
||||
15, 128, 0, 0, 85, 128,
|
||||
6, 0, 228, 160, 4, 0,
|
||||
0, 4, 1, 0, 15, 128,
|
||||
0, 0, 0, 128, 5, 0,
|
||||
228, 160, 1, 0, 228, 128,
|
||||
4, 0, 0, 4, 1, 0,
|
||||
15, 128, 0, 0, 170, 128,
|
||||
7, 0, 228, 160, 1, 0,
|
||||
228, 128, 4, 0, 0, 4,
|
||||
0, 0, 15, 128, 0, 0,
|
||||
255, 128, 8, 0, 228, 160,
|
||||
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,
|
||||
1, 0, 0, 2, 0, 0,
|
||||
3, 224, 1, 0, 228, 144,
|
||||
1, 0, 0, 2, 1, 0,
|
||||
15, 224, 2, 0, 228, 144,
|
||||
255, 255, 0, 0, 83, 72,
|
||||
68, 82, 192, 1, 0, 0,
|
||||
64, 0, 1, 0, 112, 0,
|
||||
0, 0, 89, 0, 0, 4,
|
||||
70, 142, 32, 0, 0, 0,
|
||||
0, 0, 8, 0, 0, 0,
|
||||
95, 0, 0, 3, 114, 16,
|
||||
16, 0, 0, 0, 0, 0,
|
||||
95, 0, 0, 3, 50, 16,
|
||||
16, 0, 1, 0, 0, 0,
|
||||
95, 0, 0, 3, 242, 16,
|
||||
16, 0, 2, 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, 242, 32, 16, 0,
|
||||
2, 0, 0, 0, 104, 0,
|
||||
0, 2, 2, 0, 0, 0,
|
||||
56, 0, 0, 8, 242, 0,
|
||||
16, 0, 0, 0, 0, 0,
|
||||
86, 21, 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, 6, 16, 16, 0,
|
||||
0, 0, 0, 0, 70, 142,
|
||||
32, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 70, 14,
|
||||
16, 0, 0, 0, 0, 0,
|
||||
50, 0, 0, 10, 242, 0,
|
||||
16, 0, 0, 0, 0, 0,
|
||||
166, 26, 16, 0, 0, 0,
|
||||
0, 0, 70, 142, 32, 0,
|
||||
0, 0, 0, 0, 2, 0,
|
||||
0, 0, 70, 14, 16, 0,
|
||||
0, 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,
|
||||
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, 6, 0, 16, 0,
|
||||
0, 0, 0, 0, 70, 142,
|
||||
32, 0, 0, 0, 0, 0,
|
||||
4, 0, 0, 0, 70, 14,
|
||||
16, 0, 1, 0, 0, 0,
|
||||
50, 0, 0, 10, 242, 0,
|
||||
16, 0, 1, 0, 0, 0,
|
||||
166, 10, 16, 0, 0, 0,
|
||||
0, 0, 70, 142, 32, 0,
|
||||
0, 0, 0, 0, 6, 0,
|
||||
0, 0, 70, 14, 16, 0,
|
||||
1, 0, 0, 0, 50, 0,
|
||||
0, 10, 242, 32, 16, 0,
|
||||
0, 0, 0, 0, 246, 15,
|
||||
16, 0, 0, 0, 0, 0,
|
||||
70, 142, 32, 0, 0, 0,
|
||||
0, 0, 7, 0, 0, 0,
|
||||
70, 14, 16, 0, 1, 0,
|
||||
0, 0, 54, 0, 0, 5,
|
||||
50, 32, 16, 0, 1, 0,
|
||||
0, 0, 70, 16, 16, 0,
|
||||
1, 0, 0, 0, 54, 0,
|
||||
0, 5, 242, 32, 16, 0,
|
||||
2, 0, 0, 0, 70, 30,
|
||||
16, 0, 2, 0, 0, 0,
|
||||
62, 0, 0, 1, 83, 84,
|
||||
65, 84, 116, 0, 0, 0,
|
||||
11, 0, 0, 0, 2, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
6, 0, 0, 0, 8, 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,
|
||||
240, 0, 0, 0, 1, 0,
|
||||
0, 0, 84, 0, 0, 0,
|
||||
1, 0, 0, 0, 28, 0,
|
||||
0, 0, 0, 4, 254, 255,
|
||||
0, 1, 0, 0, 198, 0,
|
||||
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,
|
||||
1, 0, 0, 0, 86, 101,
|
||||
114, 116, 101, 120, 83, 104,
|
||||
97, 100, 101, 114, 67, 111,
|
||||
110, 115, 116, 97, 110, 116,
|
||||
115, 0, 171, 171, 60, 0,
|
||||
0, 0, 2, 0, 0, 0,
|
||||
108, 0, 0, 0, 128, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 156, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
64, 0, 0, 0, 2, 0,
|
||||
0, 0, 164, 0, 0, 0,
|
||||
0, 0, 0, 0, 180, 0,
|
||||
0, 0, 64, 0, 0, 0,
|
||||
64, 0, 0, 0, 2, 0,
|
||||
0, 0, 164, 0, 0, 0,
|
||||
0, 0, 0, 0, 109, 111,
|
||||
100, 101, 108, 0, 171, 171,
|
||||
2, 0, 3, 0, 4, 0,
|
||||
4, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 112, 114,
|
||||
111, 106, 101, 99, 116, 105,
|
||||
111, 110, 65, 110, 100, 86,
|
||||
105, 101, 119, 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, 171, 73, 83,
|
||||
71, 78, 104, 0, 0, 0,
|
||||
3, 0, 0, 0, 8, 0,
|
||||
0, 0, 80, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
0, 0, 3, 0, 0, 0,
|
||||
0, 0, 0, 0, 7, 7,
|
||||
0, 0, 89, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
0, 0, 3, 0, 0, 0,
|
||||
1, 0, 0, 0, 3, 3,
|
||||
0, 0, 98, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
0, 0, 3, 0, 0, 0,
|
||||
2, 0, 0, 0, 15, 15,
|
||||
0, 0, 80, 79, 83, 73,
|
||||
84, 73, 79, 78, 0, 84,
|
||||
69, 88, 67, 79, 79, 82,
|
||||
68, 0, 67, 79, 76, 79,
|
||||
82, 0, 79, 83, 71, 78,
|
||||
108, 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,
|
||||
101, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
3, 0, 0, 0, 2, 0,
|
||||
0, 0, 15, 0, 0, 0,
|
||||
83, 86, 95, 80, 79, 83,
|
||||
73, 84, 73, 79, 78, 0,
|
||||
84, 69, 88, 67, 79, 79,
|
||||
82, 68, 0, 67, 79, 76,
|
||||
79, 82, 0, 171
|
||||
};
|
38
src/render/direct3d11/D3D11_VertexShader.hlsl
Normal file
38
src/render/direct3d11/D3D11_VertexShader.hlsl
Normal file
|
@ -0,0 +1,38 @@
|
|||
#pragma pack_matrix( row_major )
|
||||
|
||||
cbuffer VertexShaderConstants : register(b0)
|
||||
{
|
||||
matrix model;
|
||||
matrix projectionAndView;
|
||||
};
|
||||
|
||||
struct VertexShaderInput
|
||||
{
|
||||
float3 pos : POSITION;
|
||||
float2 tex : TEXCOORD0;
|
||||
float4 color : COLOR0;
|
||||
};
|
||||
|
||||
struct VertexShaderOutput
|
||||
{
|
||||
float4 pos : SV_POSITION;
|
||||
float2 tex : TEXCOORD0;
|
||||
float4 color : COLOR0;
|
||||
};
|
||||
|
||||
VertexShaderOutput main(VertexShaderInput input)
|
||||
{
|
||||
VertexShaderOutput output;
|
||||
float4 pos = float4(input.pos, 1.0f);
|
||||
|
||||
// Transform the vertex position into projected space.
|
||||
pos = mul(pos, model);
|
||||
pos = mul(pos, projectionAndView);
|
||||
output.pos = pos;
|
||||
|
||||
// Pass through texture coordinates and color values without transformation
|
||||
output.tex = input.tex;
|
||||
output.color = input.color;
|
||||
|
||||
return output;
|
||||
}
|
|
@ -85,6 +85,7 @@ typedef struct
|
|||
/* Per-texture data */
|
||||
typedef struct
|
||||
{
|
||||
int w, h;
|
||||
ID3D11Texture2D *mainTexture;
|
||||
ID3D11ShaderResourceView *mainTextureResourceView;
|
||||
ID3D11RenderTargetView *mainTextureRenderTargetView;
|
||||
|
@ -92,6 +93,8 @@ typedef struct
|
|||
int lockedTexturePositionX;
|
||||
int lockedTexturePositionY;
|
||||
D3D11_FILTER scaleMode;
|
||||
D3D11_Shader shader;
|
||||
const float *shader_params;
|
||||
#if SDL_HAVE_YUV
|
||||
/* YV12 texture support */
|
||||
SDL_bool yuv;
|
||||
|
@ -135,6 +138,7 @@ typedef struct
|
|||
size_t vertexBufferSizes[8];
|
||||
ID3D11VertexShader *vertexShader;
|
||||
ID3D11PixelShader *pixelShaders[NUM_SHADERS];
|
||||
ID3D11Buffer *pixelShaderConstants[NUM_SHADERS];
|
||||
int blendModesCount;
|
||||
D3D11_BlendMode *blendModes;
|
||||
ID3D11SamplerState *nearestPixelSampler;
|
||||
|
@ -155,7 +159,8 @@ typedef struct
|
|||
ID3D11RenderTargetView *currentRenderTargetView;
|
||||
ID3D11RasterizerState *currentRasterizerState;
|
||||
ID3D11BlendState *currentBlendState;
|
||||
ID3D11PixelShader *currentShader;
|
||||
D3D11_Shader currentShader;
|
||||
const float *currentShaderParams[NUM_SHADERS];
|
||||
ID3D11ShaderResourceView *currentShaderResource;
|
||||
ID3D11SamplerState *currentSampler;
|
||||
SDL_bool cliprectDirty;
|
||||
|
@ -299,6 +304,9 @@ static void D3D11_ReleaseAll(SDL_Renderer *renderer)
|
|||
for (i = 0; i < SDL_arraysize(data->pixelShaders); ++i) {
|
||||
SAFE_RELEASE(data->pixelShaders[i]);
|
||||
}
|
||||
for (i = 0; i < SDL_arraysize(data->pixelShaderConstants); ++i) {
|
||||
SAFE_RELEASE(data->pixelShaderConstants[i]);
|
||||
}
|
||||
SAFE_RELEASE(data->vertexShader);
|
||||
for (i = 0; i < SDL_arraysize(data->vertexBuffers); ++i) {
|
||||
SAFE_RELEASE(data->vertexBuffers[i]);
|
||||
|
@ -322,7 +330,8 @@ static void D3D11_ReleaseAll(SDL_Renderer *renderer)
|
|||
data->currentRenderTargetView = NULL;
|
||||
data->currentRasterizerState = NULL;
|
||||
data->currentBlendState = NULL;
|
||||
data->currentShader = NULL;
|
||||
data->currentShader = SHADER_NONE;
|
||||
SDL_zero(data->currentShaderParams);
|
||||
data->currentShaderResource = NULL;
|
||||
data->currentSampler = NULL;
|
||||
|
||||
|
@ -452,7 +461,6 @@ static HRESULT D3D11_CreateDeviceResources(SDL_Renderer *renderer)
|
|||
IDXGIDevice1 *dxgiDevice = NULL;
|
||||
HRESULT result = S_OK;
|
||||
UINT creationFlags;
|
||||
int i;
|
||||
|
||||
/* This array defines the set of DirectX hardware feature levels this app will support.
|
||||
* Note the ordering should be preserved.
|
||||
|
@ -609,12 +617,6 @@ static HRESULT D3D11_CreateDeviceResources(SDL_Renderer *renderer)
|
|||
goto done;
|
||||
}
|
||||
|
||||
for (i = 0; i < SDL_arraysize(data->pixelShaders); ++i) {
|
||||
if (D3D11_CreatePixelShader(data->d3dDevice, (D3D11_Shader)i, &data->pixelShaders[i]) < 0) {
|
||||
goto done;
|
||||
}
|
||||
}
|
||||
|
||||
/* Setup space to hold vertex shader constants: */
|
||||
SDL_zero(constantBufferDesc);
|
||||
constantBufferDesc.ByteWidth = sizeof(VertexShaderConstants);
|
||||
|
@ -1181,6 +1183,16 @@ static int D3D11_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL
|
|||
textureDesc.SampleDesc.Quality = 0;
|
||||
textureDesc.MiscFlags = 0;
|
||||
|
||||
/* NV12 textures must have even width and height */
|
||||
if (texture->format == SDL_PIXELFORMAT_NV12 ||
|
||||
texture->format == SDL_PIXELFORMAT_NV21) {
|
||||
textureDesc.Width = (textureDesc.Width + 1) & ~1;
|
||||
textureDesc.Height = (textureDesc.Height + 1) & ~1;
|
||||
}
|
||||
textureData->w = (int)textureDesc.Width;
|
||||
textureData->h = (int)textureDesc.Height;
|
||||
textureData->shader = SHADER_RGB;
|
||||
|
||||
if (texture->access == SDL_TEXTUREACCESS_STREAMING) {
|
||||
textureDesc.Usage = D3D11_USAGE_DYNAMIC;
|
||||
textureDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
|
||||
|
@ -1204,7 +1216,6 @@ static int D3D11_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL
|
|||
NULL,
|
||||
&textureData->mainTexture);
|
||||
if (FAILED(result)) {
|
||||
D3D11_DestroyTexture(renderer, texture);
|
||||
return WIN_SetErrorFromHRESULT(SDL_COMPOSE_ERROR("ID3D11Device1::CreateTexture2D"), result);
|
||||
}
|
||||
}
|
||||
|
@ -1226,7 +1237,6 @@ static int D3D11_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL
|
|||
NULL,
|
||||
&textureData->mainTextureU);
|
||||
if (FAILED(result)) {
|
||||
D3D11_DestroyTexture(renderer, texture);
|
||||
return WIN_SetErrorFromHRESULT(SDL_COMPOSE_ERROR("ID3D11Device1::CreateTexture2D"), result);
|
||||
}
|
||||
}
|
||||
|
@ -1241,15 +1251,26 @@ static int D3D11_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL
|
|||
NULL,
|
||||
&textureData->mainTextureV);
|
||||
if (FAILED(result)) {
|
||||
D3D11_DestroyTexture(renderer, texture);
|
||||
return WIN_SetErrorFromHRESULT(SDL_COMPOSE_ERROR("ID3D11Device1::CreateTexture2D"), result);
|
||||
}
|
||||
}
|
||||
SDL_SetProperty(SDL_GetTextureProperties(texture), SDL_PROP_TEXTURE_D3D11_TEXTURE_V_POINTER, textureData->mainTextureV);
|
||||
|
||||
textureData->shader = SHADER_YUV;
|
||||
textureData->shader_params = SDL_GetYCbCRtoRGBConversionMatrix(texture->colorspace);
|
||||
if (!textureData->shader_params) {
|
||||
return SDL_SetError("Unsupported YUV colorspace");
|
||||
}
|
||||
}
|
||||
if (texture->format == SDL_PIXELFORMAT_NV12 ||
|
||||
texture->format == SDL_PIXELFORMAT_NV21) {
|
||||
textureData->nv12 = SDL_TRUE;
|
||||
|
||||
textureData->shader = (texture->format == SDL_PIXELFORMAT_NV12 ? SHADER_NV12 : SHADER_NV21);
|
||||
textureData->shader_params = SDL_GetYCbCRtoRGBConversionMatrix(texture->colorspace);
|
||||
if (!textureData->shader_params) {
|
||||
return SDL_SetError("Unsupported YUV colorspace");
|
||||
}
|
||||
}
|
||||
#endif /* SDL_HAVE_YUV */
|
||||
SDL_zero(resourceViewDesc);
|
||||
|
@ -1262,7 +1283,6 @@ static int D3D11_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL
|
|||
&resourceViewDesc,
|
||||
&textureData->mainTextureResourceView);
|
||||
if (FAILED(result)) {
|
||||
D3D11_DestroyTexture(renderer, texture);
|
||||
return WIN_SetErrorFromHRESULT(SDL_COMPOSE_ERROR("ID3D11Device1::CreateShaderResourceView"), result);
|
||||
}
|
||||
#if SDL_HAVE_YUV
|
||||
|
@ -1272,7 +1292,6 @@ static int D3D11_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL
|
|||
&resourceViewDesc,
|
||||
&textureData->mainTextureResourceViewU);
|
||||
if (FAILED(result)) {
|
||||
D3D11_DestroyTexture(renderer, texture);
|
||||
return WIN_SetErrorFromHRESULT(SDL_COMPOSE_ERROR("ID3D11Device1::CreateShaderResourceView"), result);
|
||||
}
|
||||
result = ID3D11Device_CreateShaderResourceView(rendererData->d3dDevice,
|
||||
|
@ -1280,7 +1299,6 @@ static int D3D11_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL
|
|||
&resourceViewDesc,
|
||||
&textureData->mainTextureResourceViewV);
|
||||
if (FAILED(result)) {
|
||||
D3D11_DestroyTexture(renderer, texture);
|
||||
return WIN_SetErrorFromHRESULT(SDL_COMPOSE_ERROR("ID3D11Device1::CreateShaderResourceView"), result);
|
||||
}
|
||||
}
|
||||
|
@ -1295,7 +1313,6 @@ static int D3D11_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL
|
|||
&nvResourceViewDesc,
|
||||
&textureData->mainTextureResourceViewNV);
|
||||
if (FAILED(result)) {
|
||||
D3D11_DestroyTexture(renderer, texture);
|
||||
return WIN_SetErrorFromHRESULT(SDL_COMPOSE_ERROR("ID3D11Device1::CreateShaderResourceView"), result);
|
||||
}
|
||||
}
|
||||
|
@ -1313,7 +1330,6 @@ static int D3D11_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL
|
|||
&renderTargetViewDesc,
|
||||
&textureData->mainTextureRenderTargetView);
|
||||
if (FAILED(result)) {
|
||||
D3D11_DestroyTexture(renderer, texture);
|
||||
return WIN_SetErrorFromHRESULT(SDL_COMPOSE_ERROR("ID3D11Device1::CreateRenderTargetView"), result);
|
||||
}
|
||||
}
|
||||
|
@ -1365,6 +1381,10 @@ static int D3D11_UpdateTextureInternal(D3D11_RenderData *rendererData, ID3D11Tex
|
|||
stagingTextureDesc.MiscFlags = 0;
|
||||
stagingTextureDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
|
||||
stagingTextureDesc.Usage = D3D11_USAGE_STAGING;
|
||||
if (stagingTextureDesc.Format == DXGI_FORMAT_NV12) {
|
||||
stagingTextureDesc.Width = (stagingTextureDesc.Width + 1) & ~1;
|
||||
stagingTextureDesc.Height = (stagingTextureDesc.Height + 1) & ~1;
|
||||
}
|
||||
result = ID3D11Device_CreateTexture2D(rendererData->d3dDevice,
|
||||
&stagingTextureDesc,
|
||||
NULL,
|
||||
|
@ -1385,13 +1405,8 @@ static int D3D11_UpdateTextureInternal(D3D11_RenderData *rendererData, ID3D11Tex
|
|||
return WIN_SetErrorFromHRESULT(SDL_COMPOSE_ERROR("ID3D11DeviceContext1::Map [map staging texture]"), result);
|
||||
}
|
||||
|
||||
if (stagingTextureDesc.Format == DXGI_FORMAT_NV12) {
|
||||
/* Copy the UV plane as well */
|
||||
h += (h + 1) / 2;
|
||||
}
|
||||
|
||||
src = (const Uint8 *)pixels;
|
||||
dst = textureMemory.pData;
|
||||
dst = (Uint8 *)textureMemory.pData;
|
||||
length = w * bpp;
|
||||
if (length == (UINT)pitch && length == textureMemory.RowPitch) {
|
||||
SDL_memcpy(dst, src, (size_t)length * h);
|
||||
|
@ -1409,6 +1424,19 @@ static int D3D11_UpdateTextureInternal(D3D11_RenderData *rendererData, ID3D11Tex
|
|||
}
|
||||
}
|
||||
|
||||
if (stagingTextureDesc.Format == DXGI_FORMAT_NV12) {
|
||||
/* Copy the UV plane as well */
|
||||
h = (h + 1) / 2;
|
||||
length = (length + 1) & ~1;
|
||||
pitch = (pitch + 1) & ~1;
|
||||
dst = (Uint8 *)textureMemory.pData + stagingTextureDesc.Height * textureMemory.RowPitch;
|
||||
for (row = 0; row < h; ++row) {
|
||||
SDL_memcpy(dst, src, length);
|
||||
src += pitch;
|
||||
dst += textureMemory.RowPitch;
|
||||
}
|
||||
}
|
||||
|
||||
/* Commit the pixel buffer's changes back to the staging texture: */
|
||||
ID3D11DeviceContext_Unmap(rendererData->d3dContext,
|
||||
(ID3D11Resource *)stagingTexture,
|
||||
|
@ -1797,6 +1825,9 @@ static int D3D11_QueueGeometry(SDL_Renderer *renderer, SDL_RenderCommand *cmd, S
|
|||
int count = indices ? num_indices : num_vertices;
|
||||
VertexPositionColor *verts = (VertexPositionColor *)SDL_AllocateRenderVertices(renderer, count * sizeof(VertexPositionColor), 0, &cmd->data.draw.first);
|
||||
SDL_bool convert_color = SDL_RenderingLinearSpace(renderer);
|
||||
D3D11_TextureData *textureData = texture ? (D3D11_TextureData *)texture->driverdata : NULL;
|
||||
float u_scale = textureData ? (float)texture->w / textureData->w : 0.0f;
|
||||
float v_scale = textureData ? (float)texture->h / textureData->h : 0.0f;
|
||||
|
||||
if (!verts) {
|
||||
return -1;
|
||||
|
@ -1829,8 +1860,8 @@ static int D3D11_QueueGeometry(SDL_Renderer *renderer, SDL_RenderCommand *cmd, S
|
|||
|
||||
if (texture) {
|
||||
float *uv_ = (float *)((char *)uv + j * uv_stride);
|
||||
verts->tex.x = uv_[0];
|
||||
verts->tex.y = uv_[1];
|
||||
verts->tex.x = uv_[0] * u_scale;
|
||||
verts->tex.y = uv_[1] * v_scale;
|
||||
} else {
|
||||
verts->tex.x = 0.0f;
|
||||
verts->tex.y = 0.0f;
|
||||
|
@ -2012,7 +2043,8 @@ static ID3D11RenderTargetView *D3D11_GetCurrentRenderTargetView(SDL_Renderer *re
|
|||
}
|
||||
}
|
||||
|
||||
static int D3D11_SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand *cmd, ID3D11PixelShader *shader,
|
||||
static int D3D11_SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand *cmd,
|
||||
D3D11_Shader shader, const float *shader_params,
|
||||
const int numShaderResources, ID3D11ShaderResourceView **shaderResources,
|
||||
ID3D11SamplerState *sampler, const Float4X4 *matrix)
|
||||
|
||||
|
@ -2098,8 +2130,40 @@ static int D3D11_SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand *c
|
|||
rendererData->currentBlendState = blendState;
|
||||
}
|
||||
|
||||
if (shader_params != rendererData->currentShaderParams[shader]) {
|
||||
if (shader_params) {
|
||||
const UINT shader_params_length = 4 * 4 * sizeof(float); /* The YUV shader takes 4 float4 parameters */
|
||||
|
||||
SAFE_RELEASE(rendererData->pixelShaderConstants[shader]);
|
||||
|
||||
D3D11_BUFFER_DESC desc;
|
||||
SDL_zero(desc);
|
||||
desc.Usage = D3D11_USAGE_DEFAULT;
|
||||
desc.ByteWidth = shader_params_length;
|
||||
desc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;
|
||||
|
||||
D3D11_SUBRESOURCE_DATA data;
|
||||
SDL_zero(data);
|
||||
data.pSysMem = shader_params;
|
||||
|
||||
HRESULT result = ID3D11Device_CreateBuffer(rendererData->d3dDevice, &desc, &data, &rendererData->pixelShaderConstants[shader]);
|
||||
if (FAILED(result)) {
|
||||
WIN_SetErrorFromHRESULT(SDL_COMPOSE_ERROR("ID3D11Device::CreateBuffer [create shader constants]"), result);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
rendererData->currentShaderParams[shader] = shader_params;
|
||||
}
|
||||
if (shader != rendererData->currentShader) {
|
||||
ID3D11DeviceContext_PSSetShader(rendererData->d3dContext, shader, NULL, 0);
|
||||
if (!rendererData->pixelShaders[shader]) {
|
||||
if (D3D11_CreatePixelShader(rendererData->d3dDevice, shader, &rendererData->pixelShaders[shader]) < 0) {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
ID3D11DeviceContext_PSSetShader(rendererData->d3dContext, rendererData->pixelShaders[shader], NULL, 0);
|
||||
if (rendererData->pixelShaderConstants[shader]) {
|
||||
ID3D11DeviceContext_PSSetConstantBuffers(rendererData->d3dContext, 0, 1, &rendererData->pixelShaderConstants[shader]);
|
||||
}
|
||||
rendererData->currentShader = shader;
|
||||
}
|
||||
if (shaderResource != rendererData->currentShaderResource) {
|
||||
|
@ -2149,25 +2213,8 @@ static int D3D11_SetCopyState(SDL_Renderer *renderer, const SDL_RenderCommand *c
|
|||
textureData->mainTextureResourceViewU,
|
||||
textureData->mainTextureResourceViewV
|
||||
};
|
||||
D3D11_Shader shader;
|
||||
|
||||
if (SDL_ISCOLORSPACE_YUV_BT601(texture->colorspace)) {
|
||||
if (SDL_ISCOLORSPACE_LIMITED_RANGE(texture->colorspace)) {
|
||||
shader = SHADER_YUV_BT601;
|
||||
} else {
|
||||
shader = SHADER_YUV_JPEG;
|
||||
}
|
||||
} else if (SDL_ISCOLORSPACE_YUV_BT709(texture->colorspace)) {
|
||||
if (SDL_ISCOLORSPACE_LIMITED_RANGE(texture->colorspace)) {
|
||||
shader = SHADER_YUV_BT709;
|
||||
} else {
|
||||
return SDL_SetError("Unsupported YUV conversion mode");
|
||||
}
|
||||
} else {
|
||||
return SDL_SetError("Unsupported YUV conversion mode");
|
||||
}
|
||||
|
||||
return D3D11_SetDrawState(renderer, cmd, rendererData->pixelShaders[shader],
|
||||
return D3D11_SetDrawState(renderer, cmd, textureData->shader, textureData->shader_params,
|
||||
SDL_arraysize(shaderResources), shaderResources, textureSampler, matrix);
|
||||
|
||||
} else if (textureData->nv12) {
|
||||
|
@ -2175,29 +2222,12 @@ static int D3D11_SetCopyState(SDL_Renderer *renderer, const SDL_RenderCommand *c
|
|||
textureData->mainTextureResourceView,
|
||||
textureData->mainTextureResourceViewNV,
|
||||
};
|
||||
D3D11_Shader shader;
|
||||
|
||||
if (SDL_ISCOLORSPACE_YUV_BT601(texture->colorspace)) {
|
||||
if (SDL_ISCOLORSPACE_LIMITED_RANGE(texture->colorspace)) {
|
||||
shader = texture->format == SDL_PIXELFORMAT_NV12 ? SHADER_NV12_BT601 : SHADER_NV21_BT601;
|
||||
} else {
|
||||
shader = texture->format == SDL_PIXELFORMAT_NV12 ? SHADER_NV12_JPEG : SHADER_NV21_JPEG;
|
||||
}
|
||||
} else if (SDL_ISCOLORSPACE_YUV_BT709(texture->colorspace)) {
|
||||
if (SDL_ISCOLORSPACE_LIMITED_RANGE(texture->colorspace)) {
|
||||
shader = texture->format == SDL_PIXELFORMAT_NV12 ? SHADER_NV12_BT709 : SHADER_NV21_BT709;
|
||||
} else {
|
||||
return SDL_SetError("Unsupported YUV conversion mode");
|
||||
}
|
||||
} else {
|
||||
return SDL_SetError("Unsupported YUV conversion mode");
|
||||
}
|
||||
|
||||
return D3D11_SetDrawState(renderer, cmd, rendererData->pixelShaders[shader],
|
||||
return D3D11_SetDrawState(renderer, cmd, textureData->shader, textureData->shader_params,
|
||||
SDL_arraysize(shaderResources), shaderResources, textureSampler, matrix);
|
||||
}
|
||||
#endif /* SDL_HAVE_YUV */
|
||||
return D3D11_SetDrawState(renderer, cmd, rendererData->pixelShaders[SHADER_RGB],
|
||||
return D3D11_SetDrawState(renderer, cmd, textureData->shader, textureData->shader_params,
|
||||
1, &textureData->mainTextureResourceView, textureSampler, matrix);
|
||||
}
|
||||
|
||||
|
@ -2214,7 +2244,8 @@ static void D3D11_InvalidateCachedState(SDL_Renderer *renderer)
|
|||
data->currentRenderTargetView = NULL;
|
||||
data->currentRasterizerState = NULL;
|
||||
data->currentBlendState = NULL;
|
||||
data->currentShader = NULL;
|
||||
data->currentShader = NUM_SHADERS;
|
||||
SDL_zero(data->currentShaderParams);
|
||||
data->currentShaderResource = NULL;
|
||||
data->currentSampler = NULL;
|
||||
data->cliprectDirty = SDL_TRUE;
|
||||
|
@ -2287,7 +2318,7 @@ static int D3D11_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd,
|
|||
const size_t count = cmd->data.draw.count;
|
||||
const size_t first = cmd->data.draw.first;
|
||||
const size_t start = first / sizeof(VertexPositionColor);
|
||||
D3D11_SetDrawState(renderer, cmd, rendererData->pixelShaders[SHADER_SOLID], 0, NULL, NULL, NULL);
|
||||
D3D11_SetDrawState(renderer, cmd, SHADER_SOLID, NULL, 0, NULL, NULL, NULL);
|
||||
D3D11_DrawPrimitives(renderer, D3D11_PRIMITIVE_TOPOLOGY_POINTLIST, start, count);
|
||||
break;
|
||||
}
|
||||
|
@ -2298,7 +2329,7 @@ static int D3D11_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd,
|
|||
const size_t first = cmd->data.draw.first;
|
||||
const size_t start = first / sizeof(VertexPositionColor);
|
||||
const VertexPositionColor *verts = (VertexPositionColor *)(((Uint8 *)vertices) + first);
|
||||
D3D11_SetDrawState(renderer, cmd, rendererData->pixelShaders[SHADER_SOLID], 0, NULL, NULL, NULL);
|
||||
D3D11_SetDrawState(renderer, cmd, SHADER_SOLID, NULL, 0, NULL, NULL, NULL);
|
||||
D3D11_DrawPrimitives(renderer, D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP, start, count);
|
||||
if (verts[0].pos.x != verts[count - 1].pos.x || verts[0].pos.y != verts[count - 1].pos.y) {
|
||||
D3D11_DrawPrimitives(renderer, D3D11_PRIMITIVE_TOPOLOGY_POINTLIST, start + (count - 1), 1);
|
||||
|
@ -2325,7 +2356,7 @@ static int D3D11_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd,
|
|||
if (texture) {
|
||||
D3D11_SetCopyState(renderer, cmd, NULL);
|
||||
} else {
|
||||
D3D11_SetDrawState(renderer, cmd, rendererData->pixelShaders[SHADER_SOLID], 0, NULL, NULL, NULL);
|
||||
D3D11_SetDrawState(renderer, cmd, SHADER_SOLID, NULL, 0, NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
D3D11_DrawPrimitives(renderer, D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST, start, count);
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -24,18 +24,13 @@
|
|||
|
||||
typedef enum
|
||||
{
|
||||
SHADER_NONE,
|
||||
SHADER_SOLID,
|
||||
SHADER_RGB,
|
||||
#if SDL_HAVE_YUV
|
||||
SHADER_YUV_JPEG,
|
||||
SHADER_YUV_BT601,
|
||||
SHADER_YUV_BT709,
|
||||
SHADER_NV12_JPEG,
|
||||
SHADER_NV12_BT601,
|
||||
SHADER_NV12_BT709,
|
||||
SHADER_NV21_JPEG,
|
||||
SHADER_NV21_BT601,
|
||||
SHADER_NV21_BT709,
|
||||
SHADER_YUV,
|
||||
SHADER_NV12,
|
||||
SHADER_NV21,
|
||||
#endif
|
||||
NUM_SHADERS
|
||||
} D3D11_Shader;
|
||||
|
|
6
src/render/direct3d11/compile_shaders.bat
Normal file
6
src/render/direct3d11/compile_shaders.bat
Normal file
|
@ -0,0 +1,6 @@
|
|||
fxc /T ps_4_0_level_9_1 /Fh D3D11_PixelShader_Colors.h D3D11_PixelShader_Colors.hlsl
|
||||
fxc /T ps_4_0_level_9_1 /Fh D3D11_PixelShader_Textures.h D3D11_PixelShader_Textures.hlsl
|
||||
fxc /T ps_4_0_level_9_1 /Fh D3D11_PixelShader_YUV.h D3D11_PixelShader_YUV.hlsl
|
||||
fxc /T ps_4_0_level_9_1 /Fh D3D11_PixelShader_NV12.h D3D11_PixelShader_NV12.hlsl
|
||||
fxc /T ps_4_0_level_9_1 /Fh D3D11_PixelShader_NV21.h D3D11_PixelShader_NV21.hlsl
|
||||
fxc /T vs_4_0_level_9_1 /Fh D3D11_VertexShader.h D3D11_VertexShader.hlsl
|
387
src/render/direct3d12/D3D12_PixelShader_Colors.h
Executable file
387
src/render/direct3d12/D3D12_PixelShader_Colors.h
Executable file
|
@ -0,0 +1,387 @@
|
|||
#if 0
|
||||
;
|
||||
; Input signature:
|
||||
;
|
||||
; Name Index Mask Register SysValue Format Used
|
||||
; -------------------- ----- ------ -------- -------- ------- ------
|
||||
; SV_Position 0 xyzw 0 POS float
|
||||
; TEXCOORD 0 xy 1 NONE float
|
||||
; COLOR 0 xyzw 2 NONE float xyzw
|
||||
;
|
||||
;
|
||||
; Output signature:
|
||||
;
|
||||
; Name Index Mask Register SysValue Format Used
|
||||
; -------------------- ----- ------ -------- -------- ------- ------
|
||||
; SV_Target 0 xyzw 0 TARGET float xyzw
|
||||
;
|
||||
; shader hash: e14ad578e44fd6120d8623f70e822140
|
||||
;
|
||||
; Pipeline Runtime Information:
|
||||
;
|
||||
; Pixel Shader
|
||||
; DepthOutput=0
|
||||
; SampleFrequency=0
|
||||
;
|
||||
;
|
||||
; Input signature:
|
||||
;
|
||||
; Name Index InterpMode DynIdx
|
||||
; -------------------- ----- ---------------------- ------
|
||||
; SV_Position 0 noperspective
|
||||
; TEXCOORD 0 linear
|
||||
; COLOR 0 linear
|
||||
;
|
||||
; Output signature:
|
||||
;
|
||||
; Name Index InterpMode DynIdx
|
||||
; -------------------- ----- ---------------------- ------
|
||||
; SV_Target 0
|
||||
;
|
||||
; Buffer Definitions:
|
||||
;
|
||||
;
|
||||
; Resource Bindings:
|
||||
;
|
||||
; Name Type Format Dim ID HLSL Bind Count
|
||||
; ------------------------------ ---------- ------- ----------- ------- -------------- ------
|
||||
;
|
||||
;
|
||||
; ViewId state:
|
||||
;
|
||||
; Number of inputs: 12, outputs: 4
|
||||
; Outputs dependent on ViewId: { }
|
||||
; Inputs contributing to computation of Outputs:
|
||||
; output 0 depends on inputs: { 8 }
|
||||
; output 1 depends on inputs: { 9 }
|
||||
; output 2 depends on inputs: { 10 }
|
||||
; output 3 depends on inputs: { 11 }
|
||||
;
|
||||
target datalayout = "e-m:e-p:32:32-i1:32-i8:32-i16:32-i32:32-i64:64-f16:32-f32:32-f64:64-n8:16:32:64"
|
||||
target triple = "dxil-ms-dx"
|
||||
|
||||
define void @main() {
|
||||
%1 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 0, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%2 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 1, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%3 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 2, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%4 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 3, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 0, float %1) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 1, float %2) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 2, float %3) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 3, float %4) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
ret void
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind readnone
|
||||
declare float @dx.op.loadInput.f32(i32, i32, i32, i8, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @dx.op.storeOutput.f32(i32, i32, i32, i8, float) #1
|
||||
|
||||
attributes #0 = { nounwind readnone }
|
||||
attributes #1 = { nounwind }
|
||||
|
||||
!llvm.ident = !{!0}
|
||||
!dx.version = !{!1}
|
||||
!dx.valver = !{!2}
|
||||
!dx.shaderModel = !{!3}
|
||||
!dx.viewIdState = !{!4}
|
||||
!dx.entryPoints = !{!5}
|
||||
|
||||
!0 = !{!"clang version 3.7 (tags/RELEASE_370/final)"}
|
||||
!1 = !{i32 1, i32 0}
|
||||
!2 = !{i32 1, i32 6}
|
||||
!3 = !{!"ps", i32 6, i32 0}
|
||||
!4 = !{[14 x i32] [i32 12, i32 4, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 2, i32 4, i32 8]}
|
||||
!5 = !{void ()* @main, !"main", !6, null, null}
|
||||
!6 = !{!7, !13, null}
|
||||
!7 = !{!8, !10, !11}
|
||||
!8 = !{i32 0, !"SV_Position", i8 9, i8 3, !9, i8 4, i32 1, i8 4, i32 0, i8 0, null}
|
||||
!9 = !{i32 0}
|
||||
!10 = !{i32 1, !"TEXCOORD", i8 9, i8 0, !9, i8 2, i32 1, i8 2, i32 1, i8 0, null}
|
||||
!11 = !{i32 2, !"COLOR", i8 9, i8 0, !9, i8 2, i32 1, i8 4, i32 2, i8 0, !12}
|
||||
!12 = !{i32 3, i32 15}
|
||||
!13 = !{!14}
|
||||
!14 = !{i32 0, !"SV_Target", i8 9, i8 16, !9, i8 0, i32 1, i8 4, i32 0, i8 0, !12}
|
||||
|
||||
#endif
|
||||
|
||||
const unsigned char g_main[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0xc6, 0x39, 0x47, 0xb6, 0xed, 0x4d, 0x6d, 0xf1,
|
||||
0x86, 0xee, 0x4e, 0xfd, 0xd8, 0xdd, 0x81, 0x79, 0x01, 0x00, 0x00, 0x00,
|
||||
0xf1, 0x0c, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0xdb, 0x00, 0x00, 0x00, 0x15, 0x01, 0x00, 0x00,
|
||||
0xe5, 0x01, 0x00, 0x00, 0x1d, 0x02, 0x00, 0x00, 0xb5, 0x07, 0x00, 0x00,
|
||||
0xd1, 0x07, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31,
|
||||
0x83, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x53, 0x56, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00,
|
||||
0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c,
|
||||
0x4f, 0x52, 0x00, 0x4f, 0x53, 0x47, 0x31, 0x32, 0x00, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
|
||||
0x00, 0x50, 0x53, 0x56, 0x30, 0xc8, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
|
||||
0xff, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x03, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x54, 0x45,
|
||||
0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52,
|
||||
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44,
|
||||
0x03, 0x03, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x01, 0x42, 0x00, 0x03, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00, 0x03, 0x02, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44,
|
||||
0x10, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
|
||||
0x00, 0x08, 0x00, 0x00, 0x00, 0x52, 0x54, 0x53, 0x30, 0x30, 0x00, 0x00,
|
||||
0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00,
|
||||
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
|
||||
0x00, 0x53, 0x54, 0x41, 0x54, 0x90, 0x05, 0x00, 0x00, 0x60, 0x00, 0x00,
|
||||
0x00, 0x64, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00,
|
||||
0x00, 0x10, 0x00, 0x00, 0x00, 0x78, 0x05, 0x00, 0x00, 0x42, 0x43, 0xc0,
|
||||
0xde, 0x21, 0x0c, 0x00, 0x00, 0x5b, 0x01, 0x00, 0x00, 0x0b, 0x82, 0x20,
|
||||
0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23,
|
||||
0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84,
|
||||
0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x10, 0x45,
|
||||
0x02, 0x42, 0x92, 0x0b, 0x42, 0x84, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18,
|
||||
0x4b, 0x0a, 0x32, 0x42, 0x88, 0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88,
|
||||
0xa5, 0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90, 0x11, 0x22, 0xc4,
|
||||
0x50, 0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x21, 0x46,
|
||||
0x06, 0x51, 0x18, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0,
|
||||
0xff, 0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff,
|
||||
0xff, 0xff, 0xff, 0x03, 0x20, 0x01, 0x00, 0x00, 0x00, 0x49, 0x18, 0x00,
|
||||
0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x42, 0x20, 0x00, 0x00,
|
||||
0x00, 0x89, 0x20, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x32, 0x22, 0x08,
|
||||
0x09, 0x20, 0x64, 0x85, 0x04, 0x13, 0x22, 0xa4, 0x84, 0x04, 0x13, 0x22,
|
||||
0xe3, 0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x88, 0x8c, 0x0b, 0x84, 0x84,
|
||||
0x4c, 0x10, 0x3c, 0x23, 0x00, 0x25, 0x00, 0x8a, 0x19, 0x80, 0x39, 0x02,
|
||||
0x30, 0x98, 0x23, 0x40, 0x8a, 0x31, 0x44, 0x54, 0x44, 0x56, 0x0c, 0x20,
|
||||
0xa2, 0x1a, 0xc2, 0x81, 0x80, 0x61, 0x04, 0x62, 0x18, 0x46, 0x10, 0x86,
|
||||
0xbb, 0xa4, 0x29, 0xa2, 0x84, 0xc9, 0x4f, 0x91, 0x8b, 0x58, 0xd8, 0x03,
|
||||
0x18, 0x88, 0x48, 0x6c, 0x1e, 0x6a, 0x42, 0xc3, 0xf2, 0xa6, 0x03, 0x01,
|
||||
0x00, 0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87,
|
||||
0x79, 0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0,
|
||||
0x0e, 0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0,
|
||||
0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20,
|
||||
0x07, 0x6d, 0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90,
|
||||
0x0e, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30,
|
||||
0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40,
|
||||
0x07, 0x7a, 0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0,
|
||||
0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30,
|
||||
0x07, 0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40,
|
||||
0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30,
|
||||
0x07, 0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e, 0x00, 0x08, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10,
|
||||
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10,
|
||||
0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x02,
|
||||
0x01, 0x10, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c,
|
||||
0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0xa2, 0x12, 0x18, 0x01,
|
||||
0x28, 0x86, 0x02, 0x2b, 0x83, 0x42, 0x28, 0x87, 0x92, 0x28, 0x90, 0x02,
|
||||
0x2a, 0x82, 0xf2, 0xa0, 0x2a, 0x89, 0x32, 0x28, 0x84, 0x11, 0x80, 0x22,
|
||||
0x28, 0x10, 0xea, 0x19, 0x00, 0xf2, 0xb1, 0x1c, 0x86, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 0x79, 0x18, 0x00,
|
||||
0x00, 0x85, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13,
|
||||
0x44, 0x35, 0x18, 0x63, 0x0b, 0x73, 0x3b, 0x03, 0xb1, 0x2b, 0x93, 0x9b,
|
||||
0x4b, 0x7b, 0x73, 0x03, 0x99, 0x71, 0xb9, 0x01, 0x41, 0xa1, 0x0b, 0x3b,
|
||||
0x9b, 0x7b, 0x91, 0x2a, 0x62, 0x2a, 0x0a, 0x9a, 0x2a, 0xfa, 0x9a, 0xb9,
|
||||
0x81, 0x79, 0x31, 0x4b, 0x73, 0x0b, 0x63, 0x4b, 0xd9, 0x10, 0x04, 0x13,
|
||||
0x04, 0x62, 0x98, 0x20, 0x10, 0xc4, 0x06, 0x61, 0x20, 0x36, 0x08, 0x04,
|
||||
0x41, 0x01, 0x6e, 0x6e, 0x82, 0x40, 0x14, 0x1b, 0x86, 0x03, 0x21, 0x26,
|
||||
0x08, 0x4d, 0x35, 0x41, 0x20, 0x0c, 0x0e, 0x70, 0x6f, 0x73, 0x13, 0x04,
|
||||
0xe2, 0x98, 0x20, 0x10, 0x08, 0x97, 0x29, 0xab, 0x2f, 0xa8, 0xa7, 0xa9,
|
||||
0x24, 0xaa, 0xa4, 0x27, 0xa7, 0x09, 0x02, 0x91, 0x4c, 0x10, 0x08, 0x65,
|
||||
0x03, 0x82, 0x30, 0x0d, 0xe1, 0x3c, 0x50, 0xc4, 0x81, 0xae, 0x0c, 0x6f,
|
||||
0x82, 0x40, 0x2c, 0x4c, 0xa8, 0x8a, 0xb0, 0x86, 0x9e, 0x9e, 0xa4, 0x88,
|
||||
0x60, 0x36, 0x20, 0xc8, 0xd4, 0x50, 0x4e, 0x05, 0x45, 0x2c, 0xc6, 0xde,
|
||||
0xd8, 0xde, 0xe4, 0x26, 0x08, 0x04, 0x43, 0x63, 0xe8, 0x89, 0xe9, 0x49,
|
||||
0x0a, 0x66, 0x03, 0x82, 0x5c, 0x0d, 0xe6, 0x64, 0x50, 0xb4, 0x81, 0x58,
|
||||
0x24, 0x4b, 0xdb, 0x30, 0x10, 0xca, 0x36, 0x41, 0x10, 0x80, 0x0d, 0xc0,
|
||||
0x86, 0x81, 0xf0, 0xbc, 0x0d, 0xc1, 0xb7, 0x61, 0x18, 0x3a, 0x30, 0x98,
|
||||
0x20, 0x38, 0xd6, 0x86, 0x40, 0x0c, 0x48, 0xb4, 0x85, 0xa5, 0xb9, 0x71,
|
||||
0x99, 0xb2, 0xfa, 0x82, 0x7a, 0x9b, 0x4b, 0xa3, 0x4b, 0x7b, 0x73, 0x9b,
|
||||
0x20, 0x14, 0xcf, 0x04, 0xa1, 0x80, 0x36, 0x04, 0xc4, 0x04, 0xa1, 0x88,
|
||||
0x26, 0x08, 0x85, 0xb4, 0x61, 0x21, 0xca, 0xc0, 0x0c, 0xce, 0x00, 0x0d,
|
||||
0xd2, 0x60, 0x48, 0x03, 0x42, 0x0d, 0x00, 0x22, 0x54, 0x45, 0x58, 0x43,
|
||||
0x4f, 0x4f, 0x52, 0x44, 0x13, 0x84, 0x62, 0xda, 0xb0, 0x0c, 0x6c, 0x60,
|
||||
0x06, 0x6a, 0x80, 0x06, 0x6d, 0x30, 0xb4, 0xc1, 0xa0, 0x06, 0xc0, 0x04,
|
||||
0x81, 0x68, 0x58, 0x0c, 0x3d, 0x31, 0x3d, 0x49, 0x4d, 0x10, 0x08, 0x67,
|
||||
0x83, 0xd0, 0xc4, 0xc1, 0x86, 0xe5, 0x0d, 0xe0, 0xc0, 0x0c, 0xd4, 0x00,
|
||||
0x0d, 0xda, 0x60, 0x48, 0x83, 0x37, 0x50, 0x03, 0x39, 0xd8, 0x30, 0xac,
|
||||
0x81, 0x1b, 0xcc, 0x01, 0x93, 0x29, 0xab, 0x2f, 0xaa, 0x30, 0xb9, 0xb3,
|
||||
0x32, 0xba, 0x09, 0x42, 0x41, 0x6d, 0x58, 0x88, 0x3a, 0x30, 0x03, 0x3b,
|
||||
0x40, 0x03, 0x35, 0x18, 0xd2, 0x80, 0x50, 0x03, 0x39, 0xd8, 0x10, 0xdc,
|
||||
0xc1, 0x86, 0x81, 0x0e, 0xf0, 0x00, 0xd8, 0x50, 0x74, 0x64, 0x90, 0x07,
|
||||
0x00, 0xc0, 0x22, 0xcd, 0x6d, 0x8e, 0x6e, 0x8e, 0xc6, 0x5c, 0xda, 0xd9,
|
||||
0x17, 0x1b, 0x19, 0x8d, 0xb9, 0xb4, 0xb3, 0xaf, 0x39, 0xba, 0x0d, 0xc6,
|
||||
0x1e, 0x44, 0x7c, 0xe0, 0xf4, 0x81, 0x53, 0x85, 0x8d, 0xcd, 0xae, 0xcd,
|
||||
0x25, 0x8d, 0xac, 0xcc, 0x8d, 0x6e, 0x4a, 0x10, 0x54, 0x21, 0xc3, 0x73,
|
||||
0xb1, 0x2b, 0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x9b, 0x12, 0x10, 0x4d, 0xc8,
|
||||
0xf0, 0x5c, 0xec, 0xc2, 0xd8, 0xec, 0xca, 0xe4, 0xa6, 0x04, 0x45, 0x1d,
|
||||
0x32, 0x3c, 0x97, 0x39, 0xb4, 0x30, 0xb2, 0x32, 0xb9, 0xa6, 0x37, 0xb2,
|
||||
0x32, 0xb6, 0x29, 0x01, 0x52, 0x89, 0x0c, 0xcf, 0x85, 0x2e, 0x0f, 0xae,
|
||||
0x2c, 0xc8, 0xcd, 0xed, 0x8d, 0x2e, 0x8c, 0x2e, 0xed, 0xcd, 0x6d, 0x6e,
|
||||
0x8a, 0xb0, 0x81, 0x41, 0x1d, 0x32, 0x3c, 0x17, 0xbb, 0xb4, 0xb2, 0xbb,
|
||||
0x24, 0xb2, 0x29, 0xba, 0x30, 0xba, 0xb2, 0x29, 0x81, 0x18, 0xd4, 0x21,
|
||||
0xc3, 0x73, 0x29, 0x73, 0xa3, 0x93, 0xcb, 0x83, 0x7a, 0x4b, 0x73, 0xa3,
|
||||
0x9b, 0x9b, 0x12, 0xe4, 0x41, 0x17, 0x32, 0x3c, 0x97, 0xb1, 0xb7, 0x3a,
|
||||
0x37, 0xba, 0x32, 0xb9, 0xb9, 0x29, 0x41, 0x1f, 0x00, 0x79, 0x18, 0x00,
|
||||
0x00, 0x4c, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c,
|
||||
0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80,
|
||||
0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed,
|
||||
0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d,
|
||||
0xce, 0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83,
|
||||
0x1b, 0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78,
|
||||
0x8c, 0x74, 0x70, 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70,
|
||||
0x07, 0x7a, 0x70, 0x03, 0x76, 0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc,
|
||||
0x11, 0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3,
|
||||
0xf0, 0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c,
|
||||
0xd8, 0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83,
|
||||
0x3b, 0xd0, 0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03,
|
||||
0x3b, 0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68,
|
||||
0x87, 0x72, 0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60,
|
||||
0x07, 0x76, 0x28, 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80,
|
||||
0x87, 0x5f, 0x08, 0x87, 0x71, 0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98,
|
||||
0x81, 0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec,
|
||||
0x30, 0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c,
|
||||
0xe4, 0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d,
|
||||
0xca, 0x61, 0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43,
|
||||
0x39, 0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03,
|
||||
0x3b, 0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03,
|
||||
0x3b, 0xb0, 0xc3, 0x0c, 0xc4, 0x21, 0x07, 0x7c, 0x70, 0x03, 0x7a, 0x28,
|
||||
0x87, 0x76, 0x80, 0x87, 0x19, 0xd1, 0x43, 0x0e, 0xf8, 0xe0, 0x06, 0xe4,
|
||||
0x20, 0x0e, 0xe7, 0xe0, 0x06, 0xf6, 0x10, 0x0e, 0xf2, 0xc0, 0x0e, 0xe1,
|
||||
0x90, 0x0f, 0xef, 0x50, 0x0f, 0xf4, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00,
|
||||
0x00, 0x0b, 0x00, 0x00, 0x00, 0x16, 0x30, 0x0d, 0x97, 0xef, 0x3c, 0xfe,
|
||||
0xe2, 0x00, 0x83, 0xd8, 0x3c, 0xd4, 0xe4, 0x17, 0xb7, 0x6d, 0x02, 0xd5,
|
||||
0x70, 0xf9, 0xce, 0xe3, 0x4b, 0x93, 0x13, 0x11, 0x28, 0x35, 0x3d, 0xd4,
|
||||
0xe4, 0x17, 0xb7, 0x6d, 0x00, 0x04, 0x03, 0x20, 0x0d, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x41, 0x53, 0x48, 0x14, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, 0x4a, 0xd5, 0x78, 0xe4, 0x4f, 0xd6,
|
||||
0x12, 0x0d, 0x86, 0x23, 0xf7, 0x0e, 0x82, 0x21, 0x40, 0x44, 0x58, 0x49,
|
||||
0x4c, 0x18, 0x05, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x46, 0x01, 0x00,
|
||||
0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00,
|
||||
0x00, 0x00, 0x05, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00,
|
||||
0x00, 0x3d, 0x01, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00,
|
||||
0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04,
|
||||
0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08,
|
||||
0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x10, 0x45, 0x02, 0x42, 0x92, 0x0b,
|
||||
0x42, 0x84, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x42,
|
||||
0x88, 0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32,
|
||||
0x42, 0xe4, 0x48, 0x0e, 0x90, 0x11, 0x22, 0xc4, 0x50, 0x41, 0x51, 0x81,
|
||||
0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x21, 0x46, 0x06, 0x51, 0x18, 0x00,
|
||||
0x00, 0x06, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff,
|
||||
0x07, 0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03,
|
||||
0x20, 0x01, 0x00, 0x00, 0x00, 0x49, 0x18, 0x00, 0x00, 0x02, 0x00, 0x00,
|
||||
0x00, 0x13, 0x82, 0x60, 0x42, 0x20, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00,
|
||||
0x00, 0x0f, 0x00, 0x00, 0x00, 0x32, 0x22, 0x08, 0x09, 0x20, 0x64, 0x85,
|
||||
0x04, 0x13, 0x22, 0xa4, 0x84, 0x04, 0x13, 0x22, 0xe3, 0x84, 0xa1, 0x90,
|
||||
0x14, 0x12, 0x4c, 0x88, 0x8c, 0x0b, 0x84, 0x84, 0x4c, 0x10, 0x30, 0x23,
|
||||
0x00, 0x25, 0x00, 0x8a, 0x19, 0x80, 0x39, 0x02, 0x30, 0x98, 0x23, 0x40,
|
||||
0x8a, 0x31, 0x44, 0x54, 0x44, 0x56, 0x0c, 0x20, 0xa2, 0x1a, 0xc2, 0x81,
|
||||
0x80, 0x74, 0x20, 0x00, 0x00, 0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60,
|
||||
0x87, 0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf,
|
||||
0x50, 0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a,
|
||||
0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71,
|
||||
0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73,
|
||||
0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72,
|
||||
0xd0, 0x06, 0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
|
||||
0x90, 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6,
|
||||
0x10, 0x07, 0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73,
|
||||
0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74,
|
||||
0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71,
|
||||
0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43,
|
||||
0x9e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x86, 0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x0c, 0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xc8, 0x02, 0x01, 0x0d, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98,
|
||||
0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43,
|
||||
0xa2, 0x12, 0x18, 0x01, 0x28, 0x86, 0x22, 0x28, 0x83, 0xf2, 0xa0, 0x2a,
|
||||
0x89, 0x32, 0x28, 0x84, 0x11, 0x80, 0x22, 0x28, 0x10, 0xda, 0xb1, 0x1c,
|
||||
0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x02, 0x01, 0x00,
|
||||
0x00, 0x79, 0x18, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c,
|
||||
0x90, 0x46, 0x02, 0x13, 0x44, 0x35, 0x18, 0x63, 0x0b, 0x73, 0x3b, 0x03,
|
||||
0xb1, 0x2b, 0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x03, 0x99, 0x71, 0xb9, 0x01,
|
||||
0x41, 0xa1, 0x0b, 0x3b, 0x9b, 0x7b, 0x91, 0x2a, 0x62, 0x2a, 0x0a, 0x9a,
|
||||
0x2a, 0xfa, 0x9a, 0xb9, 0x81, 0x79, 0x31, 0x4b, 0x73, 0x0b, 0x63, 0x4b,
|
||||
0xd9, 0x10, 0x04, 0x13, 0x04, 0x62, 0x98, 0x20, 0x10, 0xc4, 0x06, 0x61,
|
||||
0x20, 0x26, 0x08, 0x44, 0xb1, 0x41, 0x18, 0x0c, 0x0a, 0x70, 0x73, 0x1b,
|
||||
0x06, 0xc4, 0x20, 0x26, 0x08, 0xcb, 0xb3, 0x21, 0x50, 0x26, 0x08, 0x02,
|
||||
0x40, 0xa2, 0x2d, 0x2c, 0xcd, 0x8d, 0xcb, 0x94, 0xd5, 0x17, 0xd4, 0xdb,
|
||||
0x5c, 0x1a, 0x5d, 0xda, 0x9b, 0xdb, 0x04, 0xa1, 0x48, 0x26, 0x08, 0x85,
|
||||
0xb2, 0x21, 0x20, 0x26, 0x08, 0xc5, 0x32, 0x41, 0x28, 0x98, 0x0d, 0x0b,
|
||||
0xe1, 0x3c, 0x50, 0x24, 0x0d, 0x12, 0x31, 0x01, 0x44, 0xa8, 0x8a, 0xb0,
|
||||
0x86, 0x9e, 0x9e, 0xa4, 0x88, 0x26, 0x08, 0x45, 0xb3, 0x61, 0x19, 0xaa,
|
||||
0x67, 0x8a, 0xac, 0xc1, 0x1a, 0x26, 0x60, 0x82, 0x40, 0x18, 0x2c, 0x86,
|
||||
0x9e, 0x98, 0x9e, 0xa4, 0x26, 0x08, 0xc4, 0x31, 0x41, 0x20, 0x90, 0x0d,
|
||||
0x82, 0xb6, 0x6d, 0x58, 0xb0, 0xec, 0x99, 0x22, 0x6b, 0x90, 0xb0, 0x89,
|
||||
0xdb, 0x30, 0x50, 0x57, 0xc7, 0x64, 0xca, 0xea, 0x8b, 0x2a, 0x4c, 0xee,
|
||||
0xac, 0x8c, 0x6e, 0x82, 0x50, 0x38, 0x1b, 0x16, 0xe2, 0x7b, 0xc0, 0x20,
|
||||
0x9a, 0x06, 0x89, 0x98, 0xb8, 0x0d, 0x41, 0x18, 0x6c, 0x18, 0x3c, 0x31,
|
||||
0x00, 0x36, 0x14, 0x4c, 0x33, 0x06, 0x00, 0x50, 0x85, 0x8d, 0xcd, 0xae,
|
||||
0xcd, 0x25, 0x8d, 0xac, 0xcc, 0x8d, 0x6e, 0x4a, 0x10, 0x54, 0x21, 0xc3,
|
||||
0x73, 0xb1, 0x2b, 0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x9b, 0x12, 0x10, 0x4d,
|
||||
0xc8, 0xf0, 0x5c, 0xec, 0xc2, 0xd8, 0xec, 0xca, 0xe4, 0xa6, 0x04, 0x46,
|
||||
0x1d, 0x32, 0x3c, 0x97, 0x39, 0xb4, 0x30, 0xb2, 0x32, 0xb9, 0xa6, 0x37,
|
||||
0xb2, 0x32, 0xb6, 0x29, 0x01, 0x52, 0x87, 0x0c, 0xcf, 0xc5, 0x2e, 0xad,
|
||||
0xec, 0x2e, 0x89, 0x6c, 0x8a, 0x2e, 0x8c, 0xae, 0x6c, 0x4a, 0xa0, 0xd4,
|
||||
0x21, 0xc3, 0x73, 0x29, 0x73, 0xa3, 0x93, 0xcb, 0x83, 0x7a, 0x4b, 0x73,
|
||||
0xa3, 0x9b, 0x9b, 0x12, 0x8c, 0x01, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00,
|
||||
0x00, 0x4c, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c,
|
||||
0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80,
|
||||
0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed,
|
||||
0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d,
|
||||
0xce, 0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83,
|
||||
0x1b, 0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78,
|
||||
0x8c, 0x74, 0x70, 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70,
|
||||
0x07, 0x7a, 0x70, 0x03, 0x76, 0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc,
|
||||
0x11, 0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3,
|
||||
0xf0, 0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c,
|
||||
0xd8, 0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83,
|
||||
0x3b, 0xd0, 0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03,
|
||||
0x3b, 0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68,
|
||||
0x87, 0x72, 0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60,
|
||||
0x07, 0x76, 0x28, 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80,
|
||||
0x87, 0x5f, 0x08, 0x87, 0x71, 0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98,
|
||||
0x81, 0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec,
|
||||
0x30, 0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c,
|
||||
0xe4, 0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d,
|
||||
0xca, 0x61, 0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43,
|
||||
0x39, 0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03,
|
||||
0x3b, 0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03,
|
||||
0x3b, 0xb0, 0xc3, 0x0c, 0xc4, 0x21, 0x07, 0x7c, 0x70, 0x03, 0x7a, 0x28,
|
||||
0x87, 0x76, 0x80, 0x87, 0x19, 0xd1, 0x43, 0x0e, 0xf8, 0xe0, 0x06, 0xe4,
|
||||
0x20, 0x0e, 0xe7, 0xe0, 0x06, 0xf6, 0x10, 0x0e, 0xf2, 0xc0, 0x0e, 0xe1,
|
||||
0x90, 0x0f, 0xef, 0x50, 0x0f, 0xf4, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00,
|
||||
0x00, 0x0b, 0x00, 0x00, 0x00, 0x16, 0x30, 0x0d, 0x97, 0xef, 0x3c, 0xfe,
|
||||
0xe2, 0x00, 0x83, 0xd8, 0x3c, 0xd4, 0xe4, 0x17, 0xb7, 0x6d, 0x02, 0xd5,
|
||||
0x70, 0xf9, 0xce, 0xe3, 0x4b, 0x93, 0x13, 0x11, 0x28, 0x35, 0x3d, 0xd4,
|
||||
0xe4, 0x17, 0xb7, 0x6d, 0x00, 0x04, 0x03, 0x20, 0x0d, 0x00, 0x00, 0x00,
|
||||
0x00, 0x61, 0x20, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x13, 0x04, 0x41,
|
||||
0x2c, 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x44, 0x85, 0x30,
|
||||
0x03, 0x50, 0x0a, 0x54, 0x25, 0x00, 0x00, 0x00, 0x00, 0x23, 0x06, 0x09,
|
||||
0x00, 0x82, 0x60, 0x60, 0x4c, 0x84, 0x03, 0x21, 0xc3, 0x88, 0x41, 0x02,
|
||||
0x80, 0x20, 0x18, 0x18, 0x54, 0xf1, 0x44, 0x02, 0x31, 0x62, 0x90, 0x00,
|
||||
0x20, 0x08, 0x06, 0x46, 0x65, 0x40, 0x52, 0x52, 0x8c, 0x18, 0x24, 0x00,
|
||||
0x08, 0x82, 0x81, 0x61, 0x1d, 0xd1, 0xd4, 0x18, 0x23, 0x06, 0x09, 0x00,
|
||||
0x82, 0x60, 0x80, 0x58, 0x06, 0x45, 0x31, 0xc4, 0x88, 0x41, 0x02, 0x80,
|
||||
0x20, 0x18, 0x20, 0x96, 0x41, 0x51, 0xc5, 0x30, 0x62, 0x90, 0x00, 0x20,
|
||||
0x08, 0x06, 0x88, 0x65, 0x50, 0xd4, 0x22, 0x8c, 0x18, 0x24, 0x00, 0x08,
|
||||
0x82, 0x01, 0x62, 0x19, 0x14, 0xe5, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00
|
||||
};
|
19
src/render/direct3d12/D3D12_PixelShader_Colors.hlsl
Normal file
19
src/render/direct3d12/D3D12_PixelShader_Colors.hlsl
Normal file
|
@ -0,0 +1,19 @@
|
|||
struct PixelShaderInput
|
||||
{
|
||||
float4 pos : SV_POSITION;
|
||||
float2 tex : TEXCOORD0;
|
||||
float4 color : COLOR0;
|
||||
};
|
||||
|
||||
#define ColorRS \
|
||||
"RootFlags ( ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT |" \
|
||||
"DENY_DOMAIN_SHADER_ROOT_ACCESS |" \
|
||||
"DENY_GEOMETRY_SHADER_ROOT_ACCESS |" \
|
||||
"DENY_HULL_SHADER_ROOT_ACCESS )," \
|
||||
"RootConstants(num32BitConstants=32, b0)"
|
||||
|
||||
[RootSignature(ColorRS)]
|
||||
float4 main(PixelShaderInput input) : SV_TARGET0
|
||||
{
|
||||
return input.color;
|
||||
}
|
594
src/render/direct3d12/D3D12_PixelShader_NV12.h
Executable file
594
src/render/direct3d12/D3D12_PixelShader_NV12.h
Executable file
|
@ -0,0 +1,594 @@
|
|||
#if 0
|
||||
;
|
||||
; Input signature:
|
||||
;
|
||||
; Name Index Mask Register SysValue Format Used
|
||||
; -------------------- ----- ------ -------- -------- ------- ------
|
||||
; SV_Position 0 xyzw 0 POS float
|
||||
; TEXCOORD 0 xy 1 NONE float xy
|
||||
; COLOR 0 xyzw 2 NONE float xyzw
|
||||
;
|
||||
;
|
||||
; Output signature:
|
||||
;
|
||||
; Name Index Mask Register SysValue Format Used
|
||||
; -------------------- ----- ------ -------- -------- ------- ------
|
||||
; SV_Target 0 xyzw 0 TARGET float xyzw
|
||||
;
|
||||
; shader hash: 1003a59ddf14d37e215bf2e9478add3e
|
||||
;
|
||||
; Pipeline Runtime Information:
|
||||
;
|
||||
; Pixel Shader
|
||||
; DepthOutput=0
|
||||
; SampleFrequency=0
|
||||
;
|
||||
;
|
||||
; Input signature:
|
||||
;
|
||||
; Name Index InterpMode DynIdx
|
||||
; -------------------- ----- ---------------------- ------
|
||||
; SV_Position 0 noperspective
|
||||
; TEXCOORD 0 linear
|
||||
; COLOR 0 linear
|
||||
;
|
||||
; Output signature:
|
||||
;
|
||||
; Name Index InterpMode DynIdx
|
||||
; -------------------- ----- ---------------------- ------
|
||||
; SV_Target 0
|
||||
;
|
||||
; Buffer Definitions:
|
||||
;
|
||||
; cbuffer Constants
|
||||
; {
|
||||
;
|
||||
; struct Constants
|
||||
; {
|
||||
;
|
||||
; float4 Yoffset; ; Offset: 0
|
||||
; float4 Rcoeff; ; Offset: 16
|
||||
; float4 Gcoeff; ; Offset: 32
|
||||
; float4 Bcoeff; ; Offset: 48
|
||||
;
|
||||
; } Constants; ; Offset: 0 Size: 64
|
||||
;
|
||||
; }
|
||||
;
|
||||
;
|
||||
; Resource Bindings:
|
||||
;
|
||||
; Name Type Format Dim ID HLSL Bind Count
|
||||
; ------------------------------ ---------- ------- ----------- ------- -------------- ------
|
||||
; Constants cbuffer NA NA CB0 cb1 1
|
||||
; theSampler sampler NA NA S0 s0 1
|
||||
; theTextureY texture f32 2d T0 t0 1
|
||||
; theTextureUV texture f32 2d T1 t1 1
|
||||
;
|
||||
;
|
||||
; ViewId state:
|
||||
;
|
||||
; Number of inputs: 12, outputs: 4
|
||||
; Outputs dependent on ViewId: { }
|
||||
; Inputs contributing to computation of Outputs:
|
||||
; output 0 depends on inputs: { 4, 5, 8 }
|
||||
; output 1 depends on inputs: { 4, 5, 9 }
|
||||
; output 2 depends on inputs: { 4, 5, 10 }
|
||||
; output 3 depends on inputs: { 11 }
|
||||
;
|
||||
target datalayout = "e-m:e-p:32:32-i1:32-i8:32-i16:32-i32:32-i64:64-f16:32-f32:32-f64:64-n8:16:32:64"
|
||||
target triple = "dxil-ms-dx"
|
||||
|
||||
%dx.types.Handle = type { i8* }
|
||||
%dx.types.ResRet.f32 = type { float, float, float, float, i32 }
|
||||
%dx.types.CBufRet.f32 = type { float, float, float, float }
|
||||
%"class.Texture2D<vector<float, 4> >" = type { <4 x float>, %"class.Texture2D<vector<float, 4> >::mips_type" }
|
||||
%"class.Texture2D<vector<float, 4> >::mips_type" = type { i32 }
|
||||
%Constants = type { <4 x float>, <4 x float>, <4 x float>, <4 x float> }
|
||||
%struct.SamplerState = type { i32 }
|
||||
|
||||
define void @main() {
|
||||
%1 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 0, i32 1, i32 1, i1 false) ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
|
||||
%2 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 0, i32 0, i32 0, i1 false) ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
|
||||
%3 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 3, i32 0, i32 0, i1 false) ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
|
||||
%4 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 2, i32 0, i32 1, i1 false) ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
|
||||
%5 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 0, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%6 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 1, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%7 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 2, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%8 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 3, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%9 = call float @dx.op.loadInput.f32(i32 4, i32 1, i32 0, i8 0, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%10 = call float @dx.op.loadInput.f32(i32 4, i32 1, i32 0, i8 1, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%11 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %3, float %9, float %10, float undef, float undef, i32 0, i32 0, i32 undef, float undef) ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
|
||||
%12 = extractvalue %dx.types.ResRet.f32 %11, 0
|
||||
%13 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %1, %dx.types.Handle %3, float %9, float %10, float undef, float undef, i32 0, i32 0, i32 undef, float undef) ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
|
||||
%14 = extractvalue %dx.types.ResRet.f32 %13, 0
|
||||
%15 = extractvalue %dx.types.ResRet.f32 %13, 1
|
||||
%16 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %4, i32 0) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%17 = extractvalue %dx.types.CBufRet.f32 %16, 0
|
||||
%18 = extractvalue %dx.types.CBufRet.f32 %16, 1
|
||||
%19 = extractvalue %dx.types.CBufRet.f32 %16, 2
|
||||
%20 = fadd fast float %17, %12
|
||||
%21 = fadd fast float %18, %14
|
||||
%22 = fadd fast float %19, %15
|
||||
%23 = call float @dx.op.dot3.f32(i32 55, float %20, float %21, float %22, float 1.000000e+00, float 0.000000e+00, float 0x3FF66E9780000000) ; Dot3(ax,ay,az,bx,by,bz)
|
||||
%24 = call float @dx.op.dot3.f32(i32 55, float %20, float %21, float %22, float 1.000000e+00, float 0xBFD605BC00000000, float 0xBFE6D9E840000000) ; Dot3(ax,ay,az,bx,by,bz)
|
||||
%25 = call float @dx.op.dot3.f32(i32 55, float %20, float %21, float %22, float 1.000000e+00, float 0x3FFC5A1CA0000000, float 0.000000e+00) ; Dot3(ax,ay,az,bx,by,bz)
|
||||
%26 = fmul fast float %23, %5
|
||||
%27 = fmul fast float %24, %6
|
||||
%28 = fmul fast float %25, %7
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 0, float %26) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 1, float %27) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 2, float %28) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 3, float %8) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
ret void
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind readnone
|
||||
declare float @dx.op.loadInput.f32(i32, i32, i32, i8, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @dx.op.storeOutput.f32(i32, i32, i32, i8, float) #1
|
||||
|
||||
; Function Attrs: nounwind readonly
|
||||
declare %dx.types.ResRet.f32 @dx.op.sample.f32(i32, %dx.types.Handle, %dx.types.Handle, float, float, float, float, i32, i32, i32, float) #2
|
||||
|
||||
; Function Attrs: nounwind readnone
|
||||
declare float @dx.op.dot3.f32(i32, float, float, float, float, float, float) #0
|
||||
|
||||
; Function Attrs: nounwind readonly
|
||||
declare %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32, %dx.types.Handle, i32) #2
|
||||
|
||||
; Function Attrs: nounwind readonly
|
||||
declare %dx.types.Handle @dx.op.createHandle(i32, i8, i32, i32, i1) #2
|
||||
|
||||
attributes #0 = { nounwind readnone }
|
||||
attributes #1 = { nounwind }
|
||||
attributes #2 = { nounwind readonly }
|
||||
|
||||
!llvm.ident = !{!0}
|
||||
!dx.version = !{!1}
|
||||
!dx.valver = !{!2}
|
||||
!dx.shaderModel = !{!3}
|
||||
!dx.resources = !{!4}
|
||||
!dx.viewIdState = !{!13}
|
||||
!dx.entryPoints = !{!14}
|
||||
|
||||
!0 = !{!"clang version 3.7 (tags/RELEASE_370/final)"}
|
||||
!1 = !{i32 1, i32 0}
|
||||
!2 = !{i32 1, i32 6}
|
||||
!3 = !{!"ps", i32 6, i32 0}
|
||||
!4 = !{!5, null, !9, !11}
|
||||
!5 = !{!6, !8}
|
||||
!6 = !{i32 0, %"class.Texture2D<vector<float, 4> >"* undef, !"", i32 0, i32 0, i32 1, i32 2, i32 0, !7}
|
||||
!7 = !{i32 0, i32 9}
|
||||
!8 = !{i32 1, %"class.Texture2D<vector<float, 4> >"* undef, !"", i32 0, i32 1, i32 1, i32 2, i32 0, !7}
|
||||
!9 = !{!10}
|
||||
!10 = !{i32 0, %Constants* undef, !"", i32 0, i32 1, i32 1, i32 64, null}
|
||||
!11 = !{!12}
|
||||
!12 = !{i32 0, %struct.SamplerState* undef, !"", i32 0, i32 0, i32 1, i32 0, null}
|
||||
!13 = !{[14 x i32] [i32 12, i32 4, i32 0, i32 0, i32 0, i32 0, i32 7, i32 7, i32 0, i32 0, i32 1, i32 2, i32 4, i32 8]}
|
||||
!14 = !{void ()* @main, !"main", !15, !4, null}
|
||||
!15 = !{!16, !23, null}
|
||||
!16 = !{!17, !19, !21}
|
||||
!17 = !{i32 0, !"SV_Position", i8 9, i8 3, !18, i8 4, i32 1, i8 4, i32 0, i8 0, null}
|
||||
!18 = !{i32 0}
|
||||
!19 = !{i32 1, !"TEXCOORD", i8 9, i8 0, !18, i8 2, i32 1, i8 2, i32 1, i8 0, !20}
|
||||
!20 = !{i32 3, i32 3}
|
||||
!21 = !{i32 2, !"COLOR", i8 9, i8 0, !18, i8 2, i32 1, i8 4, i32 2, i8 0, !22}
|
||||
!22 = !{i32 3, i32 15}
|
||||
!23 = !{!24}
|
||||
!24 = !{i32 0, !"SV_Target", i8 9, i8 16, !18, i8 0, i32 1, i8 4, i32 0, i8 0, !22}
|
||||
|
||||
#endif
|
||||
|
||||
const unsigned char g_main[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0xc6, 0xaa, 0x35, 0x03, 0x58, 0x03, 0x56, 0xdc,
|
||||
0x9d, 0x69, 0xbc, 0x2c, 0xde, 0x4e, 0x96, 0x5a, 0x01, 0x00, 0x00, 0x00,
|
||||
0x29, 0x13, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0xdb, 0x00, 0x00, 0x00, 0x15, 0x01, 0x00, 0x00,
|
||||
0x49, 0x02, 0x00, 0x00, 0x05, 0x03, 0x00, 0x00, 0xc1, 0x0a, 0x00, 0x00,
|
||||
0xdd, 0x0a, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31,
|
||||
0x83, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x53, 0x56, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00,
|
||||
0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c,
|
||||
0x4f, 0x52, 0x00, 0x4f, 0x53, 0x47, 0x31, 0x32, 0x00, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
|
||||
0x00, 0x50, 0x53, 0x56, 0x30, 0x2c, 0x01, 0x00, 0x00, 0x30, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
|
||||
0xff, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x03, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x04, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
|
||||
0x00, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
|
||||
0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
|
||||
0x00, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43,
|
||||
0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x00, 0x44, 0x03, 0x03, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x42, 0x00, 0x03, 0x02, 0x00,
|
||||
0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x44,
|
||||
0x00, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x00, 0x44, 0x10, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
|
||||
0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x52, 0x54, 0x53,
|
||||
0x30, 0xb4, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
|
||||
0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x00,
|
||||
0x00, 0x1d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
|
||||
0x00, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
|
||||
0x00, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
|
||||
0x00, 0x94, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
|
||||
0xff, 0x01, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00,
|
||||
0x00, 0x9c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xff, 0xff, 0xff, 0xff, 0x53, 0x54, 0x41, 0x54, 0xb4, 0x07, 0x00,
|
||||
0x00, 0x60, 0x00, 0x00, 0x00, 0xed, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49,
|
||||
0x4c, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x9c, 0x07, 0x00,
|
||||
0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0xe4, 0x01, 0x00,
|
||||
0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00,
|
||||
0x00, 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32,
|
||||
0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b,
|
||||
0x62, 0x80, 0x18, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42, 0xc4, 0x10, 0x32,
|
||||
0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x62, 0x88, 0x48, 0x90, 0x14,
|
||||
0x20, 0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e,
|
||||
0x90, 0x11, 0x23, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5,
|
||||
0x8a, 0x04, 0x31, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00,
|
||||
0x00, 0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8,
|
||||
0x0d, 0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86,
|
||||
0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8, 0x00, 0x49, 0x18, 0x00,
|
||||
0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x42, 0x20, 0x4c, 0x08,
|
||||
0x06, 0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00, 0x51, 0x00, 0x00,
|
||||
0x00, 0x32, 0x22, 0x88, 0x09, 0x20, 0x64, 0x85, 0x04, 0x13, 0x23, 0xa4,
|
||||
0x84, 0x04, 0x13, 0x23, 0xe3, 0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8c,
|
||||
0x8c, 0x0b, 0x84, 0xc4, 0x4c, 0x10, 0x84, 0xc1, 0x08, 0x40, 0x09, 0x00,
|
||||
0x0a, 0x66, 0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00, 0x29, 0xc6, 0x40,
|
||||
0x10, 0x44, 0x41, 0x90, 0x51, 0x0c, 0x80, 0x20, 0x88, 0x62, 0x20, 0xe4,
|
||||
0xa6, 0xe1, 0xf2, 0x27, 0xec, 0x21, 0x24, 0x7f, 0x25, 0xa4, 0x95, 0x98,
|
||||
0xfc, 0xe2, 0xb6, 0x51, 0x31, 0x0c, 0xc3, 0x40, 0x50, 0x71, 0xcf, 0x70,
|
||||
0xf9, 0x13, 0xf6, 0x10, 0x92, 0x1f, 0x02, 0xcd, 0xb0, 0x10, 0x28, 0x58,
|
||||
0x0a, 0xa3, 0x10, 0x0c, 0x33, 0x0c, 0xc3, 0x40, 0x10, 0xc4, 0x40, 0x4d,
|
||||
0x41, 0x06, 0x62, 0x18, 0x86, 0x61, 0x18, 0xe8, 0x39, 0x6a, 0xb8, 0xfc,
|
||||
0x09, 0x7b, 0x08, 0xc9, 0xe7, 0x36, 0xaa, 0x58, 0x89, 0xc9, 0x2f, 0x6e,
|
||||
0x1b, 0x11, 0xc3, 0x30, 0x0c, 0x85, 0x88, 0x08, 0x86, 0x20, 0x69, 0x8e,
|
||||
0x20, 0x28, 0x06, 0x43, 0x14, 0x04, 0x41, 0x51, 0x35, 0x10, 0x30, 0x8c,
|
||||
0x40, 0x0c, 0x33, 0xb5, 0xc1, 0x38, 0xb0, 0x43, 0x38, 0xcc, 0xc3, 0x3c,
|
||||
0xb8, 0x01, 0x2d, 0x94, 0x03, 0x3e, 0xd0, 0x43, 0x3d, 0xc8, 0x43, 0x39,
|
||||
0xc8, 0x01, 0x29, 0xf0, 0x81, 0x3d, 0x94, 0xc3, 0x38, 0xd0, 0xc3, 0x3b,
|
||||
0xc8, 0x03, 0x1f, 0x98, 0x03, 0x3b, 0xbc, 0x43, 0x38, 0xd0, 0x03, 0x1b,
|
||||
0x80, 0x01, 0x1d, 0xf8, 0x01, 0x18, 0xf8, 0x81, 0x1e, 0xe8, 0x41, 0x3b,
|
||||
0xa4, 0x03, 0x3c, 0xcc, 0xc3, 0x2f, 0xd0, 0x43, 0x3e, 0xc0, 0x43, 0x39,
|
||||
0xa0, 0x80, 0x98, 0x49, 0x0c, 0xc6, 0x81, 0x1d, 0xc2, 0x61, 0x1e, 0xe6,
|
||||
0xc1, 0x0d, 0x68, 0xa1, 0x1c, 0xf0, 0x81, 0x1e, 0xea, 0x41, 0x1e, 0xca,
|
||||
0x41, 0x0e, 0x48, 0x81, 0x0f, 0xec, 0xa1, 0x1c, 0xc6, 0x81, 0x1e, 0xde,
|
||||
0x41, 0x1e, 0xf8, 0xc0, 0x1c, 0xd8, 0xe1, 0x1d, 0xc2, 0x81, 0x1e, 0xd8,
|
||||
0x00, 0x0c, 0xe8, 0xc0, 0x0f, 0xc0, 0xc0, 0x0f, 0x90, 0x80, 0x65, 0xa4,
|
||||
0x5d, 0xc2, 0x39, 0x8d, 0x34, 0x01, 0xcd, 0x24, 0x21, 0x02, 0xc3, 0x30,
|
||||
0x8c, 0xb8, 0x9b, 0xa4, 0x29, 0xa2, 0x84, 0xc9, 0x67, 0x01, 0xe6, 0x59,
|
||||
0x88, 0x88, 0x9d, 0x80, 0x89, 0x40, 0x01, 0x41, 0x5e, 0x3a, 0x10, 0x00,
|
||||
0x00, 0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87,
|
||||
0x79, 0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0,
|
||||
0x0e, 0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0,
|
||||
0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20,
|
||||
0x07, 0x6d, 0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90,
|
||||
0x0e, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30,
|
||||
0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40,
|
||||
0x07, 0x7a, 0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0,
|
||||
0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30,
|
||||
0x07, 0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40,
|
||||
0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30,
|
||||
0x07, 0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e, 0x00, 0x08, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10,
|
||||
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10,
|
||||
0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2,
|
||||
0x34, 0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30,
|
||||
0xe4, 0x79, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x60, 0xc8, 0x23, 0x01, 0x01, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xc0, 0x90, 0xa7, 0x02, 0x02, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x80, 0x2c, 0x10, 0x14, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98,
|
||||
0x18, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43,
|
||||
0x22, 0x4a, 0x60, 0x04, 0xa0, 0x18, 0x8a, 0xa0, 0x24, 0x0a, 0x30, 0xa0,
|
||||
0x0c, 0xca, 0xa1, 0x40, 0x0a, 0xa8, 0xc0, 0xca, 0xa3, 0x84, 0x0a, 0x81,
|
||||
0x8a, 0x92, 0x28, 0x83, 0x42, 0x18, 0x01, 0x28, 0x82, 0x02, 0x21, 0xaa,
|
||||
0x06, 0x68, 0x9b, 0x01, 0x20, 0x6e, 0x06, 0x80, 0xba, 0x19, 0x00, 0xfa,
|
||||
0x66, 0x00, 0x08, 0x1c, 0xcb, 0x61, 0x08, 0x00, 0x00, 0x80, 0xe3, 0x00,
|
||||
0x80, 0x40, 0x20, 0x10, 0x00, 0x79, 0x18, 0x00, 0x00, 0xaf, 0x00, 0x00,
|
||||
0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44, 0x35, 0x18, 0x63,
|
||||
0x0b, 0x73, 0x3b, 0x03, 0xb1, 0x2b, 0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x03,
|
||||
0x99, 0x71, 0xb9, 0x01, 0x41, 0xa1, 0x0b, 0x3b, 0x9b, 0x7b, 0x91, 0x2a,
|
||||
0x62, 0x2a, 0x0a, 0x9a, 0x2a, 0xfa, 0x9a, 0xb9, 0x81, 0x79, 0x31, 0x4b,
|
||||
0x73, 0x0b, 0x63, 0x4b, 0xd9, 0x10, 0x04, 0x13, 0x04, 0xe2, 0x98, 0x20,
|
||||
0x10, 0xc8, 0x06, 0x61, 0x20, 0x36, 0x08, 0x04, 0x41, 0x01, 0x6e, 0x6e,
|
||||
0x82, 0x40, 0x24, 0x1b, 0x86, 0x03, 0x21, 0x26, 0x08, 0x1b, 0xc7, 0x85,
|
||||
0x0e, 0xad, 0x8c, 0xaa, 0x0c, 0x8f, 0xae, 0x4e, 0xae, 0x2c, 0x6b, 0x82,
|
||||
0x40, 0x28, 0x13, 0x04, 0x62, 0xd9, 0x20, 0x10, 0xcd, 0x86, 0x84, 0x50,
|
||||
0x16, 0x82, 0x18, 0x18, 0xc2, 0x21, 0x43, 0x87, 0x56, 0x46, 0x55, 0x86,
|
||||
0x47, 0x57, 0x27, 0x57, 0x56, 0x65, 0xb5, 0x21, 0x19, 0x14, 0x88, 0x18,
|
||||
0x06, 0x86, 0x70, 0x36, 0x08, 0x4f, 0x34, 0x41, 0xe8, 0x3c, 0x26, 0x43,
|
||||
0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x13, 0x04, 0x82, 0xd9,
|
||||
0x80, 0x10, 0x13, 0x45, 0x0c, 0x43, 0x05, 0x6c, 0x08, 0xac, 0x09, 0xc2,
|
||||
0xf7, 0x51, 0xa1, 0x43, 0x2b, 0x9b, 0x0a, 0x6b, 0x83, 0x63, 0x2b, 0x93,
|
||||
0xdb, 0x80, 0x10, 0x58, 0x46, 0x10, 0x03, 0x01, 0x6c, 0x08, 0xb4, 0x0d,
|
||||
0x84, 0x04, 0x5c, 0xdb, 0x04, 0x81, 0xeb, 0x78, 0x64, 0xbd, 0x99, 0x99,
|
||||
0xcd, 0x95, 0xd1, 0x4d, 0x10, 0x88, 0x66, 0x82, 0x40, 0x38, 0x13, 0x04,
|
||||
0x6a, 0xdb, 0x80, 0x20, 0xde, 0x47, 0x80, 0x41, 0xd3, 0x84, 0x01, 0x0d,
|
||||
0xa9, 0xb1, 0xb7, 0x32, 0x33, 0xb3, 0x09, 0x02, 0xf1, 0x6c, 0x30, 0x90,
|
||||
0x31, 0xf8, 0xc8, 0x00, 0x0c, 0x1a, 0x1a, 0x47, 0x63, 0x6f, 0x65, 0x66,
|
||||
0x66, 0x13, 0x04, 0x02, 0xda, 0x60, 0x20, 0x66, 0xf0, 0x9d, 0x01, 0x18,
|
||||
0x34, 0x34, 0x84, 0xc6, 0xde, 0xca, 0xcc, 0xcc, 0x26, 0x08, 0x44, 0xb4,
|
||||
0xc1, 0x40, 0xd2, 0xe0, 0x53, 0x03, 0x30, 0x68, 0x36, 0x14, 0x95, 0x18,
|
||||
0x94, 0x01, 0x1a, 0xac, 0xc1, 0x86, 0x81, 0xe8, 0xd8, 0x60, 0x82, 0x20,
|
||||
0x00, 0x1b, 0x80, 0x0d, 0x03, 0xf1, 0x06, 0x6f, 0xb0, 0x21, 0x80, 0x83,
|
||||
0x0d, 0xc3, 0xe0, 0x06, 0x71, 0x30, 0x41, 0x00, 0x03, 0x30, 0xd8, 0x10,
|
||||
0xcc, 0x01, 0x89, 0xb6, 0xb0, 0x34, 0x37, 0x2e, 0x53, 0x56, 0x5f, 0x50,
|
||||
0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x13, 0x84, 0xa2, 0x9a, 0x20,
|
||||
0x14, 0xd6, 0x86, 0x80, 0x98, 0x20, 0x14, 0xd7, 0x04, 0xa1, 0xc0, 0x36,
|
||||
0x2c, 0x84, 0x1d, 0xdc, 0x01, 0x1e, 0xe4, 0x81, 0x1e, 0x0c, 0x7a, 0x40,
|
||||
0xec, 0x01, 0x40, 0x84, 0xaa, 0x08, 0x6b, 0xe8, 0xe9, 0x49, 0x8a, 0x68,
|
||||
0x82, 0x50, 0x64, 0x1b, 0x84, 0xef, 0xdb, 0xb0, 0x0c, 0x7d, 0x70, 0x07,
|
||||
0x7b, 0x90, 0x07, 0x7e, 0x30, 0xf8, 0xc1, 0xb0, 0x07, 0x7f, 0xc0, 0x62,
|
||||
0xe8, 0x89, 0xe9, 0x49, 0x6a, 0x82, 0x40, 0x48, 0x1b, 0x84, 0x4f, 0x14,
|
||||
0x36, 0x2c, 0x4c, 0x28, 0xdc, 0xc1, 0x1e, 0xe4, 0x81, 0x1f, 0x0c, 0x7a,
|
||||
0xc0, 0xec, 0xc1, 0x28, 0x6c, 0x18, 0xf8, 0x00, 0x14, 0x48, 0x81, 0xc9,
|
||||
0x94, 0xd5, 0x17, 0x55, 0x98, 0xdc, 0x59, 0x19, 0xdd, 0x04, 0xa1, 0xd0,
|
||||
0x36, 0x2c, 0x84, 0x29, 0xdc, 0xc1, 0x29, 0xe4, 0xc1, 0x1e, 0x0c, 0x7a,
|
||||
0x40, 0xec, 0xc1, 0x28, 0x6c, 0x08, 0x50, 0x61, 0xc3, 0x50, 0x0a, 0xa9,
|
||||
0x00, 0x6c, 0x28, 0xdc, 0xa0, 0x0e, 0x54, 0x81, 0x03, 0x68, 0x98, 0xb1,
|
||||
0xbd, 0x85, 0xd1, 0xcd, 0xb1, 0x48, 0x73, 0x9b, 0xa3, 0x9b, 0x9b, 0x20,
|
||||
0x10, 0x13, 0x8d, 0xb9, 0xb4, 0xb3, 0x2f, 0x36, 0x32, 0x1a, 0x73, 0x69,
|
||||
0x67, 0x5f, 0x73, 0x74, 0x13, 0x04, 0x82, 0x22, 0x42, 0x57, 0x86, 0xf7,
|
||||
0xe5, 0xf6, 0x26, 0xd7, 0xb6, 0x41, 0x61, 0x85, 0xa6, 0x15, 0x5c, 0xe1,
|
||||
0x15, 0x10, 0x58, 0x88, 0x05, 0x59, 0x60, 0xaa, 0xb0, 0xb1, 0xd9, 0xb5,
|
||||
0xb9, 0xa4, 0x91, 0x95, 0xb9, 0xd1, 0x4d, 0x09, 0x82, 0x2a, 0x64, 0x78,
|
||||
0x2e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x02, 0xa2, 0x09,
|
||||
0x19, 0x9e, 0x8b, 0x5d, 0x18, 0x9b, 0x5d, 0x99, 0xdc, 0x94, 0xa0, 0xa8,
|
||||
0x43, 0x86, 0xe7, 0x32, 0x87, 0x16, 0x46, 0x56, 0x26, 0xd7, 0xf4, 0x46,
|
||||
0x56, 0xc6, 0x36, 0x25, 0x40, 0xca, 0x90, 0xe1, 0xb9, 0xc8, 0x95, 0xcd,
|
||||
0xbd, 0xd5, 0xc9, 0x8d, 0x95, 0xcd, 0x4d, 0x09, 0xb6, 0x4a, 0x64, 0x78,
|
||||
0x2e, 0x74, 0x79, 0x70, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x73, 0x53, 0x04, 0x36, 0x88, 0x83, 0x3a, 0x64, 0x78,
|
||||
0x2e, 0x76, 0x69, 0x65, 0x77, 0x49, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65,
|
||||
0x53, 0x82, 0x39, 0xa8, 0x43, 0x86, 0xe7, 0x52, 0xe6, 0x46, 0x27, 0x97,
|
||||
0x07, 0xf5, 0x96, 0xe6, 0x46, 0x37, 0x37, 0x25, 0x50, 0x85, 0x2e, 0x64,
|
||||
0x78, 0x2e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x53, 0x02,
|
||||
0x59, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x4c, 0x00, 0x00,
|
||||
0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d,
|
||||
0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07,
|
||||
0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80,
|
||||
0x0e, 0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66,
|
||||
0x30, 0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d,
|
||||
0xc8, 0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07,
|
||||
0x7b, 0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03,
|
||||
0x76, 0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90,
|
||||
0x0e, 0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50,
|
||||
0x0e, 0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2,
|
||||
0x61, 0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39,
|
||||
0xb4, 0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14,
|
||||
0x76, 0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07,
|
||||
0x37, 0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07,
|
||||
0x76, 0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87,
|
||||
0x71, 0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0,
|
||||
0x0e, 0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8,
|
||||
0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc,
|
||||
0x61, 0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6,
|
||||
0x90, 0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39,
|
||||
0xb8, 0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f,
|
||||
0xbc, 0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x0c,
|
||||
0xc4, 0x21, 0x07, 0x7c, 0x70, 0x03, 0x7a, 0x28, 0x87, 0x76, 0x80, 0x87,
|
||||
0x19, 0xd1, 0x43, 0x0e, 0xf8, 0xe0, 0x06, 0xe4, 0x20, 0x0e, 0xe7, 0xe0,
|
||||
0x06, 0xf6, 0x10, 0x0e, 0xf2, 0xc0, 0x0e, 0xe1, 0x90, 0x0f, 0xef, 0x50,
|
||||
0x0f, 0xf4, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x1b, 0x00, 0x00,
|
||||
0x00, 0x56, 0xb0, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10, 0x50, 0x45, 0x41,
|
||||
0x44, 0xa5, 0x03, 0x0c, 0x25, 0x61, 0x00, 0x02, 0xe6, 0x17, 0xb7, 0x6d,
|
||||
0x06, 0xd2, 0x70, 0xf9, 0xce, 0xe3, 0x0b, 0x11, 0x01, 0x4c, 0x44, 0x08,
|
||||
0x34, 0xc3, 0x42, 0x18, 0x81, 0x33, 0x5c, 0xbe, 0xf3, 0xf8, 0x83, 0x33,
|
||||
0xdd, 0x7e, 0x71, 0xdb, 0x16, 0x30, 0x0d, 0x97, 0xef, 0x3c, 0xfe, 0xe2,
|
||||
0x00, 0x83, 0xd8, 0x3c, 0xd4, 0xe4, 0x17, 0xb7, 0x6d, 0x03, 0xd0, 0x70,
|
||||
0xf9, 0xce, 0xe3, 0x4b, 0x00, 0xf3, 0x2c, 0x84, 0x5f, 0xdc, 0xb6, 0x09,
|
||||
0x54, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x4d, 0x4e, 0x44, 0xa0, 0xd4, 0xf4,
|
||||
0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x01, 0x10, 0x0c, 0x80, 0x34, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x41, 0x53, 0x48, 0x14, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x03, 0xa5, 0x9d, 0xdf, 0x14, 0xd3,
|
||||
0x7e, 0x21, 0x5b, 0xf2, 0xe9, 0x47, 0x8a, 0xdd, 0x3e, 0x44, 0x58, 0x49,
|
||||
0x4c, 0x44, 0x08, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x11, 0x02, 0x00,
|
||||
0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00,
|
||||
0x00, 0x2c, 0x08, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00,
|
||||
0x00, 0x08, 0x02, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00,
|
||||
0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04,
|
||||
0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08,
|
||||
0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x18, 0x45, 0x02, 0x42, 0x92, 0x0b,
|
||||
0x42, 0xc4, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x62,
|
||||
0x88, 0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32,
|
||||
0x42, 0xe4, 0x48, 0x0e, 0x90, 0x11, 0x23, 0xc4, 0x50, 0x41, 0x51, 0x81,
|
||||
0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x31, 0x46, 0x06, 0x51, 0x18, 0x00,
|
||||
0x00, 0x08, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff,
|
||||
0x07, 0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03,
|
||||
0x20, 0x6d, 0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8,
|
||||
0x00, 0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60,
|
||||
0x42, 0x20, 0x4c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00,
|
||||
0x00, 0x51, 0x00, 0x00, 0x00, 0x32, 0x22, 0x88, 0x09, 0x20, 0x64, 0x85,
|
||||
0x04, 0x13, 0x23, 0xa4, 0x84, 0x04, 0x13, 0x23, 0xe3, 0x84, 0xa1, 0x90,
|
||||
0x14, 0x12, 0x4c, 0x8c, 0x8c, 0x0b, 0x84, 0xc4, 0x4c, 0x10, 0x84, 0xc1,
|
||||
0x08, 0x40, 0x09, 0x00, 0x0a, 0x66, 0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e,
|
||||
0x00, 0x29, 0xc6, 0x40, 0x10, 0x44, 0x41, 0x90, 0x51, 0x0c, 0x80, 0x20,
|
||||
0x88, 0x62, 0x20, 0xe4, 0xa6, 0xe1, 0xf2, 0x27, 0xec, 0x21, 0x24, 0x7f,
|
||||
0x25, 0xa4, 0x95, 0x98, 0xfc, 0xe2, 0xb6, 0x51, 0x31, 0x0c, 0xc3, 0x40,
|
||||
0x50, 0x71, 0xcf, 0x70, 0xf9, 0x13, 0xf6, 0x10, 0x92, 0x1f, 0x02, 0xcd,
|
||||
0xb0, 0x10, 0x28, 0x58, 0x0a, 0xa3, 0x10, 0x0c, 0x33, 0x0c, 0xc3, 0x40,
|
||||
0x10, 0xc4, 0x40, 0x4d, 0x41, 0x06, 0x62, 0x18, 0x86, 0x61, 0x18, 0xe8,
|
||||
0x39, 0x6a, 0xb8, 0xfc, 0x09, 0x7b, 0x08, 0xc9, 0xe7, 0x36, 0xaa, 0x58,
|
||||
0x89, 0xc9, 0x2f, 0x6e, 0x1b, 0x11, 0xc3, 0x30, 0x0c, 0x85, 0x88, 0x08,
|
||||
0x86, 0x20, 0x69, 0x8e, 0x20, 0x28, 0x06, 0x43, 0x14, 0x04, 0x41, 0x51,
|
||||
0x35, 0x10, 0x30, 0x8c, 0x40, 0x0c, 0x33, 0xb5, 0xc1, 0x38, 0xb0, 0x43,
|
||||
0x38, 0xcc, 0xc3, 0x3c, 0xb8, 0x01, 0x2d, 0x94, 0x03, 0x3e, 0xd0, 0x43,
|
||||
0x3d, 0xc8, 0x43, 0x39, 0xc8, 0x01, 0x29, 0xf0, 0x81, 0x3d, 0x94, 0xc3,
|
||||
0x38, 0xd0, 0xc3, 0x3b, 0xc8, 0x03, 0x1f, 0x98, 0x03, 0x3b, 0xbc, 0x43,
|
||||
0x38, 0xd0, 0x03, 0x1b, 0x80, 0x01, 0x1d, 0xf8, 0x01, 0x18, 0xf8, 0x81,
|
||||
0x1e, 0xe8, 0x41, 0x3b, 0xa4, 0x03, 0x3c, 0xcc, 0xc3, 0x2f, 0xd0, 0x43,
|
||||
0x3e, 0xc0, 0x43, 0x39, 0xa0, 0x80, 0x98, 0x49, 0x0c, 0xc6, 0x81, 0x1d,
|
||||
0xc2, 0x61, 0x1e, 0xe6, 0xc1, 0x0d, 0x68, 0xa1, 0x1c, 0xf0, 0x81, 0x1e,
|
||||
0xea, 0x41, 0x1e, 0xca, 0x41, 0x0e, 0x48, 0x81, 0x0f, 0xec, 0xa1, 0x1c,
|
||||
0xc6, 0x81, 0x1e, 0xde, 0x41, 0x1e, 0xf8, 0xc0, 0x1c, 0xd8, 0xe1, 0x1d,
|
||||
0xc2, 0x81, 0x1e, 0xd8, 0x00, 0x0c, 0xe8, 0xc0, 0x0f, 0xc0, 0xc0, 0x0f,
|
||||
0x90, 0x80, 0x65, 0xa4, 0x5d, 0xc2, 0x39, 0x8d, 0x34, 0x01, 0xcd, 0x24,
|
||||
0x21, 0x02, 0xc3, 0x30, 0x8c, 0xb8, 0x9b, 0xa4, 0x29, 0xa2, 0x84, 0xc9,
|
||||
0x67, 0x01, 0xe6, 0x59, 0x88, 0x88, 0x9d, 0x80, 0x89, 0x40, 0x01, 0x41,
|
||||
0x5e, 0x3a, 0x10, 0x00, 0x00, 0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60,
|
||||
0x87, 0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf,
|
||||
0x50, 0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a,
|
||||
0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71,
|
||||
0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73,
|
||||
0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72,
|
||||
0xd0, 0x06, 0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
|
||||
0x90, 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6,
|
||||
0x10, 0x07, 0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73,
|
||||
0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74,
|
||||
0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71,
|
||||
0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43,
|
||||
0x9e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x86, 0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x0c, 0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x30, 0xe4, 0x79, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x60, 0xc8, 0x23, 0x01, 0x01, 0x30, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x90, 0xa7, 0x02, 0x02, 0x60, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x2c, 0x10, 0x11, 0x00, 0x00,
|
||||
0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26,
|
||||
0x47, 0xc6, 0x04, 0x43, 0x22, 0x4a, 0x60, 0x04, 0xa0, 0x18, 0x8a, 0xa0,
|
||||
0x24, 0x0a, 0x30, 0xa0, 0x0c, 0xca, 0x83, 0x8a, 0x92, 0x28, 0x83, 0x42,
|
||||
0x18, 0x01, 0x28, 0x82, 0x02, 0xa1, 0x6d, 0x06, 0x80, 0xba, 0x19, 0x00,
|
||||
0xfa, 0x66, 0x00, 0x08, 0x1c, 0xcb, 0x61, 0x08, 0x00, 0x00, 0x80, 0xe3,
|
||||
0x00, 0x80, 0x40, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00,
|
||||
0x00, 0x6d, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13,
|
||||
0x44, 0x35, 0x18, 0x63, 0x0b, 0x73, 0x3b, 0x03, 0xb1, 0x2b, 0x93, 0x9b,
|
||||
0x4b, 0x7b, 0x73, 0x03, 0x99, 0x71, 0xb9, 0x01, 0x41, 0xa1, 0x0b, 0x3b,
|
||||
0x9b, 0x7b, 0x91, 0x2a, 0x62, 0x2a, 0x0a, 0x9a, 0x2a, 0xfa, 0x9a, 0xb9,
|
||||
0x81, 0x79, 0x31, 0x4b, 0x73, 0x0b, 0x63, 0x4b, 0xd9, 0x10, 0x04, 0x13,
|
||||
0x04, 0xe2, 0x98, 0x20, 0x10, 0xc8, 0x06, 0x61, 0x20, 0x26, 0x08, 0x44,
|
||||
0xb2, 0x41, 0x18, 0x0c, 0x0a, 0x70, 0x73, 0x1b, 0x06, 0xc4, 0x20, 0x26,
|
||||
0x08, 0x5b, 0x45, 0x60, 0x82, 0x40, 0x28, 0x13, 0x04, 0x62, 0xd9, 0x20,
|
||||
0x10, 0xcd, 0x86, 0x84, 0x50, 0x16, 0x82, 0x18, 0x18, 0xc2, 0xd9, 0x90,
|
||||
0x0c, 0xca, 0x42, 0x0c, 0x03, 0x43, 0x38, 0x1b, 0x84, 0x07, 0x9a, 0x20,
|
||||
0x74, 0xd6, 0x04, 0x81, 0x60, 0x36, 0x20, 0x84, 0xb4, 0x10, 0xc3, 0x30,
|
||||
0x01, 0x1b, 0x02, 0x6a, 0x82, 0xf0, 0x5d, 0x1b, 0x10, 0xc2, 0x5a, 0x08,
|
||||
0x62, 0x20, 0x80, 0x0d, 0xc1, 0xb5, 0x81, 0x88, 0x80, 0x0a, 0x9b, 0x20,
|
||||
0x80, 0x01, 0xb6, 0x21, 0xd0, 0x26, 0x08, 0x02, 0x40, 0xa2, 0x2d, 0x2c,
|
||||
0xcd, 0x8d, 0xcb, 0x94, 0xd5, 0x17, 0xd4, 0xdb, 0x5c, 0x1a, 0x5d, 0xda,
|
||||
0x9b, 0xdb, 0x04, 0xa1, 0x78, 0x26, 0x08, 0x05, 0xb4, 0x21, 0x20, 0x26,
|
||||
0x08, 0x45, 0x34, 0x41, 0x28, 0xa4, 0x0d, 0x0b, 0xe1, 0x7d, 0x60, 0x10,
|
||||
0x06, 0x62, 0x30, 0x88, 0x01, 0x31, 0x06, 0x00, 0x11, 0xaa, 0x22, 0xac,
|
||||
0xa1, 0xa7, 0x27, 0x29, 0xa2, 0x09, 0x42, 0x31, 0x4d, 0x10, 0x88, 0x66,
|
||||
0x83, 0x70, 0x06, 0x67, 0xb0, 0x61, 0x19, 0xca, 0xe0, 0x1b, 0x83, 0x30,
|
||||
0x30, 0x83, 0xc1, 0x0c, 0x86, 0x31, 0x40, 0x03, 0x16, 0x43, 0x4f, 0x4c,
|
||||
0x4f, 0x52, 0x13, 0x04, 0xc2, 0xd9, 0x20, 0x9c, 0xc1, 0x1a, 0x6c, 0x58,
|
||||
0x18, 0x35, 0xf8, 0xc6, 0x20, 0x0c, 0xcc, 0x60, 0x10, 0x03, 0x66, 0x0c,
|
||||
0xd8, 0x60, 0xc3, 0x40, 0x06, 0x69, 0xd0, 0x06, 0x4c, 0xa6, 0xac, 0xbe,
|
||||
0xa8, 0xc2, 0xe4, 0xce, 0xca, 0xe8, 0x26, 0x08, 0x05, 0xb5, 0x61, 0x21,
|
||||
0xde, 0xe0, 0x83, 0x83, 0x30, 0x18, 0x83, 0x41, 0x0c, 0x88, 0x31, 0x60,
|
||||
0x83, 0x0d, 0x41, 0x1c, 0x6c, 0x18, 0xdc, 0x40, 0x0e, 0x80, 0x0d, 0x05,
|
||||
0xd7, 0xcd, 0x41, 0x06, 0x54, 0x61, 0x63, 0xb3, 0x6b, 0x73, 0x49, 0x23,
|
||||
0x2b, 0x73, 0xa3, 0x9b, 0x12, 0x04, 0x55, 0xc8, 0xf0, 0x5c, 0xec, 0xca,
|
||||
0xe4, 0xe6, 0xd2, 0xde, 0xdc, 0xa6, 0x04, 0x44, 0x13, 0x32, 0x3c, 0x17,
|
||||
0xbb, 0x30, 0x36, 0xbb, 0x32, 0xb9, 0x29, 0x81, 0x51, 0x87, 0x0c, 0xcf,
|
||||
0x65, 0x0e, 0x2d, 0x8c, 0xac, 0x4c, 0xae, 0xe9, 0x8d, 0xac, 0x8c, 0x6d,
|
||||
0x4a, 0x80, 0x94, 0x21, 0xc3, 0x73, 0x91, 0x2b, 0x9b, 0x7b, 0xab, 0x93,
|
||||
0x1b, 0x2b, 0x9b, 0x9b, 0x12, 0x60, 0x75, 0xc8, 0xf0, 0x5c, 0xec, 0xd2,
|
||||
0xca, 0xee, 0x92, 0xc8, 0xa6, 0xe8, 0xc2, 0xe8, 0xca, 0xa6, 0x04, 0x5a,
|
||||
0x1d, 0x32, 0x3c, 0x97, 0x32, 0x37, 0x3a, 0xb9, 0x3c, 0xa8, 0xb7, 0x34,
|
||||
0x37, 0xba, 0xb9, 0x29, 0xc1, 0x1c, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00,
|
||||
0x00, 0x4c, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c,
|
||||
0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80,
|
||||
0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed,
|
||||
0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d,
|
||||
0xce, 0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83,
|
||||
0x1b, 0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78,
|
||||
0x8c, 0x74, 0x70, 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70,
|
||||
0x07, 0x7a, 0x70, 0x03, 0x76, 0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc,
|
||||
0x11, 0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3,
|
||||
0xf0, 0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c,
|
||||
0xd8, 0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83,
|
||||
0x3b, 0xd0, 0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03,
|
||||
0x3b, 0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68,
|
||||
0x87, 0x72, 0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60,
|
||||
0x07, 0x76, 0x28, 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80,
|
||||
0x87, 0x5f, 0x08, 0x87, 0x71, 0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98,
|
||||
0x81, 0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec,
|
||||
0x30, 0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c,
|
||||
0xe4, 0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d,
|
||||
0xca, 0x61, 0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43,
|
||||
0x39, 0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03,
|
||||
0x3b, 0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03,
|
||||
0x3b, 0xb0, 0xc3, 0x0c, 0xc4, 0x21, 0x07, 0x7c, 0x70, 0x03, 0x7a, 0x28,
|
||||
0x87, 0x76, 0x80, 0x87, 0x19, 0xd1, 0x43, 0x0e, 0xf8, 0xe0, 0x06, 0xe4,
|
||||
0x20, 0x0e, 0xe7, 0xe0, 0x06, 0xf6, 0x10, 0x0e, 0xf2, 0xc0, 0x0e, 0xe1,
|
||||
0x90, 0x0f, 0xef, 0x50, 0x0f, 0xf4, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00,
|
||||
0x00, 0x1b, 0x00, 0x00, 0x00, 0x56, 0xb0, 0x0d, 0x97, 0xef, 0x3c, 0xbe,
|
||||
0x10, 0x50, 0x45, 0x41, 0x44, 0xa5, 0x03, 0x0c, 0x25, 0x61, 0x00, 0x02,
|
||||
0xe6, 0x17, 0xb7, 0x6d, 0x06, 0xd2, 0x70, 0xf9, 0xce, 0xe3, 0x0b, 0x11,
|
||||
0x01, 0x4c, 0x44, 0x08, 0x34, 0xc3, 0x42, 0x18, 0x81, 0x33, 0x5c, 0xbe,
|
||||
0xf3, 0xf8, 0x83, 0x33, 0xdd, 0x7e, 0x71, 0xdb, 0x16, 0x30, 0x0d, 0x97,
|
||||
0xef, 0x3c, 0xfe, 0xe2, 0x00, 0x83, 0xd8, 0x3c, 0xd4, 0xe4, 0x17, 0xb7,
|
||||
0x6d, 0x03, 0xd0, 0x70, 0xf9, 0xce, 0xe3, 0x4b, 0x00, 0xf3, 0x2c, 0x84,
|
||||
0x5f, 0xdc, 0xb6, 0x09, 0x54, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x4d, 0x4e,
|
||||
0x44, 0xa0, 0xd4, 0xf4, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x01, 0x10, 0x0c,
|
||||
0x80, 0x34, 0x00, 0x00, 0x00, 0x61, 0x20, 0x00, 0x00, 0x67, 0x00, 0x00,
|
||||
0x00, 0x13, 0x04, 0x41, 0x2c, 0x10, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00,
|
||||
0x00, 0x44, 0x8d, 0x00, 0x50, 0x51, 0x02, 0x44, 0x94, 0x5d, 0xe1, 0x95,
|
||||
0x5b, 0x29, 0x94, 0xdc, 0x0c, 0x40, 0x21, 0xd0, 0x30, 0x46, 0x50, 0x9e,
|
||||
0x74, 0xe9, 0x7f, 0x63, 0x04, 0xa2, 0x3e, 0xb7, 0xf3, 0x2f, 0x8c, 0x11,
|
||||
0x80, 0xef, 0x0a, 0xae, 0xbf, 0x30, 0x46, 0xc0, 0x97, 0xbd, 0xb9, 0x7f,
|
||||
0x23, 0x00, 0x63, 0x04, 0x20, 0x08, 0x82, 0xf8, 0x37, 0x03, 0x00, 0x00,
|
||||
0x00, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x50, 0x8d, 0x81, 0x72, 0x89,
|
||||
0x81, 0x18, 0x40, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x50, 0x91, 0xc1,
|
||||
0x82, 0x89, 0x81, 0x18, 0x44, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x50,
|
||||
0x95, 0x01, 0xb3, 0x8d, 0xc1, 0x18, 0x48, 0x23, 0x06, 0x09, 0x00, 0x82,
|
||||
0x60, 0x50, 0x99, 0x41, 0x93, 0x91, 0x41, 0x19, 0x4c, 0x23, 0x06, 0x09,
|
||||
0x00, 0x82, 0x60, 0x60, 0xb0, 0x01, 0x33, 0x06, 0x65, 0xb0, 0x35, 0x23,
|
||||
0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0xb4, 0x41, 0x43, 0x06, 0x66, 0x40,
|
||||
0x39, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0xb8, 0x81, 0x53, 0x06,
|
||||
0x67, 0xc0, 0x3d, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0xbc, 0xc1,
|
||||
0x63, 0x06, 0x68, 0x00, 0x06, 0xd0, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18,
|
||||
0x18, 0x70, 0x00, 0xa9, 0x41, 0x1a, 0x7c, 0xd1, 0x88, 0x41, 0x02, 0x80,
|
||||
0x20, 0x18, 0x18, 0x71, 0x10, 0xad, 0x81, 0x1a, 0x60, 0xd2, 0x88, 0xc1,
|
||||
0x03, 0x80, 0x20, 0x18, 0x34, 0x70, 0x70, 0x25, 0x88, 0x10, 0x2c, 0xcb,
|
||||
0x1a, 0xac, 0xc1, 0xb4, 0x8c, 0x26, 0x04, 0xc0, 0x88, 0xc1, 0x03, 0x80,
|
||||
0x20, 0x18, 0x34, 0x72, 0x90, 0x31, 0x0a, 0x31, 0x34, 0x4d, 0x1b, 0xb4,
|
||||
0x41, 0xd5, 0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c, 0x18, 0x1c,
|
||||
0x00, 0x08, 0x82, 0x81, 0x34, 0x07, 0x1d, 0x03, 0x07, 0xa3, 0x09, 0x01,
|
||||
0x30, 0x9a, 0x20, 0x04, 0xa3, 0x09, 0x83, 0x60, 0x03, 0x02, 0x1f, 0x1b,
|
||||
0x0e, 0xf8, 0xd8, 0x70, 0xc0, 0x67, 0xc4, 0x60, 0x01, 0x40, 0x10, 0x0c,
|
||||
0x9e, 0x3d, 0x10, 0x83, 0x41, 0x08, 0xb0, 0x4c, 0x1b, 0x31, 0x58, 0x00,
|
||||
0x10, 0x04, 0x83, 0x87, 0x0f, 0xc6, 0x80, 0x18, 0x84, 0x8c, 0xeb, 0x46,
|
||||
0x0c, 0x16, 0x00, 0x04, 0xc1, 0xe0, 0xe9, 0x03, 0x32, 0x28, 0x88, 0x41,
|
||||
0xfb, 0x36, 0x1b, 0x2a, 0xf9, 0xd8, 0x50, 0xc9, 0xc7, 0x86, 0x4a, 0x3e,
|
||||
0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x80, 0x8c, 0xc2, 0x19, 0xf4, 0x41,
|
||||
0x1f, 0xcc, 0xc1, 0x30, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0xc8, 0x28,
|
||||
0x9c, 0x41, 0x1f, 0xf4, 0xc1, 0x1a, 0x08, 0x23, 0x06, 0x09, 0x00, 0x82,
|
||||
0x60, 0x80, 0x8c, 0xc2, 0x19, 0xf4, 0x41, 0x1f, 0xc8, 0x41, 0x30, 0x62,
|
||||
0x90, 0x00, 0x20, 0x08, 0x06, 0xc8, 0x28, 0x9c, 0x41, 0x1f, 0xf4, 0x41,
|
||||
0x1d, 0x54, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
52
src/render/direct3d12/D3D12_PixelShader_NV12.hlsl
Normal file
52
src/render/direct3d12/D3D12_PixelShader_NV12.hlsl
Normal file
|
@ -0,0 +1,52 @@
|
|||
Texture2D theTextureY : register(t0);
|
||||
Texture2D theTextureUV : register(t1);
|
||||
SamplerState theSampler : register(s0);
|
||||
|
||||
struct PixelShaderInput
|
||||
{
|
||||
float4 pos : SV_POSITION;
|
||||
float2 tex : TEXCOORD0;
|
||||
float4 color : COLOR0;
|
||||
};
|
||||
|
||||
cbuffer Constants : register(b1)
|
||||
{
|
||||
float4 Yoffset;
|
||||
float4 Rcoeff;
|
||||
float4 Gcoeff;
|
||||
float4 Bcoeff;
|
||||
};
|
||||
|
||||
|
||||
#define NVRS \
|
||||
"RootFlags ( ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT |" \
|
||||
" DENY_DOMAIN_SHADER_ROOT_ACCESS |" \
|
||||
" DENY_GEOMETRY_SHADER_ROOT_ACCESS |" \
|
||||
" DENY_HULL_SHADER_ROOT_ACCESS )," \
|
||||
"RootConstants(num32BitConstants=16, b1),"\
|
||||
"DescriptorTable ( SRV(t0), visibility = SHADER_VISIBILITY_PIXEL ),"\
|
||||
"DescriptorTable ( SRV(t1), visibility = SHADER_VISIBILITY_PIXEL ),"\
|
||||
"DescriptorTable ( Sampler(s0), visibility = SHADER_VISIBILITY_PIXEL )"
|
||||
|
||||
[RootSignature(NVRS)]
|
||||
float4 main(PixelShaderInput input) : SV_TARGET
|
||||
{
|
||||
const float3 offset = {0.0, -0.501960814, -0.501960814};
|
||||
const float3 Rcoeff = {1.0000, 0.0000, 1.4020};
|
||||
const float3 Gcoeff = {1.0000, -0.3441, -0.7141};
|
||||
const float3 Bcoeff = {1.0000, 1.7720, 0.0000};
|
||||
|
||||
float4 Output;
|
||||
|
||||
float3 yuv;
|
||||
yuv.x = theTextureY.Sample(theSampler, input.tex).r;
|
||||
yuv.yz = theTextureUV.Sample(theSampler, input.tex).rg;
|
||||
|
||||
yuv += Yoffset.xyz;
|
||||
Output.r = dot(yuv, Rcoeff.xyz);
|
||||
Output.g = dot(yuv, Gcoeff.xyz);
|
||||
Output.b = dot(yuv, Bcoeff.xyz);
|
||||
Output.a = 1.0f;
|
||||
|
||||
return Output * input.color;
|
||||
}
|
594
src/render/direct3d12/D3D12_PixelShader_NV21.h
Executable file
594
src/render/direct3d12/D3D12_PixelShader_NV21.h
Executable file
|
@ -0,0 +1,594 @@
|
|||
#if 0
|
||||
;
|
||||
; Input signature:
|
||||
;
|
||||
; Name Index Mask Register SysValue Format Used
|
||||
; -------------------- ----- ------ -------- -------- ------- ------
|
||||
; SV_Position 0 xyzw 0 POS float
|
||||
; TEXCOORD 0 xy 1 NONE float xy
|
||||
; COLOR 0 xyzw 2 NONE float xyzw
|
||||
;
|
||||
;
|
||||
; Output signature:
|
||||
;
|
||||
; Name Index Mask Register SysValue Format Used
|
||||
; -------------------- ----- ------ -------- -------- ------- ------
|
||||
; SV_Target 0 xyzw 0 TARGET float xyzw
|
||||
;
|
||||
; shader hash: 66313ac819e3b055fb5387b5d599f4b2
|
||||
;
|
||||
; Pipeline Runtime Information:
|
||||
;
|
||||
; Pixel Shader
|
||||
; DepthOutput=0
|
||||
; SampleFrequency=0
|
||||
;
|
||||
;
|
||||
; Input signature:
|
||||
;
|
||||
; Name Index InterpMode DynIdx
|
||||
; -------------------- ----- ---------------------- ------
|
||||
; SV_Position 0 noperspective
|
||||
; TEXCOORD 0 linear
|
||||
; COLOR 0 linear
|
||||
;
|
||||
; Output signature:
|
||||
;
|
||||
; Name Index InterpMode DynIdx
|
||||
; -------------------- ----- ---------------------- ------
|
||||
; SV_Target 0
|
||||
;
|
||||
; Buffer Definitions:
|
||||
;
|
||||
; cbuffer Constants
|
||||
; {
|
||||
;
|
||||
; struct Constants
|
||||
; {
|
||||
;
|
||||
; float4 Yoffset; ; Offset: 0
|
||||
; float4 Rcoeff; ; Offset: 16
|
||||
; float4 Gcoeff; ; Offset: 32
|
||||
; float4 Bcoeff; ; Offset: 48
|
||||
;
|
||||
; } Constants; ; Offset: 0 Size: 64
|
||||
;
|
||||
; }
|
||||
;
|
||||
;
|
||||
; Resource Bindings:
|
||||
;
|
||||
; Name Type Format Dim ID HLSL Bind Count
|
||||
; ------------------------------ ---------- ------- ----------- ------- -------------- ------
|
||||
; Constants cbuffer NA NA CB0 cb1 1
|
||||
; theSampler sampler NA NA S0 s0 1
|
||||
; theTextureY texture f32 2d T0 t0 1
|
||||
; theTextureUV texture f32 2d T1 t1 1
|
||||
;
|
||||
;
|
||||
; ViewId state:
|
||||
;
|
||||
; Number of inputs: 12, outputs: 4
|
||||
; Outputs dependent on ViewId: { }
|
||||
; Inputs contributing to computation of Outputs:
|
||||
; output 0 depends on inputs: { 4, 5, 8 }
|
||||
; output 1 depends on inputs: { 4, 5, 9 }
|
||||
; output 2 depends on inputs: { 4, 5, 10 }
|
||||
; output 3 depends on inputs: { 11 }
|
||||
;
|
||||
target datalayout = "e-m:e-p:32:32-i1:32-i8:32-i16:32-i32:32-i64:64-f16:32-f32:32-f64:64-n8:16:32:64"
|
||||
target triple = "dxil-ms-dx"
|
||||
|
||||
%dx.types.Handle = type { i8* }
|
||||
%dx.types.ResRet.f32 = type { float, float, float, float, i32 }
|
||||
%dx.types.CBufRet.f32 = type { float, float, float, float }
|
||||
%"class.Texture2D<vector<float, 4> >" = type { <4 x float>, %"class.Texture2D<vector<float, 4> >::mips_type" }
|
||||
%"class.Texture2D<vector<float, 4> >::mips_type" = type { i32 }
|
||||
%Constants = type { <4 x float>, <4 x float>, <4 x float>, <4 x float> }
|
||||
%struct.SamplerState = type { i32 }
|
||||
|
||||
define void @main() {
|
||||
%1 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 0, i32 1, i32 1, i1 false) ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
|
||||
%2 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 0, i32 0, i32 0, i1 false) ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
|
||||
%3 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 3, i32 0, i32 0, i1 false) ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
|
||||
%4 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 2, i32 0, i32 1, i1 false) ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
|
||||
%5 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 0, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%6 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 1, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%7 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 2, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%8 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 3, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%9 = call float @dx.op.loadInput.f32(i32 4, i32 1, i32 0, i8 0, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%10 = call float @dx.op.loadInput.f32(i32 4, i32 1, i32 0, i8 1, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%11 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %3, float %9, float %10, float undef, float undef, i32 0, i32 0, i32 undef, float undef) ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
|
||||
%12 = extractvalue %dx.types.ResRet.f32 %11, 0
|
||||
%13 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %1, %dx.types.Handle %3, float %9, float %10, float undef, float undef, i32 0, i32 0, i32 undef, float undef) ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
|
||||
%14 = extractvalue %dx.types.ResRet.f32 %13, 0
|
||||
%15 = extractvalue %dx.types.ResRet.f32 %13, 1
|
||||
%16 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %4, i32 0) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%17 = extractvalue %dx.types.CBufRet.f32 %16, 0
|
||||
%18 = extractvalue %dx.types.CBufRet.f32 %16, 1
|
||||
%19 = extractvalue %dx.types.CBufRet.f32 %16, 2
|
||||
%20 = fadd fast float %17, %12
|
||||
%21 = fadd fast float %18, %15
|
||||
%22 = fadd fast float %19, %14
|
||||
%23 = call float @dx.op.dot3.f32(i32 55, float %20, float %21, float %22, float 1.000000e+00, float 0.000000e+00, float 0x3FF66E9780000000) ; Dot3(ax,ay,az,bx,by,bz)
|
||||
%24 = call float @dx.op.dot3.f32(i32 55, float %20, float %21, float %22, float 1.000000e+00, float 0xBFD605BC00000000, float 0xBFE6D9E840000000) ; Dot3(ax,ay,az,bx,by,bz)
|
||||
%25 = call float @dx.op.dot3.f32(i32 55, float %20, float %21, float %22, float 1.000000e+00, float 0x3FFC5A1CA0000000, float 0.000000e+00) ; Dot3(ax,ay,az,bx,by,bz)
|
||||
%26 = fmul fast float %23, %5
|
||||
%27 = fmul fast float %24, %6
|
||||
%28 = fmul fast float %25, %7
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 0, float %26) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 1, float %27) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 2, float %28) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 3, float %8) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
ret void
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind readnone
|
||||
declare float @dx.op.loadInput.f32(i32, i32, i32, i8, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @dx.op.storeOutput.f32(i32, i32, i32, i8, float) #1
|
||||
|
||||
; Function Attrs: nounwind readonly
|
||||
declare %dx.types.ResRet.f32 @dx.op.sample.f32(i32, %dx.types.Handle, %dx.types.Handle, float, float, float, float, i32, i32, i32, float) #2
|
||||
|
||||
; Function Attrs: nounwind readnone
|
||||
declare float @dx.op.dot3.f32(i32, float, float, float, float, float, float) #0
|
||||
|
||||
; Function Attrs: nounwind readonly
|
||||
declare %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32, %dx.types.Handle, i32) #2
|
||||
|
||||
; Function Attrs: nounwind readonly
|
||||
declare %dx.types.Handle @dx.op.createHandle(i32, i8, i32, i32, i1) #2
|
||||
|
||||
attributes #0 = { nounwind readnone }
|
||||
attributes #1 = { nounwind }
|
||||
attributes #2 = { nounwind readonly }
|
||||
|
||||
!llvm.ident = !{!0}
|
||||
!dx.version = !{!1}
|
||||
!dx.valver = !{!2}
|
||||
!dx.shaderModel = !{!3}
|
||||
!dx.resources = !{!4}
|
||||
!dx.viewIdState = !{!13}
|
||||
!dx.entryPoints = !{!14}
|
||||
|
||||
!0 = !{!"clang version 3.7 (tags/RELEASE_370/final)"}
|
||||
!1 = !{i32 1, i32 0}
|
||||
!2 = !{i32 1, i32 6}
|
||||
!3 = !{!"ps", i32 6, i32 0}
|
||||
!4 = !{!5, null, !9, !11}
|
||||
!5 = !{!6, !8}
|
||||
!6 = !{i32 0, %"class.Texture2D<vector<float, 4> >"* undef, !"", i32 0, i32 0, i32 1, i32 2, i32 0, !7}
|
||||
!7 = !{i32 0, i32 9}
|
||||
!8 = !{i32 1, %"class.Texture2D<vector<float, 4> >"* undef, !"", i32 0, i32 1, i32 1, i32 2, i32 0, !7}
|
||||
!9 = !{!10}
|
||||
!10 = !{i32 0, %Constants* undef, !"", i32 0, i32 1, i32 1, i32 64, null}
|
||||
!11 = !{!12}
|
||||
!12 = !{i32 0, %struct.SamplerState* undef, !"", i32 0, i32 0, i32 1, i32 0, null}
|
||||
!13 = !{[14 x i32] [i32 12, i32 4, i32 0, i32 0, i32 0, i32 0, i32 7, i32 7, i32 0, i32 0, i32 1, i32 2, i32 4, i32 8]}
|
||||
!14 = !{void ()* @main, !"main", !15, !4, null}
|
||||
!15 = !{!16, !23, null}
|
||||
!16 = !{!17, !19, !21}
|
||||
!17 = !{i32 0, !"SV_Position", i8 9, i8 3, !18, i8 4, i32 1, i8 4, i32 0, i8 0, null}
|
||||
!18 = !{i32 0}
|
||||
!19 = !{i32 1, !"TEXCOORD", i8 9, i8 0, !18, i8 2, i32 1, i8 2, i32 1, i8 0, !20}
|
||||
!20 = !{i32 3, i32 3}
|
||||
!21 = !{i32 2, !"COLOR", i8 9, i8 0, !18, i8 2, i32 1, i8 4, i32 2, i8 0, !22}
|
||||
!22 = !{i32 3, i32 15}
|
||||
!23 = !{!24}
|
||||
!24 = !{i32 0, !"SV_Target", i8 9, i8 16, !18, i8 0, i32 1, i8 4, i32 0, i8 0, !22}
|
||||
|
||||
#endif
|
||||
|
||||
const unsigned char g_main[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0x94, 0xfe, 0x81, 0xa1, 0xc3, 0x3e, 0xd4, 0x89,
|
||||
0x24, 0xc6, 0xc9, 0xd6, 0x25, 0x95, 0xd8, 0x0c, 0x01, 0x00, 0x00, 0x00,
|
||||
0x29, 0x13, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0xdb, 0x00, 0x00, 0x00, 0x15, 0x01, 0x00, 0x00,
|
||||
0x49, 0x02, 0x00, 0x00, 0x05, 0x03, 0x00, 0x00, 0xc1, 0x0a, 0x00, 0x00,
|
||||
0xdd, 0x0a, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31,
|
||||
0x83, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x53, 0x56, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00,
|
||||
0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c,
|
||||
0x4f, 0x52, 0x00, 0x4f, 0x53, 0x47, 0x31, 0x32, 0x00, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
|
||||
0x00, 0x50, 0x53, 0x56, 0x30, 0x2c, 0x01, 0x00, 0x00, 0x30, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
|
||||
0xff, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x03, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x04, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
|
||||
0x00, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
|
||||
0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
|
||||
0x00, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43,
|
||||
0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x00, 0x44, 0x03, 0x03, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x42, 0x00, 0x03, 0x02, 0x00,
|
||||
0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x44,
|
||||
0x00, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x00, 0x44, 0x10, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
|
||||
0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x52, 0x54, 0x53,
|
||||
0x30, 0xb4, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
|
||||
0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x00,
|
||||
0x00, 0x1d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
|
||||
0x00, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
|
||||
0x00, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
|
||||
0x00, 0x94, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
|
||||
0xff, 0x01, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00,
|
||||
0x00, 0x9c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xff, 0xff, 0xff, 0xff, 0x53, 0x54, 0x41, 0x54, 0xb4, 0x07, 0x00,
|
||||
0x00, 0x60, 0x00, 0x00, 0x00, 0xed, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49,
|
||||
0x4c, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x9c, 0x07, 0x00,
|
||||
0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0xe4, 0x01, 0x00,
|
||||
0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00,
|
||||
0x00, 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32,
|
||||
0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b,
|
||||
0x62, 0x80, 0x18, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42, 0xc4, 0x10, 0x32,
|
||||
0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x62, 0x88, 0x48, 0x90, 0x14,
|
||||
0x20, 0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e,
|
||||
0x90, 0x11, 0x23, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5,
|
||||
0x8a, 0x04, 0x31, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00,
|
||||
0x00, 0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8,
|
||||
0x0d, 0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86,
|
||||
0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8, 0x00, 0x49, 0x18, 0x00,
|
||||
0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x42, 0x20, 0x4c, 0x08,
|
||||
0x06, 0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00, 0x51, 0x00, 0x00,
|
||||
0x00, 0x32, 0x22, 0x88, 0x09, 0x20, 0x64, 0x85, 0x04, 0x13, 0x23, 0xa4,
|
||||
0x84, 0x04, 0x13, 0x23, 0xe3, 0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8c,
|
||||
0x8c, 0x0b, 0x84, 0xc4, 0x4c, 0x10, 0x84, 0xc1, 0x08, 0x40, 0x09, 0x00,
|
||||
0x0a, 0x66, 0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00, 0x29, 0xc6, 0x40,
|
||||
0x10, 0x44, 0x41, 0x90, 0x51, 0x0c, 0x80, 0x20, 0x88, 0x62, 0x20, 0xe4,
|
||||
0xa6, 0xe1, 0xf2, 0x27, 0xec, 0x21, 0x24, 0x7f, 0x25, 0xa4, 0x95, 0x98,
|
||||
0xfc, 0xe2, 0xb6, 0x51, 0x31, 0x0c, 0xc3, 0x40, 0x50, 0x71, 0xcf, 0x70,
|
||||
0xf9, 0x13, 0xf6, 0x10, 0x92, 0x1f, 0x02, 0xcd, 0xb0, 0x10, 0x28, 0x58,
|
||||
0x0a, 0xa3, 0x10, 0x0c, 0x33, 0x0c, 0xc3, 0x40, 0x10, 0xc4, 0x40, 0x4d,
|
||||
0x41, 0x06, 0x62, 0x18, 0x86, 0x61, 0x18, 0xe8, 0x39, 0x6a, 0xb8, 0xfc,
|
||||
0x09, 0x7b, 0x08, 0xc9, 0xe7, 0x36, 0xaa, 0x58, 0x89, 0xc9, 0x2f, 0x6e,
|
||||
0x1b, 0x11, 0xc3, 0x30, 0x0c, 0x85, 0x88, 0x08, 0x86, 0x20, 0x69, 0x8e,
|
||||
0x20, 0x28, 0x06, 0x43, 0x14, 0x04, 0x41, 0x51, 0x35, 0x10, 0x30, 0x8c,
|
||||
0x40, 0x0c, 0x33, 0xb5, 0xc1, 0x38, 0xb0, 0x43, 0x38, 0xcc, 0xc3, 0x3c,
|
||||
0xb8, 0x01, 0x2d, 0x94, 0x03, 0x3e, 0xd0, 0x43, 0x3d, 0xc8, 0x43, 0x39,
|
||||
0xc8, 0x01, 0x29, 0xf0, 0x81, 0x3d, 0x94, 0xc3, 0x38, 0xd0, 0xc3, 0x3b,
|
||||
0xc8, 0x03, 0x1f, 0x98, 0x03, 0x3b, 0xbc, 0x43, 0x38, 0xd0, 0x03, 0x1b,
|
||||
0x80, 0x01, 0x1d, 0xf8, 0x01, 0x18, 0xf8, 0x81, 0x1e, 0xe8, 0x41, 0x3b,
|
||||
0xa4, 0x03, 0x3c, 0xcc, 0xc3, 0x2f, 0xd0, 0x43, 0x3e, 0xc0, 0x43, 0x39,
|
||||
0xa0, 0x80, 0x98, 0x49, 0x0c, 0xc6, 0x81, 0x1d, 0xc2, 0x61, 0x1e, 0xe6,
|
||||
0xc1, 0x0d, 0x68, 0xa1, 0x1c, 0xf0, 0x81, 0x1e, 0xea, 0x41, 0x1e, 0xca,
|
||||
0x41, 0x0e, 0x48, 0x81, 0x0f, 0xec, 0xa1, 0x1c, 0xc6, 0x81, 0x1e, 0xde,
|
||||
0x41, 0x1e, 0xf8, 0xc0, 0x1c, 0xd8, 0xe1, 0x1d, 0xc2, 0x81, 0x1e, 0xd8,
|
||||
0x00, 0x0c, 0xe8, 0xc0, 0x0f, 0xc0, 0xc0, 0x0f, 0x90, 0x80, 0x65, 0xa4,
|
||||
0x5d, 0xc2, 0x39, 0x8d, 0x34, 0x01, 0xcd, 0x24, 0x21, 0x02, 0xc3, 0x30,
|
||||
0x8c, 0xb8, 0x9b, 0xa4, 0x29, 0xa2, 0x84, 0xc9, 0x67, 0x01, 0xe6, 0x59,
|
||||
0x88, 0x88, 0x9d, 0x80, 0x89, 0x40, 0x01, 0x41, 0x5e, 0x3a, 0x10, 0x00,
|
||||
0x00, 0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87,
|
||||
0x79, 0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0,
|
||||
0x0e, 0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0,
|
||||
0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20,
|
||||
0x07, 0x6d, 0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90,
|
||||
0x0e, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30,
|
||||
0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40,
|
||||
0x07, 0x7a, 0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0,
|
||||
0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30,
|
||||
0x07, 0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40,
|
||||
0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30,
|
||||
0x07, 0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e, 0x00, 0x08, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10,
|
||||
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10,
|
||||
0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2,
|
||||
0x34, 0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30,
|
||||
0xe4, 0x79, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x60, 0xc8, 0x23, 0x01, 0x01, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xc0, 0x90, 0xa7, 0x02, 0x02, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x80, 0x2c, 0x10, 0x14, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98,
|
||||
0x18, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43,
|
||||
0x22, 0x4a, 0x60, 0x04, 0xa0, 0x18, 0x8a, 0xa0, 0x24, 0x0a, 0x30, 0xa0,
|
||||
0x0c, 0xca, 0xa1, 0x40, 0x0a, 0xa8, 0xc0, 0xca, 0xa3, 0x84, 0x0a, 0x81,
|
||||
0x8a, 0x92, 0x28, 0x83, 0x42, 0x18, 0x01, 0x28, 0x82, 0x02, 0x21, 0xaa,
|
||||
0x06, 0x68, 0x9b, 0x01, 0x20, 0x6e, 0x06, 0x80, 0xba, 0x19, 0x00, 0xfa,
|
||||
0x66, 0x00, 0x08, 0x1c, 0xcb, 0x61, 0x08, 0x00, 0x00, 0x80, 0xe3, 0x00,
|
||||
0x80, 0x40, 0x20, 0x10, 0x00, 0x79, 0x18, 0x00, 0x00, 0xaf, 0x00, 0x00,
|
||||
0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44, 0x35, 0x18, 0x63,
|
||||
0x0b, 0x73, 0x3b, 0x03, 0xb1, 0x2b, 0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x03,
|
||||
0x99, 0x71, 0xb9, 0x01, 0x41, 0xa1, 0x0b, 0x3b, 0x9b, 0x7b, 0x91, 0x2a,
|
||||
0x62, 0x2a, 0x0a, 0x9a, 0x2a, 0xfa, 0x9a, 0xb9, 0x81, 0x79, 0x31, 0x4b,
|
||||
0x73, 0x0b, 0x63, 0x4b, 0xd9, 0x10, 0x04, 0x13, 0x04, 0xe2, 0x98, 0x20,
|
||||
0x10, 0xc8, 0x06, 0x61, 0x20, 0x36, 0x08, 0x04, 0x41, 0x01, 0x6e, 0x6e,
|
||||
0x82, 0x40, 0x24, 0x1b, 0x86, 0x03, 0x21, 0x26, 0x08, 0x1b, 0xc7, 0x85,
|
||||
0x0e, 0xad, 0x8c, 0xaa, 0x0c, 0x8f, 0xae, 0x4e, 0xae, 0x2c, 0x6b, 0x82,
|
||||
0x40, 0x28, 0x13, 0x04, 0x62, 0xd9, 0x20, 0x10, 0xcd, 0x86, 0x84, 0x50,
|
||||
0x16, 0x82, 0x18, 0x18, 0xc2, 0x21, 0x43, 0x87, 0x56, 0x46, 0x55, 0x86,
|
||||
0x47, 0x57, 0x27, 0x57, 0x56, 0x65, 0xb5, 0x21, 0x19, 0x14, 0x88, 0x18,
|
||||
0x06, 0x86, 0x70, 0x36, 0x08, 0x4f, 0x34, 0x41, 0xe8, 0x3c, 0x26, 0x43,
|
||||
0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x13, 0x04, 0x82, 0xd9,
|
||||
0x80, 0x10, 0x13, 0x45, 0x0c, 0x43, 0x05, 0x6c, 0x08, 0xac, 0x09, 0xc2,
|
||||
0xf7, 0x51, 0xa1, 0x43, 0x2b, 0x9b, 0x0a, 0x6b, 0x83, 0x63, 0x2b, 0x93,
|
||||
0xdb, 0x80, 0x10, 0x58, 0x46, 0x10, 0x03, 0x01, 0x6c, 0x08, 0xb4, 0x0d,
|
||||
0x84, 0x04, 0x5c, 0xdb, 0x04, 0x81, 0xeb, 0x78, 0x64, 0xbd, 0x99, 0x99,
|
||||
0xcd, 0x95, 0xd1, 0x4d, 0x10, 0x88, 0x66, 0x82, 0x40, 0x38, 0x13, 0x04,
|
||||
0x6a, 0xdb, 0x80, 0x20, 0xde, 0x47, 0x80, 0x41, 0xd3, 0x84, 0x01, 0x0d,
|
||||
0xa9, 0xb1, 0xb7, 0x32, 0x33, 0xb3, 0x09, 0x02, 0xf1, 0x6c, 0x30, 0x90,
|
||||
0x31, 0xf8, 0xc8, 0x00, 0x0c, 0x1a, 0x1a, 0x47, 0x63, 0x6f, 0x65, 0x66,
|
||||
0x66, 0x13, 0x04, 0x02, 0xda, 0x60, 0x20, 0x66, 0xf0, 0x9d, 0x01, 0x18,
|
||||
0x34, 0x34, 0x84, 0xc6, 0xde, 0xca, 0xcc, 0xcc, 0x26, 0x08, 0x44, 0xb4,
|
||||
0xc1, 0x40, 0xd2, 0xe0, 0x53, 0x03, 0x30, 0x68, 0x36, 0x14, 0x95, 0x18,
|
||||
0x94, 0x01, 0x1a, 0xac, 0xc1, 0x86, 0x81, 0xe8, 0xd8, 0x60, 0x82, 0x20,
|
||||
0x00, 0x1b, 0x80, 0x0d, 0x03, 0xf1, 0x06, 0x6f, 0xb0, 0x21, 0x80, 0x83,
|
||||
0x0d, 0xc3, 0xe0, 0x06, 0x71, 0x30, 0x41, 0x00, 0x03, 0x30, 0xd8, 0x10,
|
||||
0xcc, 0x01, 0x89, 0xb6, 0xb0, 0x34, 0x37, 0x2e, 0x53, 0x56, 0x5f, 0x50,
|
||||
0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x13, 0x84, 0xa2, 0x9a, 0x20,
|
||||
0x14, 0xd6, 0x86, 0x80, 0x98, 0x20, 0x14, 0xd7, 0x04, 0xa1, 0xc0, 0x36,
|
||||
0x2c, 0x84, 0x1d, 0xdc, 0x01, 0x1e, 0xe4, 0x81, 0x1e, 0x0c, 0x7a, 0x40,
|
||||
0xec, 0x01, 0x40, 0x84, 0xaa, 0x08, 0x6b, 0xe8, 0xe9, 0x49, 0x8a, 0x68,
|
||||
0x82, 0x50, 0x64, 0x1b, 0x84, 0xef, 0xdb, 0xb0, 0x0c, 0x7d, 0x70, 0x07,
|
||||
0x7b, 0x90, 0x07, 0x7e, 0x30, 0xf8, 0xc1, 0xb0, 0x07, 0x7f, 0xc0, 0x62,
|
||||
0xe8, 0x89, 0xe9, 0x49, 0x6a, 0x82, 0x40, 0x48, 0x1b, 0x84, 0x4f, 0x14,
|
||||
0x36, 0x2c, 0x4c, 0x28, 0xdc, 0xc1, 0x1e, 0xe4, 0x81, 0x1f, 0x0c, 0x7a,
|
||||
0xc0, 0xec, 0xc1, 0x28, 0x6c, 0x18, 0xf8, 0x00, 0x14, 0x48, 0x81, 0xc9,
|
||||
0x94, 0xd5, 0x17, 0x55, 0x98, 0xdc, 0x59, 0x19, 0xdd, 0x04, 0xa1, 0xd0,
|
||||
0x36, 0x2c, 0x84, 0x29, 0xdc, 0xc1, 0x29, 0xe4, 0xc1, 0x1e, 0x0c, 0x7a,
|
||||
0x40, 0xec, 0xc1, 0x28, 0x6c, 0x08, 0x50, 0x61, 0xc3, 0x50, 0x0a, 0xa9,
|
||||
0x00, 0x6c, 0x28, 0xdc, 0xa0, 0x0e, 0x54, 0x81, 0x03, 0x68, 0x98, 0xb1,
|
||||
0xbd, 0x85, 0xd1, 0xcd, 0xb1, 0x48, 0x73, 0x9b, 0xa3, 0x9b, 0x9b, 0x20,
|
||||
0x10, 0x13, 0x8d, 0xb9, 0xb4, 0xb3, 0x2f, 0x36, 0x32, 0x1a, 0x73, 0x69,
|
||||
0x67, 0x5f, 0x73, 0x74, 0x13, 0x04, 0x82, 0x22, 0x42, 0x57, 0x86, 0xf7,
|
||||
0xe5, 0xf6, 0x26, 0xd7, 0xb6, 0x41, 0x61, 0x85, 0xa6, 0x15, 0x5c, 0xe1,
|
||||
0x15, 0x10, 0x58, 0x88, 0x05, 0x59, 0x60, 0xaa, 0xb0, 0xb1, 0xd9, 0xb5,
|
||||
0xb9, 0xa4, 0x91, 0x95, 0xb9, 0xd1, 0x4d, 0x09, 0x82, 0x2a, 0x64, 0x78,
|
||||
0x2e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x02, 0xa2, 0x09,
|
||||
0x19, 0x9e, 0x8b, 0x5d, 0x18, 0x9b, 0x5d, 0x99, 0xdc, 0x94, 0xa0, 0xa8,
|
||||
0x43, 0x86, 0xe7, 0x32, 0x87, 0x16, 0x46, 0x56, 0x26, 0xd7, 0xf4, 0x46,
|
||||
0x56, 0xc6, 0x36, 0x25, 0x40, 0xca, 0x90, 0xe1, 0xb9, 0xc8, 0x95, 0xcd,
|
||||
0xbd, 0xd5, 0xc9, 0x8d, 0x95, 0xcd, 0x4d, 0x09, 0xb6, 0x4a, 0x64, 0x78,
|
||||
0x2e, 0x74, 0x79, 0x70, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x73, 0x53, 0x04, 0x36, 0x88, 0x83, 0x3a, 0x64, 0x78,
|
||||
0x2e, 0x76, 0x69, 0x65, 0x77, 0x49, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65,
|
||||
0x53, 0x82, 0x39, 0xa8, 0x43, 0x86, 0xe7, 0x52, 0xe6, 0x46, 0x27, 0x97,
|
||||
0x07, 0xf5, 0x96, 0xe6, 0x46, 0x37, 0x37, 0x25, 0x50, 0x85, 0x2e, 0x64,
|
||||
0x78, 0x2e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x53, 0x02,
|
||||
0x59, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x4c, 0x00, 0x00,
|
||||
0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d,
|
||||
0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07,
|
||||
0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80,
|
||||
0x0e, 0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66,
|
||||
0x30, 0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d,
|
||||
0xc8, 0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07,
|
||||
0x7b, 0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03,
|
||||
0x76, 0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90,
|
||||
0x0e, 0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50,
|
||||
0x0e, 0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2,
|
||||
0x61, 0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39,
|
||||
0xb4, 0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14,
|
||||
0x76, 0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07,
|
||||
0x37, 0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07,
|
||||
0x76, 0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87,
|
||||
0x71, 0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0,
|
||||
0x0e, 0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8,
|
||||
0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc,
|
||||
0x61, 0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6,
|
||||
0x90, 0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39,
|
||||
0xb8, 0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f,
|
||||
0xbc, 0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x0c,
|
||||
0xc4, 0x21, 0x07, 0x7c, 0x70, 0x03, 0x7a, 0x28, 0x87, 0x76, 0x80, 0x87,
|
||||
0x19, 0xd1, 0x43, 0x0e, 0xf8, 0xe0, 0x06, 0xe4, 0x20, 0x0e, 0xe7, 0xe0,
|
||||
0x06, 0xf6, 0x10, 0x0e, 0xf2, 0xc0, 0x0e, 0xe1, 0x90, 0x0f, 0xef, 0x50,
|
||||
0x0f, 0xf4, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x1b, 0x00, 0x00,
|
||||
0x00, 0x56, 0xb0, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10, 0x50, 0x45, 0x41,
|
||||
0x44, 0xa5, 0x03, 0x0c, 0x25, 0x61, 0x00, 0x02, 0xe6, 0x17, 0xb7, 0x6d,
|
||||
0x06, 0xd2, 0x70, 0xf9, 0xce, 0xe3, 0x0b, 0x11, 0x01, 0x4c, 0x44, 0x08,
|
||||
0x34, 0xc3, 0x42, 0x18, 0x81, 0x33, 0x5c, 0xbe, 0xf3, 0xf8, 0x83, 0x33,
|
||||
0xdd, 0x7e, 0x71, 0xdb, 0x16, 0x30, 0x0d, 0x97, 0xef, 0x3c, 0xfe, 0xe2,
|
||||
0x00, 0x83, 0xd8, 0x3c, 0xd4, 0xe4, 0x17, 0xb7, 0x6d, 0x03, 0xd0, 0x70,
|
||||
0xf9, 0xce, 0xe3, 0x4b, 0x00, 0xf3, 0x2c, 0x84, 0x5f, 0xdc, 0xb6, 0x09,
|
||||
0x54, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x4d, 0x4e, 0x44, 0xa0, 0xd4, 0xf4,
|
||||
0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x01, 0x10, 0x0c, 0x80, 0x34, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x41, 0x53, 0x48, 0x14, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x31, 0x3a, 0xc8, 0x19, 0xe3, 0xb0,
|
||||
0x55, 0xfb, 0x53, 0x87, 0xb5, 0xd5, 0x99, 0xf4, 0xb2, 0x44, 0x58, 0x49,
|
||||
0x4c, 0x44, 0x08, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x11, 0x02, 0x00,
|
||||
0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00,
|
||||
0x00, 0x2c, 0x08, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00,
|
||||
0x00, 0x08, 0x02, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00,
|
||||
0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04,
|
||||
0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08,
|
||||
0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x18, 0x45, 0x02, 0x42, 0x92, 0x0b,
|
||||
0x42, 0xc4, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x62,
|
||||
0x88, 0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32,
|
||||
0x42, 0xe4, 0x48, 0x0e, 0x90, 0x11, 0x23, 0xc4, 0x50, 0x41, 0x51, 0x81,
|
||||
0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x31, 0x46, 0x06, 0x51, 0x18, 0x00,
|
||||
0x00, 0x08, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff,
|
||||
0x07, 0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03,
|
||||
0x20, 0x6d, 0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8,
|
||||
0x00, 0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60,
|
||||
0x42, 0x20, 0x4c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00,
|
||||
0x00, 0x51, 0x00, 0x00, 0x00, 0x32, 0x22, 0x88, 0x09, 0x20, 0x64, 0x85,
|
||||
0x04, 0x13, 0x23, 0xa4, 0x84, 0x04, 0x13, 0x23, 0xe3, 0x84, 0xa1, 0x90,
|
||||
0x14, 0x12, 0x4c, 0x8c, 0x8c, 0x0b, 0x84, 0xc4, 0x4c, 0x10, 0x84, 0xc1,
|
||||
0x08, 0x40, 0x09, 0x00, 0x0a, 0x66, 0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e,
|
||||
0x00, 0x29, 0xc6, 0x40, 0x10, 0x44, 0x41, 0x90, 0x51, 0x0c, 0x80, 0x20,
|
||||
0x88, 0x62, 0x20, 0xe4, 0xa6, 0xe1, 0xf2, 0x27, 0xec, 0x21, 0x24, 0x7f,
|
||||
0x25, 0xa4, 0x95, 0x98, 0xfc, 0xe2, 0xb6, 0x51, 0x31, 0x0c, 0xc3, 0x40,
|
||||
0x50, 0x71, 0xcf, 0x70, 0xf9, 0x13, 0xf6, 0x10, 0x92, 0x1f, 0x02, 0xcd,
|
||||
0xb0, 0x10, 0x28, 0x58, 0x0a, 0xa3, 0x10, 0x0c, 0x33, 0x0c, 0xc3, 0x40,
|
||||
0x10, 0xc4, 0x40, 0x4d, 0x41, 0x06, 0x62, 0x18, 0x86, 0x61, 0x18, 0xe8,
|
||||
0x39, 0x6a, 0xb8, 0xfc, 0x09, 0x7b, 0x08, 0xc9, 0xe7, 0x36, 0xaa, 0x58,
|
||||
0x89, 0xc9, 0x2f, 0x6e, 0x1b, 0x11, 0xc3, 0x30, 0x0c, 0x85, 0x88, 0x08,
|
||||
0x86, 0x20, 0x69, 0x8e, 0x20, 0x28, 0x06, 0x43, 0x14, 0x04, 0x41, 0x51,
|
||||
0x35, 0x10, 0x30, 0x8c, 0x40, 0x0c, 0x33, 0xb5, 0xc1, 0x38, 0xb0, 0x43,
|
||||
0x38, 0xcc, 0xc3, 0x3c, 0xb8, 0x01, 0x2d, 0x94, 0x03, 0x3e, 0xd0, 0x43,
|
||||
0x3d, 0xc8, 0x43, 0x39, 0xc8, 0x01, 0x29, 0xf0, 0x81, 0x3d, 0x94, 0xc3,
|
||||
0x38, 0xd0, 0xc3, 0x3b, 0xc8, 0x03, 0x1f, 0x98, 0x03, 0x3b, 0xbc, 0x43,
|
||||
0x38, 0xd0, 0x03, 0x1b, 0x80, 0x01, 0x1d, 0xf8, 0x01, 0x18, 0xf8, 0x81,
|
||||
0x1e, 0xe8, 0x41, 0x3b, 0xa4, 0x03, 0x3c, 0xcc, 0xc3, 0x2f, 0xd0, 0x43,
|
||||
0x3e, 0xc0, 0x43, 0x39, 0xa0, 0x80, 0x98, 0x49, 0x0c, 0xc6, 0x81, 0x1d,
|
||||
0xc2, 0x61, 0x1e, 0xe6, 0xc1, 0x0d, 0x68, 0xa1, 0x1c, 0xf0, 0x81, 0x1e,
|
||||
0xea, 0x41, 0x1e, 0xca, 0x41, 0x0e, 0x48, 0x81, 0x0f, 0xec, 0xa1, 0x1c,
|
||||
0xc6, 0x81, 0x1e, 0xde, 0x41, 0x1e, 0xf8, 0xc0, 0x1c, 0xd8, 0xe1, 0x1d,
|
||||
0xc2, 0x81, 0x1e, 0xd8, 0x00, 0x0c, 0xe8, 0xc0, 0x0f, 0xc0, 0xc0, 0x0f,
|
||||
0x90, 0x80, 0x65, 0xa4, 0x5d, 0xc2, 0x39, 0x8d, 0x34, 0x01, 0xcd, 0x24,
|
||||
0x21, 0x02, 0xc3, 0x30, 0x8c, 0xb8, 0x9b, 0xa4, 0x29, 0xa2, 0x84, 0xc9,
|
||||
0x67, 0x01, 0xe6, 0x59, 0x88, 0x88, 0x9d, 0x80, 0x89, 0x40, 0x01, 0x41,
|
||||
0x5e, 0x3a, 0x10, 0x00, 0x00, 0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60,
|
||||
0x87, 0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf,
|
||||
0x50, 0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a,
|
||||
0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71,
|
||||
0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73,
|
||||
0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72,
|
||||
0xd0, 0x06, 0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
|
||||
0x90, 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6,
|
||||
0x10, 0x07, 0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73,
|
||||
0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74,
|
||||
0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71,
|
||||
0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43,
|
||||
0x9e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x86, 0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x0c, 0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x30, 0xe4, 0x79, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x60, 0xc8, 0x23, 0x01, 0x01, 0x30, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x90, 0xa7, 0x02, 0x02, 0x60, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x2c, 0x10, 0x11, 0x00, 0x00,
|
||||
0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26,
|
||||
0x47, 0xc6, 0x04, 0x43, 0x22, 0x4a, 0x60, 0x04, 0xa0, 0x18, 0x8a, 0xa0,
|
||||
0x24, 0x0a, 0x30, 0xa0, 0x0c, 0xca, 0x83, 0x8a, 0x92, 0x28, 0x83, 0x42,
|
||||
0x18, 0x01, 0x28, 0x82, 0x02, 0xa1, 0x6d, 0x06, 0x80, 0xba, 0x19, 0x00,
|
||||
0xfa, 0x66, 0x00, 0x08, 0x1c, 0xcb, 0x61, 0x08, 0x00, 0x00, 0x80, 0xe3,
|
||||
0x00, 0x80, 0x40, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00,
|
||||
0x00, 0x6d, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13,
|
||||
0x44, 0x35, 0x18, 0x63, 0x0b, 0x73, 0x3b, 0x03, 0xb1, 0x2b, 0x93, 0x9b,
|
||||
0x4b, 0x7b, 0x73, 0x03, 0x99, 0x71, 0xb9, 0x01, 0x41, 0xa1, 0x0b, 0x3b,
|
||||
0x9b, 0x7b, 0x91, 0x2a, 0x62, 0x2a, 0x0a, 0x9a, 0x2a, 0xfa, 0x9a, 0xb9,
|
||||
0x81, 0x79, 0x31, 0x4b, 0x73, 0x0b, 0x63, 0x4b, 0xd9, 0x10, 0x04, 0x13,
|
||||
0x04, 0xe2, 0x98, 0x20, 0x10, 0xc8, 0x06, 0x61, 0x20, 0x26, 0x08, 0x44,
|
||||
0xb2, 0x41, 0x18, 0x0c, 0x0a, 0x70, 0x73, 0x1b, 0x06, 0xc4, 0x20, 0x26,
|
||||
0x08, 0x5b, 0x45, 0x60, 0x82, 0x40, 0x28, 0x13, 0x04, 0x62, 0xd9, 0x20,
|
||||
0x10, 0xcd, 0x86, 0x84, 0x50, 0x16, 0x82, 0x18, 0x18, 0xc2, 0xd9, 0x90,
|
||||
0x0c, 0xca, 0x42, 0x0c, 0x03, 0x43, 0x38, 0x1b, 0x84, 0x07, 0x9a, 0x20,
|
||||
0x74, 0xd6, 0x04, 0x81, 0x60, 0x36, 0x20, 0x84, 0xb4, 0x10, 0xc3, 0x30,
|
||||
0x01, 0x1b, 0x02, 0x6a, 0x82, 0xf0, 0x5d, 0x1b, 0x10, 0xc2, 0x5a, 0x08,
|
||||
0x62, 0x20, 0x80, 0x0d, 0xc1, 0xb5, 0x81, 0x88, 0x80, 0x0a, 0x9b, 0x20,
|
||||
0x80, 0x01, 0xb6, 0x21, 0xd0, 0x26, 0x08, 0x02, 0x40, 0xa2, 0x2d, 0x2c,
|
||||
0xcd, 0x8d, 0xcb, 0x94, 0xd5, 0x17, 0xd4, 0xdb, 0x5c, 0x1a, 0x5d, 0xda,
|
||||
0x9b, 0xdb, 0x04, 0xa1, 0x78, 0x26, 0x08, 0x05, 0xb4, 0x21, 0x20, 0x26,
|
||||
0x08, 0x45, 0x34, 0x41, 0x28, 0xa4, 0x0d, 0x0b, 0xe1, 0x7d, 0x60, 0x10,
|
||||
0x06, 0x62, 0x30, 0x88, 0x01, 0x31, 0x06, 0x00, 0x11, 0xaa, 0x22, 0xac,
|
||||
0xa1, 0xa7, 0x27, 0x29, 0xa2, 0x09, 0x42, 0x31, 0x4d, 0x10, 0x88, 0x66,
|
||||
0x83, 0x70, 0x06, 0x67, 0xb0, 0x61, 0x19, 0xca, 0xe0, 0x1b, 0x83, 0x30,
|
||||
0x30, 0x83, 0xc1, 0x0c, 0x86, 0x31, 0x40, 0x03, 0x16, 0x43, 0x4f, 0x4c,
|
||||
0x4f, 0x52, 0x13, 0x04, 0xc2, 0xd9, 0x20, 0x9c, 0xc1, 0x1a, 0x6c, 0x58,
|
||||
0x18, 0x35, 0xf8, 0xc6, 0x20, 0x0c, 0xcc, 0x60, 0x10, 0x03, 0x66, 0x0c,
|
||||
0xd8, 0x60, 0xc3, 0x40, 0x06, 0x69, 0xd0, 0x06, 0x4c, 0xa6, 0xac, 0xbe,
|
||||
0xa8, 0xc2, 0xe4, 0xce, 0xca, 0xe8, 0x26, 0x08, 0x05, 0xb5, 0x61, 0x21,
|
||||
0xde, 0xe0, 0x83, 0x83, 0x30, 0x18, 0x83, 0x41, 0x0c, 0x88, 0x31, 0x60,
|
||||
0x83, 0x0d, 0x41, 0x1c, 0x6c, 0x18, 0xdc, 0x40, 0x0e, 0x80, 0x0d, 0x05,
|
||||
0xd7, 0xcd, 0x41, 0x06, 0x54, 0x61, 0x63, 0xb3, 0x6b, 0x73, 0x49, 0x23,
|
||||
0x2b, 0x73, 0xa3, 0x9b, 0x12, 0x04, 0x55, 0xc8, 0xf0, 0x5c, 0xec, 0xca,
|
||||
0xe4, 0xe6, 0xd2, 0xde, 0xdc, 0xa6, 0x04, 0x44, 0x13, 0x32, 0x3c, 0x17,
|
||||
0xbb, 0x30, 0x36, 0xbb, 0x32, 0xb9, 0x29, 0x81, 0x51, 0x87, 0x0c, 0xcf,
|
||||
0x65, 0x0e, 0x2d, 0x8c, 0xac, 0x4c, 0xae, 0xe9, 0x8d, 0xac, 0x8c, 0x6d,
|
||||
0x4a, 0x80, 0x94, 0x21, 0xc3, 0x73, 0x91, 0x2b, 0x9b, 0x7b, 0xab, 0x93,
|
||||
0x1b, 0x2b, 0x9b, 0x9b, 0x12, 0x60, 0x75, 0xc8, 0xf0, 0x5c, 0xec, 0xd2,
|
||||
0xca, 0xee, 0x92, 0xc8, 0xa6, 0xe8, 0xc2, 0xe8, 0xca, 0xa6, 0x04, 0x5a,
|
||||
0x1d, 0x32, 0x3c, 0x97, 0x32, 0x37, 0x3a, 0xb9, 0x3c, 0xa8, 0xb7, 0x34,
|
||||
0x37, 0xba, 0xb9, 0x29, 0xc1, 0x1c, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00,
|
||||
0x00, 0x4c, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c,
|
||||
0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80,
|
||||
0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed,
|
||||
0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d,
|
||||
0xce, 0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83,
|
||||
0x1b, 0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78,
|
||||
0x8c, 0x74, 0x70, 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70,
|
||||
0x07, 0x7a, 0x70, 0x03, 0x76, 0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc,
|
||||
0x11, 0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3,
|
||||
0xf0, 0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c,
|
||||
0xd8, 0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83,
|
||||
0x3b, 0xd0, 0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03,
|
||||
0x3b, 0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68,
|
||||
0x87, 0x72, 0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60,
|
||||
0x07, 0x76, 0x28, 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80,
|
||||
0x87, 0x5f, 0x08, 0x87, 0x71, 0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98,
|
||||
0x81, 0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec,
|
||||
0x30, 0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c,
|
||||
0xe4, 0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d,
|
||||
0xca, 0x61, 0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43,
|
||||
0x39, 0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03,
|
||||
0x3b, 0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03,
|
||||
0x3b, 0xb0, 0xc3, 0x0c, 0xc4, 0x21, 0x07, 0x7c, 0x70, 0x03, 0x7a, 0x28,
|
||||
0x87, 0x76, 0x80, 0x87, 0x19, 0xd1, 0x43, 0x0e, 0xf8, 0xe0, 0x06, 0xe4,
|
||||
0x20, 0x0e, 0xe7, 0xe0, 0x06, 0xf6, 0x10, 0x0e, 0xf2, 0xc0, 0x0e, 0xe1,
|
||||
0x90, 0x0f, 0xef, 0x50, 0x0f, 0xf4, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00,
|
||||
0x00, 0x1b, 0x00, 0x00, 0x00, 0x56, 0xb0, 0x0d, 0x97, 0xef, 0x3c, 0xbe,
|
||||
0x10, 0x50, 0x45, 0x41, 0x44, 0xa5, 0x03, 0x0c, 0x25, 0x61, 0x00, 0x02,
|
||||
0xe6, 0x17, 0xb7, 0x6d, 0x06, 0xd2, 0x70, 0xf9, 0xce, 0xe3, 0x0b, 0x11,
|
||||
0x01, 0x4c, 0x44, 0x08, 0x34, 0xc3, 0x42, 0x18, 0x81, 0x33, 0x5c, 0xbe,
|
||||
0xf3, 0xf8, 0x83, 0x33, 0xdd, 0x7e, 0x71, 0xdb, 0x16, 0x30, 0x0d, 0x97,
|
||||
0xef, 0x3c, 0xfe, 0xe2, 0x00, 0x83, 0xd8, 0x3c, 0xd4, 0xe4, 0x17, 0xb7,
|
||||
0x6d, 0x03, 0xd0, 0x70, 0xf9, 0xce, 0xe3, 0x4b, 0x00, 0xf3, 0x2c, 0x84,
|
||||
0x5f, 0xdc, 0xb6, 0x09, 0x54, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x4d, 0x4e,
|
||||
0x44, 0xa0, 0xd4, 0xf4, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x01, 0x10, 0x0c,
|
||||
0x80, 0x34, 0x00, 0x00, 0x00, 0x61, 0x20, 0x00, 0x00, 0x67, 0x00, 0x00,
|
||||
0x00, 0x13, 0x04, 0x41, 0x2c, 0x10, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00,
|
||||
0x00, 0x44, 0x8d, 0x00, 0x50, 0x51, 0x02, 0x44, 0x94, 0x5d, 0xe1, 0x95,
|
||||
0x5b, 0x29, 0x94, 0xdc, 0x0c, 0x40, 0x21, 0xd0, 0x30, 0x46, 0x50, 0x9e,
|
||||
0x74, 0xe9, 0x7f, 0x63, 0x04, 0xa2, 0x3e, 0xb7, 0xf3, 0x2f, 0x8c, 0x11,
|
||||
0x80, 0xef, 0x0a, 0xae, 0xbf, 0x30, 0x46, 0xc0, 0x97, 0xbd, 0xb9, 0x7f,
|
||||
0x23, 0x00, 0x63, 0x04, 0x20, 0x08, 0x82, 0xf8, 0x37, 0x03, 0x00, 0x00,
|
||||
0x00, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x50, 0x8d, 0x81, 0x72, 0x89,
|
||||
0x81, 0x18, 0x40, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x50, 0x91, 0xc1,
|
||||
0x82, 0x89, 0x81, 0x18, 0x44, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x50,
|
||||
0x95, 0x01, 0xb3, 0x8d, 0xc1, 0x18, 0x48, 0x23, 0x06, 0x09, 0x00, 0x82,
|
||||
0x60, 0x50, 0x99, 0x41, 0x93, 0x91, 0x41, 0x19, 0x4c, 0x23, 0x06, 0x09,
|
||||
0x00, 0x82, 0x60, 0x60, 0xb0, 0x01, 0x33, 0x06, 0x65, 0xb0, 0x35, 0x23,
|
||||
0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0xb4, 0x41, 0x43, 0x06, 0x66, 0x40,
|
||||
0x39, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0xb8, 0x81, 0x53, 0x06,
|
||||
0x67, 0xc0, 0x3d, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0xbc, 0xc1,
|
||||
0x63, 0x06, 0x68, 0x00, 0x06, 0xd0, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18,
|
||||
0x18, 0x70, 0x00, 0xa9, 0x41, 0x1a, 0x7c, 0xd1, 0x88, 0x41, 0x02, 0x80,
|
||||
0x20, 0x18, 0x18, 0x71, 0x10, 0xad, 0x81, 0x1a, 0x60, 0xd2, 0x88, 0xc1,
|
||||
0x03, 0x80, 0x20, 0x18, 0x34, 0x70, 0x70, 0x25, 0x88, 0x10, 0x2c, 0xcb,
|
||||
0x1a, 0xac, 0xc1, 0xb4, 0x8c, 0x26, 0x04, 0xc0, 0x88, 0xc1, 0x03, 0x80,
|
||||
0x20, 0x18, 0x34, 0x72, 0x90, 0x31, 0x0a, 0x31, 0x34, 0x4d, 0x1b, 0xb4,
|
||||
0x41, 0xd5, 0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c, 0x18, 0x1c,
|
||||
0x00, 0x08, 0x82, 0x81, 0x34, 0x07, 0x1d, 0x03, 0x07, 0xa3, 0x09, 0x01,
|
||||
0x30, 0x9a, 0x20, 0x04, 0xa3, 0x09, 0x83, 0x60, 0x03, 0x02, 0x1f, 0x1b,
|
||||
0x0c, 0xf8, 0xd8, 0x80, 0xc0, 0x67, 0xc4, 0x60, 0x01, 0x40, 0x10, 0x0c,
|
||||
0x9e, 0x3d, 0x10, 0x83, 0x41, 0x08, 0xb0, 0x4c, 0x1b, 0x31, 0x58, 0x00,
|
||||
0x10, 0x04, 0x83, 0x87, 0x0f, 0xc6, 0x80, 0x18, 0x84, 0x8c, 0xeb, 0x46,
|
||||
0x0c, 0x16, 0x00, 0x04, 0xc1, 0xe0, 0xe9, 0x03, 0x32, 0x28, 0x88, 0x41,
|
||||
0xfb, 0x36, 0x1b, 0x2a, 0xf9, 0xd8, 0x50, 0xc9, 0xc7, 0x86, 0x4a, 0x3e,
|
||||
0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x80, 0x8c, 0xc2, 0x19, 0xf4, 0x41,
|
||||
0x1f, 0xcc, 0xc1, 0x30, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0xc8, 0x28,
|
||||
0x9c, 0x41, 0x1f, 0xf4, 0xc1, 0x1a, 0x08, 0x23, 0x06, 0x09, 0x00, 0x82,
|
||||
0x60, 0x80, 0x8c, 0xc2, 0x19, 0xf4, 0x41, 0x1f, 0xc8, 0x41, 0x30, 0x62,
|
||||
0x90, 0x00, 0x20, 0x08, 0x06, 0xc8, 0x28, 0x9c, 0x41, 0x1f, 0xf4, 0x41,
|
||||
0x1d, 0x54, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
52
src/render/direct3d12/D3D12_PixelShader_NV21.hlsl
Normal file
52
src/render/direct3d12/D3D12_PixelShader_NV21.hlsl
Normal file
|
@ -0,0 +1,52 @@
|
|||
Texture2D theTextureY : register(t0);
|
||||
Texture2D theTextureUV : register(t1);
|
||||
SamplerState theSampler : register(s0);
|
||||
|
||||
struct PixelShaderInput
|
||||
{
|
||||
float4 pos : SV_POSITION;
|
||||
float2 tex : TEXCOORD0;
|
||||
float4 color : COLOR0;
|
||||
};
|
||||
|
||||
cbuffer Constants : register(b1)
|
||||
{
|
||||
float4 Yoffset;
|
||||
float4 Rcoeff;
|
||||
float4 Gcoeff;
|
||||
float4 Bcoeff;
|
||||
};
|
||||
|
||||
|
||||
#define NVRS \
|
||||
"RootFlags ( ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT |" \
|
||||
" DENY_DOMAIN_SHADER_ROOT_ACCESS |" \
|
||||
" DENY_GEOMETRY_SHADER_ROOT_ACCESS |" \
|
||||
" DENY_HULL_SHADER_ROOT_ACCESS )," \
|
||||
"RootConstants(num32BitConstants=16, b1),"\
|
||||
"DescriptorTable ( SRV(t0), visibility = SHADER_VISIBILITY_PIXEL ),"\
|
||||
"DescriptorTable ( SRV(t1), visibility = SHADER_VISIBILITY_PIXEL ),"\
|
||||
"DescriptorTable ( Sampler(s0), visibility = SHADER_VISIBILITY_PIXEL )"
|
||||
|
||||
[RootSignature(NVRS)]
|
||||
float4 main(PixelShaderInput input) : SV_TARGET
|
||||
{
|
||||
const float3 offset = {0.0, -0.501960814, -0.501960814};
|
||||
const float3 Rcoeff = {1.0000, 0.0000, 1.4020};
|
||||
const float3 Gcoeff = {1.0000, -0.3441, -0.7141};
|
||||
const float3 Bcoeff = {1.0000, 1.7720, 0.0000};
|
||||
|
||||
float4 Output;
|
||||
|
||||
float3 yuv;
|
||||
yuv.x = theTextureY.Sample(theSampler, input.tex).r;
|
||||
yuv.yz = theTextureUV.Sample(theSampler, input.tex).gr;
|
||||
|
||||
yuv += Yoffset.xyz;
|
||||
Output.r = dot(yuv, Rcoeff.xyz);
|
||||
Output.g = dot(yuv, Gcoeff.xyz);
|
||||
Output.b = dot(yuv, Bcoeff.xyz);
|
||||
Output.a = 1.0f;
|
||||
|
||||
return Output * input.color;
|
||||
}
|
495
src/render/direct3d12/D3D12_PixelShader_Textures.h
Executable file
495
src/render/direct3d12/D3D12_PixelShader_Textures.h
Executable file
|
@ -0,0 +1,495 @@
|
|||
#if 0
|
||||
;
|
||||
; Input signature:
|
||||
;
|
||||
; Name Index Mask Register SysValue Format Used
|
||||
; -------------------- ----- ------ -------- -------- ------- ------
|
||||
; SV_Position 0 xyzw 0 POS float
|
||||
; TEXCOORD 0 xy 1 NONE float xy
|
||||
; COLOR 0 xyzw 2 NONE float xyzw
|
||||
;
|
||||
;
|
||||
; Output signature:
|
||||
;
|
||||
; Name Index Mask Register SysValue Format Used
|
||||
; -------------------- ----- ------ -------- -------- ------- ------
|
||||
; SV_Target 0 xyzw 0 TARGET float xyzw
|
||||
;
|
||||
; shader hash: 0ba4517fb43e6ae504662e738043f2b2
|
||||
;
|
||||
; Pipeline Runtime Information:
|
||||
;
|
||||
; Pixel Shader
|
||||
; DepthOutput=0
|
||||
; SampleFrequency=0
|
||||
;
|
||||
;
|
||||
; Input signature:
|
||||
;
|
||||
; Name Index InterpMode DynIdx
|
||||
; -------------------- ----- ---------------------- ------
|
||||
; SV_Position 0 noperspective
|
||||
; TEXCOORD 0 linear
|
||||
; COLOR 0 linear
|
||||
;
|
||||
; Output signature:
|
||||
;
|
||||
; Name Index InterpMode DynIdx
|
||||
; -------------------- ----- ---------------------- ------
|
||||
; SV_Target 0
|
||||
;
|
||||
; Buffer Definitions:
|
||||
;
|
||||
;
|
||||
; Resource Bindings:
|
||||
;
|
||||
; Name Type Format Dim ID HLSL Bind Count
|
||||
; ------------------------------ ---------- ------- ----------- ------- -------------- ------
|
||||
; theSampler sampler NA NA S0 s0 1
|
||||
; theTexture texture f32 2d T0 t0 1
|
||||
;
|
||||
;
|
||||
; ViewId state:
|
||||
;
|
||||
; Number of inputs: 12, outputs: 4
|
||||
; Outputs dependent on ViewId: { }
|
||||
; Inputs contributing to computation of Outputs:
|
||||
; output 0 depends on inputs: { 4, 5, 8 }
|
||||
; output 1 depends on inputs: { 4, 5, 9 }
|
||||
; output 2 depends on inputs: { 4, 5, 10 }
|
||||
; output 3 depends on inputs: { 4, 5, 11 }
|
||||
;
|
||||
target datalayout = "e-m:e-p:32:32-i1:32-i8:32-i16:32-i32:32-i64:64-f16:32-f32:32-f64:64-n8:16:32:64"
|
||||
target triple = "dxil-ms-dx"
|
||||
|
||||
%dx.types.Handle = type { i8* }
|
||||
%dx.types.ResRet.f32 = type { float, float, float, float, i32 }
|
||||
%"class.Texture2D<vector<float, 4> >" = type { <4 x float>, %"class.Texture2D<vector<float, 4> >::mips_type" }
|
||||
%"class.Texture2D<vector<float, 4> >::mips_type" = type { i32 }
|
||||
%struct.SamplerState = type { i32 }
|
||||
|
||||
define void @main() {
|
||||
%1 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 0, i32 0, i32 0, i1 false) ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
|
||||
%2 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 3, i32 0, i32 0, i1 false) ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
|
||||
%3 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 0, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%4 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 1, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%5 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 2, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%6 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 3, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%7 = call float @dx.op.loadInput.f32(i32 4, i32 1, i32 0, i8 0, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%8 = call float @dx.op.loadInput.f32(i32 4, i32 1, i32 0, i8 1, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%9 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %1, %dx.types.Handle %2, float %7, float %8, float undef, float undef, i32 0, i32 0, i32 undef, float undef) ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
|
||||
%10 = extractvalue %dx.types.ResRet.f32 %9, 0
|
||||
%11 = extractvalue %dx.types.ResRet.f32 %9, 1
|
||||
%12 = extractvalue %dx.types.ResRet.f32 %9, 2
|
||||
%13 = extractvalue %dx.types.ResRet.f32 %9, 3
|
||||
%14 = fmul fast float %10, %3
|
||||
%15 = fmul fast float %11, %4
|
||||
%16 = fmul fast float %12, %5
|
||||
%17 = fmul fast float %13, %6
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 0, float %14) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 1, float %15) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 2, float %16) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 3, float %17) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
ret void
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind readnone
|
||||
declare float @dx.op.loadInput.f32(i32, i32, i32, i8, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @dx.op.storeOutput.f32(i32, i32, i32, i8, float) #1
|
||||
|
||||
; Function Attrs: nounwind readonly
|
||||
declare %dx.types.ResRet.f32 @dx.op.sample.f32(i32, %dx.types.Handle, %dx.types.Handle, float, float, float, float, i32, i32, i32, float) #2
|
||||
|
||||
; Function Attrs: nounwind readonly
|
||||
declare %dx.types.Handle @dx.op.createHandle(i32, i8, i32, i32, i1) #2
|
||||
|
||||
attributes #0 = { nounwind readnone }
|
||||
attributes #1 = { nounwind }
|
||||
attributes #2 = { nounwind readonly }
|
||||
|
||||
!llvm.ident = !{!0}
|
||||
!dx.version = !{!1}
|
||||
!dx.valver = !{!2}
|
||||
!dx.shaderModel = !{!3}
|
||||
!dx.resources = !{!4}
|
||||
!dx.viewIdState = !{!10}
|
||||
!dx.entryPoints = !{!11}
|
||||
|
||||
!0 = !{!"clang version 3.7 (tags/RELEASE_370/final)"}
|
||||
!1 = !{i32 1, i32 0}
|
||||
!2 = !{i32 1, i32 6}
|
||||
!3 = !{!"ps", i32 6, i32 0}
|
||||
!4 = !{!5, null, null, !8}
|
||||
!5 = !{!6}
|
||||
!6 = !{i32 0, %"class.Texture2D<vector<float, 4> >"* undef, !"", i32 0, i32 0, i32 1, i32 2, i32 0, !7}
|
||||
!7 = !{i32 0, i32 9}
|
||||
!8 = !{!9}
|
||||
!9 = !{i32 0, %struct.SamplerState* undef, !"", i32 0, i32 0, i32 1, i32 0, null}
|
||||
!10 = !{[14 x i32] [i32 12, i32 4, i32 0, i32 0, i32 0, i32 0, i32 15, i32 15, i32 0, i32 0, i32 1, i32 2, i32 4, i32 8]}
|
||||
!11 = !{void ()* @main, !"main", !12, !4, null}
|
||||
!12 = !{!13, !20, null}
|
||||
!13 = !{!14, !16, !18}
|
||||
!14 = !{i32 0, !"SV_Position", i8 9, i8 3, !15, i8 4, i32 1, i8 4, i32 0, i8 0, null}
|
||||
!15 = !{i32 0}
|
||||
!16 = !{i32 1, !"TEXCOORD", i8 9, i8 0, !15, i8 2, i32 1, i8 2, i32 1, i8 0, !17}
|
||||
!17 = !{i32 3, i32 3}
|
||||
!18 = !{i32 2, !"COLOR", i8 9, i8 0, !15, i8 2, i32 1, i8 4, i32 2, i8 0, !19}
|
||||
!19 = !{i32 3, i32 15}
|
||||
!20 = !{!21}
|
||||
!21 = !{i32 0, !"SV_Target", i8 9, i8 16, !15, i8 0, i32 1, i8 4, i32 0, i8 0, !19}
|
||||
|
||||
#endif
|
||||
|
||||
const unsigned char g_main[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0xa1, 0x3b, 0x6e, 0x99, 0x90, 0x57, 0xa0, 0x7c,
|
||||
0x33, 0x2f, 0x20, 0x49, 0x0f, 0x51, 0xde, 0x28, 0x01, 0x00, 0x00, 0x00,
|
||||
0x51, 0x10, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0xdb, 0x00, 0x00, 0x00, 0x15, 0x01, 0x00, 0x00,
|
||||
0x19, 0x02, 0x00, 0x00, 0xa9, 0x02, 0x00, 0x00, 0x41, 0x09, 0x00, 0x00,
|
||||
0x5d, 0x09, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31,
|
||||
0x83, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x53, 0x56, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00,
|
||||
0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c,
|
||||
0x4f, 0x52, 0x00, 0x4f, 0x53, 0x47, 0x31, 0x32, 0x00, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
|
||||
0x00, 0x50, 0x53, 0x56, 0x30, 0xfc, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
|
||||
0xff, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x03, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
|
||||
0x00, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43,
|
||||
0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x00, 0x44, 0x03, 0x03, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x42, 0x00, 0x03, 0x02, 0x00,
|
||||
0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x44,
|
||||
0x00, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x00, 0x44, 0x10, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
|
||||
0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x52, 0x54, 0x53,
|
||||
0x30, 0x88, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
|
||||
0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00,
|
||||
0x00, 0x1d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
|
||||
0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
|
||||
0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
|
||||
0xff, 0x01, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
|
||||
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x53, 0x54, 0x41,
|
||||
0x54, 0x90, 0x06, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xa4, 0x01, 0x00,
|
||||
0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00,
|
||||
0x00, 0x78, 0x06, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00,
|
||||
0x00, 0x9b, 0x01, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00,
|
||||
0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04,
|
||||
0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08,
|
||||
0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02, 0x42, 0x92, 0x0b,
|
||||
0x42, 0xa4, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x52,
|
||||
0x88, 0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32,
|
||||
0x42, 0xe4, 0x48, 0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50, 0x41, 0x51, 0x81,
|
||||
0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06, 0x51, 0x18, 0x00,
|
||||
0x00, 0x08, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff,
|
||||
0x07, 0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03,
|
||||
0x20, 0x6d, 0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8,
|
||||
0x00, 0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60,
|
||||
0x42, 0x20, 0x4c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00,
|
||||
0x00, 0x43, 0x00, 0x00, 0x00, 0x32, 0x22, 0x48, 0x09, 0x20, 0x64, 0x85,
|
||||
0x04, 0x93, 0x22, 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3, 0x84, 0xa1, 0x90,
|
||||
0x14, 0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x68, 0x23,
|
||||
0x00, 0x25, 0x00, 0x14, 0x66, 0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00,
|
||||
0x29, 0xc6, 0x20, 0x84, 0x14, 0x42, 0xa6, 0x18, 0x80, 0x10, 0x52, 0x06,
|
||||
0xa1, 0x9b, 0x86, 0xcb, 0x9f, 0xb0, 0x87, 0x90, 0xfc, 0x95, 0x90, 0x56,
|
||||
0x62, 0xf2, 0x8b, 0xdb, 0x46, 0xc5, 0x18, 0x63, 0x10, 0x2a, 0xf7, 0x0c,
|
||||
0x97, 0x3f, 0x61, 0x0f, 0x21, 0xf9, 0x21, 0xd0, 0x0c, 0x0b, 0x81, 0x82,
|
||||
0x55, 0x18, 0x45, 0x18, 0x1b, 0x63, 0x0c, 0x42, 0xc8, 0xa0, 0x36, 0x47,
|
||||
0x10, 0x14, 0x83, 0x91, 0x42, 0xc8, 0x23, 0x38, 0x10, 0x30, 0x8c, 0x40,
|
||||
0x0c, 0x33, 0xb5, 0xc1, 0x38, 0xb0, 0x43, 0x38, 0xcc, 0xc3, 0x3c, 0xb8,
|
||||
0x01, 0x2d, 0x94, 0x03, 0x3e, 0xd0, 0x43, 0x3d, 0xc8, 0x43, 0x39, 0xc8,
|
||||
0x01, 0x29, 0xf0, 0x81, 0x3d, 0x94, 0xc3, 0x38, 0xd0, 0xc3, 0x3b, 0xc8,
|
||||
0x03, 0x1f, 0x98, 0x03, 0x3b, 0xbc, 0x43, 0x38, 0xd0, 0x03, 0x1b, 0x80,
|
||||
0x01, 0x1d, 0xf8, 0x01, 0x18, 0xf8, 0x81, 0x1e, 0xe8, 0x41, 0x3b, 0xa4,
|
||||
0x03, 0x3c, 0xcc, 0xc3, 0x2f, 0xd0, 0x43, 0x3e, 0xc0, 0x43, 0x39, 0xa0,
|
||||
0x80, 0xcc, 0x24, 0x06, 0xe3, 0xc0, 0x0e, 0xe1, 0x30, 0x0f, 0xf3, 0xe0,
|
||||
0x06, 0xb4, 0x50, 0x0e, 0xf8, 0x40, 0x0f, 0xf5, 0x20, 0x0f, 0xe5, 0x20,
|
||||
0x07, 0xa4, 0xc0, 0x07, 0xf6, 0x50, 0x0e, 0xe3, 0x40, 0x0f, 0xef, 0x20,
|
||||
0x0f, 0x7c, 0x60, 0x0e, 0xec, 0xf0, 0x0e, 0xe1, 0x40, 0x0f, 0x6c, 0x00,
|
||||
0x06, 0x74, 0xe0, 0x07, 0x60, 0xe0, 0x07, 0x48, 0x98, 0x94, 0xea, 0x4d,
|
||||
0xd2, 0x14, 0x51, 0xc2, 0xe4, 0xb3, 0x00, 0xf3, 0x2c, 0x44, 0xc4, 0x4e,
|
||||
0xc0, 0x44, 0xa0, 0x80, 0xd0, 0x4d, 0x07, 0x02, 0x00, 0x13, 0x14, 0x72,
|
||||
0xc0, 0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72,
|
||||
0xc0, 0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e,
|
||||
0x6d, 0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07,
|
||||
0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e,
|
||||
0x78, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07,
|
||||
0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07,
|
||||
0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07,
|
||||
0x74, 0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0, 0x07, 0x73, 0x20, 0x07,
|
||||
0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06,
|
||||
0xe6, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e,
|
||||
0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07,
|
||||
0x76, 0x40, 0x07, 0x43, 0x9e, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10, 0x20, 0x00, 0x04, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4, 0x81, 0x80, 0x00,
|
||||
0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0b, 0x04, 0x00,
|
||||
0x00, 0x10, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c,
|
||||
0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22, 0x25, 0x30, 0x02,
|
||||
0x50, 0x0c, 0x45, 0x50, 0x12, 0x65, 0x50, 0x1e, 0x85, 0x50, 0x2c, 0x54,
|
||||
0x4a, 0xa2, 0x0c, 0x0a, 0x61, 0x04, 0xa0, 0x08, 0x0a, 0x84, 0xec, 0x0c,
|
||||
0x00, 0xe1, 0x19, 0x00, 0xca, 0x63, 0x39, 0x0c, 0x01, 0x00, 0x00, 0xf0,
|
||||
0x3c, 0x00, 0x10, 0x08, 0x04, 0x02, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00,
|
||||
0x00, 0x87, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13,
|
||||
0x44, 0x35, 0x18, 0x63, 0x0b, 0x73, 0x3b, 0x03, 0xb1, 0x2b, 0x93, 0x9b,
|
||||
0x4b, 0x7b, 0x73, 0x03, 0x99, 0x71, 0xb9, 0x01, 0x41, 0xa1, 0x0b, 0x3b,
|
||||
0x9b, 0x7b, 0x91, 0x2a, 0x62, 0x2a, 0x0a, 0x9a, 0x2a, 0xfa, 0x9a, 0xb9,
|
||||
0x81, 0x79, 0x31, 0x4b, 0x73, 0x0b, 0x63, 0x4b, 0xd9, 0x10, 0x04, 0x13,
|
||||
0x04, 0xa2, 0x98, 0x20, 0x10, 0xc6, 0x06, 0x61, 0x20, 0x36, 0x08, 0x04,
|
||||
0x41, 0x01, 0x6e, 0x6e, 0x82, 0x40, 0x1c, 0x1b, 0x86, 0x03, 0x21, 0x26,
|
||||
0x08, 0x16, 0x45, 0x85, 0x0e, 0xad, 0x8c, 0xaa, 0x0c, 0x8f, 0xae, 0x4e,
|
||||
0xae, 0x6c, 0x82, 0x40, 0x20, 0x13, 0x04, 0x22, 0xd9, 0x20, 0x10, 0xcd,
|
||||
0x86, 0x84, 0x50, 0x16, 0x82, 0x18, 0x18, 0xc2, 0xd9, 0x10, 0x3c, 0x13,
|
||||
0x04, 0xac, 0xa2, 0x42, 0x87, 0x56, 0x36, 0x15, 0xd6, 0x06, 0xc7, 0x56,
|
||||
0x26, 0xb7, 0x01, 0x21, 0x22, 0x89, 0x20, 0x06, 0x02, 0xd8, 0x10, 0x4c,
|
||||
0x1b, 0x08, 0x08, 0x00, 0xa8, 0x09, 0x82, 0x00, 0x6c, 0x00, 0x36, 0x0c,
|
||||
0xc4, 0x75, 0x6d, 0x08, 0xb0, 0x0d, 0xc3, 0x60, 0x65, 0x13, 0x84, 0xcc,
|
||||
0xda, 0x10, 0x6c, 0x24, 0xda, 0xc2, 0xd2, 0xdc, 0xb8, 0x4c, 0x59, 0x7d,
|
||||
0x41, 0xbd, 0xcd, 0xa5, 0xd1, 0xa5, 0xbd, 0xb9, 0x4d, 0x10, 0x0a, 0x67,
|
||||
0x82, 0x50, 0x3c, 0x1b, 0x02, 0x62, 0x82, 0x50, 0x40, 0x13, 0x84, 0x22,
|
||||
0xda, 0xb0, 0x10, 0xde, 0x07, 0x06, 0x61, 0x20, 0x06, 0x83, 0x18, 0x10,
|
||||
0x63, 0x00, 0x10, 0xa1, 0x2a, 0xc2, 0x1a, 0x7a, 0x7a, 0x92, 0x22, 0x9a,
|
||||
0x20, 0x14, 0xd2, 0x04, 0x81, 0x50, 0x36, 0x08, 0x67, 0x70, 0x06, 0x1b,
|
||||
0x96, 0xa1, 0x0c, 0xbe, 0x31, 0x08, 0x03, 0x33, 0x18, 0xcc, 0x60, 0x18,
|
||||
0x03, 0x34, 0x60, 0x31, 0xf4, 0xc4, 0xf4, 0x24, 0x35, 0x41, 0x20, 0x96,
|
||||
0x0d, 0xc2, 0x19, 0xac, 0xc1, 0x86, 0x85, 0x51, 0x83, 0x6f, 0x0c, 0xc2,
|
||||
0xc0, 0x0c, 0x06, 0x31, 0x60, 0xc6, 0x80, 0x0d, 0x36, 0x0c, 0x64, 0x90,
|
||||
0x06, 0x6d, 0xc0, 0x64, 0xca, 0xea, 0x8b, 0x2a, 0x4c, 0xee, 0xac, 0x8c,
|
||||
0x6e, 0x82, 0x50, 0x4c, 0x1b, 0x16, 0xe2, 0x0d, 0x3e, 0x38, 0x08, 0x83,
|
||||
0x31, 0x18, 0xc4, 0x80, 0x18, 0x03, 0x36, 0xd8, 0x10, 0xc4, 0xc1, 0x86,
|
||||
0xc1, 0x0d, 0xe4, 0x00, 0xd8, 0x50, 0x58, 0xdd, 0x1c, 0x54, 0x00, 0x0d,
|
||||
0x33, 0xb6, 0xb7, 0x30, 0xba, 0xb9, 0x09, 0x02, 0xc1, 0xb0, 0x48, 0x73,
|
||||
0x9b, 0xa3, 0x9b, 0x9b, 0x20, 0x10, 0x0d, 0x8d, 0xb9, 0xb4, 0xb3, 0x2f,
|
||||
0x36, 0x32, 0x1a, 0x73, 0x69, 0x67, 0x5f, 0x73, 0x74, 0x44, 0xe8, 0xca,
|
||||
0xf0, 0xbe, 0xdc, 0xde, 0xe4, 0xda, 0x36, 0x28, 0x75, 0x60, 0x07, 0x77,
|
||||
0x80, 0x07, 0x79, 0x80, 0xe8, 0x81, 0x1d, 0xec, 0xc1, 0x50, 0x85, 0x8d,
|
||||
0xcd, 0xae, 0xcd, 0x25, 0x8d, 0xac, 0xcc, 0x8d, 0x6e, 0x4a, 0x10, 0x54,
|
||||
0x21, 0xc3, 0x73, 0xb1, 0x2b, 0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x9b, 0x12,
|
||||
0x10, 0x4d, 0xc8, 0xf0, 0x5c, 0xec, 0xc2, 0xd8, 0xec, 0xca, 0xe4, 0xa6,
|
||||
0x04, 0x45, 0x1d, 0x32, 0x3c, 0x97, 0x39, 0xb4, 0x30, 0xb2, 0x32, 0xb9,
|
||||
0xa6, 0x37, 0xb2, 0x32, 0xb6, 0x29, 0x01, 0x52, 0x86, 0x0c, 0xcf, 0x45,
|
||||
0xae, 0x6c, 0xee, 0xad, 0x4e, 0x6e, 0xac, 0x6c, 0x6e, 0x4a, 0x40, 0x55,
|
||||
0x22, 0xc3, 0x73, 0xa1, 0xcb, 0x83, 0x2b, 0x0b, 0x72, 0x73, 0x7b, 0xa3,
|
||||
0x0b, 0xa3, 0x4b, 0x7b, 0x73, 0x9b, 0x9b, 0x12, 0x64, 0x75, 0xc8, 0xf0,
|
||||
0x5c, 0xec, 0xd2, 0xca, 0xee, 0x92, 0xc8, 0xa6, 0xe8, 0xc2, 0xe8, 0xca,
|
||||
0xa6, 0x04, 0x5b, 0x1d, 0x32, 0x3c, 0x97, 0x32, 0x37, 0x3a, 0xb9, 0x3c,
|
||||
0xa8, 0xb7, 0x34, 0x37, 0xba, 0xb9, 0x29, 0xc1, 0x1c, 0x74, 0x21, 0xc3,
|
||||
0x73, 0x19, 0x7b, 0xab, 0x73, 0xa3, 0x2b, 0x93, 0x9b, 0x9b, 0x12, 0xec,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x4c, 0x00, 0x00,
|
||||
0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d,
|
||||
0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07,
|
||||
0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80,
|
||||
0x0e, 0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66,
|
||||
0x30, 0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d,
|
||||
0xc8, 0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07,
|
||||
0x7b, 0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03,
|
||||
0x76, 0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90,
|
||||
0x0e, 0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50,
|
||||
0x0e, 0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2,
|
||||
0x61, 0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39,
|
||||
0xb4, 0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14,
|
||||
0x76, 0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07,
|
||||
0x37, 0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07,
|
||||
0x76, 0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87,
|
||||
0x71, 0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0,
|
||||
0x0e, 0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8,
|
||||
0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc,
|
||||
0x61, 0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6,
|
||||
0x90, 0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39,
|
||||
0xb8, 0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f,
|
||||
0xbc, 0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x0c,
|
||||
0xc4, 0x21, 0x07, 0x7c, 0x70, 0x03, 0x7a, 0x28, 0x87, 0x76, 0x80, 0x87,
|
||||
0x19, 0xd1, 0x43, 0x0e, 0xf8, 0xe0, 0x06, 0xe4, 0x20, 0x0e, 0xe7, 0xe0,
|
||||
0x06, 0xf6, 0x10, 0x0e, 0xf2, 0xc0, 0x0e, 0xe1, 0x90, 0x0f, 0xef, 0x50,
|
||||
0x0f, 0xf4, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x12, 0x00, 0x00,
|
||||
0x00, 0x46, 0x20, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10, 0x11, 0xc0, 0x44,
|
||||
0x84, 0x40, 0x33, 0x2c, 0x84, 0x05, 0x4c, 0xc3, 0xe5, 0x3b, 0x8f, 0xbf,
|
||||
0x38, 0xc0, 0x20, 0x36, 0x0f, 0x35, 0xf9, 0xc5, 0x6d, 0xdb, 0x00, 0x34,
|
||||
0x5c, 0xbe, 0xf3, 0xf8, 0x12, 0xc0, 0x3c, 0x0b, 0xe1, 0x17, 0xb7, 0x6d,
|
||||
0x02, 0xd5, 0x70, 0xf9, 0xce, 0xe3, 0x4b, 0x93, 0x13, 0x11, 0x28, 0x35,
|
||||
0x3d, 0xd4, 0xe4, 0x17, 0xb7, 0x6d, 0x00, 0x04, 0x03, 0x20, 0x0d, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x41, 0x53, 0x48, 0x14, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xa4, 0x51, 0x7f, 0xb4, 0x3e, 0x6a,
|
||||
0xe5, 0x04, 0x66, 0x2e, 0x73, 0x80, 0x43, 0xf2, 0xb2, 0x44, 0x58, 0x49,
|
||||
0x4c, 0xec, 0x06, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xbb, 0x01, 0x00,
|
||||
0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00,
|
||||
0x00, 0xd4, 0x06, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00,
|
||||
0x00, 0xb2, 0x01, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00,
|
||||
0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04,
|
||||
0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08,
|
||||
0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02, 0x42, 0x92, 0x0b,
|
||||
0x42, 0xa4, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x52,
|
||||
0x88, 0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32,
|
||||
0x42, 0xe4, 0x48, 0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50, 0x41, 0x51, 0x81,
|
||||
0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06, 0x51, 0x18, 0x00,
|
||||
0x00, 0x08, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff,
|
||||
0x07, 0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03,
|
||||
0x20, 0x6d, 0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8,
|
||||
0x00, 0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60,
|
||||
0x42, 0x20, 0x4c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00,
|
||||
0x00, 0x43, 0x00, 0x00, 0x00, 0x32, 0x22, 0x48, 0x09, 0x20, 0x64, 0x85,
|
||||
0x04, 0x93, 0x22, 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3, 0x84, 0xa1, 0x90,
|
||||
0x14, 0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x68, 0x23,
|
||||
0x00, 0x25, 0x00, 0x14, 0x66, 0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00,
|
||||
0x29, 0xc6, 0x20, 0x84, 0x14, 0x42, 0xa6, 0x18, 0x80, 0x10, 0x52, 0x06,
|
||||
0xa1, 0x9b, 0x86, 0xcb, 0x9f, 0xb0, 0x87, 0x90, 0xfc, 0x95, 0x90, 0x56,
|
||||
0x62, 0xf2, 0x8b, 0xdb, 0x46, 0xc5, 0x18, 0x63, 0x10, 0x2a, 0xf7, 0x0c,
|
||||
0x97, 0x3f, 0x61, 0x0f, 0x21, 0xf9, 0x21, 0xd0, 0x0c, 0x0b, 0x81, 0x82,
|
||||
0x55, 0x18, 0x45, 0x18, 0x1b, 0x63, 0x0c, 0x42, 0xc8, 0xa0, 0x36, 0x47,
|
||||
0x10, 0x14, 0x83, 0x91, 0x42, 0xc8, 0x23, 0x38, 0x10, 0x30, 0x8c, 0x40,
|
||||
0x0c, 0x33, 0xb5, 0xc1, 0x38, 0xb0, 0x43, 0x38, 0xcc, 0xc3, 0x3c, 0xb8,
|
||||
0x01, 0x2d, 0x94, 0x03, 0x3e, 0xd0, 0x43, 0x3d, 0xc8, 0x43, 0x39, 0xc8,
|
||||
0x01, 0x29, 0xf0, 0x81, 0x3d, 0x94, 0xc3, 0x38, 0xd0, 0xc3, 0x3b, 0xc8,
|
||||
0x03, 0x1f, 0x98, 0x03, 0x3b, 0xbc, 0x43, 0x38, 0xd0, 0x03, 0x1b, 0x80,
|
||||
0x01, 0x1d, 0xf8, 0x01, 0x18, 0xf8, 0x81, 0x1e, 0xe8, 0x41, 0x3b, 0xa4,
|
||||
0x03, 0x3c, 0xcc, 0xc3, 0x2f, 0xd0, 0x43, 0x3e, 0xc0, 0x43, 0x39, 0xa0,
|
||||
0x80, 0xcc, 0x24, 0x06, 0xe3, 0xc0, 0x0e, 0xe1, 0x30, 0x0f, 0xf3, 0xe0,
|
||||
0x06, 0xb4, 0x50, 0x0e, 0xf8, 0x40, 0x0f, 0xf5, 0x20, 0x0f, 0xe5, 0x20,
|
||||
0x07, 0xa4, 0xc0, 0x07, 0xf6, 0x50, 0x0e, 0xe3, 0x40, 0x0f, 0xef, 0x20,
|
||||
0x0f, 0x7c, 0x60, 0x0e, 0xec, 0xf0, 0x0e, 0xe1, 0x40, 0x0f, 0x6c, 0x00,
|
||||
0x06, 0x74, 0xe0, 0x07, 0x60, 0xe0, 0x07, 0x48, 0x98, 0x94, 0xea, 0x4d,
|
||||
0xd2, 0x14, 0x51, 0xc2, 0xe4, 0xb3, 0x00, 0xf3, 0x2c, 0x44, 0xc4, 0x4e,
|
||||
0xc0, 0x44, 0xa0, 0x80, 0xd0, 0x4d, 0x07, 0x02, 0x00, 0x13, 0x14, 0x72,
|
||||
0xc0, 0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72,
|
||||
0xc0, 0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e,
|
||||
0x6d, 0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07,
|
||||
0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e,
|
||||
0x78, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07,
|
||||
0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07,
|
||||
0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07,
|
||||
0x74, 0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0, 0x07, 0x73, 0x20, 0x07,
|
||||
0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06,
|
||||
0xe6, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e,
|
||||
0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07,
|
||||
0x76, 0x40, 0x07, 0x43, 0x9e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10, 0x20, 0x00, 0x04, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4, 0x81, 0x80, 0x00,
|
||||
0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0b, 0x04, 0x00,
|
||||
0x00, 0x0f, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c,
|
||||
0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22, 0x25, 0x30, 0x02,
|
||||
0x50, 0x0c, 0x45, 0x50, 0x12, 0x65, 0x50, 0x1e, 0x54, 0x4a, 0xa2, 0x0c,
|
||||
0x0a, 0x61, 0x04, 0xa0, 0x08, 0x0a, 0x84, 0xec, 0x0c, 0x00, 0xe1, 0x19,
|
||||
0x00, 0xca, 0x63, 0x39, 0x0c, 0x01, 0x00, 0x00, 0xf0, 0x3c, 0x00, 0x10,
|
||||
0x08, 0x04, 0x02, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x63, 0x00, 0x00,
|
||||
0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44, 0x35, 0x18, 0x63,
|
||||
0x0b, 0x73, 0x3b, 0x03, 0xb1, 0x2b, 0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x03,
|
||||
0x99, 0x71, 0xb9, 0x01, 0x41, 0xa1, 0x0b, 0x3b, 0x9b, 0x7b, 0x91, 0x2a,
|
||||
0x62, 0x2a, 0x0a, 0x9a, 0x2a, 0xfa, 0x9a, 0xb9, 0x81, 0x79, 0x31, 0x4b,
|
||||
0x73, 0x0b, 0x63, 0x4b, 0xd9, 0x10, 0x04, 0x13, 0x04, 0xa2, 0x98, 0x20,
|
||||
0x10, 0xc6, 0x06, 0x61, 0x20, 0x26, 0x08, 0xc4, 0xb1, 0x41, 0x18, 0x0c,
|
||||
0x0a, 0x70, 0x73, 0x1b, 0x06, 0xc4, 0x20, 0x26, 0x08, 0x96, 0x44, 0x60,
|
||||
0x82, 0x40, 0x20, 0x13, 0x04, 0x22, 0xd9, 0x20, 0x10, 0xcd, 0x86, 0x84,
|
||||
0x50, 0x16, 0x82, 0x18, 0x18, 0xc2, 0xd9, 0x10, 0x3c, 0x13, 0x04, 0x6c,
|
||||
0xda, 0x80, 0x10, 0xd1, 0x42, 0x10, 0x03, 0x01, 0x6c, 0x08, 0xa4, 0x0d,
|
||||
0x04, 0x04, 0x00, 0xd3, 0x04, 0x21, 0xa3, 0x36, 0x04, 0xd5, 0x04, 0x41,
|
||||
0x00, 0x48, 0xb4, 0x85, 0xa5, 0xb9, 0x71, 0x99, 0xb2, 0xfa, 0x82, 0x7a,
|
||||
0x9b, 0x4b, 0xa3, 0x4b, 0x7b, 0x73, 0x9b, 0x20, 0x14, 0xcc, 0x04, 0xa1,
|
||||
0x68, 0x36, 0x04, 0xc4, 0x04, 0xa1, 0x70, 0x26, 0x08, 0xc5, 0xb3, 0x61,
|
||||
0x21, 0x32, 0x6d, 0xe3, 0xba, 0xa1, 0x23, 0x3c, 0x80, 0x08, 0x55, 0x11,
|
||||
0xd6, 0xd0, 0xd3, 0x93, 0x14, 0xd1, 0x04, 0xa1, 0x80, 0x26, 0x08, 0x84,
|
||||
0xb2, 0x41, 0x10, 0x03, 0x31, 0xd8, 0xb0, 0x0c, 0x60, 0xa0, 0x79, 0x5c,
|
||||
0x18, 0x0c, 0x61, 0x30, 0x78, 0x63, 0xc0, 0x62, 0xe8, 0x89, 0xe9, 0x49,
|
||||
0x6a, 0x82, 0x40, 0x2c, 0x1b, 0x04, 0x31, 0x30, 0x83, 0x0d, 0x0b, 0x53,
|
||||
0x06, 0x9a, 0xc7, 0x85, 0xc1, 0xd0, 0x31, 0xde, 0x19, 0x6c, 0x18, 0x3e,
|
||||
0x32, 0x40, 0x03, 0x26, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65,
|
||||
0x74, 0x13, 0x84, 0x22, 0xda, 0xb0, 0x10, 0x6a, 0xa0, 0xad, 0x01, 0xe7,
|
||||
0x0d, 0x1d, 0xe1, 0x9d, 0xc1, 0x86, 0x80, 0x0d, 0x36, 0x0c, 0x69, 0xd0,
|
||||
0x06, 0xc0, 0x86, 0xe2, 0xc2, 0xdc, 0x80, 0x02, 0xaa, 0xb0, 0xb1, 0xd9,
|
||||
0xb5, 0xb9, 0xa4, 0x91, 0x95, 0xb9, 0xd1, 0x4d, 0x09, 0x82, 0x2a, 0x64,
|
||||
0x78, 0x2e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x02, 0xa2,
|
||||
0x09, 0x19, 0x9e, 0x8b, 0x5d, 0x18, 0x9b, 0x5d, 0x99, 0xdc, 0x94, 0xc0,
|
||||
0xa8, 0x43, 0x86, 0xe7, 0x32, 0x87, 0x16, 0x46, 0x56, 0x26, 0xd7, 0xf4,
|
||||
0x46, 0x56, 0xc6, 0x36, 0x25, 0x40, 0xca, 0x90, 0xe1, 0xb9, 0xc8, 0x95,
|
||||
0xcd, 0xbd, 0xd5, 0xc9, 0x8d, 0x95, 0xcd, 0x4d, 0x09, 0xa6, 0x3a, 0x64,
|
||||
0x78, 0x2e, 0x76, 0x69, 0x65, 0x77, 0x49, 0x64, 0x53, 0x74, 0x61, 0x74,
|
||||
0x65, 0x53, 0x82, 0xaa, 0x0e, 0x19, 0x9e, 0x4b, 0x99, 0x1b, 0x9d, 0x5c,
|
||||
0x1e, 0xd4, 0x5b, 0x9a, 0x1b, 0xdd, 0xdc, 0x94, 0xc0, 0x0d, 0x00, 0x00,
|
||||
0x00, 0x79, 0x18, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80,
|
||||
0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84,
|
||||
0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c,
|
||||
0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42,
|
||||
0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88,
|
||||
0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c,
|
||||
0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b, 0x08, 0x07, 0x79,
|
||||
0x48, 0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76, 0x78, 0x87, 0x70,
|
||||
0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f,
|
||||
0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4,
|
||||
0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30,
|
||||
0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc,
|
||||
0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b,
|
||||
0x68, 0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37, 0x80, 0x87, 0x70,
|
||||
0x90, 0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76, 0xf8, 0x05, 0x76,
|
||||
0x78, 0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71, 0x18, 0x87, 0x72,
|
||||
0x98, 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e,
|
||||
0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1,
|
||||
0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21,
|
||||
0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8,
|
||||
0x43, 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94,
|
||||
0x43, 0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc,
|
||||
0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x0c, 0xc4, 0x21, 0x07, 0x7c,
|
||||
0x70, 0x03, 0x7a, 0x28, 0x87, 0x76, 0x80, 0x87, 0x19, 0xd1, 0x43, 0x0e,
|
||||
0xf8, 0xe0, 0x06, 0xe4, 0x20, 0x0e, 0xe7, 0xe0, 0x06, 0xf6, 0x10, 0x0e,
|
||||
0xf2, 0xc0, 0x0e, 0xe1, 0x90, 0x0f, 0xef, 0x50, 0x0f, 0xf4, 0x00, 0x00,
|
||||
0x00, 0x71, 0x20, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x46, 0x20, 0x0d,
|
||||
0x97, 0xef, 0x3c, 0xbe, 0x10, 0x11, 0xc0, 0x44, 0x84, 0x40, 0x33, 0x2c,
|
||||
0x84, 0x05, 0x4c, 0xc3, 0xe5, 0x3b, 0x8f, 0xbf, 0x38, 0xc0, 0x20, 0x36,
|
||||
0x0f, 0x35, 0xf9, 0xc5, 0x6d, 0xdb, 0x00, 0x34, 0x5c, 0xbe, 0xf3, 0xf8,
|
||||
0x12, 0xc0, 0x3c, 0x0b, 0xe1, 0x17, 0xb7, 0x6d, 0x02, 0xd5, 0x70, 0xf9,
|
||||
0xce, 0xe3, 0x4b, 0x93, 0x13, 0x11, 0x28, 0x35, 0x3d, 0xd4, 0xe4, 0x17,
|
||||
0xb7, 0x6d, 0x00, 0x04, 0x03, 0x20, 0x0d, 0x00, 0x00, 0x61, 0x20, 0x00,
|
||||
0x00, 0x3a, 0x00, 0x00, 0x00, 0x13, 0x04, 0x41, 0x2c, 0x10, 0x00, 0x00,
|
||||
0x00, 0x05, 0x00, 0x00, 0x00, 0xf4, 0x46, 0x00, 0x88, 0xcc, 0x00, 0x14,
|
||||
0x42, 0x29, 0x94, 0x5c, 0xe1, 0x51, 0x29, 0x01, 0x1a, 0x33, 0x00, 0x00,
|
||||
0x00, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x00, 0x65, 0x84, 0x73, 0x5d,
|
||||
0xc8, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x40, 0x5a, 0x11, 0x61, 0x58,
|
||||
0x32, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x86, 0x87, 0x5c, 0x19, 0x94,
|
||||
0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0xf1, 0x25, 0x98, 0x56, 0x28,
|
||||
0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0x80, 0x81, 0x92, 0x6d, 0xd1,
|
||||
0x32, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x46, 0x18, 0x2c, 0x1a, 0x57,
|
||||
0x31, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0x88, 0x01, 0xe3, 0x75,
|
||||
0x54, 0x33, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0xc6, 0x18, 0x34, 0x9f,
|
||||
0x97, 0x38, 0x23, 0x06, 0x0f, 0x00, 0x82, 0x60, 0xd0, 0x88, 0xc1, 0x82,
|
||||
0x1c, 0x42, 0x90, 0x24, 0xdf, 0xf7, 0x24, 0xa3, 0x09, 0x01, 0x30, 0x9a,
|
||||
0x20, 0x04, 0xa3, 0x09, 0x83, 0x30, 0x9a, 0x40, 0x0c, 0x46, 0x2c, 0xf2,
|
||||
0x31, 0x62, 0x91, 0x8f, 0x11, 0x8b, 0x7c, 0x8c, 0x58, 0xe4, 0x33, 0x62,
|
||||
0x90, 0x00, 0x20, 0x08, 0x06, 0x08, 0x1b, 0x58, 0x68, 0x80, 0x06, 0x1f,
|
||||
0x31, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x08, 0x1b, 0x58, 0x68, 0x80,
|
||||
0x06, 0xd3, 0x30, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x08, 0x1b, 0x58,
|
||||
0x68, 0x80, 0x06, 0x9e, 0x30, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x08,
|
||||
0x1b, 0x58, 0x68, 0x80, 0x06, 0x61, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00
|
||||
};
|
24
src/render/direct3d12/D3D12_PixelShader_Textures.hlsl
Normal file
24
src/render/direct3d12/D3D12_PixelShader_Textures.hlsl
Normal file
|
@ -0,0 +1,24 @@
|
|||
Texture2D theTexture : register(t0);
|
||||
SamplerState theSampler : register(s0);
|
||||
|
||||
struct PixelShaderInput
|
||||
{
|
||||
float4 pos : SV_POSITION;
|
||||
float2 tex : TEXCOORD0;
|
||||
float4 color : COLOR0;
|
||||
};
|
||||
|
||||
#define TextureRS \
|
||||
"RootFlags ( ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT |" \
|
||||
" DENY_DOMAIN_SHADER_ROOT_ACCESS |" \
|
||||
" DENY_GEOMETRY_SHADER_ROOT_ACCESS |" \
|
||||
" DENY_HULL_SHADER_ROOT_ACCESS )," \
|
||||
"RootConstants(num32BitConstants=32, b0),"\
|
||||
"DescriptorTable ( SRV(t0), visibility = SHADER_VISIBILITY_PIXEL ),"\
|
||||
"DescriptorTable ( Sampler(s0), visibility = SHADER_VISIBILITY_PIXEL )"
|
||||
|
||||
[RootSignature(TextureRS)]
|
||||
float4 main(PixelShaderInput input) : SV_TARGET
|
||||
{
|
||||
return theTexture.Sample(theSampler, input.tex) * input.color;
|
||||
}
|
610
src/render/direct3d12/D3D12_PixelShader_YUV.h
Executable file
610
src/render/direct3d12/D3D12_PixelShader_YUV.h
Executable file
|
@ -0,0 +1,610 @@
|
|||
#if 0
|
||||
;
|
||||
; Input signature:
|
||||
;
|
||||
; Name Index Mask Register SysValue Format Used
|
||||
; -------------------- ----- ------ -------- -------- ------- ------
|
||||
; SV_Position 0 xyzw 0 POS float
|
||||
; TEXCOORD 0 xy 1 NONE float xy
|
||||
; COLOR 0 xyzw 2 NONE float xyzw
|
||||
;
|
||||
;
|
||||
; Output signature:
|
||||
;
|
||||
; Name Index Mask Register SysValue Format Used
|
||||
; -------------------- ----- ------ -------- -------- ------- ------
|
||||
; SV_Target 0 xyzw 0 TARGET float xyzw
|
||||
;
|
||||
; shader hash: 36f86690be5e141a056ef7b0f679f6ae
|
||||
;
|
||||
; Pipeline Runtime Information:
|
||||
;
|
||||
; Pixel Shader
|
||||
; DepthOutput=0
|
||||
; SampleFrequency=0
|
||||
;
|
||||
;
|
||||
; Input signature:
|
||||
;
|
||||
; Name Index InterpMode DynIdx
|
||||
; -------------------- ----- ---------------------- ------
|
||||
; SV_Position 0 noperspective
|
||||
; TEXCOORD 0 linear
|
||||
; COLOR 0 linear
|
||||
;
|
||||
; Output signature:
|
||||
;
|
||||
; Name Index InterpMode DynIdx
|
||||
; -------------------- ----- ---------------------- ------
|
||||
; SV_Target 0
|
||||
;
|
||||
; Buffer Definitions:
|
||||
;
|
||||
; cbuffer Constants
|
||||
; {
|
||||
;
|
||||
; struct Constants
|
||||
; {
|
||||
;
|
||||
; float4 Yoffset; ; Offset: 0
|
||||
; float4 Rcoeff; ; Offset: 16
|
||||
; float4 Gcoeff; ; Offset: 32
|
||||
; float4 Bcoeff; ; Offset: 48
|
||||
;
|
||||
; } Constants; ; Offset: 0 Size: 64
|
||||
;
|
||||
; }
|
||||
;
|
||||
;
|
||||
; Resource Bindings:
|
||||
;
|
||||
; Name Type Format Dim ID HLSL Bind Count
|
||||
; ------------------------------ ---------- ------- ----------- ------- -------------- ------
|
||||
; Constants cbuffer NA NA CB0 cb1 1
|
||||
; theSampler sampler NA NA S0 s0 1
|
||||
; theTextureY texture f32 2d T0 t0 1
|
||||
; theTextureU texture f32 2d T1 t1 1
|
||||
; theTextureV texture f32 2d T2 t2 1
|
||||
;
|
||||
;
|
||||
; ViewId state:
|
||||
;
|
||||
; Number of inputs: 12, outputs: 4
|
||||
; Outputs dependent on ViewId: { }
|
||||
; Inputs contributing to computation of Outputs:
|
||||
; output 0 depends on inputs: { 4, 5, 8 }
|
||||
; output 1 depends on inputs: { 4, 5, 9 }
|
||||
; output 2 depends on inputs: { 4, 5, 10 }
|
||||
; output 3 depends on inputs: { 11 }
|
||||
;
|
||||
target datalayout = "e-m:e-p:32:32-i1:32-i8:32-i16:32-i32:32-i64:64-f16:32-f32:32-f64:64-n8:16:32:64"
|
||||
target triple = "dxil-ms-dx"
|
||||
|
||||
%dx.types.Handle = type { i8* }
|
||||
%dx.types.ResRet.f32 = type { float, float, float, float, i32 }
|
||||
%dx.types.CBufRet.f32 = type { float, float, float, float }
|
||||
%"class.Texture2D<vector<float, 4> >" = type { <4 x float>, %"class.Texture2D<vector<float, 4> >::mips_type" }
|
||||
%"class.Texture2D<vector<float, 4> >::mips_type" = type { i32 }
|
||||
%Constants = type { <4 x float>, <4 x float>, <4 x float>, <4 x float> }
|
||||
%struct.SamplerState = type { i32 }
|
||||
|
||||
define void @main() {
|
||||
%1 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 0, i32 2, i32 2, i1 false) ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
|
||||
%2 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 0, i32 1, i32 1, i1 false) ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
|
||||
%3 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 0, i32 0, i32 0, i1 false) ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
|
||||
%4 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 3, i32 0, i32 0, i1 false) ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
|
||||
%5 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 2, i32 0, i32 1, i1 false) ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
|
||||
%6 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 0, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%7 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 1, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%8 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 2, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%9 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 3, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%10 = call float @dx.op.loadInput.f32(i32 4, i32 1, i32 0, i8 0, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%11 = call float @dx.op.loadInput.f32(i32 4, i32 1, i32 0, i8 1, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%12 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %3, %dx.types.Handle %4, float %10, float %11, float undef, float undef, i32 0, i32 0, i32 undef, float undef) ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
|
||||
%13 = extractvalue %dx.types.ResRet.f32 %12, 0
|
||||
%14 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %2, %dx.types.Handle %4, float %10, float %11, float undef, float undef, i32 0, i32 0, i32 undef, float undef) ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
|
||||
%15 = extractvalue %dx.types.ResRet.f32 %14, 0
|
||||
%16 = call %dx.types.ResRet.f32 @dx.op.sample.f32(i32 60, %dx.types.Handle %1, %dx.types.Handle %4, float %10, float %11, float undef, float undef, i32 0, i32 0, i32 undef, float undef) ; Sample(srv,sampler,coord0,coord1,coord2,coord3,offset0,offset1,offset2,clamp)
|
||||
%17 = extractvalue %dx.types.ResRet.f32 %16, 0
|
||||
%18 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %5, i32 0) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%19 = extractvalue %dx.types.CBufRet.f32 %18, 0
|
||||
%20 = extractvalue %dx.types.CBufRet.f32 %18, 1
|
||||
%21 = extractvalue %dx.types.CBufRet.f32 %18, 2
|
||||
%22 = fadd fast float %19, %13
|
||||
%23 = fadd fast float %20, %15
|
||||
%24 = fadd fast float %21, %17
|
||||
%25 = call float @dx.op.dot3.f32(i32 55, float %22, float %23, float %24, float 1.000000e+00, float 0.000000e+00, float 0x3FF66E9780000000) ; Dot3(ax,ay,az,bx,by,bz)
|
||||
%26 = call float @dx.op.dot3.f32(i32 55, float %22, float %23, float %24, float 1.000000e+00, float 0xBFD605BC00000000, float 0xBFE6D9E840000000) ; Dot3(ax,ay,az,bx,by,bz)
|
||||
%27 = call float @dx.op.dot3.f32(i32 55, float %22, float %23, float %24, float 1.000000e+00, float 0x3FFC5A1CA0000000, float 0.000000e+00) ; Dot3(ax,ay,az,bx,by,bz)
|
||||
%28 = fmul fast float %25, %6
|
||||
%29 = fmul fast float %26, %7
|
||||
%30 = fmul fast float %27, %8
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 0, float %28) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 1, float %29) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 2, float %30) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 3, float %9) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
ret void
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind readnone
|
||||
declare float @dx.op.loadInput.f32(i32, i32, i32, i8, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @dx.op.storeOutput.f32(i32, i32, i32, i8, float) #1
|
||||
|
||||
; Function Attrs: nounwind readonly
|
||||
declare %dx.types.ResRet.f32 @dx.op.sample.f32(i32, %dx.types.Handle, %dx.types.Handle, float, float, float, float, i32, i32, i32, float) #2
|
||||
|
||||
; Function Attrs: nounwind readnone
|
||||
declare float @dx.op.dot3.f32(i32, float, float, float, float, float, float) #0
|
||||
|
||||
; Function Attrs: nounwind readonly
|
||||
declare %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32, %dx.types.Handle, i32) #2
|
||||
|
||||
; Function Attrs: nounwind readonly
|
||||
declare %dx.types.Handle @dx.op.createHandle(i32, i8, i32, i32, i1) #2
|
||||
|
||||
attributes #0 = { nounwind readnone }
|
||||
attributes #1 = { nounwind }
|
||||
attributes #2 = { nounwind readonly }
|
||||
|
||||
!llvm.ident = !{!0}
|
||||
!dx.version = !{!1}
|
||||
!dx.valver = !{!2}
|
||||
!dx.shaderModel = !{!3}
|
||||
!dx.resources = !{!4}
|
||||
!dx.viewIdState = !{!14}
|
||||
!dx.entryPoints = !{!15}
|
||||
|
||||
!0 = !{!"clang version 3.7 (tags/RELEASE_370/final)"}
|
||||
!1 = !{i32 1, i32 0}
|
||||
!2 = !{i32 1, i32 6}
|
||||
!3 = !{!"ps", i32 6, i32 0}
|
||||
!4 = !{!5, null, !10, !12}
|
||||
!5 = !{!6, !8, !9}
|
||||
!6 = !{i32 0, %"class.Texture2D<vector<float, 4> >"* undef, !"", i32 0, i32 0, i32 1, i32 2, i32 0, !7}
|
||||
!7 = !{i32 0, i32 9}
|
||||
!8 = !{i32 1, %"class.Texture2D<vector<float, 4> >"* undef, !"", i32 0, i32 1, i32 1, i32 2, i32 0, !7}
|
||||
!9 = !{i32 2, %"class.Texture2D<vector<float, 4> >"* undef, !"", i32 0, i32 2, i32 1, i32 2, i32 0, !7}
|
||||
!10 = !{!11}
|
||||
!11 = !{i32 0, %Constants* undef, !"", i32 0, i32 1, i32 1, i32 64, null}
|
||||
!12 = !{!13}
|
||||
!13 = !{i32 0, %struct.SamplerState* undef, !"", i32 0, i32 0, i32 1, i32 0, null}
|
||||
!14 = !{[14 x i32] [i32 12, i32 4, i32 0, i32 0, i32 0, i32 0, i32 7, i32 7, i32 0, i32 0, i32 1, i32 2, i32 4, i32 8]}
|
||||
!15 = !{void ()* @main, !"main", !16, !4, null}
|
||||
!16 = !{!17, !24, null}
|
||||
!17 = !{!18, !20, !22}
|
||||
!18 = !{i32 0, !"SV_Position", i8 9, i8 3, !19, i8 4, i32 1, i8 4, i32 0, i8 0, null}
|
||||
!19 = !{i32 0}
|
||||
!20 = !{i32 1, !"TEXCOORD", i8 9, i8 0, !19, i8 2, i32 1, i8 2, i32 1, i8 0, !21}
|
||||
!21 = !{i32 3, i32 3}
|
||||
!22 = !{i32 2, !"COLOR", i8 9, i8 0, !19, i8 2, i32 1, i8 4, i32 2, i8 0, !23}
|
||||
!23 = !{i32 3, i32 15}
|
||||
!24 = !{!25}
|
||||
!25 = !{i32 0, !"SV_Target", i8 9, i8 16, !19, i8 0, i32 1, i8 4, i32 0, i8 0, !23}
|
||||
|
||||
#endif
|
||||
|
||||
const unsigned char g_main[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0xb1, 0x88, 0xbb, 0xff, 0x67, 0x11, 0x00, 0x8f,
|
||||
0x1f, 0xf6, 0xaa, 0x10, 0xee, 0xe0, 0x43, 0xbc, 0x01, 0x00, 0x00, 0x00,
|
||||
0xb1, 0x13, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0xdb, 0x00, 0x00, 0x00, 0x15, 0x01, 0x00, 0x00,
|
||||
0x61, 0x02, 0x00, 0x00, 0x49, 0x03, 0x00, 0x00, 0x1d, 0x0b, 0x00, 0x00,
|
||||
0x39, 0x0b, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31,
|
||||
0x83, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x53, 0x56, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00,
|
||||
0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c,
|
||||
0x4f, 0x52, 0x00, 0x4f, 0x53, 0x47, 0x31, 0x32, 0x00, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
|
||||
0x00, 0x50, 0x53, 0x56, 0x30, 0x44, 0x01, 0x00, 0x00, 0x30, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
|
||||
0xff, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x03, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x05, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
|
||||
0x00, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
|
||||
0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
|
||||
0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
|
||||
0x00, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43,
|
||||
0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x00, 0x44, 0x03, 0x03, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x42, 0x00, 0x03, 0x02, 0x00,
|
||||
0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x44,
|
||||
0x00, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x00, 0x44, 0x10, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
|
||||
0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x52, 0x54, 0x53,
|
||||
0x30, 0xe0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
|
||||
0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00,
|
||||
0x00, 0x1d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
|
||||
0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
|
||||
0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
|
||||
0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
|
||||
0x00, 0xc0, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
|
||||
0xff, 0x01, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00,
|
||||
0x00, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
|
||||
0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0xc8, 0x00, 0x00,
|
||||
0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
|
||||
0xff, 0x53, 0x54, 0x41, 0x54, 0xcc, 0x07, 0x00, 0x00, 0x60, 0x00, 0x00,
|
||||
0x00, 0xf3, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00,
|
||||
0x00, 0x10, 0x00, 0x00, 0x00, 0xb4, 0x07, 0x00, 0x00, 0x42, 0x43, 0xc0,
|
||||
0xde, 0x21, 0x0c, 0x00, 0x00, 0xea, 0x01, 0x00, 0x00, 0x0b, 0x82, 0x20,
|
||||
0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23,
|
||||
0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84,
|
||||
0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x18, 0x45,
|
||||
0x02, 0x42, 0x92, 0x0b, 0x42, 0xc4, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18,
|
||||
0x4b, 0x0a, 0x32, 0x62, 0x88, 0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88,
|
||||
0xa5, 0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90, 0x11, 0x23, 0xc4,
|
||||
0x50, 0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x31, 0x46,
|
||||
0x06, 0x51, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0,
|
||||
0xff, 0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff,
|
||||
0xff, 0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff, 0xff, 0xff, 0xff,
|
||||
0x1f, 0x00, 0x09, 0xa8, 0x00, 0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00,
|
||||
0x00, 0x13, 0x82, 0x60, 0x42, 0x20, 0x4c, 0x08, 0x06, 0x00, 0x00, 0x00,
|
||||
0x00, 0x89, 0x20, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x32, 0x22, 0x88,
|
||||
0x09, 0x20, 0x64, 0x85, 0x04, 0x13, 0x23, 0xa4, 0x84, 0x04, 0x13, 0x23,
|
||||
0xe3, 0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8c, 0x8c, 0x0b, 0x84, 0xc4,
|
||||
0x4c, 0x10, 0x84, 0xc1, 0x08, 0x40, 0x09, 0x00, 0x0a, 0x66, 0x00, 0xe6,
|
||||
0x08, 0xc0, 0x60, 0x8e, 0x00, 0x29, 0xc6, 0x40, 0x10, 0x44, 0x41, 0x90,
|
||||
0x51, 0x0c, 0x80, 0x20, 0x88, 0x62, 0x20, 0xe4, 0xa6, 0xe1, 0xf2, 0x27,
|
||||
0xec, 0x21, 0x24, 0x7f, 0x25, 0xa4, 0x95, 0x98, 0xfc, 0xe2, 0xb6, 0x51,
|
||||
0x31, 0x0c, 0xc3, 0x40, 0x50, 0x71, 0xcf, 0x70, 0xf9, 0x13, 0xf6, 0x10,
|
||||
0x92, 0x1f, 0x02, 0xcd, 0xb0, 0x10, 0x28, 0x58, 0x0a, 0xa3, 0x10, 0x0c,
|
||||
0x33, 0x0c, 0xc3, 0x40, 0x10, 0xc4, 0x40, 0x4d, 0x41, 0x06, 0x62, 0x18,
|
||||
0x86, 0x61, 0x18, 0xe8, 0x39, 0x6a, 0xb8, 0xfc, 0x09, 0x7b, 0x08, 0xc9,
|
||||
0xe7, 0x36, 0xaa, 0x58, 0x89, 0xc9, 0x2f, 0x6e, 0x1b, 0x11, 0xc3, 0x30,
|
||||
0x0c, 0x85, 0x88, 0x08, 0x86, 0x20, 0x69, 0x8e, 0x20, 0x28, 0x06, 0x43,
|
||||
0x14, 0x04, 0x41, 0x51, 0x35, 0x10, 0x30, 0x8c, 0x40, 0x0c, 0x33, 0xb5,
|
||||
0xc1, 0x38, 0xb0, 0x43, 0x38, 0xcc, 0xc3, 0x3c, 0xb8, 0x01, 0x2d, 0x94,
|
||||
0x03, 0x3e, 0xd0, 0x43, 0x3d, 0xc8, 0x43, 0x39, 0xc8, 0x01, 0x29, 0xf0,
|
||||
0x81, 0x3d, 0x94, 0xc3, 0x38, 0xd0, 0xc3, 0x3b, 0xc8, 0x03, 0x1f, 0x98,
|
||||
0x03, 0x3b, 0xbc, 0x43, 0x38, 0xd0, 0x03, 0x1b, 0x80, 0x01, 0x1d, 0xf8,
|
||||
0x01, 0x18, 0xf8, 0x81, 0x1e, 0xe8, 0x41, 0x3b, 0xa4, 0x03, 0x3c, 0xcc,
|
||||
0xc3, 0x2f, 0xd0, 0x43, 0x3e, 0xc0, 0x43, 0x39, 0xa0, 0x80, 0x98, 0x49,
|
||||
0x0c, 0xc6, 0x81, 0x1d, 0xc2, 0x61, 0x1e, 0xe6, 0xc1, 0x0d, 0x68, 0xa1,
|
||||
0x1c, 0xf0, 0x81, 0x1e, 0xea, 0x41, 0x1e, 0xca, 0x41, 0x0e, 0x48, 0x81,
|
||||
0x0f, 0xec, 0xa1, 0x1c, 0xc6, 0x81, 0x1e, 0xde, 0x41, 0x1e, 0xf8, 0xc0,
|
||||
0x1c, 0xd8, 0xe1, 0x1d, 0xc2, 0x81, 0x1e, 0xd8, 0x00, 0x0c, 0xe8, 0xc0,
|
||||
0x0f, 0xc0, 0xc0, 0x0f, 0x90, 0x80, 0x65, 0xa4, 0x5d, 0xc2, 0x39, 0x8d,
|
||||
0x34, 0x01, 0xcd, 0x24, 0x21, 0x02, 0xc3, 0x30, 0x8c, 0xb8, 0x9b, 0xa4,
|
||||
0x29, 0xa2, 0x84, 0xc9, 0x67, 0x01, 0xe6, 0x59, 0x88, 0x88, 0x9d, 0x80,
|
||||
0x89, 0x40, 0x01, 0x41, 0x5e, 0x3a, 0x10, 0x00, 0x00, 0x13, 0x14, 0x72,
|
||||
0xc0, 0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72,
|
||||
0xc0, 0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e,
|
||||
0x6d, 0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07,
|
||||
0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e,
|
||||
0x78, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07,
|
||||
0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07,
|
||||
0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07,
|
||||
0x74, 0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0, 0x07, 0x73, 0x20, 0x07,
|
||||
0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06,
|
||||
0xe6, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e,
|
||||
0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07,
|
||||
0x76, 0x40, 0x07, 0x43, 0x9e, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10, 0x20, 0x00, 0x04, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4, 0x79, 0x80, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xc8, 0x23, 0x01,
|
||||
0x01, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x90, 0xa7,
|
||||
0x02, 0x02, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x2c,
|
||||
0x10, 0x14, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x18, 0x19, 0x11, 0x4c,
|
||||
0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22, 0x4a, 0x60, 0x04,
|
||||
0xa0, 0x18, 0x8a, 0xa0, 0x24, 0x0a, 0x30, 0xa0, 0x0c, 0xca, 0xa1, 0x40,
|
||||
0x0a, 0xa8, 0xc0, 0xca, 0xa3, 0x8c, 0x0a, 0x81, 0x8a, 0x92, 0x28, 0x83,
|
||||
0x42, 0x18, 0x01, 0x28, 0x82, 0x02, 0x21, 0xaa, 0x06, 0x68, 0x9b, 0x01,
|
||||
0x20, 0x6e, 0x06, 0x80, 0xba, 0x19, 0x00, 0xfa, 0x66, 0x00, 0x08, 0x1c,
|
||||
0xcb, 0x61, 0x08, 0x00, 0x00, 0x80, 0xe3, 0x00, 0x80, 0x40, 0x20, 0x10,
|
||||
0x00, 0x79, 0x18, 0x00, 0x00, 0xb5, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c,
|
||||
0x90, 0x46, 0x02, 0x13, 0x44, 0x35, 0x18, 0x63, 0x0b, 0x73, 0x3b, 0x03,
|
||||
0xb1, 0x2b, 0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x03, 0x99, 0x71, 0xb9, 0x01,
|
||||
0x41, 0xa1, 0x0b, 0x3b, 0x9b, 0x7b, 0x91, 0x2a, 0x62, 0x2a, 0x0a, 0x9a,
|
||||
0x2a, 0xfa, 0x9a, 0xb9, 0x81, 0x79, 0x31, 0x4b, 0x73, 0x0b, 0x63, 0x4b,
|
||||
0xd9, 0x10, 0x04, 0x13, 0x04, 0xe2, 0x98, 0x20, 0x10, 0xc8, 0x06, 0x61,
|
||||
0x20, 0x36, 0x08, 0x04, 0x41, 0x01, 0x6e, 0x6e, 0x82, 0x40, 0x24, 0x1b,
|
||||
0x86, 0x03, 0x21, 0x26, 0x08, 0x1b, 0xc7, 0x85, 0x0e, 0xad, 0x8c, 0xaa,
|
||||
0x0c, 0x8f, 0xae, 0x4e, 0xae, 0x2c, 0x6b, 0x82, 0x40, 0x28, 0x13, 0x04,
|
||||
0x62, 0xd9, 0x20, 0x10, 0xcd, 0x86, 0x84, 0x50, 0x16, 0x82, 0x18, 0x18,
|
||||
0xc2, 0xe1, 0x42, 0x87, 0x56, 0x46, 0x55, 0x86, 0x47, 0x57, 0x27, 0x57,
|
||||
0x56, 0xb5, 0x21, 0x19, 0x14, 0x88, 0x18, 0x06, 0x86, 0x70, 0xb8, 0xd0,
|
||||
0xa1, 0x95, 0x51, 0x95, 0xe1, 0xd1, 0xd5, 0xc9, 0x95, 0x59, 0x6d, 0x48,
|
||||
0x18, 0x45, 0x22, 0x98, 0x81, 0x21, 0x9c, 0x0d, 0xc3, 0x13, 0x4d, 0x13,
|
||||
0x84, 0xce, 0x63, 0x32, 0xf4, 0xe6, 0x36, 0x47, 0x17, 0xe6, 0x46, 0x37,
|
||||
0x37, 0x41, 0x20, 0x98, 0x0d, 0x08, 0x51, 0x59, 0xc4, 0x30, 0x5c, 0xc0,
|
||||
0x86, 0x00, 0x9b, 0x20, 0x7c, 0x1f, 0x15, 0x3a, 0xb4, 0xb2, 0xa9, 0xb0,
|
||||
0x36, 0x38, 0xb6, 0x32, 0xb9, 0x0d, 0x08, 0xa1, 0x6d, 0x04, 0x31, 0x10,
|
||||
0xc0, 0x86, 0x80, 0xdb, 0x40, 0x50, 0x40, 0xd6, 0x4d, 0x10, 0xb8, 0x8e,
|
||||
0x47, 0xd6, 0x9b, 0x99, 0xd9, 0x5c, 0x19, 0xdd, 0x04, 0x81, 0x68, 0x26,
|
||||
0x08, 0x84, 0x33, 0x41, 0xa0, 0xb6, 0x0d, 0x08, 0x02, 0x06, 0x61, 0x40,
|
||||
0x88, 0x41, 0xd3, 0x8c, 0x01, 0x0d, 0xa9, 0xb1, 0xb7, 0x32, 0x33, 0xb3,
|
||||
0x09, 0x02, 0xf1, 0x6c, 0x30, 0x90, 0x32, 0x08, 0x03, 0x33, 0x10, 0x83,
|
||||
0x86, 0xc6, 0xd1, 0xd8, 0x5b, 0x99, 0x99, 0xd9, 0x04, 0x81, 0x80, 0x36,
|
||||
0x18, 0x08, 0x1a, 0x84, 0x41, 0x1a, 0x88, 0x41, 0x43, 0x43, 0x68, 0xec,
|
||||
0xad, 0xcc, 0xcc, 0x6c, 0x82, 0x40, 0x44, 0x1b, 0x0c, 0x64, 0x0d, 0xc2,
|
||||
0x80, 0x0d, 0xc4, 0xa0, 0xd9, 0x50, 0x5c, 0x64, 0x70, 0x06, 0x6a, 0xd0,
|
||||
0x06, 0x1b, 0x06, 0xe2, 0x73, 0x83, 0x09, 0x82, 0x00, 0x6c, 0x00, 0x36,
|
||||
0x0c, 0x44, 0x1c, 0xc4, 0xc1, 0x86, 0x40, 0x0e, 0x36, 0x0c, 0x03, 0x1c,
|
||||
0xcc, 0xc1, 0x04, 0x01, 0x0c, 0xc0, 0x60, 0x43, 0x50, 0x07, 0x24, 0xda,
|
||||
0xc2, 0xd2, 0xdc, 0xb8, 0x4c, 0x59, 0x7d, 0x41, 0xbd, 0xcd, 0xa5, 0xd1,
|
||||
0xa5, 0xbd, 0xb9, 0x4d, 0x10, 0x8a, 0x6a, 0x82, 0x50, 0x58, 0x1b, 0x02,
|
||||
0x62, 0x82, 0x50, 0x5c, 0x13, 0x84, 0x02, 0xdb, 0xb0, 0x10, 0x78, 0x90,
|
||||
0x07, 0x7a, 0xb0, 0x07, 0x7c, 0x30, 0xf0, 0x01, 0xd1, 0x07, 0x00, 0x11,
|
||||
0xaa, 0x22, 0xac, 0xa1, 0xa7, 0x27, 0x29, 0xa2, 0x09, 0x42, 0x91, 0x6d,
|
||||
0x10, 0xc2, 0x20, 0x0c, 0x36, 0x2c, 0xc3, 0x1f, 0xe4, 0x41, 0x1f, 0xec,
|
||||
0x01, 0x28, 0x0c, 0xa0, 0x30, 0xf4, 0x41, 0x28, 0xb0, 0x18, 0x7a, 0x62,
|
||||
0x7a, 0x92, 0x9a, 0x20, 0x10, 0xd2, 0x06, 0x21, 0x0c, 0x48, 0x61, 0xc3,
|
||||
0xc2, 0x8c, 0x42, 0x1e, 0xf4, 0xc1, 0x1e, 0x80, 0xc2, 0xc0, 0x07, 0x4c,
|
||||
0x1f, 0x94, 0xc2, 0x86, 0xc1, 0x0f, 0x44, 0xc1, 0x14, 0x98, 0x4c, 0x59,
|
||||
0x7d, 0x51, 0x85, 0xc9, 0x9d, 0x95, 0xd1, 0x4d, 0x10, 0x0a, 0x6d, 0xc3,
|
||||
0x42, 0xa0, 0x42, 0x1e, 0xa4, 0xc2, 0x1e, 0xf4, 0xc1, 0xc0, 0x07, 0x44,
|
||||
0x1f, 0x94, 0xc2, 0x86, 0x40, 0x15, 0x36, 0x0c, 0xa7, 0xb0, 0x0a, 0xc0,
|
||||
0x86, 0x02, 0x0e, 0xee, 0x80, 0x15, 0x3c, 0x80, 0x86, 0x19, 0xdb, 0x5b,
|
||||
0x18, 0xdd, 0x1c, 0x8b, 0x34, 0xb7, 0x39, 0xba, 0xb9, 0x09, 0x02, 0x31,
|
||||
0xd1, 0x98, 0x4b, 0x3b, 0xfb, 0x62, 0x23, 0xa3, 0x31, 0x97, 0x76, 0xf6,
|
||||
0x35, 0x47, 0x37, 0x41, 0x20, 0x28, 0x22, 0x74, 0x65, 0x78, 0x5f, 0x6e,
|
||||
0x6f, 0x72, 0x6d, 0x1b, 0x14, 0x57, 0x68, 0x5e, 0x01, 0x16, 0x62, 0x01,
|
||||
0x91, 0x85, 0x59, 0xa0, 0x85, 0x30, 0xa8, 0xc2, 0xc6, 0x66, 0xd7, 0xe6,
|
||||
0x92, 0x46, 0x56, 0xe6, 0x46, 0x37, 0x25, 0x08, 0xaa, 0x90, 0xe1, 0xb9,
|
||||
0xd8, 0x95, 0xc9, 0xcd, 0xa5, 0xbd, 0xb9, 0x4d, 0x09, 0x88, 0x26, 0x64,
|
||||
0x78, 0x2e, 0x76, 0x61, 0x6c, 0x76, 0x65, 0x72, 0x53, 0x82, 0xa2, 0x0e,
|
||||
0x19, 0x9e, 0xcb, 0x1c, 0x5a, 0x18, 0x59, 0x99, 0x5c, 0xd3, 0x1b, 0x59,
|
||||
0x19, 0xdb, 0x94, 0x00, 0x29, 0x43, 0x86, 0xe7, 0x22, 0x57, 0x36, 0xf7,
|
||||
0x56, 0x27, 0x37, 0x56, 0x36, 0x37, 0x25, 0xe8, 0x2a, 0x91, 0xe1, 0xb9,
|
||||
0xd0, 0xe5, 0xc1, 0x95, 0x05, 0xb9, 0xb9, 0xbd, 0xd1, 0x85, 0xd1, 0xa5,
|
||||
0xbd, 0xb9, 0xcd, 0x4d, 0x11, 0xdc, 0x60, 0x0e, 0xea, 0x90, 0xe1, 0xb9,
|
||||
0xd8, 0xa5, 0x95, 0xdd, 0x25, 0x91, 0x4d, 0xd1, 0x85, 0xd1, 0x95, 0x4d,
|
||||
0x09, 0xea, 0xa0, 0x0e, 0x19, 0x9e, 0x4b, 0x99, 0x1b, 0x9d, 0x5c, 0x1e,
|
||||
0xd4, 0x5b, 0x9a, 0x1b, 0xdd, 0xdc, 0x94, 0x80, 0x15, 0xba, 0x90, 0xe1,
|
||||
0xb9, 0x8c, 0xbd, 0xd5, 0xb9, 0xd1, 0x95, 0xc9, 0xcd, 0x4d, 0x09, 0x68,
|
||||
0x01, 0x79, 0x18, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80,
|
||||
0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84,
|
||||
0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c,
|
||||
0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42,
|
||||
0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88,
|
||||
0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c,
|
||||
0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b, 0x08, 0x07, 0x79,
|
||||
0x48, 0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76, 0x78, 0x87, 0x70,
|
||||
0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f,
|
||||
0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4,
|
||||
0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30,
|
||||
0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc,
|
||||
0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b,
|
||||
0x68, 0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37, 0x80, 0x87, 0x70,
|
||||
0x90, 0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76, 0xf8, 0x05, 0x76,
|
||||
0x78, 0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71, 0x18, 0x87, 0x72,
|
||||
0x98, 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e,
|
||||
0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1,
|
||||
0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21,
|
||||
0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8,
|
||||
0x43, 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94,
|
||||
0x43, 0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc,
|
||||
0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x0c, 0xc4, 0x21, 0x07, 0x7c,
|
||||
0x70, 0x03, 0x7a, 0x28, 0x87, 0x76, 0x80, 0x87, 0x19, 0xd1, 0x43, 0x0e,
|
||||
0xf8, 0xe0, 0x06, 0xe4, 0x20, 0x0e, 0xe7, 0xe0, 0x06, 0xf6, 0x10, 0x0e,
|
||||
0xf2, 0xc0, 0x0e, 0xe1, 0x90, 0x0f, 0xef, 0x50, 0x0f, 0xf4, 0x00, 0x00,
|
||||
0x00, 0x71, 0x20, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x56, 0xb0, 0x0d,
|
||||
0x97, 0xef, 0x3c, 0xbe, 0x10, 0x50, 0x45, 0x41, 0x44, 0xa5, 0x03, 0x0c,
|
||||
0x25, 0x61, 0x00, 0x02, 0xe6, 0x17, 0xb7, 0x6d, 0x06, 0xd2, 0x70, 0xf9,
|
||||
0xce, 0xe3, 0x0b, 0x11, 0x01, 0x4c, 0x44, 0x08, 0x34, 0xc3, 0x42, 0x18,
|
||||
0x81, 0x33, 0x5c, 0xbe, 0xf3, 0xf8, 0x83, 0x33, 0xdd, 0x7e, 0x71, 0xdb,
|
||||
0x16, 0x30, 0x0d, 0x97, 0xef, 0x3c, 0xfe, 0xe2, 0x00, 0x83, 0xd8, 0x3c,
|
||||
0xd4, 0xe4, 0x17, 0xb7, 0x6d, 0x03, 0xd0, 0x70, 0xf9, 0xce, 0xe3, 0x4b,
|
||||
0x00, 0xf3, 0x2c, 0x84, 0x5f, 0xdc, 0xb6, 0x09, 0x54, 0xc3, 0xe5, 0x3b,
|
||||
0x8f, 0x2f, 0x4d, 0x4e, 0x44, 0xa0, 0xd4, 0xf4, 0x50, 0x93, 0x5f, 0xdc,
|
||||
0xb6, 0x01, 0x10, 0x0c, 0x80, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x48, 0x41, 0x53, 0x48, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x36, 0xf8, 0x66, 0x90, 0xbe, 0x5e, 0x14, 0x1a, 0x05, 0x6e, 0xf7,
|
||||
0xb0, 0xf6, 0x79, 0xf6, 0xae, 0x44, 0x58, 0x49, 0x4c, 0x70, 0x08, 0x00,
|
||||
0x00, 0x60, 0x00, 0x00, 0x00, 0x1c, 0x02, 0x00, 0x00, 0x44, 0x58, 0x49,
|
||||
0x4c, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x58, 0x08, 0x00,
|
||||
0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0x13, 0x02, 0x00,
|
||||
0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00,
|
||||
0x00, 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32,
|
||||
0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b,
|
||||
0x62, 0x80, 0x18, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42, 0xc4, 0x10, 0x32,
|
||||
0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x62, 0x88, 0x48, 0x90, 0x14,
|
||||
0x20, 0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e,
|
||||
0x90, 0x11, 0x23, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5,
|
||||
0x8a, 0x04, 0x31, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00,
|
||||
0x00, 0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8,
|
||||
0x0d, 0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86,
|
||||
0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8, 0x00, 0x49, 0x18, 0x00,
|
||||
0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x42, 0x20, 0x4c, 0x08,
|
||||
0x06, 0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00, 0x51, 0x00, 0x00,
|
||||
0x00, 0x32, 0x22, 0x88, 0x09, 0x20, 0x64, 0x85, 0x04, 0x13, 0x23, 0xa4,
|
||||
0x84, 0x04, 0x13, 0x23, 0xe3, 0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8c,
|
||||
0x8c, 0x0b, 0x84, 0xc4, 0x4c, 0x10, 0x84, 0xc1, 0x08, 0x40, 0x09, 0x00,
|
||||
0x0a, 0x66, 0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00, 0x29, 0xc6, 0x40,
|
||||
0x10, 0x44, 0x41, 0x90, 0x51, 0x0c, 0x80, 0x20, 0x88, 0x62, 0x20, 0xe4,
|
||||
0xa6, 0xe1, 0xf2, 0x27, 0xec, 0x21, 0x24, 0x7f, 0x25, 0xa4, 0x95, 0x98,
|
||||
0xfc, 0xe2, 0xb6, 0x51, 0x31, 0x0c, 0xc3, 0x40, 0x50, 0x71, 0xcf, 0x70,
|
||||
0xf9, 0x13, 0xf6, 0x10, 0x92, 0x1f, 0x02, 0xcd, 0xb0, 0x10, 0x28, 0x58,
|
||||
0x0a, 0xa3, 0x10, 0x0c, 0x33, 0x0c, 0xc3, 0x40, 0x10, 0xc4, 0x40, 0x4d,
|
||||
0x41, 0x06, 0x62, 0x18, 0x86, 0x61, 0x18, 0xe8, 0x39, 0x6a, 0xb8, 0xfc,
|
||||
0x09, 0x7b, 0x08, 0xc9, 0xe7, 0x36, 0xaa, 0x58, 0x89, 0xc9, 0x2f, 0x6e,
|
||||
0x1b, 0x11, 0xc3, 0x30, 0x0c, 0x85, 0x88, 0x08, 0x86, 0x20, 0x69, 0x8e,
|
||||
0x20, 0x28, 0x06, 0x43, 0x14, 0x04, 0x41, 0x51, 0x35, 0x10, 0x30, 0x8c,
|
||||
0x40, 0x0c, 0x33, 0xb5, 0xc1, 0x38, 0xb0, 0x43, 0x38, 0xcc, 0xc3, 0x3c,
|
||||
0xb8, 0x01, 0x2d, 0x94, 0x03, 0x3e, 0xd0, 0x43, 0x3d, 0xc8, 0x43, 0x39,
|
||||
0xc8, 0x01, 0x29, 0xf0, 0x81, 0x3d, 0x94, 0xc3, 0x38, 0xd0, 0xc3, 0x3b,
|
||||
0xc8, 0x03, 0x1f, 0x98, 0x03, 0x3b, 0xbc, 0x43, 0x38, 0xd0, 0x03, 0x1b,
|
||||
0x80, 0x01, 0x1d, 0xf8, 0x01, 0x18, 0xf8, 0x81, 0x1e, 0xe8, 0x41, 0x3b,
|
||||
0xa4, 0x03, 0x3c, 0xcc, 0xc3, 0x2f, 0xd0, 0x43, 0x3e, 0xc0, 0x43, 0x39,
|
||||
0xa0, 0x80, 0x98, 0x49, 0x0c, 0xc6, 0x81, 0x1d, 0xc2, 0x61, 0x1e, 0xe6,
|
||||
0xc1, 0x0d, 0x68, 0xa1, 0x1c, 0xf0, 0x81, 0x1e, 0xea, 0x41, 0x1e, 0xca,
|
||||
0x41, 0x0e, 0x48, 0x81, 0x0f, 0xec, 0xa1, 0x1c, 0xc6, 0x81, 0x1e, 0xde,
|
||||
0x41, 0x1e, 0xf8, 0xc0, 0x1c, 0xd8, 0xe1, 0x1d, 0xc2, 0x81, 0x1e, 0xd8,
|
||||
0x00, 0x0c, 0xe8, 0xc0, 0x0f, 0xc0, 0xc0, 0x0f, 0x90, 0x80, 0x65, 0xa4,
|
||||
0x5d, 0xc2, 0x39, 0x8d, 0x34, 0x01, 0xcd, 0x24, 0x21, 0x02, 0xc3, 0x30,
|
||||
0x8c, 0xb8, 0x9b, 0xa4, 0x29, 0xa2, 0x84, 0xc9, 0x67, 0x01, 0xe6, 0x59,
|
||||
0x88, 0x88, 0x9d, 0x80, 0x89, 0x40, 0x01, 0x41, 0x5e, 0x3a, 0x10, 0x00,
|
||||
0x00, 0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87,
|
||||
0x79, 0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0,
|
||||
0x0e, 0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0,
|
||||
0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20,
|
||||
0x07, 0x6d, 0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90,
|
||||
0x0e, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30,
|
||||
0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40,
|
||||
0x07, 0x7a, 0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0,
|
||||
0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30,
|
||||
0x07, 0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40,
|
||||
0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30,
|
||||
0x07, 0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10,
|
||||
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10,
|
||||
0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2,
|
||||
0x34, 0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30,
|
||||
0xe4, 0x79, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x60, 0xc8, 0x23, 0x01, 0x01, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xc0, 0x90, 0xa7, 0x02, 0x02, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x80, 0x2c, 0x10, 0x11, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98,
|
||||
0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43,
|
||||
0x22, 0x4a, 0x60, 0x04, 0xa0, 0x18, 0x8a, 0xa0, 0x24, 0x0a, 0x30, 0xa0,
|
||||
0x0c, 0xca, 0x83, 0x8a, 0x92, 0x28, 0x83, 0x42, 0x18, 0x01, 0x28, 0x82,
|
||||
0x02, 0xa1, 0x6d, 0x06, 0x80, 0xba, 0x19, 0x00, 0xfa, 0x66, 0x00, 0x08,
|
||||
0x1c, 0xcb, 0x61, 0x08, 0x00, 0x00, 0x80, 0xe3, 0x00, 0x80, 0x40, 0x20,
|
||||
0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x70, 0x00, 0x00,
|
||||
0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44, 0x35, 0x18, 0x63,
|
||||
0x0b, 0x73, 0x3b, 0x03, 0xb1, 0x2b, 0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x03,
|
||||
0x99, 0x71, 0xb9, 0x01, 0x41, 0xa1, 0x0b, 0x3b, 0x9b, 0x7b, 0x91, 0x2a,
|
||||
0x62, 0x2a, 0x0a, 0x9a, 0x2a, 0xfa, 0x9a, 0xb9, 0x81, 0x79, 0x31, 0x4b,
|
||||
0x73, 0x0b, 0x63, 0x4b, 0xd9, 0x10, 0x04, 0x13, 0x04, 0xe2, 0x98, 0x20,
|
||||
0x10, 0xc8, 0x06, 0x61, 0x20, 0x26, 0x08, 0x44, 0xb2, 0x41, 0x18, 0x0c,
|
||||
0x0a, 0x70, 0x73, 0x1b, 0x06, 0xc4, 0x20, 0x26, 0x08, 0x5b, 0x45, 0x60,
|
||||
0x82, 0x40, 0x28, 0x13, 0x04, 0x62, 0xd9, 0x20, 0x10, 0xcd, 0x86, 0x84,
|
||||
0x50, 0x16, 0x82, 0x18, 0x18, 0xc2, 0xd9, 0x90, 0x0c, 0xca, 0x42, 0x0c,
|
||||
0x03, 0x43, 0x38, 0x1b, 0x12, 0x46, 0x59, 0x08, 0x66, 0x60, 0x08, 0x67,
|
||||
0xc3, 0xf0, 0x40, 0xd1, 0x04, 0xa1, 0xb3, 0x26, 0x08, 0x04, 0xb3, 0x01,
|
||||
0x21, 0xa6, 0x85, 0x18, 0x06, 0x0a, 0xd8, 0x10, 0x54, 0x13, 0x84, 0xef,
|
||||
0xda, 0x80, 0x10, 0xd7, 0x42, 0x10, 0x03, 0x01, 0x6c, 0x08, 0xb0, 0x0d,
|
||||
0x84, 0x04, 0x58, 0xd9, 0x04, 0x01, 0x0c, 0xb0, 0x0d, 0xc1, 0x36, 0x41,
|
||||
0x10, 0x00, 0x12, 0x6d, 0x61, 0x69, 0x6e, 0x5c, 0xa6, 0xac, 0xbe, 0xa0,
|
||||
0xde, 0xe6, 0xd2, 0xe8, 0xd2, 0xde, 0xdc, 0x26, 0x08, 0xc5, 0x33, 0x41,
|
||||
0x28, 0xa0, 0x0d, 0x01, 0x31, 0x41, 0x28, 0xa2, 0x09, 0x42, 0x21, 0x6d,
|
||||
0x58, 0x88, 0x0f, 0x0c, 0xc2, 0x40, 0x0c, 0xc6, 0x60, 0x18, 0x03, 0x82,
|
||||
0x0c, 0x00, 0x22, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x13,
|
||||
0x84, 0x62, 0x9a, 0x20, 0x10, 0xcd, 0x06, 0x01, 0x0d, 0xd0, 0x60, 0xc3,
|
||||
0x32, 0x98, 0x01, 0x18, 0x90, 0x81, 0x18, 0x9c, 0xc1, 0x70, 0x06, 0x03,
|
||||
0x19, 0xa4, 0x01, 0x8b, 0xa1, 0x27, 0xa6, 0x27, 0xa9, 0x09, 0x02, 0xe1,
|
||||
0x6c, 0x10, 0xd0, 0x80, 0x0d, 0x36, 0x2c, 0xcc, 0x1a, 0x80, 0x01, 0x19,
|
||||
0x88, 0xc1, 0x19, 0x0c, 0x63, 0xc0, 0x90, 0x41, 0x1b, 0x6c, 0x18, 0xca,
|
||||
0x40, 0x0d, 0xdc, 0x80, 0xc9, 0x94, 0xd5, 0x17, 0x55, 0x98, 0xdc, 0x59,
|
||||
0x19, 0xdd, 0x04, 0xa1, 0xa0, 0x36, 0x2c, 0x04, 0x1c, 0x80, 0x41, 0x1c,
|
||||
0x88, 0x01, 0x19, 0x0c, 0x63, 0x40, 0x90, 0x41, 0x1b, 0x6c, 0x08, 0xe4,
|
||||
0x60, 0xc3, 0xf0, 0x06, 0x73, 0x00, 0x6c, 0x28, 0x3a, 0x8f, 0x0e, 0x34,
|
||||
0xa0, 0x0a, 0x1b, 0x9b, 0x5d, 0x9b, 0x4b, 0x1a, 0x59, 0x99, 0x1b, 0xdd,
|
||||
0x94, 0x20, 0xa8, 0x42, 0x86, 0xe7, 0x62, 0x57, 0x26, 0x37, 0x97, 0xf6,
|
||||
0xe6, 0x36, 0x25, 0x20, 0x9a, 0x90, 0xe1, 0xb9, 0xd8, 0x85, 0xb1, 0xd9,
|
||||
0x95, 0xc9, 0x4d, 0x09, 0x8c, 0x3a, 0x64, 0x78, 0x2e, 0x73, 0x68, 0x61,
|
||||
0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x02, 0xa4, 0x0c,
|
||||
0x19, 0x9e, 0x8b, 0x5c, 0xd9, 0xdc, 0x5b, 0x9d, 0xdc, 0x58, 0xd9, 0xdc,
|
||||
0x94, 0x20, 0xab, 0x43, 0x86, 0xe7, 0x62, 0x97, 0x56, 0x76, 0x97, 0x44,
|
||||
0x36, 0x45, 0x17, 0x46, 0x57, 0x36, 0x25, 0xd8, 0xea, 0x90, 0xe1, 0xb9,
|
||||
0x94, 0xb9, 0xd1, 0xc9, 0xe5, 0x41, 0xbd, 0xa5, 0xb9, 0xd1, 0xcd, 0x4d,
|
||||
0x09, 0xe8, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x4c, 0x00, 0x00,
|
||||
0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d,
|
||||
0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07,
|
||||
0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80,
|
||||
0x0e, 0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66,
|
||||
0x30, 0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d,
|
||||
0xc8, 0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07,
|
||||
0x7b, 0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03,
|
||||
0x76, 0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90,
|
||||
0x0e, 0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50,
|
||||
0x0e, 0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2,
|
||||
0x61, 0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39,
|
||||
0xb4, 0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14,
|
||||
0x76, 0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07,
|
||||
0x37, 0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07,
|
||||
0x76, 0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87,
|
||||
0x71, 0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0,
|
||||
0x0e, 0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8,
|
||||
0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc,
|
||||
0x61, 0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6,
|
||||
0x90, 0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39,
|
||||
0xb8, 0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f,
|
||||
0xbc, 0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x0c,
|
||||
0xc4, 0x21, 0x07, 0x7c, 0x70, 0x03, 0x7a, 0x28, 0x87, 0x76, 0x80, 0x87,
|
||||
0x19, 0xd1, 0x43, 0x0e, 0xf8, 0xe0, 0x06, 0xe4, 0x20, 0x0e, 0xe7, 0xe0,
|
||||
0x06, 0xf6, 0x10, 0x0e, 0xf2, 0xc0, 0x0e, 0xe1, 0x90, 0x0f, 0xef, 0x50,
|
||||
0x0f, 0xf4, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x1b, 0x00, 0x00,
|
||||
0x00, 0x56, 0xb0, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10, 0x50, 0x45, 0x41,
|
||||
0x44, 0xa5, 0x03, 0x0c, 0x25, 0x61, 0x00, 0x02, 0xe6, 0x17, 0xb7, 0x6d,
|
||||
0x06, 0xd2, 0x70, 0xf9, 0xce, 0xe3, 0x0b, 0x11, 0x01, 0x4c, 0x44, 0x08,
|
||||
0x34, 0xc3, 0x42, 0x18, 0x81, 0x33, 0x5c, 0xbe, 0xf3, 0xf8, 0x83, 0x33,
|
||||
0xdd, 0x7e, 0x71, 0xdb, 0x16, 0x30, 0x0d, 0x97, 0xef, 0x3c, 0xfe, 0xe2,
|
||||
0x00, 0x83, 0xd8, 0x3c, 0xd4, 0xe4, 0x17, 0xb7, 0x6d, 0x03, 0xd0, 0x70,
|
||||
0xf9, 0xce, 0xe3, 0x4b, 0x00, 0xf3, 0x2c, 0x84, 0x5f, 0xdc, 0xb6, 0x09,
|
||||
0x54, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x4d, 0x4e, 0x44, 0xa0, 0xd4, 0xf4,
|
||||
0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x01, 0x10, 0x0c, 0x80, 0x34, 0x00, 0x00,
|
||||
0x00, 0x61, 0x20, 0x00, 0x00, 0x6f, 0x00, 0x00, 0x00, 0x13, 0x04, 0x41,
|
||||
0x2c, 0x10, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x44, 0x8d, 0x00,
|
||||
0x50, 0x51, 0x02, 0x44, 0x94, 0x5d, 0xb9, 0x15, 0x5e, 0x29, 0x94, 0xdc,
|
||||
0x0c, 0x40, 0x21, 0xd0, 0x30, 0x46, 0x50, 0x9e, 0x74, 0xe9, 0x7f, 0x63,
|
||||
0x04, 0xa2, 0x3e, 0xb7, 0xf3, 0x2f, 0x8c, 0x11, 0x80, 0xef, 0x0a, 0xae,
|
||||
0xbf, 0x30, 0x46, 0xc0, 0x97, 0xbd, 0xb9, 0x7f, 0x23, 0x00, 0x63, 0x04,
|
||||
0x20, 0x08, 0x82, 0xf8, 0x37, 0x03, 0x00, 0x00, 0x00, 0x23, 0x06, 0x09,
|
||||
0x00, 0x82, 0x60, 0x50, 0x8d, 0x81, 0x72, 0x7d, 0x1f, 0x34, 0x62, 0x90,
|
||||
0x00, 0x20, 0x08, 0x06, 0x15, 0x19, 0x2c, 0xd8, 0x18, 0x8c, 0x41, 0x34,
|
||||
0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x55, 0x19, 0x30, 0xd9, 0x18, 0x8c,
|
||||
0x81, 0x34, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x95, 0x19, 0x34, 0x1c,
|
||||
0x19, 0x90, 0xc1, 0x34, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0xd5, 0x19,
|
||||
0x38, 0x5a, 0x19, 0x98, 0x01, 0x35, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06,
|
||||
0x46, 0x1b, 0x34, 0x64, 0x60, 0x06, 0x9c, 0x33, 0x62, 0x90, 0x00, 0x20,
|
||||
0x08, 0x06, 0x86, 0x1b, 0x38, 0x65, 0x70, 0x06, 0xd5, 0x33, 0x62, 0x90,
|
||||
0x00, 0x20, 0x08, 0x06, 0xc6, 0x1b, 0x3c, 0x66, 0x80, 0x06, 0x1d, 0x34,
|
||||
0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x06, 0x1c, 0x40, 0x67, 0x90, 0x06,
|
||||
0x61, 0x10, 0x8d, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x11, 0x07, 0xd1,
|
||||
0x1a, 0xa8, 0x01, 0x18, 0x48, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x60,
|
||||
0xc8, 0x81, 0xc4, 0x06, 0x6b, 0x90, 0x4d, 0x23, 0x06, 0x0f, 0x00, 0x82,
|
||||
0x60, 0xd0, 0xc4, 0xc1, 0x95, 0x20, 0x42, 0xc0, 0x30, 0x6c, 0xc0, 0x06,
|
||||
0x14, 0x33, 0x9a, 0x10, 0x00, 0x23, 0x06, 0x0f, 0x00, 0x82, 0x60, 0xd0,
|
||||
0xcc, 0x41, 0xc6, 0x28, 0xc4, 0xe0, 0x38, 0x6e, 0xe0, 0x06, 0x96, 0x33,
|
||||
0x9a, 0x10, 0x00, 0x23, 0x06, 0x0f, 0x00, 0x82, 0x60, 0xd0, 0xd4, 0xc1,
|
||||
0xf6, 0x30, 0x46, 0x01, 0x41, 0x70, 0x00, 0x07, 0x18, 0x34, 0x9a, 0x10,
|
||||
0x00, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60, 0x20, 0xd5, 0xc1, 0xd7, 0xc8,
|
||||
0xc1, 0x68, 0x42, 0x00, 0x8c, 0x26, 0x08, 0xc1, 0x68, 0xc2, 0x20, 0xd8,
|
||||
0x90, 0xc0, 0xc7, 0x06, 0x04, 0x3e, 0x36, 0x1c, 0xf0, 0x19, 0x31, 0x58,
|
||||
0x00, 0x10, 0x04, 0x83, 0xa7, 0x0f, 0xca, 0x60, 0x10, 0x02, 0x6d, 0xe3,
|
||||
0x46, 0x0c, 0x16, 0x00, 0x04, 0xc1, 0xe0, 0xf1, 0x03, 0x33, 0x20, 0x06,
|
||||
0x61, 0xf3, 0xbe, 0x11, 0x83, 0x05, 0x00, 0x41, 0x30, 0x78, 0xfe, 0xe0,
|
||||
0x0c, 0x0a, 0x62, 0xe0, 0xc2, 0xa0, 0xb3, 0xc1, 0x92, 0x8f, 0x0d, 0x96,
|
||||
0x7c, 0x6c, 0xb0, 0xe4, 0x33, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x48,
|
||||
0x29, 0xa4, 0xc1, 0x1f, 0xfc, 0x41, 0x1d, 0x0c, 0x23, 0x06, 0x09, 0x00,
|
||||
0x82, 0x60, 0x80, 0x94, 0x42, 0x1a, 0xfc, 0xc1, 0x1f, 0xb4, 0x81, 0x30,
|
||||
0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x48, 0x29, 0xa4, 0xc1, 0x1f, 0xfc,
|
||||
0x01, 0x1d, 0x04, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x80, 0x94, 0x42,
|
||||
0x1a, 0xfc, 0xc1, 0x1f, 0xdc, 0x81, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00
|
||||
};
|
55
src/render/direct3d12/D3D12_PixelShader_YUV.hlsl
Normal file
55
src/render/direct3d12/D3D12_PixelShader_YUV.hlsl
Normal file
|
@ -0,0 +1,55 @@
|
|||
Texture2D theTextureY : register(t0);
|
||||
Texture2D theTextureU : register(t1);
|
||||
Texture2D theTextureV : register(t2);
|
||||
SamplerState theSampler : register(s0);
|
||||
|
||||
struct PixelShaderInput
|
||||
{
|
||||
float4 pos : SV_POSITION;
|
||||
float2 tex : TEXCOORD0;
|
||||
float4 color : COLOR0;
|
||||
};
|
||||
|
||||
cbuffer Constants : register(b1)
|
||||
{
|
||||
float4 Yoffset;
|
||||
float4 Rcoeff;
|
||||
float4 Gcoeff;
|
||||
float4 Bcoeff;
|
||||
};
|
||||
|
||||
|
||||
#define YUVRS \
|
||||
"RootFlags ( ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT |" \
|
||||
" DENY_DOMAIN_SHADER_ROOT_ACCESS |" \
|
||||
" DENY_GEOMETRY_SHADER_ROOT_ACCESS |" \
|
||||
" DENY_HULL_SHADER_ROOT_ACCESS )," \
|
||||
"RootConstants(num32BitConstants=16, b1),"\
|
||||
"DescriptorTable ( SRV(t0), visibility = SHADER_VISIBILITY_PIXEL ),"\
|
||||
"DescriptorTable ( SRV(t1), visibility = SHADER_VISIBILITY_PIXEL ),"\
|
||||
"DescriptorTable ( SRV(t2), visibility = SHADER_VISIBILITY_PIXEL ),"\
|
||||
"DescriptorTable ( Sampler(s0), visibility = SHADER_VISIBILITY_PIXEL )"
|
||||
|
||||
[RootSignature(YUVRS)]
|
||||
float4 main(PixelShaderInput input) : SV_TARGET
|
||||
{
|
||||
const float3 offset = {0.0, -0.501960814, -0.501960814};
|
||||
const float3 Rcoeff = {1.0000, 0.0000, 1.4020};
|
||||
const float3 Gcoeff = {1.0000, -0.3441, -0.7141};
|
||||
const float3 Bcoeff = {1.0000, 1.7720, 0.0000};
|
||||
|
||||
float4 Output;
|
||||
|
||||
float3 yuv;
|
||||
yuv.x = theTextureY.Sample(theSampler, input.tex).r;
|
||||
yuv.y = theTextureU.Sample(theSampler, input.tex).r;
|
||||
yuv.z = theTextureV.Sample(theSampler, input.tex).r;
|
||||
|
||||
yuv += Yoffset.xyz;
|
||||
Output.r = dot(yuv, Rcoeff.xyz);
|
||||
Output.g = dot(yuv, Gcoeff.xyz);
|
||||
Output.b = dot(yuv, Bcoeff.xyz);
|
||||
Output.a = 1.0f;
|
||||
|
||||
return Output * input.color;
|
||||
}
|
16
src/render/direct3d12/D3D12_RootSig_Color.h
Executable file
16
src/render/direct3d12/D3D12_RootSig_Color.h
Executable file
|
@ -0,0 +1,16 @@
|
|||
#if 0
|
||||
Disassembly failed
|
||||
#endif
|
||||
|
||||
const unsigned char g_ColorRS[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0x31, 0xbf, 0x40, 0x31, 0x79, 0x1f, 0x99, 0xd8,
|
||||
0xf3, 0x2c, 0x12, 0x07, 0x40, 0x16, 0x5c, 0xf4, 0x01, 0x00, 0x00, 0x00,
|
||||
0x74, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
|
||||
0x52, 0x54, 0x53, 0x30, 0x48, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x48, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
27
src/render/direct3d12/D3D12_RootSig_NV.h
Executable file
27
src/render/direct3d12/D3D12_RootSig_NV.h
Executable file
|
@ -0,0 +1,27 @@
|
|||
#if 0
|
||||
Disassembly failed
|
||||
#endif
|
||||
|
||||
const unsigned char g_NVRS[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0x9c, 0x0e, 0x93, 0x02, 0x5b, 0xc1, 0x94, 0xb2,
|
||||
0xc8, 0xbe, 0xbf, 0x7b, 0xa2, 0xb7, 0xb3, 0x59, 0x01, 0x00, 0x00, 0x00,
|
||||
0xf8, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
|
||||
0x52, 0x54, 0x53, 0x30, 0xcc, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x05, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xcc, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x05, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x05, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x05, 0x00, 0x00, 0x00, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0x01, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff
|
||||
};
|
23
src/render/direct3d12/D3D12_RootSig_Texture.h
Executable file
23
src/render/direct3d12/D3D12_RootSig_Texture.h
Executable file
|
@ -0,0 +1,23 @@
|
|||
#if 0
|
||||
Disassembly failed
|
||||
#endif
|
||||
|
||||
const unsigned char g_TextureRS[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0x73, 0x35, 0xf9, 0xf2, 0x72, 0x02, 0x54, 0xfb,
|
||||
0x0b, 0xd1, 0xca, 0xbe, 0xab, 0x3d, 0xab, 0x6e, 0x01, 0x00, 0x00, 0x00,
|
||||
0xcc, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
|
||||
0x52, 0x54, 0x53, 0x30, 0xa0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xa0, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x05, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x05, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff
|
||||
};
|
31
src/render/direct3d12/D3D12_RootSig_YUV.h
Executable file
31
src/render/direct3d12/D3D12_RootSig_YUV.h
Executable file
|
@ -0,0 +1,31 @@
|
|||
#if 0
|
||||
Disassembly failed
|
||||
#endif
|
||||
|
||||
const unsigned char g_YUVRS[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0x7b, 0x5d, 0x13, 0xc6, 0x83, 0xfa, 0x66, 0x6f,
|
||||
0x93, 0x7e, 0xd6, 0xcd, 0x5a, 0x0a, 0x69, 0xe5, 0x01, 0x00, 0x00, 0x00,
|
||||
0x24, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
|
||||
0x52, 0x54, 0x53, 0x30, 0xf8, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x06, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xf8, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x05, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x05, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x05, 0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x05, 0x00, 0x00, 0x00, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0x01, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00,
|
||||
0xe0, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff
|
||||
};
|
98
src/render/direct3d12/D3D12_VertexShader.hlsl
Normal file
98
src/render/direct3d12/D3D12_VertexShader.hlsl
Normal file
|
@ -0,0 +1,98 @@
|
|||
#pragma pack_matrix( row_major )
|
||||
|
||||
cbuffer VertexShaderConstants : register(b0)
|
||||
{
|
||||
matrix model;
|
||||
matrix projectionAndView;
|
||||
};
|
||||
|
||||
struct VertexShaderInput
|
||||
{
|
||||
float3 pos : POSITION;
|
||||
float2 tex : TEXCOORD0;
|
||||
float4 color : COLOR0;
|
||||
};
|
||||
|
||||
struct VertexShaderOutput
|
||||
{
|
||||
float4 pos : SV_POSITION;
|
||||
float2 tex : TEXCOORD0;
|
||||
float4 color : COLOR0;
|
||||
};
|
||||
|
||||
#define ColorRS \
|
||||
"RootFlags ( ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT |" \
|
||||
"DENY_DOMAIN_SHADER_ROOT_ACCESS |" \
|
||||
"DENY_GEOMETRY_SHADER_ROOT_ACCESS |" \
|
||||
"DENY_HULL_SHADER_ROOT_ACCESS )," \
|
||||
"RootConstants(num32BitConstants=32, b0)," \
|
||||
"RootConstants(num32BitConstants=0, b1)"\
|
||||
|
||||
#define TextureRS \
|
||||
"RootFlags ( ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT |" \
|
||||
" DENY_DOMAIN_SHADER_ROOT_ACCESS |" \
|
||||
" DENY_GEOMETRY_SHADER_ROOT_ACCESS |" \
|
||||
" DENY_HULL_SHADER_ROOT_ACCESS )," \
|
||||
"RootConstants(num32BitConstants=32, b0),"\
|
||||
"RootConstants(num32BitConstants=0, b1),"\
|
||||
"DescriptorTable ( SRV(t0), visibility = SHADER_VISIBILITY_PIXEL ),"\
|
||||
"DescriptorTable ( Sampler(s0), visibility = SHADER_VISIBILITY_PIXEL )"
|
||||
|
||||
#define YUVRS \
|
||||
"RootFlags ( ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT |" \
|
||||
" DENY_DOMAIN_SHADER_ROOT_ACCESS |" \
|
||||
" DENY_GEOMETRY_SHADER_ROOT_ACCESS |" \
|
||||
" DENY_HULL_SHADER_ROOT_ACCESS )," \
|
||||
"RootConstants(num32BitConstants=32, b0),"\
|
||||
"RootConstants(num32BitConstants=16, b1),"\
|
||||
"DescriptorTable ( SRV(t0), visibility = SHADER_VISIBILITY_PIXEL ),"\
|
||||
"DescriptorTable ( SRV(t1), visibility = SHADER_VISIBILITY_PIXEL ),"\
|
||||
"DescriptorTable ( SRV(t2), visibility = SHADER_VISIBILITY_PIXEL ),"\
|
||||
"DescriptorTable ( Sampler(s0), visibility = SHADER_VISIBILITY_PIXEL )"
|
||||
|
||||
#define NVRS \
|
||||
"RootFlags ( ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT |" \
|
||||
" DENY_DOMAIN_SHADER_ROOT_ACCESS |" \
|
||||
" DENY_GEOMETRY_SHADER_ROOT_ACCESS |" \
|
||||
" DENY_HULL_SHADER_ROOT_ACCESS )," \
|
||||
"RootConstants(num32BitConstants=32, b0),"\
|
||||
"RootConstants(num32BitConstants=16, b1),"\
|
||||
"DescriptorTable ( SRV(t0), visibility = SHADER_VISIBILITY_PIXEL ),"\
|
||||
"DescriptorTable ( SRV(t1), visibility = SHADER_VISIBILITY_PIXEL ),"\
|
||||
"DescriptorTable ( Sampler(s0), visibility = SHADER_VISIBILITY_PIXEL )"
|
||||
|
||||
[RootSignature(ColorRS)]
|
||||
VertexShaderOutput mainColor(VertexShaderInput input)
|
||||
{
|
||||
VertexShaderOutput output;
|
||||
float4 pos = float4(input.pos, 1.0f);
|
||||
|
||||
// Transform the vertex position into projected space.
|
||||
pos = mul(pos, model);
|
||||
pos = mul(pos, projectionAndView);
|
||||
output.pos = pos;
|
||||
|
||||
// Pass through texture coordinates and color values without transformation
|
||||
output.tex = input.tex;
|
||||
output.color = input.color;
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
[RootSignature(TextureRS)]
|
||||
VertexShaderOutput mainTexture(VertexShaderInput input)
|
||||
{
|
||||
return mainColor(input);
|
||||
}
|
||||
|
||||
[RootSignature(YUVRS)]
|
||||
VertexShaderOutput mainYUV(VertexShaderInput input)
|
||||
{
|
||||
return mainColor(input);
|
||||
}
|
||||
|
||||
[RootSignature(NVRS)]
|
||||
VertexShaderOutput mainNV(VertexShaderInput input)
|
||||
{
|
||||
return mainColor(input);
|
||||
}
|
637
src/render/direct3d12/D3D12_VertexShader_Color.h
Executable file
637
src/render/direct3d12/D3D12_VertexShader_Color.h
Executable file
|
@ -0,0 +1,637 @@
|
|||
#if 0
|
||||
;
|
||||
; Input signature:
|
||||
;
|
||||
; Name Index Mask Register SysValue Format Used
|
||||
; -------------------- ----- ------ -------- -------- ------- ------
|
||||
; POSITION 0 xyz 0 NONE float xyz
|
||||
; TEXCOORD 0 xy 1 NONE float xy
|
||||
; COLOR 0 xyzw 2 NONE float xyzw
|
||||
;
|
||||
;
|
||||
; Output signature:
|
||||
;
|
||||
; Name Index Mask Register SysValue Format Used
|
||||
; -------------------- ----- ------ -------- -------- ------- ------
|
||||
; SV_Position 0 xyzw 0 POS float xyzw
|
||||
; TEXCOORD 0 xy 1 NONE float xy
|
||||
; COLOR 0 xyzw 2 NONE float xyzw
|
||||
;
|
||||
; shader hash: 466968c79e75899fd3e9065346b2df1c
|
||||
;
|
||||
; Pipeline Runtime Information:
|
||||
;
|
||||
; Vertex Shader
|
||||
; OutputPositionPresent=1
|
||||
;
|
||||
;
|
||||
; Input signature:
|
||||
;
|
||||
; Name Index InterpMode DynIdx
|
||||
; -------------------- ----- ---------------------- ------
|
||||
; POSITION 0
|
||||
; TEXCOORD 0
|
||||
; COLOR 0
|
||||
;
|
||||
; Output signature:
|
||||
;
|
||||
; Name Index InterpMode DynIdx
|
||||
; -------------------- ----- ---------------------- ------
|
||||
; SV_Position 0 noperspective
|
||||
; TEXCOORD 0 linear
|
||||
; COLOR 0 linear
|
||||
;
|
||||
; Buffer Definitions:
|
||||
;
|
||||
; cbuffer VertexShaderConstants
|
||||
; {
|
||||
;
|
||||
; struct hostlayout.VertexShaderConstants
|
||||
; {
|
||||
;
|
||||
; row_major float4x4 model; ; Offset: 0
|
||||
; row_major float4x4 projectionAndView; ; Offset: 64
|
||||
;
|
||||
; } VertexShaderConstants; ; Offset: 0 Size: 128
|
||||
;
|
||||
; }
|
||||
;
|
||||
;
|
||||
; Resource Bindings:
|
||||
;
|
||||
; Name Type Format Dim ID HLSL Bind Count
|
||||
; ------------------------------ ---------- ------- ----------- ------- -------------- ------
|
||||
; VertexShaderConstants cbuffer NA NA CB0 cb0 1
|
||||
;
|
||||
;
|
||||
; ViewId state:
|
||||
;
|
||||
; Number of inputs: 12, outputs: 12
|
||||
; Outputs dependent on ViewId: { }
|
||||
; Inputs contributing to computation of Outputs:
|
||||
; output 0 depends on inputs: { 0, 1, 2 }
|
||||
; output 1 depends on inputs: { 0, 1, 2 }
|
||||
; output 2 depends on inputs: { 0, 1, 2 }
|
||||
; output 3 depends on inputs: { 0, 1, 2 }
|
||||
; output 4 depends on inputs: { 4 }
|
||||
; output 5 depends on inputs: { 5 }
|
||||
; output 8 depends on inputs: { 8 }
|
||||
; output 9 depends on inputs: { 9 }
|
||||
; output 10 depends on inputs: { 10 }
|
||||
; output 11 depends on inputs: { 11 }
|
||||
;
|
||||
target datalayout = "e-m:e-p:32:32-i1:32-i8:32-i16:32-i32:32-i64:64-f16:32-f32:32-f64:64-n8:16:32:64"
|
||||
target triple = "dxil-ms-dx"
|
||||
|
||||
%dx.types.Handle = type { i8* }
|
||||
%dx.types.CBufRet.f32 = type { float, float, float, float }
|
||||
%hostlayout.VertexShaderConstants = type { [4 x <4 x float>], [4 x <4 x float>] }
|
||||
|
||||
define void @mainColor() {
|
||||
%1 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 2, i32 0, i32 0, i1 false) ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
|
||||
%2 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 0, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%3 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 1, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%4 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 2, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%5 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 3, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%6 = call float @dx.op.loadInput.f32(i32 4, i32 1, i32 0, i8 0, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%7 = call float @dx.op.loadInput.f32(i32 4, i32 1, i32 0, i8 1, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%8 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 0, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%9 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 1, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%10 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 2, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%11 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 0) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%12 = extractvalue %dx.types.CBufRet.f32 %11, 0
|
||||
%13 = extractvalue %dx.types.CBufRet.f32 %11, 1
|
||||
%14 = extractvalue %dx.types.CBufRet.f32 %11, 2
|
||||
%15 = extractvalue %dx.types.CBufRet.f32 %11, 3
|
||||
%16 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 1) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%17 = extractvalue %dx.types.CBufRet.f32 %16, 0
|
||||
%18 = extractvalue %dx.types.CBufRet.f32 %16, 1
|
||||
%19 = extractvalue %dx.types.CBufRet.f32 %16, 2
|
||||
%20 = extractvalue %dx.types.CBufRet.f32 %16, 3
|
||||
%21 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 2) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%22 = extractvalue %dx.types.CBufRet.f32 %21, 0
|
||||
%23 = extractvalue %dx.types.CBufRet.f32 %21, 1
|
||||
%24 = extractvalue %dx.types.CBufRet.f32 %21, 2
|
||||
%25 = extractvalue %dx.types.CBufRet.f32 %21, 3
|
||||
%26 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 3) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%27 = extractvalue %dx.types.CBufRet.f32 %26, 0
|
||||
%28 = extractvalue %dx.types.CBufRet.f32 %26, 1
|
||||
%29 = extractvalue %dx.types.CBufRet.f32 %26, 2
|
||||
%30 = extractvalue %dx.types.CBufRet.f32 %26, 3
|
||||
%31 = fmul fast float %12, %8
|
||||
%32 = call float @dx.op.tertiary.f32(i32 46, float %9, float %17, float %31) ; FMad(a,b,c)
|
||||
%33 = call float @dx.op.tertiary.f32(i32 46, float %10, float %22, float %32) ; FMad(a,b,c)
|
||||
%34 = fadd fast float %33, %27
|
||||
%35 = fmul fast float %13, %8
|
||||
%36 = call float @dx.op.tertiary.f32(i32 46, float %9, float %18, float %35) ; FMad(a,b,c)
|
||||
%37 = call float @dx.op.tertiary.f32(i32 46, float %10, float %23, float %36) ; FMad(a,b,c)
|
||||
%38 = fadd fast float %37, %28
|
||||
%39 = fmul fast float %14, %8
|
||||
%40 = call float @dx.op.tertiary.f32(i32 46, float %9, float %19, float %39) ; FMad(a,b,c)
|
||||
%41 = call float @dx.op.tertiary.f32(i32 46, float %10, float %24, float %40) ; FMad(a,b,c)
|
||||
%42 = fadd fast float %41, %29
|
||||
%43 = fmul fast float %15, %8
|
||||
%44 = call float @dx.op.tertiary.f32(i32 46, float %9, float %20, float %43) ; FMad(a,b,c)
|
||||
%45 = call float @dx.op.tertiary.f32(i32 46, float %10, float %25, float %44) ; FMad(a,b,c)
|
||||
%46 = fadd fast float %45, %30
|
||||
%47 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 4) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%48 = extractvalue %dx.types.CBufRet.f32 %47, 0
|
||||
%49 = extractvalue %dx.types.CBufRet.f32 %47, 1
|
||||
%50 = extractvalue %dx.types.CBufRet.f32 %47, 2
|
||||
%51 = extractvalue %dx.types.CBufRet.f32 %47, 3
|
||||
%52 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 5) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%53 = extractvalue %dx.types.CBufRet.f32 %52, 0
|
||||
%54 = extractvalue %dx.types.CBufRet.f32 %52, 1
|
||||
%55 = extractvalue %dx.types.CBufRet.f32 %52, 2
|
||||
%56 = extractvalue %dx.types.CBufRet.f32 %52, 3
|
||||
%57 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 6) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%58 = extractvalue %dx.types.CBufRet.f32 %57, 0
|
||||
%59 = extractvalue %dx.types.CBufRet.f32 %57, 1
|
||||
%60 = extractvalue %dx.types.CBufRet.f32 %57, 2
|
||||
%61 = extractvalue %dx.types.CBufRet.f32 %57, 3
|
||||
%62 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 7) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%63 = extractvalue %dx.types.CBufRet.f32 %62, 0
|
||||
%64 = extractvalue %dx.types.CBufRet.f32 %62, 1
|
||||
%65 = extractvalue %dx.types.CBufRet.f32 %62, 2
|
||||
%66 = extractvalue %dx.types.CBufRet.f32 %62, 3
|
||||
%67 = fmul fast float %48, %34
|
||||
%68 = call float @dx.op.tertiary.f32(i32 46, float %38, float %53, float %67) ; FMad(a,b,c)
|
||||
%69 = call float @dx.op.tertiary.f32(i32 46, float %42, float %58, float %68) ; FMad(a,b,c)
|
||||
%70 = call float @dx.op.tertiary.f32(i32 46, float %46, float %63, float %69) ; FMad(a,b,c)
|
||||
%71 = fmul fast float %49, %34
|
||||
%72 = call float @dx.op.tertiary.f32(i32 46, float %38, float %54, float %71) ; FMad(a,b,c)
|
||||
%73 = call float @dx.op.tertiary.f32(i32 46, float %42, float %59, float %72) ; FMad(a,b,c)
|
||||
%74 = call float @dx.op.tertiary.f32(i32 46, float %46, float %64, float %73) ; FMad(a,b,c)
|
||||
%75 = fmul fast float %50, %34
|
||||
%76 = call float @dx.op.tertiary.f32(i32 46, float %38, float %55, float %75) ; FMad(a,b,c)
|
||||
%77 = call float @dx.op.tertiary.f32(i32 46, float %42, float %60, float %76) ; FMad(a,b,c)
|
||||
%78 = call float @dx.op.tertiary.f32(i32 46, float %46, float %65, float %77) ; FMad(a,b,c)
|
||||
%79 = fmul fast float %51, %34
|
||||
%80 = call float @dx.op.tertiary.f32(i32 46, float %38, float %56, float %79) ; FMad(a,b,c)
|
||||
%81 = call float @dx.op.tertiary.f32(i32 46, float %42, float %61, float %80) ; FMad(a,b,c)
|
||||
%82 = call float @dx.op.tertiary.f32(i32 46, float %46, float %66, float %81) ; FMad(a,b,c)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 0, float %70) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 1, float %74) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 2, float %78) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 3, float %82) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 1, i32 0, i8 0, float %6) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 1, i32 0, i8 1, float %7) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 2, i32 0, i8 0, float %2) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 2, i32 0, i8 1, float %3) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 2, i32 0, i8 2, float %4) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 2, i32 0, i8 3, float %5) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
ret void
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind readnone
|
||||
declare float @dx.op.loadInput.f32(i32, i32, i32, i8, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @dx.op.storeOutput.f32(i32, i32, i32, i8, float) #1
|
||||
|
||||
; Function Attrs: nounwind readonly
|
||||
declare %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32, %dx.types.Handle, i32) #2
|
||||
|
||||
; Function Attrs: nounwind readnone
|
||||
declare float @dx.op.tertiary.f32(i32, float, float, float) #0
|
||||
|
||||
; Function Attrs: nounwind readonly
|
||||
declare %dx.types.Handle @dx.op.createHandle(i32, i8, i32, i32, i1) #2
|
||||
|
||||
attributes #0 = { nounwind readnone }
|
||||
attributes #1 = { nounwind }
|
||||
attributes #2 = { nounwind readonly }
|
||||
|
||||
!llvm.ident = !{!0}
|
||||
!dx.version = !{!1}
|
||||
!dx.valver = !{!2}
|
||||
!dx.shaderModel = !{!3}
|
||||
!dx.resources = !{!4}
|
||||
!dx.viewIdState = !{!7}
|
||||
!dx.entryPoints = !{!8}
|
||||
|
||||
!0 = !{!"clang version 3.7 (tags/RELEASE_370/final)"}
|
||||
!1 = !{i32 1, i32 0}
|
||||
!2 = !{i32 1, i32 6}
|
||||
!3 = !{!"vs", i32 6, i32 0}
|
||||
!4 = !{null, null, !5, null}
|
||||
!5 = !{!6}
|
||||
!6 = !{i32 0, %hostlayout.VertexShaderConstants* undef, !"", i32 0, i32 0, i32 1, i32 128, null}
|
||||
!7 = !{[14 x i32] [i32 12, i32 12, i32 15, i32 15, i32 15, i32 0, i32 16, i32 32, i32 0, i32 0, i32 256, i32 512, i32 1024, i32 2048]}
|
||||
!8 = !{void ()* @mainColor, !"mainColor", !9, !4, null}
|
||||
!9 = !{!10, !18, null}
|
||||
!10 = !{!11, !14, !16}
|
||||
!11 = !{i32 0, !"POSITION", i8 9, i8 0, !12, i8 0, i32 1, i8 3, i32 0, i8 0, !13}
|
||||
!12 = !{i32 0}
|
||||
!13 = !{i32 3, i32 7}
|
||||
!14 = !{i32 1, !"TEXCOORD", i8 9, i8 0, !12, i8 0, i32 1, i8 2, i32 1, i8 0, !15}
|
||||
!15 = !{i32 3, i32 3}
|
||||
!16 = !{i32 2, !"COLOR", i8 9, i8 0, !12, i8 0, i32 1, i8 4, i32 2, i8 0, !17}
|
||||
!17 = !{i32 3, i32 15}
|
||||
!18 = !{!19, !20, !21}
|
||||
!19 = !{i32 0, !"SV_Position", i8 9, i8 3, !12, i8 4, i32 1, i8 4, i32 0, i8 0, !17}
|
||||
!20 = !{i32 1, !"TEXCOORD", i8 9, i8 0, !12, i8 2, i32 1, i8 2, i32 1, i8 0, !15}
|
||||
!21 = !{i32 2, !"COLOR", i8 9, i8 0, !12, i8 2, i32 1, i8 4, i32 2, i8 0, !17}
|
||||
|
||||
#endif
|
||||
|
||||
const unsigned char g_mainColor[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0x27, 0x9e, 0x5a, 0x32, 0x1b, 0x5e, 0x27, 0x10,
|
||||
0x34, 0x7d, 0xf5, 0x7f, 0x06, 0xdd, 0x03, 0xd9, 0x01, 0x00, 0x00, 0x00,
|
||||
0xa3, 0x12, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0xd8, 0x00, 0x00, 0x00, 0x63, 0x01, 0x00, 0x00,
|
||||
0x87, 0x02, 0x00, 0x00, 0xd7, 0x02, 0x00, 0x00, 0x87, 0x09, 0x00, 0x00,
|
||||
0xa3, 0x09, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31,
|
||||
0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x54, 0x45, 0x58,
|
||||
0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00,
|
||||
0x4f, 0x53, 0x47, 0x31, 0x83, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x03, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x7d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44,
|
||||
0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x50, 0x53, 0x56, 0x30, 0x1c,
|
||||
0x01, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x03,
|
||||
0x03, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18,
|
||||
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x50, 0x4f, 0x53, 0x49,
|
||||
0x54, 0x49, 0x4f, 0x4e, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52,
|
||||
0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x54, 0x45, 0x58, 0x43,
|
||||
0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x43, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x42, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0x03, 0x03,
|
||||
0x04, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x42, 0x00, 0x03, 0x02, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00, 0x03, 0x02, 0x00, 0x00, 0x0f,
|
||||
0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x52,
|
||||
0x54, 0x53, 0x30, 0x48, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
|
||||
0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48,
|
||||
0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x54, 0x41, 0x54, 0xa8,
|
||||
0x06, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0xaa, 0x01, 0x00, 0x00, 0x44,
|
||||
0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x90,
|
||||
0x06, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0xa1,
|
||||
0x01, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13,
|
||||
0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06,
|
||||
0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e,
|
||||
0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42, 0xa4,
|
||||
0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x52, 0x88, 0x48,
|
||||
0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42, 0xe4,
|
||||
0x48, 0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c, 0xe1,
|
||||
0x83, 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, 0x08,
|
||||
0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x40,
|
||||
0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x20, 0x6d,
|
||||
0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8, 0x00, 0x49,
|
||||
0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x42, 0x20,
|
||||
0x4c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00, 0x26,
|
||||
0x00, 0x00, 0x00, 0x32, 0x22, 0x48, 0x09, 0x20, 0x64, 0x85, 0x04, 0x93,
|
||||
0x22, 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3, 0x84, 0xa1, 0x90, 0x14, 0x12,
|
||||
0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x68, 0x23, 0x00, 0x25,
|
||||
0x00, 0x14, 0x66, 0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00, 0x29, 0xc6,
|
||||
0x20, 0x84, 0x14, 0x42, 0xa6, 0x18, 0x80, 0x10, 0x52, 0x06, 0xa1, 0xa3,
|
||||
0x86, 0xcb, 0x9f, 0xb0, 0x87, 0x90, 0x7c, 0x6e, 0xa3, 0x8a, 0x95, 0x98,
|
||||
0xfc, 0xe2, 0xb6, 0x11, 0x31, 0xc6, 0x18, 0x54, 0xee, 0x19, 0x2e, 0x7f,
|
||||
0xc2, 0x1e, 0x42, 0xf2, 0x43, 0xa0, 0x19, 0x16, 0x02, 0x05, 0xab, 0x10,
|
||||
0x8a, 0x30, 0x42, 0xad, 0x14, 0x83, 0x8c, 0x31, 0xe8, 0xcd, 0x11, 0x04,
|
||||
0xc5, 0x60, 0xa4, 0x10, 0x12, 0x49, 0x0e, 0x04, 0x0c, 0x23, 0x10, 0x43,
|
||||
0x12, 0xd4, 0x03, 0x83, 0xc3, 0x91, 0xa6, 0x05, 0xc0, 0x1c, 0x6a, 0xf2,
|
||||
0x5f, 0x22, 0x9a, 0x88, 0x8b, 0x3d, 0x80, 0x81, 0x88, 0x38, 0xa7, 0x91,
|
||||
0x26, 0xa0, 0x99, 0x24, 0x24, 0x58, 0x4b, 0x37, 0x1d, 0x08, 0x00, 0x13,
|
||||
0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79, 0x68,
|
||||
0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0, 0x0e, 0x7a,
|
||||
0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73,
|
||||
0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
|
||||
0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71,
|
||||
0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30, 0x07, 0x72,
|
||||
0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07, 0x7a,
|
||||
0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0, 0x07, 0x73,
|
||||
0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72,
|
||||
0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d,
|
||||
0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72,
|
||||
0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10, 0x20, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x34, 0x40,
|
||||
0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4, 0x79,
|
||||
0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xc8,
|
||||
0x23, 0x01, 0x01, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
|
||||
0x16, 0x08, 0x00, 0x14, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19,
|
||||
0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22, 0x25,
|
||||
0x30, 0x02, 0x50, 0x0c, 0x05, 0x28, 0x50, 0x04, 0x85, 0x50, 0x06, 0xe5,
|
||||
0x50, 0x12, 0x05, 0x18, 0x50, 0x1e, 0x85, 0x51, 0xba, 0x01, 0x45, 0x41,
|
||||
0xa5, 0x24, 0x46, 0x00, 0xca, 0xa0, 0x08, 0x0a, 0x81, 0x62, 0x0d, 0xd0,
|
||||
0x9d, 0x01, 0x20, 0x3c, 0x03, 0x40, 0x79, 0x2c, 0x87, 0x61, 0x9e, 0xe7,
|
||||
0x01, 0x20, 0x30, 0x00, 0x00, 0x10, 0x01, 0x21, 0x10, 0x0c, 0x40, 0x50,
|
||||
0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x9f, 0x00, 0x00, 0x00, 0x1a,
|
||||
0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44, 0x35, 0x18, 0x63, 0x0b, 0x73,
|
||||
0x3b, 0x03, 0xb1, 0x2b, 0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x03, 0x99, 0x71,
|
||||
0xb9, 0x01, 0x41, 0xa1, 0x0b, 0x3b, 0x9b, 0x7b, 0x91, 0x2a, 0x62, 0x2a,
|
||||
0x0a, 0x9a, 0x2a, 0xfa, 0x9a, 0xb9, 0x81, 0x79, 0x31, 0x4b, 0x73, 0x0b,
|
||||
0x63, 0x4b, 0xd9, 0x10, 0x04, 0x13, 0x04, 0xc2, 0x98, 0x20, 0x10, 0xc7,
|
||||
0x06, 0x61, 0x20, 0x36, 0x08, 0x04, 0x41, 0xc1, 0x6e, 0x6e, 0x82, 0x40,
|
||||
0x20, 0x1b, 0x86, 0x03, 0x21, 0x26, 0x08, 0xd8, 0xc6, 0xca, 0xaa, 0x4c,
|
||||
0x8e, 0xae, 0x0c, 0x6f, 0x0a, 0x2d, 0x8c, 0xac, 0x4c, 0x6e, 0xe8, 0xcd,
|
||||
0x6d, 0x8e, 0x2e, 0xcc, 0x8d, 0x6e, 0x6e, 0x82, 0x40, 0x24, 0x1b, 0x10,
|
||||
0x42, 0x59, 0x08, 0x62, 0x60, 0x80, 0x0d, 0x41, 0xb3, 0x81, 0x00, 0x00,
|
||||
0x07, 0x98, 0x20, 0x5c, 0x1a, 0x8b, 0xb6, 0x37, 0xb2, 0x32, 0xb6, 0x09,
|
||||
0x02, 0xa1, 0x4c, 0x10, 0x88, 0x65, 0xc3, 0x30, 0x4d, 0xc3, 0x04, 0x81,
|
||||
0x60, 0x26, 0x08, 0x44, 0x33, 0x41, 0x20, 0x9c, 0x09, 0x42, 0x94, 0x6d,
|
||||
0x50, 0x90, 0x48, 0xa2, 0x2a, 0xc2, 0xba, 0x2e, 0x8c, 0x11, 0x9c, 0xdc,
|
||||
0x9b, 0x5a, 0xd9, 0x18, 0x5d, 0xda, 0x9b, 0x5b, 0x90, 0x1b, 0x99, 0x55,
|
||||
0x5a, 0xd9, 0xdd, 0x04, 0x81, 0x78, 0x36, 0x28, 0x88, 0x26, 0x51, 0xd5,
|
||||
0x66, 0x5d, 0x17, 0xb6, 0x61, 0x60, 0x32, 0x6e, 0xc3, 0x40, 0x40, 0xdd,
|
||||
0x04, 0x41, 0x00, 0x36, 0x00, 0x1b, 0x06, 0x02, 0x0c, 0xc0, 0x60, 0x43,
|
||||
0x10, 0x06, 0x1b, 0x86, 0xe1, 0x13, 0x83, 0x09, 0x42, 0xc6, 0x6d, 0x08,
|
||||
0xc8, 0x80, 0x49, 0x5b, 0x58, 0x9a, 0xdb, 0xd0, 0x1b, 0xdb, 0x9b, 0x1c,
|
||||
0x11, 0xa8, 0xa7, 0xa9, 0x24, 0xaa, 0xa4, 0x27, 0xa7, 0x09, 0x42, 0x41,
|
||||
0x4d, 0x10, 0x8a, 0x6a, 0x43, 0x40, 0x4c, 0x10, 0x0a, 0x6b, 0x83, 0x50,
|
||||
0x59, 0x1b, 0x16, 0xe2, 0x0c, 0xd0, 0x20, 0x0d, 0xd4, 0x20, 0x0d, 0x86,
|
||||
0x35, 0x20, 0xd2, 0x80, 0x0d, 0x88, 0x50, 0x15, 0x61, 0x0d, 0x3d, 0x3d,
|
||||
0x49, 0x11, 0x4d, 0x10, 0x8a, 0x6b, 0x83, 0x50, 0x55, 0x1b, 0x96, 0xc1,
|
||||
0x0d, 0xd0, 0x20, 0x0d, 0xd4, 0x20, 0x0d, 0x86, 0x37, 0x18, 0xd2, 0x00,
|
||||
0x0e, 0x58, 0x0c, 0x3d, 0x31, 0x3d, 0x49, 0x4d, 0x10, 0x0a, 0x6c, 0x82,
|
||||
0x40, 0x40, 0x1b, 0x84, 0x8a, 0x0e, 0x36, 0x2c, 0x92, 0x1c, 0xa0, 0x41,
|
||||
0x1a, 0xa8, 0x41, 0x1a, 0x0c, 0x73, 0x20, 0xa5, 0x41, 0x1d, 0x6c, 0x18,
|
||||
0xda, 0x20, 0x0e, 0xec, 0x80, 0xcb, 0x94, 0xd5, 0x17, 0xd4, 0xdb, 0x5c,
|
||||
0x1a, 0x5d, 0xda, 0x9b, 0xdb, 0x86, 0x85, 0xc0, 0x03, 0x34, 0x58, 0x03,
|
||||
0x35, 0x98, 0x83, 0x61, 0x0e, 0x88, 0x34, 0xa8, 0x83, 0x0d, 0xcb, 0xe0,
|
||||
0x06, 0x68, 0x90, 0x06, 0x6a, 0xf0, 0x06, 0xc3, 0x1b, 0x0c, 0x69, 0x00,
|
||||
0x07, 0x1b, 0x16, 0x49, 0x0e, 0xd0, 0x20, 0x0d, 0xd4, 0xe0, 0x0d, 0x86,
|
||||
0x39, 0x90, 0xd2, 0xa0, 0x0e, 0x36, 0x0c, 0x79, 0xa0, 0x07, 0x7b, 0xb0,
|
||||
0x61, 0xb8, 0x03, 0x3e, 0x00, 0x36, 0x14, 0x9f, 0x19, 0xf4, 0xc1, 0x03,
|
||||
0xd0, 0x30, 0x63, 0x7b, 0x0b, 0xa3, 0x9b, 0x9b, 0x20, 0x10, 0x11, 0x8b,
|
||||
0x34, 0xb7, 0x39, 0xba, 0xb9, 0x09, 0x02, 0x21, 0xd1, 0x98, 0x4b, 0x3b,
|
||||
0xfb, 0x62, 0x23, 0xa3, 0x31, 0x97, 0x76, 0xf6, 0x35, 0x47, 0x37, 0x41,
|
||||
0x20, 0xa6, 0x0d, 0xc8, 0x1f, 0x80, 0x42, 0x28, 0x88, 0xc2, 0x28, 0x5c,
|
||||
0xa4, 0x50, 0x0a, 0x55, 0xd8, 0xd8, 0xec, 0xda, 0x5c, 0xd2, 0xc8, 0xca,
|
||||
0xdc, 0xe8, 0xa6, 0x04, 0x41, 0x15, 0x32, 0x3c, 0x17, 0xbb, 0x32, 0xb9,
|
||||
0xb9, 0xb4, 0x37, 0xb7, 0x29, 0x01, 0xd1, 0x84, 0x0c, 0xcf, 0xc5, 0x2e,
|
||||
0x8c, 0xcd, 0xae, 0x4c, 0x6e, 0x4a, 0x50, 0xd4, 0x21, 0xc3, 0x73, 0x99,
|
||||
0x43, 0x0b, 0x23, 0x2b, 0x93, 0x6b, 0x7a, 0x23, 0x2b, 0x63, 0x9b, 0x12,
|
||||
0x20, 0x65, 0xc8, 0xf0, 0x5c, 0xe4, 0xca, 0xe6, 0xde, 0xea, 0xe4, 0xc6,
|
||||
0xca, 0xe6, 0xa6, 0x04, 0x4e, 0x25, 0x32, 0x3c, 0x17, 0xba, 0x3c, 0xb8,
|
||||
0xb2, 0x20, 0x37, 0xb7, 0x37, 0xba, 0x30, 0xba, 0xb4, 0x37, 0xb7, 0xb9,
|
||||
0x29, 0x42, 0x27, 0x06, 0x75, 0xc8, 0xf0, 0x5c, 0xec, 0xd2, 0xca, 0xee,
|
||||
0x92, 0xc8, 0xa6, 0xe8, 0xc2, 0xe8, 0xca, 0xa6, 0x04, 0x64, 0x50, 0x87,
|
||||
0x0c, 0xcf, 0xa5, 0xcc, 0x8d, 0x4e, 0x2e, 0x0f, 0xea, 0x2d, 0xcd, 0x8d,
|
||||
0x6e, 0x6e, 0x4a, 0xd0, 0x07, 0x5d, 0xc8, 0xf0, 0x5c, 0xc6, 0xde, 0xea,
|
||||
0xdc, 0xe8, 0xca, 0xe4, 0xe6, 0xa6, 0x04, 0xa5, 0x00, 0x00, 0x00, 0x79,
|
||||
0x18, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4,
|
||||
0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c,
|
||||
0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00,
|
||||
0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e, 0xc2,
|
||||
0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43, 0x38,
|
||||
0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03, 0x3d,
|
||||
0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48, 0x87,
|
||||
0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76, 0x78, 0x87, 0x70, 0x20, 0x87,
|
||||
0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e, 0x30,
|
||||
0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d, 0xde,
|
||||
0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89, 0x3b,
|
||||
0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83, 0x3c,
|
||||
0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68, 0x07,
|
||||
0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90, 0x87,
|
||||
0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78, 0x87,
|
||||
0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71, 0x18, 0x87, 0x72, 0x98, 0x87,
|
||||
0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5, 0xc0,
|
||||
0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xcc,
|
||||
0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c, 0xc4,
|
||||
0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43, 0x39,
|
||||
0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43, 0x38,
|
||||
0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82, 0x3b,
|
||||
0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x8c, 0xc8, 0x21, 0x07, 0x7c, 0x70, 0x03,
|
||||
0x72, 0x10, 0x87, 0x73, 0x70, 0x03, 0x7b, 0x08, 0x07, 0x79, 0x60, 0x87,
|
||||
0x70, 0xc8, 0x87, 0x77, 0xa8, 0x07, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x71,
|
||||
0x20, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x36, 0xb0, 0x0d, 0x97, 0xef,
|
||||
0x3c, 0xbe, 0x10, 0x50, 0x45, 0x41, 0x44, 0xa5, 0x03, 0x0c, 0x25, 0x61,
|
||||
0x00, 0x02, 0xe6, 0x17, 0xb7, 0x6d, 0x05, 0xd2, 0x70, 0xf9, 0xce, 0xe3,
|
||||
0x0b, 0x11, 0x01, 0x4c, 0x44, 0x08, 0x34, 0xc3, 0x42, 0x58, 0xc0, 0x34,
|
||||
0x5c, 0xbe, 0xf3, 0xf8, 0x8b, 0x03, 0x0c, 0x62, 0xf3, 0x50, 0x93, 0x5f,
|
||||
0xdc, 0xb6, 0x09, 0x54, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x4d, 0x4e, 0x44,
|
||||
0xa0, 0xd4, 0xf4, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x11, 0x48, 0xc3, 0xe5,
|
||||
0x3b, 0x8f, 0x3f, 0x11, 0xd1, 0x84, 0x00, 0x11, 0xe6, 0x17, 0xb7, 0x6d,
|
||||
0x00, 0x09, 0x03, 0x20, 0x0d, 0xe7, 0x2c, 0x4e, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x48, 0x41, 0x53, 0x48, 0x14, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x46, 0x69, 0x68, 0xc7, 0x9e, 0x75, 0x89, 0x9f, 0xd3,
|
||||
0xe9, 0x06, 0x53, 0x46, 0xb2, 0xdf, 0x1c, 0x44, 0x58, 0x49, 0x4c, 0xf8,
|
||||
0x08, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0x3e, 0x02, 0x00, 0x00, 0x44,
|
||||
0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xe0,
|
||||
0x08, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0x35,
|
||||
0x02, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13,
|
||||
0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06,
|
||||
0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e,
|
||||
0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42, 0xa4,
|
||||
0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x52, 0x88, 0x48,
|
||||
0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42, 0xe4,
|
||||
0x48, 0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c, 0xe1,
|
||||
0x83, 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, 0x08,
|
||||
0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x40,
|
||||
0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x20, 0x6d,
|
||||
0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8, 0x00, 0x49,
|
||||
0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x42, 0x20,
|
||||
0x4c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00, 0x26,
|
||||
0x00, 0x00, 0x00, 0x32, 0x22, 0x48, 0x09, 0x20, 0x64, 0x85, 0x04, 0x93,
|
||||
0x22, 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3, 0x84, 0xa1, 0x90, 0x14, 0x12,
|
||||
0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x68, 0x23, 0x00, 0x25,
|
||||
0x00, 0x14, 0x66, 0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00, 0x29, 0xc6,
|
||||
0x20, 0x84, 0x14, 0x42, 0xa6, 0x18, 0x80, 0x10, 0x52, 0x06, 0xa1, 0xa3,
|
||||
0x86, 0xcb, 0x9f, 0xb0, 0x87, 0x90, 0x7c, 0x6e, 0xa3, 0x8a, 0x95, 0x98,
|
||||
0xfc, 0xe2, 0xb6, 0x11, 0x31, 0xc6, 0x18, 0x54, 0xee, 0x19, 0x2e, 0x7f,
|
||||
0xc2, 0x1e, 0x42, 0xf2, 0x43, 0xa0, 0x19, 0x16, 0x02, 0x05, 0xab, 0x10,
|
||||
0x8a, 0x30, 0x42, 0xad, 0x14, 0x83, 0x8c, 0x31, 0xe8, 0xcd, 0x11, 0x04,
|
||||
0xc5, 0x60, 0xa4, 0x10, 0x12, 0x49, 0x0e, 0x04, 0x0c, 0x23, 0x10, 0x43,
|
||||
0x12, 0xd4, 0x03, 0x83, 0xc3, 0x91, 0xa6, 0x05, 0xc0, 0x1c, 0x6a, 0xf2,
|
||||
0x5f, 0x22, 0x9a, 0x88, 0x8b, 0x3d, 0x80, 0x81, 0x88, 0x38, 0xa7, 0x91,
|
||||
0x26, 0xa0, 0x99, 0x24, 0x24, 0x58, 0x4b, 0x37, 0x1d, 0x08, 0x00, 0x13,
|
||||
0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79, 0x68,
|
||||
0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0, 0x0e, 0x7a,
|
||||
0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73,
|
||||
0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
|
||||
0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71,
|
||||
0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30, 0x07, 0x72,
|
||||
0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07, 0x7a,
|
||||
0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0, 0x07, 0x73,
|
||||
0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72,
|
||||
0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d,
|
||||
0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72,
|
||||
0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10, 0x20, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x34, 0x40,
|
||||
0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4, 0x79,
|
||||
0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xc8,
|
||||
0x23, 0x01, 0x01, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
|
||||
0x16, 0x08, 0x00, 0x10, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19,
|
||||
0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22, 0x25,
|
||||
0x30, 0x02, 0x50, 0x0c, 0x05, 0x28, 0x50, 0x06, 0xe5, 0x50, 0x04, 0xe5,
|
||||
0x41, 0xa5, 0x24, 0x46, 0x00, 0xca, 0xa0, 0x08, 0x0a, 0x81, 0xf0, 0x0c,
|
||||
0x00, 0xe5, 0xb1, 0x1c, 0x86, 0x79, 0x9e, 0x07, 0x80, 0xc0, 0x00, 0x00,
|
||||
0x40, 0x04, 0x84, 0x40, 0x30, 0x00, 0x41, 0x01, 0x00, 0x00, 0x00, 0x79,
|
||||
0x18, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46,
|
||||
0x02, 0x13, 0x44, 0x35, 0x18, 0x63, 0x0b, 0x73, 0x3b, 0x03, 0xb1, 0x2b,
|
||||
0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x03, 0x99, 0x71, 0xb9, 0x01, 0x41, 0xa1,
|
||||
0x0b, 0x3b, 0x9b, 0x7b, 0x91, 0x2a, 0x62, 0x2a, 0x0a, 0x9a, 0x2a, 0xfa,
|
||||
0x9a, 0xb9, 0x81, 0x79, 0x31, 0x4b, 0x73, 0x0b, 0x63, 0x4b, 0xd9, 0x10,
|
||||
0x04, 0x13, 0x04, 0xc2, 0x98, 0x20, 0x10, 0xc7, 0x06, 0x61, 0x20, 0x26,
|
||||
0x08, 0x04, 0xb2, 0x41, 0x18, 0x0c, 0x0a, 0x76, 0x73, 0x1b, 0x06, 0xc4,
|
||||
0x20, 0x26, 0x08, 0xd8, 0x44, 0x60, 0x82, 0x40, 0x24, 0x1b, 0x10, 0x42,
|
||||
0x59, 0x08, 0x62, 0x60, 0x80, 0x0d, 0x41, 0xb3, 0x81, 0x00, 0x00, 0x07,
|
||||
0x98, 0x20, 0x64, 0xd4, 0x86, 0x00, 0x9a, 0x20, 0x08, 0x00, 0x93, 0xb6,
|
||||
0xb0, 0x34, 0xb7, 0xa1, 0x37, 0xb6, 0x37, 0x39, 0x22, 0x50, 0x4f, 0x53,
|
||||
0x49, 0x54, 0x49, 0x4f, 0x4e, 0x13, 0x84, 0xc2, 0x99, 0x20, 0x14, 0xcf,
|
||||
0x86, 0x80, 0x98, 0x20, 0x14, 0xd0, 0x04, 0x81, 0x50, 0x26, 0x08, 0xc4,
|
||||
0xb2, 0x41, 0xc8, 0xb4, 0x0d, 0x0b, 0x41, 0x55, 0xd6, 0x65, 0x0d, 0x18,
|
||||
0x61, 0x6d, 0x44, 0xa8, 0x8a, 0xb0, 0x86, 0x9e, 0x9e, 0xa4, 0x88, 0x26,
|
||||
0x08, 0x45, 0xb4, 0x41, 0xc8, 0xb2, 0x0d, 0xcb, 0xd0, 0x55, 0xd6, 0x65,
|
||||
0x0d, 0xde, 0x60, 0x7d, 0x13, 0x04, 0x82, 0x61, 0x31, 0xf4, 0xc4, 0xf4,
|
||||
0x24, 0x35, 0x41, 0x28, 0xa4, 0x09, 0x02, 0xd1, 0x6c, 0x10, 0x32, 0x32,
|
||||
0xd8, 0xb0, 0x84, 0x81, 0x18, 0x54, 0xd6, 0x65, 0x0d, 0x63, 0x10, 0x06,
|
||||
0x56, 0x19, 0x6c, 0x18, 0x38, 0x30, 0x30, 0x03, 0x2e, 0x53, 0x56, 0x5f,
|
||||
0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1b, 0x16, 0x02, 0x0d,
|
||||
0x2a, 0xec, 0x1a, 0x83, 0x61, 0x0c, 0x08, 0xab, 0x0c, 0x36, 0x2c, 0x43,
|
||||
0x57, 0x59, 0x97, 0x37, 0x78, 0x83, 0xf5, 0x6d, 0x58, 0xc2, 0x40, 0x0c,
|
||||
0x2a, 0xeb, 0xf2, 0x86, 0x31, 0x08, 0x03, 0xab, 0x0c, 0x36, 0x0c, 0x69,
|
||||
0xa0, 0x06, 0x6b, 0xb0, 0x61, 0x38, 0x03, 0x36, 0x00, 0x36, 0x14, 0xd2,
|
||||
0xd4, 0x06, 0x0f, 0x50, 0x85, 0x8d, 0xcd, 0xae, 0xcd, 0x25, 0x8d, 0xac,
|
||||
0xcc, 0x8d, 0x6e, 0x4a, 0x10, 0x54, 0x21, 0xc3, 0x73, 0xb1, 0x2b, 0x93,
|
||||
0x9b, 0x4b, 0x7b, 0x73, 0x9b, 0x12, 0x10, 0x4d, 0xc8, 0xf0, 0x5c, 0xec,
|
||||
0xc2, 0xd8, 0xec, 0xca, 0xe4, 0xa6, 0x04, 0x46, 0x1d, 0x32, 0x3c, 0x97,
|
||||
0x39, 0xb4, 0x30, 0xb2, 0x32, 0xb9, 0xa6, 0x37, 0xb2, 0x32, 0xb6, 0x29,
|
||||
0x01, 0x52, 0x86, 0x0c, 0xcf, 0x45, 0xae, 0x6c, 0xee, 0xad, 0x4e, 0x6e,
|
||||
0xac, 0x6c, 0x6e, 0x4a, 0xe0, 0xd4, 0x21, 0xc3, 0x73, 0xb1, 0x4b, 0x2b,
|
||||
0xbb, 0x4b, 0x22, 0x9b, 0xa2, 0x0b, 0xa3, 0x2b, 0x9b, 0x12, 0x40, 0x75,
|
||||
0xc8, 0xf0, 0x5c, 0xca, 0xdc, 0xe8, 0xe4, 0xf2, 0xa0, 0xde, 0xd2, 0xdc,
|
||||
0xe8, 0xe6, 0xa6, 0x04, 0x6d, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x49,
|
||||
0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14,
|
||||
0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79,
|
||||
0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e,
|
||||
0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1,
|
||||
0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc,
|
||||
0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74,
|
||||
0x70, 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a,
|
||||
0x70, 0x03, 0x76, 0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e,
|
||||
0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e,
|
||||
0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21,
|
||||
0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0,
|
||||
0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc,
|
||||
0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87, 0x72,
|
||||
0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, 0x76,
|
||||
0x28, 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f,
|
||||
0x08, 0x87, 0x71, 0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c,
|
||||
0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03,
|
||||
0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1,
|
||||
0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61,
|
||||
0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8,
|
||||
0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b, 0x94,
|
||||
0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0,
|
||||
0xc3, 0x8c, 0xc8, 0x21, 0x07, 0x7c, 0x70, 0x03, 0x72, 0x10, 0x87, 0x73,
|
||||
0x70, 0x03, 0x7b, 0x08, 0x07, 0x79, 0x60, 0x87, 0x70, 0xc8, 0x87, 0x77,
|
||||
0xa8, 0x07, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x19,
|
||||
0x00, 0x00, 0x00, 0x36, 0xb0, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10, 0x50,
|
||||
0x45, 0x41, 0x44, 0xa5, 0x03, 0x0c, 0x25, 0x61, 0x00, 0x02, 0xe6, 0x17,
|
||||
0xb7, 0x6d, 0x05, 0xd2, 0x70, 0xf9, 0xce, 0xe3, 0x0b, 0x11, 0x01, 0x4c,
|
||||
0x44, 0x08, 0x34, 0xc3, 0x42, 0x58, 0xc0, 0x34, 0x5c, 0xbe, 0xf3, 0xf8,
|
||||
0x8b, 0x03, 0x0c, 0x62, 0xf3, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x09, 0x54,
|
||||
0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x4d, 0x4e, 0x44, 0xa0, 0xd4, 0xf4, 0x50,
|
||||
0x93, 0x5f, 0xdc, 0xb6, 0x11, 0x48, 0xc3, 0xe5, 0x3b, 0x8f, 0x3f, 0x11,
|
||||
0xd1, 0x84, 0x00, 0x11, 0xe6, 0x17, 0xb7, 0x6d, 0x00, 0x09, 0x03, 0x20,
|
||||
0x0d, 0xe7, 0x2c, 0x4e, 0x04, 0x00, 0x00, 0x61, 0x20, 0x00, 0x00, 0xcf,
|
||||
0x00, 0x00, 0x00, 0x13, 0x04, 0x41, 0x2c, 0x10, 0x00, 0x00, 0x00, 0x05,
|
||||
0x00, 0x00, 0x00, 0x44, 0x8a, 0xab, 0x14, 0x0a, 0x61, 0x06, 0xa0, 0xec,
|
||||
0x4a, 0x8e, 0x4a, 0x09, 0x50, 0x1c, 0x01, 0x00, 0x00, 0x00, 0x00, 0x23,
|
||||
0x06, 0x09, 0x00, 0x82, 0x60, 0x20, 0x61, 0x03, 0x63, 0x59, 0xc1, 0x88,
|
||||
0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0xdd, 0x21, 0x5d, 0x8f, 0x31, 0x62,
|
||||
0x90, 0x00, 0x20, 0x08, 0x06, 0x86, 0x87, 0x4c, 0x18, 0x71, 0x8c, 0x18,
|
||||
0x24, 0x00, 0x08, 0x82, 0x81, 0xf1, 0x25, 0x54, 0xf6, 0x20, 0x23, 0x06,
|
||||
0x09, 0x00, 0x82, 0x60, 0x60, 0x80, 0x81, 0x52, 0x69, 0x51, 0x32, 0x62,
|
||||
0x90, 0x00, 0x20, 0x08, 0x06, 0x46, 0x18, 0x2c, 0xdc, 0x36, 0x29, 0x23,
|
||||
0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0x88, 0x01, 0xd3, 0x71, 0xc8, 0x32,
|
||||
0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0xc6, 0x18, 0x34, 0x5d, 0x57, 0x31,
|
||||
0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0x90, 0x81, 0xe3, 0x79, 0x4a,
|
||||
0x33, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x46, 0x19, 0x3c, 0xdf, 0x57,
|
||||
0x39, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60, 0xd0, 0x90, 0x81, 0xa3, 0x80,
|
||||
0xc1, 0x68, 0x42, 0x00, 0x8c, 0x26, 0x08, 0xc1, 0x68, 0xc2, 0x20, 0x8c,
|
||||
0x26, 0x10, 0xc3, 0x88, 0xc1, 0x01, 0x80, 0x20, 0x18, 0x34, 0x69, 0x30,
|
||||
0x3d, 0x66, 0x30, 0x9a, 0x10, 0x00, 0xa3, 0x09, 0x42, 0x30, 0x9a, 0x30,
|
||||
0x08, 0xa3, 0x09, 0xc4, 0x30, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0x8d,
|
||||
0x1b, 0x60, 0x54, 0x19, 0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c,
|
||||
0x26, 0x0c, 0xc2, 0x68, 0x02, 0x31, 0x8c, 0x18, 0x1c, 0x00, 0x08, 0x82,
|
||||
0x41, 0x33, 0x07, 0x5d, 0xc6, 0x06, 0xa3, 0x09, 0x01, 0x30, 0x9a, 0x20,
|
||||
0x04, 0xa3, 0x09, 0x83, 0x30, 0x9a, 0x40, 0x0c, 0x36, 0x5d, 0xf2, 0x19,
|
||||
0x31, 0x40, 0x00, 0x10, 0x04, 0x83, 0x07, 0x0f, 0xce, 0xe0, 0x7a, 0x82,
|
||||
0x11, 0x03, 0x04, 0x00, 0x41, 0x30, 0x78, 0xf2, 0x00, 0x0d, 0xae, 0x25,
|
||||
0xb0, 0xe0, 0x80, 0x8e, 0x59, 0x9b, 0x7c, 0x46, 0x0c, 0x10, 0x00, 0x04,
|
||||
0xc1, 0xe0, 0xe1, 0x83, 0x35, 0xd8, 0xa4, 0x60, 0xc4, 0x00, 0x01, 0x40,
|
||||
0x10, 0x0c, 0x9e, 0x3e, 0x60, 0x83, 0xcd, 0x09, 0x2c, 0x50, 0xa0, 0x63,
|
||||
0xd9, 0x27, 0x9f, 0x11, 0x03, 0x04, 0x00, 0x41, 0x30, 0x78, 0x40, 0xe1,
|
||||
0x0d, 0xbe, 0x2a, 0x18, 0x31, 0x40, 0x00, 0x10, 0x04, 0x83, 0x27, 0x14,
|
||||
0xe0, 0xe0, 0x8b, 0x02, 0x0b, 0x1a, 0xe8, 0x18, 0x37, 0x06, 0xf2, 0x19,
|
||||
0x31, 0x40, 0x00, 0x10, 0x04, 0x83, 0x87, 0x14, 0xe6, 0x60, 0x0c, 0xb0,
|
||||
0x60, 0xc4, 0x00, 0x01, 0x40, 0x10, 0x0c, 0x9e, 0x52, 0xa0, 0x83, 0x31,
|
||||
0xa0, 0x02, 0x0b, 0x20, 0xe8, 0x8c, 0x18, 0x1c, 0x00, 0x08, 0x82, 0x41,
|
||||
0x83, 0x0a, 0x72, 0xe0, 0x06, 0x74, 0x30, 0x9a, 0x10, 0x00, 0xa3, 0x09,
|
||||
0x42, 0x30, 0x9a, 0x30, 0x08, 0xa3, 0x09, 0xc4, 0x30, 0x62, 0x70, 0x00,
|
||||
0x20, 0x08, 0x06, 0x4d, 0x2b, 0xdc, 0xc1, 0x1c, 0xe8, 0xc1, 0x68, 0x42,
|
||||
0x00, 0x8c, 0x26, 0x08, 0xc1, 0x68, 0xc2, 0x20, 0x8c, 0x26, 0x10, 0xc3,
|
||||
0x88, 0xc1, 0x01, 0x80, 0x20, 0x18, 0x34, 0xb2, 0xc0, 0x07, 0x78, 0xd0,
|
||||
0x0a, 0xa3, 0x09, 0x01, 0x30, 0x9a, 0x20, 0x04, 0xa3, 0x09, 0x83, 0x30,
|
||||
0x9a, 0x40, 0x0c, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60, 0xd0, 0xdc, 0x42,
|
||||
0x28, 0xf4, 0xc1, 0x2b, 0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c,
|
||||
0x26, 0x0c, 0xc2, 0x68, 0x02, 0x31, 0xd8, 0x14, 0x06, 0xf2, 0x19, 0x31,
|
||||
0x40, 0x00, 0x10, 0x04, 0x83, 0x87, 0x17, 0x56, 0xc1, 0x7b, 0x82, 0x11,
|
||||
0x03, 0x04, 0x00, 0x41, 0x30, 0x78, 0x7a, 0x81, 0x15, 0xb6, 0x25, 0x18,
|
||||
0x31, 0x40, 0x00, 0x10, 0x04, 0x83, 0xc7, 0x17, 0x5a, 0x01, 0x3b, 0x02,
|
||||
0xb3, 0xca, 0x40, 0x3e, 0x23, 0x06, 0x08, 0x00, 0x82, 0x60, 0xf0, 0x80,
|
||||
0xc3, 0x2b, 0x88, 0x81, 0x14, 0x8c, 0x18, 0x20, 0x00, 0x08, 0x82, 0xc1,
|
||||
0x13, 0x0e, 0xb0, 0xf0, 0x39, 0xc1, 0x88, 0x01, 0x02, 0x80, 0x20, 0x18,
|
||||
0x3c, 0xe2, 0x10, 0x0b, 0x9c, 0x12, 0x58, 0x96, 0x06, 0xf2, 0x19, 0x31,
|
||||
0x40, 0x00, 0x10, 0x04, 0x83, 0x87, 0x1c, 0x66, 0xc1, 0x0c, 0xaa, 0x60,
|
||||
0xc4, 0x00, 0x01, 0x40, 0x10, 0x0c, 0x9e, 0x72, 0xa0, 0x85, 0x31, 0x88,
|
||||
0x82, 0x11, 0x03, 0x04, 0x00, 0x41, 0x30, 0x78, 0xcc, 0xa1, 0x16, 0xc0,
|
||||
0xa0, 0x09, 0x8c, 0x6b, 0x03, 0xf9, 0x8c, 0x18, 0x20, 0x00, 0x08, 0x82,
|
||||
0xc1, 0x83, 0x0e, 0xb7, 0xa0, 0x06, 0x58, 0x30, 0x62, 0x80, 0x00, 0x20,
|
||||
0x08, 0x06, 0x4f, 0x3a, 0xe0, 0xc2, 0x19, 0x50, 0xc1, 0x88, 0x01, 0x02,
|
||||
0x80, 0x20, 0x18, 0x3c, 0xea, 0x90, 0x0b, 0x64, 0x00, 0x05, 0x23, 0x06,
|
||||
0x09, 0x00, 0x82, 0x60, 0x80, 0xb4, 0x43, 0x2e, 0xa0, 0x03, 0x3a, 0x80,
|
||||
0x43, 0x33, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x48, 0x3b, 0xe4, 0x02,
|
||||
0x3a, 0xa0, 0x03, 0x2d, 0x24, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x80,
|
||||
0xb4, 0x43, 0x2e, 0xa0, 0x03, 0x3a, 0xf8, 0x42, 0x31, 0x62, 0x90, 0x00,
|
||||
0x20, 0x08, 0x06, 0x48, 0x3b, 0xe4, 0x02, 0x3a, 0xa0, 0xc3, 0x2f, 0x04,
|
||||
0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x80, 0xb4, 0x43, 0x2e, 0xa4, 0x03,
|
||||
0x3a, 0x80, 0x43, 0x2b, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x01, 0xd2,
|
||||
0x0e, 0xb9, 0x90, 0x0e, 0xe8, 0x40, 0x0b, 0xac, 0x30, 0x62, 0x90, 0x00,
|
||||
0x20, 0x08, 0x06, 0x48, 0x3b, 0xe4, 0xc2, 0x38, 0xa0, 0x03, 0x38, 0xc4,
|
||||
0xc2, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x20, 0xed, 0x90, 0x0b, 0xe3,
|
||||
0x80, 0x0e, 0xb4, 0x00, 0x0b, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x80,
|
||||
0xb4, 0x43, 0x2e, 0x8c, 0x03, 0x3a, 0xf8, 0xc2, 0x2b, 0x8c, 0x18, 0x24,
|
||||
0x00, 0x08, 0x82, 0x01, 0xd2, 0x0e, 0xb9, 0x30, 0x0e, 0xe8, 0xf0, 0x0b,
|
||||
0xae, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
647
src/render/direct3d12/D3D12_VertexShader_NV.h
Executable file
647
src/render/direct3d12/D3D12_VertexShader_NV.h
Executable file
|
@ -0,0 +1,647 @@
|
|||
#if 0
|
||||
;
|
||||
; Input signature:
|
||||
;
|
||||
; Name Index Mask Register SysValue Format Used
|
||||
; -------------------- ----- ------ -------- -------- ------- ------
|
||||
; POSITION 0 xyz 0 NONE float xyz
|
||||
; TEXCOORD 0 xy 1 NONE float xy
|
||||
; COLOR 0 xyzw 2 NONE float xyzw
|
||||
;
|
||||
;
|
||||
; Output signature:
|
||||
;
|
||||
; Name Index Mask Register SysValue Format Used
|
||||
; -------------------- ----- ------ -------- -------- ------- ------
|
||||
; SV_Position 0 xyzw 0 POS float xyzw
|
||||
; TEXCOORD 0 xy 1 NONE float xy
|
||||
; COLOR 0 xyzw 2 NONE float xyzw
|
||||
;
|
||||
; shader hash: 00fd3548b5a69174601c07641d4ae187
|
||||
;
|
||||
; Pipeline Runtime Information:
|
||||
;
|
||||
; Vertex Shader
|
||||
; OutputPositionPresent=1
|
||||
;
|
||||
;
|
||||
; Input signature:
|
||||
;
|
||||
; Name Index InterpMode DynIdx
|
||||
; -------------------- ----- ---------------------- ------
|
||||
; POSITION 0
|
||||
; TEXCOORD 0
|
||||
; COLOR 0
|
||||
;
|
||||
; Output signature:
|
||||
;
|
||||
; Name Index InterpMode DynIdx
|
||||
; -------------------- ----- ---------------------- ------
|
||||
; SV_Position 0 noperspective
|
||||
; TEXCOORD 0 linear
|
||||
; COLOR 0 linear
|
||||
;
|
||||
; Buffer Definitions:
|
||||
;
|
||||
; cbuffer VertexShaderConstants
|
||||
; {
|
||||
;
|
||||
; struct hostlayout.VertexShaderConstants
|
||||
; {
|
||||
;
|
||||
; row_major float4x4 model; ; Offset: 0
|
||||
; row_major float4x4 projectionAndView; ; Offset: 64
|
||||
;
|
||||
; } VertexShaderConstants; ; Offset: 0 Size: 128
|
||||
;
|
||||
; }
|
||||
;
|
||||
;
|
||||
; Resource Bindings:
|
||||
;
|
||||
; Name Type Format Dim ID HLSL Bind Count
|
||||
; ------------------------------ ---------- ------- ----------- ------- -------------- ------
|
||||
; VertexShaderConstants cbuffer NA NA CB0 cb0 1
|
||||
;
|
||||
;
|
||||
; ViewId state:
|
||||
;
|
||||
; Number of inputs: 12, outputs: 12
|
||||
; Outputs dependent on ViewId: { }
|
||||
; Inputs contributing to computation of Outputs:
|
||||
; output 0 depends on inputs: { 0, 1, 2 }
|
||||
; output 1 depends on inputs: { 0, 1, 2 }
|
||||
; output 2 depends on inputs: { 0, 1, 2 }
|
||||
; output 3 depends on inputs: { 0, 1, 2 }
|
||||
; output 4 depends on inputs: { 4 }
|
||||
; output 5 depends on inputs: { 5 }
|
||||
; output 8 depends on inputs: { 8 }
|
||||
; output 9 depends on inputs: { 9 }
|
||||
; output 10 depends on inputs: { 10 }
|
||||
; output 11 depends on inputs: { 11 }
|
||||
;
|
||||
target datalayout = "e-m:e-p:32:32-i1:32-i8:32-i16:32-i32:32-i64:64-f16:32-f32:32-f64:64-n8:16:32:64"
|
||||
target triple = "dxil-ms-dx"
|
||||
|
||||
%dx.types.Handle = type { i8* }
|
||||
%dx.types.CBufRet.f32 = type { float, float, float, float }
|
||||
%hostlayout.VertexShaderConstants = type { [4 x <4 x float>], [4 x <4 x float>] }
|
||||
|
||||
define void @mainNV() {
|
||||
%1 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 2, i32 0, i32 0, i1 false) ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
|
||||
%2 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 0, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%3 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 1, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%4 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 2, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%5 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 3, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%6 = call float @dx.op.loadInput.f32(i32 4, i32 1, i32 0, i8 0, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%7 = call float @dx.op.loadInput.f32(i32 4, i32 1, i32 0, i8 1, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%8 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 0, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%9 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 1, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%10 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 2, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%11 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 0) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%12 = extractvalue %dx.types.CBufRet.f32 %11, 0
|
||||
%13 = extractvalue %dx.types.CBufRet.f32 %11, 1
|
||||
%14 = extractvalue %dx.types.CBufRet.f32 %11, 2
|
||||
%15 = extractvalue %dx.types.CBufRet.f32 %11, 3
|
||||
%16 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 1) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%17 = extractvalue %dx.types.CBufRet.f32 %16, 0
|
||||
%18 = extractvalue %dx.types.CBufRet.f32 %16, 1
|
||||
%19 = extractvalue %dx.types.CBufRet.f32 %16, 2
|
||||
%20 = extractvalue %dx.types.CBufRet.f32 %16, 3
|
||||
%21 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 2) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%22 = extractvalue %dx.types.CBufRet.f32 %21, 0
|
||||
%23 = extractvalue %dx.types.CBufRet.f32 %21, 1
|
||||
%24 = extractvalue %dx.types.CBufRet.f32 %21, 2
|
||||
%25 = extractvalue %dx.types.CBufRet.f32 %21, 3
|
||||
%26 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 3) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%27 = extractvalue %dx.types.CBufRet.f32 %26, 0
|
||||
%28 = extractvalue %dx.types.CBufRet.f32 %26, 1
|
||||
%29 = extractvalue %dx.types.CBufRet.f32 %26, 2
|
||||
%30 = extractvalue %dx.types.CBufRet.f32 %26, 3
|
||||
%31 = fmul fast float %12, %8
|
||||
%32 = call float @dx.op.tertiary.f32(i32 46, float %9, float %17, float %31) ; FMad(a,b,c)
|
||||
%33 = call float @dx.op.tertiary.f32(i32 46, float %10, float %22, float %32) ; FMad(a,b,c)
|
||||
%34 = fadd fast float %33, %27
|
||||
%35 = fmul fast float %13, %8
|
||||
%36 = call float @dx.op.tertiary.f32(i32 46, float %9, float %18, float %35) ; FMad(a,b,c)
|
||||
%37 = call float @dx.op.tertiary.f32(i32 46, float %10, float %23, float %36) ; FMad(a,b,c)
|
||||
%38 = fadd fast float %37, %28
|
||||
%39 = fmul fast float %14, %8
|
||||
%40 = call float @dx.op.tertiary.f32(i32 46, float %9, float %19, float %39) ; FMad(a,b,c)
|
||||
%41 = call float @dx.op.tertiary.f32(i32 46, float %10, float %24, float %40) ; FMad(a,b,c)
|
||||
%42 = fadd fast float %41, %29
|
||||
%43 = fmul fast float %15, %8
|
||||
%44 = call float @dx.op.tertiary.f32(i32 46, float %9, float %20, float %43) ; FMad(a,b,c)
|
||||
%45 = call float @dx.op.tertiary.f32(i32 46, float %10, float %25, float %44) ; FMad(a,b,c)
|
||||
%46 = fadd fast float %45, %30
|
||||
%47 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 4) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%48 = extractvalue %dx.types.CBufRet.f32 %47, 0
|
||||
%49 = extractvalue %dx.types.CBufRet.f32 %47, 1
|
||||
%50 = extractvalue %dx.types.CBufRet.f32 %47, 2
|
||||
%51 = extractvalue %dx.types.CBufRet.f32 %47, 3
|
||||
%52 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 5) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%53 = extractvalue %dx.types.CBufRet.f32 %52, 0
|
||||
%54 = extractvalue %dx.types.CBufRet.f32 %52, 1
|
||||
%55 = extractvalue %dx.types.CBufRet.f32 %52, 2
|
||||
%56 = extractvalue %dx.types.CBufRet.f32 %52, 3
|
||||
%57 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 6) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%58 = extractvalue %dx.types.CBufRet.f32 %57, 0
|
||||
%59 = extractvalue %dx.types.CBufRet.f32 %57, 1
|
||||
%60 = extractvalue %dx.types.CBufRet.f32 %57, 2
|
||||
%61 = extractvalue %dx.types.CBufRet.f32 %57, 3
|
||||
%62 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 7) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%63 = extractvalue %dx.types.CBufRet.f32 %62, 0
|
||||
%64 = extractvalue %dx.types.CBufRet.f32 %62, 1
|
||||
%65 = extractvalue %dx.types.CBufRet.f32 %62, 2
|
||||
%66 = extractvalue %dx.types.CBufRet.f32 %62, 3
|
||||
%67 = fmul fast float %48, %34
|
||||
%68 = call float @dx.op.tertiary.f32(i32 46, float %38, float %53, float %67) ; FMad(a,b,c)
|
||||
%69 = call float @dx.op.tertiary.f32(i32 46, float %42, float %58, float %68) ; FMad(a,b,c)
|
||||
%70 = call float @dx.op.tertiary.f32(i32 46, float %46, float %63, float %69) ; FMad(a,b,c)
|
||||
%71 = fmul fast float %49, %34
|
||||
%72 = call float @dx.op.tertiary.f32(i32 46, float %38, float %54, float %71) ; FMad(a,b,c)
|
||||
%73 = call float @dx.op.tertiary.f32(i32 46, float %42, float %59, float %72) ; FMad(a,b,c)
|
||||
%74 = call float @dx.op.tertiary.f32(i32 46, float %46, float %64, float %73) ; FMad(a,b,c)
|
||||
%75 = fmul fast float %50, %34
|
||||
%76 = call float @dx.op.tertiary.f32(i32 46, float %38, float %55, float %75) ; FMad(a,b,c)
|
||||
%77 = call float @dx.op.tertiary.f32(i32 46, float %42, float %60, float %76) ; FMad(a,b,c)
|
||||
%78 = call float @dx.op.tertiary.f32(i32 46, float %46, float %65, float %77) ; FMad(a,b,c)
|
||||
%79 = fmul fast float %51, %34
|
||||
%80 = call float @dx.op.tertiary.f32(i32 46, float %38, float %56, float %79) ; FMad(a,b,c)
|
||||
%81 = call float @dx.op.tertiary.f32(i32 46, float %42, float %61, float %80) ; FMad(a,b,c)
|
||||
%82 = call float @dx.op.tertiary.f32(i32 46, float %46, float %66, float %81) ; FMad(a,b,c)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 0, float %70) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 1, float %74) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 2, float %78) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 3, float %82) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 1, i32 0, i8 0, float %6) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 1, i32 0, i8 1, float %7) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 2, i32 0, i8 0, float %2) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 2, i32 0, i8 1, float %3) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 2, i32 0, i8 2, float %4) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 2, i32 0, i8 3, float %5) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
ret void
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind readnone
|
||||
declare float @dx.op.loadInput.f32(i32, i32, i32, i8, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @dx.op.storeOutput.f32(i32, i32, i32, i8, float) #1
|
||||
|
||||
; Function Attrs: nounwind readonly
|
||||
declare %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32, %dx.types.Handle, i32) #2
|
||||
|
||||
; Function Attrs: nounwind readnone
|
||||
declare float @dx.op.tertiary.f32(i32, float, float, float) #0
|
||||
|
||||
; Function Attrs: nounwind readonly
|
||||
declare %dx.types.Handle @dx.op.createHandle(i32, i8, i32, i32, i1) #2
|
||||
|
||||
attributes #0 = { nounwind readnone }
|
||||
attributes #1 = { nounwind }
|
||||
attributes #2 = { nounwind readonly }
|
||||
|
||||
!llvm.ident = !{!0}
|
||||
!dx.version = !{!1}
|
||||
!dx.valver = !{!2}
|
||||
!dx.shaderModel = !{!3}
|
||||
!dx.resources = !{!4}
|
||||
!dx.viewIdState = !{!7}
|
||||
!dx.entryPoints = !{!8}
|
||||
|
||||
!0 = !{!"clang version 3.7 (tags/RELEASE_370/final)"}
|
||||
!1 = !{i32 1, i32 0}
|
||||
!2 = !{i32 1, i32 6}
|
||||
!3 = !{!"vs", i32 6, i32 0}
|
||||
!4 = !{null, null, !5, null}
|
||||
!5 = !{!6}
|
||||
!6 = !{i32 0, %hostlayout.VertexShaderConstants* undef, !"", i32 0, i32 0, i32 1, i32 128, null}
|
||||
!7 = !{[14 x i32] [i32 12, i32 12, i32 15, i32 15, i32 15, i32 0, i32 16, i32 32, i32 0, i32 0, i32 256, i32 512, i32 1024, i32 2048]}
|
||||
!8 = !{void ()* @mainNV, !"mainNV", !9, !4, null}
|
||||
!9 = !{!10, !18, null}
|
||||
!10 = !{!11, !14, !16}
|
||||
!11 = !{i32 0, !"POSITION", i8 9, i8 0, !12, i8 0, i32 1, i8 3, i32 0, i8 0, !13}
|
||||
!12 = !{i32 0}
|
||||
!13 = !{i32 3, i32 7}
|
||||
!14 = !{i32 1, !"TEXCOORD", i8 9, i8 0, !12, i8 0, i32 1, i8 2, i32 1, i8 0, !15}
|
||||
!15 = !{i32 3, i32 3}
|
||||
!16 = !{i32 2, !"COLOR", i8 9, i8 0, !12, i8 0, i32 1, i8 4, i32 2, i8 0, !17}
|
||||
!17 = !{i32 3, i32 15}
|
||||
!18 = !{!19, !20, !21}
|
||||
!19 = !{i32 0, !"SV_Position", i8 9, i8 3, !12, i8 4, i32 1, i8 4, i32 0, i8 0, !17}
|
||||
!20 = !{i32 1, !"TEXCOORD", i8 9, i8 0, !12, i8 2, i32 1, i8 2, i32 1, i8 0, !15}
|
||||
!21 = !{i32 2, !"COLOR", i8 9, i8 0, !12, i8 2, i32 1, i8 4, i32 2, i8 0, !17}
|
||||
|
||||
#endif
|
||||
|
||||
const unsigned char g_mainNV[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0xbc, 0x48, 0xc9, 0x9e, 0xc7, 0xab, 0xe1, 0xca,
|
||||
0x8e, 0x06, 0x6b, 0xe6, 0x96, 0x2b, 0x14, 0x91, 0x01, 0x00, 0x00, 0x00,
|
||||
0x17, 0x13, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0xd8, 0x00, 0x00, 0x00, 0x63, 0x01, 0x00, 0x00,
|
||||
0x87, 0x02, 0x00, 0x00, 0x5b, 0x03, 0x00, 0x00, 0x03, 0x0a, 0x00, 0x00,
|
||||
0x1f, 0x0a, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31,
|
||||
0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x54, 0x45, 0x58,
|
||||
0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00,
|
||||
0x4f, 0x53, 0x47, 0x31, 0x83, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x03, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x7d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44,
|
||||
0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x50, 0x53, 0x56, 0x30, 0x1c,
|
||||
0x01, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x03,
|
||||
0x03, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18,
|
||||
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x50, 0x4f, 0x53, 0x49,
|
||||
0x54, 0x49, 0x4f, 0x4e, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52,
|
||||
0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x54, 0x45, 0x58, 0x43,
|
||||
0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x43, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x42, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0x03, 0x03,
|
||||
0x04, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x42, 0x00, 0x03, 0x02, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00, 0x03, 0x02, 0x00, 0x00, 0x0f,
|
||||
0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x52,
|
||||
0x54, 0x53, 0x30, 0xcc, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05,
|
||||
0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcc,
|
||||
0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
|
||||
0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
|
||||
0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
|
||||
0x00, 0x00, 0x00, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x74,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
|
||||
0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01,
|
||||
0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x53, 0x54, 0x41, 0x54, 0xa0,
|
||||
0x06, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0xa8, 0x01, 0x00, 0x00, 0x44,
|
||||
0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x88,
|
||||
0x06, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0x9f,
|
||||
0x01, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13,
|
||||
0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06,
|
||||
0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e,
|
||||
0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42, 0xa4,
|
||||
0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x52, 0x88, 0x48,
|
||||
0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42, 0xe4,
|
||||
0x48, 0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c, 0xe1,
|
||||
0x83, 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, 0x08,
|
||||
0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x40,
|
||||
0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x20, 0x6d,
|
||||
0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8, 0x00, 0x49,
|
||||
0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x42, 0x20,
|
||||
0x4c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00, 0x26,
|
||||
0x00, 0x00, 0x00, 0x32, 0x22, 0x48, 0x09, 0x20, 0x64, 0x85, 0x04, 0x93,
|
||||
0x22, 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3, 0x84, 0xa1, 0x90, 0x14, 0x12,
|
||||
0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x68, 0x23, 0x00, 0x25,
|
||||
0x00, 0x14, 0x66, 0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00, 0x29, 0xc6,
|
||||
0x20, 0x84, 0x14, 0x42, 0xa6, 0x18, 0x80, 0x10, 0x52, 0x06, 0xa1, 0xa3,
|
||||
0x86, 0xcb, 0x9f, 0xb0, 0x87, 0x90, 0x7c, 0x6e, 0xa3, 0x8a, 0x95, 0x98,
|
||||
0xfc, 0xe2, 0xb6, 0x11, 0x31, 0xc6, 0x18, 0x54, 0xee, 0x19, 0x2e, 0x7f,
|
||||
0xc2, 0x1e, 0x42, 0xf2, 0x43, 0xa0, 0x19, 0x16, 0x02, 0x05, 0xab, 0x10,
|
||||
0x8a, 0x30, 0x42, 0xad, 0x14, 0x83, 0x8c, 0x31, 0xe8, 0xcd, 0x11, 0x04,
|
||||
0xc5, 0x60, 0xa4, 0x10, 0x12, 0x49, 0x0e, 0x04, 0x0c, 0x23, 0x10, 0x43,
|
||||
0x12, 0xd4, 0x03, 0x83, 0xc3, 0x91, 0xa6, 0x05, 0xc0, 0x1c, 0x6a, 0xf2,
|
||||
0x5f, 0x22, 0x9a, 0x88, 0x8b, 0x3d, 0x80, 0x81, 0x88, 0x38, 0xa7, 0x91,
|
||||
0x26, 0xa0, 0x99, 0x24, 0x24, 0x58, 0x4b, 0x37, 0x1d, 0x08, 0x00, 0x13,
|
||||
0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79, 0x68,
|
||||
0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0, 0x0e, 0x7a,
|
||||
0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73,
|
||||
0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d,
|
||||
0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71,
|
||||
0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30, 0x07, 0x72,
|
||||
0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07, 0x7a,
|
||||
0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0, 0x07, 0x73,
|
||||
0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72,
|
||||
0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d,
|
||||
0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72,
|
||||
0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10, 0x20, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x34, 0x40,
|
||||
0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4, 0x79,
|
||||
0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xc8,
|
||||
0x23, 0x01, 0x01, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
|
||||
0x16, 0x08, 0x00, 0x14, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19,
|
||||
0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22, 0x25,
|
||||
0x30, 0x02, 0x50, 0x0c, 0x05, 0x28, 0x50, 0x04, 0x85, 0x50, 0x06, 0xe5,
|
||||
0x50, 0x12, 0x05, 0x18, 0x50, 0x1e, 0x85, 0x51, 0xba, 0x01, 0x45, 0x41,
|
||||
0xa5, 0x24, 0x46, 0x00, 0xca, 0xa0, 0x08, 0x0a, 0x81, 0x62, 0x0d, 0xd0,
|
||||
0x9d, 0x01, 0x20, 0x3c, 0x03, 0x40, 0x79, 0x2c, 0x87, 0x61, 0x9e, 0xe7,
|
||||
0x01, 0x20, 0x30, 0x00, 0x00, 0x10, 0x01, 0x21, 0x10, 0x0c, 0x40, 0x50,
|
||||
0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x9e, 0x00, 0x00, 0x00, 0x1a,
|
||||
0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44, 0x35, 0x18, 0x63, 0x0b, 0x73,
|
||||
0x3b, 0x03, 0xb1, 0x2b, 0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x03, 0x99, 0x71,
|
||||
0xb9, 0x01, 0x41, 0xa1, 0x0b, 0x3b, 0x9b, 0x7b, 0x91, 0x2a, 0x62, 0x2a,
|
||||
0x0a, 0x9a, 0x2a, 0xfa, 0x9a, 0xb9, 0x81, 0x79, 0x31, 0x4b, 0x73, 0x0b,
|
||||
0x63, 0x4b, 0xd9, 0x10, 0x04, 0x13, 0x04, 0xc2, 0x98, 0x20, 0x10, 0xc7,
|
||||
0x06, 0x61, 0x20, 0x36, 0x08, 0x04, 0x41, 0xc1, 0x6e, 0x6e, 0x82, 0x40,
|
||||
0x20, 0x1b, 0x86, 0x03, 0x21, 0x26, 0x08, 0xd8, 0xc6, 0xca, 0xaa, 0x4c,
|
||||
0x8e, 0xae, 0x0c, 0x6f, 0x0a, 0x2d, 0x8c, 0xac, 0x4c, 0x6e, 0xe8, 0xcd,
|
||||
0x6d, 0x8e, 0x2e, 0xcc, 0x8d, 0x6e, 0x6e, 0x82, 0x40, 0x24, 0x1b, 0x10,
|
||||
0x42, 0x59, 0x08, 0x62, 0x60, 0x80, 0x0d, 0x41, 0xb3, 0x81, 0x00, 0x00,
|
||||
0x07, 0x98, 0x20, 0x5c, 0x1a, 0x8b, 0xb6, 0x37, 0xb2, 0x32, 0xb6, 0x09,
|
||||
0x02, 0xa1, 0x4c, 0x10, 0x88, 0x65, 0xc3, 0x30, 0x4d, 0xc3, 0x04, 0x81,
|
||||
0x60, 0x26, 0x08, 0x44, 0x33, 0x41, 0x20, 0x9c, 0x09, 0x42, 0x94, 0x6d,
|
||||
0x50, 0x90, 0x48, 0xa2, 0x2a, 0xc2, 0xba, 0x2e, 0x8c, 0x11, 0x9c, 0xdc,
|
||||
0x9b, 0x5a, 0xd9, 0x18, 0x5d, 0xda, 0x9b, 0x5b, 0x90, 0x1b, 0x99, 0x55,
|
||||
0x5a, 0xd9, 0xdd, 0x04, 0x81, 0x78, 0x36, 0x28, 0x88, 0x26, 0x51, 0xd5,
|
||||
0x66, 0x5d, 0x17, 0xb6, 0x61, 0x60, 0x32, 0x6e, 0xc3, 0x40, 0x40, 0xdd,
|
||||
0x04, 0x41, 0x00, 0x36, 0x00, 0x1b, 0x06, 0x02, 0x0c, 0xc0, 0x60, 0x43,
|
||||
0x10, 0x06, 0x1b, 0x86, 0xe1, 0x13, 0x83, 0x09, 0x42, 0xc6, 0x6d, 0x08,
|
||||
0xc8, 0x80, 0x46, 0x5b, 0x58, 0x9a, 0x9b, 0x93, 0x15, 0x11, 0xa8, 0xa7,
|
||||
0xa9, 0x24, 0xaa, 0xa4, 0x27, 0xa7, 0x09, 0x42, 0x41, 0x4d, 0x10, 0x8a,
|
||||
0x6a, 0x43, 0x40, 0x4c, 0x10, 0x0a, 0x6b, 0x83, 0x50, 0x59, 0x1b, 0x16,
|
||||
0xe2, 0x0c, 0xd0, 0x20, 0x0d, 0xd4, 0x20, 0x0d, 0x86, 0x35, 0x20, 0xd2,
|
||||
0x80, 0x0d, 0x88, 0x50, 0x15, 0x61, 0x0d, 0x3d, 0x3d, 0x49, 0x11, 0x4d,
|
||||
0x10, 0x8a, 0x6b, 0x83, 0x50, 0x55, 0x1b, 0x96, 0xc1, 0x0d, 0xd0, 0x20,
|
||||
0x0d, 0xd4, 0x20, 0x0d, 0x86, 0x37, 0x18, 0xd2, 0x00, 0x0e, 0x58, 0x0c,
|
||||
0x3d, 0x31, 0x3d, 0x49, 0x4d, 0x10, 0x0a, 0x6c, 0x82, 0x40, 0x40, 0x1b,
|
||||
0x84, 0x8a, 0x0e, 0x36, 0x2c, 0x92, 0x1c, 0xa0, 0x41, 0x1a, 0xa8, 0x41,
|
||||
0x1a, 0x0c, 0x73, 0x20, 0xa5, 0x41, 0x1d, 0x6c, 0x18, 0xda, 0x20, 0x0e,
|
||||
0xec, 0x80, 0xcb, 0x94, 0xd5, 0x17, 0xd4, 0xdb, 0x5c, 0x1a, 0x5d, 0xda,
|
||||
0x9b, 0xdb, 0x86, 0x85, 0xc0, 0x03, 0x34, 0x58, 0x03, 0x35, 0x98, 0x83,
|
||||
0x61, 0x0e, 0x88, 0x34, 0xa8, 0x83, 0x0d, 0xcb, 0xe0, 0x06, 0x68, 0x90,
|
||||
0x06, 0x6a, 0xf0, 0x06, 0xc3, 0x1b, 0x0c, 0x69, 0x00, 0x07, 0x1b, 0x16,
|
||||
0x49, 0x0e, 0xd0, 0x20, 0x0d, 0xd4, 0xe0, 0x0d, 0x86, 0x39, 0x90, 0xd2,
|
||||
0xa0, 0x0e, 0x36, 0x0c, 0x79, 0xa0, 0x07, 0x7b, 0xb0, 0x61, 0xb8, 0x03,
|
||||
0x3e, 0x00, 0x36, 0x14, 0x9f, 0x19, 0xf4, 0xc1, 0x03, 0xd0, 0x30, 0x63,
|
||||
0x7b, 0x0b, 0xa3, 0x9b, 0x9b, 0x20, 0x10, 0x11, 0x8b, 0x34, 0xb7, 0x39,
|
||||
0xba, 0xb9, 0x09, 0x02, 0x21, 0xd1, 0x98, 0x4b, 0x3b, 0xfb, 0x62, 0x23,
|
||||
0xa3, 0x31, 0x97, 0x76, 0xf6, 0x35, 0x47, 0x37, 0x41, 0x20, 0xa6, 0x0d,
|
||||
0xc8, 0x1f, 0x80, 0x42, 0x28, 0x88, 0xc2, 0x28, 0x5c, 0xa4, 0x50, 0x0a,
|
||||
0x55, 0xd8, 0xd8, 0xec, 0xda, 0x5c, 0xd2, 0xc8, 0xca, 0xdc, 0xe8, 0xa6,
|
||||
0x04, 0x41, 0x15, 0x32, 0x3c, 0x17, 0xbb, 0x32, 0xb9, 0xb9, 0xb4, 0x37,
|
||||
0xb7, 0x29, 0x01, 0xd1, 0x84, 0x0c, 0xcf, 0xc5, 0x2e, 0x8c, 0xcd, 0xae,
|
||||
0x4c, 0x6e, 0x4a, 0x50, 0xd4, 0x21, 0xc3, 0x73, 0x99, 0x43, 0x0b, 0x23,
|
||||
0x2b, 0x93, 0x6b, 0x7a, 0x23, 0x2b, 0x63, 0x9b, 0x12, 0x20, 0x65, 0xc8,
|
||||
0xf0, 0x5c, 0xe4, 0xca, 0xe6, 0xde, 0xea, 0xe4, 0xc6, 0xca, 0xe6, 0xa6,
|
||||
0x04, 0x4e, 0x25, 0x32, 0x3c, 0x17, 0xba, 0x3c, 0xb8, 0xb2, 0x20, 0x37,
|
||||
0xb7, 0x37, 0xba, 0x30, 0xba, 0xb4, 0x37, 0xb7, 0xb9, 0x29, 0x42, 0x27,
|
||||
0x06, 0x75, 0xc8, 0xf0, 0x5c, 0xec, 0xd2, 0xca, 0xee, 0x92, 0xc8, 0xa6,
|
||||
0xe8, 0xc2, 0xe8, 0xca, 0xa6, 0x04, 0x64, 0x50, 0x87, 0x0c, 0xcf, 0xa5,
|
||||
0xcc, 0x8d, 0x4e, 0x2e, 0x0f, 0xea, 0x2d, 0xcd, 0x8d, 0x6e, 0x6e, 0x4a,
|
||||
0xd0, 0x07, 0x5d, 0xc8, 0xf0, 0x5c, 0xc6, 0xde, 0xea, 0xdc, 0xe8, 0xca,
|
||||
0xe4, 0xe6, 0xa6, 0x04, 0xa5, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x49,
|
||||
0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14,
|
||||
0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79,
|
||||
0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e,
|
||||
0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1,
|
||||
0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc,
|
||||
0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74,
|
||||
0x70, 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a,
|
||||
0x70, 0x03, 0x76, 0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e,
|
||||
0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e,
|
||||
0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21,
|
||||
0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0,
|
||||
0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc,
|
||||
0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87, 0x72,
|
||||
0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, 0x76,
|
||||
0x28, 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f,
|
||||
0x08, 0x87, 0x71, 0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c,
|
||||
0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03,
|
||||
0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1,
|
||||
0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61,
|
||||
0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8,
|
||||
0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b, 0x94,
|
||||
0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0,
|
||||
0xc3, 0x8c, 0xc8, 0x21, 0x07, 0x7c, 0x70, 0x03, 0x72, 0x10, 0x87, 0x73,
|
||||
0x70, 0x03, 0x7b, 0x08, 0x07, 0x79, 0x60, 0x87, 0x70, 0xc8, 0x87, 0x77,
|
||||
0xa8, 0x07, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x18,
|
||||
0x00, 0x00, 0x00, 0x36, 0xb0, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10, 0x50,
|
||||
0x45, 0x41, 0x44, 0xa5, 0x03, 0x0c, 0x25, 0x61, 0x00, 0x02, 0xe6, 0x17,
|
||||
0xb7, 0x6d, 0x05, 0xd2, 0x70, 0xf9, 0xce, 0xe3, 0x0b, 0x11, 0x01, 0x4c,
|
||||
0x44, 0x08, 0x34, 0xc3, 0x42, 0x58, 0xc0, 0x34, 0x5c, 0xbe, 0xf3, 0xf8,
|
||||
0x8b, 0x03, 0x0c, 0x62, 0xf3, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x09, 0x54,
|
||||
0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x4d, 0x4e, 0x44, 0xa0, 0xd4, 0xf4, 0x50,
|
||||
0x93, 0x5f, 0xdc, 0xb6, 0x11, 0x48, 0xc3, 0xe5, 0x3b, 0x8f, 0x3f, 0x11,
|
||||
0xd1, 0x84, 0x00, 0x11, 0xe6, 0x17, 0xb7, 0x6d, 0x00, 0x06, 0x03, 0x20,
|
||||
0xcd, 0xf9, 0x02, 0x00, 0x00, 0x00, 0x00, 0x48, 0x41, 0x53, 0x48, 0x14,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0x35, 0x48, 0xb5,
|
||||
0xa6, 0x91, 0x74, 0x60, 0x1c, 0x07, 0x64, 0x1d, 0x4a, 0xe1, 0x87, 0x44,
|
||||
0x58, 0x49, 0x4c, 0xf0, 0x08, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0x3c,
|
||||
0x02, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00, 0x10,
|
||||
0x00, 0x00, 0x00, 0xd8, 0x08, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21,
|
||||
0x0c, 0x00, 0x00, 0x33, 0x02, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02,
|
||||
0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41,
|
||||
0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25,
|
||||
0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02, 0x42,
|
||||
0x92, 0x0b, 0x42, 0xa4, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a,
|
||||
0x32, 0x52, 0x88, 0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5, 0x00,
|
||||
0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50, 0x41,
|
||||
0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06, 0x51,
|
||||
0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff, 0xff,
|
||||
0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff, 0xff,
|
||||
0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00,
|
||||
0x09, 0xa8, 0x00, 0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13,
|
||||
0x82, 0x60, 0x42, 0x20, 0x4c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x89,
|
||||
0x20, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x32, 0x22, 0x48, 0x09, 0x20,
|
||||
0x64, 0x85, 0x04, 0x93, 0x22, 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3, 0x84,
|
||||
0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c, 0x10,
|
||||
0x68, 0x23, 0x00, 0x25, 0x00, 0x14, 0x66, 0x00, 0xe6, 0x08, 0xc0, 0x60,
|
||||
0x8e, 0x00, 0x29, 0xc6, 0x20, 0x84, 0x14, 0x42, 0xa6, 0x18, 0x80, 0x10,
|
||||
0x52, 0x06, 0xa1, 0xa3, 0x86, 0xcb, 0x9f, 0xb0, 0x87, 0x90, 0x7c, 0x6e,
|
||||
0xa3, 0x8a, 0x95, 0x98, 0xfc, 0xe2, 0xb6, 0x11, 0x31, 0xc6, 0x18, 0x54,
|
||||
0xee, 0x19, 0x2e, 0x7f, 0xc2, 0x1e, 0x42, 0xf2, 0x43, 0xa0, 0x19, 0x16,
|
||||
0x02, 0x05, 0xab, 0x10, 0x8a, 0x30, 0x42, 0xad, 0x14, 0x83, 0x8c, 0x31,
|
||||
0xe8, 0xcd, 0x11, 0x04, 0xc5, 0x60, 0xa4, 0x10, 0x12, 0x49, 0x0e, 0x04,
|
||||
0x0c, 0x23, 0x10, 0x43, 0x12, 0xd4, 0x03, 0x83, 0xc3, 0x91, 0xa6, 0x05,
|
||||
0xc0, 0x1c, 0x6a, 0xf2, 0x5f, 0x22, 0x9a, 0x88, 0x8b, 0x3d, 0x80, 0x81,
|
||||
0x88, 0x38, 0xa7, 0x91, 0x26, 0xa0, 0x99, 0x24, 0x24, 0x58, 0x4b, 0x37,
|
||||
0x1d, 0x08, 0x00, 0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87, 0x36,
|
||||
0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50, 0x0e,
|
||||
0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30, 0x07,
|
||||
0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07,
|
||||
0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73, 0x20, 0x07,
|
||||
0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06,
|
||||
0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e,
|
||||
0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6, 0x10, 0x07,
|
||||
0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07,
|
||||
0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0, 0x07,
|
||||
0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07,
|
||||
0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x3c,
|
||||
0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c,
|
||||
0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x30, 0xe4, 0x79, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x60, 0xc8, 0x23, 0x01, 0x01, 0x30, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x40, 0x16, 0x08, 0x00, 0x10, 0x00, 0x00, 0x00, 0x32,
|
||||
0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6,
|
||||
0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50, 0x0c, 0x05, 0x28, 0x50, 0x06,
|
||||
0xe5, 0x50, 0x04, 0xe5, 0x41, 0xa5, 0x24, 0x46, 0x00, 0xca, 0xa0, 0x08,
|
||||
0x0a, 0x81, 0xf0, 0x0c, 0x00, 0xe5, 0xb1, 0x1c, 0x86, 0x79, 0x9e, 0x07,
|
||||
0x80, 0xc0, 0x00, 0x00, 0x40, 0x04, 0x84, 0x40, 0x30, 0x00, 0x41, 0x01,
|
||||
0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1a,
|
||||
0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44, 0x35, 0x18, 0x63, 0x0b, 0x73,
|
||||
0x3b, 0x03, 0xb1, 0x2b, 0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x03, 0x99, 0x71,
|
||||
0xb9, 0x01, 0x41, 0xa1, 0x0b, 0x3b, 0x9b, 0x7b, 0x91, 0x2a, 0x62, 0x2a,
|
||||
0x0a, 0x9a, 0x2a, 0xfa, 0x9a, 0xb9, 0x81, 0x79, 0x31, 0x4b, 0x73, 0x0b,
|
||||
0x63, 0x4b, 0xd9, 0x10, 0x04, 0x13, 0x04, 0xc2, 0x98, 0x20, 0x10, 0xc7,
|
||||
0x06, 0x61, 0x20, 0x26, 0x08, 0x04, 0xb2, 0x41, 0x18, 0x0c, 0x0a, 0x76,
|
||||
0x73, 0x1b, 0x06, 0xc4, 0x20, 0x26, 0x08, 0xd8, 0x44, 0x60, 0x82, 0x40,
|
||||
0x24, 0x1b, 0x10, 0x42, 0x59, 0x08, 0x62, 0x60, 0x80, 0x0d, 0x41, 0xb3,
|
||||
0x81, 0x00, 0x00, 0x07, 0x98, 0x20, 0x64, 0xd4, 0x86, 0x00, 0x9a, 0x20,
|
||||
0x08, 0x00, 0x8d, 0xb6, 0xb0, 0x34, 0x37, 0x27, 0x2b, 0x22, 0x50, 0x4f,
|
||||
0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x13, 0x84, 0xc2, 0x99, 0x20, 0x14,
|
||||
0xcf, 0x86, 0x80, 0x98, 0x20, 0x14, 0xd0, 0x04, 0x81, 0x50, 0x26, 0x08,
|
||||
0xc4, 0xb2, 0x41, 0xc8, 0xb4, 0x0d, 0x0b, 0x41, 0x55, 0xd6, 0x65, 0x0d,
|
||||
0x18, 0x61, 0x6d, 0x44, 0xa8, 0x8a, 0xb0, 0x86, 0x9e, 0x9e, 0xa4, 0x88,
|
||||
0x26, 0x08, 0x45, 0xb4, 0x41, 0xc8, 0xb2, 0x0d, 0xcb, 0xd0, 0x55, 0xd6,
|
||||
0x65, 0x0d, 0xde, 0x60, 0x7d, 0x13, 0x04, 0x82, 0x61, 0x31, 0xf4, 0xc4,
|
||||
0xf4, 0x24, 0x35, 0x41, 0x28, 0xa4, 0x09, 0x02, 0xd1, 0x6c, 0x10, 0x32,
|
||||
0x32, 0xd8, 0xb0, 0x84, 0x81, 0x18, 0x54, 0xd6, 0x65, 0x0d, 0x63, 0x10,
|
||||
0x06, 0x56, 0x19, 0x6c, 0x18, 0x38, 0x30, 0x30, 0x03, 0x2e, 0x53, 0x56,
|
||||
0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1b, 0x16, 0x02,
|
||||
0x0d, 0x2a, 0xec, 0x1a, 0x83, 0x61, 0x0c, 0x08, 0xab, 0x0c, 0x36, 0x2c,
|
||||
0x43, 0x57, 0x59, 0x97, 0x37, 0x78, 0x83, 0xf5, 0x6d, 0x58, 0xc2, 0x40,
|
||||
0x0c, 0x2a, 0xeb, 0xf2, 0x86, 0x31, 0x08, 0x03, 0xab, 0x0c, 0x36, 0x0c,
|
||||
0x69, 0xa0, 0x06, 0x6b, 0xb0, 0x61, 0x38, 0x03, 0x36, 0x00, 0x36, 0x14,
|
||||
0xd2, 0xd4, 0x06, 0x0f, 0x50, 0x85, 0x8d, 0xcd, 0xae, 0xcd, 0x25, 0x8d,
|
||||
0xac, 0xcc, 0x8d, 0x6e, 0x4a, 0x10, 0x54, 0x21, 0xc3, 0x73, 0xb1, 0x2b,
|
||||
0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x9b, 0x12, 0x10, 0x4d, 0xc8, 0xf0, 0x5c,
|
||||
0xec, 0xc2, 0xd8, 0xec, 0xca, 0xe4, 0xa6, 0x04, 0x46, 0x1d, 0x32, 0x3c,
|
||||
0x97, 0x39, 0xb4, 0x30, 0xb2, 0x32, 0xb9, 0xa6, 0x37, 0xb2, 0x32, 0xb6,
|
||||
0x29, 0x01, 0x52, 0x86, 0x0c, 0xcf, 0x45, 0xae, 0x6c, 0xee, 0xad, 0x4e,
|
||||
0x6e, 0xac, 0x6c, 0x6e, 0x4a, 0xe0, 0xd4, 0x21, 0xc3, 0x73, 0xb1, 0x4b,
|
||||
0x2b, 0xbb, 0x4b, 0x22, 0x9b, 0xa2, 0x0b, 0xa3, 0x2b, 0x9b, 0x12, 0x40,
|
||||
0x75, 0xc8, 0xf0, 0x5c, 0xca, 0xdc, 0xe8, 0xe4, 0xf2, 0xa0, 0xde, 0xd2,
|
||||
0xdc, 0xe8, 0xe6, 0xa6, 0x04, 0x6d, 0x00, 0x79, 0x18, 0x00, 0x00, 0x49,
|
||||
0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14,
|
||||
0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79,
|
||||
0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e,
|
||||
0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1,
|
||||
0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc,
|
||||
0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74,
|
||||
0x70, 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a,
|
||||
0x70, 0x03, 0x76, 0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e,
|
||||
0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e,
|
||||
0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21,
|
||||
0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0,
|
||||
0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc,
|
||||
0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87, 0x72,
|
||||
0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, 0x76,
|
||||
0x28, 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f,
|
||||
0x08, 0x87, 0x71, 0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c,
|
||||
0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03,
|
||||
0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1,
|
||||
0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61,
|
||||
0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8,
|
||||
0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b, 0x94,
|
||||
0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0,
|
||||
0xc3, 0x8c, 0xc8, 0x21, 0x07, 0x7c, 0x70, 0x03, 0x72, 0x10, 0x87, 0x73,
|
||||
0x70, 0x03, 0x7b, 0x08, 0x07, 0x79, 0x60, 0x87, 0x70, 0xc8, 0x87, 0x77,
|
||||
0xa8, 0x07, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x18,
|
||||
0x00, 0x00, 0x00, 0x36, 0xb0, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10, 0x50,
|
||||
0x45, 0x41, 0x44, 0xa5, 0x03, 0x0c, 0x25, 0x61, 0x00, 0x02, 0xe6, 0x17,
|
||||
0xb7, 0x6d, 0x05, 0xd2, 0x70, 0xf9, 0xce, 0xe3, 0x0b, 0x11, 0x01, 0x4c,
|
||||
0x44, 0x08, 0x34, 0xc3, 0x42, 0x58, 0xc0, 0x34, 0x5c, 0xbe, 0xf3, 0xf8,
|
||||
0x8b, 0x03, 0x0c, 0x62, 0xf3, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x09, 0x54,
|
||||
0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x4d, 0x4e, 0x44, 0xa0, 0xd4, 0xf4, 0x50,
|
||||
0x93, 0x5f, 0xdc, 0xb6, 0x11, 0x48, 0xc3, 0xe5, 0x3b, 0x8f, 0x3f, 0x11,
|
||||
0xd1, 0x84, 0x00, 0x11, 0xe6, 0x17, 0xb7, 0x6d, 0x00, 0x06, 0x03, 0x20,
|
||||
0xcd, 0xf9, 0x02, 0x61, 0x20, 0x00, 0x00, 0xcf, 0x00, 0x00, 0x00, 0x13,
|
||||
0x04, 0x41, 0x2c, 0x10, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x44,
|
||||
0x8a, 0xab, 0x14, 0x0a, 0x61, 0x06, 0xa0, 0xec, 0x4a, 0x8e, 0x4a, 0x09,
|
||||
0x50, 0x1c, 0x01, 0x00, 0x00, 0x00, 0x00, 0x23, 0x06, 0x09, 0x00, 0x82,
|
||||
0x60, 0x20, 0x61, 0x03, 0x63, 0x59, 0xc1, 0x88, 0x41, 0x02, 0x80, 0x20,
|
||||
0x18, 0x18, 0xdd, 0x21, 0x5d, 0x8f, 0x31, 0x62, 0x90, 0x00, 0x20, 0x08,
|
||||
0x06, 0x86, 0x87, 0x4c, 0x18, 0x71, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82,
|
||||
0x81, 0xf1, 0x25, 0x54, 0xf6, 0x20, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60,
|
||||
0x60, 0x80, 0x81, 0x52, 0x69, 0x51, 0x32, 0x62, 0x90, 0x00, 0x20, 0x08,
|
||||
0x06, 0x46, 0x18, 0x2c, 0xdc, 0x36, 0x29, 0x23, 0x06, 0x09, 0x00, 0x82,
|
||||
0x60, 0x60, 0x88, 0x01, 0xd3, 0x71, 0xc8, 0x32, 0x62, 0x90, 0x00, 0x20,
|
||||
0x08, 0x06, 0xc6, 0x18, 0x34, 0x5d, 0x57, 0x31, 0x23, 0x06, 0x09, 0x00,
|
||||
0x82, 0x60, 0x60, 0x90, 0x81, 0xe3, 0x79, 0x4a, 0x33, 0x62, 0x90, 0x00,
|
||||
0x20, 0x08, 0x06, 0x46, 0x19, 0x3c, 0xdf, 0x57, 0x39, 0x23, 0x06, 0x07,
|
||||
0x00, 0x82, 0x60, 0xd0, 0x90, 0x81, 0xa3, 0x80, 0xc1, 0x68, 0x42, 0x00,
|
||||
0x8c, 0x26, 0x08, 0xc1, 0x68, 0xc2, 0x20, 0x8c, 0x26, 0x10, 0xc3, 0x88,
|
||||
0xc1, 0x01, 0x80, 0x20, 0x18, 0x34, 0x69, 0x30, 0x3d, 0x66, 0x30, 0x9a,
|
||||
0x10, 0x00, 0xa3, 0x09, 0x42, 0x30, 0x9a, 0x30, 0x08, 0xa3, 0x09, 0xc4,
|
||||
0x30, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0x8d, 0x1b, 0x60, 0x54, 0x19,
|
||||
0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c, 0x26, 0x0c, 0xc2, 0x68,
|
||||
0x02, 0x31, 0x8c, 0x18, 0x1c, 0x00, 0x08, 0x82, 0x41, 0x33, 0x07, 0x5d,
|
||||
0xc6, 0x06, 0xa3, 0x09, 0x01, 0x30, 0x9a, 0x20, 0x04, 0xa3, 0x09, 0x83,
|
||||
0x30, 0x9a, 0x40, 0x0c, 0x36, 0x5d, 0xf2, 0x19, 0x31, 0x40, 0x00, 0x10,
|
||||
0x04, 0x83, 0x07, 0x0f, 0xce, 0xe0, 0x7a, 0x82, 0x11, 0x03, 0x04, 0x00,
|
||||
0x41, 0x30, 0x78, 0xf2, 0x00, 0x0d, 0xae, 0x25, 0xb0, 0xe0, 0x80, 0x8e,
|
||||
0x59, 0x9b, 0x7c, 0x46, 0x0c, 0x10, 0x00, 0x04, 0xc1, 0xe0, 0xe1, 0x83,
|
||||
0x35, 0xd8, 0xa4, 0x60, 0xc4, 0x00, 0x01, 0x40, 0x10, 0x0c, 0x9e, 0x3e,
|
||||
0x60, 0x83, 0xcd, 0x09, 0x2c, 0x50, 0xa0, 0x63, 0xd9, 0x27, 0x9f, 0x11,
|
||||
0x03, 0x04, 0x00, 0x41, 0x30, 0x78, 0x40, 0xe1, 0x0d, 0xbe, 0x2a, 0x18,
|
||||
0x31, 0x40, 0x00, 0x10, 0x04, 0x83, 0x27, 0x14, 0xe0, 0xe0, 0x8b, 0x02,
|
||||
0x0b, 0x1a, 0xe8, 0x18, 0x37, 0x06, 0xf2, 0x19, 0x31, 0x40, 0x00, 0x10,
|
||||
0x04, 0x83, 0x87, 0x14, 0xe6, 0x60, 0x0c, 0xb0, 0x60, 0xc4, 0x00, 0x01,
|
||||
0x40, 0x10, 0x0c, 0x9e, 0x52, 0xa0, 0x83, 0x31, 0xa0, 0x02, 0x0b, 0x20,
|
||||
0xe8, 0x8c, 0x18, 0x1c, 0x00, 0x08, 0x82, 0x41, 0x83, 0x0a, 0x72, 0xe0,
|
||||
0x06, 0x74, 0x30, 0x9a, 0x10, 0x00, 0xa3, 0x09, 0x42, 0x30, 0x9a, 0x30,
|
||||
0x08, 0xa3, 0x09, 0xc4, 0x30, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0x4d,
|
||||
0x2b, 0xdc, 0xc1, 0x1c, 0xe8, 0xc1, 0x68, 0x42, 0x00, 0x8c, 0x26, 0x08,
|
||||
0xc1, 0x68, 0xc2, 0x20, 0x8c, 0x26, 0x10, 0xc3, 0x88, 0xc1, 0x01, 0x80,
|
||||
0x20, 0x18, 0x34, 0xb2, 0xc0, 0x07, 0x78, 0xd0, 0x0a, 0xa3, 0x09, 0x01,
|
||||
0x30, 0x9a, 0x20, 0x04, 0xa3, 0x09, 0x83, 0x30, 0x9a, 0x40, 0x0c, 0x23,
|
||||
0x06, 0x07, 0x00, 0x82, 0x60, 0xd0, 0xdc, 0x42, 0x28, 0xf4, 0xc1, 0x2b,
|
||||
0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c, 0x26, 0x0c, 0xc2, 0x68,
|
||||
0x02, 0x31, 0xd8, 0x14, 0x06, 0xf2, 0x19, 0x31, 0x40, 0x00, 0x10, 0x04,
|
||||
0x83, 0x87, 0x17, 0x56, 0xc1, 0x7b, 0x82, 0x11, 0x03, 0x04, 0x00, 0x41,
|
||||
0x30, 0x78, 0x7a, 0x81, 0x15, 0xb6, 0x25, 0x18, 0x31, 0x40, 0x00, 0x10,
|
||||
0x04, 0x83, 0xc7, 0x17, 0x5a, 0x01, 0x3b, 0x02, 0xb3, 0xca, 0x40, 0x3e,
|
||||
0x23, 0x06, 0x08, 0x00, 0x82, 0x60, 0xf0, 0x80, 0xc3, 0x2b, 0x88, 0x81,
|
||||
0x14, 0x8c, 0x18, 0x20, 0x00, 0x08, 0x82, 0xc1, 0x13, 0x0e, 0xb0, 0xf0,
|
||||
0x39, 0xc1, 0x88, 0x01, 0x02, 0x80, 0x20, 0x18, 0x3c, 0xe2, 0x10, 0x0b,
|
||||
0x9c, 0x12, 0x58, 0x96, 0x06, 0xf2, 0x19, 0x31, 0x40, 0x00, 0x10, 0x04,
|
||||
0x83, 0x87, 0x1c, 0x66, 0xc1, 0x0c, 0xaa, 0x60, 0xc4, 0x00, 0x01, 0x40,
|
||||
0x10, 0x0c, 0x9e, 0x72, 0xa0, 0x85, 0x31, 0x88, 0x82, 0x11, 0x03, 0x04,
|
||||
0x00, 0x41, 0x30, 0x78, 0xcc, 0xa1, 0x16, 0xc0, 0xa0, 0x09, 0x8c, 0x6b,
|
||||
0x03, 0xf9, 0x8c, 0x18, 0x20, 0x00, 0x08, 0x82, 0xc1, 0x83, 0x0e, 0xb7,
|
||||
0xa0, 0x06, 0x58, 0x30, 0x62, 0x80, 0x00, 0x20, 0x08, 0x06, 0x4f, 0x3a,
|
||||
0xe0, 0xc2, 0x19, 0x50, 0xc1, 0x88, 0x01, 0x02, 0x80, 0x20, 0x18, 0x3c,
|
||||
0xea, 0x90, 0x0b, 0x64, 0x00, 0x05, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60,
|
||||
0x80, 0xb4, 0x43, 0x2e, 0xa0, 0x03, 0x3a, 0x80, 0x43, 0x33, 0x62, 0x90,
|
||||
0x00, 0x20, 0x08, 0x06, 0x48, 0x3b, 0xe4, 0x02, 0x3a, 0xa0, 0x03, 0x2d,
|
||||
0x24, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x80, 0xb4, 0x43, 0x2e, 0xa0,
|
||||
0x03, 0x3a, 0xf8, 0x42, 0x31, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x48,
|
||||
0x3b, 0xe4, 0x02, 0x3a, 0xa0, 0xc3, 0x2f, 0x04, 0x23, 0x06, 0x09, 0x00,
|
||||
0x82, 0x60, 0x80, 0xb4, 0x43, 0x2e, 0xa4, 0x03, 0x3a, 0x80, 0x43, 0x2b,
|
||||
0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x01, 0xd2, 0x0e, 0xb9, 0x90, 0x0e,
|
||||
0xe8, 0x40, 0x0b, 0xac, 0x30, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x48,
|
||||
0x3b, 0xe4, 0xc2, 0x38, 0xa0, 0x03, 0x38, 0xc4, 0xc2, 0x88, 0x41, 0x02,
|
||||
0x80, 0x20, 0x18, 0x20, 0xed, 0x90, 0x0b, 0xe3, 0x80, 0x0e, 0xb4, 0x00,
|
||||
0x0b, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x80, 0xb4, 0x43, 0x2e, 0x8c,
|
||||
0x03, 0x3a, 0xf8, 0xc2, 0x2b, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x01,
|
||||
0xd2, 0x0e, 0xb9, 0x30, 0x0e, 0xe8, 0xf0, 0x0b, 0xae, 0x80, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00
|
||||
};
|
645
src/render/direct3d12/D3D12_VertexShader_Texture.h
Executable file
645
src/render/direct3d12/D3D12_VertexShader_Texture.h
Executable file
|
@ -0,0 +1,645 @@
|
|||
#if 0
|
||||
;
|
||||
; Input signature:
|
||||
;
|
||||
; Name Index Mask Register SysValue Format Used
|
||||
; -------------------- ----- ------ -------- -------- ------- ------
|
||||
; POSITION 0 xyz 0 NONE float xyz
|
||||
; TEXCOORD 0 xy 1 NONE float xy
|
||||
; COLOR 0 xyzw 2 NONE float xyzw
|
||||
;
|
||||
;
|
||||
; Output signature:
|
||||
;
|
||||
; Name Index Mask Register SysValue Format Used
|
||||
; -------------------- ----- ------ -------- -------- ------- ------
|
||||
; SV_Position 0 xyzw 0 POS float xyzw
|
||||
; TEXCOORD 0 xy 1 NONE float xy
|
||||
; COLOR 0 xyzw 2 NONE float xyzw
|
||||
;
|
||||
; shader hash: 6b5daf1892267550d482ef06f687d614
|
||||
;
|
||||
; Pipeline Runtime Information:
|
||||
;
|
||||
; Vertex Shader
|
||||
; OutputPositionPresent=1
|
||||
;
|
||||
;
|
||||
; Input signature:
|
||||
;
|
||||
; Name Index InterpMode DynIdx
|
||||
; -------------------- ----- ---------------------- ------
|
||||
; POSITION 0
|
||||
; TEXCOORD 0
|
||||
; COLOR 0
|
||||
;
|
||||
; Output signature:
|
||||
;
|
||||
; Name Index InterpMode DynIdx
|
||||
; -------------------- ----- ---------------------- ------
|
||||
; SV_Position 0 noperspective
|
||||
; TEXCOORD 0 linear
|
||||
; COLOR 0 linear
|
||||
;
|
||||
; Buffer Definitions:
|
||||
;
|
||||
; cbuffer VertexShaderConstants
|
||||
; {
|
||||
;
|
||||
; struct hostlayout.VertexShaderConstants
|
||||
; {
|
||||
;
|
||||
; row_major float4x4 model; ; Offset: 0
|
||||
; row_major float4x4 projectionAndView; ; Offset: 64
|
||||
;
|
||||
; } VertexShaderConstants; ; Offset: 0 Size: 128
|
||||
;
|
||||
; }
|
||||
;
|
||||
;
|
||||
; Resource Bindings:
|
||||
;
|
||||
; Name Type Format Dim ID HLSL Bind Count
|
||||
; ------------------------------ ---------- ------- ----------- ------- -------------- ------
|
||||
; VertexShaderConstants cbuffer NA NA CB0 cb0 1
|
||||
;
|
||||
;
|
||||
; ViewId state:
|
||||
;
|
||||
; Number of inputs: 12, outputs: 12
|
||||
; Outputs dependent on ViewId: { }
|
||||
; Inputs contributing to computation of Outputs:
|
||||
; output 0 depends on inputs: { 0, 1, 2 }
|
||||
; output 1 depends on inputs: { 0, 1, 2 }
|
||||
; output 2 depends on inputs: { 0, 1, 2 }
|
||||
; output 3 depends on inputs: { 0, 1, 2 }
|
||||
; output 4 depends on inputs: { 4 }
|
||||
; output 5 depends on inputs: { 5 }
|
||||
; output 8 depends on inputs: { 8 }
|
||||
; output 9 depends on inputs: { 9 }
|
||||
; output 10 depends on inputs: { 10 }
|
||||
; output 11 depends on inputs: { 11 }
|
||||
;
|
||||
target datalayout = "e-m:e-p:32:32-i1:32-i8:32-i16:32-i32:32-i64:64-f16:32-f32:32-f64:64-n8:16:32:64"
|
||||
target triple = "dxil-ms-dx"
|
||||
|
||||
%dx.types.Handle = type { i8* }
|
||||
%dx.types.CBufRet.f32 = type { float, float, float, float }
|
||||
%hostlayout.VertexShaderConstants = type { [4 x <4 x float>], [4 x <4 x float>] }
|
||||
|
||||
define void @mainTexture() {
|
||||
%1 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 2, i32 0, i32 0, i1 false) ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
|
||||
%2 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 0, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%3 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 1, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%4 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 2, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%5 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 3, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%6 = call float @dx.op.loadInput.f32(i32 4, i32 1, i32 0, i8 0, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%7 = call float @dx.op.loadInput.f32(i32 4, i32 1, i32 0, i8 1, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%8 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 0, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%9 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 1, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%10 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 2, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%11 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 0) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%12 = extractvalue %dx.types.CBufRet.f32 %11, 0
|
||||
%13 = extractvalue %dx.types.CBufRet.f32 %11, 1
|
||||
%14 = extractvalue %dx.types.CBufRet.f32 %11, 2
|
||||
%15 = extractvalue %dx.types.CBufRet.f32 %11, 3
|
||||
%16 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 1) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%17 = extractvalue %dx.types.CBufRet.f32 %16, 0
|
||||
%18 = extractvalue %dx.types.CBufRet.f32 %16, 1
|
||||
%19 = extractvalue %dx.types.CBufRet.f32 %16, 2
|
||||
%20 = extractvalue %dx.types.CBufRet.f32 %16, 3
|
||||
%21 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 2) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%22 = extractvalue %dx.types.CBufRet.f32 %21, 0
|
||||
%23 = extractvalue %dx.types.CBufRet.f32 %21, 1
|
||||
%24 = extractvalue %dx.types.CBufRet.f32 %21, 2
|
||||
%25 = extractvalue %dx.types.CBufRet.f32 %21, 3
|
||||
%26 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 3) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%27 = extractvalue %dx.types.CBufRet.f32 %26, 0
|
||||
%28 = extractvalue %dx.types.CBufRet.f32 %26, 1
|
||||
%29 = extractvalue %dx.types.CBufRet.f32 %26, 2
|
||||
%30 = extractvalue %dx.types.CBufRet.f32 %26, 3
|
||||
%31 = fmul fast float %12, %8
|
||||
%32 = call float @dx.op.tertiary.f32(i32 46, float %9, float %17, float %31) ; FMad(a,b,c)
|
||||
%33 = call float @dx.op.tertiary.f32(i32 46, float %10, float %22, float %32) ; FMad(a,b,c)
|
||||
%34 = fadd fast float %33, %27
|
||||
%35 = fmul fast float %13, %8
|
||||
%36 = call float @dx.op.tertiary.f32(i32 46, float %9, float %18, float %35) ; FMad(a,b,c)
|
||||
%37 = call float @dx.op.tertiary.f32(i32 46, float %10, float %23, float %36) ; FMad(a,b,c)
|
||||
%38 = fadd fast float %37, %28
|
||||
%39 = fmul fast float %14, %8
|
||||
%40 = call float @dx.op.tertiary.f32(i32 46, float %9, float %19, float %39) ; FMad(a,b,c)
|
||||
%41 = call float @dx.op.tertiary.f32(i32 46, float %10, float %24, float %40) ; FMad(a,b,c)
|
||||
%42 = fadd fast float %41, %29
|
||||
%43 = fmul fast float %15, %8
|
||||
%44 = call float @dx.op.tertiary.f32(i32 46, float %9, float %20, float %43) ; FMad(a,b,c)
|
||||
%45 = call float @dx.op.tertiary.f32(i32 46, float %10, float %25, float %44) ; FMad(a,b,c)
|
||||
%46 = fadd fast float %45, %30
|
||||
%47 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 4) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%48 = extractvalue %dx.types.CBufRet.f32 %47, 0
|
||||
%49 = extractvalue %dx.types.CBufRet.f32 %47, 1
|
||||
%50 = extractvalue %dx.types.CBufRet.f32 %47, 2
|
||||
%51 = extractvalue %dx.types.CBufRet.f32 %47, 3
|
||||
%52 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 5) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%53 = extractvalue %dx.types.CBufRet.f32 %52, 0
|
||||
%54 = extractvalue %dx.types.CBufRet.f32 %52, 1
|
||||
%55 = extractvalue %dx.types.CBufRet.f32 %52, 2
|
||||
%56 = extractvalue %dx.types.CBufRet.f32 %52, 3
|
||||
%57 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 6) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%58 = extractvalue %dx.types.CBufRet.f32 %57, 0
|
||||
%59 = extractvalue %dx.types.CBufRet.f32 %57, 1
|
||||
%60 = extractvalue %dx.types.CBufRet.f32 %57, 2
|
||||
%61 = extractvalue %dx.types.CBufRet.f32 %57, 3
|
||||
%62 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 7) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%63 = extractvalue %dx.types.CBufRet.f32 %62, 0
|
||||
%64 = extractvalue %dx.types.CBufRet.f32 %62, 1
|
||||
%65 = extractvalue %dx.types.CBufRet.f32 %62, 2
|
||||
%66 = extractvalue %dx.types.CBufRet.f32 %62, 3
|
||||
%67 = fmul fast float %48, %34
|
||||
%68 = call float @dx.op.tertiary.f32(i32 46, float %38, float %53, float %67) ; FMad(a,b,c)
|
||||
%69 = call float @dx.op.tertiary.f32(i32 46, float %42, float %58, float %68) ; FMad(a,b,c)
|
||||
%70 = call float @dx.op.tertiary.f32(i32 46, float %46, float %63, float %69) ; FMad(a,b,c)
|
||||
%71 = fmul fast float %49, %34
|
||||
%72 = call float @dx.op.tertiary.f32(i32 46, float %38, float %54, float %71) ; FMad(a,b,c)
|
||||
%73 = call float @dx.op.tertiary.f32(i32 46, float %42, float %59, float %72) ; FMad(a,b,c)
|
||||
%74 = call float @dx.op.tertiary.f32(i32 46, float %46, float %64, float %73) ; FMad(a,b,c)
|
||||
%75 = fmul fast float %50, %34
|
||||
%76 = call float @dx.op.tertiary.f32(i32 46, float %38, float %55, float %75) ; FMad(a,b,c)
|
||||
%77 = call float @dx.op.tertiary.f32(i32 46, float %42, float %60, float %76) ; FMad(a,b,c)
|
||||
%78 = call float @dx.op.tertiary.f32(i32 46, float %46, float %65, float %77) ; FMad(a,b,c)
|
||||
%79 = fmul fast float %51, %34
|
||||
%80 = call float @dx.op.tertiary.f32(i32 46, float %38, float %56, float %79) ; FMad(a,b,c)
|
||||
%81 = call float @dx.op.tertiary.f32(i32 46, float %42, float %61, float %80) ; FMad(a,b,c)
|
||||
%82 = call float @dx.op.tertiary.f32(i32 46, float %46, float %66, float %81) ; FMad(a,b,c)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 0, float %70) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 1, float %74) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 2, float %78) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 3, float %82) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 1, i32 0, i8 0, float %6) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 1, i32 0, i8 1, float %7) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 2, i32 0, i8 0, float %2) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 2, i32 0, i8 1, float %3) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 2, i32 0, i8 2, float %4) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 2, i32 0, i8 3, float %5) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
ret void
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind readnone
|
||||
declare float @dx.op.loadInput.f32(i32, i32, i32, i8, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @dx.op.storeOutput.f32(i32, i32, i32, i8, float) #1
|
||||
|
||||
; Function Attrs: nounwind readonly
|
||||
declare %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32, %dx.types.Handle, i32) #2
|
||||
|
||||
; Function Attrs: nounwind readnone
|
||||
declare float @dx.op.tertiary.f32(i32, float, float, float) #0
|
||||
|
||||
; Function Attrs: nounwind readonly
|
||||
declare %dx.types.Handle @dx.op.createHandle(i32, i8, i32, i32, i1) #2
|
||||
|
||||
attributes #0 = { nounwind readnone }
|
||||
attributes #1 = { nounwind }
|
||||
attributes #2 = { nounwind readonly }
|
||||
|
||||
!llvm.ident = !{!0}
|
||||
!dx.version = !{!1}
|
||||
!dx.valver = !{!2}
|
||||
!dx.shaderModel = !{!3}
|
||||
!dx.resources = !{!4}
|
||||
!dx.viewIdState = !{!7}
|
||||
!dx.entryPoints = !{!8}
|
||||
|
||||
!0 = !{!"clang version 3.7 (tags/RELEASE_370/final)"}
|
||||
!1 = !{i32 1, i32 0}
|
||||
!2 = !{i32 1, i32 6}
|
||||
!3 = !{!"vs", i32 6, i32 0}
|
||||
!4 = !{null, null, !5, null}
|
||||
!5 = !{!6}
|
||||
!6 = !{i32 0, %hostlayout.VertexShaderConstants* undef, !"", i32 0, i32 0, i32 1, i32 128, null}
|
||||
!7 = !{[14 x i32] [i32 12, i32 12, i32 15, i32 15, i32 15, i32 0, i32 16, i32 32, i32 0, i32 0, i32 256, i32 512, i32 1024, i32 2048]}
|
||||
!8 = !{void ()* @mainTexture, !"mainTexture", !9, !4, null}
|
||||
!9 = !{!10, !18, null}
|
||||
!10 = !{!11, !14, !16}
|
||||
!11 = !{i32 0, !"POSITION", i8 9, i8 0, !12, i8 0, i32 1, i8 3, i32 0, i8 0, !13}
|
||||
!12 = !{i32 0}
|
||||
!13 = !{i32 3, i32 7}
|
||||
!14 = !{i32 1, !"TEXCOORD", i8 9, i8 0, !12, i8 0, i32 1, i8 2, i32 1, i8 0, !15}
|
||||
!15 = !{i32 3, i32 3}
|
||||
!16 = !{i32 2, !"COLOR", i8 9, i8 0, !12, i8 0, i32 1, i8 4, i32 2, i8 0, !17}
|
||||
!17 = !{i32 3, i32 15}
|
||||
!18 = !{!19, !20, !21}
|
||||
!19 = !{i32 0, !"SV_Position", i8 9, i8 3, !12, i8 4, i32 1, i8 4, i32 0, i8 0, !17}
|
||||
!20 = !{i32 1, !"TEXCOORD", i8 9, i8 0, !12, i8 2, i32 1, i8 2, i32 1, i8 0, !15}
|
||||
!21 = !{i32 2, !"COLOR", i8 9, i8 0, !12, i8 2, i32 1, i8 4, i32 2, i8 0, !17}
|
||||
|
||||
#endif
|
||||
|
||||
const unsigned char g_mainTexture[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0x43, 0x2f, 0x19, 0x6f, 0xcb, 0x72, 0x40, 0xd1,
|
||||
0xc9, 0x74, 0xd2, 0x78, 0xfc, 0xf2, 0x03, 0x7c, 0x01, 0x00, 0x00, 0x00,
|
||||
0xff, 0x12, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0xd8, 0x00, 0x00, 0x00, 0x63, 0x01, 0x00, 0x00,
|
||||
0x87, 0x02, 0x00, 0x00, 0x2f, 0x03, 0x00, 0x00, 0xdf, 0x09, 0x00, 0x00,
|
||||
0xfb, 0x09, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31,
|
||||
0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x54, 0x45, 0x58,
|
||||
0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00,
|
||||
0x4f, 0x53, 0x47, 0x31, 0x83, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x03, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x7d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44,
|
||||
0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x50, 0x53, 0x56, 0x30, 0x1c,
|
||||
0x01, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x03,
|
||||
0x03, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18,
|
||||
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x50, 0x4f, 0x53, 0x49,
|
||||
0x54, 0x49, 0x4f, 0x4e, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52,
|
||||
0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x54, 0x45, 0x58, 0x43,
|
||||
0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x43, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x42, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0x03, 0x03,
|
||||
0x04, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x42, 0x00, 0x03, 0x02, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00, 0x03, 0x02, 0x00, 0x00, 0x0f,
|
||||
0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x52,
|
||||
0x54, 0x53, 0x30, 0xa0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04,
|
||||
0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0,
|
||||
0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
|
||||
0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
|
||||
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x68,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
|
||||
0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x53,
|
||||
0x54, 0x41, 0x54, 0xa8, 0x06, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0xaa,
|
||||
0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00, 0x10,
|
||||
0x00, 0x00, 0x00, 0x90, 0x06, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21,
|
||||
0x0c, 0x00, 0x00, 0xa1, 0x01, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02,
|
||||
0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41,
|
||||
0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25,
|
||||
0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02, 0x42,
|
||||
0x92, 0x0b, 0x42, 0xa4, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a,
|
||||
0x32, 0x52, 0x88, 0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5, 0x00,
|
||||
0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50, 0x41,
|
||||
0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06, 0x51,
|
||||
0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff, 0xff,
|
||||
0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff, 0xff,
|
||||
0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00,
|
||||
0x09, 0xa8, 0x00, 0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13,
|
||||
0x82, 0x60, 0x42, 0x20, 0x4c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x89,
|
||||
0x20, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x32, 0x22, 0x48, 0x09, 0x20,
|
||||
0x64, 0x85, 0x04, 0x93, 0x22, 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3, 0x84,
|
||||
0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c, 0x10,
|
||||
0x68, 0x23, 0x00, 0x25, 0x00, 0x14, 0x66, 0x00, 0xe6, 0x08, 0xc0, 0x60,
|
||||
0x8e, 0x00, 0x29, 0xc6, 0x20, 0x84, 0x14, 0x42, 0xa6, 0x18, 0x80, 0x10,
|
||||
0x52, 0x06, 0xa1, 0xa3, 0x86, 0xcb, 0x9f, 0xb0, 0x87, 0x90, 0x7c, 0x6e,
|
||||
0xa3, 0x8a, 0x95, 0x98, 0xfc, 0xe2, 0xb6, 0x11, 0x31, 0xc6, 0x18, 0x54,
|
||||
0xee, 0x19, 0x2e, 0x7f, 0xc2, 0x1e, 0x42, 0xf2, 0x43, 0xa0, 0x19, 0x16,
|
||||
0x02, 0x05, 0xab, 0x10, 0x8a, 0x30, 0x42, 0xad, 0x14, 0x83, 0x8c, 0x31,
|
||||
0xe8, 0xcd, 0x11, 0x04, 0xc5, 0x60, 0xa4, 0x10, 0x12, 0x49, 0x0e, 0x04,
|
||||
0x0c, 0x23, 0x10, 0x43, 0x12, 0xd4, 0x03, 0x83, 0xc3, 0x91, 0xa6, 0x05,
|
||||
0xc0, 0x1c, 0x6a, 0xf2, 0x5f, 0x22, 0x9a, 0x88, 0x8b, 0x3d, 0x80, 0x81,
|
||||
0x88, 0x38, 0xa7, 0x91, 0x26, 0xa0, 0x99, 0x24, 0x24, 0x58, 0x4b, 0x37,
|
||||
0x1d, 0x08, 0x00, 0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87, 0x36,
|
||||
0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50, 0x0e,
|
||||
0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30, 0x07,
|
||||
0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07,
|
||||
0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73, 0x20, 0x07,
|
||||
0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06,
|
||||
0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e,
|
||||
0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6, 0x10, 0x07,
|
||||
0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07,
|
||||
0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0, 0x07,
|
||||
0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07,
|
||||
0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x3c,
|
||||
0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c,
|
||||
0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x30, 0xe4, 0x79, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x60, 0xc8, 0x23, 0x01, 0x01, 0x30, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x40, 0x16, 0x08, 0x00, 0x14, 0x00, 0x00, 0x00, 0x32,
|
||||
0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6,
|
||||
0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50, 0x0c, 0x05, 0x28, 0x50, 0x04,
|
||||
0x85, 0x50, 0x06, 0xe5, 0x50, 0x12, 0x05, 0x18, 0x50, 0x1e, 0x85, 0x51,
|
||||
0xba, 0x01, 0x45, 0x41, 0xa5, 0x24, 0x46, 0x00, 0xca, 0xa0, 0x08, 0x0a,
|
||||
0x81, 0x62, 0x0d, 0xd0, 0x9d, 0x01, 0x20, 0x3c, 0x03, 0x40, 0x79, 0x2c,
|
||||
0x87, 0x61, 0x9e, 0xe7, 0x01, 0x20, 0x30, 0x00, 0x00, 0x10, 0x01, 0x21,
|
||||
0x10, 0x0c, 0x40, 0x50, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x9f,
|
||||
0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44, 0x35,
|
||||
0x18, 0x63, 0x0b, 0x73, 0x3b, 0x03, 0xb1, 0x2b, 0x93, 0x9b, 0x4b, 0x7b,
|
||||
0x73, 0x03, 0x99, 0x71, 0xb9, 0x01, 0x41, 0xa1, 0x0b, 0x3b, 0x9b, 0x7b,
|
||||
0x91, 0x2a, 0x62, 0x2a, 0x0a, 0x9a, 0x2a, 0xfa, 0x9a, 0xb9, 0x81, 0x79,
|
||||
0x31, 0x4b, 0x73, 0x0b, 0x63, 0x4b, 0xd9, 0x10, 0x04, 0x13, 0x04, 0xc2,
|
||||
0x98, 0x20, 0x10, 0xc7, 0x06, 0x61, 0x20, 0x36, 0x08, 0x04, 0x41, 0xc1,
|
||||
0x6e, 0x6e, 0x82, 0x40, 0x20, 0x1b, 0x86, 0x03, 0x21, 0x26, 0x08, 0xd8,
|
||||
0xc6, 0xca, 0xaa, 0x4c, 0x8e, 0xae, 0x0c, 0x6f, 0x0a, 0x2d, 0x8c, 0xac,
|
||||
0x4c, 0x6e, 0xe8, 0xcd, 0x6d, 0x8e, 0x2e, 0xcc, 0x8d, 0x6e, 0x6e, 0x82,
|
||||
0x40, 0x24, 0x1b, 0x10, 0x42, 0x59, 0x08, 0x62, 0x60, 0x80, 0x0d, 0x41,
|
||||
0xb3, 0x81, 0x00, 0x00, 0x07, 0x98, 0x20, 0x5c, 0x1a, 0x8b, 0xb6, 0x37,
|
||||
0xb2, 0x32, 0xb6, 0x09, 0x02, 0xa1, 0x4c, 0x10, 0x88, 0x65, 0xc3, 0x30,
|
||||
0x4d, 0xc3, 0x04, 0x81, 0x60, 0x26, 0x08, 0x44, 0x33, 0x41, 0x20, 0x9c,
|
||||
0x09, 0x42, 0x94, 0x6d, 0x50, 0x90, 0x48, 0xa2, 0x2a, 0xc2, 0xba, 0x2e,
|
||||
0x8c, 0x11, 0x9c, 0xdc, 0x9b, 0x5a, 0xd9, 0x18, 0x5d, 0xda, 0x9b, 0x5b,
|
||||
0x90, 0x1b, 0x99, 0x55, 0x5a, 0xd9, 0xdd, 0x04, 0x81, 0x78, 0x36, 0x28,
|
||||
0x88, 0x26, 0x51, 0xd5, 0x66, 0x5d, 0x17, 0xb6, 0x61, 0x60, 0x32, 0x6e,
|
||||
0xc3, 0x40, 0x40, 0xdd, 0x04, 0x41, 0x00, 0x36, 0x00, 0x1b, 0x06, 0x02,
|
||||
0x0c, 0xc0, 0x60, 0x43, 0x10, 0x06, 0x1b, 0x86, 0xe1, 0x13, 0x83, 0x09,
|
||||
0x42, 0xc6, 0x6d, 0x08, 0xc8, 0x80, 0x4b, 0x5b, 0x58, 0x9a, 0x1b, 0x55,
|
||||
0x19, 0x1e, 0x5d, 0x9d, 0x5c, 0x19, 0x11, 0xa8, 0xa7, 0xa9, 0x24, 0xaa,
|
||||
0xa4, 0x27, 0xa7, 0x09, 0x42, 0x41, 0x4d, 0x10, 0x8a, 0x6a, 0x43, 0x40,
|
||||
0x4c, 0x10, 0x0a, 0x6b, 0x83, 0x50, 0x59, 0x1b, 0x16, 0xe2, 0x0c, 0xd0,
|
||||
0x20, 0x0d, 0xd4, 0x20, 0x0d, 0x86, 0x35, 0x20, 0xd2, 0x80, 0x0d, 0x88,
|
||||
0x50, 0x15, 0x61, 0x0d, 0x3d, 0x3d, 0x49, 0x11, 0x4d, 0x10, 0x8a, 0x6b,
|
||||
0x83, 0x50, 0x55, 0x1b, 0x96, 0xc1, 0x0d, 0xd0, 0x20, 0x0d, 0xd4, 0x20,
|
||||
0x0d, 0x86, 0x37, 0x18, 0xd2, 0x00, 0x0e, 0x58, 0x0c, 0x3d, 0x31, 0x3d,
|
||||
0x49, 0x4d, 0x10, 0x0a, 0x6c, 0x82, 0x40, 0x40, 0x1b, 0x84, 0x8a, 0x0e,
|
||||
0x36, 0x2c, 0x92, 0x1c, 0xa0, 0x41, 0x1a, 0xa8, 0x41, 0x1a, 0x0c, 0x73,
|
||||
0x20, 0xa5, 0x41, 0x1d, 0x6c, 0x18, 0xda, 0x20, 0x0e, 0xec, 0x80, 0xcb,
|
||||
0x94, 0xd5, 0x17, 0xd4, 0xdb, 0x5c, 0x1a, 0x5d, 0xda, 0x9b, 0xdb, 0x86,
|
||||
0x85, 0xc0, 0x03, 0x34, 0x58, 0x03, 0x35, 0x98, 0x83, 0x61, 0x0e, 0x88,
|
||||
0x34, 0xa8, 0x83, 0x0d, 0xcb, 0xe0, 0x06, 0x68, 0x90, 0x06, 0x6a, 0xf0,
|
||||
0x06, 0xc3, 0x1b, 0x0c, 0x69, 0x00, 0x07, 0x1b, 0x16, 0x49, 0x0e, 0xd0,
|
||||
0x20, 0x0d, 0xd4, 0xe0, 0x0d, 0x86, 0x39, 0x90, 0xd2, 0xa0, 0x0e, 0x36,
|
||||
0x0c, 0x79, 0xa0, 0x07, 0x7b, 0xb0, 0x61, 0xb8, 0x03, 0x3e, 0x00, 0x36,
|
||||
0x14, 0x9f, 0x19, 0xf4, 0xc1, 0x03, 0xd0, 0x30, 0x63, 0x7b, 0x0b, 0xa3,
|
||||
0x9b, 0x9b, 0x20, 0x10, 0x11, 0x8b, 0x34, 0xb7, 0x39, 0xba, 0xb9, 0x09,
|
||||
0x02, 0x21, 0xd1, 0x98, 0x4b, 0x3b, 0xfb, 0x62, 0x23, 0xa3, 0x31, 0x97,
|
||||
0x76, 0xf6, 0x35, 0x47, 0x37, 0x41, 0x20, 0xa6, 0x0d, 0xc8, 0x1f, 0x80,
|
||||
0x42, 0x28, 0x88, 0xc2, 0x28, 0x5c, 0xa4, 0x50, 0x0a, 0x55, 0xd8, 0xd8,
|
||||
0xec, 0xda, 0x5c, 0xd2, 0xc8, 0xca, 0xdc, 0xe8, 0xa6, 0x04, 0x41, 0x15,
|
||||
0x32, 0x3c, 0x17, 0xbb, 0x32, 0xb9, 0xb9, 0xb4, 0x37, 0xb7, 0x29, 0x01,
|
||||
0xd1, 0x84, 0x0c, 0xcf, 0xc5, 0x2e, 0x8c, 0xcd, 0xae, 0x4c, 0x6e, 0x4a,
|
||||
0x50, 0xd4, 0x21, 0xc3, 0x73, 0x99, 0x43, 0x0b, 0x23, 0x2b, 0x93, 0x6b,
|
||||
0x7a, 0x23, 0x2b, 0x63, 0x9b, 0x12, 0x20, 0x65, 0xc8, 0xf0, 0x5c, 0xe4,
|
||||
0xca, 0xe6, 0xde, 0xea, 0xe4, 0xc6, 0xca, 0xe6, 0xa6, 0x04, 0x4e, 0x25,
|
||||
0x32, 0x3c, 0x17, 0xba, 0x3c, 0xb8, 0xb2, 0x20, 0x37, 0xb7, 0x37, 0xba,
|
||||
0x30, 0xba, 0xb4, 0x37, 0xb7, 0xb9, 0x29, 0x42, 0x27, 0x06, 0x75, 0xc8,
|
||||
0xf0, 0x5c, 0xec, 0xd2, 0xca, 0xee, 0x92, 0xc8, 0xa6, 0xe8, 0xc2, 0xe8,
|
||||
0xca, 0xa6, 0x04, 0x64, 0x50, 0x87, 0x0c, 0xcf, 0xa5, 0xcc, 0x8d, 0x4e,
|
||||
0x2e, 0x0f, 0xea, 0x2d, 0xcd, 0x8d, 0x6e, 0x6e, 0x4a, 0xd0, 0x07, 0x5d,
|
||||
0xc8, 0xf0, 0x5c, 0xc6, 0xde, 0xea, 0xdc, 0xe8, 0xca, 0xe4, 0xe6, 0xa6,
|
||||
0x04, 0xa5, 0x00, 0x79, 0x18, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x33,
|
||||
0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43,
|
||||
0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98,
|
||||
0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33,
|
||||
0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30, 0x05,
|
||||
0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8, 0x43,
|
||||
0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b, 0x08,
|
||||
0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76, 0x78,
|
||||
0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e, 0xe1,
|
||||
0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e, 0x33,
|
||||
0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61, 0x1e,
|
||||
0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4, 0x03,
|
||||
0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76, 0x60,
|
||||
0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37, 0x80,
|
||||
0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76, 0xf8,
|
||||
0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71, 0x18,
|
||||
0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e, 0xee,
|
||||
0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1, 0x1c,
|
||||
0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61, 0x1c,
|
||||
0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90, 0x43,
|
||||
0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8, 0xc3,
|
||||
0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc, 0x83,
|
||||
0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x8c, 0xc8, 0x21,
|
||||
0x07, 0x7c, 0x70, 0x03, 0x72, 0x10, 0x87, 0x73, 0x70, 0x03, 0x7b, 0x08,
|
||||
0x07, 0x79, 0x60, 0x87, 0x70, 0xc8, 0x87, 0x77, 0xa8, 0x07, 0x7a, 0x00,
|
||||
0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x36,
|
||||
0xb0, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10, 0x50, 0x45, 0x41, 0x44, 0xa5,
|
||||
0x03, 0x0c, 0x25, 0x61, 0x00, 0x02, 0xe6, 0x17, 0xb7, 0x6d, 0x05, 0xd2,
|
||||
0x70, 0xf9, 0xce, 0xe3, 0x0b, 0x11, 0x01, 0x4c, 0x44, 0x08, 0x34, 0xc3,
|
||||
0x42, 0x58, 0xc0, 0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x8b, 0x03, 0x0c, 0x62,
|
||||
0xf3, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x09, 0x54, 0xc3, 0xe5, 0x3b, 0x8f,
|
||||
0x2f, 0x4d, 0x4e, 0x44, 0xa0, 0xd4, 0xf4, 0x50, 0x93, 0x5f, 0xdc, 0xb6,
|
||||
0x11, 0x48, 0xc3, 0xe5, 0x3b, 0x8f, 0x3f, 0x11, 0xd1, 0x84, 0x00, 0x11,
|
||||
0xe6, 0x17, 0xb7, 0x6d, 0x00, 0x0b, 0x03, 0x20, 0x4d, 0x4b, 0x5c, 0x13,
|
||||
0x15, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x41, 0x53, 0x48, 0x14,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6b, 0x5d, 0xaf, 0x18, 0x92,
|
||||
0x26, 0x75, 0x50, 0xd4, 0x82, 0xef, 0x06, 0xf6, 0x87, 0xd6, 0x14, 0x44,
|
||||
0x58, 0x49, 0x4c, 0xfc, 0x08, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0x3f,
|
||||
0x02, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00, 0x10,
|
||||
0x00, 0x00, 0x00, 0xe4, 0x08, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21,
|
||||
0x0c, 0x00, 0x00, 0x36, 0x02, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02,
|
||||
0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41,
|
||||
0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25,
|
||||
0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02, 0x42,
|
||||
0x92, 0x0b, 0x42, 0xa4, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a,
|
||||
0x32, 0x52, 0x88, 0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5, 0x00,
|
||||
0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50, 0x41,
|
||||
0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06, 0x51,
|
||||
0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff, 0xff,
|
||||
0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff, 0xff,
|
||||
0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00,
|
||||
0x09, 0xa8, 0x00, 0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13,
|
||||
0x82, 0x60, 0x42, 0x20, 0x4c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x89,
|
||||
0x20, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x32, 0x22, 0x48, 0x09, 0x20,
|
||||
0x64, 0x85, 0x04, 0x93, 0x22, 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3, 0x84,
|
||||
0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c, 0x10,
|
||||
0x68, 0x23, 0x00, 0x25, 0x00, 0x14, 0x66, 0x00, 0xe6, 0x08, 0xc0, 0x60,
|
||||
0x8e, 0x00, 0x29, 0xc6, 0x20, 0x84, 0x14, 0x42, 0xa6, 0x18, 0x80, 0x10,
|
||||
0x52, 0x06, 0xa1, 0xa3, 0x86, 0xcb, 0x9f, 0xb0, 0x87, 0x90, 0x7c, 0x6e,
|
||||
0xa3, 0x8a, 0x95, 0x98, 0xfc, 0xe2, 0xb6, 0x11, 0x31, 0xc6, 0x18, 0x54,
|
||||
0xee, 0x19, 0x2e, 0x7f, 0xc2, 0x1e, 0x42, 0xf2, 0x43, 0xa0, 0x19, 0x16,
|
||||
0x02, 0x05, 0xab, 0x10, 0x8a, 0x30, 0x42, 0xad, 0x14, 0x83, 0x8c, 0x31,
|
||||
0xe8, 0xcd, 0x11, 0x04, 0xc5, 0x60, 0xa4, 0x10, 0x12, 0x49, 0x0e, 0x04,
|
||||
0x0c, 0x23, 0x10, 0x43, 0x12, 0xd4, 0x03, 0x83, 0xc3, 0x91, 0xa6, 0x05,
|
||||
0xc0, 0x1c, 0x6a, 0xf2, 0x5f, 0x22, 0x9a, 0x88, 0x8b, 0x3d, 0x80, 0x81,
|
||||
0x88, 0x38, 0xa7, 0x91, 0x26, 0xa0, 0x99, 0x24, 0x24, 0x58, 0x4b, 0x37,
|
||||
0x1d, 0x08, 0x00, 0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87, 0x36,
|
||||
0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50, 0x0e,
|
||||
0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30, 0x07,
|
||||
0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07,
|
||||
0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73, 0x20, 0x07,
|
||||
0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06,
|
||||
0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e,
|
||||
0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6, 0x10, 0x07,
|
||||
0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07,
|
||||
0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0, 0x07,
|
||||
0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07,
|
||||
0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x3c,
|
||||
0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c,
|
||||
0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x30, 0xe4, 0x79, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x60, 0xc8, 0x23, 0x01, 0x01, 0x30, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x40, 0x16, 0x08, 0x00, 0x10, 0x00, 0x00, 0x00, 0x32,
|
||||
0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6,
|
||||
0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50, 0x0c, 0x05, 0x28, 0x50, 0x06,
|
||||
0xe5, 0x50, 0x04, 0xe5, 0x41, 0xa5, 0x24, 0x46, 0x00, 0xca, 0xa0, 0x08,
|
||||
0x0a, 0x81, 0xf0, 0x0c, 0x00, 0xe5, 0xb1, 0x1c, 0x86, 0x79, 0x9e, 0x07,
|
||||
0x80, 0xc0, 0x00, 0x00, 0x40, 0x04, 0x84, 0x40, 0x30, 0x00, 0x41, 0x01,
|
||||
0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x1a,
|
||||
0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44, 0x35, 0x18, 0x63, 0x0b, 0x73,
|
||||
0x3b, 0x03, 0xb1, 0x2b, 0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x03, 0x99, 0x71,
|
||||
0xb9, 0x01, 0x41, 0xa1, 0x0b, 0x3b, 0x9b, 0x7b, 0x91, 0x2a, 0x62, 0x2a,
|
||||
0x0a, 0x9a, 0x2a, 0xfa, 0x9a, 0xb9, 0x81, 0x79, 0x31, 0x4b, 0x73, 0x0b,
|
||||
0x63, 0x4b, 0xd9, 0x10, 0x04, 0x13, 0x04, 0xc2, 0x98, 0x20, 0x10, 0xc7,
|
||||
0x06, 0x61, 0x20, 0x26, 0x08, 0x04, 0xb2, 0x41, 0x18, 0x0c, 0x0a, 0x76,
|
||||
0x73, 0x1b, 0x06, 0xc4, 0x20, 0x26, 0x08, 0xd8, 0x44, 0x60, 0x82, 0x40,
|
||||
0x24, 0x1b, 0x10, 0x42, 0x59, 0x08, 0x62, 0x60, 0x80, 0x0d, 0x41, 0xb3,
|
||||
0x81, 0x00, 0x00, 0x07, 0x98, 0x20, 0x64, 0xd4, 0x86, 0x00, 0x9a, 0x20,
|
||||
0x08, 0x00, 0x97, 0xb6, 0xb0, 0x34, 0x37, 0xaa, 0x32, 0x3c, 0xba, 0x3a,
|
||||
0xb9, 0x32, 0x22, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x13,
|
||||
0x84, 0xc2, 0x99, 0x20, 0x14, 0xcf, 0x86, 0x80, 0x98, 0x20, 0x14, 0xd0,
|
||||
0x04, 0x81, 0x50, 0x26, 0x08, 0xc4, 0xb2, 0x41, 0xc8, 0xb4, 0x0d, 0x0b,
|
||||
0x41, 0x55, 0xd6, 0x65, 0x0d, 0x18, 0x61, 0x6d, 0x44, 0xa8, 0x8a, 0xb0,
|
||||
0x86, 0x9e, 0x9e, 0xa4, 0x88, 0x26, 0x08, 0x45, 0xb4, 0x41, 0xc8, 0xb2,
|
||||
0x0d, 0xcb, 0xd0, 0x55, 0xd6, 0x65, 0x0d, 0xde, 0x60, 0x7d, 0x13, 0x04,
|
||||
0x82, 0x61, 0x31, 0xf4, 0xc4, 0xf4, 0x24, 0x35, 0x41, 0x28, 0xa4, 0x09,
|
||||
0x02, 0xd1, 0x6c, 0x10, 0x32, 0x32, 0xd8, 0xb0, 0x84, 0x81, 0x18, 0x54,
|
||||
0xd6, 0x65, 0x0d, 0x63, 0x10, 0x06, 0x56, 0x19, 0x6c, 0x18, 0x38, 0x30,
|
||||
0x30, 0x03, 0x2e, 0x53, 0x56, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x1b, 0x16, 0x02, 0x0d, 0x2a, 0xec, 0x1a, 0x83, 0x61, 0x0c,
|
||||
0x08, 0xab, 0x0c, 0x36, 0x2c, 0x43, 0x57, 0x59, 0x97, 0x37, 0x78, 0x83,
|
||||
0xf5, 0x6d, 0x58, 0xc2, 0x40, 0x0c, 0x2a, 0xeb, 0xf2, 0x86, 0x31, 0x08,
|
||||
0x03, 0xab, 0x0c, 0x36, 0x0c, 0x69, 0xa0, 0x06, 0x6b, 0xb0, 0x61, 0x38,
|
||||
0x03, 0x36, 0x00, 0x36, 0x14, 0xd2, 0xd4, 0x06, 0x0f, 0x50, 0x85, 0x8d,
|
||||
0xcd, 0xae, 0xcd, 0x25, 0x8d, 0xac, 0xcc, 0x8d, 0x6e, 0x4a, 0x10, 0x54,
|
||||
0x21, 0xc3, 0x73, 0xb1, 0x2b, 0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x9b, 0x12,
|
||||
0x10, 0x4d, 0xc8, 0xf0, 0x5c, 0xec, 0xc2, 0xd8, 0xec, 0xca, 0xe4, 0xa6,
|
||||
0x04, 0x46, 0x1d, 0x32, 0x3c, 0x97, 0x39, 0xb4, 0x30, 0xb2, 0x32, 0xb9,
|
||||
0xa6, 0x37, 0xb2, 0x32, 0xb6, 0x29, 0x01, 0x52, 0x86, 0x0c, 0xcf, 0x45,
|
||||
0xae, 0x6c, 0xee, 0xad, 0x4e, 0x6e, 0xac, 0x6c, 0x6e, 0x4a, 0xe0, 0xd4,
|
||||
0x21, 0xc3, 0x73, 0xb1, 0x4b, 0x2b, 0xbb, 0x4b, 0x22, 0x9b, 0xa2, 0x0b,
|
||||
0xa3, 0x2b, 0x9b, 0x12, 0x40, 0x75, 0xc8, 0xf0, 0x5c, 0xca, 0xdc, 0xe8,
|
||||
0xe4, 0xf2, 0xa0, 0xde, 0xd2, 0xdc, 0xe8, 0xe6, 0xa6, 0x04, 0x6d, 0x00,
|
||||
0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x33,
|
||||
0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43,
|
||||
0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98,
|
||||
0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33,
|
||||
0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30, 0x05,
|
||||
0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8, 0x43,
|
||||
0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b, 0x08,
|
||||
0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76, 0x78,
|
||||
0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e, 0xe1,
|
||||
0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e, 0x33,
|
||||
0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61, 0x1e,
|
||||
0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4, 0x03,
|
||||
0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76, 0x60,
|
||||
0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37, 0x80,
|
||||
0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76, 0xf8,
|
||||
0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71, 0x18,
|
||||
0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e, 0xee,
|
||||
0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1, 0x1c,
|
||||
0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61, 0x1c,
|
||||
0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90, 0x43,
|
||||
0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8, 0xc3,
|
||||
0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc, 0x83,
|
||||
0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x8c, 0xc8, 0x21,
|
||||
0x07, 0x7c, 0x70, 0x03, 0x72, 0x10, 0x87, 0x73, 0x70, 0x03, 0x7b, 0x08,
|
||||
0x07, 0x79, 0x60, 0x87, 0x70, 0xc8, 0x87, 0x77, 0xa8, 0x07, 0x7a, 0x00,
|
||||
0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x36,
|
||||
0xb0, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10, 0x50, 0x45, 0x41, 0x44, 0xa5,
|
||||
0x03, 0x0c, 0x25, 0x61, 0x00, 0x02, 0xe6, 0x17, 0xb7, 0x6d, 0x05, 0xd2,
|
||||
0x70, 0xf9, 0xce, 0xe3, 0x0b, 0x11, 0x01, 0x4c, 0x44, 0x08, 0x34, 0xc3,
|
||||
0x42, 0x58, 0xc0, 0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x8b, 0x03, 0x0c, 0x62,
|
||||
0xf3, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x09, 0x54, 0xc3, 0xe5, 0x3b, 0x8f,
|
||||
0x2f, 0x4d, 0x4e, 0x44, 0xa0, 0xd4, 0xf4, 0x50, 0x93, 0x5f, 0xdc, 0xb6,
|
||||
0x11, 0x48, 0xc3, 0xe5, 0x3b, 0x8f, 0x3f, 0x11, 0xd1, 0x84, 0x00, 0x11,
|
||||
0xe6, 0x17, 0xb7, 0x6d, 0x00, 0x0b, 0x03, 0x20, 0x4d, 0x4b, 0x5c, 0x13,
|
||||
0x15, 0x11, 0x00, 0x61, 0x20, 0x00, 0x00, 0xcf, 0x00, 0x00, 0x00, 0x13,
|
||||
0x04, 0x41, 0x2c, 0x10, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x44,
|
||||
0x8a, 0xab, 0x14, 0x0a, 0x61, 0x06, 0xa0, 0xec, 0x4a, 0x8e, 0x4a, 0x09,
|
||||
0x50, 0x1c, 0x01, 0x00, 0x00, 0x00, 0x00, 0x23, 0x06, 0x09, 0x00, 0x82,
|
||||
0x60, 0x20, 0x61, 0x03, 0x63, 0x59, 0xc1, 0x88, 0x41, 0x02, 0x80, 0x20,
|
||||
0x18, 0x18, 0xdd, 0x21, 0x5d, 0x8f, 0x31, 0x62, 0x90, 0x00, 0x20, 0x08,
|
||||
0x06, 0x86, 0x87, 0x4c, 0x18, 0x71, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82,
|
||||
0x81, 0xf1, 0x25, 0x54, 0xf6, 0x20, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60,
|
||||
0x60, 0x80, 0x81, 0x52, 0x69, 0x51, 0x32, 0x62, 0x90, 0x00, 0x20, 0x08,
|
||||
0x06, 0x46, 0x18, 0x2c, 0xdc, 0x36, 0x29, 0x23, 0x06, 0x09, 0x00, 0x82,
|
||||
0x60, 0x60, 0x88, 0x01, 0xd3, 0x71, 0xc8, 0x32, 0x62, 0x90, 0x00, 0x20,
|
||||
0x08, 0x06, 0xc6, 0x18, 0x34, 0x5d, 0x57, 0x31, 0x23, 0x06, 0x09, 0x00,
|
||||
0x82, 0x60, 0x60, 0x90, 0x81, 0xe3, 0x79, 0x4a, 0x33, 0x62, 0x90, 0x00,
|
||||
0x20, 0x08, 0x06, 0x46, 0x19, 0x3c, 0xdf, 0x57, 0x39, 0x23, 0x06, 0x07,
|
||||
0x00, 0x82, 0x60, 0xd0, 0x90, 0x81, 0xa3, 0x80, 0xc1, 0x68, 0x42, 0x00,
|
||||
0x8c, 0x26, 0x08, 0xc1, 0x68, 0xc2, 0x20, 0x8c, 0x26, 0x10, 0xc3, 0x88,
|
||||
0xc1, 0x01, 0x80, 0x20, 0x18, 0x34, 0x69, 0x30, 0x3d, 0x66, 0x30, 0x9a,
|
||||
0x10, 0x00, 0xa3, 0x09, 0x42, 0x30, 0x9a, 0x30, 0x08, 0xa3, 0x09, 0xc4,
|
||||
0x30, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0x8d, 0x1b, 0x60, 0x54, 0x19,
|
||||
0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c, 0x26, 0x0c, 0xc2, 0x68,
|
||||
0x02, 0x31, 0x8c, 0x18, 0x1c, 0x00, 0x08, 0x82, 0x41, 0x33, 0x07, 0x5d,
|
||||
0xc6, 0x06, 0xa3, 0x09, 0x01, 0x30, 0x9a, 0x20, 0x04, 0xa3, 0x09, 0x83,
|
||||
0x30, 0x9a, 0x40, 0x0c, 0x36, 0x5d, 0xf2, 0x19, 0x31, 0x40, 0x00, 0x10,
|
||||
0x04, 0x83, 0x07, 0x0f, 0xce, 0xe0, 0x7a, 0x82, 0x11, 0x03, 0x04, 0x00,
|
||||
0x41, 0x30, 0x78, 0xf2, 0x00, 0x0d, 0xae, 0x25, 0xb0, 0xe0, 0x80, 0x8e,
|
||||
0x59, 0x9b, 0x7c, 0x46, 0x0c, 0x10, 0x00, 0x04, 0xc1, 0xe0, 0xe1, 0x83,
|
||||
0x35, 0xd8, 0xa4, 0x60, 0xc4, 0x00, 0x01, 0x40, 0x10, 0x0c, 0x9e, 0x3e,
|
||||
0x60, 0x83, 0xcd, 0x09, 0x2c, 0x50, 0xa0, 0x63, 0xd9, 0x27, 0x9f, 0x11,
|
||||
0x03, 0x04, 0x00, 0x41, 0x30, 0x78, 0x40, 0xe1, 0x0d, 0xbe, 0x2a, 0x18,
|
||||
0x31, 0x40, 0x00, 0x10, 0x04, 0x83, 0x27, 0x14, 0xe0, 0xe0, 0x8b, 0x02,
|
||||
0x0b, 0x1a, 0xe8, 0x18, 0x37, 0x06, 0xf2, 0x19, 0x31, 0x40, 0x00, 0x10,
|
||||
0x04, 0x83, 0x87, 0x14, 0xe6, 0x60, 0x0c, 0xb0, 0x60, 0xc4, 0x00, 0x01,
|
||||
0x40, 0x10, 0x0c, 0x9e, 0x52, 0xa0, 0x83, 0x31, 0xa0, 0x02, 0x0b, 0x20,
|
||||
0xe8, 0x8c, 0x18, 0x1c, 0x00, 0x08, 0x82, 0x41, 0x83, 0x0a, 0x72, 0xe0,
|
||||
0x06, 0x74, 0x30, 0x9a, 0x10, 0x00, 0xa3, 0x09, 0x42, 0x30, 0x9a, 0x30,
|
||||
0x08, 0xa3, 0x09, 0xc4, 0x30, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0x4d,
|
||||
0x2b, 0xdc, 0xc1, 0x1c, 0xe8, 0xc1, 0x68, 0x42, 0x00, 0x8c, 0x26, 0x08,
|
||||
0xc1, 0x68, 0xc2, 0x20, 0x8c, 0x26, 0x10, 0xc3, 0x88, 0xc1, 0x01, 0x80,
|
||||
0x20, 0x18, 0x34, 0xb2, 0xc0, 0x07, 0x78, 0xd0, 0x0a, 0xa3, 0x09, 0x01,
|
||||
0x30, 0x9a, 0x20, 0x04, 0xa3, 0x09, 0x83, 0x30, 0x9a, 0x40, 0x0c, 0x23,
|
||||
0x06, 0x07, 0x00, 0x82, 0x60, 0xd0, 0xdc, 0x42, 0x28, 0xf4, 0xc1, 0x2b,
|
||||
0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c, 0x26, 0x0c, 0xc2, 0x68,
|
||||
0x02, 0x31, 0xd8, 0x14, 0x06, 0xf2, 0x19, 0x31, 0x40, 0x00, 0x10, 0x04,
|
||||
0x83, 0x87, 0x17, 0x56, 0xc1, 0x7b, 0x82, 0x11, 0x03, 0x04, 0x00, 0x41,
|
||||
0x30, 0x78, 0x7a, 0x81, 0x15, 0xb6, 0x25, 0x18, 0x31, 0x40, 0x00, 0x10,
|
||||
0x04, 0x83, 0xc7, 0x17, 0x5a, 0x01, 0x3b, 0x02, 0xb3, 0xca, 0x40, 0x3e,
|
||||
0x23, 0x06, 0x08, 0x00, 0x82, 0x60, 0xf0, 0x80, 0xc3, 0x2b, 0x88, 0x81,
|
||||
0x14, 0x8c, 0x18, 0x20, 0x00, 0x08, 0x82, 0xc1, 0x13, 0x0e, 0xb0, 0xf0,
|
||||
0x39, 0xc1, 0x88, 0x01, 0x02, 0x80, 0x20, 0x18, 0x3c, 0xe2, 0x10, 0x0b,
|
||||
0x9c, 0x12, 0x58, 0x96, 0x06, 0xf2, 0x19, 0x31, 0x40, 0x00, 0x10, 0x04,
|
||||
0x83, 0x87, 0x1c, 0x66, 0xc1, 0x0c, 0xaa, 0x60, 0xc4, 0x00, 0x01, 0x40,
|
||||
0x10, 0x0c, 0x9e, 0x72, 0xa0, 0x85, 0x31, 0x88, 0x82, 0x11, 0x03, 0x04,
|
||||
0x00, 0x41, 0x30, 0x78, 0xcc, 0xa1, 0x16, 0xc0, 0xa0, 0x09, 0x8c, 0x6b,
|
||||
0x03, 0xf9, 0x8c, 0x18, 0x20, 0x00, 0x08, 0x82, 0xc1, 0x83, 0x0e, 0xb7,
|
||||
0xa0, 0x06, 0x58, 0x30, 0x62, 0x80, 0x00, 0x20, 0x08, 0x06, 0x4f, 0x3a,
|
||||
0xe0, 0xc2, 0x19, 0x50, 0xc1, 0x88, 0x01, 0x02, 0x80, 0x20, 0x18, 0x3c,
|
||||
0xea, 0x90, 0x0b, 0x64, 0x00, 0x05, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60,
|
||||
0x80, 0xb4, 0x43, 0x2e, 0xa0, 0x03, 0x3a, 0x80, 0x43, 0x33, 0x62, 0x90,
|
||||
0x00, 0x20, 0x08, 0x06, 0x48, 0x3b, 0xe4, 0x02, 0x3a, 0xa0, 0x03, 0x2d,
|
||||
0x24, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x80, 0xb4, 0x43, 0x2e, 0xa0,
|
||||
0x03, 0x3a, 0xf8, 0x42, 0x31, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x48,
|
||||
0x3b, 0xe4, 0x02, 0x3a, 0xa0, 0xc3, 0x2f, 0x04, 0x23, 0x06, 0x09, 0x00,
|
||||
0x82, 0x60, 0x80, 0xb4, 0x43, 0x2e, 0xa4, 0x03, 0x3a, 0x80, 0x43, 0x2b,
|
||||
0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x01, 0xd2, 0x0e, 0xb9, 0x90, 0x0e,
|
||||
0xe8, 0x40, 0x0b, 0xac, 0x30, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x48,
|
||||
0x3b, 0xe4, 0xc2, 0x38, 0xa0, 0x03, 0x38, 0xc4, 0xc2, 0x88, 0x41, 0x02,
|
||||
0x80, 0x20, 0x18, 0x20, 0xed, 0x90, 0x0b, 0xe3, 0x80, 0x0e, 0xb4, 0x00,
|
||||
0x0b, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x80, 0xb4, 0x43, 0x2e, 0x8c,
|
||||
0x03, 0x3a, 0xf8, 0xc2, 0x2b, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x01,
|
||||
0xd2, 0x0e, 0xb9, 0x30, 0x0e, 0xe8, 0xf0, 0x0b, 0xae, 0x80, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00
|
||||
};
|
651
src/render/direct3d12/D3D12_VertexShader_YUV.h
Executable file
651
src/render/direct3d12/D3D12_VertexShader_YUV.h
Executable file
|
@ -0,0 +1,651 @@
|
|||
#if 0
|
||||
;
|
||||
; Input signature:
|
||||
;
|
||||
; Name Index Mask Register SysValue Format Used
|
||||
; -------------------- ----- ------ -------- -------- ------- ------
|
||||
; POSITION 0 xyz 0 NONE float xyz
|
||||
; TEXCOORD 0 xy 1 NONE float xy
|
||||
; COLOR 0 xyzw 2 NONE float xyzw
|
||||
;
|
||||
;
|
||||
; Output signature:
|
||||
;
|
||||
; Name Index Mask Register SysValue Format Used
|
||||
; -------------------- ----- ------ -------- -------- ------- ------
|
||||
; SV_Position 0 xyzw 0 POS float xyzw
|
||||
; TEXCOORD 0 xy 1 NONE float xy
|
||||
; COLOR 0 xyzw 2 NONE float xyzw
|
||||
;
|
||||
; shader hash: a80c812db8f3c804d5484e45d632860b
|
||||
;
|
||||
; Pipeline Runtime Information:
|
||||
;
|
||||
; Vertex Shader
|
||||
; OutputPositionPresent=1
|
||||
;
|
||||
;
|
||||
; Input signature:
|
||||
;
|
||||
; Name Index InterpMode DynIdx
|
||||
; -------------------- ----- ---------------------- ------
|
||||
; POSITION 0
|
||||
; TEXCOORD 0
|
||||
; COLOR 0
|
||||
;
|
||||
; Output signature:
|
||||
;
|
||||
; Name Index InterpMode DynIdx
|
||||
; -------------------- ----- ---------------------- ------
|
||||
; SV_Position 0 noperspective
|
||||
; TEXCOORD 0 linear
|
||||
; COLOR 0 linear
|
||||
;
|
||||
; Buffer Definitions:
|
||||
;
|
||||
; cbuffer VertexShaderConstants
|
||||
; {
|
||||
;
|
||||
; struct hostlayout.VertexShaderConstants
|
||||
; {
|
||||
;
|
||||
; row_major float4x4 model; ; Offset: 0
|
||||
; row_major float4x4 projectionAndView; ; Offset: 64
|
||||
;
|
||||
; } VertexShaderConstants; ; Offset: 0 Size: 128
|
||||
;
|
||||
; }
|
||||
;
|
||||
;
|
||||
; Resource Bindings:
|
||||
;
|
||||
; Name Type Format Dim ID HLSL Bind Count
|
||||
; ------------------------------ ---------- ------- ----------- ------- -------------- ------
|
||||
; VertexShaderConstants cbuffer NA NA CB0 cb0 1
|
||||
;
|
||||
;
|
||||
; ViewId state:
|
||||
;
|
||||
; Number of inputs: 12, outputs: 12
|
||||
; Outputs dependent on ViewId: { }
|
||||
; Inputs contributing to computation of Outputs:
|
||||
; output 0 depends on inputs: { 0, 1, 2 }
|
||||
; output 1 depends on inputs: { 0, 1, 2 }
|
||||
; output 2 depends on inputs: { 0, 1, 2 }
|
||||
; output 3 depends on inputs: { 0, 1, 2 }
|
||||
; output 4 depends on inputs: { 4 }
|
||||
; output 5 depends on inputs: { 5 }
|
||||
; output 8 depends on inputs: { 8 }
|
||||
; output 9 depends on inputs: { 9 }
|
||||
; output 10 depends on inputs: { 10 }
|
||||
; output 11 depends on inputs: { 11 }
|
||||
;
|
||||
target datalayout = "e-m:e-p:32:32-i1:32-i8:32-i16:32-i32:32-i64:64-f16:32-f32:32-f64:64-n8:16:32:64"
|
||||
target triple = "dxil-ms-dx"
|
||||
|
||||
%dx.types.Handle = type { i8* }
|
||||
%dx.types.CBufRet.f32 = type { float, float, float, float }
|
||||
%hostlayout.VertexShaderConstants = type { [4 x <4 x float>], [4 x <4 x float>] }
|
||||
|
||||
define void @mainYUV() {
|
||||
%1 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 2, i32 0, i32 0, i1 false) ; CreateHandle(resourceClass,rangeId,index,nonUniformIndex)
|
||||
%2 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 0, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%3 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 1, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%4 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 2, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%5 = call float @dx.op.loadInput.f32(i32 4, i32 2, i32 0, i8 3, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%6 = call float @dx.op.loadInput.f32(i32 4, i32 1, i32 0, i8 0, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%7 = call float @dx.op.loadInput.f32(i32 4, i32 1, i32 0, i8 1, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%8 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 0, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%9 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 1, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%10 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 2, i32 undef) ; LoadInput(inputSigId,rowIndex,colIndex,gsVertexAxis)
|
||||
%11 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 0) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%12 = extractvalue %dx.types.CBufRet.f32 %11, 0
|
||||
%13 = extractvalue %dx.types.CBufRet.f32 %11, 1
|
||||
%14 = extractvalue %dx.types.CBufRet.f32 %11, 2
|
||||
%15 = extractvalue %dx.types.CBufRet.f32 %11, 3
|
||||
%16 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 1) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%17 = extractvalue %dx.types.CBufRet.f32 %16, 0
|
||||
%18 = extractvalue %dx.types.CBufRet.f32 %16, 1
|
||||
%19 = extractvalue %dx.types.CBufRet.f32 %16, 2
|
||||
%20 = extractvalue %dx.types.CBufRet.f32 %16, 3
|
||||
%21 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 2) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%22 = extractvalue %dx.types.CBufRet.f32 %21, 0
|
||||
%23 = extractvalue %dx.types.CBufRet.f32 %21, 1
|
||||
%24 = extractvalue %dx.types.CBufRet.f32 %21, 2
|
||||
%25 = extractvalue %dx.types.CBufRet.f32 %21, 3
|
||||
%26 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 3) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%27 = extractvalue %dx.types.CBufRet.f32 %26, 0
|
||||
%28 = extractvalue %dx.types.CBufRet.f32 %26, 1
|
||||
%29 = extractvalue %dx.types.CBufRet.f32 %26, 2
|
||||
%30 = extractvalue %dx.types.CBufRet.f32 %26, 3
|
||||
%31 = fmul fast float %12, %8
|
||||
%32 = call float @dx.op.tertiary.f32(i32 46, float %9, float %17, float %31) ; FMad(a,b,c)
|
||||
%33 = call float @dx.op.tertiary.f32(i32 46, float %10, float %22, float %32) ; FMad(a,b,c)
|
||||
%34 = fadd fast float %33, %27
|
||||
%35 = fmul fast float %13, %8
|
||||
%36 = call float @dx.op.tertiary.f32(i32 46, float %9, float %18, float %35) ; FMad(a,b,c)
|
||||
%37 = call float @dx.op.tertiary.f32(i32 46, float %10, float %23, float %36) ; FMad(a,b,c)
|
||||
%38 = fadd fast float %37, %28
|
||||
%39 = fmul fast float %14, %8
|
||||
%40 = call float @dx.op.tertiary.f32(i32 46, float %9, float %19, float %39) ; FMad(a,b,c)
|
||||
%41 = call float @dx.op.tertiary.f32(i32 46, float %10, float %24, float %40) ; FMad(a,b,c)
|
||||
%42 = fadd fast float %41, %29
|
||||
%43 = fmul fast float %15, %8
|
||||
%44 = call float @dx.op.tertiary.f32(i32 46, float %9, float %20, float %43) ; FMad(a,b,c)
|
||||
%45 = call float @dx.op.tertiary.f32(i32 46, float %10, float %25, float %44) ; FMad(a,b,c)
|
||||
%46 = fadd fast float %45, %30
|
||||
%47 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 4) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%48 = extractvalue %dx.types.CBufRet.f32 %47, 0
|
||||
%49 = extractvalue %dx.types.CBufRet.f32 %47, 1
|
||||
%50 = extractvalue %dx.types.CBufRet.f32 %47, 2
|
||||
%51 = extractvalue %dx.types.CBufRet.f32 %47, 3
|
||||
%52 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 5) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%53 = extractvalue %dx.types.CBufRet.f32 %52, 0
|
||||
%54 = extractvalue %dx.types.CBufRet.f32 %52, 1
|
||||
%55 = extractvalue %dx.types.CBufRet.f32 %52, 2
|
||||
%56 = extractvalue %dx.types.CBufRet.f32 %52, 3
|
||||
%57 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 6) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%58 = extractvalue %dx.types.CBufRet.f32 %57, 0
|
||||
%59 = extractvalue %dx.types.CBufRet.f32 %57, 1
|
||||
%60 = extractvalue %dx.types.CBufRet.f32 %57, 2
|
||||
%61 = extractvalue %dx.types.CBufRet.f32 %57, 3
|
||||
%62 = call %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32 59, %dx.types.Handle %1, i32 7) ; CBufferLoadLegacy(handle,regIndex)
|
||||
%63 = extractvalue %dx.types.CBufRet.f32 %62, 0
|
||||
%64 = extractvalue %dx.types.CBufRet.f32 %62, 1
|
||||
%65 = extractvalue %dx.types.CBufRet.f32 %62, 2
|
||||
%66 = extractvalue %dx.types.CBufRet.f32 %62, 3
|
||||
%67 = fmul fast float %48, %34
|
||||
%68 = call float @dx.op.tertiary.f32(i32 46, float %38, float %53, float %67) ; FMad(a,b,c)
|
||||
%69 = call float @dx.op.tertiary.f32(i32 46, float %42, float %58, float %68) ; FMad(a,b,c)
|
||||
%70 = call float @dx.op.tertiary.f32(i32 46, float %46, float %63, float %69) ; FMad(a,b,c)
|
||||
%71 = fmul fast float %49, %34
|
||||
%72 = call float @dx.op.tertiary.f32(i32 46, float %38, float %54, float %71) ; FMad(a,b,c)
|
||||
%73 = call float @dx.op.tertiary.f32(i32 46, float %42, float %59, float %72) ; FMad(a,b,c)
|
||||
%74 = call float @dx.op.tertiary.f32(i32 46, float %46, float %64, float %73) ; FMad(a,b,c)
|
||||
%75 = fmul fast float %50, %34
|
||||
%76 = call float @dx.op.tertiary.f32(i32 46, float %38, float %55, float %75) ; FMad(a,b,c)
|
||||
%77 = call float @dx.op.tertiary.f32(i32 46, float %42, float %60, float %76) ; FMad(a,b,c)
|
||||
%78 = call float @dx.op.tertiary.f32(i32 46, float %46, float %65, float %77) ; FMad(a,b,c)
|
||||
%79 = fmul fast float %51, %34
|
||||
%80 = call float @dx.op.tertiary.f32(i32 46, float %38, float %56, float %79) ; FMad(a,b,c)
|
||||
%81 = call float @dx.op.tertiary.f32(i32 46, float %42, float %61, float %80) ; FMad(a,b,c)
|
||||
%82 = call float @dx.op.tertiary.f32(i32 46, float %46, float %66, float %81) ; FMad(a,b,c)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 0, float %70) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 1, float %74) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 2, float %78) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 3, float %82) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 1, i32 0, i8 0, float %6) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 1, i32 0, i8 1, float %7) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 2, i32 0, i8 0, float %2) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 2, i32 0, i8 1, float %3) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 2, i32 0, i8 2, float %4) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
call void @dx.op.storeOutput.f32(i32 5, i32 2, i32 0, i8 3, float %5) ; StoreOutput(outputSigId,rowIndex,colIndex,value)
|
||||
ret void
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind readnone
|
||||
declare float @dx.op.loadInput.f32(i32, i32, i32, i8, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @dx.op.storeOutput.f32(i32, i32, i32, i8, float) #1
|
||||
|
||||
; Function Attrs: nounwind readonly
|
||||
declare %dx.types.CBufRet.f32 @dx.op.cbufferLoadLegacy.f32(i32, %dx.types.Handle, i32) #2
|
||||
|
||||
; Function Attrs: nounwind readnone
|
||||
declare float @dx.op.tertiary.f32(i32, float, float, float) #0
|
||||
|
||||
; Function Attrs: nounwind readonly
|
||||
declare %dx.types.Handle @dx.op.createHandle(i32, i8, i32, i32, i1) #2
|
||||
|
||||
attributes #0 = { nounwind readnone }
|
||||
attributes #1 = { nounwind }
|
||||
attributes #2 = { nounwind readonly }
|
||||
|
||||
!llvm.ident = !{!0}
|
||||
!dx.version = !{!1}
|
||||
!dx.valver = !{!2}
|
||||
!dx.shaderModel = !{!3}
|
||||
!dx.resources = !{!4}
|
||||
!dx.viewIdState = !{!7}
|
||||
!dx.entryPoints = !{!8}
|
||||
|
||||
!0 = !{!"clang version 3.7 (tags/RELEASE_370/final)"}
|
||||
!1 = !{i32 1, i32 0}
|
||||
!2 = !{i32 1, i32 6}
|
||||
!3 = !{!"vs", i32 6, i32 0}
|
||||
!4 = !{null, null, !5, null}
|
||||
!5 = !{!6}
|
||||
!6 = !{i32 0, %hostlayout.VertexShaderConstants* undef, !"", i32 0, i32 0, i32 1, i32 128, null}
|
||||
!7 = !{[14 x i32] [i32 12, i32 12, i32 15, i32 15, i32 15, i32 0, i32 16, i32 32, i32 0, i32 0, i32 256, i32 512, i32 1024, i32 2048]}
|
||||
!8 = !{void ()* @mainYUV, !"mainYUV", !9, !4, null}
|
||||
!9 = !{!10, !18, null}
|
||||
!10 = !{!11, !14, !16}
|
||||
!11 = !{i32 0, !"POSITION", i8 9, i8 0, !12, i8 0, i32 1, i8 3, i32 0, i8 0, !13}
|
||||
!12 = !{i32 0}
|
||||
!13 = !{i32 3, i32 7}
|
||||
!14 = !{i32 1, !"TEXCOORD", i8 9, i8 0, !12, i8 0, i32 1, i8 2, i32 1, i8 0, !15}
|
||||
!15 = !{i32 3, i32 3}
|
||||
!16 = !{i32 2, !"COLOR", i8 9, i8 0, !12, i8 0, i32 1, i8 4, i32 2, i8 0, !17}
|
||||
!17 = !{i32 3, i32 15}
|
||||
!18 = !{!19, !20, !21}
|
||||
!19 = !{i32 0, !"SV_Position", i8 9, i8 3, !12, i8 4, i32 1, i8 4, i32 0, i8 0, !17}
|
||||
!20 = !{i32 1, !"TEXCOORD", i8 9, i8 0, !12, i8 2, i32 1, i8 2, i32 1, i8 0, !15}
|
||||
!21 = !{i32 2, !"COLOR", i8 9, i8 0, !12, i8 2, i32 1, i8 4, i32 2, i8 0, !17}
|
||||
|
||||
#endif
|
||||
|
||||
const unsigned char g_mainYUV[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0xa4, 0x7a, 0x63, 0xbc, 0x6b, 0x62, 0xe8, 0x12,
|
||||
0x9f, 0x7b, 0x63, 0x07, 0x5a, 0x41, 0x5f, 0x3a, 0x01, 0x00, 0x00, 0x00,
|
||||
0x4f, 0x13, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0xd8, 0x00, 0x00, 0x00, 0x63, 0x01, 0x00, 0x00,
|
||||
0x87, 0x02, 0x00, 0x00, 0x87, 0x03, 0x00, 0x00, 0x33, 0x0a, 0x00, 0x00,
|
||||
0x4f, 0x0a, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31,
|
||||
0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x54, 0x45, 0x58,
|
||||
0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00,
|
||||
0x4f, 0x53, 0x47, 0x31, 0x83, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x03, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x7d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44,
|
||||
0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x50, 0x53, 0x56, 0x30, 0x1c,
|
||||
0x01, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x03,
|
||||
0x03, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18,
|
||||
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x50, 0x4f, 0x53, 0x49,
|
||||
0x54, 0x49, 0x4f, 0x4e, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52,
|
||||
0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x54, 0x45, 0x58, 0x43,
|
||||
0x4f, 0x4f, 0x52, 0x44, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x43, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x42, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0x03, 0x03,
|
||||
0x04, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x42, 0x00, 0x03, 0x02, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00, 0x03, 0x02, 0x00, 0x00, 0x0f,
|
||||
0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x52,
|
||||
0x54, 0x53, 0x30, 0xf8, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06,
|
||||
0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8,
|
||||
0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
|
||||
0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
|
||||
0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
|
||||
0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
|
||||
0x00, 0x00, 0x00, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
|
||||
0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01,
|
||||
0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0xe0,
|
||||
0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
|
||||
0xff, 0xff, 0xff, 0x53, 0x54, 0x41, 0x54, 0xa4, 0x06, 0x00, 0x00, 0x60,
|
||||
0x00, 0x01, 0x00, 0xa9, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00,
|
||||
0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x8c, 0x06, 0x00, 0x00, 0x42,
|
||||
0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, 0x0b,
|
||||
0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07,
|
||||
0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92,
|
||||
0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80,
|
||||
0x14, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42, 0xa4, 0x10, 0x32, 0x14, 0x38,
|
||||
0x08, 0x18, 0x4b, 0x0a, 0x32, 0x52, 0x88, 0x48, 0x90, 0x14, 0x20, 0x43,
|
||||
0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90, 0x91,
|
||||
0x22, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04,
|
||||
0x29, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1b,
|
||||
0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d, 0x84,
|
||||
0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff, 0xff,
|
||||
0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8, 0x00, 0x49, 0x18, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x42, 0x20, 0x4c, 0x08, 0x06, 0x00,
|
||||
0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x32,
|
||||
0x22, 0x48, 0x09, 0x20, 0x64, 0x85, 0x04, 0x93, 0x22, 0xa4, 0x84, 0x04,
|
||||
0x93, 0x22, 0xe3, 0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8a, 0x8c, 0x0b,
|
||||
0x84, 0xa4, 0x4c, 0x10, 0x68, 0x23, 0x00, 0x25, 0x00, 0x14, 0x66, 0x00,
|
||||
0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00, 0x29, 0xc6, 0x20, 0x84, 0x14, 0x42,
|
||||
0xa6, 0x18, 0x80, 0x10, 0x52, 0x06, 0xa1, 0xa3, 0x86, 0xcb, 0x9f, 0xb0,
|
||||
0x87, 0x90, 0x7c, 0x6e, 0xa3, 0x8a, 0x95, 0x98, 0xfc, 0xe2, 0xb6, 0x11,
|
||||
0x31, 0xc6, 0x18, 0x54, 0xee, 0x19, 0x2e, 0x7f, 0xc2, 0x1e, 0x42, 0xf2,
|
||||
0x43, 0xa0, 0x19, 0x16, 0x02, 0x05, 0xab, 0x10, 0x8a, 0x30, 0x42, 0xad,
|
||||
0x14, 0x83, 0x8c, 0x31, 0xe8, 0xcd, 0x11, 0x04, 0xc5, 0x60, 0xa4, 0x10,
|
||||
0x12, 0x49, 0x0e, 0x04, 0x0c, 0x23, 0x10, 0x43, 0x12, 0xd4, 0x03, 0x83,
|
||||
0xc3, 0x91, 0xa6, 0x05, 0xc0, 0x1c, 0x6a, 0xf2, 0x5f, 0x22, 0x9a, 0x88,
|
||||
0x8b, 0x3d, 0x80, 0x81, 0x88, 0x38, 0xa7, 0x91, 0x26, 0xa0, 0x99, 0x24,
|
||||
0x24, 0x58, 0x4b, 0x37, 0x1d, 0x08, 0x00, 0x13, 0x14, 0x72, 0xc0, 0x87,
|
||||
0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0, 0x87,
|
||||
0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d, 0x00,
|
||||
0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90,
|
||||
0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78, 0xa0,
|
||||
0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a, 0x30,
|
||||
0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20,
|
||||
0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xd0,
|
||||
0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60,
|
||||
0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6, 0x60,
|
||||
0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0,
|
||||
0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76, 0x40,
|
||||
0x07, 0x43, 0x9e, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x0c, 0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4, 0x79, 0x80, 0x00, 0x08, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xc8, 0x23, 0x01, 0x01, 0x30,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x16, 0x08, 0x00, 0x14,
|
||||
0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c,
|
||||
0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50, 0x0c,
|
||||
0x05, 0x28, 0x50, 0x04, 0x85, 0x50, 0x06, 0xe5, 0x50, 0x12, 0x05, 0x18,
|
||||
0x50, 0x1e, 0x85, 0x51, 0xba, 0x01, 0x45, 0x41, 0xa5, 0x24, 0x46, 0x00,
|
||||
0xca, 0xa0, 0x08, 0x0a, 0x81, 0x62, 0x0d, 0xd0, 0x9d, 0x01, 0x20, 0x3c,
|
||||
0x03, 0x40, 0x79, 0x2c, 0x87, 0x61, 0x9e, 0xe7, 0x01, 0x20, 0x30, 0x00,
|
||||
0x00, 0x10, 0x01, 0x21, 0x10, 0x0c, 0x40, 0x50, 0x00, 0x00, 0x00, 0x79,
|
||||
0x18, 0x00, 0x00, 0x9e, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46,
|
||||
0x02, 0x13, 0x44, 0x35, 0x18, 0x63, 0x0b, 0x73, 0x3b, 0x03, 0xb1, 0x2b,
|
||||
0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x03, 0x99, 0x71, 0xb9, 0x01, 0x41, 0xa1,
|
||||
0x0b, 0x3b, 0x9b, 0x7b, 0x91, 0x2a, 0x62, 0x2a, 0x0a, 0x9a, 0x2a, 0xfa,
|
||||
0x9a, 0xb9, 0x81, 0x79, 0x31, 0x4b, 0x73, 0x0b, 0x63, 0x4b, 0xd9, 0x10,
|
||||
0x04, 0x13, 0x04, 0xc2, 0x98, 0x20, 0x10, 0xc7, 0x06, 0x61, 0x20, 0x36,
|
||||
0x08, 0x04, 0x41, 0xc1, 0x6e, 0x6e, 0x82, 0x40, 0x20, 0x1b, 0x86, 0x03,
|
||||
0x21, 0x26, 0x08, 0xd8, 0xc6, 0xca, 0xaa, 0x4c, 0x8e, 0xae, 0x0c, 0x6f,
|
||||
0x0a, 0x2d, 0x8c, 0xac, 0x4c, 0x6e, 0xe8, 0xcd, 0x6d, 0x8e, 0x2e, 0xcc,
|
||||
0x8d, 0x6e, 0x6e, 0x82, 0x40, 0x24, 0x1b, 0x10, 0x42, 0x59, 0x08, 0x62,
|
||||
0x60, 0x80, 0x0d, 0x41, 0xb3, 0x81, 0x00, 0x00, 0x07, 0x98, 0x20, 0x5c,
|
||||
0x1a, 0x8b, 0xb6, 0x37, 0xb2, 0x32, 0xb6, 0x09, 0x02, 0xa1, 0x4c, 0x10,
|
||||
0x88, 0x65, 0xc3, 0x30, 0x4d, 0xc3, 0x04, 0x81, 0x60, 0x26, 0x08, 0x44,
|
||||
0x33, 0x41, 0x20, 0x9c, 0x09, 0x42, 0x94, 0x6d, 0x50, 0x90, 0x48, 0xa2,
|
||||
0x2a, 0xc2, 0xba, 0x2e, 0x8c, 0x11, 0x9c, 0xdc, 0x9b, 0x5a, 0xd9, 0x18,
|
||||
0x5d, 0xda, 0x9b, 0x5b, 0x90, 0x1b, 0x99, 0x55, 0x5a, 0xd9, 0xdd, 0x04,
|
||||
0x81, 0x78, 0x36, 0x28, 0x88, 0x26, 0x51, 0xd5, 0x66, 0x5d, 0x17, 0xb6,
|
||||
0x61, 0x60, 0x32, 0x6e, 0xc3, 0x40, 0x40, 0xdd, 0x04, 0x41, 0x00, 0x36,
|
||||
0x00, 0x1b, 0x06, 0x02, 0x0c, 0xc0, 0x60, 0x43, 0x10, 0x06, 0x1b, 0x86,
|
||||
0xe1, 0x13, 0x83, 0x09, 0x42, 0xc6, 0x6d, 0x08, 0xc8, 0x80, 0x47, 0x5b,
|
||||
0x58, 0x9a, 0x5b, 0x56, 0x95, 0x15, 0x11, 0xa8, 0xa7, 0xa9, 0x24, 0xaa,
|
||||
0xa4, 0x27, 0xa7, 0x09, 0x42, 0x41, 0x4d, 0x10, 0x8a, 0x6a, 0x43, 0x40,
|
||||
0x4c, 0x10, 0x0a, 0x6b, 0x83, 0x50, 0x59, 0x1b, 0x16, 0xe2, 0x0c, 0xd0,
|
||||
0x20, 0x0d, 0xd4, 0x20, 0x0d, 0x86, 0x35, 0x20, 0xd2, 0x80, 0x0d, 0x88,
|
||||
0x50, 0x15, 0x61, 0x0d, 0x3d, 0x3d, 0x49, 0x11, 0x4d, 0x10, 0x8a, 0x6b,
|
||||
0x83, 0x50, 0x55, 0x1b, 0x96, 0xc1, 0x0d, 0xd0, 0x20, 0x0d, 0xd4, 0x20,
|
||||
0x0d, 0x86, 0x37, 0x18, 0xd2, 0x00, 0x0e, 0x58, 0x0c, 0x3d, 0x31, 0x3d,
|
||||
0x49, 0x4d, 0x10, 0x0a, 0x6c, 0x82, 0x40, 0x40, 0x1b, 0x84, 0x8a, 0x0e,
|
||||
0x36, 0x2c, 0x92, 0x1c, 0xa0, 0x41, 0x1a, 0xa8, 0x41, 0x1a, 0x0c, 0x73,
|
||||
0x20, 0xa5, 0x41, 0x1d, 0x6c, 0x18, 0xda, 0x20, 0x0e, 0xec, 0x80, 0xcb,
|
||||
0x94, 0xd5, 0x17, 0xd4, 0xdb, 0x5c, 0x1a, 0x5d, 0xda, 0x9b, 0xdb, 0x86,
|
||||
0x85, 0xc0, 0x03, 0x34, 0x58, 0x03, 0x35, 0x98, 0x83, 0x61, 0x0e, 0x88,
|
||||
0x34, 0xa8, 0x83, 0x0d, 0xcb, 0xe0, 0x06, 0x68, 0x90, 0x06, 0x6a, 0xf0,
|
||||
0x06, 0xc3, 0x1b, 0x0c, 0x69, 0x00, 0x07, 0x1b, 0x16, 0x49, 0x0e, 0xd0,
|
||||
0x20, 0x0d, 0xd4, 0xe0, 0x0d, 0x86, 0x39, 0x90, 0xd2, 0xa0, 0x0e, 0x36,
|
||||
0x0c, 0x79, 0xa0, 0x07, 0x7b, 0xb0, 0x61, 0xb8, 0x03, 0x3e, 0x00, 0x36,
|
||||
0x14, 0x9f, 0x19, 0xf4, 0xc1, 0x03, 0xd0, 0x30, 0x63, 0x7b, 0x0b, 0xa3,
|
||||
0x9b, 0x9b, 0x20, 0x10, 0x11, 0x8b, 0x34, 0xb7, 0x39, 0xba, 0xb9, 0x09,
|
||||
0x02, 0x21, 0xd1, 0x98, 0x4b, 0x3b, 0xfb, 0x62, 0x23, 0xa3, 0x31, 0x97,
|
||||
0x76, 0xf6, 0x35, 0x47, 0x37, 0x41, 0x20, 0xa6, 0x0d, 0xc8, 0x1f, 0x80,
|
||||
0x42, 0x28, 0x88, 0xc2, 0x28, 0x5c, 0xa4, 0x50, 0x0a, 0x55, 0xd8, 0xd8,
|
||||
0xec, 0xda, 0x5c, 0xd2, 0xc8, 0xca, 0xdc, 0xe8, 0xa6, 0x04, 0x41, 0x15,
|
||||
0x32, 0x3c, 0x17, 0xbb, 0x32, 0xb9, 0xb9, 0xb4, 0x37, 0xb7, 0x29, 0x01,
|
||||
0xd1, 0x84, 0x0c, 0xcf, 0xc5, 0x2e, 0x8c, 0xcd, 0xae, 0x4c, 0x6e, 0x4a,
|
||||
0x50, 0xd4, 0x21, 0xc3, 0x73, 0x99, 0x43, 0x0b, 0x23, 0x2b, 0x93, 0x6b,
|
||||
0x7a, 0x23, 0x2b, 0x63, 0x9b, 0x12, 0x20, 0x65, 0xc8, 0xf0, 0x5c, 0xe4,
|
||||
0xca, 0xe6, 0xde, 0xea, 0xe4, 0xc6, 0xca, 0xe6, 0xa6, 0x04, 0x4e, 0x25,
|
||||
0x32, 0x3c, 0x17, 0xba, 0x3c, 0xb8, 0xb2, 0x20, 0x37, 0xb7, 0x37, 0xba,
|
||||
0x30, 0xba, 0xb4, 0x37, 0xb7, 0xb9, 0x29, 0x42, 0x27, 0x06, 0x75, 0xc8,
|
||||
0xf0, 0x5c, 0xec, 0xd2, 0xca, 0xee, 0x92, 0xc8, 0xa6, 0xe8, 0xc2, 0xe8,
|
||||
0xca, 0xa6, 0x04, 0x64, 0x50, 0x87, 0x0c, 0xcf, 0xa5, 0xcc, 0x8d, 0x4e,
|
||||
0x2e, 0x0f, 0xea, 0x2d, 0xcd, 0x8d, 0x6e, 0x6e, 0x4a, 0xd0, 0x07, 0x5d,
|
||||
0xc8, 0xf0, 0x5c, 0xc6, 0xde, 0xea, 0xdc, 0xe8, 0xca, 0xe4, 0xe6, 0xa6,
|
||||
0x04, 0xa5, 0x00, 0x79, 0x18, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x33,
|
||||
0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43,
|
||||
0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98,
|
||||
0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33,
|
||||
0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30, 0x05,
|
||||
0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8, 0x43,
|
||||
0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b, 0x08,
|
||||
0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76, 0x78,
|
||||
0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e, 0xe1,
|
||||
0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e, 0x33,
|
||||
0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61, 0x1e,
|
||||
0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4, 0x03,
|
||||
0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76, 0x60,
|
||||
0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37, 0x80,
|
||||
0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76, 0xf8,
|
||||
0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71, 0x18,
|
||||
0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e, 0xee,
|
||||
0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1, 0x1c,
|
||||
0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61, 0x1c,
|
||||
0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90, 0x43,
|
||||
0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8, 0xc3,
|
||||
0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc, 0x83,
|
||||
0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x8c, 0xc8, 0x21,
|
||||
0x07, 0x7c, 0x70, 0x03, 0x72, 0x10, 0x87, 0x73, 0x70, 0x03, 0x7b, 0x08,
|
||||
0x07, 0x79, 0x60, 0x87, 0x70, 0xc8, 0x87, 0x77, 0xa8, 0x07, 0x7a, 0x00,
|
||||
0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x36,
|
||||
0xb0, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10, 0x50, 0x45, 0x41, 0x44, 0xa5,
|
||||
0x03, 0x0c, 0x25, 0x61, 0x00, 0x02, 0xe6, 0x17, 0xb7, 0x6d, 0x05, 0xd2,
|
||||
0x70, 0xf9, 0xce, 0xe3, 0x0b, 0x11, 0x01, 0x4c, 0x44, 0x08, 0x34, 0xc3,
|
||||
0x42, 0x58, 0xc0, 0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x8b, 0x03, 0x0c, 0x62,
|
||||
0xf3, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x09, 0x54, 0xc3, 0xe5, 0x3b, 0x8f,
|
||||
0x2f, 0x4d, 0x4e, 0x44, 0xa0, 0xd4, 0xf4, 0x50, 0x93, 0x5f, 0xdc, 0xb6,
|
||||
0x11, 0x48, 0xc3, 0xe5, 0x3b, 0x8f, 0x3f, 0x11, 0xd1, 0x84, 0x00, 0x11,
|
||||
0xe6, 0x17, 0xb7, 0x6d, 0x00, 0x07, 0x03, 0x20, 0x8d, 0xec, 0xbe, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x41, 0x53, 0x48, 0x14,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0x0c, 0x81, 0x2d, 0xb8,
|
||||
0xf3, 0xc8, 0x04, 0xd5, 0x48, 0x4e, 0x45, 0xd6, 0x32, 0x86, 0x0b, 0x44,
|
||||
0x58, 0x49, 0x4c, 0xf8, 0x08, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0x3e,
|
||||
0x02, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00, 0x10,
|
||||
0x00, 0x00, 0x00, 0xe0, 0x08, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21,
|
||||
0x0c, 0x00, 0x00, 0x35, 0x02, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02,
|
||||
0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41,
|
||||
0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25,
|
||||
0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02, 0x42,
|
||||
0x92, 0x0b, 0x42, 0xa4, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a,
|
||||
0x32, 0x52, 0x88, 0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5, 0x00,
|
||||
0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50, 0x41,
|
||||
0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06, 0x51,
|
||||
0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff, 0xff,
|
||||
0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff, 0xff,
|
||||
0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00,
|
||||
0x09, 0xa8, 0x00, 0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13,
|
||||
0x82, 0x60, 0x42, 0x20, 0x4c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x89,
|
||||
0x20, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x32, 0x22, 0x48, 0x09, 0x20,
|
||||
0x64, 0x85, 0x04, 0x93, 0x22, 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3, 0x84,
|
||||
0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c, 0x10,
|
||||
0x68, 0x23, 0x00, 0x25, 0x00, 0x14, 0x66, 0x00, 0xe6, 0x08, 0xc0, 0x60,
|
||||
0x8e, 0x00, 0x29, 0xc6, 0x20, 0x84, 0x14, 0x42, 0xa6, 0x18, 0x80, 0x10,
|
||||
0x52, 0x06, 0xa1, 0xa3, 0x86, 0xcb, 0x9f, 0xb0, 0x87, 0x90, 0x7c, 0x6e,
|
||||
0xa3, 0x8a, 0x95, 0x98, 0xfc, 0xe2, 0xb6, 0x11, 0x31, 0xc6, 0x18, 0x54,
|
||||
0xee, 0x19, 0x2e, 0x7f, 0xc2, 0x1e, 0x42, 0xf2, 0x43, 0xa0, 0x19, 0x16,
|
||||
0x02, 0x05, 0xab, 0x10, 0x8a, 0x30, 0x42, 0xad, 0x14, 0x83, 0x8c, 0x31,
|
||||
0xe8, 0xcd, 0x11, 0x04, 0xc5, 0x60, 0xa4, 0x10, 0x12, 0x49, 0x0e, 0x04,
|
||||
0x0c, 0x23, 0x10, 0x43, 0x12, 0xd4, 0x03, 0x83, 0xc3, 0x91, 0xa6, 0x05,
|
||||
0xc0, 0x1c, 0x6a, 0xf2, 0x5f, 0x22, 0x9a, 0x88, 0x8b, 0x3d, 0x80, 0x81,
|
||||
0x88, 0x38, 0xa7, 0x91, 0x26, 0xa0, 0x99, 0x24, 0x24, 0x58, 0x4b, 0x37,
|
||||
0x1d, 0x08, 0x00, 0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87, 0x36,
|
||||
0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50, 0x0e,
|
||||
0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30, 0x07,
|
||||
0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07,
|
||||
0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73, 0x20, 0x07,
|
||||
0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06,
|
||||
0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e,
|
||||
0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6, 0x10, 0x07,
|
||||
0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07,
|
||||
0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0, 0x07,
|
||||
0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07,
|
||||
0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x3c,
|
||||
0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c,
|
||||
0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x30, 0xe4, 0x79, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x60, 0xc8, 0x23, 0x01, 0x01, 0x30, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x40, 0x16, 0x08, 0x00, 0x10, 0x00, 0x00, 0x00, 0x32,
|
||||
0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6,
|
||||
0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50, 0x0c, 0x05, 0x28, 0x50, 0x06,
|
||||
0xe5, 0x50, 0x04, 0xe5, 0x41, 0xa5, 0x24, 0x46, 0x00, 0xca, 0xa0, 0x08,
|
||||
0x0a, 0x81, 0xf0, 0x0c, 0x00, 0xe5, 0xb1, 0x1c, 0x86, 0x79, 0x9e, 0x07,
|
||||
0x80, 0xc0, 0x00, 0x00, 0x40, 0x04, 0x84, 0x40, 0x30, 0x00, 0x41, 0x01,
|
||||
0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x1a,
|
||||
0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44, 0x35, 0x18, 0x63, 0x0b, 0x73,
|
||||
0x3b, 0x03, 0xb1, 0x2b, 0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x03, 0x99, 0x71,
|
||||
0xb9, 0x01, 0x41, 0xa1, 0x0b, 0x3b, 0x9b, 0x7b, 0x91, 0x2a, 0x62, 0x2a,
|
||||
0x0a, 0x9a, 0x2a, 0xfa, 0x9a, 0xb9, 0x81, 0x79, 0x31, 0x4b, 0x73, 0x0b,
|
||||
0x63, 0x4b, 0xd9, 0x10, 0x04, 0x13, 0x04, 0xc2, 0x98, 0x20, 0x10, 0xc7,
|
||||
0x06, 0x61, 0x20, 0x26, 0x08, 0x04, 0xb2, 0x41, 0x18, 0x0c, 0x0a, 0x76,
|
||||
0x73, 0x1b, 0x06, 0xc4, 0x20, 0x26, 0x08, 0xd8, 0x44, 0x60, 0x82, 0x40,
|
||||
0x24, 0x1b, 0x10, 0x42, 0x59, 0x08, 0x62, 0x60, 0x80, 0x0d, 0x41, 0xb3,
|
||||
0x81, 0x00, 0x00, 0x07, 0x98, 0x20, 0x64, 0xd4, 0x86, 0x00, 0x9a, 0x20,
|
||||
0x08, 0x00, 0x8f, 0xb6, 0xb0, 0x34, 0xb7, 0xac, 0x2a, 0x2b, 0x22, 0x50,
|
||||
0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x13, 0x84, 0xc2, 0x99, 0x20,
|
||||
0x14, 0xcf, 0x86, 0x80, 0x98, 0x20, 0x14, 0xd0, 0x04, 0x81, 0x50, 0x26,
|
||||
0x08, 0xc4, 0xb2, 0x41, 0xc8, 0xb4, 0x0d, 0x0b, 0x41, 0x55, 0xd6, 0x65,
|
||||
0x0d, 0x18, 0x61, 0x6d, 0x44, 0xa8, 0x8a, 0xb0, 0x86, 0x9e, 0x9e, 0xa4,
|
||||
0x88, 0x26, 0x08, 0x45, 0xb4, 0x41, 0xc8, 0xb2, 0x0d, 0xcb, 0xd0, 0x55,
|
||||
0xd6, 0x65, 0x0d, 0xde, 0x60, 0x7d, 0x13, 0x04, 0x82, 0x61, 0x31, 0xf4,
|
||||
0xc4, 0xf4, 0x24, 0x35, 0x41, 0x28, 0xa4, 0x09, 0x02, 0xd1, 0x6c, 0x10,
|
||||
0x32, 0x32, 0xd8, 0xb0, 0x84, 0x81, 0x18, 0x54, 0xd6, 0x65, 0x0d, 0x63,
|
||||
0x10, 0x06, 0x56, 0x19, 0x6c, 0x18, 0x38, 0x30, 0x30, 0x03, 0x2e, 0x53,
|
||||
0x56, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1b, 0x16,
|
||||
0x02, 0x0d, 0x2a, 0xec, 0x1a, 0x83, 0x61, 0x0c, 0x08, 0xab, 0x0c, 0x36,
|
||||
0x2c, 0x43, 0x57, 0x59, 0x97, 0x37, 0x78, 0x83, 0xf5, 0x6d, 0x58, 0xc2,
|
||||
0x40, 0x0c, 0x2a, 0xeb, 0xf2, 0x86, 0x31, 0x08, 0x03, 0xab, 0x0c, 0x36,
|
||||
0x0c, 0x69, 0xa0, 0x06, 0x6b, 0xb0, 0x61, 0x38, 0x03, 0x36, 0x00, 0x36,
|
||||
0x14, 0xd2, 0xd4, 0x06, 0x0f, 0x50, 0x85, 0x8d, 0xcd, 0xae, 0xcd, 0x25,
|
||||
0x8d, 0xac, 0xcc, 0x8d, 0x6e, 0x4a, 0x10, 0x54, 0x21, 0xc3, 0x73, 0xb1,
|
||||
0x2b, 0x93, 0x9b, 0x4b, 0x7b, 0x73, 0x9b, 0x12, 0x10, 0x4d, 0xc8, 0xf0,
|
||||
0x5c, 0xec, 0xc2, 0xd8, 0xec, 0xca, 0xe4, 0xa6, 0x04, 0x46, 0x1d, 0x32,
|
||||
0x3c, 0x97, 0x39, 0xb4, 0x30, 0xb2, 0x32, 0xb9, 0xa6, 0x37, 0xb2, 0x32,
|
||||
0xb6, 0x29, 0x01, 0x52, 0x86, 0x0c, 0xcf, 0x45, 0xae, 0x6c, 0xee, 0xad,
|
||||
0x4e, 0x6e, 0xac, 0x6c, 0x6e, 0x4a, 0xe0, 0xd4, 0x21, 0xc3, 0x73, 0xb1,
|
||||
0x4b, 0x2b, 0xbb, 0x4b, 0x22, 0x9b, 0xa2, 0x0b, 0xa3, 0x2b, 0x9b, 0x12,
|
||||
0x40, 0x75, 0xc8, 0xf0, 0x5c, 0xca, 0xdc, 0xe8, 0xe4, 0xf2, 0xa0, 0xde,
|
||||
0xd2, 0xdc, 0xe8, 0xe6, 0xa6, 0x04, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x79,
|
||||
0x18, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4,
|
||||
0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c,
|
||||
0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00,
|
||||
0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e, 0xc2,
|
||||
0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43, 0x38,
|
||||
0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03, 0x3d,
|
||||
0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48, 0x87,
|
||||
0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76, 0x78, 0x87, 0x70, 0x20, 0x87,
|
||||
0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e, 0x30,
|
||||
0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d, 0xde,
|
||||
0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89, 0x3b,
|
||||
0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83, 0x3c,
|
||||
0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68, 0x07,
|
||||
0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90, 0x87,
|
||||
0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78, 0x87,
|
||||
0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71, 0x18, 0x87, 0x72, 0x98, 0x87,
|
||||
0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5, 0xc0,
|
||||
0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xcc,
|
||||
0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c, 0xc4,
|
||||
0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43, 0x39,
|
||||
0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43, 0x38,
|
||||
0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82, 0x3b,
|
||||
0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x8c, 0xc8, 0x21, 0x07, 0x7c, 0x70, 0x03,
|
||||
0x72, 0x10, 0x87, 0x73, 0x70, 0x03, 0x7b, 0x08, 0x07, 0x79, 0x60, 0x87,
|
||||
0x70, 0xc8, 0x87, 0x77, 0xa8, 0x07, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x71,
|
||||
0x20, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x36, 0xb0, 0x0d, 0x97, 0xef,
|
||||
0x3c, 0xbe, 0x10, 0x50, 0x45, 0x41, 0x44, 0xa5, 0x03, 0x0c, 0x25, 0x61,
|
||||
0x00, 0x02, 0xe6, 0x17, 0xb7, 0x6d, 0x05, 0xd2, 0x70, 0xf9, 0xce, 0xe3,
|
||||
0x0b, 0x11, 0x01, 0x4c, 0x44, 0x08, 0x34, 0xc3, 0x42, 0x58, 0xc0, 0x34,
|
||||
0x5c, 0xbe, 0xf3, 0xf8, 0x8b, 0x03, 0x0c, 0x62, 0xf3, 0x50, 0x93, 0x5f,
|
||||
0xdc, 0xb6, 0x09, 0x54, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x4d, 0x4e, 0x44,
|
||||
0xa0, 0xd4, 0xf4, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x11, 0x48, 0xc3, 0xe5,
|
||||
0x3b, 0x8f, 0x3f, 0x11, 0xd1, 0x84, 0x00, 0x11, 0xe6, 0x17, 0xb7, 0x6d,
|
||||
0x00, 0x07, 0x03, 0x20, 0x8d, 0xec, 0xbe, 0x00, 0x00, 0x00, 0x00, 0x61,
|
||||
0x20, 0x00, 0x00, 0xcf, 0x00, 0x00, 0x00, 0x13, 0x04, 0x41, 0x2c, 0x10,
|
||||
0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x44, 0x8a, 0xab, 0x14, 0x0a,
|
||||
0x61, 0x06, 0xa0, 0xec, 0x4a, 0x8e, 0x4a, 0x09, 0x50, 0x1c, 0x01, 0x00,
|
||||
0x00, 0x00, 0x00, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x20, 0x61, 0x03,
|
||||
0x63, 0x59, 0xc1, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0xdd, 0x21,
|
||||
0x5d, 0x8f, 0x31, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x86, 0x87, 0x4c,
|
||||
0x18, 0x71, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0xf1, 0x25, 0x54,
|
||||
0xf6, 0x20, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0x80, 0x81, 0x52,
|
||||
0x69, 0x51, 0x32, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x46, 0x18, 0x2c,
|
||||
0xdc, 0x36, 0x29, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0x88, 0x01,
|
||||
0xd3, 0x71, 0xc8, 0x32, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0xc6, 0x18,
|
||||
0x34, 0x5d, 0x57, 0x31, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0x90,
|
||||
0x81, 0xe3, 0x79, 0x4a, 0x33, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x46,
|
||||
0x19, 0x3c, 0xdf, 0x57, 0x39, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60, 0xd0,
|
||||
0x90, 0x81, 0xa3, 0x80, 0xc1, 0x68, 0x42, 0x00, 0x8c, 0x26, 0x08, 0xc1,
|
||||
0x68, 0xc2, 0x20, 0x8c, 0x26, 0x10, 0xc3, 0x88, 0xc1, 0x01, 0x80, 0x20,
|
||||
0x18, 0x34, 0x69, 0x30, 0x3d, 0x66, 0x30, 0x9a, 0x10, 0x00, 0xa3, 0x09,
|
||||
0x42, 0x30, 0x9a, 0x30, 0x08, 0xa3, 0x09, 0xc4, 0x30, 0x62, 0x70, 0x00,
|
||||
0x20, 0x08, 0x06, 0x8d, 0x1b, 0x60, 0x54, 0x19, 0x8c, 0x26, 0x04, 0xc0,
|
||||
0x68, 0x82, 0x10, 0x8c, 0x26, 0x0c, 0xc2, 0x68, 0x02, 0x31, 0x8c, 0x18,
|
||||
0x1c, 0x00, 0x08, 0x82, 0x41, 0x33, 0x07, 0x5d, 0xc6, 0x06, 0xa3, 0x09,
|
||||
0x01, 0x30, 0x9a, 0x20, 0x04, 0xa3, 0x09, 0x83, 0x30, 0x9a, 0x40, 0x0c,
|
||||
0x36, 0x5d, 0xf2, 0x19, 0x31, 0x40, 0x00, 0x10, 0x04, 0x83, 0x07, 0x0f,
|
||||
0xce, 0xe0, 0x7a, 0x82, 0x11, 0x03, 0x04, 0x00, 0x41, 0x30, 0x78, 0xf2,
|
||||
0x00, 0x0d, 0xae, 0x25, 0xb0, 0xe0, 0x80, 0x8e, 0x59, 0x9b, 0x7c, 0x46,
|
||||
0x0c, 0x10, 0x00, 0x04, 0xc1, 0xe0, 0xe1, 0x83, 0x35, 0xd8, 0xa4, 0x60,
|
||||
0xc4, 0x00, 0x01, 0x40, 0x10, 0x0c, 0x9e, 0x3e, 0x60, 0x83, 0xcd, 0x09,
|
||||
0x2c, 0x50, 0xa0, 0x63, 0xd9, 0x27, 0x9f, 0x11, 0x03, 0x04, 0x00, 0x41,
|
||||
0x30, 0x78, 0x40, 0xe1, 0x0d, 0xbe, 0x2a, 0x18, 0x31, 0x40, 0x00, 0x10,
|
||||
0x04, 0x83, 0x27, 0x14, 0xe0, 0xe0, 0x8b, 0x02, 0x0b, 0x1a, 0xe8, 0x18,
|
||||
0x37, 0x06, 0xf2, 0x19, 0x31, 0x40, 0x00, 0x10, 0x04, 0x83, 0x87, 0x14,
|
||||
0xe6, 0x60, 0x0c, 0xb0, 0x60, 0xc4, 0x00, 0x01, 0x40, 0x10, 0x0c, 0x9e,
|
||||
0x52, 0xa0, 0x83, 0x31, 0xa0, 0x02, 0x0b, 0x20, 0xe8, 0x8c, 0x18, 0x1c,
|
||||
0x00, 0x08, 0x82, 0x41, 0x83, 0x0a, 0x72, 0xe0, 0x06, 0x74, 0x30, 0x9a,
|
||||
0x10, 0x00, 0xa3, 0x09, 0x42, 0x30, 0x9a, 0x30, 0x08, 0xa3, 0x09, 0xc4,
|
||||
0x30, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0x4d, 0x2b, 0xdc, 0xc1, 0x1c,
|
||||
0xe8, 0xc1, 0x68, 0x42, 0x00, 0x8c, 0x26, 0x08, 0xc1, 0x68, 0xc2, 0x20,
|
||||
0x8c, 0x26, 0x10, 0xc3, 0x88, 0xc1, 0x01, 0x80, 0x20, 0x18, 0x34, 0xb2,
|
||||
0xc0, 0x07, 0x78, 0xd0, 0x0a, 0xa3, 0x09, 0x01, 0x30, 0x9a, 0x20, 0x04,
|
||||
0xa3, 0x09, 0x83, 0x30, 0x9a, 0x40, 0x0c, 0x23, 0x06, 0x07, 0x00, 0x82,
|
||||
0x60, 0xd0, 0xdc, 0x42, 0x28, 0xf4, 0xc1, 0x2b, 0x8c, 0x26, 0x04, 0xc0,
|
||||
0x68, 0x82, 0x10, 0x8c, 0x26, 0x0c, 0xc2, 0x68, 0x02, 0x31, 0xd8, 0x14,
|
||||
0x06, 0xf2, 0x19, 0x31, 0x40, 0x00, 0x10, 0x04, 0x83, 0x87, 0x17, 0x56,
|
||||
0xc1, 0x7b, 0x82, 0x11, 0x03, 0x04, 0x00, 0x41, 0x30, 0x78, 0x7a, 0x81,
|
||||
0x15, 0xb6, 0x25, 0x18, 0x31, 0x40, 0x00, 0x10, 0x04, 0x83, 0xc7, 0x17,
|
||||
0x5a, 0x01, 0x3b, 0x02, 0xb3, 0xca, 0x40, 0x3e, 0x23, 0x06, 0x08, 0x00,
|
||||
0x82, 0x60, 0xf0, 0x80, 0xc3, 0x2b, 0x88, 0x81, 0x14, 0x8c, 0x18, 0x20,
|
||||
0x00, 0x08, 0x82, 0xc1, 0x13, 0x0e, 0xb0, 0xf0, 0x39, 0xc1, 0x88, 0x01,
|
||||
0x02, 0x80, 0x20, 0x18, 0x3c, 0xe2, 0x10, 0x0b, 0x9c, 0x12, 0x58, 0x96,
|
||||
0x06, 0xf2, 0x19, 0x31, 0x40, 0x00, 0x10, 0x04, 0x83, 0x87, 0x1c, 0x66,
|
||||
0xc1, 0x0c, 0xaa, 0x60, 0xc4, 0x00, 0x01, 0x40, 0x10, 0x0c, 0x9e, 0x72,
|
||||
0xa0, 0x85, 0x31, 0x88, 0x82, 0x11, 0x03, 0x04, 0x00, 0x41, 0x30, 0x78,
|
||||
0xcc, 0xa1, 0x16, 0xc0, 0xa0, 0x09, 0x8c, 0x6b, 0x03, 0xf9, 0x8c, 0x18,
|
||||
0x20, 0x00, 0x08, 0x82, 0xc1, 0x83, 0x0e, 0xb7, 0xa0, 0x06, 0x58, 0x30,
|
||||
0x62, 0x80, 0x00, 0x20, 0x08, 0x06, 0x4f, 0x3a, 0xe0, 0xc2, 0x19, 0x50,
|
||||
0xc1, 0x88, 0x01, 0x02, 0x80, 0x20, 0x18, 0x3c, 0xea, 0x90, 0x0b, 0x64,
|
||||
0x00, 0x05, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x80, 0xb4, 0x43, 0x2e,
|
||||
0xa0, 0x03, 0x3a, 0x80, 0x43, 0x33, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06,
|
||||
0x48, 0x3b, 0xe4, 0x02, 0x3a, 0xa0, 0x03, 0x2d, 0x24, 0x23, 0x06, 0x09,
|
||||
0x00, 0x82, 0x60, 0x80, 0xb4, 0x43, 0x2e, 0xa0, 0x03, 0x3a, 0xf8, 0x42,
|
||||
0x31, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x48, 0x3b, 0xe4, 0x02, 0x3a,
|
||||
0xa0, 0xc3, 0x2f, 0x04, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x80, 0xb4,
|
||||
0x43, 0x2e, 0xa4, 0x03, 0x3a, 0x80, 0x43, 0x2b, 0x8c, 0x18, 0x24, 0x00,
|
||||
0x08, 0x82, 0x01, 0xd2, 0x0e, 0xb9, 0x90, 0x0e, 0xe8, 0x40, 0x0b, 0xac,
|
||||
0x30, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x48, 0x3b, 0xe4, 0xc2, 0x38,
|
||||
0xa0, 0x03, 0x38, 0xc4, 0xc2, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x20,
|
||||
0xed, 0x90, 0x0b, 0xe3, 0x80, 0x0e, 0xb4, 0x00, 0x0b, 0x23, 0x06, 0x09,
|
||||
0x00, 0x82, 0x60, 0x80, 0xb4, 0x43, 0x2e, 0x8c, 0x03, 0x3a, 0xf8, 0xc2,
|
||||
0x2b, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x01, 0xd2, 0x0e, 0xb9, 0x30,
|
||||
0x0e, 0xe8, 0xf0, 0x0b, 0xae, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
|
@ -99,6 +99,7 @@ typedef struct
|
|||
/* Per-texture data */
|
||||
typedef struct
|
||||
{
|
||||
int w, h;
|
||||
ID3D12Resource *mainTexture;
|
||||
D3D12_CPU_DESCRIPTOR_HANDLE mainTextureResourceView;
|
||||
D3D12_RESOURCE_STATES mainResourceState;
|
||||
|
@ -108,6 +109,8 @@ typedef struct
|
|||
ID3D12Resource *stagingBuffer;
|
||||
D3D12_RESOURCE_STATES stagingResourceState;
|
||||
D3D12_FILTER scaleMode;
|
||||
D3D12_Shader shader;
|
||||
const float *shader_params;
|
||||
#if SDL_HAVE_YUV
|
||||
/* YV12 texture support */
|
||||
SDL_bool yuv;
|
||||
|
@ -135,6 +138,7 @@ typedef struct
|
|||
typedef struct
|
||||
{
|
||||
D3D12_Shader shader;
|
||||
const float *shader_params;
|
||||
SDL_BlendMode blendMode;
|
||||
D3D12_PRIMITIVE_TOPOLOGY_TYPE topology;
|
||||
DXGI_FORMAT rtvFormat;
|
||||
|
@ -1545,6 +1549,16 @@ static int D3D12_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL
|
|||
textureDesc.Dimension = D3D12_RESOURCE_DIMENSION_TEXTURE2D;
|
||||
textureDesc.Flags = D3D12_RESOURCE_FLAG_NONE;
|
||||
|
||||
/* NV12 textures must have even width and height */
|
||||
if (texture->format == SDL_PIXELFORMAT_NV12 ||
|
||||
texture->format == SDL_PIXELFORMAT_NV21) {
|
||||
textureDesc.Width = (textureDesc.Width + 1) & ~1;
|
||||
textureDesc.Height = (textureDesc.Height + 1) & ~1;
|
||||
}
|
||||
textureData->w = (int)textureDesc.Width;
|
||||
textureData->h = (int)textureDesc.Height;
|
||||
textureData->shader = SHADER_RGB;
|
||||
|
||||
if (texture->access == SDL_TEXTUREACCESS_TARGET) {
|
||||
textureDesc.Flags = D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET;
|
||||
}
|
||||
|
@ -1620,11 +1634,23 @@ static int D3D12_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL
|
|||
}
|
||||
textureData->mainResourceStateV = D3D12_RESOURCE_STATE_COPY_DEST;
|
||||
SDL_SetProperty(SDL_GetTextureProperties(texture), SDL_PROP_TEXTURE_D3D12_TEXTURE_V_POINTER, textureData->mainTextureV);
|
||||
|
||||
textureData->shader = SHADER_YUV;
|
||||
textureData->shader_params = SDL_GetYCbCRtoRGBConversionMatrix(texture->colorspace);
|
||||
if (!textureData->shader_params) {
|
||||
return SDL_SetError("Unsupported YUV colorspace");
|
||||
}
|
||||
}
|
||||
|
||||
if (texture->format == SDL_PIXELFORMAT_NV12 ||
|
||||
texture->format == SDL_PIXELFORMAT_NV21) {
|
||||
textureData->nv12 = SDL_TRUE;
|
||||
|
||||
textureData->shader = (texture->format == SDL_PIXELFORMAT_NV12 ? SHADER_NV12 : SHADER_NV21);
|
||||
textureData->shader_params = SDL_GetYCbCRtoRGBConversionMatrix(texture->colorspace);
|
||||
if (!textureData->shader_params) {
|
||||
return SDL_SetError("Unsupported YUV colorspace");
|
||||
}
|
||||
}
|
||||
#endif /* SDL_HAVE_YUV */
|
||||
SDL_zero(resourceViewDesc);
|
||||
|
@ -1750,6 +1776,10 @@ static int D3D12_UpdateTextureInternal(D3D12_RenderData *rendererData, ID3D12Res
|
|||
D3D_CALL_RET(texture, GetDesc, &textureDesc);
|
||||
textureDesc.Width = w;
|
||||
textureDesc.Height = h;
|
||||
if (textureDesc.Format == DXGI_FORMAT_NV12) {
|
||||
textureDesc.Width = (textureDesc.Width + 1) & ~1;
|
||||
textureDesc.Height = (textureDesc.Height + 1) & ~1;
|
||||
}
|
||||
|
||||
SDL_zero(uploadDesc);
|
||||
uploadDesc.Dimension = D3D12_RESOURCE_DIMENSION_BUFFER;
|
||||
|
@ -1895,7 +1925,7 @@ static int D3D12_UpdateTexture(SDL_Renderer *renderer, SDL_Texture *texture,
|
|||
/* Skip to the correct offset into the next texture */
|
||||
srcPixels = (const void *)((const Uint8 *)srcPixels + rect->h * srcPitch);
|
||||
|
||||
if (D3D12_UpdateTextureInternal(rendererData, textureData->mainTexture, 1, rect->x, rect->y, rect->w, rect->h, srcPixels, srcPitch, &textureData->mainResourceState) < 0) {
|
||||
if (D3D12_UpdateTextureInternal(rendererData, textureData->mainTexture, 1, rect->x, rect->y, (rect->w + 1) & ~1, (rect->h + 1) & ~1, srcPixels, (srcPitch + 1) & ~1, &textureData->mainResourceState) < 0) {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
@ -2237,6 +2267,9 @@ static int D3D12_QueueGeometry(SDL_Renderer *renderer, SDL_RenderCommand *cmd, S
|
|||
int count = indices ? num_indices : num_vertices;
|
||||
VertexPositionColor *verts = (VertexPositionColor *)SDL_AllocateRenderVertices(renderer, count * sizeof(VertexPositionColor), 0, &cmd->data.draw.first);
|
||||
SDL_bool convert_color = SDL_RenderingLinearSpace(renderer);
|
||||
D3D12_TextureData *textureData = texture ? (D3D12_TextureData *)texture->driverdata : NULL;
|
||||
float u_scale = textureData ? (float)texture->w / textureData->w : 0.0f;
|
||||
float v_scale = textureData ? (float)texture->h / textureData->h : 0.0f;
|
||||
|
||||
if (!verts) {
|
||||
return -1;
|
||||
|
@ -2269,8 +2302,8 @@ static int D3D12_QueueGeometry(SDL_Renderer *renderer, SDL_RenderCommand *cmd, S
|
|||
|
||||
if (texture) {
|
||||
float *uv_ = (float *)((char *)uv + j * uv_stride);
|
||||
verts->tex.x = uv_[0];
|
||||
verts->tex.y = uv_[1];
|
||||
verts->tex.x = uv_[0] * u_scale;
|
||||
verts->tex.y = uv_[1] * v_scale;
|
||||
} else {
|
||||
verts->tex.x = 0.0f;
|
||||
verts->tex.y = 0.0f;
|
||||
|
@ -2422,7 +2455,7 @@ static int D3D12_UpdateViewport(SDL_Renderer *renderer)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int D3D12_SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand *cmd, D3D12_Shader shader,
|
||||
static int D3D12_SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand *cmd, D3D12_Shader shader, const float *shader_params,
|
||||
D3D12_PRIMITIVE_TOPOLOGY_TYPE topology,
|
||||
const int numShaderResources, D3D12_CPU_DESCRIPTOR_HANDLE *shaderResources,
|
||||
D3D12_CPU_DESCRIPTOR_HANDLE *sampler, const Float4X4 *matrix)
|
||||
|
@ -2514,7 +2547,7 @@ static int D3D12_SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand *c
|
|||
if (firstShaderResource.ptr != rendererData->currentShaderResource.ptr) {
|
||||
for (i = 0; i < numShaderResources; ++i) {
|
||||
D3D12_GPU_DESCRIPTOR_HANDLE GPUHandle = D3D12_CPUtoGPUHandle(rendererData->srvDescriptorHeap, shaderResources[i]);
|
||||
D3D_CALL(rendererData->commandList, SetGraphicsRootDescriptorTable, i + 1, GPUHandle);
|
||||
D3D_CALL(rendererData->commandList, SetGraphicsRootDescriptorTable, i + 2, GPUHandle);
|
||||
}
|
||||
rendererData->currentShaderResource.ptr = firstShaderResource.ptr;
|
||||
}
|
||||
|
@ -2526,21 +2559,15 @@ static int D3D12_SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand *c
|
|||
/* Figure out the correct sampler descriptor table index based on the type of shader */
|
||||
switch (shader) {
|
||||
case SHADER_RGB:
|
||||
tableIndex = 2;
|
||||
tableIndex = 3;
|
||||
break;
|
||||
#if SDL_HAVE_YUV
|
||||
case SHADER_YUV_JPEG:
|
||||
case SHADER_YUV_BT601:
|
||||
case SHADER_YUV_BT709:
|
||||
tableIndex = 4;
|
||||
case SHADER_YUV:
|
||||
tableIndex = 5;
|
||||
break;
|
||||
case SHADER_NV12_JPEG:
|
||||
case SHADER_NV12_BT601:
|
||||
case SHADER_NV12_BT709:
|
||||
case SHADER_NV21_JPEG:
|
||||
case SHADER_NV21_BT601:
|
||||
case SHADER_NV21_BT709:
|
||||
tableIndex = 3;
|
||||
case SHADER_NV12:
|
||||
case SHADER_NV21:
|
||||
tableIndex = 4;
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
|
@ -2561,6 +2588,15 @@ static int D3D12_SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand *c
|
|||
0);
|
||||
}
|
||||
|
||||
if (shader_params && (updateSubresource == SDL_TRUE || shader_params != rendererData->currentPipelineState->shader_params)) {
|
||||
D3D_CALL(rendererData->commandList, SetGraphicsRoot32BitConstants,
|
||||
1,
|
||||
16,
|
||||
shader_params,
|
||||
0);
|
||||
rendererData->currentPipelineState->shader_params = shader_params;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -2588,23 +2624,6 @@ static int D3D12_SetCopyState(SDL_Renderer *renderer, const SDL_RenderCommand *c
|
|||
textureData->mainTextureResourceViewU,
|
||||
textureData->mainTextureResourceViewV
|
||||
};
|
||||
D3D12_Shader shader;
|
||||
|
||||
if (SDL_ISCOLORSPACE_YUV_BT601(texture->colorspace)) {
|
||||
if (SDL_ISCOLORSPACE_LIMITED_RANGE(texture->colorspace)) {
|
||||
shader = SHADER_YUV_BT601;
|
||||
} else {
|
||||
shader = SHADER_YUV_JPEG;
|
||||
}
|
||||
} else if (SDL_ISCOLORSPACE_YUV_BT709(texture->colorspace)) {
|
||||
if (SDL_ISCOLORSPACE_LIMITED_RANGE(texture->colorspace)) {
|
||||
shader = SHADER_YUV_BT709;
|
||||
} else {
|
||||
return SDL_SetError("Unsupported YUV conversion mode");
|
||||
}
|
||||
} else {
|
||||
return SDL_SetError("Unsupported YUV conversion mode");
|
||||
}
|
||||
|
||||
/* Make sure each texture is in the correct state to be accessed by the pixel shader. */
|
||||
D3D12_TransitionResource(rendererData, textureData->mainTexture, textureData->mainResourceState, D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE);
|
||||
|
@ -2614,43 +2633,23 @@ static int D3D12_SetCopyState(SDL_Renderer *renderer, const SDL_RenderCommand *c
|
|||
D3D12_TransitionResource(rendererData, textureData->mainTextureV, textureData->mainResourceStateV, D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE);
|
||||
textureData->mainResourceStateV = D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE;
|
||||
|
||||
return D3D12_SetDrawState(renderer, cmd, shader, D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE, SDL_arraysize(shaderResources), shaderResources,
|
||||
textureSampler, matrix);
|
||||
return D3D12_SetDrawState(renderer, cmd, textureData->shader, textureData->shader_params, D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE, SDL_arraysize(shaderResources), shaderResources, textureSampler, matrix);
|
||||
} else if (textureData->nv12) {
|
||||
D3D12_CPU_DESCRIPTOR_HANDLE shaderResources[] = {
|
||||
textureData->mainTextureResourceView,
|
||||
textureData->mainTextureResourceViewNV,
|
||||
};
|
||||
D3D12_Shader shader;
|
||||
|
||||
if (SDL_ISCOLORSPACE_YUV_BT601(texture->colorspace)) {
|
||||
if (SDL_ISCOLORSPACE_LIMITED_RANGE(texture->colorspace)) {
|
||||
shader = texture->format == SDL_PIXELFORMAT_NV12 ? SHADER_NV12_BT601 : SHADER_NV21_BT601;
|
||||
} else {
|
||||
shader = texture->format == SDL_PIXELFORMAT_NV12 ? SHADER_NV12_JPEG : SHADER_NV21_JPEG;
|
||||
}
|
||||
} else if (SDL_ISCOLORSPACE_YUV_BT709(texture->colorspace)) {
|
||||
if (SDL_ISCOLORSPACE_LIMITED_RANGE(texture->colorspace)) {
|
||||
shader = texture->format == SDL_PIXELFORMAT_NV12 ? SHADER_NV12_BT709 : SHADER_NV21_BT709;
|
||||
} else {
|
||||
return SDL_SetError("Unsupported YUV conversion mode");
|
||||
}
|
||||
} else {
|
||||
return SDL_SetError("Unsupported YUV conversion mode");
|
||||
}
|
||||
|
||||
/* Make sure each texture is in the correct state to be accessed by the pixel shader. */
|
||||
D3D12_TransitionResource(rendererData, textureData->mainTexture, textureData->mainResourceState, D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE);
|
||||
textureData->mainResourceState = D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE;
|
||||
|
||||
return D3D12_SetDrawState(renderer, cmd, shader, D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE, SDL_arraysize(shaderResources), shaderResources,
|
||||
textureSampler, matrix);
|
||||
return D3D12_SetDrawState(renderer, cmd, textureData->shader, textureData->shader_params, D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE, SDL_arraysize(shaderResources), shaderResources, textureSampler, matrix);
|
||||
}
|
||||
#endif /* SDL_HAVE_YUV */
|
||||
D3D12_TransitionResource(rendererData, textureData->mainTexture, textureData->mainResourceState, D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE);
|
||||
textureData->mainResourceState = D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE;
|
||||
return D3D12_SetDrawState(renderer, cmd, SHADER_RGB, D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE, 1, &textureData->mainTextureResourceView,
|
||||
textureSampler, matrix);
|
||||
return D3D12_SetDrawState(renderer, cmd, textureData->shader, textureData->shader_params, D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE, 1, &textureData->mainTextureResourceView, textureSampler, matrix);
|
||||
}
|
||||
|
||||
static void D3D12_DrawPrimitives(SDL_Renderer *renderer, D3D12_PRIMITIVE_TOPOLOGY primitiveTopology, const size_t vertexStart, const size_t vertexCount)
|
||||
|
@ -2747,7 +2746,7 @@ static int D3D12_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd,
|
|||
const size_t count = cmd->data.draw.count;
|
||||
const size_t first = cmd->data.draw.first;
|
||||
const size_t start = first / sizeof(VertexPositionColor);
|
||||
D3D12_SetDrawState(renderer, cmd, SHADER_SOLID, D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT, 0, NULL, NULL, NULL);
|
||||
D3D12_SetDrawState(renderer, cmd, SHADER_SOLID, NULL, D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT, 0, NULL, NULL, NULL);
|
||||
D3D12_DrawPrimitives(renderer, D3D_PRIMITIVE_TOPOLOGY_POINTLIST, start, count);
|
||||
break;
|
||||
}
|
||||
|
@ -2758,7 +2757,7 @@ static int D3D12_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd,
|
|||
const size_t first = cmd->data.draw.first;
|
||||
const size_t start = first / sizeof(VertexPositionColor);
|
||||
const VertexPositionColor *verts = (VertexPositionColor *)(((Uint8 *)vertices) + first);
|
||||
D3D12_SetDrawState(renderer, cmd, SHADER_SOLID, D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE, 0, NULL, NULL, NULL);
|
||||
D3D12_SetDrawState(renderer, cmd, SHADER_SOLID, NULL, D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE, 0, NULL, NULL, NULL);
|
||||
D3D12_DrawPrimitives(renderer, D3D_PRIMITIVE_TOPOLOGY_LINESTRIP, start, count);
|
||||
if (verts[0].pos.x != verts[count - 1].pos.x || verts[0].pos.y != verts[count - 1].pos.y) {
|
||||
D3D12_DrawPrimitives(renderer, D3D_PRIMITIVE_TOPOLOGY_POINTLIST, start + (count - 1), 1);
|
||||
|
@ -2785,7 +2784,7 @@ static int D3D12_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd,
|
|||
if (texture) {
|
||||
D3D12_SetCopyState(renderer, cmd, NULL);
|
||||
} else {
|
||||
D3D12_SetDrawState(renderer, cmd, SHADER_SOLID, D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE, 0, NULL, NULL, NULL);
|
||||
D3D12_SetDrawState(renderer, cmd, SHADER_SOLID, NULL, D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE, 0, NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
D3D12_DrawPrimitives(renderer, D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST, start, count);
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -32,15 +32,9 @@ typedef enum
|
|||
SHADER_SOLID,
|
||||
SHADER_RGB,
|
||||
#if SDL_HAVE_YUV
|
||||
SHADER_YUV_JPEG,
|
||||
SHADER_YUV_BT601,
|
||||
SHADER_YUV_BT709,
|
||||
SHADER_NV12_JPEG,
|
||||
SHADER_NV12_BT601,
|
||||
SHADER_NV12_BT709,
|
||||
SHADER_NV21_JPEG,
|
||||
SHADER_NV21_BT601,
|
||||
SHADER_NV21_BT709,
|
||||
SHADER_YUV,
|
||||
SHADER_NV12,
|
||||
SHADER_NV21,
|
||||
#endif
|
||||
NUM_SHADERS
|
||||
} D3D12_Shader;
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#if defined(SDL_VIDEO_RENDER_METAL) && !defined(SDL_RENDER_DISABLED)
|
||||
|
||||
#include "../SDL_sysrender.h"
|
||||
#include "../../video/SDL_pixels_c.h"
|
||||
|
||||
#include <Availability.h>
|
||||
#import <Metal/Metal.h>
|
||||
|
@ -70,10 +71,11 @@
|
|||
static const size_t CONSTANTS_OFFSET_INVALID = 0xFFFFFFFF;
|
||||
static const size_t CONSTANTS_OFFSET_IDENTITY = 0;
|
||||
static const size_t CONSTANTS_OFFSET_HALF_PIXEL_TRANSFORM = ALIGN_CONSTANTS(16, CONSTANTS_OFFSET_IDENTITY + sizeof(float) * 16);
|
||||
static const size_t CONSTANTS_OFFSET_DECODE_JPEG = ALIGN_CONSTANTS(16, CONSTANTS_OFFSET_HALF_PIXEL_TRANSFORM + sizeof(float) * 16);
|
||||
static const size_t CONSTANTS_OFFSET_DECODE_BT601 = ALIGN_CONSTANTS(16, CONSTANTS_OFFSET_DECODE_JPEG + sizeof(float) * 4 * 4);
|
||||
static const size_t CONSTANTS_OFFSET_DECODE_BT709 = ALIGN_CONSTANTS(16, CONSTANTS_OFFSET_DECODE_BT601 + sizeof(float) * 4 * 4);
|
||||
static const size_t CONSTANTS_LENGTH = CONSTANTS_OFFSET_DECODE_BT709 + sizeof(float) * 4 * 4;
|
||||
static const size_t CONSTANTS_OFFSET_DECODE_BT601_LIMITED = ALIGN_CONSTANTS(16, CONSTANTS_OFFSET_HALF_PIXEL_TRANSFORM + sizeof(float) * 16);
|
||||
static const size_t CONSTANTS_OFFSET_DECODE_BT601_FULL = ALIGN_CONSTANTS(16, CONSTANTS_OFFSET_DECODE_BT601_LIMITED + sizeof(float) * 4 * 4);
|
||||
static const size_t CONSTANTS_OFFSET_DECODE_BT709_LIMITED = ALIGN_CONSTANTS(16, CONSTANTS_OFFSET_DECODE_BT601_FULL + sizeof(float) * 4 * 4);
|
||||
static const size_t CONSTANTS_OFFSET_DECODE_BT709_FULL = ALIGN_CONSTANTS(16, CONSTANTS_OFFSET_DECODE_BT709_LIMITED + sizeof(float) * 4 * 4);
|
||||
static const size_t CONSTANTS_LENGTH = CONSTANTS_OFFSET_DECODE_BT709_FULL + sizeof(float) * 4 * 4;
|
||||
|
||||
typedef enum SDL_MetalVertexFunction
|
||||
{
|
||||
|
@ -640,18 +642,18 @@ static int METAL_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL
|
|||
size_t offset = 0;
|
||||
if (SDL_ISCOLORSPACE_YUV_BT601(texture->colorspace)) {
|
||||
if (SDL_ISCOLORSPACE_LIMITED_RANGE(texture->colorspace)) {
|
||||
offset = CONSTANTS_OFFSET_DECODE_BT601;
|
||||
offset = CONSTANTS_OFFSET_DECODE_BT601_LIMITED;
|
||||
} else {
|
||||
offset = CONSTANTS_OFFSET_DECODE_JPEG;
|
||||
offset = CONSTANTS_OFFSET_DECODE_BT601_FULL;
|
||||
}
|
||||
} else if (SDL_ISCOLORSPACE_YUV_BT709(texture->colorspace)) {
|
||||
if (SDL_ISCOLORSPACE_LIMITED_RANGE(texture->colorspace)) {
|
||||
offset = CONSTANTS_OFFSET_DECODE_BT709;
|
||||
offset = CONSTANTS_OFFSET_DECODE_BT709_LIMITED;
|
||||
} else {
|
||||
return SDL_SetError("Unsupported YUV conversion mode");
|
||||
offset = CONSTANTS_OFFSET_DECODE_BT709_FULL;
|
||||
}
|
||||
} else {
|
||||
return SDL_SetError("Unsupported YUV conversion mode");
|
||||
offset = 0;
|
||||
}
|
||||
texturedata.conversionBufferOffset = offset;
|
||||
}
|
||||
|
@ -1699,27 +1701,7 @@ static SDL_Renderer *METAL_CreateRenderer(SDL_Window *window, SDL_PropertiesID c
|
|||
1.0f,
|
||||
};
|
||||
|
||||
/* Metal pads float3s to 16 bytes. */
|
||||
float decodetransformJPEG[4 * 4] = {
|
||||
0.0, -0.501960814, -0.501960814, 0.0, /* offset */
|
||||
1.0000, 0.0000, 1.4020, 0.0, /* Rcoeff */
|
||||
1.0000, -0.3441, -0.7141, 0.0, /* Gcoeff */
|
||||
1.0000, 1.7720, 0.0000, 0.0, /* Bcoeff */
|
||||
};
|
||||
|
||||
float decodetransformBT601[4 * 4] = {
|
||||
-0.0627451017, -0.501960814, -0.501960814, 0.0, /* offset */
|
||||
1.1644, 0.0000, 1.5960, 0.0, /* Rcoeff */
|
||||
1.1644, -0.3918, -0.8130, 0.0, /* Gcoeff */
|
||||
1.1644, 2.0172, 0.0000, 0.0, /* Bcoeff */
|
||||
};
|
||||
|
||||
float decodetransformBT709[4 * 4] = {
|
||||
-0.0627451017, -0.501960814, -0.501960814, 0.0, /* offset */
|
||||
1.1644, 0.0000, 1.7927, 0.0, /* Rcoeff */
|
||||
1.1644, -0.2132, -0.5329, 0.0, /* Gcoeff */
|
||||
1.1644, 2.1124, 0.0000, 0.0, /* Bcoeff */
|
||||
};
|
||||
const size_t YCbCr_shader_matrix_size = 4 * 4 * sizeof(float);
|
||||
|
||||
if (!IsMetalAvailable()) {
|
||||
return NULL;
|
||||
|
@ -1840,9 +1822,10 @@ static SDL_Renderer *METAL_CreateRenderer(SDL_Window *window, SDL_PropertiesID c
|
|||
constantdata = [mtlbufconstantstaging contents];
|
||||
SDL_memcpy(constantdata + CONSTANTS_OFFSET_IDENTITY, identitytransform, sizeof(identitytransform));
|
||||
SDL_memcpy(constantdata + CONSTANTS_OFFSET_HALF_PIXEL_TRANSFORM, halfpixeltransform, sizeof(halfpixeltransform));
|
||||
SDL_memcpy(constantdata + CONSTANTS_OFFSET_DECODE_JPEG, decodetransformJPEG, sizeof(decodetransformJPEG));
|
||||
SDL_memcpy(constantdata + CONSTANTS_OFFSET_DECODE_BT601, decodetransformBT601, sizeof(decodetransformBT601));
|
||||
SDL_memcpy(constantdata + CONSTANTS_OFFSET_DECODE_BT709, decodetransformBT709, sizeof(decodetransformBT709));
|
||||
SDL_memcpy(constantdata + CONSTANTS_OFFSET_DECODE_BT601_LIMITED, SDL_GetYCbCRtoRGBConversionMatrix(SDL_COLORSPACE_BT601_LIMITED), YCbCr_shader_matrix_size);
|
||||
SDL_memcpy(constantdata + CONSTANTS_OFFSET_DECODE_BT601_FULL, SDL_GetYCbCRtoRGBConversionMatrix(SDL_COLORSPACE_BT601_FULL), YCbCr_shader_matrix_size);
|
||||
SDL_memcpy(constantdata + CONSTANTS_OFFSET_DECODE_BT709_LIMITED, SDL_GetYCbCRtoRGBConversionMatrix(SDL_COLORSPACE_BT709_LIMITED), YCbCr_shader_matrix_size);
|
||||
SDL_memcpy(constantdata + CONSTANTS_OFFSET_DECODE_BT709_FULL, SDL_GetYCbCRtoRGBConversionMatrix(SDL_COLORSPACE_BT709_FULL), YCbCr_shader_matrix_size);
|
||||
|
||||
mtlbufquadindicesstaging = [data.mtldevice newBufferWithLength:indicessize options:MTLResourceStorageModeShared];
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
#include <SDL3/SDL_opengl.h>
|
||||
#include "../SDL_sysrender.h"
|
||||
#include "SDL_shaders_gl.h"
|
||||
#include "../../video/SDL_pixels_c.h"
|
||||
#include "../../SDL_utils_c.h"
|
||||
|
||||
#ifdef SDL_PLATFORM_MACOS
|
||||
|
@ -68,6 +69,7 @@ typedef struct
|
|||
int drawableh;
|
||||
SDL_BlendMode blend;
|
||||
GL_Shader shader;
|
||||
const float *shader_params;
|
||||
SDL_bool cliprect_enabled_dirty;
|
||||
SDL_bool cliprect_enabled;
|
||||
SDL_bool cliprect_dirty;
|
||||
|
@ -132,6 +134,7 @@ typedef struct
|
|||
GLenum format;
|
||||
GLenum formattype;
|
||||
GL_Shader shader;
|
||||
const float *shader_params;
|
||||
void *pixels;
|
||||
int pitch;
|
||||
SDL_Rect locked_rect;
|
||||
|
@ -662,46 +665,24 @@ static int GL_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL_Pr
|
|||
|
||||
#if SDL_HAVE_YUV
|
||||
if (data->yuv || data->nv12) {
|
||||
if (SDL_ISCOLORSPACE_YUV_BT601(texture->colorspace)) {
|
||||
if (SDL_ISCOLORSPACE_LIMITED_RANGE(texture->colorspace)) {
|
||||
if (data->yuv) {
|
||||
data->shader = SHADER_YUV_BT601;
|
||||
data->shader = SHADER_YUV;
|
||||
} else if (texture->format == SDL_PIXELFORMAT_NV12) {
|
||||
if (SDL_GetHintBoolean("SDL_RENDER_OPENGL_NV12_RG_SHADER", SDL_FALSE)) {
|
||||
data->shader = SHADER_NV12_RG_BT601;
|
||||
data->shader = SHADER_NV12_RG;
|
||||
} else {
|
||||
data->shader = SHADER_NV12_RA_BT601;
|
||||
data->shader = SHADER_NV12_RA;
|
||||
}
|
||||
} else {
|
||||
data->shader = SHADER_NV21_BT601;
|
||||
}
|
||||
} else {
|
||||
if (data->yuv) {
|
||||
data->shader = SHADER_YUV_JPEG;
|
||||
} else if (texture->format == SDL_PIXELFORMAT_NV12) {
|
||||
data->shader = SHADER_NV12_JPEG;
|
||||
} else {
|
||||
data->shader = SHADER_NV21_JPEG;
|
||||
}
|
||||
}
|
||||
} else if (SDL_ISCOLORSPACE_YUV_BT709(texture->colorspace)) {
|
||||
if (SDL_ISCOLORSPACE_LIMITED_RANGE(texture->colorspace)) {
|
||||
if (data->yuv) {
|
||||
data->shader = SHADER_YUV_BT709;
|
||||
} else if (texture->format == SDL_PIXELFORMAT_NV12) {
|
||||
if (SDL_GetHintBoolean("SDL_RENDER_OPENGL_NV12_RG_SHADER", SDL_FALSE)) {
|
||||
data->shader = SHADER_NV12_RG_BT709;
|
||||
data->shader = SHADER_NV21_RG;
|
||||
} else {
|
||||
data->shader = SHADER_NV12_RA_BT709;
|
||||
data->shader = SHADER_NV21_RA;
|
||||
}
|
||||
} else {
|
||||
data->shader = SHADER_NV21_BT709;
|
||||
}
|
||||
} else {
|
||||
return SDL_SetError("Unsupported YUV conversion mode");
|
||||
}
|
||||
} else {
|
||||
return SDL_SetError("Unsupported YUV conversion mode");
|
||||
data->shader_params = SDL_GetYCbCRtoRGBConversionMatrix(texture->colorspace);
|
||||
if (!data->shader_params) {
|
||||
return SDL_SetError("Unsupported YUV colorspace");
|
||||
}
|
||||
}
|
||||
#endif /* SDL_HAVE_YUV */
|
||||
|
@ -1049,7 +1030,7 @@ static int GL_QueueGeometry(SDL_Renderer *renderer, SDL_RenderCommand *cmd, SDL_
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int SetDrawState(GL_RenderData *data, const SDL_RenderCommand *cmd, const GL_Shader shader)
|
||||
static int SetDrawState(GL_RenderData *data, const SDL_RenderCommand *cmd, const GL_Shader shader, const float *shader_params)
|
||||
{
|
||||
const SDL_BlendMode blend = cmd->data.draw.blend;
|
||||
SDL_bool vertex_array;
|
||||
|
@ -1106,9 +1087,11 @@ static int SetDrawState(GL_RenderData *data, const SDL_RenderCommand *cmd, const
|
|||
data->drawstate.blend = blend;
|
||||
}
|
||||
|
||||
if (data->shaders && (shader != data->drawstate.shader)) {
|
||||
GL_SelectShader(data->shaders, shader);
|
||||
if (data->shaders &&
|
||||
(shader != data->drawstate.shader || shader_params != data->drawstate.shader_params)) {
|
||||
GL_SelectShader(data->shaders, shader, shader_params);
|
||||
data->drawstate.shader = shader;
|
||||
data->drawstate.shader_params = shader_params;
|
||||
}
|
||||
|
||||
if (data->drawstate.texturing_dirty || ((cmd->data.draw.texture != NULL) != data->drawstate.texturing)) {
|
||||
|
@ -1163,7 +1146,7 @@ static int SetCopyState(GL_RenderData *data, const SDL_RenderCommand *cmd)
|
|||
SDL_Texture *texture = cmd->data.draw.texture;
|
||||
const GL_TextureData *texturedata = (GL_TextureData *)texture->driverdata;
|
||||
|
||||
SetDrawState(data, cmd, texturedata->shader);
|
||||
SetDrawState(data, cmd, texturedata->shader, texturedata->shader_params);
|
||||
|
||||
if (texture != data->drawstate.texture) {
|
||||
const GLenum textype = data->textype;
|
||||
|
@ -1325,7 +1308,7 @@ static int GL_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd, vo
|
|||
|
||||
case SDL_RENDERCMD_DRAW_LINES:
|
||||
{
|
||||
if (SetDrawState(data, cmd, SHADER_SOLID) == 0) {
|
||||
if (SetDrawState(data, cmd, SHADER_SOLID, NULL) == 0) {
|
||||
size_t count = cmd->data.draw.count;
|
||||
const GLfloat *verts = (GLfloat *)(((Uint8 *)vertices) + cmd->data.draw.first);
|
||||
|
||||
|
@ -1391,7 +1374,7 @@ static int GL_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd, vo
|
|||
if (thistexture) {
|
||||
ret = SetCopyState(data, cmd);
|
||||
} else {
|
||||
ret = SetDrawState(data, cmd, SHADER_SOLID);
|
||||
ret = SetDrawState(data, cmd, SHADER_SOLID, NULL);
|
||||
}
|
||||
|
||||
if (ret == 0) {
|
||||
|
|
|
@ -52,11 +52,13 @@ struct GL_ShaderContext
|
|||
PFNGLSHADERSOURCEARBPROC glShaderSourceARB;
|
||||
PFNGLUNIFORM1IARBPROC glUniform1iARB;
|
||||
PFNGLUNIFORM1FARBPROC glUniform1fARB;
|
||||
PFNGLUNIFORM3FARBPROC glUniform3fARB;
|
||||
PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB;
|
||||
|
||||
SDL_bool GL_ARB_texture_rectangle_supported;
|
||||
|
||||
GL_ShaderData shaders[NUM_SHADERS];
|
||||
const float *shader_params[NUM_SHADERS];
|
||||
};
|
||||
|
||||
/* *INDENT-OFF* */ /* clang-format off */
|
||||
|
@ -81,39 +83,16 @@ struct GL_ShaderContext
|
|||
" v_texCoord = vec2(gl_MultiTexCoord0);\n" \
|
||||
"}" \
|
||||
|
||||
#define JPEG_SHADER_CONSTANTS \
|
||||
"// YUV offset \n" \
|
||||
"const vec3 offset = vec3(0, -0.501960814, -0.501960814);\n" \
|
||||
"\n" \
|
||||
"// RGB coefficients \n" \
|
||||
"const vec3 Rcoeff = vec3(1, 0.000, 1.402);\n" \
|
||||
"const vec3 Gcoeff = vec3(1, -0.3441, -0.7141);\n" \
|
||||
"const vec3 Bcoeff = vec3(1, 1.772, 0.000);\n" \
|
||||
|
||||
#define BT601_SHADER_CONSTANTS \
|
||||
"// YUV offset \n" \
|
||||
"const vec3 offset = vec3(-0.0627451017, -0.501960814, -0.501960814);\n" \
|
||||
"\n" \
|
||||
"// RGB coefficients \n" \
|
||||
"const vec3 Rcoeff = vec3(1.1644, 0.000, 1.596);\n" \
|
||||
"const vec3 Gcoeff = vec3(1.1644, -0.3918, -0.813);\n" \
|
||||
"const vec3 Bcoeff = vec3(1.1644, 2.0172, 0.000);\n" \
|
||||
|
||||
#define BT709_SHADER_CONSTANTS \
|
||||
"// YUV offset \n" \
|
||||
"const vec3 offset = vec3(-0.0627451017, -0.501960814, -0.501960814);\n" \
|
||||
"\n" \
|
||||
"// RGB coefficients \n" \
|
||||
"const vec3 Rcoeff = vec3(1.1644, 0.000, 1.7927);\n" \
|
||||
"const vec3 Gcoeff = vec3(1.1644, -0.2132, -0.5329);\n" \
|
||||
"const vec3 Bcoeff = vec3(1.1644, 2.1124, 0.000);\n" \
|
||||
|
||||
#define YUV_SHADER_PROLOGUE \
|
||||
"varying vec4 v_color;\n" \
|
||||
"varying vec2 v_texCoord;\n" \
|
||||
"uniform sampler2D tex0; // Y \n" \
|
||||
"uniform sampler2D tex1; // U \n" \
|
||||
"uniform sampler2D tex2; // V \n" \
|
||||
"uniform vec3 Yoffset;\n" \
|
||||
"uniform vec3 Rcoeff;\n" \
|
||||
"uniform vec3 Gcoeff;\n" \
|
||||
"uniform vec3 Bcoeff;\n" \
|
||||
"\n" \
|
||||
|
||||
#define YUV_SHADER_BODY \
|
||||
|
@ -133,7 +112,7 @@ struct GL_ShaderContext
|
|||
" yuv.z = texture2D(tex2, tcoord).r;\n" \
|
||||
"\n" \
|
||||
" // Do the color transform \n" \
|
||||
" yuv += offset;\n" \
|
||||
" yuv += Yoffset;\n" \
|
||||
" rgb.r = dot(yuv, Rcoeff);\n" \
|
||||
" rgb.g = dot(yuv, Gcoeff);\n" \
|
||||
" rgb.b = dot(yuv, Bcoeff);\n" \
|
||||
|
@ -147,6 +126,10 @@ struct GL_ShaderContext
|
|||
"varying vec2 v_texCoord;\n" \
|
||||
"uniform sampler2D tex0; // Y \n" \
|
||||
"uniform sampler2D tex1; // U/V \n" \
|
||||
"uniform vec3 Yoffset;\n" \
|
||||
"uniform vec3 Rcoeff;\n" \
|
||||
"uniform vec3 Gcoeff;\n" \
|
||||
"uniform vec3 Bcoeff;\n" \
|
||||
"\n" \
|
||||
|
||||
#define NV12_RA_SHADER_BODY \
|
||||
|
@ -165,7 +148,7 @@ struct GL_ShaderContext
|
|||
" yuv.yz = texture2D(tex1, tcoord).ra;\n" \
|
||||
"\n" \
|
||||
" // Do the color transform \n" \
|
||||
" yuv += offset;\n" \
|
||||
" yuv += Yoffset;\n" \
|
||||
" rgb.r = dot(yuv, Rcoeff);\n" \
|
||||
" rgb.g = dot(yuv, Gcoeff);\n" \
|
||||
" rgb.b = dot(yuv, Bcoeff);\n" \
|
||||
|
@ -190,7 +173,7 @@ struct GL_ShaderContext
|
|||
" yuv.yz = texture2D(tex1, tcoord).rg;\n" \
|
||||
"\n" \
|
||||
" // Do the color transform \n" \
|
||||
" yuv += offset;\n" \
|
||||
" yuv += Yoffset;\n" \
|
||||
" rgb.r = dot(yuv, Rcoeff);\n" \
|
||||
" rgb.g = dot(yuv, Gcoeff);\n" \
|
||||
" rgb.b = dot(yuv, Bcoeff);\n" \
|
||||
|
@ -199,14 +182,7 @@ struct GL_ShaderContext
|
|||
" gl_FragColor = vec4(rgb, 1.0) * v_color;\n" \
|
||||
"}" \
|
||||
|
||||
#define NV21_SHADER_PROLOGUE \
|
||||
"varying vec4 v_color;\n" \
|
||||
"varying vec2 v_texCoord;\n" \
|
||||
"uniform sampler2D tex0; // Y \n" \
|
||||
"uniform sampler2D tex1; // U/V \n" \
|
||||
"\n" \
|
||||
|
||||
#define NV21_SHADER_BODY \
|
||||
#define NV21_RA_SHADER_BODY \
|
||||
"\n" \
|
||||
"void main()\n" \
|
||||
"{\n" \
|
||||
|
@ -222,7 +198,32 @@ struct GL_ShaderContext
|
|||
" yuv.yz = texture2D(tex1, tcoord).ar;\n" \
|
||||
"\n" \
|
||||
" // Do the color transform \n" \
|
||||
" yuv += offset;\n" \
|
||||
" yuv += Yoffset;\n" \
|
||||
" rgb.r = dot(yuv, Rcoeff);\n" \
|
||||
" rgb.g = dot(yuv, Gcoeff);\n" \
|
||||
" rgb.b = dot(yuv, Bcoeff);\n" \
|
||||
"\n" \
|
||||
" // That was easy. :) \n" \
|
||||
" gl_FragColor = vec4(rgb, 1.0) * v_color;\n" \
|
||||
"}" \
|
||||
|
||||
#define NV21_RG_SHADER_BODY \
|
||||
"\n" \
|
||||
"void main()\n" \
|
||||
"{\n" \
|
||||
" vec2 tcoord;\n" \
|
||||
" vec3 yuv, rgb;\n" \
|
||||
"\n" \
|
||||
" // Get the Y value \n" \
|
||||
" tcoord = v_texCoord;\n" \
|
||||
" yuv.x = texture2D(tex0, tcoord).r;\n" \
|
||||
"\n" \
|
||||
" // Get the U and V values \n" \
|
||||
" tcoord *= UVCoordScale;\n" \
|
||||
" yuv.yz = texture2D(tex1, tcoord).gr;\n" \
|
||||
"\n" \
|
||||
" // Do the color transform \n" \
|
||||
" yuv += Yoffset;\n" \
|
||||
" rgb.r = dot(yuv, Rcoeff);\n" \
|
||||
" rgb.g = dot(yuv, Gcoeff);\n" \
|
||||
" rgb.b = dot(yuv, Bcoeff);\n" \
|
||||
|
@ -284,104 +285,45 @@ static const char *shader_source[NUM_SHADERS][2] = {
|
|||
"}"
|
||||
},
|
||||
#if SDL_HAVE_YUV
|
||||
/* SHADER_YUV_JPEG */
|
||||
/* SHADER_YUV */
|
||||
{
|
||||
/* vertex shader */
|
||||
TEXTURE_VERTEX_SHADER,
|
||||
/* fragment shader */
|
||||
YUV_SHADER_PROLOGUE
|
||||
JPEG_SHADER_CONSTANTS
|
||||
YUV_SHADER_BODY
|
||||
},
|
||||
/* SHADER_YUV_BT601 */
|
||||
{
|
||||
/* vertex shader */
|
||||
TEXTURE_VERTEX_SHADER,
|
||||
/* fragment shader */
|
||||
YUV_SHADER_PROLOGUE
|
||||
BT601_SHADER_CONSTANTS
|
||||
YUV_SHADER_BODY
|
||||
},
|
||||
/* SHADER_YUV_BT709 */
|
||||
{
|
||||
/* vertex shader */
|
||||
TEXTURE_VERTEX_SHADER,
|
||||
/* fragment shader */
|
||||
YUV_SHADER_PROLOGUE
|
||||
BT709_SHADER_CONSTANTS
|
||||
YUV_SHADER_BODY
|
||||
},
|
||||
/* SHADER_NV12_JPEG */
|
||||
/* SHADER_NV12_RA */
|
||||
{
|
||||
/* vertex shader */
|
||||
TEXTURE_VERTEX_SHADER,
|
||||
/* fragment shader */
|
||||
NV12_SHADER_PROLOGUE
|
||||
JPEG_SHADER_CONSTANTS
|
||||
NV12_RA_SHADER_BODY
|
||||
},
|
||||
/* SHADER_NV12_RA_BT601 */
|
||||
/* SHADER_NV12_RG */
|
||||
{
|
||||
/* vertex shader */
|
||||
TEXTURE_VERTEX_SHADER,
|
||||
/* fragment shader */
|
||||
NV12_SHADER_PROLOGUE
|
||||
BT601_SHADER_CONSTANTS
|
||||
NV12_RA_SHADER_BODY
|
||||
},
|
||||
/* SHADER_NV12_RG_BT601 */
|
||||
{
|
||||
/* vertex shader */
|
||||
TEXTURE_VERTEX_SHADER,
|
||||
/* fragment shader */
|
||||
NV12_SHADER_PROLOGUE
|
||||
BT601_SHADER_CONSTANTS
|
||||
NV12_RG_SHADER_BODY
|
||||
},
|
||||
/* SHADER_NV12_RA_BT709 */
|
||||
/* SHADER_NV21_RA */
|
||||
{
|
||||
/* vertex shader */
|
||||
TEXTURE_VERTEX_SHADER,
|
||||
/* fragment shader */
|
||||
NV12_SHADER_PROLOGUE
|
||||
BT709_SHADER_CONSTANTS
|
||||
NV12_RA_SHADER_BODY
|
||||
NV21_RA_SHADER_BODY
|
||||
},
|
||||
/* SHADER_NV12_RG_BT709 */
|
||||
/* SHADER_NV21_RG */
|
||||
{
|
||||
/* vertex shader */
|
||||
TEXTURE_VERTEX_SHADER,
|
||||
/* fragment shader */
|
||||
NV12_SHADER_PROLOGUE
|
||||
BT709_SHADER_CONSTANTS
|
||||
NV12_RG_SHADER_BODY
|
||||
},
|
||||
/* SHADER_NV21_JPEG */
|
||||
{
|
||||
/* vertex shader */
|
||||
TEXTURE_VERTEX_SHADER,
|
||||
/* fragment shader */
|
||||
NV21_SHADER_PROLOGUE
|
||||
JPEG_SHADER_CONSTANTS
|
||||
NV21_SHADER_BODY
|
||||
},
|
||||
/* SHADER_NV21_BT601 */
|
||||
{
|
||||
/* vertex shader */
|
||||
TEXTURE_VERTEX_SHADER,
|
||||
/* fragment shader */
|
||||
NV21_SHADER_PROLOGUE
|
||||
BT601_SHADER_CONSTANTS
|
||||
NV21_SHADER_BODY
|
||||
},
|
||||
/* SHADER_NV21_BT709 */
|
||||
{
|
||||
/* vertex shader */
|
||||
TEXTURE_VERTEX_SHADER,
|
||||
/* fragment shader */
|
||||
NV21_SHADER_PROLOGUE
|
||||
BT709_SHADER_CONSTANTS
|
||||
NV21_SHADER_BODY
|
||||
NV21_RG_SHADER_BODY
|
||||
},
|
||||
#endif /* SDL_HAVE_YUV */
|
||||
};
|
||||
|
@ -524,6 +466,7 @@ GL_ShaderContext *GL_CreateShaderContext(void)
|
|||
ctx->glShaderSourceARB = (PFNGLSHADERSOURCEARBPROC)SDL_GL_GetProcAddress("glShaderSourceARB");
|
||||
ctx->glUniform1iARB = (PFNGLUNIFORM1IARBPROC)SDL_GL_GetProcAddress("glUniform1iARB");
|
||||
ctx->glUniform1fARB = (PFNGLUNIFORM1FARBPROC)SDL_GL_GetProcAddress("glUniform1fARB");
|
||||
ctx->glUniform3fARB = (PFNGLUNIFORM3FARBPROC)SDL_GL_GetProcAddress("glUniform3fARB");
|
||||
ctx->glUseProgramObjectARB = (PFNGLUSEPROGRAMOBJECTARBPROC)SDL_GL_GetProcAddress("glUseProgramObjectARB");
|
||||
if (ctx->glGetError &&
|
||||
ctx->glAttachObjectARB &&
|
||||
|
@ -538,6 +481,7 @@ GL_ShaderContext *GL_CreateShaderContext(void)
|
|||
ctx->glShaderSourceARB &&
|
||||
ctx->glUniform1iARB &&
|
||||
ctx->glUniform1fARB &&
|
||||
ctx->glUniform3fARB &&
|
||||
ctx->glUseProgramObjectARB) {
|
||||
shaders_supported = SDL_TRUE;
|
||||
}
|
||||
|
@ -560,9 +504,33 @@ GL_ShaderContext *GL_CreateShaderContext(void)
|
|||
return ctx;
|
||||
}
|
||||
|
||||
void GL_SelectShader(GL_ShaderContext *ctx, GL_Shader shader)
|
||||
void GL_SelectShader(GL_ShaderContext *ctx, GL_Shader shader, const float *shader_params)
|
||||
{
|
||||
ctx->glUseProgramObjectARB(ctx->shaders[shader].program);
|
||||
GLint location;
|
||||
GLhandleARB program = ctx->shaders[shader].program;
|
||||
|
||||
ctx->glUseProgramObjectARB(program);
|
||||
|
||||
if (shader_params && shader_params != ctx->shader_params[shader]) {
|
||||
/* YUV shader params are Yoffset, 0, Rcoeff, 0, Gcoeff, 0, Bcoeff, 0 */
|
||||
location = ctx->glGetUniformLocationARB(program, "Yoffset");
|
||||
if (location >= 0) {
|
||||
ctx->glUniform3fARB(location, shader_params[0], shader_params[1], shader_params[2]);
|
||||
}
|
||||
location = ctx->glGetUniformLocationARB(program, "Rcoeff");
|
||||
if (location >= 0) {
|
||||
ctx->glUniform3fARB(location, shader_params[4], shader_params[5], shader_params[6]);
|
||||
}
|
||||
location = ctx->glGetUniformLocationARB(program, "Gcoeff");
|
||||
if (location >= 0) {
|
||||
ctx->glUniform3fARB(location, shader_params[8], shader_params[9], shader_params[10]);
|
||||
}
|
||||
location = ctx->glGetUniformLocationARB(program, "Bcoeff");
|
||||
if (location >= 0) {
|
||||
ctx->glUniform3fARB(location, shader_params[12], shader_params[13], shader_params[14]);
|
||||
}
|
||||
ctx->shader_params[shader] = shader_params;
|
||||
}
|
||||
}
|
||||
|
||||
void GL_DestroyShaderContext(GL_ShaderContext *ctx)
|
||||
|
|
|
@ -34,17 +34,11 @@ typedef enum
|
|||
SHADER_RGB,
|
||||
SHADER_RGBA,
|
||||
#if SDL_HAVE_YUV
|
||||
SHADER_YUV_JPEG,
|
||||
SHADER_YUV_BT601,
|
||||
SHADER_YUV_BT709,
|
||||
SHADER_NV12_JPEG,
|
||||
SHADER_NV12_RA_BT601,
|
||||
SHADER_NV12_RG_BT601,
|
||||
SHADER_NV12_RA_BT709,
|
||||
SHADER_NV12_RG_BT709,
|
||||
SHADER_NV21_JPEG,
|
||||
SHADER_NV21_BT601,
|
||||
SHADER_NV21_BT709,
|
||||
SHADER_YUV,
|
||||
SHADER_NV12_RA,
|
||||
SHADER_NV12_RG,
|
||||
SHADER_NV21_RA,
|
||||
SHADER_NV21_RG,
|
||||
#endif
|
||||
NUM_SHADERS
|
||||
} GL_Shader;
|
||||
|
@ -52,7 +46,7 @@ typedef enum
|
|||
typedef struct GL_ShaderContext GL_ShaderContext;
|
||||
|
||||
extern GL_ShaderContext *GL_CreateShaderContext(void);
|
||||
extern void GL_SelectShader(GL_ShaderContext *ctx, GL_Shader shader);
|
||||
extern void GL_SelectShader(GL_ShaderContext *ctx, GL_Shader shader, const float *shader_params);
|
||||
extern void GL_DestroyShaderContext(GL_ShaderContext *ctx);
|
||||
|
||||
#endif /* SDL_shaders_gl_h_ */
|
||||
|
|
|
@ -58,7 +58,9 @@ SDL_PROC(void, glTexImage2D, (GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLe
|
|||
SDL_PROC(void, glTexParameteri, (GLenum, GLenum, GLint))
|
||||
SDL_PROC(void, glTexSubImage2D, (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *))
|
||||
SDL_PROC(void, glUniform1i, (GLint, GLint))
|
||||
SDL_PROC(void, glUniform3f, (GLint, GLfloat, GLfloat, GLfloat))
|
||||
SDL_PROC(void, glUniform4f, (GLint, GLfloat, GLfloat, GLfloat, GLfloat))
|
||||
SDL_PROC(void, glUniformMatrix3fv, (GLint, GLsizei, GLboolean, const GLfloat *))
|
||||
SDL_PROC(void, glUniformMatrix4fv, (GLint, GLsizei, GLboolean, const GLfloat *))
|
||||
SDL_PROC(void, glUseProgram, (GLuint))
|
||||
SDL_PROC(void, glVertexAttribPointer, (GLuint, GLint, GLenum, GLboolean, GLsizei, const void *))
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
#include <SDL3/SDL_opengles2.h>
|
||||
#include "../SDL_sysrender.h"
|
||||
#include "../../video/SDL_blit.h"
|
||||
#include "../../video/SDL_pixels_c.h"
|
||||
#include "SDL_shaders_gles2.h"
|
||||
|
||||
/* WebGL doesn't offer client-side arrays, so use Vertex Buffer Objects
|
||||
|
@ -79,24 +80,6 @@ typedef struct GLES2_TextureData
|
|||
GLES2_FBOList *fbo;
|
||||
} GLES2_TextureData;
|
||||
|
||||
typedef struct GLES2_ProgramCacheEntry
|
||||
{
|
||||
GLuint id;
|
||||
GLuint vertex_shader;
|
||||
GLuint fragment_shader;
|
||||
GLuint uniform_locations[16];
|
||||
GLfloat projection[4][4];
|
||||
struct GLES2_ProgramCacheEntry *prev;
|
||||
struct GLES2_ProgramCacheEntry *next;
|
||||
} GLES2_ProgramCacheEntry;
|
||||
|
||||
typedef struct GLES2_ProgramCache
|
||||
{
|
||||
int count;
|
||||
GLES2_ProgramCacheEntry *head;
|
||||
GLES2_ProgramCacheEntry *tail;
|
||||
} GLES2_ProgramCache;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
GLES2_ATTRIBUTE_POSITION = 0,
|
||||
|
@ -109,9 +92,41 @@ typedef enum
|
|||
GLES2_UNIFORM_PROJECTION,
|
||||
GLES2_UNIFORM_TEXTURE,
|
||||
GLES2_UNIFORM_TEXTURE_U,
|
||||
GLES2_UNIFORM_TEXTURE_V
|
||||
GLES2_UNIFORM_TEXTURE_V,
|
||||
GLES2_UNIFORM_OFFSET,
|
||||
GLES2_UNIFORM_MATRIX,
|
||||
NUM_GLES2_UNIFORMS
|
||||
} GLES2_Uniform;
|
||||
|
||||
static const char *GLES2_UniformNames[] = {
|
||||
"u_projection",
|
||||
"u_texture",
|
||||
"u_texture_u",
|
||||
"u_texture_v",
|
||||
"u_offset",
|
||||
"u_matrix"
|
||||
};
|
||||
SDL_COMPILE_TIME_ASSERT(GLES2_UniformNames, SDL_arraysize(GLES2_UniformNames) == NUM_GLES2_UNIFORMS);
|
||||
|
||||
typedef struct GLES2_ProgramCacheEntry
|
||||
{
|
||||
GLuint id;
|
||||
GLuint vertex_shader;
|
||||
GLuint fragment_shader;
|
||||
GLuint uniform_locations[NUM_GLES2_UNIFORMS];
|
||||
GLfloat projection[4][4];
|
||||
const float *shader_params;
|
||||
struct GLES2_ProgramCacheEntry *prev;
|
||||
struct GLES2_ProgramCacheEntry *next;
|
||||
} GLES2_ProgramCacheEntry;
|
||||
|
||||
typedef struct GLES2_ProgramCache
|
||||
{
|
||||
int count;
|
||||
GLES2_ProgramCacheEntry *head;
|
||||
GLES2_ProgramCacheEntry *tail;
|
||||
} GLES2_ProgramCache;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
GLES2_IMAGESOURCE_INVALID,
|
||||
|
@ -144,6 +159,7 @@ typedef struct
|
|||
int drawablew;
|
||||
int drawableh;
|
||||
GLES2_ProgramCacheEntry *program;
|
||||
const float *shader_params;
|
||||
GLfloat projection[4][4];
|
||||
} GLES2_DrawStateCache;
|
||||
|
||||
|
@ -391,6 +407,7 @@ static GLES2_ProgramCacheEntry *GLES2_CacheProgram(GLES2_RenderData *data, GLuin
|
|||
{
|
||||
GLES2_ProgramCacheEntry *entry;
|
||||
GLint linkSuccessful;
|
||||
int i;
|
||||
|
||||
/* Check if we've already cached this program */
|
||||
entry = data->program_cache.head;
|
||||
|
@ -441,14 +458,9 @@ static GLES2_ProgramCacheEntry *GLES2_CacheProgram(GLES2_RenderData *data, GLuin
|
|||
}
|
||||
|
||||
/* Predetermine locations of uniform variables */
|
||||
entry->uniform_locations[GLES2_UNIFORM_PROJECTION] =
|
||||
data->glGetUniformLocation(entry->id, "u_projection");
|
||||
entry->uniform_locations[GLES2_UNIFORM_TEXTURE_V] =
|
||||
data->glGetUniformLocation(entry->id, "u_texture_v");
|
||||
entry->uniform_locations[GLES2_UNIFORM_TEXTURE_U] =
|
||||
data->glGetUniformLocation(entry->id, "u_texture_u");
|
||||
entry->uniform_locations[GLES2_UNIFORM_TEXTURE] =
|
||||
data->glGetUniformLocation(entry->id, "u_texture");
|
||||
for (i = 0; i < NUM_GLES2_UNIFORMS; ++i) {
|
||||
entry->uniform_locations[i] = data->glGetUniformLocation(entry->id, GLES2_UniformNames[i]);
|
||||
}
|
||||
|
||||
data->glUseProgram(entry->id);
|
||||
if (entry->uniform_locations[GLES2_UNIFORM_TEXTURE_V] != -1) {
|
||||
|
@ -594,6 +606,7 @@ static int GLES2_SelectProgram(GLES2_RenderData *data, GLES2_ImageSource source,
|
|||
GLuint fragment;
|
||||
GLES2_ShaderType vtype, ftype;
|
||||
GLES2_ProgramCacheEntry *program;
|
||||
const float *shader_params = NULL;
|
||||
|
||||
/* Select an appropriate shader pair for the specified modes */
|
||||
vtype = GLES2_SHADER_VERTEX_DEFAULT;
|
||||
|
@ -615,67 +628,34 @@ static int GLES2_SelectProgram(GLES2_RenderData *data, GLES2_ImageSource source,
|
|||
break;
|
||||
#if SDL_HAVE_YUV
|
||||
case GLES2_IMAGESOURCE_TEXTURE_YUV:
|
||||
if (SDL_ISCOLORSPACE_YUV_BT601(colorspace)) {
|
||||
if (SDL_ISCOLORSPACE_LIMITED_RANGE(colorspace)) {
|
||||
ftype = GLES2_SHADER_FRAGMENT_TEXTURE_YUV_BT601;
|
||||
} else {
|
||||
ftype = GLES2_SHADER_FRAGMENT_TEXTURE_YUV_JPEG;
|
||||
}
|
||||
} else if (SDL_ISCOLORSPACE_YUV_BT709(colorspace)) {
|
||||
if (SDL_ISCOLORSPACE_LIMITED_RANGE(colorspace)) {
|
||||
ftype = GLES2_SHADER_FRAGMENT_TEXTURE_YUV_BT709;
|
||||
} else {
|
||||
SDL_SetError("Unsupported YUV conversion mode");
|
||||
goto fault;
|
||||
}
|
||||
} else {
|
||||
SDL_SetError("Unsupported YUV conversion mode");
|
||||
ftype = GLES2_SHADER_FRAGMENT_TEXTURE_YUV;
|
||||
shader_params = SDL_GetYCbCRtoRGBConversionMatrix(colorspace);
|
||||
if (!shader_params) {
|
||||
SDL_SetError("Unsupported YUV colorspace");
|
||||
goto fault;
|
||||
}
|
||||
break;
|
||||
case GLES2_IMAGESOURCE_TEXTURE_NV12:
|
||||
if (SDL_ISCOLORSPACE_YUV_BT601(colorspace)) {
|
||||
if (SDL_ISCOLORSPACE_LIMITED_RANGE(colorspace)) {
|
||||
if (SDL_GetHintBoolean("SDL_RENDER_OPENGL_NV12_RG_SHADER", SDL_FALSE)) {
|
||||
ftype = GLES2_SHADER_FRAGMENT_TEXTURE_NV12_RG_BT601;
|
||||
ftype = GLES2_SHADER_FRAGMENT_TEXTURE_NV12_RG;
|
||||
} else {
|
||||
ftype = GLES2_SHADER_FRAGMENT_TEXTURE_NV12_RA_BT601;
|
||||
ftype = GLES2_SHADER_FRAGMENT_TEXTURE_NV12_RA;
|
||||
}
|
||||
} else {
|
||||
ftype = GLES2_SHADER_FRAGMENT_TEXTURE_NV12_JPEG;
|
||||
}
|
||||
} else if (SDL_ISCOLORSPACE_YUV_BT709(colorspace)) {
|
||||
if (SDL_ISCOLORSPACE_LIMITED_RANGE(colorspace)) {
|
||||
if (SDL_GetHintBoolean("SDL_RENDER_OPENGL_NV12_RG_SHADER", SDL_FALSE)) {
|
||||
ftype = GLES2_SHADER_FRAGMENT_TEXTURE_NV12_RG_BT709;
|
||||
} else {
|
||||
ftype = GLES2_SHADER_FRAGMENT_TEXTURE_NV12_RA_BT709;
|
||||
}
|
||||
} else {
|
||||
SDL_SetError("Unsupported YUV conversion mode");
|
||||
goto fault;
|
||||
}
|
||||
} else {
|
||||
SDL_SetError("Unsupported YUV conversion mode");
|
||||
shader_params = SDL_GetYCbCRtoRGBConversionMatrix(colorspace);
|
||||
if (!shader_params) {
|
||||
SDL_SetError("Unsupported YUV colorspace");
|
||||
goto fault;
|
||||
}
|
||||
break;
|
||||
case GLES2_IMAGESOURCE_TEXTURE_NV21:
|
||||
if (SDL_ISCOLORSPACE_YUV_BT601(colorspace)) {
|
||||
if (SDL_ISCOLORSPACE_LIMITED_RANGE(colorspace)) {
|
||||
ftype = GLES2_SHADER_FRAGMENT_TEXTURE_NV21_BT601;
|
||||
if (SDL_GetHintBoolean("SDL_RENDER_OPENGL_NV12_RG_SHADER", SDL_FALSE)) {
|
||||
ftype = GLES2_SHADER_FRAGMENT_TEXTURE_NV21_RG;
|
||||
} else {
|
||||
ftype = GLES2_SHADER_FRAGMENT_TEXTURE_NV21_JPEG;
|
||||
ftype = GLES2_SHADER_FRAGMENT_TEXTURE_NV21_RA;
|
||||
}
|
||||
} else if (SDL_ISCOLORSPACE_YUV_BT709(colorspace)) {
|
||||
if (SDL_ISCOLORSPACE_LIMITED_RANGE(colorspace)) {
|
||||
ftype = GLES2_SHADER_FRAGMENT_TEXTURE_NV21_BT709;
|
||||
} else {
|
||||
SDL_SetError("Unsupported YUV conversion mode");
|
||||
goto fault;
|
||||
}
|
||||
} else {
|
||||
SDL_SetError("Unsupported YUV conversion mode");
|
||||
shader_params = SDL_GetYCbCRtoRGBConversionMatrix(colorspace);
|
||||
if (!shader_params) {
|
||||
SDL_SetError("Unsupported YUV colorspace");
|
||||
goto fault;
|
||||
}
|
||||
break;
|
||||
|
@ -707,7 +687,8 @@ static int GLES2_SelectProgram(GLES2_RenderData *data, GLES2_ImageSource source,
|
|||
/* Check if we need to change programs at all */
|
||||
if (data->drawstate.program &&
|
||||
data->drawstate.program->vertex_shader == vertex &&
|
||||
data->drawstate.program->fragment_shader == fragment) {
|
||||
data->drawstate.program->fragment_shader == fragment &&
|
||||
data->drawstate.program->shader_params == shader_params) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -720,6 +701,28 @@ static int GLES2_SelectProgram(GLES2_RenderData *data, GLES2_ImageSource source,
|
|||
/* Select that program in OpenGL */
|
||||
data->glUseProgram(program->id);
|
||||
|
||||
if (shader_params && shader_params != program->shader_params) {
|
||||
/* YUV shader params are Yoffset, 0, Rcoeff, 0, Gcoeff, 0, Bcoeff, 0 */
|
||||
if (program->uniform_locations[GLES2_UNIFORM_OFFSET] != -1) {
|
||||
data->glUniform3f(program->uniform_locations[GLES2_UNIFORM_OFFSET], shader_params[0], shader_params[1], shader_params[2]);
|
||||
}
|
||||
if (program->uniform_locations[GLES2_UNIFORM_MATRIX] != -1) {
|
||||
GLfloat matrix[3 * 3];
|
||||
|
||||
matrix[0 * 3 + 0] = shader_params[4];
|
||||
matrix[0 * 3 + 1] = shader_params[5];
|
||||
matrix[0 * 3 + 2] = shader_params[6];
|
||||
matrix[1 * 3 + 0] = shader_params[8];
|
||||
matrix[1 * 3 + 1] = shader_params[9];
|
||||
matrix[1 * 3 + 2] = shader_params[10];
|
||||
matrix[2 * 3 + 0] = shader_params[12];
|
||||
matrix[2 * 3 + 1] = shader_params[13];
|
||||
matrix[2 * 3 + 2] = shader_params[14];
|
||||
data->glUniformMatrix3fv(program->uniform_locations[GLES2_UNIFORM_MATRIX], 1, GL_FALSE, matrix);
|
||||
}
|
||||
program->shader_params = shader_params;
|
||||
}
|
||||
|
||||
/* Set the current program */
|
||||
data->drawstate.program = program;
|
||||
|
||||
|
@ -1545,6 +1548,9 @@ static int GLES2_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL
|
|||
}
|
||||
SDL_SetNumberProperty(SDL_GetTextureProperties(texture), SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_U_NUMBER, data->texture_u);
|
||||
|
||||
if (!SDL_GetYCbCRtoRGBConversionMatrix(texture->colorspace)) {
|
||||
return SDL_SetError("Unsupported YUV colorspace");
|
||||
}
|
||||
} else if (data->nv12) {
|
||||
data->texture_u = (GLuint)SDL_GetNumberProperty(create_props, SDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_UV_NUMBER, 0);
|
||||
if (data->texture_u) {
|
||||
|
@ -1566,6 +1572,10 @@ static int GLES2_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL
|
|||
return -1;
|
||||
}
|
||||
SDL_SetNumberProperty(SDL_GetTextureProperties(texture), SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_UV_NUMBER, data->texture_u);
|
||||
|
||||
if (!SDL_GetYCbCRtoRGBConversionMatrix(texture->colorspace)) {
|
||||
return SDL_SetError("Unsupported YUV colorspace");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -150,41 +150,12 @@ static const char GLES2_Fragment_TextureBGR[] = \
|
|||
|
||||
#if SDL_HAVE_YUV
|
||||
|
||||
#define JPEG_SHADER_CONSTANTS \
|
||||
"// YUV offset \n" \
|
||||
"const vec3 offset = vec3(0, -0.501960814, -0.501960814);\n" \
|
||||
"\n" \
|
||||
"// RGB coefficients \n" \
|
||||
"const mat3 matrix = mat3( 1, 1, 1,\n" \
|
||||
" 0, -0.3441, 1.772,\n" \
|
||||
" 1.402, -0.7141, 0);\n" \
|
||||
"\n" \
|
||||
|
||||
#define BT601_SHADER_CONSTANTS \
|
||||
"// YUV offset \n" \
|
||||
"const vec3 offset = vec3(-0.0627451017, -0.501960814, -0.501960814);\n" \
|
||||
"\n" \
|
||||
"// RGB coefficients \n" \
|
||||
"const mat3 matrix = mat3( 1.1644, 1.1644, 1.1644,\n" \
|
||||
" 0, -0.3918, 2.0172,\n" \
|
||||
" 1.596, -0.813, 0);\n" \
|
||||
"\n" \
|
||||
|
||||
#define BT709_SHADER_CONSTANTS \
|
||||
"// YUV offset \n" \
|
||||
"const vec3 offset = vec3(-0.0627451017, -0.501960814, -0.501960814);\n" \
|
||||
"\n" \
|
||||
"// RGB coefficients \n" \
|
||||
"const mat3 matrix = mat3( 1.1644, 1.1644, 1.1644,\n" \
|
||||
" 0, -0.2132, 2.1124,\n" \
|
||||
" 1.7927, -0.5329, 0);\n" \
|
||||
"\n" \
|
||||
|
||||
|
||||
#define YUV_SHADER_PROLOGUE \
|
||||
"uniform sampler2D u_texture;\n" \
|
||||
"uniform sampler2D u_texture_u;\n" \
|
||||
"uniform sampler2D u_texture_v;\n" \
|
||||
"uniform vec3 u_offset;\n" \
|
||||
"uniform mat3 u_matrix;\n" \
|
||||
"varying mediump vec4 v_color;\n" \
|
||||
"varying SDL_TEXCOORD_PRECISION vec2 v_texCoord;\n" \
|
||||
"\n" \
|
||||
|
@ -201,8 +172,8 @@ static const char GLES2_Fragment_TextureBGR[] = \
|
|||
" yuv.z = texture2D(u_texture_v, v_texCoord).r;\n" \
|
||||
"\n" \
|
||||
" // Do the color transform \n" \
|
||||
" yuv += offset;\n" \
|
||||
" rgb = matrix * yuv;\n" \
|
||||
" yuv += u_offset;\n" \
|
||||
" rgb = yuv * u_matrix;\n" \
|
||||
"\n" \
|
||||
" // That was easy. :) \n" \
|
||||
" gl_FragColor = vec4(rgb, 1);\n" \
|
||||
|
@ -220,8 +191,8 @@ static const char GLES2_Fragment_TextureBGR[] = \
|
|||
" yuv.yz = texture2D(u_texture_u, v_texCoord).ra;\n" \
|
||||
"\n" \
|
||||
" // Do the color transform \n" \
|
||||
" yuv += offset;\n" \
|
||||
" rgb = matrix * yuv;\n" \
|
||||
" yuv += u_offset;\n" \
|
||||
" rgb = yuv * u_matrix;\n" \
|
||||
"\n" \
|
||||
" // That was easy. :) \n" \
|
||||
" gl_FragColor = vec4(rgb, 1);\n" \
|
||||
|
@ -239,15 +210,15 @@ static const char GLES2_Fragment_TextureBGR[] = \
|
|||
" yuv.yz = texture2D(u_texture_u, v_texCoord).rg;\n" \
|
||||
"\n" \
|
||||
" // Do the color transform \n" \
|
||||
" yuv += offset;\n" \
|
||||
" rgb = matrix * yuv;\n" \
|
||||
" yuv += u_offset;\n" \
|
||||
" rgb = yuv * u_matrix;\n" \
|
||||
"\n" \
|
||||
" // That was easy. :) \n" \
|
||||
" gl_FragColor = vec4(rgb, 1);\n" \
|
||||
" gl_FragColor *= v_color;\n" \
|
||||
"}" \
|
||||
|
||||
#define NV21_SHADER_BODY \
|
||||
#define NV21_RA_SHADER_BODY \
|
||||
"void main()\n" \
|
||||
"{\n" \
|
||||
" mediump vec3 yuv;\n" \
|
||||
|
@ -258,8 +229,27 @@ static const char GLES2_Fragment_TextureBGR[] = \
|
|||
" yuv.yz = texture2D(u_texture_u, v_texCoord).ar;\n" \
|
||||
"\n" \
|
||||
" // Do the color transform \n" \
|
||||
" yuv += offset;\n" \
|
||||
" rgb = matrix * yuv;\n" \
|
||||
" yuv += u_offset;\n" \
|
||||
" rgb = yuv * u_matrix;\n" \
|
||||
"\n" \
|
||||
" // That was easy. :) \n" \
|
||||
" gl_FragColor = vec4(rgb, 1);\n" \
|
||||
" gl_FragColor *= v_color;\n" \
|
||||
"}" \
|
||||
|
||||
#define NV21_RG_SHADER_BODY \
|
||||
"void main()\n" \
|
||||
"{\n" \
|
||||
" mediump vec3 yuv;\n" \
|
||||
" lowp vec3 rgb;\n" \
|
||||
"\n" \
|
||||
" // Get the YUV values \n" \
|
||||
" yuv.x = texture2D(u_texture, v_texCoord).r;\n" \
|
||||
" yuv.yz = texture2D(u_texture_u, v_texCoord).gr;\n" \
|
||||
"\n" \
|
||||
" // Do the color transform \n" \
|
||||
" yuv += u_offset;\n" \
|
||||
" rgb = yuv * u_matrix;\n" \
|
||||
"\n" \
|
||||
" // That was easy. :) \n" \
|
||||
" gl_FragColor = vec4(rgb, 1);\n" \
|
||||
|
@ -267,64 +257,29 @@ static const char GLES2_Fragment_TextureBGR[] = \
|
|||
"}" \
|
||||
|
||||
/* YUV to ABGR conversion */
|
||||
static const char GLES2_Fragment_TextureYUVJPEG[] = \
|
||||
static const char GLES2_Fragment_TextureYUV[] = \
|
||||
YUV_SHADER_PROLOGUE \
|
||||
JPEG_SHADER_CONSTANTS \
|
||||
YUV_SHADER_BODY \
|
||||
;
|
||||
static const char GLES2_Fragment_TextureYUVBT601[] = \
|
||||
YUV_SHADER_PROLOGUE \
|
||||
BT601_SHADER_CONSTANTS \
|
||||
YUV_SHADER_BODY \
|
||||
;
|
||||
static const char GLES2_Fragment_TextureYUVBT709[] = \
|
||||
YUV_SHADER_PROLOGUE \
|
||||
BT709_SHADER_CONSTANTS \
|
||||
YUV_SHADER_BODY \
|
||||
;
|
||||
|
||||
/* NV12 to ABGR conversion */
|
||||
static const char GLES2_Fragment_TextureNV12JPEG[] = \
|
||||
static const char GLES2_Fragment_TextureNV12_RA[] = \
|
||||
YUV_SHADER_PROLOGUE \
|
||||
JPEG_SHADER_CONSTANTS \
|
||||
NV12_RA_SHADER_BODY \
|
||||
;
|
||||
static const char GLES2_Fragment_TextureNV12BT601_RA[] = \
|
||||
static const char GLES2_Fragment_TextureNV12_RG[] = \
|
||||
YUV_SHADER_PROLOGUE \
|
||||
BT601_SHADER_CONSTANTS \
|
||||
NV12_RA_SHADER_BODY \
|
||||
;
|
||||
static const char GLES2_Fragment_TextureNV12BT601_RG[] = \
|
||||
YUV_SHADER_PROLOGUE \
|
||||
BT601_SHADER_CONSTANTS \
|
||||
NV12_RG_SHADER_BODY \
|
||||
;
|
||||
static const char GLES2_Fragment_TextureNV12BT709_RA[] = \
|
||||
YUV_SHADER_PROLOGUE \
|
||||
BT709_SHADER_CONSTANTS \
|
||||
NV12_RA_SHADER_BODY \
|
||||
;
|
||||
static const char GLES2_Fragment_TextureNV12BT709_RG[] = \
|
||||
YUV_SHADER_PROLOGUE \
|
||||
BT709_SHADER_CONSTANTS \
|
||||
NV12_RG_SHADER_BODY \
|
||||
;
|
||||
|
||||
/* NV21 to ABGR conversion */
|
||||
static const char GLES2_Fragment_TextureNV21JPEG[] = \
|
||||
static const char GLES2_Fragment_TextureNV21_RA[] = \
|
||||
YUV_SHADER_PROLOGUE \
|
||||
JPEG_SHADER_CONSTANTS \
|
||||
NV21_SHADER_BODY \
|
||||
NV21_RA_SHADER_BODY \
|
||||
;
|
||||
static const char GLES2_Fragment_TextureNV21BT601[] = \
|
||||
static const char GLES2_Fragment_TextureNV21_RG[] = \
|
||||
YUV_SHADER_PROLOGUE \
|
||||
BT601_SHADER_CONSTANTS \
|
||||
NV21_SHADER_BODY \
|
||||
;
|
||||
static const char GLES2_Fragment_TextureNV21BT709[] = \
|
||||
YUV_SHADER_PROLOGUE \
|
||||
BT709_SHADER_CONSTANTS \
|
||||
NV21_SHADER_BODY \
|
||||
NV21_RG_SHADER_BODY \
|
||||
;
|
||||
#endif
|
||||
|
||||
|
@ -411,28 +366,16 @@ const char *GLES2_GetShader(GLES2_ShaderType type)
|
|||
case GLES2_SHADER_FRAGMENT_TEXTURE_BGR:
|
||||
return GLES2_Fragment_TextureBGR;
|
||||
#if SDL_HAVE_YUV
|
||||
case GLES2_SHADER_FRAGMENT_TEXTURE_YUV_JPEG:
|
||||
return GLES2_Fragment_TextureYUVJPEG;
|
||||
case GLES2_SHADER_FRAGMENT_TEXTURE_YUV_BT601:
|
||||
return GLES2_Fragment_TextureYUVBT601;
|
||||
case GLES2_SHADER_FRAGMENT_TEXTURE_YUV_BT709:
|
||||
return GLES2_Fragment_TextureYUVBT709;
|
||||
case GLES2_SHADER_FRAGMENT_TEXTURE_NV12_JPEG:
|
||||
return GLES2_Fragment_TextureNV12JPEG;
|
||||
case GLES2_SHADER_FRAGMENT_TEXTURE_NV12_RA_BT601:
|
||||
return GLES2_Fragment_TextureNV12BT601_RA;
|
||||
case GLES2_SHADER_FRAGMENT_TEXTURE_NV12_RG_BT601:
|
||||
return GLES2_Fragment_TextureNV12BT601_RG;
|
||||
case GLES2_SHADER_FRAGMENT_TEXTURE_NV12_RA_BT709:
|
||||
return GLES2_Fragment_TextureNV12BT709_RA;
|
||||
case GLES2_SHADER_FRAGMENT_TEXTURE_NV12_RG_BT709:
|
||||
return GLES2_Fragment_TextureNV12BT709_RG;
|
||||
case GLES2_SHADER_FRAGMENT_TEXTURE_NV21_JPEG:
|
||||
return GLES2_Fragment_TextureNV21JPEG;
|
||||
case GLES2_SHADER_FRAGMENT_TEXTURE_NV21_BT601:
|
||||
return GLES2_Fragment_TextureNV21BT601;
|
||||
case GLES2_SHADER_FRAGMENT_TEXTURE_NV21_BT709:
|
||||
return GLES2_Fragment_TextureNV21BT709;
|
||||
case GLES2_SHADER_FRAGMENT_TEXTURE_YUV:
|
||||
return GLES2_Fragment_TextureYUV;
|
||||
case GLES2_SHADER_FRAGMENT_TEXTURE_NV12_RA:
|
||||
return GLES2_Fragment_TextureNV12_RA;
|
||||
case GLES2_SHADER_FRAGMENT_TEXTURE_NV12_RG:
|
||||
return GLES2_Fragment_TextureNV12_RG;
|
||||
case GLES2_SHADER_FRAGMENT_TEXTURE_NV21_RA:
|
||||
return GLES2_Fragment_TextureNV21_RA;
|
||||
case GLES2_SHADER_FRAGMENT_TEXTURE_NV21_RG:
|
||||
return GLES2_Fragment_TextureNV21_RG;
|
||||
#endif
|
||||
case GLES2_SHADER_FRAGMENT_TEXTURE_EXTERNAL_OES:
|
||||
return GLES2_Fragment_TextureExternalOES;
|
||||
|
|
|
@ -44,17 +44,11 @@ typedef enum
|
|||
GLES2_SHADER_FRAGMENT_TEXTURE_BGR,
|
||||
GLES2_SHADER_FRAGMENT_TEXTURE_RGB,
|
||||
#if SDL_HAVE_YUV
|
||||
GLES2_SHADER_FRAGMENT_TEXTURE_YUV_JPEG,
|
||||
GLES2_SHADER_FRAGMENT_TEXTURE_YUV_BT601,
|
||||
GLES2_SHADER_FRAGMENT_TEXTURE_YUV_BT709,
|
||||
GLES2_SHADER_FRAGMENT_TEXTURE_NV12_JPEG,
|
||||
GLES2_SHADER_FRAGMENT_TEXTURE_NV12_RA_BT601,
|
||||
GLES2_SHADER_FRAGMENT_TEXTURE_NV12_RG_BT601,
|
||||
GLES2_SHADER_FRAGMENT_TEXTURE_NV12_RA_BT709,
|
||||
GLES2_SHADER_FRAGMENT_TEXTURE_NV12_RG_BT709,
|
||||
GLES2_SHADER_FRAGMENT_TEXTURE_NV21_JPEG,
|
||||
GLES2_SHADER_FRAGMENT_TEXTURE_NV21_BT601,
|
||||
GLES2_SHADER_FRAGMENT_TEXTURE_NV21_BT709,
|
||||
GLES2_SHADER_FRAGMENT_TEXTURE_YUV,
|
||||
GLES2_SHADER_FRAGMENT_TEXTURE_NV12_RA,
|
||||
GLES2_SHADER_FRAGMENT_TEXTURE_NV12_RG,
|
||||
GLES2_SHADER_FRAGMENT_TEXTURE_NV21_RA,
|
||||
GLES2_SHADER_FRAGMENT_TEXTURE_NV21_RG,
|
||||
#endif
|
||||
/* Shaders beyond this point are optional and not cached at render creation */
|
||||
GLES2_SHADER_FRAGMENT_TEXTURE_EXTERNAL_OES,
|
||||
|
|
|
@ -353,7 +353,7 @@ static void VITA_GXM_SetYUVProfile(SDL_Renderer *renderer, SDL_Texture *texture)
|
|||
ret = sceGxmSetYuvProfile(data->gxm_context, 0, SCE_GXM_YUV_PROFILE_BT709_FULL_RANGE);
|
||||
}
|
||||
} else {
|
||||
SDL_LogError(SDL_LOG_CATEGORY_RENDER, "Unsupported YUV conversion mode\n");
|
||||
SDL_LogError(SDL_LOG_CATEGORY_RENDER, "Unsupported YUV colorspace\n");
|
||||
}
|
||||
|
||||
if (ret < 0) {
|
||||
|
|
|
@ -764,6 +764,63 @@ float SDL_PQfromNits(float v)
|
|||
return pow(num / den, m2);
|
||||
}
|
||||
|
||||
const float *SDL_GetYCbCRtoRGBConversionMatrix(SDL_Colorspace colorspace)
|
||||
{
|
||||
static const float matBT601Limited[] = {
|
||||
-0.0627451017f, -0.501960814f, -0.501960814f, 0.0f, /* offset */
|
||||
1.1644f, 0.0000f, 1.5960f, 0.0f, /* Rcoeff */
|
||||
1.1644f, -0.3918f, -0.8130f, 0.0f, /* Gcoeff */
|
||||
1.1644f, 2.0172f, 0.0000f, 0.0f, /* Bcoeff */
|
||||
};
|
||||
|
||||
static const float matBT601Full[] = {
|
||||
0.0f, -0.501960814f, -0.501960814f, 0.0f, /* offset */
|
||||
1.0000f, 0.0000f, 1.4020f, 0.0f, /* Rcoeff */
|
||||
1.0000f, -0.3441f, -0.7141f, 0.0f, /* Gcoeff */
|
||||
1.0000f, 1.7720f, 0.0000f, 0.0f, /* Bcoeff */
|
||||
};
|
||||
|
||||
static const float matBT709Limited[] = {
|
||||
-0.0627451017f, -0.501960814f, -0.501960814f, 0.0f, /* offset */
|
||||
1.1644f, 0.0000f, 1.7927f, 0.0f, /* Rcoeff */
|
||||
1.1644f, -0.2132f, -0.5329f, 0.0f, /* Gcoeff */
|
||||
1.1644f, 2.1124f, 0.0000f, 0.0f, /* Bcoeff */
|
||||
};
|
||||
|
||||
static const float matBT709Full[] = {
|
||||
0.0f, -0.501960814f, -0.501960814f, 0.0f, /* offset */
|
||||
1.0000f, 0.0000f, 1.5748f, 0.0f, /* Rcoeff */
|
||||
1.0000f, -0.1873f, -0.4681f, 0.0f, /* Gcoeff */
|
||||
1.0000f, 1.8556f, 0.0000f, 0.0f, /* Bcoeff */
|
||||
};
|
||||
|
||||
switch (SDL_COLORSPACEMATRIX(colorspace)) {
|
||||
case SDL_MATRIX_COEFFICIENTS_BT601:
|
||||
switch (SDL_COLORSPACERANGE(colorspace)) {
|
||||
case SDL_COLOR_RANGE_LIMITED:
|
||||
return matBT601Limited;
|
||||
case SDL_COLOR_RANGE_FULL:
|
||||
return matBT601Full;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SDL_MATRIX_COEFFICIENTS_BT709:
|
||||
switch (SDL_COLORSPACERANGE(colorspace)) {
|
||||
case SDL_COLOR_RANGE_LIMITED:
|
||||
return matBT709Limited;
|
||||
case SDL_COLOR_RANGE_FULL:
|
||||
return matBT709Full;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const float *SDL_GetColorPrimariesConversionMatrix(SDL_ColorPrimaries src, SDL_ColorPrimaries dst)
|
||||
{
|
||||
/* Conversion matrices generated using gamescope color helpers and the primaries definitions at:
|
||||
|
|
|
@ -40,6 +40,7 @@ extern float SDL_sRGBtoNits(float v);
|
|||
extern float SDL_sRGBfromNits(float v);
|
||||
extern float SDL_PQtoNits(float v);
|
||||
extern float SDL_PQfromNits(float v);
|
||||
extern const float *SDL_GetYCbCRtoRGBConversionMatrix(SDL_Colorspace colorspace);
|
||||
extern const float *SDL_GetColorPrimariesConversionMatrix(SDL_ColorPrimaries src, SDL_ColorPrimaries dst);
|
||||
extern void SDL_ConvertColorPrimaries(float *fR, float *fG, float *fB, const float *matrix);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue