[D3D12] Immediate drawer pixel shader and root signature
This commit is contained in:
16
src/xenia/ui/d3d12/shaders/immediate.ps.hlsl
Normal file
16
src/xenia/ui/d3d12/shaders/immediate.ps.hlsl
Normal file
@@ -0,0 +1,16 @@
|
||||
Texture2D<float4> immediate_texture : register(t0);
|
||||
SamplerState immediate_sampler : register(s0);
|
||||
bool restrict_texture_samples : register(b0);
|
||||
|
||||
struct ps_input {
|
||||
float2 uv : TEXCOORD0;
|
||||
float4 color : TEXCOORD1;
|
||||
};
|
||||
|
||||
float4 main(ps_input input) : SV_Target {
|
||||
float4 output = input.color;
|
||||
if (!restrict_texture_samples || input.uv.x <= 1.0) {
|
||||
output *= immediate_texture.Sample(immediate_sampler, input.uv);
|
||||
}
|
||||
return output;
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
float2 scale : register(b0);
|
||||
float2 viewport_inv_size : register(b0);
|
||||
|
||||
struct vs_input {
|
||||
float2 pos : POSITION;
|
||||
@@ -14,7 +14,7 @@ struct vs_output {
|
||||
|
||||
vs_output main(vs_input input) {
|
||||
vs_output output;
|
||||
output.pos = float4(scale * input.pos, 0.0, 1.0);
|
||||
output.pos = float4(viewport_inv_size * input.pos, 0.0, 1.0);
|
||||
output.uv = input.uv;
|
||||
output.color = input.color;
|
||||
return output;
|
||||
|
||||
Reference in New Issue
Block a user