mirror of
https://github.com/Ryubing/Ryujinx.git
synced 2025-11-27 01:12:22 -05:00
Shitty Clears + Inline Buffer Improvements?
This commit is contained in:
committed by
Evan Husted
parent
381f4ec091
commit
90e3899c23
28
src/Ryujinx.Graphics.Metal/Shaders/ColorClear.metal
Normal file
28
src/Ryujinx.Graphics.Metal/Shaders/ColorClear.metal
Normal file
@@ -0,0 +1,28 @@
|
||||
#include <metal_stdlib>
|
||||
|
||||
using namespace metal;
|
||||
|
||||
struct VertexOut {
|
||||
float4 position [[position]];
|
||||
};
|
||||
|
||||
vertex VertexOut vertexMain(ushort vid [[vertex_id]])
|
||||
{
|
||||
int low = vid & 1;
|
||||
int high = vid >> 1;
|
||||
|
||||
VertexOut out;
|
||||
|
||||
out.position.x = (float(low) - 0.5f) * 2.0f;
|
||||
out.position.y = (float(high) - 0.5f) * 2.0f;
|
||||
out.position.z = 0.0f;
|
||||
out.position.w = 1.0f;
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
fragment float4 fragmentMain(VertexOut in [[stage_in]],
|
||||
constant float4& clear_color [[buffer(0)]])
|
||||
{
|
||||
return clear_color;
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
#include <metal_stdlib>
|
||||
|
||||
using namespace metal;
|
||||
|
||||
struct VertexOut {
|
||||
float4 position [[position]];
|
||||
};
|
||||
|
||||
struct FragmentOut {
|
||||
float4 color [[color(0)]];
|
||||
float depth [[depth(any)]];
|
||||
};
|
||||
|
||||
vertex VertexOut vertexMain(ushort vid [[vertex_id]])
|
||||
{
|
||||
int low = vid & 1;
|
||||
int high = vid >> 1;
|
||||
|
||||
VertexOut out;
|
||||
|
||||
out.position.x = (float(low) - 0.5f) * 2.0f;
|
||||
out.position.y = (float(high) - 0.5f) * 2.0f;
|
||||
out.position.z = 0.0f;
|
||||
out.position.w = 1.0f;
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
fragment float4 fragmentMain(VertexOut in [[stage_in]],
|
||||
constant float clear_color [[buffer(0)]])
|
||||
{
|
||||
Fragment out;
|
||||
|
||||
out.depth = clear_color;
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user