//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.164 on Mon Jul 20 01:15:57 2026
//
//
// Buffer Definitions:
//
// Resource bind info for params
// {
//
//   struct TextParameters
//   {
//
//       float4 rect;                   // Offset:    0
//       float4 colour;                 // Offset:   16
//       float4 background;             // Offset:   32
//       float2 border;                 // Offset:   48
//       float h_anchor;                // Offset:   56
//       float v_anchor;                // Offset:   60
//       float h_align;                 // Offset:   64
//       float font_scale;              // Offset:   68
//
//   } $Element;                        // Offset:    0 Size:    72
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// font_sampler                      sampler      NA          NA    0        1
// font                              texture   float          2d  100        1
// params                            texture  struct         r/o  114        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position              0   xyzw        0      POS   float     zw
// SV_RenderTargetArrayIndex     0   x           1  RTINDEX    uint
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t100
dcl_resource_structured t114, 72
dcl_input_ps_siv linear noperspective v0.zw, position
dcl_output o0.xyzw
dcl_temps 2
eq r0.x, v0.z, l(-1.000000)
if_nz r0.x
  ld_structured_indexable(structured_buffer, stride=72)(mixed,mixed,mixed,mixed) o0.xyzw, l(0), l(32), t114.xyzw
else
  add r0.xy, v0.zwzz, l(0.000000, -4096.000000, 0.000000, 0.000000)
  sample_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t100.xyzw, s0
  ld_structured_indexable(structured_buffer, stride=72)(mixed,mixed,mixed,mixed) r1.xyzw, l(0), l(16), t114.xyzw
  mul o0.xyzw, r0.xxxx, r1.xyzw
endif
ret
// Approximately 10 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with 3Dmigoto v0.6.164 on Mon Jul 20 01:15:57 2026
//
// struct TextParameters
// {
//     float4 rect;                   // Offset:    0
//     float4 colour;                 // Offset:   16
//     float4 background;             // Offset:   32
//     float2 border;                 // Offset:   48
//     float h_anchor;                // Offset:   56
//     float v_anchor;                // Offset:   60
//     float h_align;                 // Offset:   64
//     float font_scale;              // Offset:   68
// };
//
// SamplerState font_sampler_s : register(s0);
// Texture2D<float> font : register(t100);
// StructuredBuffer<TextParameters> params : register(t114);
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Buffer<float4> StereoParams : register(t125);
//
//
// void main(
//   float4 v0 : SV_Position0,
//   uint v1 : SV_RenderTargetArrayIndex0,
//   out float4 o0 : SV_Target0)
// {
//   float4 r0,r1;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   r0.x = cmp(v0.z == -1.000000);
//   if (r0.x != 0) {
//     o0.x = params[0].background.x;
//     o0.y = params[0].background.y;
//     o0.z = params[0].background.z;
//     o0.w = params[0].background.w;
//   } else {
//     r0.xy = float2(0,-4096) + v0.zw;
//     r0.x = font.Sample(font_sampler_s, r0.xy).x;
//     r1.x = params[0].colour.x;
//     r1.y = params[0].colour.y;
//     r1.z = params[0].colour.z;
//     r1.w = params[0].colour.w;
//     o0.xyzw = r1.xyzw * r0.xxxx;
//   }
//   return;
// }
/////////////////////////////////////////////////////////////////////////////
