/* Automatically generated file; do not edit */ // This vertex shader takes inputs in integer pixels, as well as // clip, tile, and output offsets in integer pixels, and outputs // in floating point coordinates understood by the DX drawing system. struct VS_INPUT { uint2 pos :POSITION; }; struct VS_OUTPUT { float2 tile_pos :TEXCOORD0; float2 clip_pos :TEXCOORD1; float2 out_pos :TEXCOORD2; float4 pos :SV_POSITION; }; cbuffer info :register(b0) { float2 wh; // Half width, half height of target drawable uint2 tile_offset; uint2 stipple_size; // Set to 1 x 1 for tiles uint2 clip_offset; uint2 clip_size; } cbuffer output_info :register(b1) { uint2 out_offset; } VS_OUTPUT main(VS_INPUT input) { VS_OUTPUT output; output.pos.x = input.pos.x / wh.x - 1.0f; output.pos.y = -(input.pos.y / wh.y - 1.0f); output.pos.z = 0; output.pos.w = 1; output.tile_pos = input.pos - tile_offset; output.tile_pos /= (float2)stipple_size; output.clip_pos = input.pos - clip_offset; output.clip_pos /= (float2)clip_size; output.out_pos = input.pos - out_offset; return output; }