[D3D12] Window output
This commit is contained in:
@@ -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)) <<
|
||||
|
||||
7
src/xenia/gpu/d3d12/shaders/fullscreen.vs.hlsl
Normal file
7
src/xenia/gpu/d3d12/shaders/fullscreen.vs.hlsl
Normal 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);
|
||||
}
|
||||
5
src/xenia/gpu/d3d12/shaders/stretch.ps.hlsl
Normal file
5
src/xenia/gpu/d3d12/shaders/stretch.ps.hlsl
Normal 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);
|
||||
}
|
||||
Reference in New Issue
Block a user