mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-09-13 09:16:14 -07:00
demos/gears: Recompile shaders with our compiler.
This commit is contained in:
parent
763f7dfa61
commit
3d85d77ced
Notes:
Alexandre Julliard
2022-10-18 00:13:00 +02:00
Approved-by: Zebediah Figura (@zfigura) Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/23
@ -48,9 +48,7 @@
|
|||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include "demo.h"
|
#include "demo.h"
|
||||||
|
|
||||||
#include "gears_vs.h"
|
#include "gears_hlsl.h"
|
||||||
#include "gears_ps_flat.h"
|
|
||||||
#include "gears_ps_smooth.h"
|
|
||||||
|
|
||||||
struct cxg_fence
|
struct cxg_fence
|
||||||
{
|
{
|
||||||
@ -659,6 +657,7 @@ static void cxg_load_assets(struct cx_gears *cxg)
|
|||||||
D3D12_GRAPHICS_PIPELINE_STATE_DESC pso_desc;
|
D3D12_GRAPHICS_PIPELINE_STATE_DESC pso_desc;
|
||||||
D3D12_CPU_DESCRIPTOR_HANDLE dsv_handle;
|
D3D12_CPU_DESCRIPTOR_HANDLE dsv_handle;
|
||||||
D3D12_ROOT_PARAMETER root_parameter;
|
D3D12_ROOT_PARAMETER root_parameter;
|
||||||
|
ID3DBlob *vs, *ps_flat, *ps_smooth;
|
||||||
D3D12_RESOURCE_DESC resource_desc;
|
D3D12_RESOURCE_DESC resource_desc;
|
||||||
D3D12_HEAP_PROPERTIES heap_desc;
|
D3D12_HEAP_PROPERTIES heap_desc;
|
||||||
D3D12_RANGE read_range = {0, 0};
|
D3D12_RANGE read_range = {0, 0};
|
||||||
@ -682,14 +681,21 @@ static void cxg_load_assets(struct cx_gears *cxg)
|
|||||||
hr = demo_create_root_signature(cxg->device, &root_signature_desc, &cxg->root_signature);
|
hr = demo_create_root_signature(cxg->device, &root_signature_desc, &cxg->root_signature);
|
||||||
assert(SUCCEEDED(hr));
|
assert(SUCCEEDED(hr));
|
||||||
|
|
||||||
|
hr = D3DCompile(gears_hlsl, strlen(gears_hlsl), NULL, NULL, NULL, "vs_main", "vs_5_0", 0, 0, &vs, NULL);
|
||||||
|
assert(SUCCEEDED(hr));
|
||||||
|
hr = D3DCompile(gears_hlsl, strlen(gears_hlsl), NULL, NULL, NULL, "ps_main_flat", "ps_5_0", 0, 0, &ps_flat, NULL);
|
||||||
|
assert(SUCCEEDED(hr));
|
||||||
|
hr = D3DCompile(gears_hlsl, strlen(gears_hlsl), NULL, NULL, NULL, "ps_main_smooth", "ps_5_0", 0, 0, &ps_smooth, NULL);
|
||||||
|
assert(SUCCEEDED(hr));
|
||||||
|
|
||||||
memset(&pso_desc, 0, sizeof(pso_desc));
|
memset(&pso_desc, 0, sizeof(pso_desc));
|
||||||
pso_desc.InputLayout.pInputElementDescs = il_desc;
|
pso_desc.InputLayout.pInputElementDescs = il_desc;
|
||||||
pso_desc.InputLayout.NumElements = ARRAY_SIZE(il_desc);
|
pso_desc.InputLayout.NumElements = ARRAY_SIZE(il_desc);
|
||||||
pso_desc.pRootSignature = cxg->root_signature;
|
pso_desc.pRootSignature = cxg->root_signature;
|
||||||
pso_desc.VS.pShaderBytecode = g_vs_main;
|
pso_desc.VS.pShaderBytecode = ID3D10Blob_GetBufferPointer(vs);
|
||||||
pso_desc.VS.BytecodeLength = sizeof(g_vs_main);
|
pso_desc.VS.BytecodeLength = ID3D10Blob_GetBufferSize(vs);
|
||||||
pso_desc.PS.pShaderBytecode = g_ps_main_flat;
|
pso_desc.PS.pShaderBytecode = ID3D10Blob_GetBufferPointer(ps_flat);
|
||||||
pso_desc.PS.BytecodeLength = sizeof(g_ps_main_flat);
|
pso_desc.PS.BytecodeLength = ID3D10Blob_GetBufferSize(ps_flat);
|
||||||
|
|
||||||
demo_rasterizer_desc_init_default(&pso_desc.RasterizerState);
|
demo_rasterizer_desc_init_default(&pso_desc.RasterizerState);
|
||||||
pso_desc.RasterizerState.FrontCounterClockwise = TRUE;
|
pso_desc.RasterizerState.FrontCounterClockwise = TRUE;
|
||||||
@ -708,12 +714,16 @@ static void cxg_load_assets(struct cx_gears *cxg)
|
|||||||
&IID_ID3D12PipelineState, (void **)&cxg->pipeline_state_flat);
|
&IID_ID3D12PipelineState, (void **)&cxg->pipeline_state_flat);
|
||||||
assert(SUCCEEDED(hr));
|
assert(SUCCEEDED(hr));
|
||||||
|
|
||||||
pso_desc.PS.pShaderBytecode = g_ps_main_smooth;
|
pso_desc.PS.pShaderBytecode = ID3D10Blob_GetBufferPointer(ps_smooth);
|
||||||
pso_desc.PS.BytecodeLength = sizeof(g_ps_main_smooth);
|
pso_desc.PS.BytecodeLength = ID3D10Blob_GetBufferSize(ps_smooth);
|
||||||
hr = ID3D12Device_CreateGraphicsPipelineState(cxg->device, &pso_desc,
|
hr = ID3D12Device_CreateGraphicsPipelineState(cxg->device, &pso_desc,
|
||||||
&IID_ID3D12PipelineState, (void **)&cxg->pipeline_state_smooth);
|
&IID_ID3D12PipelineState, (void **)&cxg->pipeline_state_smooth);
|
||||||
assert(SUCCEEDED(hr));
|
assert(SUCCEEDED(hr));
|
||||||
|
|
||||||
|
ID3D10Blob_Release(vs);
|
||||||
|
ID3D10Blob_Release(ps_flat);
|
||||||
|
ID3D10Blob_Release(ps_smooth);
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(cxg->command_list); ++i)
|
for (i = 0; i < ARRAY_SIZE(cxg->command_list); ++i)
|
||||||
{
|
{
|
||||||
hr = ID3D12Device_CreateCommandList(cxg->device, 0, D3D12_COMMAND_LIST_TYPE_DIRECT,
|
hr = ID3D12Device_CreateCommandList(cxg->device, 0, D3D12_COMMAND_LIST_TYPE_DIRECT,
|
||||||
|
@ -1,55 +0,0 @@
|
|||||||
cbuffer gear_block : register(b0)
|
|
||||||
{
|
|
||||||
float4x4 mvp_matrix;
|
|
||||||
float3x3 normal_matrix;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct vs_in
|
|
||||||
{
|
|
||||||
float4 position : POSITION;
|
|
||||||
float3 normal : NORMAL;
|
|
||||||
float3 diffuse : DIFFUSE;
|
|
||||||
float4 transform : TRANSFORM;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct vs_out
|
|
||||||
{
|
|
||||||
float4 position : SV_POSITION;
|
|
||||||
float4 colour : COLOR;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct vs_out vs_main(struct vs_in i)
|
|
||||||
{
|
|
||||||
const float3 l_pos = float3(5.0, 5.0, 10.0);
|
|
||||||
float3 dir, normal;
|
|
||||||
float4 position;
|
|
||||||
struct vs_out o;
|
|
||||||
float att;
|
|
||||||
|
|
||||||
position.x = i.transform.x * i.position.x - i.transform.y * i.position.y + i.transform.z;
|
|
||||||
position.y = i.transform.x * i.position.y + i.transform.y * i.position.x + i.transform.w;
|
|
||||||
position.zw = i.position.zw;
|
|
||||||
|
|
||||||
o.position = mul(mvp_matrix, position);
|
|
||||||
dir = normalize(l_pos - o.position.xyz / o.position.w);
|
|
||||||
|
|
||||||
normal.x = i.transform.x * i.normal.x - i.transform.y * i.normal.y;
|
|
||||||
normal.y = i.transform.x * i.normal.y + i.transform.y * i.normal.x;
|
|
||||||
normal.z = i.normal.z;
|
|
||||||
att = 0.2 + dot(dir, normalize(mul(normal_matrix, normal)));
|
|
||||||
|
|
||||||
o.colour.xyz = i.diffuse.xyz * att;
|
|
||||||
o.colour.w = 1.0;
|
|
||||||
|
|
||||||
return o;
|
|
||||||
}
|
|
||||||
|
|
||||||
float4 ps_main_smooth(float4 position : SV_POSITION, float4 colour : COLOR) : SV_TARGET
|
|
||||||
{
|
|
||||||
return colour;
|
|
||||||
}
|
|
||||||
|
|
||||||
float4 ps_main_flat(float4 position : SV_POSITION, nointerpolation float4 colour : COLOR) : SV_TARGET
|
|
||||||
{
|
|
||||||
return colour;
|
|
||||||
}
|
|
56
demos/gears_hlsl.h
Normal file
56
demos/gears_hlsl.h
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
static const char gears_hlsl[] =
|
||||||
|
"cbuffer gear_block : register(b0)\n"
|
||||||
|
"{\n"
|
||||||
|
" float4x4 mvp_matrix;\n"
|
||||||
|
" float3x3 normal_matrix;\n"
|
||||||
|
"};\n"
|
||||||
|
"\n"
|
||||||
|
"struct vs_in\n"
|
||||||
|
"{\n"
|
||||||
|
" float4 position : POSITION;\n"
|
||||||
|
" float3 normal : NORMAL;\n"
|
||||||
|
" float3 diffuse : DIFFUSE;\n"
|
||||||
|
" float4 transform : TRANSFORM;\n"
|
||||||
|
"};\n"
|
||||||
|
"\n"
|
||||||
|
"struct vs_out\n"
|
||||||
|
"{\n"
|
||||||
|
" float4 position : SV_POSITION;\n"
|
||||||
|
" float4 colour : COLOR;\n"
|
||||||
|
"};\n"
|
||||||
|
"\n"
|
||||||
|
"struct vs_out vs_main(struct vs_in i)\n"
|
||||||
|
"{\n"
|
||||||
|
" const float3 l_pos = float3(5.0, 5.0, 10.0);\n"
|
||||||
|
" float3 dir, normal;\n"
|
||||||
|
" float4 position;\n"
|
||||||
|
" struct vs_out o;\n"
|
||||||
|
" float att;\n"
|
||||||
|
"\n"
|
||||||
|
" position.x = i.transform.x * i.position.x - i.transform.y * i.position.y + i.transform.z;\n"
|
||||||
|
" position.y = i.transform.x * i.position.y + i.transform.y * i.position.x + i.transform.w;\n"
|
||||||
|
" position.zw = i.position.zw;\n"
|
||||||
|
"\n"
|
||||||
|
" o.position = mul(mvp_matrix, position);\n"
|
||||||
|
" dir = normalize(l_pos - o.position.xyz / o.position.w);\n"
|
||||||
|
"\n"
|
||||||
|
" normal.x = i.transform.x * i.normal.x - i.transform.y * i.normal.y;\n"
|
||||||
|
" normal.y = i.transform.x * i.normal.y + i.transform.y * i.normal.x;\n"
|
||||||
|
" normal.z = i.normal.z;\n"
|
||||||
|
" att = 0.2 + dot(dir, normalize(mul(normal_matrix, normal)));\n"
|
||||||
|
"\n"
|
||||||
|
" o.colour.xyz = i.diffuse.xyz * att;\n"
|
||||||
|
" o.colour.w = 1.0;\n"
|
||||||
|
"\n"
|
||||||
|
" return o;\n"
|
||||||
|
"}\n"
|
||||||
|
"\n"
|
||||||
|
"float4 ps_main_smooth(float4 position : SV_POSITION, float4 colour : COLOR) : SV_TARGET\n"
|
||||||
|
"{\n"
|
||||||
|
" return colour;\n"
|
||||||
|
"}\n"
|
||||||
|
"\n"
|
||||||
|
"float4 ps_main_flat(float4 position : SV_POSITION, nointerpolation float4 colour : COLOR) : SV_TARGET\n"
|
||||||
|
"{\n"
|
||||||
|
" return colour;\n"
|
||||||
|
"}\n";
|
@ -1,73 +0,0 @@
|
|||||||
#if 0
|
|
||||||
//
|
|
||||||
// Generated by Microsoft (R) D3D Shader Disassembler
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// Input signature:
|
|
||||||
//
|
|
||||||
// Name Index Mask Register SysValue Format Used
|
|
||||||
// -------------------- ----- ------ -------- -------- ------- ------
|
|
||||||
// SV_POSITION 0 xyzw 0 POS float
|
|
||||||
// COLOR 0 xyzw 1 NONE float xyzw
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// Output signature:
|
|
||||||
//
|
|
||||||
// Name Index Mask Register SysValue Format Used
|
|
||||||
// -------------------- ----- ------ -------- -------- ------- ------
|
|
||||||
// SV_TARGET 0 xyzw 0 TARGET float xyzw
|
|
||||||
//
|
|
||||||
ps_5_0
|
|
||||||
dcl_globalFlags refactoringAllowed
|
|
||||||
dcl_input_ps constant v1.xyzw
|
|
||||||
dcl_output o0.xyzw
|
|
||||||
mov o0.xyzw, v1.xyzw
|
|
||||||
ret
|
|
||||||
// Approximately 0 instruction slots used
|
|
||||||
#endif
|
|
||||||
|
|
||||||
const BYTE g_ps_main_flat[] =
|
|
||||||
{
|
|
||||||
68, 88, 66, 67, 254, 211,
|
|
||||||
50, 72, 228, 208, 73, 13,
|
|
||||||
143, 221, 134, 105, 6, 165,
|
|
||||||
26, 140, 1, 0, 0, 0,
|
|
||||||
248, 0, 0, 0, 3, 0,
|
|
||||||
0, 0, 44, 0, 0, 0,
|
|
||||||
128, 0, 0, 0, 180, 0,
|
|
||||||
0, 0, 73, 83, 71, 78,
|
|
||||||
76, 0, 0, 0, 2, 0,
|
|
||||||
0, 0, 8, 0, 0, 0,
|
|
||||||
56, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
3, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 15, 0, 0, 0,
|
|
||||||
68, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
3, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 15, 15, 0, 0,
|
|
||||||
83, 86, 95, 80, 79, 83,
|
|
||||||
73, 84, 73, 79, 78, 0,
|
|
||||||
67, 79, 76, 79, 82, 0,
|
|
||||||
171, 171, 79, 83, 71, 78,
|
|
||||||
44, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 8, 0, 0, 0,
|
|
||||||
32, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
3, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 15, 0, 0, 0,
|
|
||||||
83, 86, 95, 84, 65, 82,
|
|
||||||
71, 69, 84, 0, 171, 171,
|
|
||||||
83, 72, 69, 88, 60, 0,
|
|
||||||
0, 0, 80, 0, 0, 0,
|
|
||||||
15, 0, 0, 0, 106, 8,
|
|
||||||
0, 1, 98, 8, 0, 3,
|
|
||||||
242, 16, 16, 0, 1, 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,
|
|
||||||
1, 0, 0, 0, 62, 0,
|
|
||||||
0, 1
|
|
||||||
};
|
|
@ -1,73 +0,0 @@
|
|||||||
#if 0
|
|
||||||
//
|
|
||||||
// Generated by Microsoft (R) D3D Shader Disassembler
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// Input signature:
|
|
||||||
//
|
|
||||||
// Name Index Mask Register SysValue Format Used
|
|
||||||
// -------------------- ----- ------ -------- -------- ------- ------
|
|
||||||
// SV_POSITION 0 xyzw 0 POS float
|
|
||||||
// COLOR 0 xyzw 1 NONE float xyzw
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// Output signature:
|
|
||||||
//
|
|
||||||
// Name Index Mask Register SysValue Format Used
|
|
||||||
// -------------------- ----- ------ -------- -------- ------- ------
|
|
||||||
// SV_TARGET 0 xyzw 0 TARGET float xyzw
|
|
||||||
//
|
|
||||||
ps_5_0
|
|
||||||
dcl_globalFlags refactoringAllowed
|
|
||||||
dcl_input_ps linear v1.xyzw
|
|
||||||
dcl_output o0.xyzw
|
|
||||||
mov o0.xyzw, v1.xyzw
|
|
||||||
ret
|
|
||||||
// Approximately 0 instruction slots used
|
|
||||||
#endif
|
|
||||||
|
|
||||||
const BYTE g_ps_main_smooth[] =
|
|
||||||
{
|
|
||||||
68, 88, 66, 67, 80, 239,
|
|
||||||
109, 26, 0, 147, 6, 156,
|
|
||||||
240, 104, 206, 124, 185, 57,
|
|
||||||
18, 98, 1, 0, 0, 0,
|
|
||||||
248, 0, 0, 0, 3, 0,
|
|
||||||
0, 0, 44, 0, 0, 0,
|
|
||||||
128, 0, 0, 0, 180, 0,
|
|
||||||
0, 0, 73, 83, 71, 78,
|
|
||||||
76, 0, 0, 0, 2, 0,
|
|
||||||
0, 0, 8, 0, 0, 0,
|
|
||||||
56, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
3, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 15, 0, 0, 0,
|
|
||||||
68, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
3, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 15, 15, 0, 0,
|
|
||||||
83, 86, 95, 80, 79, 83,
|
|
||||||
73, 84, 73, 79, 78, 0,
|
|
||||||
67, 79, 76, 79, 82, 0,
|
|
||||||
171, 171, 79, 83, 71, 78,
|
|
||||||
44, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 8, 0, 0, 0,
|
|
||||||
32, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
3, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 15, 0, 0, 0,
|
|
||||||
83, 86, 95, 84, 65, 82,
|
|
||||||
71, 69, 84, 0, 171, 171,
|
|
||||||
83, 72, 69, 88, 60, 0,
|
|
||||||
0, 0, 80, 0, 0, 0,
|
|
||||||
15, 0, 0, 0, 106, 8,
|
|
||||||
0, 1, 98, 16, 0, 3,
|
|
||||||
242, 16, 16, 0, 1, 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,
|
|
||||||
1, 0, 0, 0, 62, 0,
|
|
||||||
0, 1
|
|
||||||
};
|
|
272
demos/gears_vs.h
272
demos/gears_vs.h
@ -1,272 +0,0 @@
|
|||||||
#if 0
|
|
||||||
//
|
|
||||||
// Generated by Microsoft (R) D3D Shader Disassembler
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// Input signature:
|
|
||||||
//
|
|
||||||
// Name Index Mask Register SysValue Format Used
|
|
||||||
// -------------------- ----- ------ -------- -------- ------- ------
|
|
||||||
// POSITION 0 xyzw 0 NONE float xyzw
|
|
||||||
// NORMAL 0 xyz 1 NONE float xyz
|
|
||||||
// DIFFUSE 0 xyz 2 NONE float xyz
|
|
||||||
// TRANSFORM 0 xyzw 3 NONE float xyzw
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// Output signature:
|
|
||||||
//
|
|
||||||
// Name Index Mask Register SysValue Format Used
|
|
||||||
// -------------------- ----- ------ -------- -------- ------- ------
|
|
||||||
// SV_POSITION 0 xyzw 0 POS float xyzw
|
|
||||||
// COLOR 0 xyzw 1 NONE float xyzw
|
|
||||||
//
|
|
||||||
vs_5_0
|
|
||||||
dcl_globalFlags refactoringAllowed
|
|
||||||
dcl_constantbuffer CB0[7], immediateIndexed
|
|
||||||
dcl_input v0.xyzw
|
|
||||||
dcl_input v1.xyz
|
|
||||||
dcl_input v2.xyz
|
|
||||||
dcl_input v3.xyzw
|
|
||||||
dcl_output_siv o0.xyzw, position
|
|
||||||
dcl_output o1.xyzw
|
|
||||||
dcl_temps 2
|
|
||||||
mul r0.x, v0.y, v3.y
|
|
||||||
mad r0.x, v3.x, v0.x, -r0.x
|
|
||||||
dp2 r0.y, v3.yxyy, v0.xyxx
|
|
||||||
add r0.xy, r0.xyxx, v3.zwzz
|
|
||||||
mul r1.xyzw, r0.yyyy, cb0[1].xyzw
|
|
||||||
mad r0.xyzw, cb0[0].xyzw, r0.xxxx, r1.xyzw
|
|
||||||
mad r0.xyzw, cb0[2].xyzw, v0.zzzz, r0.xyzw
|
|
||||||
mad r0.xyzw, cb0[3].xyzw, v0.wwww, r0.xyzw
|
|
||||||
mov o0.xyzw, r0.xyzw
|
|
||||||
div r0.xyz, r0.xyzx, r0.wwww
|
|
||||||
add r0.xyz, -r0.xyzx, l(5.000000, 5.000000, 10.000000, 0.000000)
|
|
||||||
dp3 r0.w, r0.xyzx, r0.xyzx
|
|
||||||
rsq r0.w, r0.w
|
|
||||||
mul r0.xyz, r0.wwww, r0.xyzx
|
|
||||||
mul r0.w, v1.y, v3.y
|
|
||||||
mad r0.w, v3.x, v1.x, -r0.w
|
|
||||||
dp2 r1.x, v3.yxyy, v1.xyxx
|
|
||||||
mul r1.xyz, r1.xxxx, cb0[5].xyzx
|
|
||||||
mad r1.xyz, cb0[4].xyzx, r0.wwww, r1.xyzx
|
|
||||||
mad r1.xyz, cb0[6].xyzx, v1.zzzz, r1.xyzx
|
|
||||||
dp3 r0.w, r1.xyzx, r1.xyzx
|
|
||||||
rsq r0.w, r0.w
|
|
||||||
mul r1.xyz, r0.wwww, r1.xyzx
|
|
||||||
dp3 r0.x, r0.xyzx, r1.xyzx
|
|
||||||
add r0.x, r0.x, l(0.200000)
|
|
||||||
mul o1.xyz, r0.xxxx, v2.xyzx
|
|
||||||
mov o1.w, l(1.000000)
|
|
||||||
ret
|
|
||||||
// Approximately 0 instruction slots used
|
|
||||||
#endif
|
|
||||||
|
|
||||||
const BYTE g_vs_main[] =
|
|
||||||
{
|
|
||||||
68, 88, 66, 67, 82, 90,
|
|
||||||
22, 185, 41, 66, 113, 173,
|
|
||||||
43, 53, 199, 35, 30, 50,
|
|
||||||
78, 7, 1, 0, 0, 0,
|
|
||||||
208, 4, 0, 0, 3, 0,
|
|
||||||
0, 0, 44, 0, 0, 0,
|
|
||||||
192, 0, 0, 0, 20, 1,
|
|
||||||
0, 0, 73, 83, 71, 78,
|
|
||||||
140, 0, 0, 0, 4, 0,
|
|
||||||
0, 0, 8, 0, 0, 0,
|
|
||||||
104, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
3, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 15, 15, 0, 0,
|
|
||||||
113, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
3, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 7, 7, 0, 0,
|
|
||||||
120, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
3, 0, 0, 0, 2, 0,
|
|
||||||
0, 0, 7, 7, 0, 0,
|
|
||||||
128, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
3, 0, 0, 0, 3, 0,
|
|
||||||
0, 0, 15, 15, 0, 0,
|
|
||||||
80, 79, 83, 73, 84, 73,
|
|
||||||
79, 78, 0, 78, 79, 82,
|
|
||||||
77, 65, 76, 0, 68, 73,
|
|
||||||
70, 70, 85, 83, 69, 0,
|
|
||||||
84, 82, 65, 78, 83, 70,
|
|
||||||
79, 82, 77, 0, 171, 171,
|
|
||||||
79, 83, 71, 78, 76, 0,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
8, 0, 0, 0, 56, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 3, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
15, 0, 0, 0, 68, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 3, 0,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
15, 0, 0, 0, 83, 86,
|
|
||||||
95, 80, 79, 83, 73, 84,
|
|
||||||
73, 79, 78, 0, 67, 79,
|
|
||||||
76, 79, 82, 0, 171, 171,
|
|
||||||
83, 72, 69, 88, 180, 3,
|
|
||||||
0, 0, 80, 0, 1, 0,
|
|
||||||
237, 0, 0, 0, 106, 8,
|
|
||||||
0, 1, 89, 0, 0, 4,
|
|
||||||
70, 142, 32, 0, 0, 0,
|
|
||||||
0, 0, 7, 0, 0, 0,
|
|
||||||
95, 0, 0, 3, 242, 16,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
95, 0, 0, 3, 114, 16,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
95, 0, 0, 3, 114, 16,
|
|
||||||
16, 0, 2, 0, 0, 0,
|
|
||||||
95, 0, 0, 3, 242, 16,
|
|
||||||
16, 0, 3, 0, 0, 0,
|
|
||||||
103, 0, 0, 4, 242, 32,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 101, 0,
|
|
||||||
0, 3, 242, 32, 16, 0,
|
|
||||||
1, 0, 0, 0, 104, 0,
|
|
||||||
0, 2, 2, 0, 0, 0,
|
|
||||||
56, 0, 0, 7, 18, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
26, 16, 16, 0, 0, 0,
|
|
||||||
0, 0, 26, 16, 16, 0,
|
|
||||||
3, 0, 0, 0, 50, 0,
|
|
||||||
0, 10, 18, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 10, 16,
|
|
||||||
16, 0, 3, 0, 0, 0,
|
|
||||||
10, 16, 16, 0, 0, 0,
|
|
||||||
0, 0, 10, 0, 16, 128,
|
|
||||||
65, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 15, 0, 0, 7,
|
|
||||||
34, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 22, 21, 16, 0,
|
|
||||||
3, 0, 0, 0, 70, 16,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 7, 50, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
70, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 230, 26, 16, 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, 1, 0, 0, 0,
|
|
||||||
50, 0, 0, 10, 242, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
70, 142, 32, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
6, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 70, 14, 16, 0,
|
|
||||||
1, 0, 0, 0, 50, 0,
|
|
||||||
0, 10, 242, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 70, 142,
|
|
||||||
32, 0, 0, 0, 0, 0,
|
|
||||||
2, 0, 0, 0, 166, 26,
|
|
||||||
16, 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, 70, 142, 32, 0,
|
|
||||||
0, 0, 0, 0, 3, 0,
|
|
||||||
0, 0, 246, 31, 16, 0,
|
|
||||||
0, 0, 0, 0, 70, 14,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
54, 0, 0, 5, 242, 32,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
70, 14, 16, 0, 0, 0,
|
|
||||||
0, 0, 14, 0, 0, 7,
|
|
||||||
114, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 70, 2, 16, 0,
|
|
||||||
0, 0, 0, 0, 246, 15,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 11, 114, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
70, 2, 16, 128, 65, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
2, 64, 0, 0, 0, 0,
|
|
||||||
160, 64, 0, 0, 160, 64,
|
|
||||||
0, 0, 32, 65, 0, 0,
|
|
||||||
0, 0, 16, 0, 0, 7,
|
|
||||||
130, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 70, 2, 16, 0,
|
|
||||||
0, 0, 0, 0, 70, 2,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
68, 0, 0, 5, 130, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
58, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 56, 0, 0, 7,
|
|
||||||
114, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 246, 15, 16, 0,
|
|
||||||
0, 0, 0, 0, 70, 2,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
56, 0, 0, 7, 130, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
26, 16, 16, 0, 1, 0,
|
|
||||||
0, 0, 26, 16, 16, 0,
|
|
||||||
3, 0, 0, 0, 50, 0,
|
|
||||||
0, 10, 130, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 10, 16,
|
|
||||||
16, 0, 3, 0, 0, 0,
|
|
||||||
10, 16, 16, 0, 1, 0,
|
|
||||||
0, 0, 58, 0, 16, 128,
|
|
||||||
65, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 15, 0, 0, 7,
|
|
||||||
18, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 22, 21, 16, 0,
|
|
||||||
3, 0, 0, 0, 70, 16,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
56, 0, 0, 8, 114, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
6, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 70, 130, 32, 0,
|
|
||||||
0, 0, 0, 0, 5, 0,
|
|
||||||
0, 0, 50, 0, 0, 10,
|
|
||||||
114, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 70, 130, 32, 0,
|
|
||||||
0, 0, 0, 0, 4, 0,
|
|
||||||
0, 0, 246, 15, 16, 0,
|
|
||||||
0, 0, 0, 0, 70, 2,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
50, 0, 0, 10, 114, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
70, 130, 32, 0, 0, 0,
|
|
||||||
0, 0, 6, 0, 0, 0,
|
|
||||||
166, 26, 16, 0, 1, 0,
|
|
||||||
0, 0, 70, 2, 16, 0,
|
|
||||||
1, 0, 0, 0, 16, 0,
|
|
||||||
0, 7, 130, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 70, 2,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
70, 2, 16, 0, 1, 0,
|
|
||||||
0, 0, 68, 0, 0, 5,
|
|
||||||
130, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 58, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 56, 0,
|
|
||||||
0, 7, 114, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 246, 15,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
70, 2, 16, 0, 1, 0,
|
|
||||||
0, 0, 16, 0, 0, 7,
|
|
||||||
18, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 70, 2, 16, 0,
|
|
||||||
0, 0, 0, 0, 70, 2,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
0, 0, 0, 7, 18, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
10, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
205, 204, 76, 62, 56, 0,
|
|
||||||
0, 7, 114, 32, 16, 0,
|
|
||||||
1, 0, 0, 0, 6, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
70, 18, 16, 0, 2, 0,
|
|
||||||
0, 0, 54, 0, 0, 5,
|
|
||||||
130, 32, 16, 0, 1, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
0, 0, 128, 63, 62, 0,
|
|
||||||
0, 1
|
|
||||||
};
|
|
Loading…
Reference in New Issue
Block a user