diff --git a/src/xenia/gpu/d3d12/d3d12_command_processor.cc b/src/xenia/gpu/d3d12/d3d12_command_processor.cc index 694529f04..fa0fd4ab6 100644 --- a/src/xenia/gpu/d3d12/d3d12_command_processor.cc +++ b/src/xenia/gpu/d3d12/d3d12_command_processor.cc @@ -3128,6 +3128,7 @@ void D3D12CommandProcessor::UpdateSystemConstantValues( auto rb_surface_info = regs.Get(); auto sq_context_misc = regs.Get(); auto sq_program_cntl = regs.Get(); + auto vgt_draw_initiator = regs.Get(); uint32_t vgt_indx_offset = regs.Get().indx_offset; uint32_t vgt_max_vtx_indx = regs.Get().max_indx; uint32_t vgt_min_vtx_indx = regs.Get().min_indx; @@ -3212,6 +3213,12 @@ void D3D12CommandProcessor::UpdateSystemConstantValues( if (primitive_polygonal) { flags |= DxbcShaderTranslator::kSysFlag_PrimitivePolygonal; } + // Primitive type. + if (vgt_draw_initiator.prim_type == xenos::PrimitiveType::kPointList) { + flags |= DxbcShaderTranslator::kSysFlag_PrimitivePoint; + } else if (draw_util::IsPrimitiveLine(regs)) { + flags |= DxbcShaderTranslator::kSysFlag_PrimitiveLine; + } // Primitive killing condition. if (pa_cl_clip_cntl.vtx_kill_or) { flags |= DxbcShaderTranslator::kSysFlag_KillIfAnyVertexKilled; @@ -3319,18 +3326,26 @@ void D3D12CommandProcessor::UpdateSystemConstantValues( } // Point size. - float point_size_x = float(pa_su_point_size.width) * 0.125f; - float point_size_y = float(pa_su_point_size.height) * 0.125f; - float point_size_min = float(pa_su_point_minmax.min_size) * 0.125f; - float point_size_max = float(pa_su_point_minmax.max_size) * 0.125f; - dirty |= system_constants_.point_size_x != point_size_x; - dirty |= system_constants_.point_size_y != point_size_y; - dirty |= system_constants_.point_size_min != point_size_min; - dirty |= system_constants_.point_size_max != point_size_max; - system_constants_.point_size_x = point_size_x; - system_constants_.point_size_y = point_size_y; - system_constants_.point_size_min = point_size_min; - system_constants_.point_size_max = point_size_max; + float point_vertex_diameter_min = + float(pa_su_point_minmax.min_size) * (2.0f / 16.0f); + float point_vertex_diameter_max = + float(pa_su_point_minmax.max_size) * (2.0f / 16.0f); + float point_constant_radius_x = + float(pa_su_point_size.width) * (1.0f / 16.0f); + float point_constant_radius_y = + float(pa_su_point_size.height) * (1.0f / 16.0f); + dirty |= + system_constants_.point_vertex_diameter_min != point_vertex_diameter_min; + dirty |= + system_constants_.point_vertex_diameter_max != point_vertex_diameter_max; + dirty |= + system_constants_.point_constant_radius[0] != point_constant_radius_x; + dirty |= + system_constants_.point_constant_radius[1] != point_constant_radius_y; + system_constants_.point_vertex_diameter_min = point_vertex_diameter_min; + system_constants_.point_vertex_diameter_max = point_vertex_diameter_max; + system_constants_.point_constant_radius[0] = point_constant_radius_x; + system_constants_.point_constant_radius[1] = point_constant_radius_y; float point_screen_to_ndc_x = (/* 0.5f * 2.0f * */ float(resolution_scale_x)) / std::max(viewport_info.xy_extent[0], uint32_t(1)); diff --git a/src/xenia/gpu/draw_util.h b/src/xenia/gpu/draw_util.h index d5675afe2..2cfed6134 100644 --- a/src/xenia/gpu/draw_util.h +++ b/src/xenia/gpu/draw_util.h @@ -25,6 +25,33 @@ namespace xe { namespace gpu { namespace draw_util { +constexpr bool IsPrimitiveLine(bool vgt_output_path_is_tessellation_enable, + xenos::PrimitiveType type) { + if (vgt_output_path_is_tessellation_enable && + type == xenos::PrimitiveType::kLinePatch) { + // For patch primitive types, the major mode is always explicit, so just + // checking if VGT_OUTPUT_PATH_CNTL::path_select is kTessellationEnable is + // enough. + return true; + } + switch (type) { + case xenos::PrimitiveType::kLineList: + case xenos::PrimitiveType::kLineStrip: + case xenos::PrimitiveType::kLineLoop: + case xenos::PrimitiveType::k2DLineStrip: + return true; + default: + break; + } + return false; +} + +inline bool IsPrimitiveLine(const RegisterFile& regs) { + return IsPrimitiveLine(regs.Get().path_select == + xenos::VGTOutputPath::kTessellationEnable, + regs.Get().prim_type); +} + // Polygonal primitive types (not including points and lines) are rasterized as // triangles, have front and back faces, and also support face culling and fill // modes (polymode_front_ptype, polymode_back_ptype). Other primitive types are diff --git a/src/xenia/gpu/dxbc_shader_translator.cc b/src/xenia/gpu/dxbc_shader_translator.cc index 7c2c17379..c2a4d8540 100644 --- a/src/xenia/gpu/dxbc_shader_translator.cc +++ b/src/xenia/gpu/dxbc_shader_translator.cc @@ -663,7 +663,11 @@ void DxbcShaderTranslator::StartPixelShader() { a_.OpIf(true, dxbc::Src::R(param_gen_temp, dxbc::Src::kXXXX)); { // XY - floored pixel position (Direct3D VPOS) in the absolute value, - // faceness as X sign bit. Using Z as scratch register now. + // faceness as X sign bit, whether is a point primitive as Y sign bit. + // Using Z as scratch register now. + // ZW - [0, 1] UV within a point sprite in the absolute value, whether is + // a line primitive as Z sign bit. + // Pixel position. // Get XY address of the current host pixel as float (no matter whether // the position is pixel-rate or sample-rate also due to float24 depth // conversion requirements, it will be rounded the same). Rounding down, @@ -688,6 +692,7 @@ void DxbcShaderTranslator::StartPixelShader() { } a_.OpMov(dxbc::Dest::R(param_gen_temp, 0b0011), dxbc::Src::R(param_gen_temp).Abs()); + // Faceness. // Check if faceness applies to the current primitive type. a_.OpAnd(dxbc::Dest::R(param_gen_temp, 0b0100), LoadFlagsSystemConstant(), dxbc::Src::LU(kSysFlag_PrimitivePolygonal)); @@ -704,31 +709,28 @@ void DxbcShaderTranslator::StartPixelShader() { -dxbc::Src::R(param_gen_temp, dxbc::Src::kXXXX)); } a_.OpEndIf(); - // ZW - UV within a point sprite in the absolute value, at centroid if - // requested for the interpolator. - // TODO(Triang3l): Are centroid point coordinates possible in the hardware - // at all? ps_param_gen is not a triangle-IJ-interpolated value - // apparently, rather, it replaces the value in the shader input. - // TODO(Triang3l): Saturate to avoid negative point coordinates (the sign - // bit is used for the primitive type indicator) in case of extrapolation - // when the center is not covered with MSAA. - dxbc::Dest point_coord_r_zw_dest(dxbc::Dest::R(param_gen_temp, 0b1100)); - dxbc::Src point_coord_v_xxxy_src(dxbc::Src::V( - uint32_t(InOutRegister::kPSInPointParameters), 0b01000000)); - a_.OpUBFE(dxbc::Dest::R(param_gen_temp, 0b0100), dxbc::Src::LU(1), - param_gen_index_src, - LoadSystemConstant( - SystemConstants::Index::kInterpolatorSamplingPattern, - offsetof(SystemConstants, interpolator_sampling_pattern), - dxbc::Src::kXXXX)); - a_.OpIf(bool(xenos::SampleLocation::kCenter), - dxbc::Src::R(param_gen_temp, dxbc::Src::kZZZZ)); - // At center. - a_.OpMov(point_coord_r_zw_dest, point_coord_v_xxxy_src); - a_.OpElse(); - // At centroid. - a_.OpEvalCentroid(point_coord_r_zw_dest, point_coord_v_xxxy_src); - a_.OpEndIf(); + // Point sprite coordinates. + // Saturate to avoid negative point coordinates if the center of the pixel + // is not covered, and extrapolation is done. + a_.OpMov(dxbc::Dest::R(param_gen_temp, 0b1100), + dxbc::Src::V(uint32_t(InOutRegister::kPSInPointParameters), + 0b0100 << 4), + true); + // Primitive type. + { + uint32_t param_gen_primitive_type_temp = PushSystemTemp(); + a_.OpUBFE(dxbc::Dest::R(param_gen_primitive_type_temp, 0b0011), + dxbc::Src::LU(1), + dxbc::Src::LU(kSysFlag_PrimitivePoint_Shift, + kSysFlag_PrimitiveLine_Shift, 0, 0), + LoadFlagsSystemConstant()); + a_.OpBFI(dxbc::Dest::R(param_gen_temp, 0b0110), dxbc::Src::LU(1), + dxbc::Src::LU(31), + dxbc::Src::R(param_gen_primitive_type_temp, 0b0100 << 2), + dxbc::Src::R(param_gen_temp)); + // Release param_gen_primitive_type_temp. + PopSystemTemp(); + } // TODO(Triang3l): Point / line primitive type flags to the sign bits. // Write ps_param_gen to the specified GPR. dxbc::Src param_gen_src(dxbc::Src::R(param_gen_temp)); @@ -792,7 +794,7 @@ void DxbcShaderTranslator::StartTranslation() { system_temp_position_ = PushSystemTemp(0b1111); system_temp_point_size_edge_flag_kill_vertex_ = PushSystemTemp(0b0100); // Set the point size to a negative value to tell the geometry shader that - // it should use the global point size if the vertex shader does not + // it should use the default point size if the vertex shader does not // override it. a_.OpMov( dxbc::Dest::R(system_temp_point_size_edge_flag_kill_vertex_, 0b0001), @@ -1578,6 +1580,30 @@ void DxbcShaderTranslator::StoreResult(const InstructionResult& result, float((constant_1_mask >> 2) & 1), float((constant_1_mask >> 3) & 1))); } + + // Make the point size non-negative as negative is used to indicate that the + // default size must be used, and also clamp it to the bounds the way the R400 + // (Adreno 200, to be more precise) hardware clamps it (functionally like a + // signed 32-bit integer, -NaN and -Infinity...-0 to the minimum, +NaN to the + // maximum). + if (result.storage_target == + InstructionStorageTarget::kPointSizeEdgeFlagKillVertex && + (used_write_mask & 0b0001)) { + a_.OpIMax( + dxbc::Dest::R(system_temp_point_size_edge_flag_kill_vertex_, 0b0001), + LoadSystemConstant(SystemConstants::Index::kPointVertexDiameterMin, + offsetof(SystemConstants, point_vertex_diameter_min), + dxbc::Src::kXXXX), + dxbc::Src::R(system_temp_point_size_edge_flag_kill_vertex_, + dxbc::Src::kXXXX)); + a_.OpIMin( + dxbc::Dest::R(system_temp_point_size_edge_flag_kill_vertex_, 0b0001), + LoadSystemConstant(SystemConstants::Index::kPointVertexDiameterMax, + offsetof(SystemConstants, point_vertex_diameter_max), + dxbc::Src::kXXXX), + dxbc::Src::R(system_temp_point_size_edge_flag_kill_vertex_, + dxbc::Src::kXXXX)); + } } void DxbcShaderTranslator::UpdateExecConditionalsAndEmitDisassembly( @@ -2007,12 +2033,14 @@ const DxbcShaderTranslator::SystemConstantRdef sizeof(float) * 4 * 6}, {"xe_ndc_scale", ShaderRdefTypeIndex::kFloat3, sizeof(float) * 3}, - {"xe_point_size_x", ShaderRdefTypeIndex::kFloat, sizeof(float)}, + {"xe_point_vertex_diameter_min", ShaderRdefTypeIndex::kFloat, + sizeof(float)}, {"xe_ndc_offset", ShaderRdefTypeIndex::kFloat3, sizeof(float) * 3}, - {"xe_point_size_y", ShaderRdefTypeIndex::kFloat, sizeof(float)}, + {"xe_point_vertex_diameter_max", ShaderRdefTypeIndex::kFloat, + sizeof(float)}, - {"xe_point_size_min_max", ShaderRdefTypeIndex::kFloat2, + {"xe_point_constant_radius", ShaderRdefTypeIndex::kFloat2, sizeof(float) * 2}, {"xe_point_screen_to_ndc", ShaderRdefTypeIndex::kFloat2, sizeof(float) * 2}, diff --git a/src/xenia/gpu/dxbc_shader_translator.h b/src/xenia/gpu/dxbc_shader_translator.h index 5cdb44642..f2fae6cc6 100644 --- a/src/xenia/gpu/dxbc_shader_translator.h +++ b/src/xenia/gpu/dxbc_shader_translator.h @@ -130,6 +130,8 @@ class DxbcShaderTranslator : public ShaderTranslator { kSysFlag_UserClipPlane5_Shift, kSysFlag_KillIfAnyVertexKilled_Shift, kSysFlag_PrimitivePolygonal_Shift, + kSysFlag_PrimitivePoint_Shift, + kSysFlag_PrimitiveLine_Shift, kSysFlag_DepthFloat24_Shift, kSysFlag_AlphaPassIfLess_Shift, kSysFlag_AlphaPassIfEqual_Shift, @@ -173,6 +175,8 @@ class DxbcShaderTranslator : public ShaderTranslator { kSysFlag_UserClipPlane5 = 1u << kSysFlag_UserClipPlane5_Shift, kSysFlag_KillIfAnyVertexKilled = 1u << kSysFlag_KillIfAnyVertexKilled_Shift, kSysFlag_PrimitivePolygonal = 1u << kSysFlag_PrimitivePolygonal_Shift, + kSysFlag_PrimitivePoint = 1u << kSysFlag_PrimitivePoint_Shift, + kSysFlag_PrimitiveLine = 1u << kSysFlag_PrimitiveLine_Shift, kSysFlag_DepthFloat24 = 1u << kSysFlag_DepthFloat24_Shift, kSysFlag_AlphaPassIfLess = 1u << kSysFlag_AlphaPassIfLess_Shift, kSysFlag_AlphaPassIfEqual = 1u << kSysFlag_AlphaPassIfEqual_Shift, @@ -233,18 +237,12 @@ class DxbcShaderTranslator : public ShaderTranslator { float user_clip_planes[6][4]; float ndc_scale[3]; - float point_size_x; + float point_vertex_diameter_min; float ndc_offset[3]; - float point_size_y; + float point_vertex_diameter_max; - union { - struct { - float point_size_min; - float point_size_max; - }; - float point_size_min_max[2]; - }; + float point_constant_radius[2]; // Screen point size * 2 (but not supersampled) -> size in NDC. float point_screen_to_ndc[2]; @@ -353,12 +351,12 @@ class DxbcShaderTranslator : public ShaderTranslator { kUserClipPlanes, kNDCScale, - kPointSizeX, + kPointVertexDiameterMin, kNDCOffset, - kPointSizeY, + kPointVertexDiameterMax, - kPointSizeMinMax, + kPointConstantRadius, kPointScreenToNDC, kInterpolatorSamplingPattern, diff --git a/src/xenia/gpu/registers.h b/src/xenia/gpu/registers.h index 1a7e721ce..7c1020bd9 100644 --- a/src/xenia/gpu/registers.h +++ b/src/xenia/gpu/registers.h @@ -184,6 +184,17 @@ union alignas(uint32_t) SQ_CONTEXT_MISC { // take abs(SPRITETEXCOORD.zw) explicitly. // https://shawnhargreaves.com/blog/point-sprites-on-xbox.html // 4D5307F1 has snowflake point sprites with an asymmetric texture. + // * For non-point primitives, according to LG P705, this may be the IJ + // barycentric coordinates, however, it's not yet known how intentional, + // well-defined and reliable this behavior is, and whether any game uses + // it on purpose. Also, the mapping between the vertex indices and the + // order of these coordinates seems to vary possibly depending on the + // positions of the vertices relative to each other even when the + // winding order stays the same. It's also unknown what effect the + // provoking vertex convention has on the order. + // TODO(Triang3l): Research the order, as well as the sampling location, of + // PsParamGen.zw, the behavior (whether they're extrapolated) when the + // center of the pixel is not covered, on the real hardware. // * Sign bit of X - is front face (according to the disassembly of vFace // and gl_FrontFacing usage), non-negative for front face, negative for // back face (used with `rcpc` in shaders to take signedness of 0 into diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/continuous_quad_hs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/continuous_quad_hs.h index 9969afd5f..18faf5d6a 100644 --- a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/continuous_quad_hs.h +++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/continuous_quad_hs.h @@ -16,10 +16,10 @@ // uint2 xe_vertex_index_min_max; // Offset: 24 Size: 8 [unused] // float4 xe_user_clip_planes[6]; // Offset: 32 Size: 96 [unused] // float3 xe_ndc_scale; // Offset: 128 Size: 12 [unused] -// float xe_point_size_x; // Offset: 140 Size: 4 [unused] +// float xe_point_vertex_diameter_min;// Offset: 140 Size: 4 [unused] // float3 xe_ndc_offset; // Offset: 144 Size: 12 [unused] -// float xe_point_size_y; // Offset: 156 Size: 4 [unused] -// float2 xe_point_size_min_max; // Offset: 160 Size: 8 [unused] +// float xe_point_vertex_diameter_max;// Offset: 156 Size: 4 [unused] +// float2 xe_point_constant_radius; // Offset: 160 Size: 8 [unused] // float2 xe_point_screen_to_ndc; // Offset: 168 Size: 8 [unused] // uint xe_interpolator_sampling_pattern;// Offset: 176 Size: 4 [unused] // uint xe_ps_param_gen; // Offset: 180 Size: 4 [unused] @@ -121,21 +121,21 @@ ret const BYTE continuous_quad_hs[] = { - 68, 88, 66, 67, 38, 148, - 187, 235, 226, 45, 172, 116, - 78, 244, 151, 91, 91, 131, - 203, 9, 1, 0, 0, 0, - 240, 13, 0, 0, 6, 0, + 68, 88, 66, 67, 41, 61, + 68, 236, 233, 38, 162, 138, + 209, 48, 160, 247, 155, 238, + 65, 82, 1, 0, 0, 0, + 12, 14, 0, 0, 6, 0, 0, 0, 56, 0, 0, 0, - 188, 10, 0, 0, 240, 10, - 0, 0, 36, 11, 0, 0, - 232, 11, 0, 0, 84, 13, + 216, 10, 0, 0, 12, 11, + 0, 0, 64, 11, 0, 0, + 4, 12, 0, 0, 112, 13, 0, 0, 82, 68, 69, 70, - 124, 10, 0, 0, 1, 0, + 152, 10, 0, 0, 1, 0, 0, 0, 120, 0, 0, 0, 1, 0, 0, 0, 60, 0, 0, 0, 1, 5, 83, 72, - 0, 5, 0, 0, 82, 10, + 0, 5, 0, 0, 110, 10, 0, 0, 19, 19, 68, 37, 60, 0, 0, 0, 24, 0, 0, 0, 40, 0, 0, 0, @@ -211,161 +211,161 @@ const BYTE continuous_quad_hs[] = 255, 255, 0, 0, 0, 0, 16, 7, 0, 0, 140, 0, 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 40, 7, + 0, 0, 0, 0, 52, 7, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 76, 7, + 0, 0, 0, 0, 88, 7, 0, 0, 144, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 236, 6, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 90, 7, 0, 0, + 0, 0, 102, 7, 0, 0, 156, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, - 40, 7, 0, 0, 0, 0, + 52, 7, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 106, 7, 0, 0, 160, 0, + 131, 7, 0, 0, 160, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 128, 7, + 0, 0, 0, 0, 156, 7, 0, 0, 168, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 151, 7, 0, 0, + 0, 0, 179, 7, 0, 0, 176, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 184, 7, 0, 0, 180, 0, + 212, 7, 0, 0, 180, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 200, 7, + 0, 0, 0, 0, 228, 7, 0, 0, 184, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 116, 6, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 221, 7, 0, 0, + 0, 0, 249, 7, 0, 0, 192, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 0, 8, 0, 0, 0, 0, + 28, 8, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 36, 8, 0, 0, 224, 0, + 64, 8, 0, 0, 224, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 57, 8, + 0, 0, 0, 0, 85, 8, 0, 0, 228, 0, 0, 0, 4, 0, 0, 0, 0, 0, - 0, 0, 40, 7, 0, 0, + 0, 0, 52, 7, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 81, 8, 0, 0, + 0, 0, 109, 8, 0, 0, 232, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 98, 8, 0, 0, 236, 0, + 126, 8, 0, 0, 236, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 138, 8, + 0, 0, 0, 0, 166, 8, 0, 0, 240, 0, 0, 0, 16, 0, 0, 0, 0, 0, - 0, 0, 156, 8, 0, 0, + 0, 0, 184, 8, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 192, 8, 0, 0, + 0, 0, 220, 8, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 219, 8, 0, 0, 8, 1, + 247, 8, 0, 0, 8, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 245, 8, + 0, 0, 0, 0, 17, 9, 0, 0, 16, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 23, 9, 0, 0, + 0, 0, 51, 9, 0, 0, 32, 1, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 40, 9, 0, 0, 0, 0, + 68, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 76, 9, 0, 0, 64, 1, + 104, 9, 0, 0, 64, 1, 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 108, 9, + 0, 0, 0, 0, 136, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 144, 9, + 0, 0, 0, 0, 172, 9, 0, 0, 80, 1, 0, 0, 16, 0, 0, 0, 0, 0, - 0, 0, 108, 9, 0, 0, + 0, 0, 136, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 169, 9, 0, 0, + 0, 0, 197, 9, 0, 0, 96, 1, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, - 188, 9, 0, 0, 0, 0, + 216, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 224, 9, 0, 0, 160, 1, + 252, 9, 0, 0, 160, 1, 0, 0, 32, 0, 0, 0, - 0, 0, 0, 0, 248, 9, + 0, 0, 0, 0, 20, 10, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 28, 10, + 0, 0, 0, 0, 56, 10, 0, 0, 192, 1, 0, 0, 16, 0, 0, 0, 0, 0, - 0, 0, 108, 9, 0, 0, + 0, 0, 136, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 58, 10, 0, 0, + 0, 0, 86, 10, 0, 0, 208, 1, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, - 156, 8, 0, 0, 0, 0, + 184, 8, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, @@ -434,286 +434,291 @@ const BYTE continuous_quad_hs[] = 0, 0, 0, 0, 0, 0, 0, 0, 229, 6, 0, 0, 120, 101, 95, 112, 111, 105, - 110, 116, 95, 115, 105, 122, - 101, 95, 120, 0, 102, 108, - 111, 97, 116, 0, 171, 171, + 110, 116, 95, 118, 101, 114, + 116, 101, 120, 95, 100, 105, + 97, 109, 101, 116, 101, 114, + 95, 109, 105, 110, 0, 102, + 108, 111, 97, 116, 0, 171, 0, 0, 3, 0, 1, 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, 32, 7, 0, 0, + 0, 0, 45, 7, 0, 0, 120, 101, 95, 110, 100, 99, 95, 111, 102, 102, 115, 101, 116, 0, 120, 101, 95, 112, + 111, 105, 110, 116, 95, 118, + 101, 114, 116, 101, 120, 95, + 100, 105, 97, 109, 101, 116, + 101, 114, 95, 109, 97, 120, + 0, 120, 101, 95, 112, 111, + 105, 110, 116, 95, 99, 111, + 110, 115, 116, 97, 110, 116, + 95, 114, 97, 100, 105, 117, + 115, 0, 120, 101, 95, 112, 111, 105, 110, 116, 95, 115, - 105, 122, 101, 95, 121, 0, - 120, 101, 95, 112, 111, 105, - 110, 116, 95, 115, 105, 122, - 101, 95, 109, 105, 110, 95, - 109, 97, 120, 0, 120, 101, - 95, 112, 111, 105, 110, 116, - 95, 115, 99, 114, 101, 101, - 110, 95, 116, 111, 95, 110, - 100, 99, 0, 120, 101, 95, - 105, 110, 116, 101, 114, 112, - 111, 108, 97, 116, 111, 114, - 95, 115, 97, 109, 112, 108, - 105, 110, 103, 95, 112, 97, - 116, 116, 101, 114, 110, 0, - 120, 101, 95, 112, 115, 95, - 112, 97, 114, 97, 109, 95, - 103, 101, 110, 0, 120, 101, - 95, 115, 97, 109, 112, 108, - 101, 95, 99, 111, 117, 110, - 116, 95, 108, 111, 103, 50, - 0, 120, 101, 95, 116, 101, - 120, 116, 117, 114, 101, 95, - 115, 119, 105, 122, 122, 108, - 101, 100, 95, 115, 105, 103, - 110, 115, 0, 117, 105, 110, - 116, 52, 0, 171, 171, 171, + 99, 114, 101, 101, 110, 95, + 116, 111, 95, 110, 100, 99, + 0, 120, 101, 95, 105, 110, + 116, 101, 114, 112, 111, 108, + 97, 116, 111, 114, 95, 115, + 97, 109, 112, 108, 105, 110, + 103, 95, 112, 97, 116, 116, + 101, 114, 110, 0, 120, 101, + 95, 112, 115, 95, 112, 97, + 114, 97, 109, 95, 103, 101, + 110, 0, 120, 101, 95, 115, + 97, 109, 112, 108, 101, 95, + 99, 111, 117, 110, 116, 95, + 108, 111, 103, 50, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 115, 119, + 105, 122, 122, 108, 101, 100, + 95, 115, 105, 103, 110, 115, + 0, 117, 105, 110, 116, 52, + 0, 171, 171, 171, 1, 0, + 19, 0, 1, 0, 4, 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, + 19, 8, 0, 0, 120, 101, + 95, 116, 101, 120, 116, 117, + 114, 101, 115, 95, 114, 101, + 115, 111, 108, 118, 101, 100, + 0, 120, 101, 95, 97, 108, + 112, 104, 97, 95, 116, 101, + 115, 116, 95, 114, 101, 102, + 101, 114, 101, 110, 99, 101, + 0, 120, 101, 95, 97, 108, + 112, 104, 97, 95, 116, 111, + 95, 109, 97, 115, 107, 0, + 120, 101, 95, 101, 100, 114, + 97, 109, 95, 51, 50, 98, + 112, 112, 95, 116, 105, 108, + 101, 95, 112, 105, 116, 99, + 104, 95, 100, 119, 111, 114, + 100, 115, 95, 115, 99, 97, + 108, 101, 100, 0, 120, 101, + 95, 99, 111, 108, 111, 114, + 95, 101, 120, 112, 95, 98, + 105, 97, 115, 0, 1, 0, + 3, 0, 1, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 172, 6, 0, 0, 120, 101, + 95, 101, 100, 114, 97, 109, + 95, 112, 111, 108, 121, 95, + 111, 102, 102, 115, 101, 116, + 95, 102, 114, 111, 110, 116, + 0, 120, 101, 95, 101, 100, + 114, 97, 109, 95, 112, 111, + 108, 121, 95, 111, 102, 102, + 115, 101, 116, 95, 98, 97, + 99, 107, 0, 120, 101, 95, + 101, 100, 114, 97, 109, 95, + 100, 101, 112, 116, 104, 95, + 98, 97, 115, 101, 95, 100, + 119, 111, 114, 100, 115, 95, + 115, 99, 97, 108, 101, 100, + 0, 120, 101, 95, 101, 100, + 114, 97, 109, 95, 115, 116, + 101, 110, 99, 105, 108, 0, 1, 0, 19, 0, 1, 0, 4, 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, 247, 7, 0, 0, - 120, 101, 95, 116, 101, 120, - 116, 117, 114, 101, 115, 95, - 114, 101, 115, 111, 108, 118, - 101, 100, 0, 120, 101, 95, - 97, 108, 112, 104, 97, 95, - 116, 101, 115, 116, 95, 114, - 101, 102, 101, 114, 101, 110, - 99, 101, 0, 120, 101, 95, - 97, 108, 112, 104, 97, 95, - 116, 111, 95, 109, 97, 115, - 107, 0, 120, 101, 95, 101, - 100, 114, 97, 109, 95, 51, - 50, 98, 112, 112, 95, 116, - 105, 108, 101, 95, 112, 105, - 116, 99, 104, 95, 100, 119, - 111, 114, 100, 115, 95, 115, - 99, 97, 108, 101, 100, 0, - 120, 101, 95, 99, 111, 108, - 111, 114, 95, 101, 120, 112, - 95, 98, 105, 97, 115, 0, - 1, 0, 3, 0, 1, 0, + 0, 0, 19, 8, 0, 0, + 120, 101, 95, 101, 100, 114, + 97, 109, 95, 114, 116, 95, + 98, 97, 115, 101, 95, 100, + 119, 111, 114, 100, 115, 95, + 115, 99, 97, 108, 101, 100, + 0, 171, 1, 0, 19, 0, + 1, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 19, 8, + 0, 0, 120, 101, 95, 101, + 100, 114, 97, 109, 95, 114, + 116, 95, 102, 111, 114, 109, + 97, 116, 95, 102, 108, 97, + 103, 115, 0, 120, 101, 95, + 101, 100, 114, 97, 109, 95, + 114, 116, 95, 99, 108, 97, + 109, 112, 0, 171, 1, 0, + 3, 0, 1, 0, 4, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 172, 6, 0, 0, - 120, 101, 95, 101, 100, 114, - 97, 109, 95, 112, 111, 108, - 121, 95, 111, 102, 102, 115, - 101, 116, 95, 102, 114, 111, - 110, 116, 0, 120, 101, 95, - 101, 100, 114, 97, 109, 95, - 112, 111, 108, 121, 95, 111, - 102, 102, 115, 101, 116, 95, - 98, 97, 99, 107, 0, 120, - 101, 95, 101, 100, 114, 97, - 109, 95, 100, 101, 112, 116, - 104, 95, 98, 97, 115, 101, - 95, 100, 119, 111, 114, 100, - 115, 95, 115, 99, 97, 108, - 101, 100, 0, 120, 101, 95, - 101, 100, 114, 97, 109, 95, - 115, 116, 101, 110, 99, 105, - 108, 0, 1, 0, 19, 0, - 1, 0, 4, 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, 247, 7, - 0, 0, 120, 101, 95, 101, - 100, 114, 97, 109, 95, 114, - 116, 95, 98, 97, 115, 101, - 95, 100, 119, 111, 114, 100, - 115, 95, 115, 99, 97, 108, - 101, 100, 0, 171, 1, 0, - 19, 0, 1, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 247, 7, 0, 0, 120, 101, + 172, 6, 0, 0, 120, 101, 95, 101, 100, 114, 97, 109, - 95, 114, 116, 95, 102, 111, - 114, 109, 97, 116, 95, 102, - 108, 97, 103, 115, 0, 120, - 101, 95, 101, 100, 114, 97, - 109, 95, 114, 116, 95, 99, - 108, 97, 109, 112, 0, 171, - 1, 0, 3, 0, 1, 0, - 4, 0, 4, 0, 0, 0, + 95, 114, 116, 95, 107, 101, + 101, 112, 95, 109, 97, 115, + 107, 0, 171, 171, 1, 0, + 19, 0, 1, 0, 4, 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, 172, 6, 0, 0, - 120, 101, 95, 101, 100, 114, - 97, 109, 95, 114, 116, 95, - 107, 101, 101, 112, 95, 109, - 97, 115, 107, 0, 171, 171, - 1, 0, 19, 0, 1, 0, - 4, 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, 247, 7, 0, 0, - 120, 101, 95, 101, 100, 114, - 97, 109, 95, 114, 116, 95, - 98, 108, 101, 110, 100, 95, - 102, 97, 99, 116, 111, 114, - 115, 95, 111, 112, 115, 0, - 120, 101, 95, 101, 100, 114, - 97, 109, 95, 98, 108, 101, - 110, 100, 95, 99, 111, 110, - 115, 116, 97, 110, 116, 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, 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, - 1, 1, 0, 0, 88, 69, - 86, 69, 82, 84, 69, 88, - 73, 68, 0, 171, 79, 83, + 19, 8, 0, 0, 120, 101, + 95, 101, 100, 114, 97, 109, + 95, 114, 116, 95, 98, 108, + 101, 110, 100, 95, 102, 97, + 99, 116, 111, 114, 115, 95, + 111, 112, 115, 0, 120, 101, + 95, 101, 100, 114, 97, 109, + 95, 98, 108, 101, 110, 100, + 95, 99, 111, 110, 115, 116, + 97, 110, 116, 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, 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, 1, 14, + 0, 0, 0, 0, 1, 1, 0, 0, 88, 69, 86, 69, 82, 84, 69, 88, 73, 68, - 0, 171, 80, 67, 83, 71, - 188, 0, 0, 0, 6, 0, + 0, 171, 79, 83, 71, 78, + 44, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, - 152, 0, 0, 0, 0, 0, - 0, 0, 11, 0, 0, 0, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 1, 14, 0, 0, - 152, 0, 0, 0, 1, 0, - 0, 0, 11, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 1, 14, 0, 0, - 152, 0, 0, 0, 2, 0, - 0, 0, 11, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 1, 14, 0, 0, - 152, 0, 0, 0, 3, 0, - 0, 0, 11, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 1, 14, 0, 0, - 166, 0, 0, 0, 0, 0, - 0, 0, 12, 0, 0, 0, - 3, 0, 0, 0, 4, 0, - 0, 0, 1, 14, 0, 0, - 166, 0, 0, 0, 1, 0, - 0, 0, 12, 0, 0, 0, - 3, 0, 0, 0, 5, 0, - 0, 0, 1, 14, 0, 0, - 83, 86, 95, 84, 101, 115, + 88, 69, 86, 69, 82, 84, + 69, 88, 73, 68, 0, 171, + 80, 67, 83, 71, 188, 0, + 0, 0, 6, 0, 0, 0, + 8, 0, 0, 0, 152, 0, + 0, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 1, 14, 0, 0, 152, 0, + 0, 0, 1, 0, 0, 0, + 11, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 1, 14, 0, 0, 152, 0, + 0, 0, 2, 0, 0, 0, + 11, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 1, 14, 0, 0, 152, 0, + 0, 0, 3, 0, 0, 0, + 11, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 1, 14, 0, 0, 166, 0, + 0, 0, 0, 0, 0, 0, + 12, 0, 0, 0, 3, 0, + 0, 0, 4, 0, 0, 0, + 1, 14, 0, 0, 166, 0, + 0, 0, 1, 0, 0, 0, + 12, 0, 0, 0, 3, 0, + 0, 0, 5, 0, 0, 0, + 1, 14, 0, 0, 83, 86, + 95, 84, 101, 115, 115, 70, + 97, 99, 116, 111, 114, 0, + 83, 86, 95, 73, 110, 115, + 105, 100, 101, 84, 101, 115, 115, 70, 97, 99, 116, 111, - 114, 0, 83, 86, 95, 73, - 110, 115, 105, 100, 101, 84, - 101, 115, 115, 70, 97, 99, - 116, 111, 114, 0, 171, 171, - 83, 72, 69, 88, 100, 1, - 0, 0, 81, 0, 3, 0, - 89, 0, 0, 0, 113, 0, - 0, 1, 147, 32, 0, 1, - 148, 32, 0, 1, 149, 24, - 0, 1, 150, 32, 0, 1, - 151, 24, 0, 1, 106, 8, - 0, 1, 89, 0, 0, 7, - 70, 142, 48, 0, 0, 0, + 114, 0, 171, 171, 83, 72, + 69, 88, 100, 1, 0, 0, + 81, 0, 3, 0, 89, 0, + 0, 0, 113, 0, 0, 1, + 147, 32, 0, 1, 148, 32, + 0, 1, 149, 24, 0, 1, + 150, 32, 0, 1, 151, 24, + 0, 1, 106, 8, 0, 1, + 89, 0, 0, 7, 70, 142, + 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 115, 0, 0, 1, 153, 0, - 0, 2, 4, 0, 0, 0, - 95, 0, 0, 2, 0, 112, - 1, 0, 103, 0, 0, 4, - 18, 32, 16, 0, 0, 0, - 0, 0, 11, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 115, 0, + 0, 1, 153, 0, 0, 2, + 4, 0, 0, 0, 95, 0, + 0, 2, 0, 112, 1, 0, 103, 0, 0, 4, 18, 32, - 16, 0, 1, 0, 0, 0, - 12, 0, 0, 0, 103, 0, + 16, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 103, 0, 0, 4, 18, 32, 16, 0, - 2, 0, 0, 0, 13, 0, + 1, 0, 0, 0, 12, 0, 0, 0, 103, 0, 0, 4, - 18, 32, 16, 0, 3, 0, - 0, 0, 14, 0, 0, 0, + 18, 32, 16, 0, 2, 0, + 0, 0, 13, 0, 0, 0, + 103, 0, 0, 4, 18, 32, + 16, 0, 3, 0, 0, 0, + 14, 0, 0, 0, 104, 0, + 0, 2, 1, 0, 0, 0, + 91, 0, 0, 4, 18, 32, + 16, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 54, 0, + 0, 4, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 112, + 1, 0, 54, 0, 0, 8, + 18, 32, 144, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 42, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 62, 0, + 0, 1, 115, 0, 0, 1, + 153, 0, 0, 2, 2, 0, + 0, 0, 95, 0, 0, 2, + 0, 112, 1, 0, 103, 0, + 0, 4, 18, 32, 16, 0, + 4, 0, 0, 0, 15, 0, + 0, 0, 103, 0, 0, 4, + 18, 32, 16, 0, 5, 0, + 0, 0, 16, 0, 0, 0, 104, 0, 0, 2, 1, 0, 0, 0, 91, 0, 0, 4, - 18, 32, 16, 0, 0, 0, - 0, 0, 4, 0, 0, 0, + 18, 32, 16, 0, 4, 0, + 0, 0, 2, 0, 0, 0, 54, 0, 0, 4, 18, 0, 16, 0, 0, 0, 0, 0, 10, 112, 1, 0, 54, 0, - 0, 8, 18, 32, 144, 0, - 10, 0, 16, 0, 0, 0, - 0, 0, 42, 128, 48, 0, + 0, 9, 18, 32, 208, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 42, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 62, 0, + 0, 1, 83, 84, 65, 84, + 148, 0, 0, 0, 6, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 62, 0, 0, 1, 115, 0, - 0, 1, 153, 0, 0, 2, - 2, 0, 0, 0, 95, 0, - 0, 2, 0, 112, 1, 0, - 103, 0, 0, 4, 18, 32, - 16, 0, 4, 0, 0, 0, - 15, 0, 0, 0, 103, 0, - 0, 4, 18, 32, 16, 0, - 5, 0, 0, 0, 16, 0, - 0, 0, 104, 0, 0, 2, - 1, 0, 0, 0, 91, 0, - 0, 4, 18, 32, 16, 0, - 4, 0, 0, 0, 2, 0, - 0, 0, 54, 0, 0, 4, - 18, 0, 16, 0, 0, 0, - 0, 0, 10, 112, 1, 0, - 54, 0, 0, 9, 18, 32, - 208, 0, 4, 0, 0, 0, - 10, 0, 16, 0, 0, 0, - 0, 0, 42, 128, 48, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 62, 0, 0, 1, 83, 84, - 65, 84, 148, 0, 0, 0, - 6, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 0, + 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 11, 0, 0, 0, - 0, 0, 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, 4, 0, 0, 0, 3, 0, - 0, 0, 4, 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 }; diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/continuous_triangle_hs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/continuous_triangle_hs.h index 7ebd3f557..a77c56ffc 100644 --- a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/continuous_triangle_hs.h +++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/continuous_triangle_hs.h @@ -16,10 +16,10 @@ // uint2 xe_vertex_index_min_max; // Offset: 24 Size: 8 [unused] // float4 xe_user_clip_planes[6]; // Offset: 32 Size: 96 [unused] // float3 xe_ndc_scale; // Offset: 128 Size: 12 [unused] -// float xe_point_size_x; // Offset: 140 Size: 4 [unused] +// float xe_point_vertex_diameter_min;// Offset: 140 Size: 4 [unused] // float3 xe_ndc_offset; // Offset: 144 Size: 12 [unused] -// float xe_point_size_y; // Offset: 156 Size: 4 [unused] -// float2 xe_point_size_min_max; // Offset: 160 Size: 8 [unused] +// float xe_point_vertex_diameter_max;// Offset: 156 Size: 4 [unused] +// float2 xe_point_constant_radius; // Offset: 160 Size: 8 [unused] // float2 xe_point_screen_to_ndc; // Offset: 168 Size: 8 [unused] // uint xe_interpolator_sampling_pattern;// Offset: 176 Size: 4 [unused] // uint xe_ps_param_gen; // Offset: 180 Size: 4 [unused] @@ -112,21 +112,21 @@ ret const BYTE continuous_triangle_hs[] = { - 68, 88, 66, 67, 73, 225, - 250, 199, 94, 238, 81, 135, - 38, 37, 240, 107, 243, 39, - 228, 138, 1, 0, 0, 0, - 96, 13, 0, 0, 6, 0, + 68, 88, 66, 67, 186, 50, + 224, 20, 247, 162, 237, 207, + 151, 21, 132, 253, 255, 73, + 27, 33, 1, 0, 0, 0, + 124, 13, 0, 0, 6, 0, 0, 0, 56, 0, 0, 0, - 188, 10, 0, 0, 240, 10, - 0, 0, 36, 11, 0, 0, - 184, 11, 0, 0, 196, 12, + 216, 10, 0, 0, 12, 11, + 0, 0, 64, 11, 0, 0, + 212, 11, 0, 0, 224, 12, 0, 0, 82, 68, 69, 70, - 124, 10, 0, 0, 1, 0, + 152, 10, 0, 0, 1, 0, 0, 0, 120, 0, 0, 0, 1, 0, 0, 0, 60, 0, 0, 0, 1, 5, 83, 72, - 0, 5, 0, 0, 82, 10, + 0, 5, 0, 0, 110, 10, 0, 0, 19, 19, 68, 37, 60, 0, 0, 0, 24, 0, 0, 0, 40, 0, 0, 0, @@ -202,161 +202,161 @@ const BYTE continuous_triangle_hs[] = 255, 255, 0, 0, 0, 0, 16, 7, 0, 0, 140, 0, 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 40, 7, + 0, 0, 0, 0, 52, 7, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 76, 7, + 0, 0, 0, 0, 88, 7, 0, 0, 144, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 236, 6, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 90, 7, 0, 0, + 0, 0, 102, 7, 0, 0, 156, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, - 40, 7, 0, 0, 0, 0, + 52, 7, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 106, 7, 0, 0, 160, 0, + 131, 7, 0, 0, 160, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 128, 7, + 0, 0, 0, 0, 156, 7, 0, 0, 168, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 151, 7, 0, 0, + 0, 0, 179, 7, 0, 0, 176, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 184, 7, 0, 0, 180, 0, + 212, 7, 0, 0, 180, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 200, 7, + 0, 0, 0, 0, 228, 7, 0, 0, 184, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 116, 6, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 221, 7, 0, 0, + 0, 0, 249, 7, 0, 0, 192, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 0, 8, 0, 0, 0, 0, + 28, 8, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 36, 8, 0, 0, 224, 0, + 64, 8, 0, 0, 224, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 57, 8, + 0, 0, 0, 0, 85, 8, 0, 0, 228, 0, 0, 0, 4, 0, 0, 0, 0, 0, - 0, 0, 40, 7, 0, 0, + 0, 0, 52, 7, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 81, 8, 0, 0, + 0, 0, 109, 8, 0, 0, 232, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 98, 8, 0, 0, 236, 0, + 126, 8, 0, 0, 236, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 138, 8, + 0, 0, 0, 0, 166, 8, 0, 0, 240, 0, 0, 0, 16, 0, 0, 0, 0, 0, - 0, 0, 156, 8, 0, 0, + 0, 0, 184, 8, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 192, 8, 0, 0, + 0, 0, 220, 8, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 219, 8, 0, 0, 8, 1, + 247, 8, 0, 0, 8, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 245, 8, + 0, 0, 0, 0, 17, 9, 0, 0, 16, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 23, 9, 0, 0, + 0, 0, 51, 9, 0, 0, 32, 1, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 40, 9, 0, 0, 0, 0, + 68, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 76, 9, 0, 0, 64, 1, + 104, 9, 0, 0, 64, 1, 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 108, 9, + 0, 0, 0, 0, 136, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 144, 9, + 0, 0, 0, 0, 172, 9, 0, 0, 80, 1, 0, 0, 16, 0, 0, 0, 0, 0, - 0, 0, 108, 9, 0, 0, + 0, 0, 136, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 169, 9, 0, 0, + 0, 0, 197, 9, 0, 0, 96, 1, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, - 188, 9, 0, 0, 0, 0, + 216, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 224, 9, 0, 0, 160, 1, + 252, 9, 0, 0, 160, 1, 0, 0, 32, 0, 0, 0, - 0, 0, 0, 0, 248, 9, + 0, 0, 0, 0, 20, 10, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 28, 10, + 0, 0, 0, 0, 56, 10, 0, 0, 192, 1, 0, 0, 16, 0, 0, 0, 0, 0, - 0, 0, 108, 9, 0, 0, + 0, 0, 136, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 58, 10, 0, 0, + 0, 0, 86, 10, 0, 0, 208, 1, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, - 156, 8, 0, 0, 0, 0, + 184, 8, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, @@ -425,262 +425,267 @@ const BYTE continuous_triangle_hs[] = 0, 0, 0, 0, 0, 0, 0, 0, 229, 6, 0, 0, 120, 101, 95, 112, 111, 105, - 110, 116, 95, 115, 105, 122, - 101, 95, 120, 0, 102, 108, - 111, 97, 116, 0, 171, 171, + 110, 116, 95, 118, 101, 114, + 116, 101, 120, 95, 100, 105, + 97, 109, 101, 116, 101, 114, + 95, 109, 105, 110, 0, 102, + 108, 111, 97, 116, 0, 171, 0, 0, 3, 0, 1, 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, 32, 7, 0, 0, + 0, 0, 45, 7, 0, 0, 120, 101, 95, 110, 100, 99, 95, 111, 102, 102, 115, 101, 116, 0, 120, 101, 95, 112, + 111, 105, 110, 116, 95, 118, + 101, 114, 116, 101, 120, 95, + 100, 105, 97, 109, 101, 116, + 101, 114, 95, 109, 97, 120, + 0, 120, 101, 95, 112, 111, + 105, 110, 116, 95, 99, 111, + 110, 115, 116, 97, 110, 116, + 95, 114, 97, 100, 105, 117, + 115, 0, 120, 101, 95, 112, 111, 105, 110, 116, 95, 115, - 105, 122, 101, 95, 121, 0, - 120, 101, 95, 112, 111, 105, - 110, 116, 95, 115, 105, 122, - 101, 95, 109, 105, 110, 95, - 109, 97, 120, 0, 120, 101, - 95, 112, 111, 105, 110, 116, - 95, 115, 99, 114, 101, 101, - 110, 95, 116, 111, 95, 110, - 100, 99, 0, 120, 101, 95, - 105, 110, 116, 101, 114, 112, - 111, 108, 97, 116, 111, 114, - 95, 115, 97, 109, 112, 108, - 105, 110, 103, 95, 112, 97, - 116, 116, 101, 114, 110, 0, - 120, 101, 95, 112, 115, 95, - 112, 97, 114, 97, 109, 95, - 103, 101, 110, 0, 120, 101, - 95, 115, 97, 109, 112, 108, - 101, 95, 99, 111, 117, 110, - 116, 95, 108, 111, 103, 50, - 0, 120, 101, 95, 116, 101, - 120, 116, 117, 114, 101, 95, - 115, 119, 105, 122, 122, 108, - 101, 100, 95, 115, 105, 103, - 110, 115, 0, 117, 105, 110, - 116, 52, 0, 171, 171, 171, + 99, 114, 101, 101, 110, 95, + 116, 111, 95, 110, 100, 99, + 0, 120, 101, 95, 105, 110, + 116, 101, 114, 112, 111, 108, + 97, 116, 111, 114, 95, 115, + 97, 109, 112, 108, 105, 110, + 103, 95, 112, 97, 116, 116, + 101, 114, 110, 0, 120, 101, + 95, 112, 115, 95, 112, 97, + 114, 97, 109, 95, 103, 101, + 110, 0, 120, 101, 95, 115, + 97, 109, 112, 108, 101, 95, + 99, 111, 117, 110, 116, 95, + 108, 111, 103, 50, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 115, 119, + 105, 122, 122, 108, 101, 100, + 95, 115, 105, 103, 110, 115, + 0, 117, 105, 110, 116, 52, + 0, 171, 171, 171, 1, 0, + 19, 0, 1, 0, 4, 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, + 19, 8, 0, 0, 120, 101, + 95, 116, 101, 120, 116, 117, + 114, 101, 115, 95, 114, 101, + 115, 111, 108, 118, 101, 100, + 0, 120, 101, 95, 97, 108, + 112, 104, 97, 95, 116, 101, + 115, 116, 95, 114, 101, 102, + 101, 114, 101, 110, 99, 101, + 0, 120, 101, 95, 97, 108, + 112, 104, 97, 95, 116, 111, + 95, 109, 97, 115, 107, 0, + 120, 101, 95, 101, 100, 114, + 97, 109, 95, 51, 50, 98, + 112, 112, 95, 116, 105, 108, + 101, 95, 112, 105, 116, 99, + 104, 95, 100, 119, 111, 114, + 100, 115, 95, 115, 99, 97, + 108, 101, 100, 0, 120, 101, + 95, 99, 111, 108, 111, 114, + 95, 101, 120, 112, 95, 98, + 105, 97, 115, 0, 1, 0, + 3, 0, 1, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 172, 6, 0, 0, 120, 101, + 95, 101, 100, 114, 97, 109, + 95, 112, 111, 108, 121, 95, + 111, 102, 102, 115, 101, 116, + 95, 102, 114, 111, 110, 116, + 0, 120, 101, 95, 101, 100, + 114, 97, 109, 95, 112, 111, + 108, 121, 95, 111, 102, 102, + 115, 101, 116, 95, 98, 97, + 99, 107, 0, 120, 101, 95, + 101, 100, 114, 97, 109, 95, + 100, 101, 112, 116, 104, 95, + 98, 97, 115, 101, 95, 100, + 119, 111, 114, 100, 115, 95, + 115, 99, 97, 108, 101, 100, + 0, 120, 101, 95, 101, 100, + 114, 97, 109, 95, 115, 116, + 101, 110, 99, 105, 108, 0, 1, 0, 19, 0, 1, 0, 4, 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, 247, 7, 0, 0, - 120, 101, 95, 116, 101, 120, - 116, 117, 114, 101, 115, 95, - 114, 101, 115, 111, 108, 118, - 101, 100, 0, 120, 101, 95, - 97, 108, 112, 104, 97, 95, - 116, 101, 115, 116, 95, 114, - 101, 102, 101, 114, 101, 110, - 99, 101, 0, 120, 101, 95, - 97, 108, 112, 104, 97, 95, - 116, 111, 95, 109, 97, 115, - 107, 0, 120, 101, 95, 101, - 100, 114, 97, 109, 95, 51, - 50, 98, 112, 112, 95, 116, - 105, 108, 101, 95, 112, 105, - 116, 99, 104, 95, 100, 119, - 111, 114, 100, 115, 95, 115, - 99, 97, 108, 101, 100, 0, - 120, 101, 95, 99, 111, 108, - 111, 114, 95, 101, 120, 112, - 95, 98, 105, 97, 115, 0, - 1, 0, 3, 0, 1, 0, + 0, 0, 19, 8, 0, 0, + 120, 101, 95, 101, 100, 114, + 97, 109, 95, 114, 116, 95, + 98, 97, 115, 101, 95, 100, + 119, 111, 114, 100, 115, 95, + 115, 99, 97, 108, 101, 100, + 0, 171, 1, 0, 19, 0, + 1, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 19, 8, + 0, 0, 120, 101, 95, 101, + 100, 114, 97, 109, 95, 114, + 116, 95, 102, 111, 114, 109, + 97, 116, 95, 102, 108, 97, + 103, 115, 0, 120, 101, 95, + 101, 100, 114, 97, 109, 95, + 114, 116, 95, 99, 108, 97, + 109, 112, 0, 171, 1, 0, + 3, 0, 1, 0, 4, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 172, 6, 0, 0, - 120, 101, 95, 101, 100, 114, - 97, 109, 95, 112, 111, 108, - 121, 95, 111, 102, 102, 115, - 101, 116, 95, 102, 114, 111, - 110, 116, 0, 120, 101, 95, - 101, 100, 114, 97, 109, 95, - 112, 111, 108, 121, 95, 111, - 102, 102, 115, 101, 116, 95, - 98, 97, 99, 107, 0, 120, - 101, 95, 101, 100, 114, 97, - 109, 95, 100, 101, 112, 116, - 104, 95, 98, 97, 115, 101, - 95, 100, 119, 111, 114, 100, - 115, 95, 115, 99, 97, 108, - 101, 100, 0, 120, 101, 95, - 101, 100, 114, 97, 109, 95, - 115, 116, 101, 110, 99, 105, - 108, 0, 1, 0, 19, 0, - 1, 0, 4, 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, 247, 7, - 0, 0, 120, 101, 95, 101, - 100, 114, 97, 109, 95, 114, - 116, 95, 98, 97, 115, 101, - 95, 100, 119, 111, 114, 100, - 115, 95, 115, 99, 97, 108, - 101, 100, 0, 171, 1, 0, - 19, 0, 1, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 247, 7, 0, 0, 120, 101, + 172, 6, 0, 0, 120, 101, 95, 101, 100, 114, 97, 109, - 95, 114, 116, 95, 102, 111, - 114, 109, 97, 116, 95, 102, - 108, 97, 103, 115, 0, 120, - 101, 95, 101, 100, 114, 97, - 109, 95, 114, 116, 95, 99, - 108, 97, 109, 112, 0, 171, - 1, 0, 3, 0, 1, 0, - 4, 0, 4, 0, 0, 0, + 95, 114, 116, 95, 107, 101, + 101, 112, 95, 109, 97, 115, + 107, 0, 171, 171, 1, 0, + 19, 0, 1, 0, 4, 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, 172, 6, 0, 0, - 120, 101, 95, 101, 100, 114, - 97, 109, 95, 114, 116, 95, - 107, 101, 101, 112, 95, 109, - 97, 115, 107, 0, 171, 171, - 1, 0, 19, 0, 1, 0, - 4, 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, 247, 7, 0, 0, - 120, 101, 95, 101, 100, 114, - 97, 109, 95, 114, 116, 95, - 98, 108, 101, 110, 100, 95, - 102, 97, 99, 116, 111, 114, - 115, 95, 111, 112, 115, 0, - 120, 101, 95, 101, 100, 114, - 97, 109, 95, 98, 108, 101, - 110, 100, 95, 99, 111, 110, - 115, 116, 97, 110, 116, 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, 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, - 1, 1, 0, 0, 88, 69, - 86, 69, 82, 84, 69, 88, - 73, 68, 0, 171, 79, 83, + 19, 8, 0, 0, 120, 101, + 95, 101, 100, 114, 97, 109, + 95, 114, 116, 95, 98, 108, + 101, 110, 100, 95, 102, 97, + 99, 116, 111, 114, 115, 95, + 111, 112, 115, 0, 120, 101, + 95, 101, 100, 114, 97, 109, + 95, 98, 108, 101, 110, 100, + 95, 99, 111, 110, 115, 116, + 97, 110, 116, 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, 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, 1, 14, + 0, 0, 0, 0, 1, 1, 0, 0, 88, 69, 86, 69, 82, 84, 69, 88, 73, 68, - 0, 171, 80, 67, 83, 71, - 140, 0, 0, 0, 4, 0, + 0, 171, 79, 83, 71, 78, + 44, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, - 104, 0, 0, 0, 0, 0, - 0, 0, 13, 0, 0, 0, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 1, 14, 0, 0, - 104, 0, 0, 0, 1, 0, - 0, 0, 13, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 1, 14, 0, 0, - 104, 0, 0, 0, 2, 0, - 0, 0, 13, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 1, 14, 0, 0, - 118, 0, 0, 0, 0, 0, - 0, 0, 14, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 1, 14, 0, 0, - 83, 86, 95, 84, 101, 115, + 88, 69, 86, 69, 82, 84, + 69, 88, 73, 68, 0, 171, + 80, 67, 83, 71, 140, 0, + 0, 0, 4, 0, 0, 0, + 8, 0, 0, 0, 104, 0, + 0, 0, 0, 0, 0, 0, + 13, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 1, 14, 0, 0, 104, 0, + 0, 0, 1, 0, 0, 0, + 13, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 1, 14, 0, 0, 104, 0, + 0, 0, 2, 0, 0, 0, + 13, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 1, 14, 0, 0, 118, 0, + 0, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 1, 14, 0, 0, 83, 86, + 95, 84, 101, 115, 115, 70, + 97, 99, 116, 111, 114, 0, + 83, 86, 95, 73, 110, 115, + 105, 100, 101, 84, 101, 115, 115, 70, 97, 99, 116, 111, - 114, 0, 83, 86, 95, 73, - 110, 115, 105, 100, 101, 84, - 101, 115, 115, 70, 97, 99, - 116, 111, 114, 0, 171, 171, - 83, 72, 69, 88, 4, 1, - 0, 0, 81, 0, 3, 0, - 65, 0, 0, 0, 113, 0, - 0, 1, 147, 24, 0, 1, - 148, 24, 0, 1, 149, 16, - 0, 1, 150, 32, 0, 1, - 151, 24, 0, 1, 106, 8, - 0, 1, 89, 0, 0, 7, - 70, 142, 48, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 115, 0, 0, 1, 153, 0, - 0, 2, 3, 0, 0, 0, - 95, 0, 0, 2, 0, 112, - 1, 0, 103, 0, 0, 4, - 18, 32, 16, 0, 0, 0, - 0, 0, 17, 0, 0, 0, - 103, 0, 0, 4, 18, 32, - 16, 0, 1, 0, 0, 0, - 18, 0, 0, 0, 103, 0, - 0, 4, 18, 32, 16, 0, - 2, 0, 0, 0, 19, 0, - 0, 0, 104, 0, 0, 2, - 1, 0, 0, 0, 91, 0, - 0, 4, 18, 32, 16, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 54, 0, 0, 4, - 18, 0, 16, 0, 0, 0, - 0, 0, 10, 112, 1, 0, - 54, 0, 0, 8, 18, 32, - 144, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 42, 128, + 114, 0, 171, 171, 83, 72, + 69, 88, 4, 1, 0, 0, + 81, 0, 3, 0, 65, 0, + 0, 0, 113, 0, 0, 1, + 147, 24, 0, 1, 148, 24, + 0, 1, 149, 16, 0, 1, + 150, 32, 0, 1, 151, 24, + 0, 1, 106, 8, 0, 1, + 89, 0, 0, 7, 70, 142, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 62, 0, 0, 1, - 115, 0, 0, 1, 103, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 115, 0, + 0, 1, 153, 0, 0, 2, + 3, 0, 0, 0, 95, 0, + 0, 2, 0, 112, 1, 0, + 103, 0, 0, 4, 18, 32, + 16, 0, 0, 0, 0, 0, + 17, 0, 0, 0, 103, 0, 0, 4, 18, 32, 16, 0, - 3, 0, 0, 0, 20, 0, - 0, 0, 54, 0, 0, 7, - 18, 32, 16, 0, 3, 0, + 1, 0, 0, 0, 18, 0, + 0, 0, 103, 0, 0, 4, + 18, 32, 16, 0, 2, 0, + 0, 0, 19, 0, 0, 0, + 104, 0, 0, 2, 1, 0, + 0, 0, 91, 0, 0, 4, + 18, 32, 16, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 54, 0, 0, 4, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 112, 1, 0, 54, 0, + 0, 8, 18, 32, 144, 0, + 10, 0, 16, 0, 0, 0, 0, 0, 42, 128, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 62, 0, 0, 1, 83, 84, - 65, 84, 148, 0, 0, 0, - 5, 0, 0, 0, 1, 0, + 62, 0, 0, 1, 115, 0, + 0, 1, 103, 0, 0, 4, + 18, 32, 16, 0, 3, 0, + 0, 0, 20, 0, 0, 0, + 54, 0, 0, 7, 18, 32, + 16, 0, 3, 0, 0, 0, + 42, 128, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 62, 0, + 0, 1, 83, 84, 65, 84, + 148, 0, 0, 0, 5, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 4, 0, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0 + 0, 0 }; diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/discrete_quad_hs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/discrete_quad_hs.h index 3fb7e283f..4a5b81c9c 100644 --- a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/discrete_quad_hs.h +++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/discrete_quad_hs.h @@ -16,10 +16,10 @@ // uint2 xe_vertex_index_min_max; // Offset: 24 Size: 8 [unused] // float4 xe_user_clip_planes[6]; // Offset: 32 Size: 96 [unused] // float3 xe_ndc_scale; // Offset: 128 Size: 12 [unused] -// float xe_point_size_x; // Offset: 140 Size: 4 [unused] +// float xe_point_vertex_diameter_min;// Offset: 140 Size: 4 [unused] // float3 xe_ndc_offset; // Offset: 144 Size: 12 [unused] -// float xe_point_size_y; // Offset: 156 Size: 4 [unused] -// float2 xe_point_size_min_max; // Offset: 160 Size: 8 [unused] +// float xe_point_vertex_diameter_max;// Offset: 156 Size: 4 [unused] +// float2 xe_point_constant_radius; // Offset: 160 Size: 8 [unused] // float2 xe_point_screen_to_ndc; // Offset: 168 Size: 8 [unused] // uint xe_interpolator_sampling_pattern;// Offset: 176 Size: 4 [unused] // uint xe_ps_param_gen; // Offset: 180 Size: 4 [unused] @@ -121,21 +121,21 @@ ret const BYTE discrete_quad_hs[] = { - 68, 88, 66, 67, 30, 187, - 71, 171, 142, 3, 72, 194, - 131, 236, 131, 25, 126, 147, - 165, 207, 1, 0, 0, 0, - 240, 13, 0, 0, 6, 0, + 68, 88, 66, 67, 228, 206, + 50, 86, 18, 2, 56, 90, + 135, 194, 252, 60, 37, 181, + 95, 80, 1, 0, 0, 0, + 12, 14, 0, 0, 6, 0, 0, 0, 56, 0, 0, 0, - 188, 10, 0, 0, 240, 10, - 0, 0, 36, 11, 0, 0, - 232, 11, 0, 0, 84, 13, + 216, 10, 0, 0, 12, 11, + 0, 0, 64, 11, 0, 0, + 4, 12, 0, 0, 112, 13, 0, 0, 82, 68, 69, 70, - 124, 10, 0, 0, 1, 0, + 152, 10, 0, 0, 1, 0, 0, 0, 120, 0, 0, 0, 1, 0, 0, 0, 60, 0, 0, 0, 1, 5, 83, 72, - 0, 5, 0, 0, 82, 10, + 0, 5, 0, 0, 110, 10, 0, 0, 19, 19, 68, 37, 60, 0, 0, 0, 24, 0, 0, 0, 40, 0, 0, 0, @@ -211,161 +211,161 @@ const BYTE discrete_quad_hs[] = 255, 255, 0, 0, 0, 0, 16, 7, 0, 0, 140, 0, 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 40, 7, + 0, 0, 0, 0, 52, 7, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 76, 7, + 0, 0, 0, 0, 88, 7, 0, 0, 144, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 236, 6, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 90, 7, 0, 0, + 0, 0, 102, 7, 0, 0, 156, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, - 40, 7, 0, 0, 0, 0, + 52, 7, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 106, 7, 0, 0, 160, 0, + 131, 7, 0, 0, 160, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 128, 7, + 0, 0, 0, 0, 156, 7, 0, 0, 168, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 151, 7, 0, 0, + 0, 0, 179, 7, 0, 0, 176, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 184, 7, 0, 0, 180, 0, + 212, 7, 0, 0, 180, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 200, 7, + 0, 0, 0, 0, 228, 7, 0, 0, 184, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 116, 6, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 221, 7, 0, 0, + 0, 0, 249, 7, 0, 0, 192, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 0, 8, 0, 0, 0, 0, + 28, 8, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 36, 8, 0, 0, 224, 0, + 64, 8, 0, 0, 224, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 57, 8, + 0, 0, 0, 0, 85, 8, 0, 0, 228, 0, 0, 0, 4, 0, 0, 0, 0, 0, - 0, 0, 40, 7, 0, 0, + 0, 0, 52, 7, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 81, 8, 0, 0, + 0, 0, 109, 8, 0, 0, 232, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 98, 8, 0, 0, 236, 0, + 126, 8, 0, 0, 236, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 138, 8, + 0, 0, 0, 0, 166, 8, 0, 0, 240, 0, 0, 0, 16, 0, 0, 0, 0, 0, - 0, 0, 156, 8, 0, 0, + 0, 0, 184, 8, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 192, 8, 0, 0, + 0, 0, 220, 8, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 219, 8, 0, 0, 8, 1, + 247, 8, 0, 0, 8, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 245, 8, + 0, 0, 0, 0, 17, 9, 0, 0, 16, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 23, 9, 0, 0, + 0, 0, 51, 9, 0, 0, 32, 1, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 40, 9, 0, 0, 0, 0, + 68, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 76, 9, 0, 0, 64, 1, + 104, 9, 0, 0, 64, 1, 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 108, 9, + 0, 0, 0, 0, 136, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 144, 9, + 0, 0, 0, 0, 172, 9, 0, 0, 80, 1, 0, 0, 16, 0, 0, 0, 0, 0, - 0, 0, 108, 9, 0, 0, + 0, 0, 136, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 169, 9, 0, 0, + 0, 0, 197, 9, 0, 0, 96, 1, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, - 188, 9, 0, 0, 0, 0, + 216, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 224, 9, 0, 0, 160, 1, + 252, 9, 0, 0, 160, 1, 0, 0, 32, 0, 0, 0, - 0, 0, 0, 0, 248, 9, + 0, 0, 0, 0, 20, 10, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 28, 10, + 0, 0, 0, 0, 56, 10, 0, 0, 192, 1, 0, 0, 16, 0, 0, 0, 0, 0, - 0, 0, 108, 9, 0, 0, + 0, 0, 136, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 58, 10, 0, 0, + 0, 0, 86, 10, 0, 0, 208, 1, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, - 156, 8, 0, 0, 0, 0, + 184, 8, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, @@ -434,286 +434,291 @@ const BYTE discrete_quad_hs[] = 0, 0, 0, 0, 0, 0, 0, 0, 229, 6, 0, 0, 120, 101, 95, 112, 111, 105, - 110, 116, 95, 115, 105, 122, - 101, 95, 120, 0, 102, 108, - 111, 97, 116, 0, 171, 171, + 110, 116, 95, 118, 101, 114, + 116, 101, 120, 95, 100, 105, + 97, 109, 101, 116, 101, 114, + 95, 109, 105, 110, 0, 102, + 108, 111, 97, 116, 0, 171, 0, 0, 3, 0, 1, 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, 32, 7, 0, 0, + 0, 0, 45, 7, 0, 0, 120, 101, 95, 110, 100, 99, 95, 111, 102, 102, 115, 101, 116, 0, 120, 101, 95, 112, + 111, 105, 110, 116, 95, 118, + 101, 114, 116, 101, 120, 95, + 100, 105, 97, 109, 101, 116, + 101, 114, 95, 109, 97, 120, + 0, 120, 101, 95, 112, 111, + 105, 110, 116, 95, 99, 111, + 110, 115, 116, 97, 110, 116, + 95, 114, 97, 100, 105, 117, + 115, 0, 120, 101, 95, 112, 111, 105, 110, 116, 95, 115, - 105, 122, 101, 95, 121, 0, - 120, 101, 95, 112, 111, 105, - 110, 116, 95, 115, 105, 122, - 101, 95, 109, 105, 110, 95, - 109, 97, 120, 0, 120, 101, - 95, 112, 111, 105, 110, 116, - 95, 115, 99, 114, 101, 101, - 110, 95, 116, 111, 95, 110, - 100, 99, 0, 120, 101, 95, - 105, 110, 116, 101, 114, 112, - 111, 108, 97, 116, 111, 114, - 95, 115, 97, 109, 112, 108, - 105, 110, 103, 95, 112, 97, - 116, 116, 101, 114, 110, 0, - 120, 101, 95, 112, 115, 95, - 112, 97, 114, 97, 109, 95, - 103, 101, 110, 0, 120, 101, - 95, 115, 97, 109, 112, 108, - 101, 95, 99, 111, 117, 110, - 116, 95, 108, 111, 103, 50, - 0, 120, 101, 95, 116, 101, - 120, 116, 117, 114, 101, 95, - 115, 119, 105, 122, 122, 108, - 101, 100, 95, 115, 105, 103, - 110, 115, 0, 117, 105, 110, - 116, 52, 0, 171, 171, 171, + 99, 114, 101, 101, 110, 95, + 116, 111, 95, 110, 100, 99, + 0, 120, 101, 95, 105, 110, + 116, 101, 114, 112, 111, 108, + 97, 116, 111, 114, 95, 115, + 97, 109, 112, 108, 105, 110, + 103, 95, 112, 97, 116, 116, + 101, 114, 110, 0, 120, 101, + 95, 112, 115, 95, 112, 97, + 114, 97, 109, 95, 103, 101, + 110, 0, 120, 101, 95, 115, + 97, 109, 112, 108, 101, 95, + 99, 111, 117, 110, 116, 95, + 108, 111, 103, 50, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 115, 119, + 105, 122, 122, 108, 101, 100, + 95, 115, 105, 103, 110, 115, + 0, 117, 105, 110, 116, 52, + 0, 171, 171, 171, 1, 0, + 19, 0, 1, 0, 4, 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, + 19, 8, 0, 0, 120, 101, + 95, 116, 101, 120, 116, 117, + 114, 101, 115, 95, 114, 101, + 115, 111, 108, 118, 101, 100, + 0, 120, 101, 95, 97, 108, + 112, 104, 97, 95, 116, 101, + 115, 116, 95, 114, 101, 102, + 101, 114, 101, 110, 99, 101, + 0, 120, 101, 95, 97, 108, + 112, 104, 97, 95, 116, 111, + 95, 109, 97, 115, 107, 0, + 120, 101, 95, 101, 100, 114, + 97, 109, 95, 51, 50, 98, + 112, 112, 95, 116, 105, 108, + 101, 95, 112, 105, 116, 99, + 104, 95, 100, 119, 111, 114, + 100, 115, 95, 115, 99, 97, + 108, 101, 100, 0, 120, 101, + 95, 99, 111, 108, 111, 114, + 95, 101, 120, 112, 95, 98, + 105, 97, 115, 0, 1, 0, + 3, 0, 1, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 172, 6, 0, 0, 120, 101, + 95, 101, 100, 114, 97, 109, + 95, 112, 111, 108, 121, 95, + 111, 102, 102, 115, 101, 116, + 95, 102, 114, 111, 110, 116, + 0, 120, 101, 95, 101, 100, + 114, 97, 109, 95, 112, 111, + 108, 121, 95, 111, 102, 102, + 115, 101, 116, 95, 98, 97, + 99, 107, 0, 120, 101, 95, + 101, 100, 114, 97, 109, 95, + 100, 101, 112, 116, 104, 95, + 98, 97, 115, 101, 95, 100, + 119, 111, 114, 100, 115, 95, + 115, 99, 97, 108, 101, 100, + 0, 120, 101, 95, 101, 100, + 114, 97, 109, 95, 115, 116, + 101, 110, 99, 105, 108, 0, 1, 0, 19, 0, 1, 0, 4, 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, 247, 7, 0, 0, - 120, 101, 95, 116, 101, 120, - 116, 117, 114, 101, 115, 95, - 114, 101, 115, 111, 108, 118, - 101, 100, 0, 120, 101, 95, - 97, 108, 112, 104, 97, 95, - 116, 101, 115, 116, 95, 114, - 101, 102, 101, 114, 101, 110, - 99, 101, 0, 120, 101, 95, - 97, 108, 112, 104, 97, 95, - 116, 111, 95, 109, 97, 115, - 107, 0, 120, 101, 95, 101, - 100, 114, 97, 109, 95, 51, - 50, 98, 112, 112, 95, 116, - 105, 108, 101, 95, 112, 105, - 116, 99, 104, 95, 100, 119, - 111, 114, 100, 115, 95, 115, - 99, 97, 108, 101, 100, 0, - 120, 101, 95, 99, 111, 108, - 111, 114, 95, 101, 120, 112, - 95, 98, 105, 97, 115, 0, - 1, 0, 3, 0, 1, 0, + 0, 0, 19, 8, 0, 0, + 120, 101, 95, 101, 100, 114, + 97, 109, 95, 114, 116, 95, + 98, 97, 115, 101, 95, 100, + 119, 111, 114, 100, 115, 95, + 115, 99, 97, 108, 101, 100, + 0, 171, 1, 0, 19, 0, + 1, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 19, 8, + 0, 0, 120, 101, 95, 101, + 100, 114, 97, 109, 95, 114, + 116, 95, 102, 111, 114, 109, + 97, 116, 95, 102, 108, 97, + 103, 115, 0, 120, 101, 95, + 101, 100, 114, 97, 109, 95, + 114, 116, 95, 99, 108, 97, + 109, 112, 0, 171, 1, 0, + 3, 0, 1, 0, 4, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 172, 6, 0, 0, - 120, 101, 95, 101, 100, 114, - 97, 109, 95, 112, 111, 108, - 121, 95, 111, 102, 102, 115, - 101, 116, 95, 102, 114, 111, - 110, 116, 0, 120, 101, 95, - 101, 100, 114, 97, 109, 95, - 112, 111, 108, 121, 95, 111, - 102, 102, 115, 101, 116, 95, - 98, 97, 99, 107, 0, 120, - 101, 95, 101, 100, 114, 97, - 109, 95, 100, 101, 112, 116, - 104, 95, 98, 97, 115, 101, - 95, 100, 119, 111, 114, 100, - 115, 95, 115, 99, 97, 108, - 101, 100, 0, 120, 101, 95, - 101, 100, 114, 97, 109, 95, - 115, 116, 101, 110, 99, 105, - 108, 0, 1, 0, 19, 0, - 1, 0, 4, 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, 247, 7, - 0, 0, 120, 101, 95, 101, - 100, 114, 97, 109, 95, 114, - 116, 95, 98, 97, 115, 101, - 95, 100, 119, 111, 114, 100, - 115, 95, 115, 99, 97, 108, - 101, 100, 0, 171, 1, 0, - 19, 0, 1, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 247, 7, 0, 0, 120, 101, + 172, 6, 0, 0, 120, 101, 95, 101, 100, 114, 97, 109, - 95, 114, 116, 95, 102, 111, - 114, 109, 97, 116, 95, 102, - 108, 97, 103, 115, 0, 120, - 101, 95, 101, 100, 114, 97, - 109, 95, 114, 116, 95, 99, - 108, 97, 109, 112, 0, 171, - 1, 0, 3, 0, 1, 0, - 4, 0, 4, 0, 0, 0, + 95, 114, 116, 95, 107, 101, + 101, 112, 95, 109, 97, 115, + 107, 0, 171, 171, 1, 0, + 19, 0, 1, 0, 4, 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, 172, 6, 0, 0, - 120, 101, 95, 101, 100, 114, - 97, 109, 95, 114, 116, 95, - 107, 101, 101, 112, 95, 109, - 97, 115, 107, 0, 171, 171, - 1, 0, 19, 0, 1, 0, - 4, 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, 247, 7, 0, 0, - 120, 101, 95, 101, 100, 114, - 97, 109, 95, 114, 116, 95, - 98, 108, 101, 110, 100, 95, - 102, 97, 99, 116, 111, 114, - 115, 95, 111, 112, 115, 0, - 120, 101, 95, 101, 100, 114, - 97, 109, 95, 98, 108, 101, - 110, 100, 95, 99, 111, 110, - 115, 116, 97, 110, 116, 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, 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, - 1, 1, 0, 0, 88, 69, - 86, 69, 82, 84, 69, 88, - 73, 68, 0, 171, 79, 83, + 19, 8, 0, 0, 120, 101, + 95, 101, 100, 114, 97, 109, + 95, 114, 116, 95, 98, 108, + 101, 110, 100, 95, 102, 97, + 99, 116, 111, 114, 115, 95, + 111, 112, 115, 0, 120, 101, + 95, 101, 100, 114, 97, 109, + 95, 98, 108, 101, 110, 100, + 95, 99, 111, 110, 115, 116, + 97, 110, 116, 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, 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, 1, 14, + 0, 0, 0, 0, 1, 1, 0, 0, 88, 69, 86, 69, 82, 84, 69, 88, 73, 68, - 0, 171, 80, 67, 83, 71, - 188, 0, 0, 0, 6, 0, + 0, 171, 79, 83, 71, 78, + 44, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, - 152, 0, 0, 0, 0, 0, - 0, 0, 11, 0, 0, 0, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 1, 14, 0, 0, - 152, 0, 0, 0, 1, 0, - 0, 0, 11, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 1, 14, 0, 0, - 152, 0, 0, 0, 2, 0, - 0, 0, 11, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 1, 14, 0, 0, - 152, 0, 0, 0, 3, 0, - 0, 0, 11, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 1, 14, 0, 0, - 166, 0, 0, 0, 0, 0, - 0, 0, 12, 0, 0, 0, - 3, 0, 0, 0, 4, 0, - 0, 0, 1, 14, 0, 0, - 166, 0, 0, 0, 1, 0, - 0, 0, 12, 0, 0, 0, - 3, 0, 0, 0, 5, 0, - 0, 0, 1, 14, 0, 0, - 83, 86, 95, 84, 101, 115, + 88, 69, 86, 69, 82, 84, + 69, 88, 73, 68, 0, 171, + 80, 67, 83, 71, 188, 0, + 0, 0, 6, 0, 0, 0, + 8, 0, 0, 0, 152, 0, + 0, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 1, 14, 0, 0, 152, 0, + 0, 0, 1, 0, 0, 0, + 11, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 1, 14, 0, 0, 152, 0, + 0, 0, 2, 0, 0, 0, + 11, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 1, 14, 0, 0, 152, 0, + 0, 0, 3, 0, 0, 0, + 11, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 1, 14, 0, 0, 166, 0, + 0, 0, 0, 0, 0, 0, + 12, 0, 0, 0, 3, 0, + 0, 0, 4, 0, 0, 0, + 1, 14, 0, 0, 166, 0, + 0, 0, 1, 0, 0, 0, + 12, 0, 0, 0, 3, 0, + 0, 0, 5, 0, 0, 0, + 1, 14, 0, 0, 83, 86, + 95, 84, 101, 115, 115, 70, + 97, 99, 116, 111, 114, 0, + 83, 86, 95, 73, 110, 115, + 105, 100, 101, 84, 101, 115, 115, 70, 97, 99, 116, 111, - 114, 0, 83, 86, 95, 73, - 110, 115, 105, 100, 101, 84, - 101, 115, 115, 70, 97, 99, - 116, 111, 114, 0, 171, 171, - 83, 72, 69, 88, 100, 1, - 0, 0, 81, 0, 3, 0, - 89, 0, 0, 0, 113, 0, - 0, 1, 147, 32, 0, 1, - 148, 32, 0, 1, 149, 24, - 0, 1, 150, 8, 0, 1, - 151, 24, 0, 1, 106, 8, - 0, 1, 89, 0, 0, 7, - 70, 142, 48, 0, 0, 0, + 114, 0, 171, 171, 83, 72, + 69, 88, 100, 1, 0, 0, + 81, 0, 3, 0, 89, 0, + 0, 0, 113, 0, 0, 1, + 147, 32, 0, 1, 148, 32, + 0, 1, 149, 24, 0, 1, + 150, 8, 0, 1, 151, 24, + 0, 1, 106, 8, 0, 1, + 89, 0, 0, 7, 70, 142, + 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 115, 0, 0, 1, 153, 0, - 0, 2, 4, 0, 0, 0, - 95, 0, 0, 2, 0, 112, - 1, 0, 103, 0, 0, 4, - 18, 32, 16, 0, 0, 0, - 0, 0, 11, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 115, 0, + 0, 1, 153, 0, 0, 2, + 4, 0, 0, 0, 95, 0, + 0, 2, 0, 112, 1, 0, 103, 0, 0, 4, 18, 32, - 16, 0, 1, 0, 0, 0, - 12, 0, 0, 0, 103, 0, + 16, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 103, 0, 0, 4, 18, 32, 16, 0, - 2, 0, 0, 0, 13, 0, + 1, 0, 0, 0, 12, 0, 0, 0, 103, 0, 0, 4, - 18, 32, 16, 0, 3, 0, - 0, 0, 14, 0, 0, 0, + 18, 32, 16, 0, 2, 0, + 0, 0, 13, 0, 0, 0, + 103, 0, 0, 4, 18, 32, + 16, 0, 3, 0, 0, 0, + 14, 0, 0, 0, 104, 0, + 0, 2, 1, 0, 0, 0, + 91, 0, 0, 4, 18, 32, + 16, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 54, 0, + 0, 4, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 112, + 1, 0, 54, 0, 0, 8, + 18, 32, 144, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 42, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 62, 0, + 0, 1, 115, 0, 0, 1, + 153, 0, 0, 2, 2, 0, + 0, 0, 95, 0, 0, 2, + 0, 112, 1, 0, 103, 0, + 0, 4, 18, 32, 16, 0, + 4, 0, 0, 0, 15, 0, + 0, 0, 103, 0, 0, 4, + 18, 32, 16, 0, 5, 0, + 0, 0, 16, 0, 0, 0, 104, 0, 0, 2, 1, 0, 0, 0, 91, 0, 0, 4, - 18, 32, 16, 0, 0, 0, - 0, 0, 4, 0, 0, 0, + 18, 32, 16, 0, 4, 0, + 0, 0, 2, 0, 0, 0, 54, 0, 0, 4, 18, 0, 16, 0, 0, 0, 0, 0, 10, 112, 1, 0, 54, 0, - 0, 8, 18, 32, 144, 0, - 10, 0, 16, 0, 0, 0, - 0, 0, 42, 128, 48, 0, + 0, 9, 18, 32, 208, 0, + 4, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 42, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 62, 0, + 0, 1, 83, 84, 65, 84, + 148, 0, 0, 0, 6, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 62, 0, 0, 1, 115, 0, - 0, 1, 153, 0, 0, 2, - 2, 0, 0, 0, 95, 0, - 0, 2, 0, 112, 1, 0, - 103, 0, 0, 4, 18, 32, - 16, 0, 4, 0, 0, 0, - 15, 0, 0, 0, 103, 0, - 0, 4, 18, 32, 16, 0, - 5, 0, 0, 0, 16, 0, - 0, 0, 104, 0, 0, 2, - 1, 0, 0, 0, 91, 0, - 0, 4, 18, 32, 16, 0, - 4, 0, 0, 0, 2, 0, - 0, 0, 54, 0, 0, 4, - 18, 0, 16, 0, 0, 0, - 0, 0, 10, 112, 1, 0, - 54, 0, 0, 9, 18, 32, - 208, 0, 4, 0, 0, 0, - 10, 0, 16, 0, 0, 0, - 0, 0, 42, 128, 48, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 62, 0, 0, 1, 83, 84, - 65, 84, 148, 0, 0, 0, - 6, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 0, + 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 11, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 4, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0 + 0, 0 }; diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/discrete_triangle_hs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/discrete_triangle_hs.h index 4d4118deb..39b97f602 100644 --- a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/discrete_triangle_hs.h +++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/discrete_triangle_hs.h @@ -16,10 +16,10 @@ // uint2 xe_vertex_index_min_max; // Offset: 24 Size: 8 [unused] // float4 xe_user_clip_planes[6]; // Offset: 32 Size: 96 [unused] // float3 xe_ndc_scale; // Offset: 128 Size: 12 [unused] -// float xe_point_size_x; // Offset: 140 Size: 4 [unused] +// float xe_point_vertex_diameter_min;// Offset: 140 Size: 4 [unused] // float3 xe_ndc_offset; // Offset: 144 Size: 12 [unused] -// float xe_point_size_y; // Offset: 156 Size: 4 [unused] -// float2 xe_point_size_min_max; // Offset: 160 Size: 8 [unused] +// float xe_point_vertex_diameter_max;// Offset: 156 Size: 4 [unused] +// float2 xe_point_constant_radius; // Offset: 160 Size: 8 [unused] // float2 xe_point_screen_to_ndc; // Offset: 168 Size: 8 [unused] // uint xe_interpolator_sampling_pattern;// Offset: 176 Size: 4 [unused] // uint xe_ps_param_gen; // Offset: 180 Size: 4 [unused] @@ -112,21 +112,21 @@ ret const BYTE discrete_triangle_hs[] = { - 68, 88, 66, 67, 59, 166, - 23, 194, 170, 244, 84, 16, - 156, 139, 156, 141, 147, 143, - 102, 19, 1, 0, 0, 0, - 96, 13, 0, 0, 6, 0, + 68, 88, 66, 67, 148, 187, + 8, 94, 203, 120, 121, 120, + 126, 74, 170, 83, 209, 21, + 43, 73, 1, 0, 0, 0, + 124, 13, 0, 0, 6, 0, 0, 0, 56, 0, 0, 0, - 188, 10, 0, 0, 240, 10, - 0, 0, 36, 11, 0, 0, - 184, 11, 0, 0, 196, 12, + 216, 10, 0, 0, 12, 11, + 0, 0, 64, 11, 0, 0, + 212, 11, 0, 0, 224, 12, 0, 0, 82, 68, 69, 70, - 124, 10, 0, 0, 1, 0, + 152, 10, 0, 0, 1, 0, 0, 0, 120, 0, 0, 0, 1, 0, 0, 0, 60, 0, 0, 0, 1, 5, 83, 72, - 0, 5, 0, 0, 82, 10, + 0, 5, 0, 0, 110, 10, 0, 0, 19, 19, 68, 37, 60, 0, 0, 0, 24, 0, 0, 0, 40, 0, 0, 0, @@ -202,161 +202,161 @@ const BYTE discrete_triangle_hs[] = 255, 255, 0, 0, 0, 0, 16, 7, 0, 0, 140, 0, 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 40, 7, + 0, 0, 0, 0, 52, 7, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 76, 7, + 0, 0, 0, 0, 88, 7, 0, 0, 144, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 236, 6, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 90, 7, 0, 0, + 0, 0, 102, 7, 0, 0, 156, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, - 40, 7, 0, 0, 0, 0, + 52, 7, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 106, 7, 0, 0, 160, 0, + 131, 7, 0, 0, 160, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 128, 7, + 0, 0, 0, 0, 156, 7, 0, 0, 168, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 151, 7, 0, 0, + 0, 0, 179, 7, 0, 0, 176, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 184, 7, 0, 0, 180, 0, + 212, 7, 0, 0, 180, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 200, 7, + 0, 0, 0, 0, 228, 7, 0, 0, 184, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 116, 6, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 221, 7, 0, 0, + 0, 0, 249, 7, 0, 0, 192, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 0, 8, 0, 0, 0, 0, + 28, 8, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 36, 8, 0, 0, 224, 0, + 64, 8, 0, 0, 224, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 57, 8, + 0, 0, 0, 0, 85, 8, 0, 0, 228, 0, 0, 0, 4, 0, 0, 0, 0, 0, - 0, 0, 40, 7, 0, 0, + 0, 0, 52, 7, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 81, 8, 0, 0, + 0, 0, 109, 8, 0, 0, 232, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 98, 8, 0, 0, 236, 0, + 126, 8, 0, 0, 236, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 138, 8, + 0, 0, 0, 0, 166, 8, 0, 0, 240, 0, 0, 0, 16, 0, 0, 0, 0, 0, - 0, 0, 156, 8, 0, 0, + 0, 0, 184, 8, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 192, 8, 0, 0, + 0, 0, 220, 8, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 219, 8, 0, 0, 8, 1, + 247, 8, 0, 0, 8, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 245, 8, + 0, 0, 0, 0, 17, 9, 0, 0, 16, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 23, 9, 0, 0, + 0, 0, 51, 9, 0, 0, 32, 1, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 40, 9, 0, 0, 0, 0, + 68, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 76, 9, 0, 0, 64, 1, + 104, 9, 0, 0, 64, 1, 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 108, 9, + 0, 0, 0, 0, 136, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 144, 9, + 0, 0, 0, 0, 172, 9, 0, 0, 80, 1, 0, 0, 16, 0, 0, 0, 0, 0, - 0, 0, 108, 9, 0, 0, + 0, 0, 136, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 169, 9, 0, 0, + 0, 0, 197, 9, 0, 0, 96, 1, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, - 188, 9, 0, 0, 0, 0, + 216, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 224, 9, 0, 0, 160, 1, + 252, 9, 0, 0, 160, 1, 0, 0, 32, 0, 0, 0, - 0, 0, 0, 0, 248, 9, + 0, 0, 0, 0, 20, 10, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 28, 10, + 0, 0, 0, 0, 56, 10, 0, 0, 192, 1, 0, 0, 16, 0, 0, 0, 0, 0, - 0, 0, 108, 9, 0, 0, + 0, 0, 136, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 58, 10, 0, 0, + 0, 0, 86, 10, 0, 0, 208, 1, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, - 156, 8, 0, 0, 0, 0, + 184, 8, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, @@ -425,262 +425,267 @@ const BYTE discrete_triangle_hs[] = 0, 0, 0, 0, 0, 0, 0, 0, 229, 6, 0, 0, 120, 101, 95, 112, 111, 105, - 110, 116, 95, 115, 105, 122, - 101, 95, 120, 0, 102, 108, - 111, 97, 116, 0, 171, 171, + 110, 116, 95, 118, 101, 114, + 116, 101, 120, 95, 100, 105, + 97, 109, 101, 116, 101, 114, + 95, 109, 105, 110, 0, 102, + 108, 111, 97, 116, 0, 171, 0, 0, 3, 0, 1, 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, 32, 7, 0, 0, + 0, 0, 45, 7, 0, 0, 120, 101, 95, 110, 100, 99, 95, 111, 102, 102, 115, 101, 116, 0, 120, 101, 95, 112, + 111, 105, 110, 116, 95, 118, + 101, 114, 116, 101, 120, 95, + 100, 105, 97, 109, 101, 116, + 101, 114, 95, 109, 97, 120, + 0, 120, 101, 95, 112, 111, + 105, 110, 116, 95, 99, 111, + 110, 115, 116, 97, 110, 116, + 95, 114, 97, 100, 105, 117, + 115, 0, 120, 101, 95, 112, 111, 105, 110, 116, 95, 115, - 105, 122, 101, 95, 121, 0, - 120, 101, 95, 112, 111, 105, - 110, 116, 95, 115, 105, 122, - 101, 95, 109, 105, 110, 95, - 109, 97, 120, 0, 120, 101, - 95, 112, 111, 105, 110, 116, - 95, 115, 99, 114, 101, 101, - 110, 95, 116, 111, 95, 110, - 100, 99, 0, 120, 101, 95, - 105, 110, 116, 101, 114, 112, - 111, 108, 97, 116, 111, 114, - 95, 115, 97, 109, 112, 108, - 105, 110, 103, 95, 112, 97, - 116, 116, 101, 114, 110, 0, - 120, 101, 95, 112, 115, 95, - 112, 97, 114, 97, 109, 95, - 103, 101, 110, 0, 120, 101, - 95, 115, 97, 109, 112, 108, - 101, 95, 99, 111, 117, 110, - 116, 95, 108, 111, 103, 50, - 0, 120, 101, 95, 116, 101, - 120, 116, 117, 114, 101, 95, - 115, 119, 105, 122, 122, 108, - 101, 100, 95, 115, 105, 103, - 110, 115, 0, 117, 105, 110, - 116, 52, 0, 171, 171, 171, + 99, 114, 101, 101, 110, 95, + 116, 111, 95, 110, 100, 99, + 0, 120, 101, 95, 105, 110, + 116, 101, 114, 112, 111, 108, + 97, 116, 111, 114, 95, 115, + 97, 109, 112, 108, 105, 110, + 103, 95, 112, 97, 116, 116, + 101, 114, 110, 0, 120, 101, + 95, 112, 115, 95, 112, 97, + 114, 97, 109, 95, 103, 101, + 110, 0, 120, 101, 95, 115, + 97, 109, 112, 108, 101, 95, + 99, 111, 117, 110, 116, 95, + 108, 111, 103, 50, 0, 120, + 101, 95, 116, 101, 120, 116, + 117, 114, 101, 95, 115, 119, + 105, 122, 122, 108, 101, 100, + 95, 115, 105, 103, 110, 115, + 0, 117, 105, 110, 116, 52, + 0, 171, 171, 171, 1, 0, + 19, 0, 1, 0, 4, 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, + 19, 8, 0, 0, 120, 101, + 95, 116, 101, 120, 116, 117, + 114, 101, 115, 95, 114, 101, + 115, 111, 108, 118, 101, 100, + 0, 120, 101, 95, 97, 108, + 112, 104, 97, 95, 116, 101, + 115, 116, 95, 114, 101, 102, + 101, 114, 101, 110, 99, 101, + 0, 120, 101, 95, 97, 108, + 112, 104, 97, 95, 116, 111, + 95, 109, 97, 115, 107, 0, + 120, 101, 95, 101, 100, 114, + 97, 109, 95, 51, 50, 98, + 112, 112, 95, 116, 105, 108, + 101, 95, 112, 105, 116, 99, + 104, 95, 100, 119, 111, 114, + 100, 115, 95, 115, 99, 97, + 108, 101, 100, 0, 120, 101, + 95, 99, 111, 108, 111, 114, + 95, 101, 120, 112, 95, 98, + 105, 97, 115, 0, 1, 0, + 3, 0, 1, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 172, 6, 0, 0, 120, 101, + 95, 101, 100, 114, 97, 109, + 95, 112, 111, 108, 121, 95, + 111, 102, 102, 115, 101, 116, + 95, 102, 114, 111, 110, 116, + 0, 120, 101, 95, 101, 100, + 114, 97, 109, 95, 112, 111, + 108, 121, 95, 111, 102, 102, + 115, 101, 116, 95, 98, 97, + 99, 107, 0, 120, 101, 95, + 101, 100, 114, 97, 109, 95, + 100, 101, 112, 116, 104, 95, + 98, 97, 115, 101, 95, 100, + 119, 111, 114, 100, 115, 95, + 115, 99, 97, 108, 101, 100, + 0, 120, 101, 95, 101, 100, + 114, 97, 109, 95, 115, 116, + 101, 110, 99, 105, 108, 0, 1, 0, 19, 0, 1, 0, 4, 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, 247, 7, 0, 0, - 120, 101, 95, 116, 101, 120, - 116, 117, 114, 101, 115, 95, - 114, 101, 115, 111, 108, 118, - 101, 100, 0, 120, 101, 95, - 97, 108, 112, 104, 97, 95, - 116, 101, 115, 116, 95, 114, - 101, 102, 101, 114, 101, 110, - 99, 101, 0, 120, 101, 95, - 97, 108, 112, 104, 97, 95, - 116, 111, 95, 109, 97, 115, - 107, 0, 120, 101, 95, 101, - 100, 114, 97, 109, 95, 51, - 50, 98, 112, 112, 95, 116, - 105, 108, 101, 95, 112, 105, - 116, 99, 104, 95, 100, 119, - 111, 114, 100, 115, 95, 115, - 99, 97, 108, 101, 100, 0, - 120, 101, 95, 99, 111, 108, - 111, 114, 95, 101, 120, 112, - 95, 98, 105, 97, 115, 0, - 1, 0, 3, 0, 1, 0, + 0, 0, 19, 8, 0, 0, + 120, 101, 95, 101, 100, 114, + 97, 109, 95, 114, 116, 95, + 98, 97, 115, 101, 95, 100, + 119, 111, 114, 100, 115, 95, + 115, 99, 97, 108, 101, 100, + 0, 171, 1, 0, 19, 0, + 1, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 19, 8, + 0, 0, 120, 101, 95, 101, + 100, 114, 97, 109, 95, 114, + 116, 95, 102, 111, 114, 109, + 97, 116, 95, 102, 108, 97, + 103, 115, 0, 120, 101, 95, + 101, 100, 114, 97, 109, 95, + 114, 116, 95, 99, 108, 97, + 109, 112, 0, 171, 1, 0, + 3, 0, 1, 0, 4, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 172, 6, 0, 0, - 120, 101, 95, 101, 100, 114, - 97, 109, 95, 112, 111, 108, - 121, 95, 111, 102, 102, 115, - 101, 116, 95, 102, 114, 111, - 110, 116, 0, 120, 101, 95, - 101, 100, 114, 97, 109, 95, - 112, 111, 108, 121, 95, 111, - 102, 102, 115, 101, 116, 95, - 98, 97, 99, 107, 0, 120, - 101, 95, 101, 100, 114, 97, - 109, 95, 100, 101, 112, 116, - 104, 95, 98, 97, 115, 101, - 95, 100, 119, 111, 114, 100, - 115, 95, 115, 99, 97, 108, - 101, 100, 0, 120, 101, 95, - 101, 100, 114, 97, 109, 95, - 115, 116, 101, 110, 99, 105, - 108, 0, 1, 0, 19, 0, - 1, 0, 4, 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, 247, 7, - 0, 0, 120, 101, 95, 101, - 100, 114, 97, 109, 95, 114, - 116, 95, 98, 97, 115, 101, - 95, 100, 119, 111, 114, 100, - 115, 95, 115, 99, 97, 108, - 101, 100, 0, 171, 1, 0, - 19, 0, 1, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 247, 7, 0, 0, 120, 101, + 172, 6, 0, 0, 120, 101, 95, 101, 100, 114, 97, 109, - 95, 114, 116, 95, 102, 111, - 114, 109, 97, 116, 95, 102, - 108, 97, 103, 115, 0, 120, - 101, 95, 101, 100, 114, 97, - 109, 95, 114, 116, 95, 99, - 108, 97, 109, 112, 0, 171, - 1, 0, 3, 0, 1, 0, - 4, 0, 4, 0, 0, 0, + 95, 114, 116, 95, 107, 101, + 101, 112, 95, 109, 97, 115, + 107, 0, 171, 171, 1, 0, + 19, 0, 1, 0, 4, 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, 172, 6, 0, 0, - 120, 101, 95, 101, 100, 114, - 97, 109, 95, 114, 116, 95, - 107, 101, 101, 112, 95, 109, - 97, 115, 107, 0, 171, 171, - 1, 0, 19, 0, 1, 0, - 4, 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, 247, 7, 0, 0, - 120, 101, 95, 101, 100, 114, - 97, 109, 95, 114, 116, 95, - 98, 108, 101, 110, 100, 95, - 102, 97, 99, 116, 111, 114, - 115, 95, 111, 112, 115, 0, - 120, 101, 95, 101, 100, 114, - 97, 109, 95, 98, 108, 101, - 110, 100, 95, 99, 111, 110, - 115, 116, 97, 110, 116, 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, 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, - 1, 1, 0, 0, 88, 69, - 86, 69, 82, 84, 69, 88, - 73, 68, 0, 171, 79, 83, + 19, 8, 0, 0, 120, 101, + 95, 101, 100, 114, 97, 109, + 95, 114, 116, 95, 98, 108, + 101, 110, 100, 95, 102, 97, + 99, 116, 111, 114, 115, 95, + 111, 112, 115, 0, 120, 101, + 95, 101, 100, 114, 97, 109, + 95, 98, 108, 101, 110, 100, + 95, 99, 111, 110, 115, 116, + 97, 110, 116, 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, 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, 1, 14, + 0, 0, 0, 0, 1, 1, 0, 0, 88, 69, 86, 69, 82, 84, 69, 88, 73, 68, - 0, 171, 80, 67, 83, 71, - 140, 0, 0, 0, 4, 0, + 0, 171, 79, 83, 71, 78, + 44, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, - 104, 0, 0, 0, 0, 0, - 0, 0, 13, 0, 0, 0, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 1, 14, 0, 0, - 104, 0, 0, 0, 1, 0, - 0, 0, 13, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 1, 14, 0, 0, - 104, 0, 0, 0, 2, 0, - 0, 0, 13, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 1, 14, 0, 0, - 118, 0, 0, 0, 0, 0, - 0, 0, 14, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 1, 14, 0, 0, - 83, 86, 95, 84, 101, 115, + 88, 69, 86, 69, 82, 84, + 69, 88, 73, 68, 0, 171, + 80, 67, 83, 71, 140, 0, + 0, 0, 4, 0, 0, 0, + 8, 0, 0, 0, 104, 0, + 0, 0, 0, 0, 0, 0, + 13, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 1, 14, 0, 0, 104, 0, + 0, 0, 1, 0, 0, 0, + 13, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 1, 14, 0, 0, 104, 0, + 0, 0, 2, 0, 0, 0, + 13, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 1, 14, 0, 0, 118, 0, + 0, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 1, 14, 0, 0, 83, 86, + 95, 84, 101, 115, 115, 70, + 97, 99, 116, 111, 114, 0, + 83, 86, 95, 73, 110, 115, + 105, 100, 101, 84, 101, 115, 115, 70, 97, 99, 116, 111, - 114, 0, 83, 86, 95, 73, - 110, 115, 105, 100, 101, 84, - 101, 115, 115, 70, 97, 99, - 116, 111, 114, 0, 171, 171, - 83, 72, 69, 88, 4, 1, - 0, 0, 81, 0, 3, 0, - 65, 0, 0, 0, 113, 0, - 0, 1, 147, 24, 0, 1, - 148, 24, 0, 1, 149, 16, - 0, 1, 150, 8, 0, 1, - 151, 24, 0, 1, 106, 8, - 0, 1, 89, 0, 0, 7, - 70, 142, 48, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 115, 0, 0, 1, 153, 0, - 0, 2, 3, 0, 0, 0, - 95, 0, 0, 2, 0, 112, - 1, 0, 103, 0, 0, 4, - 18, 32, 16, 0, 0, 0, - 0, 0, 17, 0, 0, 0, - 103, 0, 0, 4, 18, 32, - 16, 0, 1, 0, 0, 0, - 18, 0, 0, 0, 103, 0, - 0, 4, 18, 32, 16, 0, - 2, 0, 0, 0, 19, 0, - 0, 0, 104, 0, 0, 2, - 1, 0, 0, 0, 91, 0, - 0, 4, 18, 32, 16, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 54, 0, 0, 4, - 18, 0, 16, 0, 0, 0, - 0, 0, 10, 112, 1, 0, - 54, 0, 0, 8, 18, 32, - 144, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 42, 128, + 114, 0, 171, 171, 83, 72, + 69, 88, 4, 1, 0, 0, + 81, 0, 3, 0, 65, 0, + 0, 0, 113, 0, 0, 1, + 147, 24, 0, 1, 148, 24, + 0, 1, 149, 16, 0, 1, + 150, 8, 0, 1, 151, 24, + 0, 1, 106, 8, 0, 1, + 89, 0, 0, 7, 70, 142, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 62, 0, 0, 1, - 115, 0, 0, 1, 103, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 115, 0, + 0, 1, 153, 0, 0, 2, + 3, 0, 0, 0, 95, 0, + 0, 2, 0, 112, 1, 0, + 103, 0, 0, 4, 18, 32, + 16, 0, 0, 0, 0, 0, + 17, 0, 0, 0, 103, 0, 0, 4, 18, 32, 16, 0, - 3, 0, 0, 0, 20, 0, - 0, 0, 54, 0, 0, 7, - 18, 32, 16, 0, 3, 0, + 1, 0, 0, 0, 18, 0, + 0, 0, 103, 0, 0, 4, + 18, 32, 16, 0, 2, 0, + 0, 0, 19, 0, 0, 0, + 104, 0, 0, 2, 1, 0, + 0, 0, 91, 0, 0, 4, + 18, 32, 16, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 54, 0, 0, 4, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 112, 1, 0, 54, 0, + 0, 8, 18, 32, 144, 0, + 10, 0, 16, 0, 0, 0, 0, 0, 42, 128, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 62, 0, 0, 1, 83, 84, - 65, 84, 148, 0, 0, 0, - 5, 0, 0, 0, 1, 0, + 62, 0, 0, 1, 115, 0, + 0, 1, 103, 0, 0, 4, + 18, 32, 16, 0, 3, 0, + 0, 0, 20, 0, 0, 0, + 54, 0, 0, 7, 18, 32, + 16, 0, 3, 0, 0, 0, + 42, 128, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 62, 0, + 0, 1, 83, 84, 65, 84, + 148, 0, 0, 0, 5, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0 + 0, 0 }; diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/primitive_point_list_gs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/primitive_point_list_gs.h index def67b6b4..acbcce87d 100644 --- a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/primitive_point_list_gs.h +++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/primitive_point_list_gs.h @@ -16,10 +16,10 @@ // uint2 xe_vertex_index_min_max; // Offset: 24 Size: 8 [unused] // float4 xe_user_clip_planes[6]; // Offset: 32 Size: 96 [unused] // float3 xe_ndc_scale; // Offset: 128 Size: 12 [unused] -// float xe_point_size_x; // Offset: 140 Size: 4 +// float xe_point_vertex_diameter_min;// Offset: 140 Size: 4 [unused] // float3 xe_ndc_offset; // Offset: 144 Size: 12 [unused] -// float xe_point_size_y; // Offset: 156 Size: 4 -// float2 xe_point_size_min_max; // Offset: 160 Size: 8 +// float xe_point_vertex_diameter_max;// Offset: 156 Size: 4 [unused] +// float2 xe_point_constant_radius; // Offset: 160 Size: 8 // float2 xe_point_screen_to_ndc; // Offset: 168 Size: 8 // uint xe_interpolator_sampling_pattern;// Offset: 176 Size: 4 [unused] // uint xe_ps_param_gen; // Offset: 180 Size: 4 [unused] @@ -162,10 +162,16 @@ if_nz r0.x ret endif ge [precise(x)] r0.x, v[0][16].z, l(0.000000) -movc [precise(x)] r1.x, r0.x, v[0][16].z, CB0[0][8].w -movc [precise(y)] r1.y, r0.x, v[0][16].z, CB0[0][9].w -max [precise(xy)] r0.xy, r1.xyxx, CB0[0][10].xxxx -min [precise(xy)] r0.xy, r0.xyxx, CB0[0][10].yyyy +if_nz r0.x + mul [precise(xy)] r0.xy, l(0.500000, 0.500000, 0.000000, 0.000000), v[0][16].zzzz +else + mov [precise(xy)] r0.xy, CB0[0][10].xyxx +endif +lt [precise(zw)] r0.zw, l(0.000000, 0.000000, 0.000000, 0.000000), r0.xxxy +and [precise(z)] r0.z, r0.w, r0.z +if_z r0.z + ret +endif mul [precise(xy)] r0.xy, r0.xyxx, CB0[0][10].zwzz mul [precise(xy)] r0.xy, r0.xyxx, v[0][17].wwww mov [precise(xyz)] r1.xyz, -r0.xxyx @@ -268,26 +274,26 @@ mov o19.xy, v[0][19].xyxx emit_stream m0 cut_stream m0 ret -// Approximately 115 instruction slots used +// Approximately 121 instruction slots used #endif const BYTE primitive_point_list_gs[] = { - 68, 88, 66, 67, 93, 92, - 207, 129, 65, 238, 95, 209, - 216, 127, 85, 211, 22, 177, - 159, 238, 1, 0, 0, 0, - 136, 29, 0, 0, 5, 0, + 68, 88, 66, 67, 193, 245, + 77, 40, 213, 43, 129, 142, + 106, 187, 17, 173, 235, 7, + 183, 6, 1, 0, 0, 0, + 176, 29, 0, 0, 5, 0, 0, 0, 52, 0, 0, 0, - 184, 10, 0, 0, 248, 12, - 0, 0, 96, 15, 0, 0, - 236, 28, 0, 0, 82, 68, - 69, 70, 124, 10, 0, 0, + 212, 10, 0, 0, 20, 13, + 0, 0, 124, 15, 0, 0, + 20, 29, 0, 0, 82, 68, + 69, 70, 152, 10, 0, 0, 1, 0, 0, 0, 120, 0, 0, 0, 1, 0, 0, 0, 60, 0, 0, 0, 1, 5, 83, 71, 0, 5, 0, 0, - 82, 10, 0, 0, 19, 19, + 110, 10, 0, 0, 19, 19, 68, 37, 60, 0, 0, 0, 24, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, @@ -362,161 +368,161 @@ const BYTE primitive_point_list_gs[] = 255, 255, 255, 255, 0, 0, 0, 0, 16, 7, 0, 0, 140, 0, 0, 0, 4, 0, - 0, 0, 2, 0, 0, 0, - 40, 7, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 52, 7, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 76, 7, 0, 0, 144, 0, + 88, 7, 0, 0, 144, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 236, 6, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 90, 7, + 0, 0, 0, 0, 102, 7, 0, 0, 156, 0, 0, 0, - 4, 0, 0, 0, 2, 0, - 0, 0, 40, 7, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 52, 7, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 106, 7, 0, 0, + 0, 0, 131, 7, 0, 0, 160, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 128, 7, 0, 0, 168, 0, + 156, 7, 0, 0, 168, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 151, 7, + 0, 0, 0, 0, 179, 7, 0, 0, 176, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 184, 7, 0, 0, + 0, 0, 212, 7, 0, 0, 180, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 200, 7, 0, 0, 184, 0, + 228, 7, 0, 0, 184, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 116, 6, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 221, 7, + 0, 0, 0, 0, 249, 7, 0, 0, 192, 0, 0, 0, 32, 0, 0, 0, 0, 0, - 0, 0, 0, 8, 0, 0, + 0, 0, 28, 8, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 36, 8, 0, 0, + 0, 0, 64, 8, 0, 0, 224, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 57, 8, 0, 0, 228, 0, + 85, 8, 0, 0, 228, 0, 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 40, 7, + 0, 0, 0, 0, 52, 7, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 81, 8, + 0, 0, 0, 0, 109, 8, 0, 0, 232, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 98, 8, 0, 0, + 0, 0, 126, 8, 0, 0, 236, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 138, 8, 0, 0, 240, 0, + 166, 8, 0, 0, 240, 0, 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 156, 8, + 0, 0, 0, 0, 184, 8, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 192, 8, + 0, 0, 0, 0, 220, 8, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 219, 8, 0, 0, + 0, 0, 247, 8, 0, 0, 8, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 245, 8, 0, 0, 16, 1, + 17, 9, 0, 0, 16, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 23, 9, + 0, 0, 0, 0, 51, 9, 0, 0, 32, 1, 0, 0, 32, 0, 0, 0, 0, 0, - 0, 0, 40, 9, 0, 0, + 0, 0, 68, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 76, 9, 0, 0, + 0, 0, 104, 9, 0, 0, 64, 1, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, - 108, 9, 0, 0, 0, 0, + 136, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 144, 9, 0, 0, 80, 1, + 172, 9, 0, 0, 80, 1, 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 108, 9, + 0, 0, 0, 0, 136, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 169, 9, + 0, 0, 0, 0, 197, 9, 0, 0, 96, 1, 0, 0, 64, 0, 0, 0, 0, 0, - 0, 0, 188, 9, 0, 0, + 0, 0, 216, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 224, 9, 0, 0, + 0, 0, 252, 9, 0, 0, 160, 1, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 248, 9, 0, 0, 0, 0, + 20, 10, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 28, 10, 0, 0, 192, 1, + 56, 10, 0, 0, 192, 1, 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 108, 9, + 0, 0, 0, 0, 136, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 58, 10, + 0, 0, 0, 0, 86, 10, 0, 0, 208, 1, 0, 0, 16, 0, 0, 0, 0, 0, - 0, 0, 156, 8, 0, 0, + 0, 0, 184, 8, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, @@ -585,640 +591,556 @@ const BYTE primitive_point_list_gs[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 6, 0, 0, 120, 101, 95, 112, - 111, 105, 110, 116, 95, 115, - 105, 122, 101, 95, 120, 0, - 102, 108, 111, 97, 116, 0, - 171, 171, 0, 0, 3, 0, + 111, 105, 110, 116, 95, 118, + 101, 114, 116, 101, 120, 95, + 100, 105, 97, 109, 101, 116, + 101, 114, 95, 109, 105, 110, + 0, 102, 108, 111, 97, 116, + 0, 171, 0, 0, 3, 0, 1, 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, 32, 7, + 0, 0, 0, 0, 45, 7, 0, 0, 120, 101, 95, 110, 100, 99, 95, 111, 102, 102, 115, 101, 116, 0, 120, 101, 95, 112, 111, 105, 110, 116, - 95, 115, 105, 122, 101, 95, - 121, 0, 120, 101, 95, 112, - 111, 105, 110, 116, 95, 115, - 105, 122, 101, 95, 109, 105, - 110, 95, 109, 97, 120, 0, - 120, 101, 95, 112, 111, 105, - 110, 116, 95, 115, 99, 114, - 101, 101, 110, 95, 116, 111, - 95, 110, 100, 99, 0, 120, - 101, 95, 105, 110, 116, 101, - 114, 112, 111, 108, 97, 116, - 111, 114, 95, 115, 97, 109, - 112, 108, 105, 110, 103, 95, - 112, 97, 116, 116, 101, 114, - 110, 0, 120, 101, 95, 112, - 115, 95, 112, 97, 114, 97, - 109, 95, 103, 101, 110, 0, - 120, 101, 95, 115, 97, 109, - 112, 108, 101, 95, 99, 111, - 117, 110, 116, 95, 108, 111, - 103, 50, 0, 120, 101, 95, - 116, 101, 120, 116, 117, 114, - 101, 95, 115, 119, 105, 122, - 122, 108, 101, 100, 95, 115, - 105, 103, 110, 115, 0, 117, - 105, 110, 116, 52, 0, 171, - 171, 171, 1, 0, 19, 0, - 1, 0, 4, 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, 247, 7, - 0, 0, 120, 101, 95, 116, - 101, 120, 116, 117, 114, 101, - 115, 95, 114, 101, 115, 111, - 108, 118, 101, 100, 0, 120, - 101, 95, 97, 108, 112, 104, - 97, 95, 116, 101, 115, 116, - 95, 114, 101, 102, 101, 114, - 101, 110, 99, 101, 0, 120, - 101, 95, 97, 108, 112, 104, - 97, 95, 116, 111, 95, 109, - 97, 115, 107, 0, 120, 101, - 95, 101, 100, 114, 97, 109, - 95, 51, 50, 98, 112, 112, - 95, 116, 105, 108, 101, 95, - 112, 105, 116, 99, 104, 95, - 100, 119, 111, 114, 100, 115, - 95, 115, 99, 97, 108, 101, - 100, 0, 120, 101, 95, 99, - 111, 108, 111, 114, 95, 101, - 120, 112, 95, 98, 105, 97, - 115, 0, 1, 0, 3, 0, - 1, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 172, 6, - 0, 0, 120, 101, 95, 101, - 100, 114, 97, 109, 95, 112, - 111, 108, 121, 95, 111, 102, - 102, 115, 101, 116, 95, 102, - 114, 111, 110, 116, 0, 120, - 101, 95, 101, 100, 114, 97, - 109, 95, 112, 111, 108, 121, - 95, 111, 102, 102, 115, 101, - 116, 95, 98, 97, 99, 107, - 0, 120, 101, 95, 101, 100, - 114, 97, 109, 95, 100, 101, - 112, 116, 104, 95, 98, 97, - 115, 101, 95, 100, 119, 111, - 114, 100, 115, 95, 115, 99, - 97, 108, 101, 100, 0, 120, - 101, 95, 101, 100, 114, 97, - 109, 95, 115, 116, 101, 110, - 99, 105, 108, 0, 1, 0, - 19, 0, 1, 0, 4, 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, - 247, 7, 0, 0, 120, 101, - 95, 101, 100, 114, 97, 109, - 95, 114, 116, 95, 98, 97, - 115, 101, 95, 100, 119, 111, - 114, 100, 115, 95, 115, 99, - 97, 108, 101, 100, 0, 171, + 95, 118, 101, 114, 116, 101, + 120, 95, 100, 105, 97, 109, + 101, 116, 101, 114, 95, 109, + 97, 120, 0, 120, 101, 95, + 112, 111, 105, 110, 116, 95, + 99, 111, 110, 115, 116, 97, + 110, 116, 95, 114, 97, 100, + 105, 117, 115, 0, 120, 101, + 95, 112, 111, 105, 110, 116, + 95, 115, 99, 114, 101, 101, + 110, 95, 116, 111, 95, 110, + 100, 99, 0, 120, 101, 95, + 105, 110, 116, 101, 114, 112, + 111, 108, 97, 116, 111, 114, + 95, 115, 97, 109, 112, 108, + 105, 110, 103, 95, 112, 97, + 116, 116, 101, 114, 110, 0, + 120, 101, 95, 112, 115, 95, + 112, 97, 114, 97, 109, 95, + 103, 101, 110, 0, 120, 101, + 95, 115, 97, 109, 112, 108, + 101, 95, 99, 111, 117, 110, + 116, 95, 108, 111, 103, 50, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 115, 119, 105, 122, 122, 108, + 101, 100, 95, 115, 105, 103, + 110, 115, 0, 117, 105, 110, + 116, 52, 0, 171, 171, 171, 1, 0, 19, 0, 1, 0, + 4, 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, 19, 8, 0, 0, + 120, 101, 95, 116, 101, 120, + 116, 117, 114, 101, 115, 95, + 114, 101, 115, 111, 108, 118, + 101, 100, 0, 120, 101, 95, + 97, 108, 112, 104, 97, 95, + 116, 101, 115, 116, 95, 114, + 101, 102, 101, 114, 101, 110, + 99, 101, 0, 120, 101, 95, + 97, 108, 112, 104, 97, 95, + 116, 111, 95, 109, 97, 115, + 107, 0, 120, 101, 95, 101, + 100, 114, 97, 109, 95, 51, + 50, 98, 112, 112, 95, 116, + 105, 108, 101, 95, 112, 105, + 116, 99, 104, 95, 100, 119, + 111, 114, 100, 115, 95, 115, + 99, 97, 108, 101, 100, 0, + 120, 101, 95, 99, 111, 108, + 111, 114, 95, 101, 120, 112, + 95, 98, 105, 97, 115, 0, + 1, 0, 3, 0, 1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 247, 7, 0, 0, + 0, 0, 172, 6, 0, 0, 120, 101, 95, 101, 100, 114, - 97, 109, 95, 114, 116, 95, - 102, 111, 114, 109, 97, 116, - 95, 102, 108, 97, 103, 115, - 0, 120, 101, 95, 101, 100, - 114, 97, 109, 95, 114, 116, - 95, 99, 108, 97, 109, 112, - 0, 171, 1, 0, 3, 0, - 1, 0, 4, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 172, 6, - 0, 0, 120, 101, 95, 101, - 100, 114, 97, 109, 95, 114, - 116, 95, 107, 101, 101, 112, - 95, 109, 97, 115, 107, 0, - 171, 171, 1, 0, 19, 0, + 97, 109, 95, 112, 111, 108, + 121, 95, 111, 102, 102, 115, + 101, 116, 95, 102, 114, 111, + 110, 116, 0, 120, 101, 95, + 101, 100, 114, 97, 109, 95, + 112, 111, 108, 121, 95, 111, + 102, 102, 115, 101, 116, 95, + 98, 97, 99, 107, 0, 120, + 101, 95, 101, 100, 114, 97, + 109, 95, 100, 101, 112, 116, + 104, 95, 98, 97, 115, 101, + 95, 100, 119, 111, 114, 100, + 115, 95, 115, 99, 97, 108, + 101, 100, 0, 120, 101, 95, + 101, 100, 114, 97, 109, 95, + 115, 116, 101, 110, 99, 105, + 108, 0, 1, 0, 19, 0, 1, 0, 4, 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, 247, 7, + 0, 0, 0, 0, 19, 8, 0, 0, 120, 101, 95, 101, 100, 114, 97, 109, 95, 114, - 116, 95, 98, 108, 101, 110, - 100, 95, 102, 97, 99, 116, - 111, 114, 115, 95, 111, 112, - 115, 0, 120, 101, 95, 101, - 100, 114, 97, 109, 95, 98, - 108, 101, 110, 100, 95, 99, - 111, 110, 115, 116, 97, 110, - 116, 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, - 56, 2, 0, 0, 21, 0, + 116, 95, 98, 97, 115, 101, + 95, 100, 119, 111, 114, 100, + 115, 95, 115, 99, 97, 108, + 101, 100, 0, 171, 1, 0, + 19, 0, 1, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 19, 8, 0, 0, 120, 101, + 95, 101, 100, 114, 97, 109, + 95, 114, 116, 95, 102, 111, + 114, 109, 97, 116, 95, 102, + 108, 97, 103, 115, 0, 120, + 101, 95, 101, 100, 114, 97, + 109, 95, 114, 116, 95, 99, + 108, 97, 109, 112, 0, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 172, 6, 0, 0, + 120, 101, 95, 101, 100, 114, + 97, 109, 95, 114, 116, 95, + 107, 101, 101, 112, 95, 109, + 97, 115, 107, 0, 171, 171, + 1, 0, 19, 0, 1, 0, + 4, 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, 19, 8, 0, 0, + 120, 101, 95, 101, 100, 114, + 97, 109, 95, 114, 116, 95, + 98, 108, 101, 110, 100, 95, + 102, 97, 99, 116, 111, 114, + 115, 95, 111, 112, 115, 0, + 120, 101, 95, 101, 100, 114, + 97, 109, 95, 98, 108, 101, + 110, 100, 95, 99, 111, 110, + 115, 116, 97, 110, 116, 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, 56, 2, + 0, 0, 21, 0, 0, 0, + 8, 0, 0, 0, 0, 2, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 15, 0, 0, 0, 2, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 15, 15, 0, 0, 0, 2, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 15, 15, 0, 0, 0, 2, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 15, 15, 0, 0, 0, 2, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 4, 0, 0, 0, + 15, 15, 0, 0, 0, 2, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 5, 0, 0, 0, + 15, 15, 0, 0, 0, 2, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 6, 0, 0, 0, + 15, 15, 0, 0, 0, 2, + 0, 0, 7, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 7, 0, 0, 0, + 15, 15, 0, 0, 0, 2, 0, 0, 8, 0, 0, 0, - 0, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 8, 0, 0, 0, + 15, 15, 0, 0, 0, 2, + 0, 0, 9, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 9, 0, 0, 0, + 15, 15, 0, 0, 0, 2, + 0, 0, 10, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 10, 0, 0, 0, + 15, 15, 0, 0, 0, 2, + 0, 0, 11, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 11, 0, 0, 0, + 15, 15, 0, 0, 0, 2, + 0, 0, 12, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 12, 0, 0, 0, + 15, 15, 0, 0, 0, 2, + 0, 0, 13, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 13, 0, 0, 0, + 15, 15, 0, 0, 0, 2, + 0, 0, 14, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 14, 0, 0, 0, + 15, 15, 0, 0, 0, 2, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 15, 0, 0, 0, + 15, 15, 0, 0, 0, 2, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 16, 0, 0, 0, + 7, 4, 0, 0, 9, 2, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 15, 0, 0, - 0, 2, 0, 0, 1, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 17, 0, 0, 0, + 15, 15, 0, 0, 21, 2, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 15, 15, 0, 0, - 0, 2, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 15, 15, 0, 0, - 0, 2, 0, 0, 3, 0, + 2, 0, 0, 0, 3, 0, + 0, 0, 18, 0, 0, 0, + 15, 15, 0, 0, 21, 2, + 0, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 3, 0, + 0, 0, 19, 0, 0, 0, + 3, 3, 0, 0, 37, 2, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, - 0, 0, 15, 15, 0, 0, - 0, 2, 0, 0, 4, 0, + 0, 0, 19, 0, 0, 0, + 4, 4, 0, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 83, 86, 95, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 83, 86, 95, 67, 108, + 105, 112, 68, 105, 115, 116, + 97, 110, 99, 101, 0, 83, + 86, 95, 67, 117, 108, 108, + 68, 105, 115, 116, 97, 110, + 99, 101, 0, 171, 171, 171, + 79, 83, 71, 53, 96, 2, + 0, 0, 20, 0, 0, 0, + 8, 0, 0, 0, 0, 0, + 0, 0, 56, 2, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 56, 2, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 56, 2, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 56, 2, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 56, 2, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, - 0, 0, 15, 15, 0, 0, - 0, 2, 0, 0, 5, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 56, 2, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 5, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 56, 2, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 6, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 5, 0, - 0, 0, 15, 15, 0, 0, - 0, 2, 0, 0, 6, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 6, 0, - 0, 0, 15, 15, 0, 0, - 0, 2, 0, 0, 7, 0, + 56, 2, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 7, 0, - 0, 0, 15, 15, 0, 0, - 0, 2, 0, 0, 8, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 56, 2, + 0, 0, 8, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 8, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 56, 2, 0, 0, + 9, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 9, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 8, 0, - 0, 0, 15, 15, 0, 0, - 0, 2, 0, 0, 9, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 9, 0, - 0, 0, 15, 15, 0, 0, - 0, 2, 0, 0, 10, 0, + 56, 2, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 10, 0, - 0, 0, 15, 15, 0, 0, - 0, 2, 0, 0, 11, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 56, 2, + 0, 0, 11, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 11, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 56, 2, 0, 0, + 12, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 12, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 11, 0, - 0, 0, 15, 15, 0, 0, - 0, 2, 0, 0, 12, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 12, 0, - 0, 0, 15, 15, 0, 0, - 0, 2, 0, 0, 13, 0, + 56, 2, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 13, 0, - 0, 0, 15, 15, 0, 0, - 0, 2, 0, 0, 14, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 56, 2, + 0, 0, 14, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 14, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 56, 2, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 15, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 14, 0, - 0, 0, 15, 15, 0, 0, - 0, 2, 0, 0, 15, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 15, 0, - 0, 0, 15, 15, 0, 0, - 0, 2, 0, 0, 16, 0, + 56, 2, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 16, 0, - 0, 0, 7, 4, 0, 0, - 9, 2, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 17, 0, - 0, 0, 15, 15, 0, 0, - 21, 2, 0, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 3, 0, 0, 0, 18, 0, - 0, 0, 15, 15, 0, 0, - 21, 2, 0, 0, 1, 0, - 0, 0, 2, 0, 0, 0, - 3, 0, 0, 0, 19, 0, - 0, 0, 3, 3, 0, 0, - 37, 2, 0, 0, 0, 0, + 0, 0, 7, 8, 0, 0, + 0, 0, 0, 0, 65, 2, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 17, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 77, 2, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, + 18, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 77, 2, 0, 0, 1, 0, + 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 19, 0, - 0, 0, 4, 4, 0, 0, + 0, 0, 3, 12, 0, 0, 84, 69, 88, 67, 79, 79, 82, 68, 0, 83, 86, 95, 80, 111, 115, 105, 116, 105, 111, 110, 0, 83, 86, 95, 67, 108, 105, 112, 68, 105, 115, 116, 97, 110, 99, 101, - 0, 83, 86, 95, 67, 117, - 108, 108, 68, 105, 115, 116, - 97, 110, 99, 101, 0, 171, - 171, 171, 79, 83, 71, 53, - 96, 2, 0, 0, 20, 0, - 0, 0, 8, 0, 0, 0, - 0, 0, 0, 0, 56, 2, + 0, 171, 171, 171, 83, 72, + 69, 88, 144, 13, 0, 0, + 81, 0, 2, 0, 100, 3, + 0, 0, 106, 8, 0, 1, + 89, 0, 0, 7, 70, 142, + 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 0, 0, - 0, 0, 56, 2, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 15, 0, - 0, 0, 0, 0, 0, 0, - 56, 2, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 15, 0, 0, 0, - 0, 0, 0, 0, 56, 2, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 3, 0, 0, 0, - 15, 0, 0, 0, 0, 0, - 0, 0, 56, 2, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 4, 0, 0, 0, 15, 0, - 0, 0, 0, 0, 0, 0, - 56, 2, 0, 0, 5, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 5, 0, - 0, 0, 15, 0, 0, 0, - 0, 0, 0, 0, 56, 2, - 0, 0, 6, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 6, 0, 0, 0, - 15, 0, 0, 0, 0, 0, - 0, 0, 56, 2, 0, 0, - 7, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 7, 0, 0, 0, 15, 0, - 0, 0, 0, 0, 0, 0, - 56, 2, 0, 0, 8, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 8, 0, - 0, 0, 15, 0, 0, 0, - 0, 0, 0, 0, 56, 2, - 0, 0, 9, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 9, 0, 0, 0, - 15, 0, 0, 0, 0, 0, - 0, 0, 56, 2, 0, 0, - 10, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 10, 0, 0, 0, 15, 0, - 0, 0, 0, 0, 0, 0, - 56, 2, 0, 0, 11, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 11, 0, - 0, 0, 15, 0, 0, 0, - 0, 0, 0, 0, 56, 2, - 0, 0, 12, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 12, 0, 0, 0, - 15, 0, 0, 0, 0, 0, - 0, 0, 56, 2, 0, 0, - 13, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 13, 0, 0, 0, 15, 0, - 0, 0, 0, 0, 0, 0, - 56, 2, 0, 0, 14, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 14, 0, - 0, 0, 15, 0, 0, 0, - 0, 0, 0, 0, 56, 2, - 0, 0, 15, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 15, 0, 0, 0, - 15, 0, 0, 0, 0, 0, - 0, 0, 56, 2, 0, 0, - 16, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 16, 0, 0, 0, 7, 8, - 0, 0, 0, 0, 0, 0, - 65, 2, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 17, 0, - 0, 0, 15, 0, 0, 0, - 0, 0, 0, 0, 77, 2, - 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 3, 0, - 0, 0, 18, 0, 0, 0, - 15, 0, 0, 0, 0, 0, - 0, 0, 77, 2, 0, 0, - 1, 0, 0, 0, 2, 0, - 0, 0, 3, 0, 0, 0, - 19, 0, 0, 0, 3, 12, - 0, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 83, - 86, 95, 80, 111, 115, 105, - 116, 105, 111, 110, 0, 83, - 86, 95, 67, 108, 105, 112, - 68, 105, 115, 116, 97, 110, - 99, 101, 0, 171, 171, 171, - 83, 72, 69, 88, 132, 13, - 0, 0, 81, 0, 2, 0, - 97, 3, 0, 0, 106, 8, - 0, 1, 89, 0, 0, 7, - 70, 142, 48, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 11, 0, - 0, 0, 0, 0, 0, 0, - 95, 0, 0, 4, 242, 16, - 32, 0, 1, 0, 0, 0, + 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 4, 242, 16, 32, 0, - 1, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 4, 242, 16, 32, 0, 1, 0, - 0, 0, 2, 0, 0, 0, - 95, 0, 0, 4, 242, 16, - 32, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 95, 0, - 0, 4, 242, 16, 32, 0, - 1, 0, 0, 0, 4, 0, - 0, 0, 95, 0, 0, 4, - 242, 16, 32, 0, 1, 0, - 0, 0, 5, 0, 0, 0, - 95, 0, 0, 4, 242, 16, - 32, 0, 1, 0, 0, 0, - 6, 0, 0, 0, 95, 0, - 0, 4, 242, 16, 32, 0, - 1, 0, 0, 0, 7, 0, - 0, 0, 95, 0, 0, 4, - 242, 16, 32, 0, 1, 0, - 0, 0, 8, 0, 0, 0, - 95, 0, 0, 4, 242, 16, - 32, 0, 1, 0, 0, 0, - 9, 0, 0, 0, 95, 0, - 0, 4, 242, 16, 32, 0, - 1, 0, 0, 0, 10, 0, - 0, 0, 95, 0, 0, 4, - 242, 16, 32, 0, 1, 0, - 0, 0, 11, 0, 0, 0, - 95, 0, 0, 4, 242, 16, - 32, 0, 1, 0, 0, 0, - 12, 0, 0, 0, 95, 0, - 0, 4, 242, 16, 32, 0, - 1, 0, 0, 0, 13, 0, - 0, 0, 95, 0, 0, 4, - 242, 16, 32, 0, 1, 0, - 0, 0, 14, 0, 0, 0, - 95, 0, 0, 4, 242, 16, - 32, 0, 1, 0, 0, 0, - 15, 0, 0, 0, 95, 0, - 0, 4, 114, 16, 32, 0, - 1, 0, 0, 0, 16, 0, - 0, 0, 97, 0, 0, 5, - 242, 16, 32, 0, 1, 0, - 0, 0, 17, 0, 0, 0, - 1, 0, 0, 0, 95, 0, - 0, 4, 242, 16, 32, 0, - 1, 0, 0, 0, 18, 0, - 0, 0, 95, 0, 0, 4, - 50, 16, 32, 0, 1, 0, - 0, 0, 19, 0, 0, 0, - 95, 0, 0, 4, 66, 16, - 32, 0, 1, 0, 0, 0, - 19, 0, 0, 0, 104, 0, - 0, 2, 3, 0, 0, 0, - 93, 8, 0, 1, 143, 0, - 0, 3, 0, 0, 17, 0, - 0, 0, 0, 0, 92, 40, - 0, 1, 101, 0, 0, 3, - 242, 32, 16, 0, 0, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 1, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 2, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 3, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 4, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 5, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 6, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 7, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 8, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 9, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 10, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 11, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 12, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 13, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 14, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 15, 0, - 0, 0, 101, 0, 0, 3, - 114, 32, 16, 0, 16, 0, - 0, 0, 103, 0, 0, 4, - 242, 32, 16, 0, 17, 0, 0, 0, 1, 0, 0, 0, - 103, 0, 0, 4, 242, 32, - 16, 0, 18, 0, 0, 0, - 2, 0, 0, 0, 103, 0, - 0, 4, 50, 32, 16, 0, - 19, 0, 0, 0, 2, 0, - 0, 0, 94, 0, 0, 2, - 4, 0, 0, 0, 49, 0, - 8, 8, 18, 0, 16, 0, - 0, 0, 0, 0, 42, 16, - 32, 0, 0, 0, 0, 0, - 19, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 0, - 57, 0, 120, 9, 242, 0, + 95, 0, 0, 4, 242, 16, + 32, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 95, 0, + 0, 4, 242, 16, 32, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 95, 0, 0, 4, + 242, 16, 32, 0, 1, 0, + 0, 0, 4, 0, 0, 0, + 95, 0, 0, 4, 242, 16, + 32, 0, 1, 0, 0, 0, + 5, 0, 0, 0, 95, 0, + 0, 4, 242, 16, 32, 0, + 1, 0, 0, 0, 6, 0, + 0, 0, 95, 0, 0, 4, + 242, 16, 32, 0, 1, 0, + 0, 0, 7, 0, 0, 0, + 95, 0, 0, 4, 242, 16, + 32, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 95, 0, + 0, 4, 242, 16, 32, 0, + 1, 0, 0, 0, 9, 0, + 0, 0, 95, 0, 0, 4, + 242, 16, 32, 0, 1, 0, + 0, 0, 10, 0, 0, 0, + 95, 0, 0, 4, 242, 16, + 32, 0, 1, 0, 0, 0, + 11, 0, 0, 0, 95, 0, + 0, 4, 242, 16, 32, 0, + 1, 0, 0, 0, 12, 0, + 0, 0, 95, 0, 0, 4, + 242, 16, 32, 0, 1, 0, + 0, 0, 13, 0, 0, 0, + 95, 0, 0, 4, 242, 16, + 32, 0, 1, 0, 0, 0, + 14, 0, 0, 0, 95, 0, + 0, 4, 242, 16, 32, 0, + 1, 0, 0, 0, 15, 0, + 0, 0, 95, 0, 0, 4, + 114, 16, 32, 0, 1, 0, + 0, 0, 16, 0, 0, 0, + 97, 0, 0, 5, 242, 16, + 32, 0, 1, 0, 0, 0, + 17, 0, 0, 0, 1, 0, + 0, 0, 95, 0, 0, 4, + 242, 16, 32, 0, 1, 0, + 0, 0, 18, 0, 0, 0, + 95, 0, 0, 4, 50, 16, + 32, 0, 1, 0, 0, 0, + 19, 0, 0, 0, 95, 0, + 0, 4, 66, 16, 32, 0, + 1, 0, 0, 0, 19, 0, + 0, 0, 104, 0, 0, 2, + 3, 0, 0, 0, 93, 8, + 0, 1, 143, 0, 0, 3, + 0, 0, 17, 0, 0, 0, + 0, 0, 92, 40, 0, 1, + 101, 0, 0, 3, 242, 32, + 16, 0, 0, 0, 0, 0, + 101, 0, 0, 3, 242, 32, 16, 0, 1, 0, 0, 0, - 70, 30, 32, 0, 0, 0, - 0, 0, 17, 0, 0, 0, - 70, 30, 32, 0, 0, 0, - 0, 0, 17, 0, 0, 0, - 60, 0, 48, 7, 98, 0, - 16, 0, 0, 0, 0, 0, - 166, 11, 16, 0, 1, 0, - 0, 0, 6, 1, 16, 0, - 1, 0, 0, 0, 60, 0, - 16, 7, 34, 0, 16, 0, - 0, 0, 0, 0, 42, 0, - 16, 0, 0, 0, 0, 0, - 26, 0, 16, 0, 0, 0, - 0, 0, 60, 0, 8, 7, - 18, 0, 16, 0, 0, 0, - 0, 0, 26, 0, 16, 0, - 0, 0, 0, 0, 10, 0, - 16, 0, 0, 0, 0, 0, - 31, 0, 4, 3, 10, 0, - 16, 0, 0, 0, 0, 0, - 62, 0, 0, 1, 21, 0, - 0, 1, 29, 0, 8, 8, + 101, 0, 0, 3, 242, 32, + 16, 0, 2, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 3, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 4, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 5, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 6, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 7, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 8, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 9, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 10, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 11, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 12, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 13, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 14, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 15, 0, 0, 0, + 101, 0, 0, 3, 114, 32, + 16, 0, 16, 0, 0, 0, + 103, 0, 0, 4, 242, 32, + 16, 0, 17, 0, 0, 0, + 1, 0, 0, 0, 103, 0, + 0, 4, 242, 32, 16, 0, + 18, 0, 0, 0, 2, 0, + 0, 0, 103, 0, 0, 4, + 50, 32, 16, 0, 19, 0, + 0, 0, 2, 0, 0, 0, + 94, 0, 0, 2, 4, 0, + 0, 0, 49, 0, 8, 8, 18, 0, 16, 0, 0, 0, 0, 0, 42, 16, 32, 0, - 0, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 19, 0, 0, 0, 1, 64, 0, 0, - 0, 0, 0, 0, 55, 0, - 8, 12, 18, 0, 16, 0, - 1, 0, 0, 0, 10, 0, - 16, 0, 0, 0, 0, 0, - 42, 16, 32, 0, 0, 0, - 0, 0, 16, 0, 0, 0, - 58, 128, 48, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 8, 0, 0, 0, 55, 0, - 16, 12, 34, 0, 16, 0, - 1, 0, 0, 0, 10, 0, - 16, 0, 0, 0, 0, 0, - 42, 16, 32, 0, 0, 0, - 0, 0, 16, 0, 0, 0, - 58, 128, 48, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 9, 0, 0, 0, 52, 0, - 24, 9, 50, 0, 16, 0, - 0, 0, 0, 0, 70, 0, - 16, 0, 1, 0, 0, 0, - 6, 128, 48, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 51, 0, - 24, 9, 50, 0, 16, 0, - 0, 0, 0, 0, 70, 0, - 16, 0, 0, 0, 0, 0, - 86, 133, 48, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 56, 0, - 24, 9, 50, 0, 16, 0, - 0, 0, 0, 0, 70, 0, - 16, 0, 0, 0, 0, 0, - 230, 138, 48, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 56, 0, - 24, 8, 50, 0, 16, 0, - 0, 0, 0, 0, 70, 0, - 16, 0, 0, 0, 0, 0, - 246, 31, 32, 0, 0, 0, - 0, 0, 17, 0, 0, 0, - 54, 0, 56, 6, 114, 0, - 16, 0, 1, 0, 0, 0, - 6, 1, 16, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 54, 0, 64, 5, 130, 0, - 16, 0, 1, 0, 0, 0, - 26, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 120, 8, - 242, 0, 16, 0, 2, 0, - 0, 0, 198, 9, 16, 0, - 1, 0, 0, 0, 70, 20, - 32, 0, 0, 0, 0, 0, - 17, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 0, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, + 0, 0, 0, 0, 57, 0, + 120, 9, 242, 0, 16, 0, 1, 0, 0, 0, 70, 30, 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 2, 0, 0, 0, 70, 30, + 17, 0, 0, 0, 70, 30, 32, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 3, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 4, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 4, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 5, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 6, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 6, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 7, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 7, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 8, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 8, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 9, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 9, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 10, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 11, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 11, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 12, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 12, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 13, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 13, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 14, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 14, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 15, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 54, 0, - 0, 8, 50, 32, 16, 0, - 16, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 54, 0, 0, 6, 66, 32, - 16, 0, 16, 0, 0, 0, + 17, 0, 0, 0, 60, 0, + 48, 7, 98, 0, 16, 0, + 0, 0, 0, 0, 166, 11, + 16, 0, 1, 0, 0, 0, + 6, 1, 16, 0, 1, 0, + 0, 0, 60, 0, 16, 7, + 34, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 60, 0, 8, 7, 18, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 31, 0, + 4, 3, 10, 0, 16, 0, + 0, 0, 0, 0, 62, 0, + 0, 1, 21, 0, 0, 1, + 29, 0, 8, 8, 18, 0, + 16, 0, 0, 0, 0, 0, 42, 16, 32, 0, 0, 0, 0, 0, 16, 0, 0, 0, - 54, 0, 0, 5, 50, 32, - 16, 0, 17, 0, 0, 0, - 70, 0, 16, 0, 2, 0, - 0, 0, 54, 0, 0, 6, - 194, 32, 16, 0, 17, 0, - 0, 0, 166, 30, 32, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 31, 0, 4, 3, + 10, 0, 16, 0, 0, 0, + 0, 0, 56, 0, 24, 11, + 50, 0, 16, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 63, 0, 0, + 0, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 166, 26, + 32, 0, 0, 0, 0, 0, + 16, 0, 0, 0, 18, 0, + 0, 1, 54, 0, 24, 7, + 50, 0, 16, 0, 0, 0, + 0, 0, 70, 128, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 21, 0, 0, 1, 49, 0, + 96, 10, 194, 0, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 6, 4, 16, 0, 0, 0, + 0, 0, 1, 0, 32, 7, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 31, 0, 0, 3, 42, 0, + 16, 0, 0, 0, 0, 0, + 62, 0, 0, 1, 21, 0, + 0, 1, 56, 0, 24, 9, + 50, 0, 16, 0, 0, 0, + 0, 0, 70, 0, 16, 0, + 0, 0, 0, 0, 230, 138, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 10, 0, + 0, 0, 56, 0, 24, 8, + 50, 0, 16, 0, 0, 0, + 0, 0, 70, 0, 16, 0, + 0, 0, 0, 0, 246, 31, + 32, 0, 0, 0, 0, 0, + 17, 0, 0, 0, 54, 0, + 56, 6, 114, 0, 16, 0, + 1, 0, 0, 0, 6, 1, + 16, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 54, 0, + 64, 5, 130, 0, 16, 0, + 1, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 0, 0, 120, 8, 242, 0, + 16, 0, 2, 0, 0, 0, + 198, 9, 16, 0, 1, 0, + 0, 0, 70, 20, 32, 0, 0, 0, 0, 0, 17, 0, 0, 0, 54, 0, 0, 6, - 242, 32, 16, 0, 18, 0, - 0, 0, 70, 30, 32, 0, - 0, 0, 0, 0, 18, 0, - 0, 0, 54, 0, 0, 6, - 50, 32, 16, 0, 19, 0, - 0, 0, 70, 16, 32, 0, - 0, 0, 0, 0, 19, 0, - 0, 0, 117, 0, 0, 3, - 0, 0, 17, 0, 0, 0, - 0, 0, 54, 0, 0, 6, 242, 32, 16, 0, 0, 0, 0, 0, 70, 30, 32, 0, 0, 0, 0, 0, 0, 0, @@ -1286,14 +1208,14 @@ const BYTE primitive_point_list_gs[] = 50, 32, 16, 0, 16, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, - 128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 6, 66, 32, 16, 0, 16, 0, 0, 0, 42, 16, 32, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54, 0, 0, 5, 50, 32, 16, 0, - 17, 0, 0, 0, 230, 10, + 17, 0, 0, 0, 70, 0, 16, 0, 2, 0, 0, 0, 54, 0, 0, 6, 194, 32, 16, 0, 17, 0, 0, 0, @@ -1309,10 +1231,200 @@ const BYTE primitive_point_list_gs[] = 0, 0, 19, 0, 0, 0, 117, 0, 0, 3, 0, 0, 17, 0, 0, 0, 0, 0, - 0, 0, 80, 8, 162, 0, + 54, 0, 0, 6, 242, 32, 16, 0, 0, 0, 0, 0, - 6, 4, 16, 0, 0, 0, - 0, 0, 6, 20, 32, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 1, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 2, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 3, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 4, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 5, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 6, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 7, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 8, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 9, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 9, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 10, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 11, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 11, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 12, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 12, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 13, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 13, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 14, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 14, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 15, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 54, 0, 0, 8, 50, 32, + 16, 0, 16, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 128, 63, + 0, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 6, + 66, 32, 16, 0, 16, 0, + 0, 0, 42, 16, 32, 0, + 0, 0, 0, 0, 16, 0, + 0, 0, 54, 0, 0, 5, + 50, 32, 16, 0, 17, 0, + 0, 0, 230, 10, 16, 0, + 2, 0, 0, 0, 54, 0, + 0, 6, 194, 32, 16, 0, + 17, 0, 0, 0, 166, 30, + 32, 0, 0, 0, 0, 0, + 17, 0, 0, 0, 54, 0, + 0, 6, 242, 32, 16, 0, + 18, 0, 0, 0, 70, 30, + 32, 0, 0, 0, 0, 0, + 18, 0, 0, 0, 54, 0, + 0, 6, 50, 32, 16, 0, + 19, 0, 0, 0, 70, 16, + 32, 0, 0, 0, 0, 0, + 19, 0, 0, 0, 117, 0, + 0, 3, 0, 0, 17, 0, + 0, 0, 0, 0, 0, 0, + 80, 8, 162, 0, 16, 0, + 0, 0, 0, 0, 6, 4, + 16, 0, 0, 0, 0, 0, + 6, 20, 32, 0, 0, 0, + 0, 0, 17, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 0, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 1, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 2, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 3, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 4, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 5, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 6, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 7, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 8, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 9, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 9, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 10, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 11, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 11, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 12, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 12, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 13, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 13, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 14, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 14, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 15, 0, 0, 0, + 70, 30, 32, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 54, 0, 0, 8, 50, 32, + 16, 0, 16, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 6, + 66, 32, 16, 0, 16, 0, + 0, 0, 42, 16, 32, 0, + 0, 0, 0, 0, 16, 0, + 0, 0, 54, 0, 0, 5, + 50, 32, 16, 0, 17, 0, + 0, 0, 214, 5, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 6, 194, 32, 16, 0, + 17, 0, 0, 0, 166, 30, + 32, 0, 0, 0, 0, 0, + 17, 0, 0, 0, 54, 0, + 0, 6, 242, 32, 16, 0, + 18, 0, 0, 0, 70, 30, + 32, 0, 0, 0, 0, 0, + 18, 0, 0, 0, 54, 0, + 0, 6, 50, 32, 16, 0, + 19, 0, 0, 0, 70, 16, + 32, 0, 0, 0, 0, 0, + 19, 0, 0, 0, 117, 0, + 0, 3, 0, 0, 17, 0, + 0, 0, 0, 0, 54, 0, + 32, 5, 66, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 1, 0, 0, 0, + 0, 0, 24, 8, 50, 0, + 16, 0, 0, 0, 0, 0, + 134, 0, 16, 0, 0, 0, + 0, 0, 70, 16, 32, 0, 0, 0, 0, 0, 17, 0, 0, 0, 54, 0, 0, 6, 242, 32, 16, 0, 0, 0, @@ -1382,14 +1494,14 @@ const BYTE primitive_point_list_gs[] = 50, 32, 16, 0, 16, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, - 0, 0, 0, 0, 0, 0, + 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 6, 66, 32, 16, 0, 16, 0, 0, 0, 42, 16, 32, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54, 0, 0, 5, 50, 32, 16, 0, - 17, 0, 0, 0, 214, 5, + 17, 0, 0, 0, 70, 0, 16, 0, 0, 0, 0, 0, 54, 0, 0, 6, 194, 32, 16, 0, 17, 0, 0, 0, @@ -1405,132 +1517,33 @@ const BYTE primitive_point_list_gs[] = 0, 0, 19, 0, 0, 0, 117, 0, 0, 3, 0, 0, 17, 0, 0, 0, 0, 0, - 54, 0, 32, 5, 66, 0, - 16, 0, 0, 0, 0, 0, - 42, 0, 16, 0, 1, 0, - 0, 0, 0, 0, 24, 8, - 50, 0, 16, 0, 0, 0, - 0, 0, 134, 0, 16, 0, - 0, 0, 0, 0, 70, 16, - 32, 0, 0, 0, 0, 0, - 17, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 0, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 1, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 2, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 3, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 4, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 4, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 5, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 6, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 6, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 7, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 7, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 8, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 8, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 9, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 9, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 10, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 11, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 11, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 12, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 12, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 13, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 13, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 14, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 14, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 15, 0, 0, 0, 70, 30, - 32, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 54, 0, - 0, 8, 50, 32, 16, 0, - 16, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 128, 63, - 0, 0, 128, 63, 0, 0, + 118, 0, 0, 3, 0, 0, + 17, 0, 0, 0, 0, 0, + 62, 0, 0, 1, 83, 84, + 65, 84, 148, 0, 0, 0, + 121, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 54, 0, 0, 6, 66, 32, - 16, 0, 16, 0, 0, 0, - 42, 16, 32, 0, 0, 0, - 0, 0, 16, 0, 0, 0, - 54, 0, 0, 5, 50, 32, - 16, 0, 17, 0, 0, 0, - 70, 0, 16, 0, 0, 0, - 0, 0, 54, 0, 0, 6, - 194, 32, 16, 0, 17, 0, - 0, 0, 166, 30, 32, 0, - 0, 0, 0, 0, 17, 0, - 0, 0, 54, 0, 0, 6, - 242, 32, 16, 0, 18, 0, - 0, 0, 70, 30, 32, 0, - 0, 0, 0, 0, 18, 0, - 0, 0, 54, 0, 0, 6, - 50, 32, 16, 0, 19, 0, - 0, 0, 70, 16, 32, 0, - 0, 0, 0, 0, 19, 0, - 0, 0, 117, 0, 0, 3, - 0, 0, 17, 0, 0, 0, - 0, 0, 118, 0, 0, 3, - 0, 0, 17, 0, 0, 0, - 0, 0, 62, 0, 0, 1, - 83, 84, 65, 84, 148, 0, - 0, 0, 115, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 41, 0, 0, 0, - 11, 0, 0, 0, 0, 0, + 41, 0, 0, 0, 11, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 4, 0, 0, 0, 3, 0, 0, 0, - 2, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 4, 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, 1, 0, 0, 0, - 4, 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, 2, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 5, 0, 0, 0, - 4, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0 }; diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/tessellation_adaptive_vs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/tessellation_adaptive_vs.h index a80df6cfc..1c27f6b7f 100644 --- a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/tessellation_adaptive_vs.h +++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/tessellation_adaptive_vs.h @@ -16,10 +16,10 @@ // uint2 xe_vertex_index_min_max; // Offset: 24 Size: 8 [unused] // float4 xe_user_clip_planes[6]; // Offset: 32 Size: 96 [unused] // float3 xe_ndc_scale; // Offset: 128 Size: 12 [unused] -// float xe_point_size_x; // Offset: 140 Size: 4 [unused] +// float xe_point_vertex_diameter_min;// Offset: 140 Size: 4 [unused] // float3 xe_ndc_offset; // Offset: 144 Size: 12 [unused] -// float xe_point_size_y; // Offset: 156 Size: 4 [unused] -// float2 xe_point_size_min_max; // Offset: 160 Size: 8 [unused] +// float xe_point_vertex_diameter_max;// Offset: 156 Size: 4 [unused] +// float2 xe_point_constant_radius; // Offset: 160 Size: 8 [unused] // float2 xe_point_screen_to_ndc; // Offset: 168 Size: 8 [unused] // uint xe_interpolator_sampling_pattern;// Offset: 176 Size: 4 [unused] // uint xe_ps_param_gen; // Offset: 180 Size: 4 [unused] @@ -94,21 +94,21 @@ ret const BYTE tessellation_adaptive_vs[] = { - 68, 88, 66, 67, 75, 49, - 78, 76, 10, 94, 91, 100, - 187, 17, 145, 80, 196, 255, - 224, 35, 1, 0, 0, 0, - 196, 13, 0, 0, 5, 0, + 68, 88, 66, 67, 208, 91, + 167, 102, 8, 237, 14, 199, + 43, 1, 173, 204, 50, 149, + 119, 147, 1, 0, 0, 0, + 224, 13, 0, 0, 5, 0, 0, 0, 52, 0, 0, 0, - 184, 10, 0, 0, 236, 10, - 0, 0, 36, 11, 0, 0, - 40, 13, 0, 0, 82, 68, - 69, 70, 124, 10, 0, 0, + 212, 10, 0, 0, 8, 11, + 0, 0, 64, 11, 0, 0, + 68, 13, 0, 0, 82, 68, + 69, 70, 152, 10, 0, 0, 1, 0, 0, 0, 120, 0, 0, 0, 1, 0, 0, 0, 60, 0, 0, 0, 1, 5, 254, 255, 0, 5, 0, 0, - 82, 10, 0, 0, 19, 19, + 110, 10, 0, 0, 19, 19, 68, 37, 60, 0, 0, 0, 24, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, @@ -184,160 +184,160 @@ const BYTE tessellation_adaptive_vs[] = 0, 0, 16, 7, 0, 0, 140, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, - 40, 7, 0, 0, 0, 0, + 52, 7, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 76, 7, 0, 0, 144, 0, + 88, 7, 0, 0, 144, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 236, 6, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 90, 7, + 0, 0, 0, 0, 102, 7, 0, 0, 156, 0, 0, 0, 4, 0, 0, 0, 0, 0, - 0, 0, 40, 7, 0, 0, + 0, 0, 52, 7, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 106, 7, 0, 0, + 0, 0, 131, 7, 0, 0, 160, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 128, 7, 0, 0, 168, 0, + 156, 7, 0, 0, 168, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 151, 7, + 0, 0, 0, 0, 179, 7, 0, 0, 176, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 184, 7, 0, 0, + 0, 0, 212, 7, 0, 0, 180, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 200, 7, 0, 0, 184, 0, + 228, 7, 0, 0, 184, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 116, 6, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 221, 7, + 0, 0, 0, 0, 249, 7, 0, 0, 192, 0, 0, 0, 32, 0, 0, 0, 0, 0, - 0, 0, 0, 8, 0, 0, + 0, 0, 28, 8, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 36, 8, 0, 0, + 0, 0, 64, 8, 0, 0, 224, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 57, 8, 0, 0, 228, 0, + 85, 8, 0, 0, 228, 0, 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 40, 7, + 0, 0, 0, 0, 52, 7, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 81, 8, + 0, 0, 0, 0, 109, 8, 0, 0, 232, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 98, 8, 0, 0, + 0, 0, 126, 8, 0, 0, 236, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 138, 8, 0, 0, 240, 0, + 166, 8, 0, 0, 240, 0, 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 156, 8, + 0, 0, 0, 0, 184, 8, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 192, 8, + 0, 0, 0, 0, 220, 8, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 219, 8, 0, 0, + 0, 0, 247, 8, 0, 0, 8, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 245, 8, 0, 0, 16, 1, + 17, 9, 0, 0, 16, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 23, 9, + 0, 0, 0, 0, 51, 9, 0, 0, 32, 1, 0, 0, 32, 0, 0, 0, 0, 0, - 0, 0, 40, 9, 0, 0, + 0, 0, 68, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 76, 9, 0, 0, + 0, 0, 104, 9, 0, 0, 64, 1, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, - 108, 9, 0, 0, 0, 0, + 136, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 144, 9, 0, 0, 80, 1, + 172, 9, 0, 0, 80, 1, 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 108, 9, + 0, 0, 0, 0, 136, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 169, 9, + 0, 0, 0, 0, 197, 9, 0, 0, 96, 1, 0, 0, 64, 0, 0, 0, 0, 0, - 0, 0, 188, 9, 0, 0, + 0, 0, 216, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 224, 9, 0, 0, + 0, 0, 252, 9, 0, 0, 160, 1, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 248, 9, 0, 0, 0, 0, + 20, 10, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 28, 10, 0, 0, 192, 1, + 56, 10, 0, 0, 192, 1, 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 108, 9, + 0, 0, 0, 0, 136, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 58, 10, + 0, 0, 0, 0, 86, 10, 0, 0, 208, 1, 0, 0, 16, 0, 0, 0, 0, 0, - 0, 0, 156, 8, 0, 0, + 0, 0, 184, 8, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, @@ -406,270 +406,275 @@ const BYTE tessellation_adaptive_vs[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 6, 0, 0, 120, 101, 95, 112, - 111, 105, 110, 116, 95, 115, - 105, 122, 101, 95, 120, 0, - 102, 108, 111, 97, 116, 0, - 171, 171, 0, 0, 3, 0, + 111, 105, 110, 116, 95, 118, + 101, 114, 116, 101, 120, 95, + 100, 105, 97, 109, 101, 116, + 101, 114, 95, 109, 105, 110, + 0, 102, 108, 111, 97, 116, + 0, 171, 0, 0, 3, 0, 1, 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, 32, 7, + 0, 0, 0, 0, 45, 7, 0, 0, 120, 101, 95, 110, 100, 99, 95, 111, 102, 102, 115, 101, 116, 0, 120, 101, 95, 112, 111, 105, 110, 116, - 95, 115, 105, 122, 101, 95, - 121, 0, 120, 101, 95, 112, - 111, 105, 110, 116, 95, 115, - 105, 122, 101, 95, 109, 105, - 110, 95, 109, 97, 120, 0, - 120, 101, 95, 112, 111, 105, - 110, 116, 95, 115, 99, 114, - 101, 101, 110, 95, 116, 111, - 95, 110, 100, 99, 0, 120, - 101, 95, 105, 110, 116, 101, - 114, 112, 111, 108, 97, 116, - 111, 114, 95, 115, 97, 109, - 112, 108, 105, 110, 103, 95, - 112, 97, 116, 116, 101, 114, - 110, 0, 120, 101, 95, 112, - 115, 95, 112, 97, 114, 97, - 109, 95, 103, 101, 110, 0, - 120, 101, 95, 115, 97, 109, - 112, 108, 101, 95, 99, 111, - 117, 110, 116, 95, 108, 111, - 103, 50, 0, 120, 101, 95, - 116, 101, 120, 116, 117, 114, - 101, 95, 115, 119, 105, 122, - 122, 108, 101, 100, 95, 115, - 105, 103, 110, 115, 0, 117, - 105, 110, 116, 52, 0, 171, - 171, 171, 1, 0, 19, 0, - 1, 0, 4, 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, 247, 7, - 0, 0, 120, 101, 95, 116, - 101, 120, 116, 117, 114, 101, - 115, 95, 114, 101, 115, 111, - 108, 118, 101, 100, 0, 120, - 101, 95, 97, 108, 112, 104, - 97, 95, 116, 101, 115, 116, - 95, 114, 101, 102, 101, 114, - 101, 110, 99, 101, 0, 120, - 101, 95, 97, 108, 112, 104, - 97, 95, 116, 111, 95, 109, - 97, 115, 107, 0, 120, 101, - 95, 101, 100, 114, 97, 109, - 95, 51, 50, 98, 112, 112, - 95, 116, 105, 108, 101, 95, - 112, 105, 116, 99, 104, 95, - 100, 119, 111, 114, 100, 115, - 95, 115, 99, 97, 108, 101, - 100, 0, 120, 101, 95, 99, - 111, 108, 111, 114, 95, 101, - 120, 112, 95, 98, 105, 97, - 115, 0, 1, 0, 3, 0, - 1, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 172, 6, - 0, 0, 120, 101, 95, 101, - 100, 114, 97, 109, 95, 112, - 111, 108, 121, 95, 111, 102, - 102, 115, 101, 116, 95, 102, - 114, 111, 110, 116, 0, 120, - 101, 95, 101, 100, 114, 97, - 109, 95, 112, 111, 108, 121, - 95, 111, 102, 102, 115, 101, - 116, 95, 98, 97, 99, 107, - 0, 120, 101, 95, 101, 100, - 114, 97, 109, 95, 100, 101, - 112, 116, 104, 95, 98, 97, - 115, 101, 95, 100, 119, 111, - 114, 100, 115, 95, 115, 99, - 97, 108, 101, 100, 0, 120, - 101, 95, 101, 100, 114, 97, - 109, 95, 115, 116, 101, 110, - 99, 105, 108, 0, 1, 0, - 19, 0, 1, 0, 4, 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, - 247, 7, 0, 0, 120, 101, - 95, 101, 100, 114, 97, 109, - 95, 114, 116, 95, 98, 97, - 115, 101, 95, 100, 119, 111, - 114, 100, 115, 95, 115, 99, - 97, 108, 101, 100, 0, 171, + 95, 118, 101, 114, 116, 101, + 120, 95, 100, 105, 97, 109, + 101, 116, 101, 114, 95, 109, + 97, 120, 0, 120, 101, 95, + 112, 111, 105, 110, 116, 95, + 99, 111, 110, 115, 116, 97, + 110, 116, 95, 114, 97, 100, + 105, 117, 115, 0, 120, 101, + 95, 112, 111, 105, 110, 116, + 95, 115, 99, 114, 101, 101, + 110, 95, 116, 111, 95, 110, + 100, 99, 0, 120, 101, 95, + 105, 110, 116, 101, 114, 112, + 111, 108, 97, 116, 111, 114, + 95, 115, 97, 109, 112, 108, + 105, 110, 103, 95, 112, 97, + 116, 116, 101, 114, 110, 0, + 120, 101, 95, 112, 115, 95, + 112, 97, 114, 97, 109, 95, + 103, 101, 110, 0, 120, 101, + 95, 115, 97, 109, 112, 108, + 101, 95, 99, 111, 117, 110, + 116, 95, 108, 111, 103, 50, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 115, 119, 105, 122, 122, 108, + 101, 100, 95, 115, 105, 103, + 110, 115, 0, 117, 105, 110, + 116, 52, 0, 171, 171, 171, 1, 0, 19, 0, 1, 0, + 4, 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, 19, 8, 0, 0, + 120, 101, 95, 116, 101, 120, + 116, 117, 114, 101, 115, 95, + 114, 101, 115, 111, 108, 118, + 101, 100, 0, 120, 101, 95, + 97, 108, 112, 104, 97, 95, + 116, 101, 115, 116, 95, 114, + 101, 102, 101, 114, 101, 110, + 99, 101, 0, 120, 101, 95, + 97, 108, 112, 104, 97, 95, + 116, 111, 95, 109, 97, 115, + 107, 0, 120, 101, 95, 101, + 100, 114, 97, 109, 95, 51, + 50, 98, 112, 112, 95, 116, + 105, 108, 101, 95, 112, 105, + 116, 99, 104, 95, 100, 119, + 111, 114, 100, 115, 95, 115, + 99, 97, 108, 101, 100, 0, + 120, 101, 95, 99, 111, 108, + 111, 114, 95, 101, 120, 112, + 95, 98, 105, 97, 115, 0, + 1, 0, 3, 0, 1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 247, 7, 0, 0, + 0, 0, 172, 6, 0, 0, 120, 101, 95, 101, 100, 114, - 97, 109, 95, 114, 116, 95, - 102, 111, 114, 109, 97, 116, - 95, 102, 108, 97, 103, 115, - 0, 120, 101, 95, 101, 100, - 114, 97, 109, 95, 114, 116, - 95, 99, 108, 97, 109, 112, - 0, 171, 1, 0, 3, 0, - 1, 0, 4, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 172, 6, - 0, 0, 120, 101, 95, 101, - 100, 114, 97, 109, 95, 114, - 116, 95, 107, 101, 101, 112, - 95, 109, 97, 115, 107, 0, - 171, 171, 1, 0, 19, 0, + 97, 109, 95, 112, 111, 108, + 121, 95, 111, 102, 102, 115, + 101, 116, 95, 102, 114, 111, + 110, 116, 0, 120, 101, 95, + 101, 100, 114, 97, 109, 95, + 112, 111, 108, 121, 95, 111, + 102, 102, 115, 101, 116, 95, + 98, 97, 99, 107, 0, 120, + 101, 95, 101, 100, 114, 97, + 109, 95, 100, 101, 112, 116, + 104, 95, 98, 97, 115, 101, + 95, 100, 119, 111, 114, 100, + 115, 95, 115, 99, 97, 108, + 101, 100, 0, 120, 101, 95, + 101, 100, 114, 97, 109, 95, + 115, 116, 101, 110, 99, 105, + 108, 0, 1, 0, 19, 0, 1, 0, 4, 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, 247, 7, + 0, 0, 0, 0, 19, 8, 0, 0, 120, 101, 95, 101, 100, 114, 97, 109, 95, 114, - 116, 95, 98, 108, 101, 110, - 100, 95, 102, 97, 99, 116, - 111, 114, 115, 95, 111, 112, - 115, 0, 120, 101, 95, 101, - 100, 114, 97, 109, 95, 98, - 108, 101, 110, 100, 95, 99, - 111, 110, 115, 116, 97, 110, - 116, 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, - 44, 0, 0, 0, 1, 0, - 0, 0, 8, 0, 0, 0, - 32, 0, 0, 0, 0, 0, - 0, 0, 6, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 1, 1, 0, 0, - 83, 86, 95, 86, 101, 114, - 116, 101, 120, 73, 68, 0, - 79, 83, 71, 78, 48, 0, + 116, 95, 98, 97, 115, 101, + 95, 100, 119, 111, 114, 100, + 115, 95, 115, 99, 97, 108, + 101, 100, 0, 171, 1, 0, + 19, 0, 1, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 19, 8, 0, 0, 120, 101, + 95, 101, 100, 114, 97, 109, + 95, 114, 116, 95, 102, 111, + 114, 109, 97, 116, 95, 102, + 108, 97, 103, 115, 0, 120, + 101, 95, 101, 100, 114, 97, + 109, 95, 114, 116, 95, 99, + 108, 97, 109, 112, 0, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 172, 6, 0, 0, + 120, 101, 95, 101, 100, 114, + 97, 109, 95, 114, 116, 95, + 107, 101, 101, 112, 95, 109, + 97, 115, 107, 0, 171, 171, + 1, 0, 19, 0, 1, 0, + 4, 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, 19, 8, 0, 0, + 120, 101, 95, 101, 100, 114, + 97, 109, 95, 114, 116, 95, + 98, 108, 101, 110, 100, 95, + 102, 97, 99, 116, 111, 114, + 115, 95, 111, 112, 115, 0, + 120, 101, 95, 101, 100, 114, + 97, 109, 95, 98, 108, 101, + 110, 100, 95, 99, 111, 110, + 115, 116, 97, 110, 116, 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, 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, + 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 1, 14, 0, 0, 88, 69, - 84, 69, 83, 83, 70, 65, - 67, 84, 79, 82, 0, 171, - 171, 171, 83, 72, 69, 88, - 252, 1, 0, 0, 81, 0, - 1, 0, 127, 0, 0, 0, - 106, 8, 0, 1, 89, 0, - 0, 7, 70, 142, 48, 0, + 1, 1, 0, 0, 83, 86, + 95, 86, 101, 114, 116, 101, + 120, 73, 68, 0, 79, 83, + 71, 78, 48, 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, 1, 14, + 0, 0, 88, 69, 84, 69, + 83, 83, 70, 65, 67, 84, + 79, 82, 0, 171, 171, 171, + 83, 72, 69, 88, 252, 1, + 0, 0, 81, 0, 1, 0, + 127, 0, 0, 0, 106, 8, + 0, 1, 89, 0, 0, 7, + 70, 142, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 96, 0, 0, 4, - 18, 16, 16, 0, 0, 0, - 0, 0, 6, 0, 0, 0, - 101, 0, 0, 3, 18, 32, + 0, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 96, 0, 0, 4, 18, 16, 16, 0, 0, 0, 0, 0, - 104, 0, 0, 2, 1, 0, - 0, 0, 32, 0, 0, 12, - 114, 0, 16, 0, 0, 0, - 0, 0, 6, 128, 48, 0, + 6, 0, 0, 0, 101, 0, + 0, 3, 18, 32, 16, 0, + 0, 0, 0, 0, 104, 0, + 0, 2, 1, 0, 0, 0, + 32, 0, 0, 12, 114, 0, + 16, 0, 0, 0, 0, 0, + 6, 128, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, - 2, 64, 0, 0, 1, 0, - 0, 0, 2, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 60, 0, 0, 7, - 50, 0, 16, 0, 0, 0, - 0, 0, 150, 5, 16, 0, - 0, 0, 0, 0, 70, 0, + 2, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 60, 0, 0, 7, 50, 0, 16, 0, 0, 0, 0, 0, - 31, 0, 4, 3, 10, 0, - 16, 0, 0, 0, 0, 0, - 41, 0, 0, 7, 18, 0, - 16, 0, 0, 0, 0, 0, - 10, 16, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 8, 0, 0, 0, 85, 0, - 0, 7, 66, 0, 16, 0, + 150, 5, 16, 0, 0, 0, + 0, 0, 70, 0, 16, 0, + 0, 0, 0, 0, 31, 0, + 4, 3, 10, 0, 16, 0, + 0, 0, 0, 0, 41, 0, + 0, 7, 18, 0, 16, 0, 0, 0, 0, 0, 10, 16, 16, 0, 0, 0, 0, 0, 1, 64, 0, 0, 8, 0, - 0, 0, 1, 0, 0, 10, - 82, 0, 16, 0, 0, 0, - 0, 0, 6, 2, 16, 0, - 0, 0, 0, 0, 2, 64, - 0, 0, 0, 255, 0, 255, - 0, 0, 0, 0, 255, 0, - 255, 0, 0, 0, 0, 0, - 30, 0, 0, 7, 18, 0, - 16, 0, 0, 0, 0, 0, - 42, 0, 16, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 18, 0, - 0, 1, 54, 0, 0, 5, - 18, 0, 16, 0, 0, 0, - 0, 0, 10, 16, 16, 0, - 0, 0, 0, 0, 21, 0, - 0, 1, 31, 0, 4, 3, - 26, 0, 16, 0, 0, 0, 0, 0, 85, 0, 0, 7, - 34, 0, 16, 0, 0, 0, - 0, 0, 10, 0, 16, 0, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 16, 16, 0, 0, 0, 0, 0, 1, 64, - 0, 0, 16, 0, 0, 0, - 140, 0, 0, 11, 18, 0, + 0, 0, 8, 0, 0, 0, + 1, 0, 0, 10, 82, 0, 16, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 16, 0, - 0, 0, 1, 64, 0, 0, - 16, 0, 0, 0, 10, 0, + 6, 2, 16, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 0, 255, 0, 255, 0, 0, + 0, 0, 255, 0, 255, 0, + 0, 0, 0, 0, 30, 0, + 0, 7, 18, 0, 16, 0, + 0, 0, 0, 0, 42, 0, 16, 0, 0, 0, 0, 0, - 26, 0, 16, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 18, 0, 0, 1, + 54, 0, 0, 5, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 16, 16, 0, 0, 0, 0, 0, 21, 0, 0, 1, - 0, 0, 0, 7, 18, 0, + 31, 0, 4, 3, 26, 0, + 16, 0, 0, 0, 0, 0, + 85, 0, 0, 7, 34, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 1, 64, 0, 0, - 0, 0, 128, 63, 52, 0, - 0, 9, 18, 0, 16, 0, + 16, 0, 0, 0, 140, 0, + 0, 11, 18, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 16, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 21, 0, 0, 1, 0, 0, + 0, 7, 18, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, - 26, 128, 48, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 128, 63, 52, 0, 0, 9, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 26, 128, + 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 51, 0, - 0, 9, 18, 32, 16, 0, - 0, 0, 0, 0, 10, 0, - 16, 0, 0, 0, 0, 0, - 42, 128, 48, 0, 0, 0, + 0, 0, 51, 0, 0, 9, + 18, 32, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 42, 128, + 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 62, 0, - 0, 1, 83, 84, 65, 84, - 148, 0, 0, 0, 18, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 3, 0, 0, 0, - 3, 0, 0, 0, 4, 0, + 0, 0, 62, 0, 0, 1, + 83, 84, 65, 84, 148, 0, + 0, 0, 18, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, - 2, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 3, 0, + 0, 0, 4, 0, 0, 0, + 2, 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, 1, 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, @@ -680,6 +685,5 @@ const BYTE tessellation_adaptive_vs[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0 + 0, 0, 0, 0, 0, 0 }; diff --git a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/tessellation_indexed_vs.h b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/tessellation_indexed_vs.h index 5362ad6fe..6646f5076 100644 --- a/src/xenia/gpu/shaders/bytecode/d3d12_5_1/tessellation_indexed_vs.h +++ b/src/xenia/gpu/shaders/bytecode/d3d12_5_1/tessellation_indexed_vs.h @@ -16,10 +16,10 @@ // uint2 xe_vertex_index_min_max; // Offset: 24 Size: 8 // float4 xe_user_clip_planes[6]; // Offset: 32 Size: 96 [unused] // float3 xe_ndc_scale; // Offset: 128 Size: 12 [unused] -// float xe_point_size_x; // Offset: 140 Size: 4 [unused] +// float xe_point_vertex_diameter_min;// Offset: 140 Size: 4 [unused] // float3 xe_ndc_offset; // Offset: 144 Size: 12 [unused] -// float xe_point_size_y; // Offset: 156 Size: 4 [unused] -// float2 xe_point_size_min_max; // Offset: 160 Size: 8 [unused] +// float xe_point_vertex_diameter_max;// Offset: 156 Size: 4 [unused] +// float2 xe_point_constant_radius; // Offset: 160 Size: 8 [unused] // float2 xe_point_screen_to_ndc; // Offset: 168 Size: 8 [unused] // uint xe_interpolator_sampling_pattern;// Offset: 176 Size: 4 [unused] // uint xe_ps_param_gen; // Offset: 180 Size: 4 [unused] @@ -96,21 +96,21 @@ ret const BYTE tessellation_indexed_vs[] = { - 68, 88, 66, 67, 126, 143, - 61, 16, 42, 166, 147, 123, - 54, 196, 251, 250, 225, 235, - 160, 249, 1, 0, 0, 0, - 248, 13, 0, 0, 5, 0, + 68, 88, 66, 67, 188, 215, + 146, 114, 163, 91, 37, 43, + 43, 60, 196, 54, 82, 23, + 130, 140, 1, 0, 0, 0, + 20, 14, 0, 0, 5, 0, 0, 0, 52, 0, 0, 0, - 184, 10, 0, 0, 236, 10, - 0, 0, 32, 11, 0, 0, - 92, 13, 0, 0, 82, 68, - 69, 70, 124, 10, 0, 0, + 212, 10, 0, 0, 8, 11, + 0, 0, 60, 11, 0, 0, + 120, 13, 0, 0, 82, 68, + 69, 70, 152, 10, 0, 0, 1, 0, 0, 0, 120, 0, 0, 0, 1, 0, 0, 0, 60, 0, 0, 0, 1, 5, 254, 255, 0, 5, 0, 0, - 82, 10, 0, 0, 19, 19, + 110, 10, 0, 0, 19, 19, 68, 37, 60, 0, 0, 0, 24, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, @@ -186,160 +186,160 @@ const BYTE tessellation_indexed_vs[] = 0, 0, 16, 7, 0, 0, 140, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, - 40, 7, 0, 0, 0, 0, + 52, 7, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 76, 7, 0, 0, 144, 0, + 88, 7, 0, 0, 144, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 236, 6, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 90, 7, + 0, 0, 0, 0, 102, 7, 0, 0, 156, 0, 0, 0, 4, 0, 0, 0, 0, 0, - 0, 0, 40, 7, 0, 0, + 0, 0, 52, 7, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 106, 7, 0, 0, + 0, 0, 131, 7, 0, 0, 160, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 128, 7, 0, 0, 168, 0, + 156, 7, 0, 0, 168, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 151, 7, + 0, 0, 0, 0, 179, 7, 0, 0, 176, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 184, 7, 0, 0, + 0, 0, 212, 7, 0, 0, 180, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 200, 7, 0, 0, 184, 0, + 228, 7, 0, 0, 184, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 116, 6, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 221, 7, + 0, 0, 0, 0, 249, 7, 0, 0, 192, 0, 0, 0, 32, 0, 0, 0, 0, 0, - 0, 0, 0, 8, 0, 0, + 0, 0, 28, 8, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 36, 8, 0, 0, + 0, 0, 64, 8, 0, 0, 224, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 57, 8, 0, 0, 228, 0, + 85, 8, 0, 0, 228, 0, 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 40, 7, + 0, 0, 0, 0, 52, 7, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 81, 8, + 0, 0, 0, 0, 109, 8, 0, 0, 232, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 98, 8, 0, 0, + 0, 0, 126, 8, 0, 0, 236, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 138, 8, 0, 0, 240, 0, + 166, 8, 0, 0, 240, 0, 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 156, 8, + 0, 0, 0, 0, 184, 8, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 192, 8, + 0, 0, 0, 0, 220, 8, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 219, 8, 0, 0, + 0, 0, 247, 8, 0, 0, 8, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 232, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 245, 8, 0, 0, 16, 1, + 17, 9, 0, 0, 16, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 23, 9, + 0, 0, 0, 0, 51, 9, 0, 0, 32, 1, 0, 0, 32, 0, 0, 0, 0, 0, - 0, 0, 40, 9, 0, 0, + 0, 0, 68, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 76, 9, 0, 0, + 0, 0, 104, 9, 0, 0, 64, 1, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, - 108, 9, 0, 0, 0, 0, + 136, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 144, 9, 0, 0, 80, 1, + 172, 9, 0, 0, 80, 1, 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 108, 9, + 0, 0, 0, 0, 136, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 169, 9, + 0, 0, 0, 0, 197, 9, 0, 0, 96, 1, 0, 0, 64, 0, 0, 0, 0, 0, - 0, 0, 188, 9, 0, 0, + 0, 0, 216, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, - 0, 0, 224, 9, 0, 0, + 0, 0, 252, 9, 0, 0, 160, 1, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 248, 9, 0, 0, 0, 0, + 20, 10, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 28, 10, 0, 0, 192, 1, + 56, 10, 0, 0, 192, 1, 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 108, 9, + 0, 0, 0, 0, 136, 9, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 58, 10, + 0, 0, 0, 0, 86, 10, 0, 0, 208, 1, 0, 0, 16, 0, 0, 0, 0, 0, - 0, 0, 156, 8, 0, 0, + 0, 0, 184, 8, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, @@ -408,280 +408,285 @@ const BYTE tessellation_indexed_vs[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 6, 0, 0, 120, 101, 95, 112, - 111, 105, 110, 116, 95, 115, - 105, 122, 101, 95, 120, 0, - 102, 108, 111, 97, 116, 0, - 171, 171, 0, 0, 3, 0, + 111, 105, 110, 116, 95, 118, + 101, 114, 116, 101, 120, 95, + 100, 105, 97, 109, 101, 116, + 101, 114, 95, 109, 105, 110, + 0, 102, 108, 111, 97, 116, + 0, 171, 0, 0, 3, 0, 1, 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, 32, 7, + 0, 0, 0, 0, 45, 7, 0, 0, 120, 101, 95, 110, 100, 99, 95, 111, 102, 102, 115, 101, 116, 0, 120, 101, 95, 112, 111, 105, 110, 116, - 95, 115, 105, 122, 101, 95, - 121, 0, 120, 101, 95, 112, - 111, 105, 110, 116, 95, 115, - 105, 122, 101, 95, 109, 105, - 110, 95, 109, 97, 120, 0, - 120, 101, 95, 112, 111, 105, - 110, 116, 95, 115, 99, 114, - 101, 101, 110, 95, 116, 111, - 95, 110, 100, 99, 0, 120, - 101, 95, 105, 110, 116, 101, - 114, 112, 111, 108, 97, 116, - 111, 114, 95, 115, 97, 109, - 112, 108, 105, 110, 103, 95, - 112, 97, 116, 116, 101, 114, - 110, 0, 120, 101, 95, 112, - 115, 95, 112, 97, 114, 97, - 109, 95, 103, 101, 110, 0, - 120, 101, 95, 115, 97, 109, - 112, 108, 101, 95, 99, 111, - 117, 110, 116, 95, 108, 111, - 103, 50, 0, 120, 101, 95, - 116, 101, 120, 116, 117, 114, - 101, 95, 115, 119, 105, 122, - 122, 108, 101, 100, 95, 115, - 105, 103, 110, 115, 0, 117, - 105, 110, 116, 52, 0, 171, - 171, 171, 1, 0, 19, 0, - 1, 0, 4, 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, 247, 7, - 0, 0, 120, 101, 95, 116, - 101, 120, 116, 117, 114, 101, - 115, 95, 114, 101, 115, 111, - 108, 118, 101, 100, 0, 120, - 101, 95, 97, 108, 112, 104, - 97, 95, 116, 101, 115, 116, - 95, 114, 101, 102, 101, 114, - 101, 110, 99, 101, 0, 120, - 101, 95, 97, 108, 112, 104, - 97, 95, 116, 111, 95, 109, - 97, 115, 107, 0, 120, 101, - 95, 101, 100, 114, 97, 109, - 95, 51, 50, 98, 112, 112, - 95, 116, 105, 108, 101, 95, - 112, 105, 116, 99, 104, 95, - 100, 119, 111, 114, 100, 115, - 95, 115, 99, 97, 108, 101, - 100, 0, 120, 101, 95, 99, - 111, 108, 111, 114, 95, 101, - 120, 112, 95, 98, 105, 97, - 115, 0, 1, 0, 3, 0, - 1, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 172, 6, - 0, 0, 120, 101, 95, 101, - 100, 114, 97, 109, 95, 112, - 111, 108, 121, 95, 111, 102, - 102, 115, 101, 116, 95, 102, - 114, 111, 110, 116, 0, 120, - 101, 95, 101, 100, 114, 97, - 109, 95, 112, 111, 108, 121, - 95, 111, 102, 102, 115, 101, - 116, 95, 98, 97, 99, 107, - 0, 120, 101, 95, 101, 100, - 114, 97, 109, 95, 100, 101, - 112, 116, 104, 95, 98, 97, - 115, 101, 95, 100, 119, 111, - 114, 100, 115, 95, 115, 99, - 97, 108, 101, 100, 0, 120, - 101, 95, 101, 100, 114, 97, - 109, 95, 115, 116, 101, 110, - 99, 105, 108, 0, 1, 0, - 19, 0, 1, 0, 4, 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, - 247, 7, 0, 0, 120, 101, - 95, 101, 100, 114, 97, 109, - 95, 114, 116, 95, 98, 97, - 115, 101, 95, 100, 119, 111, - 114, 100, 115, 95, 115, 99, - 97, 108, 101, 100, 0, 171, + 95, 118, 101, 114, 116, 101, + 120, 95, 100, 105, 97, 109, + 101, 116, 101, 114, 95, 109, + 97, 120, 0, 120, 101, 95, + 112, 111, 105, 110, 116, 95, + 99, 111, 110, 115, 116, 97, + 110, 116, 95, 114, 97, 100, + 105, 117, 115, 0, 120, 101, + 95, 112, 111, 105, 110, 116, + 95, 115, 99, 114, 101, 101, + 110, 95, 116, 111, 95, 110, + 100, 99, 0, 120, 101, 95, + 105, 110, 116, 101, 114, 112, + 111, 108, 97, 116, 111, 114, + 95, 115, 97, 109, 112, 108, + 105, 110, 103, 95, 112, 97, + 116, 116, 101, 114, 110, 0, + 120, 101, 95, 112, 115, 95, + 112, 97, 114, 97, 109, 95, + 103, 101, 110, 0, 120, 101, + 95, 115, 97, 109, 112, 108, + 101, 95, 99, 111, 117, 110, + 116, 95, 108, 111, 103, 50, + 0, 120, 101, 95, 116, 101, + 120, 116, 117, 114, 101, 95, + 115, 119, 105, 122, 122, 108, + 101, 100, 95, 115, 105, 103, + 110, 115, 0, 117, 105, 110, + 116, 52, 0, 171, 171, 171, 1, 0, 19, 0, 1, 0, + 4, 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, 19, 8, 0, 0, + 120, 101, 95, 116, 101, 120, + 116, 117, 114, 101, 115, 95, + 114, 101, 115, 111, 108, 118, + 101, 100, 0, 120, 101, 95, + 97, 108, 112, 104, 97, 95, + 116, 101, 115, 116, 95, 114, + 101, 102, 101, 114, 101, 110, + 99, 101, 0, 120, 101, 95, + 97, 108, 112, 104, 97, 95, + 116, 111, 95, 109, 97, 115, + 107, 0, 120, 101, 95, 101, + 100, 114, 97, 109, 95, 51, + 50, 98, 112, 112, 95, 116, + 105, 108, 101, 95, 112, 105, + 116, 99, 104, 95, 100, 119, + 111, 114, 100, 115, 95, 115, + 99, 97, 108, 101, 100, 0, + 120, 101, 95, 99, 111, 108, + 111, 114, 95, 101, 120, 112, + 95, 98, 105, 97, 115, 0, + 1, 0, 3, 0, 1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 247, 7, 0, 0, + 0, 0, 172, 6, 0, 0, 120, 101, 95, 101, 100, 114, - 97, 109, 95, 114, 116, 95, - 102, 111, 114, 109, 97, 116, - 95, 102, 108, 97, 103, 115, - 0, 120, 101, 95, 101, 100, - 114, 97, 109, 95, 114, 116, - 95, 99, 108, 97, 109, 112, - 0, 171, 1, 0, 3, 0, - 1, 0, 4, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 172, 6, - 0, 0, 120, 101, 95, 101, - 100, 114, 97, 109, 95, 114, - 116, 95, 107, 101, 101, 112, - 95, 109, 97, 115, 107, 0, - 171, 171, 1, 0, 19, 0, + 97, 109, 95, 112, 111, 108, + 121, 95, 111, 102, 102, 115, + 101, 116, 95, 102, 114, 111, + 110, 116, 0, 120, 101, 95, + 101, 100, 114, 97, 109, 95, + 112, 111, 108, 121, 95, 111, + 102, 102, 115, 101, 116, 95, + 98, 97, 99, 107, 0, 120, + 101, 95, 101, 100, 114, 97, + 109, 95, 100, 101, 112, 116, + 104, 95, 98, 97, 115, 101, + 95, 100, 119, 111, 114, 100, + 115, 95, 115, 99, 97, 108, + 101, 100, 0, 120, 101, 95, + 101, 100, 114, 97, 109, 95, + 115, 116, 101, 110, 99, 105, + 108, 0, 1, 0, 19, 0, 1, 0, 4, 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, 247, 7, + 0, 0, 0, 0, 19, 8, 0, 0, 120, 101, 95, 101, 100, 114, 97, 109, 95, 114, - 116, 95, 98, 108, 101, 110, - 100, 95, 102, 97, 99, 116, - 111, 114, 115, 95, 111, 112, - 115, 0, 120, 101, 95, 101, - 100, 114, 97, 109, 95, 98, - 108, 101, 110, 100, 95, 99, - 111, 110, 115, 116, 97, 110, - 116, 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, - 44, 0, 0, 0, 1, 0, - 0, 0, 8, 0, 0, 0, - 32, 0, 0, 0, 0, 0, - 0, 0, 6, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 1, 1, 0, 0, - 83, 86, 95, 86, 101, 114, - 116, 101, 120, 73, 68, 0, - 79, 83, 71, 78, 44, 0, + 116, 95, 98, 97, 115, 101, + 95, 100, 119, 111, 114, 100, + 115, 95, 115, 99, 97, 108, + 101, 100, 0, 171, 1, 0, + 19, 0, 1, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 19, 8, 0, 0, 120, 101, + 95, 101, 100, 114, 97, 109, + 95, 114, 116, 95, 102, 111, + 114, 109, 97, 116, 95, 102, + 108, 97, 103, 115, 0, 120, + 101, 95, 101, 100, 114, 97, + 109, 95, 114, 116, 95, 99, + 108, 97, 109, 112, 0, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 172, 6, 0, 0, + 120, 101, 95, 101, 100, 114, + 97, 109, 95, 114, 116, 95, + 107, 101, 101, 112, 95, 109, + 97, 115, 107, 0, 171, 171, + 1, 0, 19, 0, 1, 0, + 4, 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, 19, 8, 0, 0, + 120, 101, 95, 101, 100, 114, + 97, 109, 95, 114, 116, 95, + 98, 108, 101, 110, 100, 95, + 102, 97, 99, 116, 111, 114, + 115, 95, 111, 112, 115, 0, + 120, 101, 95, 101, 100, 114, + 97, 109, 95, 98, 108, 101, + 110, 100, 95, 99, 111, 110, + 115, 116, 97, 110, 116, 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, 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, + 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 1, 14, 0, 0, 88, 69, - 86, 69, 82, 84, 69, 88, - 73, 68, 0, 171, 83, 72, - 69, 88, 52, 2, 0, 0, - 81, 0, 1, 0, 141, 0, - 0, 0, 106, 8, 0, 1, - 89, 0, 0, 7, 70, 142, - 48, 0, 0, 0, 0, 0, + 1, 1, 0, 0, 83, 86, + 95, 86, 101, 114, 116, 101, + 120, 73, 68, 0, 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, 2, 0, 0, 0, - 0, 0, 0, 0, 96, 0, - 0, 4, 18, 16, 16, 0, - 0, 0, 0, 0, 6, 0, - 0, 0, 101, 0, 0, 3, - 18, 32, 16, 0, 0, 0, - 0, 0, 104, 0, 0, 2, - 1, 0, 0, 0, 32, 0, - 0, 12, 114, 0, 16, 0, - 0, 0, 0, 0, 6, 128, - 48, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 2, 64, 0, 0, - 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 60, 0, - 0, 7, 50, 0, 16, 0, - 0, 0, 0, 0, 150, 5, + 0, 0, 0, 0, 1, 14, + 0, 0, 88, 69, 86, 69, + 82, 84, 69, 88, 73, 68, + 0, 171, 83, 72, 69, 88, + 52, 2, 0, 0, 81, 0, + 1, 0, 141, 0, 0, 0, + 106, 8, 0, 1, 89, 0, + 0, 7, 70, 142, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 96, 0, 0, 4, + 18, 16, 16, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 101, 0, 0, 3, 18, 32, 16, 0, 0, 0, 0, 0, - 70, 0, 16, 0, 0, 0, - 0, 0, 31, 0, 4, 3, - 10, 0, 16, 0, 0, 0, - 0, 0, 41, 0, 0, 7, - 18, 0, 16, 0, 0, 0, - 0, 0, 10, 16, 16, 0, - 0, 0, 0, 0, 1, 64, - 0, 0, 8, 0, 0, 0, - 85, 0, 0, 7, 66, 0, + 104, 0, 0, 2, 1, 0, + 0, 0, 32, 0, 0, 12, + 114, 0, 16, 0, 0, 0, + 0, 0, 6, 128, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 1, 0, + 0, 0, 2, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 60, 0, 0, 7, + 50, 0, 16, 0, 0, 0, + 0, 0, 150, 5, 16, 0, + 0, 0, 0, 0, 70, 0, + 16, 0, 0, 0, 0, 0, + 31, 0, 4, 3, 10, 0, + 16, 0, 0, 0, 0, 0, + 41, 0, 0, 7, 18, 0, 16, 0, 0, 0, 0, 0, 10, 16, 16, 0, 0, 0, 0, 0, 1, 64, 0, 0, - 8, 0, 0, 0, 1, 0, - 0, 10, 82, 0, 16, 0, - 0, 0, 0, 0, 6, 2, - 16, 0, 0, 0, 0, 0, - 2, 64, 0, 0, 0, 255, - 0, 255, 0, 0, 0, 0, - 255, 0, 255, 0, 0, 0, - 0, 0, 30, 0, 0, 7, - 18, 0, 16, 0, 0, 0, - 0, 0, 42, 0, 16, 0, - 0, 0, 0, 0, 10, 0, - 16, 0, 0, 0, 0, 0, - 18, 0, 0, 1, 54, 0, - 0, 5, 18, 0, 16, 0, + 8, 0, 0, 0, 85, 0, + 0, 7, 66, 0, 16, 0, 0, 0, 0, 0, 10, 16, 16, 0, 0, 0, 0, 0, - 21, 0, 0, 1, 31, 0, - 4, 3, 26, 0, 16, 0, - 0, 0, 0, 0, 85, 0, - 0, 7, 34, 0, 16, 0, - 0, 0, 0, 0, 10, 0, + 1, 64, 0, 0, 8, 0, + 0, 0, 1, 0, 0, 10, + 82, 0, 16, 0, 0, 0, + 0, 0, 6, 2, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 255, 0, 255, + 0, 0, 0, 0, 255, 0, + 255, 0, 0, 0, 0, 0, + 30, 0, 0, 7, 18, 0, 16, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 16, 0, - 0, 0, 140, 0, 0, 11, - 18, 0, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 16, 0, 0, 0, 1, 64, - 0, 0, 16, 0, 0, 0, - 10, 0, 16, 0, 0, 0, - 0, 0, 26, 0, 16, 0, - 0, 0, 0, 0, 21, 0, - 0, 1, 30, 0, 0, 9, - 18, 0, 16, 0, 0, 0, + 42, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 26, 128, - 48, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 1, 0, 0, 7, + 0, 0, 0, 0, 18, 0, + 0, 1, 54, 0, 0, 5, 18, 0, 16, 0, 0, 0, + 0, 0, 10, 16, 16, 0, + 0, 0, 0, 0, 21, 0, + 0, 1, 31, 0, 4, 3, + 26, 0, 16, 0, 0, 0, + 0, 0, 85, 0, 0, 7, + 34, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 1, 64, - 0, 0, 255, 255, 255, 0, - 83, 0, 0, 9, 18, 0, + 0, 0, 16, 0, 0, 0, + 140, 0, 0, 11, 18, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 16, 0, + 0, 0, 1, 64, 0, 0, + 16, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 21, 0, 0, 1, + 30, 0, 0, 9, 18, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, - 0, 0, 42, 128, 48, 0, + 0, 0, 26, 128, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 84, 0, 0, 9, 18, 0, + 1, 0, 0, 7, 18, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, - 0, 0, 58, 128, 48, 0, + 0, 0, 1, 64, 0, 0, + 255, 255, 255, 0, 83, 0, + 0, 9, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 42, 128, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 86, 0, 0, 5, 18, 32, + 1, 0, 0, 0, 84, 0, + 0, 9, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, - 10, 0, 16, 0, 0, 0, - 0, 0, 62, 0, 0, 1, - 83, 84, 65, 84, 148, 0, - 0, 0, 20, 0, 0, 0, - 1, 0, 0, 0, 0, 0, + 58, 128, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 86, 0, + 0, 5, 18, 32, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 62, 0, 0, 1, 83, 84, + 65, 84, 148, 0, 0, 0, + 20, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 7, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 4, 0, - 0, 0, 7, 0, 0, 0, - 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 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, @@ -691,5 +696,5 @@ const BYTE tessellation_indexed_vs[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0 }; diff --git a/src/xenia/gpu/shaders/primitive_point_list.gs.hlsl b/src/xenia/gpu/shaders/primitive_point_list.gs.hlsl index 845e128c1..d5e7cbf14 100644 --- a/src/xenia/gpu/shaders/primitive_point_list.gs.hlsl +++ b/src/xenia/gpu/shaders/primitive_point_list.gs.hlsl @@ -5,43 +5,57 @@ [maxvertexcount(4)] void main(point XeVertexPreGS xe_in[1], inout TriangleStream xe_stream) { - if (xe_in[0].cull_distance < 0.0f || any(isnan(xe_in[0].post_gs.position))) { + // TODO(Triang3l): Handle ps_ucp_mode. + if (xe_in[0].cull_distance < 0.0 || any(isnan(xe_in[0].post_gs.position))) { return; } + // The vertex shader's header writes -1.0f to point_size by default, so any + // non-negative value means that it was overwritten by the translated vertex + // shader. + float2 point_radius = xe_point_constant_radius; + float point_vertex_diameter = xe_in[0].post_gs.pre_ps.point_params.z; + if (point_vertex_diameter >= 0.0) { + // Already clamped in the vertex shader (combined with making it + // non-negative). + point_radius = point_vertex_diameter * 0.5; + } + if (!all(point_radius > 0.0)) { + // 4D5307F1 has zero-size snowflakes, drop them quicker. + return; + } + point_radius *= xe_point_screen_to_ndc; + point_radius *= xe_in[0].post_gs.position.w; + XeVertexPostGS xe_out; xe_out.pre_ps.interpolators = xe_in[0].post_gs.pre_ps.interpolators; xe_out.pre_ps.point_params.z = xe_in[0].post_gs.pre_ps.point_params.z; xe_out.position.zw = xe_in[0].post_gs.position.zw; + // TODO(Triang3l): Handle ps_ucp_mode. xe_out.clip_distance_0123 = xe_in[0].post_gs.clip_distance_0123; xe_out.clip_distance_45 = xe_in[0].post_gs.clip_distance_45; - // Shader header writes -1.0f to point_size by default, so any positive value - // means that it was overwritten by the translated vertex shader. - float2 point_size = - xe_in[0].post_gs.pre_ps.point_params.z >= 0.0f - ? xe_in[0].post_gs.pre_ps.point_params.zz - : float2(xe_point_size_x, xe_point_size_y); - point_size = - clamp(point_size, xe_point_size_min_max.xx, xe_point_size_min_max.yy) * - xe_point_screen_to_ndc * xe_in[0].post_gs.position.w; - - xe_out.pre_ps.point_params.xy = float2(0.0, 0.0); - // TODO(Triang3l): On Vulkan, sign of Y needs to inverted because of + // V = 0 in the top (+Y in Direct3D), 1 in the bottom, according to the + // analysis of Adreno 200 behavior (V = 1 towards -gl_FragCoord.y, the bottom, + // but the top-left rule is used for rasterization, and gl_FragCoord is + // generated from |PsParamGen.xy| via multiply-addition as opposed to just + // addition, so -gl_FragCoord.y is likely positive in screen coordinates, or + // +|PsParamGen.y|). + // TODO(Triang3l): On Vulkan, sign of Y needs to inverted because of the // upper-left origin. - // TODO(Triang3l): Investigate the true signs of point sprites. + xe_out.pre_ps.point_params.xy = float2(0.0, 0.0); xe_out.position.xy = - xe_in[0].post_gs.position.xy + float2(-point_size.x, point_size.y); + xe_in[0].post_gs.position.xy + float2(-point_radius.x, point_radius.y); xe_stream.Append(xe_out); xe_out.pre_ps.point_params.xy = float2(0.0, 1.0); - xe_out.position.xy = xe_in[0].post_gs.position.xy - point_size; + xe_out.position.xy = xe_in[0].post_gs.position.xy - point_radius; xe_stream.Append(xe_out); xe_out.pre_ps.point_params.xy = float2(1.0, 0.0); - xe_out.position.xy = xe_in[0].post_gs.position.xy + point_size; + xe_out.position.xy = xe_in[0].post_gs.position.xy + point_radius; xe_stream.Append(xe_out); xe_out.pre_ps.point_params.xy = float2(1.0, 1.0); xe_out.position.xy = - xe_in[0].post_gs.position.xy + float2(point_size.x, -point_size.y); + xe_in[0].post_gs.position.xy + float2(point_radius.x, -point_radius.y); xe_stream.Append(xe_out); xe_stream.RestartStrip(); } diff --git a/src/xenia/gpu/shaders/xenos_draw.hlsli b/src/xenia/gpu/shaders/xenos_draw.hlsli index ff08db3dc..2087c0f3e 100644 --- a/src/xenia/gpu/shaders/xenos_draw.hlsli +++ b/src/xenia/gpu/shaders/xenos_draw.hlsli @@ -13,12 +13,12 @@ cbuffer xe_system_cbuffer : register(b0) { float4 xe_user_clip_planes[6]; float3 xe_ndc_scale; - float xe_point_size_x; + float xe_point_vertex_diameter_min; float3 xe_ndc_offset; - float xe_point_size_y; + float xe_point_vertex_diameter_max; - float2 xe_point_size_min_max; + float2 xe_point_constant_radius; float2 xe_point_screen_to_ndc; uint xe_interpolator_sampling_pattern; diff --git a/src/xenia/ui/shaders/xesl.xesli b/src/xenia/ui/shaders/xesl.xesli index 4cf1a2a91..cf856e094 100644 --- a/src/xenia/ui/shaders/xesl.xesli +++ b/src/xenia/ui/shaders/xesl.xesli @@ -76,7 +76,7 @@ // the `set=` and `binding=` specifiers, and register types and the `space` // prefix in HLSL, are exposed to the shader, even though they're redundant. // -// The xesl_id_ prefix (with context-specific sub-prefixes) can be used to +// The `xesl_id_` prefix (with context-specific sub-prefixes) can be used to // create internal derivative identifiers (such as buffer block names from // instance names, or separate texture and sampler from a combined texture / // sampler for languages not supporting the latter). @@ -232,13 +232,13 @@ hlsl_t, hlsl_t_space) \ layout(std430, glsl_set, glsl_binding) \ readonly buffer xesl_id_buffer_##name { \ - value_type data[]; \ + value_type xesl_id_data[]; \ } name; #define xesl_writeTypedStorageBuffer(value_type, name, glsl_set, \ glsl_binding, hlsl_u, hlsl_u_space) \ layout(std430, glsl_set, glsl_binding) \ writeonly buffer xesl_id_buffer_##name { \ - value_type data[]; \ + value_type xesl_id_data[]; \ } name; #define xesl_texture(texture_type, name, glsl_set, glsl_binding, hlsl_t, \ hlsl_t_space) \ @@ -251,9 +251,9 @@ layout(glsl_set, glsl_binding) uniform sampler_type name; // Fetching and storing. #define xesl_typedStorageBufferLoad(name, position) \ - ((name).data[uint(position)]) + ((name).xesl_id_data[uint(position)]) #define xesl_writeTypedStorageBufferStore(name, position, value) \ - ((name).data[uint(position)] = (value)) + ((name).xesl_id_data[uint(position)] = (value)) #define xesl_texelFetch2D(texture_name, position, lod) \ texelFetch(texture_name, position, lod) #define xesl_texelFetch2DMS(texture_name, position, sample_index) \ @@ -454,6 +454,9 @@ #endif // !xesl_dont_flatten // Function aliases. +// +// Use the `xesl_var_` prefix for arguments of functions that are not macros and +// for local variables. #if XESL_LANGUAGE_GLSL #define xesl_lessThan lessThan @@ -486,39 +489,70 @@ #define xesl_uintBitsToFloat uintBitsToFloat #elif XESL_LANGUAGE_HLSL // Using functions instead of #define for implicit argument conversion. - int xesl_floatBitsToInt(float value) { return asint(value); } - xesl_int2 xesl_floatBitsToInt(xesl_float2 value) { return asint(value); } - xesl_int3 xesl_floatBitsToInt(xesl_float3 value) { return asint(value); } - xesl_int4 xesl_floatBitsToInt(xesl_float4 value) { return asint(value); } - uint xesl_floatBitsToUint(float value) { return asuint(value); } - xesl_uint2 xesl_floatBitsToUint(xesl_float2 value) { return asuint(value); } - xesl_uint3 xesl_floatBitsToUint(xesl_float3 value) { return asuint(value); } - xesl_uint4 xesl_floatBitsToUint(xesl_float4 value) { return asuint(value); } - float xesl_intBitsToFloat(int value) { return asfloat(value); } - xesl_float2 xesl_intBitsToFloat(xesl_int2 value) { return asfloat(value); } - xesl_float3 xesl_intBitsToFloat(xesl_int3 value) { return asfloat(value); } - xesl_float4 xesl_intBitsToFloat(xesl_int4 value) { return asfloat(value); } - float xesl_uintBitsToFloat(uint value) { return asfloat(value); } - xesl_float2 xesl_uintBitsToFloat(xesl_uint2 value) { return asfloat(value); } - xesl_float3 xesl_uintBitsToFloat(xesl_uint3 value) { return asfloat(value); } - xesl_float4 xesl_uintBitsToFloat(xesl_uint4 value) { return asfloat(value); } + int xesl_floatBitsToInt(float xesl_var_value) { + return asint(xesl_var_value); + } + xesl_int2 xesl_floatBitsToInt(xesl_float2 xesl_var_value) { + return asint(xesl_var_value); + } + xesl_int3 xesl_floatBitsToInt(xesl_float3 xesl_var_value) { + return asint(xesl_var_value); + } + xesl_int4 xesl_floatBitsToInt(xesl_float4 xesl_var_value) { + return asint(xesl_var_value); + } + uint xesl_floatBitsToUint(float xesl_var_value) { + return asuint(xesl_var_value); + } + xesl_uint2 xesl_floatBitsToUint(xesl_float2 xesl_var_value) { + return asuint(xesl_var_value); + } + xesl_uint3 xesl_floatBitsToUint(xesl_float3 xesl_var_value) { + return asuint(xesl_var_value); + } + xesl_uint4 xesl_floatBitsToUint(xesl_float4 xesl_var_value) { + return asuint(xesl_var_value); + } + float xesl_intBitsToFloat(int xesl_var_value) { + return asfloat(xesl_var_value); + } + xesl_float2 xesl_intBitsToFloat(xesl_int2 xesl_var_value) { + return asfloat(xesl_var_value); + } + xesl_float3 xesl_intBitsToFloat(xesl_int3 xesl_var_value) { + return asfloat(xesl_var_value); + } + xesl_float4 xesl_intBitsToFloat(xesl_int4 xesl_var_value) { + return asfloat(xesl_var_value); + } + float xesl_uintBitsToFloat(uint xesl_var_value) { + return asfloat(xesl_var_value); + } + xesl_float2 xesl_uintBitsToFloat(xesl_uint2 xesl_var_value) { + return asfloat(xesl_var_value); + } + xesl_float3 xesl_uintBitsToFloat(xesl_uint3 xesl_var_value) { + return asfloat(xesl_var_value); + } + xesl_float4 xesl_uintBitsToFloat(xesl_uint4 xesl_var_value) { + return asfloat(xesl_var_value); + } #else #error Float bit casting not defined for the target language. #endif // XESL_LANGUAGE #if XESL_LANGUAGE_GLSL - float xesl_saturate(float value) { - return clamp(value, 0.0, 1.0); + float xesl_saturate(float xesl_var_value) { + return clamp(xesl_var_value, 0.0, 1.0); } - xesl_float2 xesl_saturate(xesl_float2 value) { - return clamp(value, xesl_float2(0.0, 0.0), xesl_float2(1.0, 1.0)); + xesl_float2 xesl_saturate(xesl_float2 xesl_var_value) { + return clamp(xesl_var_value, (0.0).xx, (1.0).xx); } - xesl_float3 xesl_saturate(xesl_float3 value) { - return clamp(value, xesl_float3(0.0, 0.0, 0.0), xesl_float3(1.0, 1.0, 1.0)); + xesl_float3 xesl_saturate(xesl_float3 xesl_var_value) { + return clamp(xesl_var_value, (0.0).xxx, (1.0).xxx); } - xesl_float4 xesl_saturate(xesl_float4 value) { - return clamp(value, xesl_float4(0.0, 0.0, 0.0, 0.0), - xesl_float4(1.0, 1.0, 1.0, 1.0)); + xesl_float4 xesl_saturate(xesl_float4 xesl_var_value) { + return clamp(xesl_var_value, (0.0).xxxx, (1.0).xxxx); } #else #define xesl_saturate saturate @@ -537,8 +571,8 @@ #if XESL_LANGUAGE_GLSL #define xesl_packHalf2x16 packHalf2x16 #elif XESL_LANGUAGE_HLSL - uint xesl_packHalf2x16(xesl_float2 value) { - return f32tof16(value.x) | (f32tof16(value.y) << 16u); + uint xesl_packHalf2x16(xesl_float2 xesl_var_value) { + return f32tof16(xesl_var_value.x) | (f32tof16(xesl_var_value.y) << 16u); } #else #error xesl_packHalf2x16 not defined for the target language.