瀏覽代碼

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.