소스 검색

Add sampler border color support on the GPU (#893)

gdkchan 6 년 전
부모
커밋
a5e20a8fd1
2개의 변경된 파일9개의 추가작업 그리고 5개의 파일을 삭제
  1. 5 1
      Ryujinx.Graphics.Gpu/Image/Sampler.cs
  2. 4 4
      Ryujinx.Graphics.Gpu/Image/SamplerDescriptor.cs

+ 5 - 1
Ryujinx.Graphics.Gpu/Image/Sampler.cs

@@ -30,7 +30,11 @@ namespace Ryujinx.Graphics.Gpu.Image
             CompareMode compareMode = descriptor.UnpackCompareMode();
             CompareOp   compareOp   = descriptor.UnpackCompareOp();
 
-            ColorF color = new ColorF(0, 0, 0, 0);
+            ColorF color = new ColorF(
+                descriptor.BorderColorR,
+                descriptor.BorderColorG,
+                descriptor.BorderColorB,
+                descriptor.BorderColorA);
 
             float minLod     = descriptor.UnpackMinLod();
             float maxLod     = descriptor.UnpackMaxLod();

+ 4 - 4
Ryujinx.Graphics.Gpu/Image/SamplerDescriptor.cs

@@ -55,10 +55,10 @@ namespace Ryujinx.Graphics.Gpu.Image
         public uint Word1;
         public uint Word2;
         public uint Word3;
-        public uint BorderColorR;
-        public uint BorderColorG;
-        public uint BorderColorB;
-        public uint BorderColorA;
+        public float BorderColorR;
+        public float BorderColorG;
+        public float BorderColorB;
+        public float BorderColorA;
 
         /// <summary>
         /// Unpacks the texture wrap mode along the X axis.