[D3D12] Window output

This commit is contained in:
Triang3l
2018-08-23 19:50:11 +03:00
parent ea1abdaa6e
commit 2e79eac976
13 changed files with 384 additions and 7 deletions

View File

@@ -22,7 +22,7 @@ void main(uint3 xe_group_id : SV_GroupID,
uint4 sample_info =
(xe_edram_tile_sample_dest_info.xxxx >> uint4(15u, 14u, 17u, 16u)) & 1u;
uint2 edram_tile_quarter =
uint2(uint2(10u, 8u) <= xe_group_thread_id) * sample_info.xy;
uint2(uint2(10u, 8u) <= xe_group_thread_id.xy) * sample_info.xy;
uint edram_offset = XeEDRAMOffset(
(xe_group_id.xy << sample_info.xy) + edram_tile_quarter,
(xe_group_thread_id.xy - edram_tile_quarter * uint2(10u, 8u)) <<

View File

@@ -0,0 +1,7 @@
// A triangle covering the whole viewport.
void main(uint xe_vertex_id : SV_VertexID, out float2 xe_texcoord : TEXCOORD,
out float4 xe_position : SV_Position) {
xe_texcoord = float2(uint2(xe_vertex_id, xe_vertex_id << 1u) & 2u);
xe_position =
float4(xe_texcoord * float2(2.0, -2.0) + float2(-1.0, 1.0), 0.0, 1.0);
}

View File

@@ -0,0 +1,5 @@
Texture2D<float4> xe_texture : register(t0);
SamplerState xe_sampler : register(s0);
float4 main(float2 xe_texcoord : TEXCOORD) : SV_Target {
return xe_texture.SampleLevel(xe_sampler, xe_texcoord, 0.0f);
}