Skip to content
This repository was archived by the owner on Nov 30, 2020. It is now read-only.

Commit e428a13

Browse files
committed
Force to disable color convertion in Motion Blur
- Explicitly disable color space convertion with the temporary render textures. This is needed to avoid an issue with the AMD DX9 drivers.
1 parent 944b2f2 commit e428a13

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

PostProcessing/Runtime/Components/MotionBlurComponent.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -99,18 +99,18 @@ public void ProcessImage(PostProcessingContext context, CommandBuffer cb, ref Se
9999
cb.SetGlobalFloat(Uniforms._MaxBlurRadius, maxBlurPixels);
100100

101101
int vbuffer = Uniforms._VelocityTex;
102-
cb.GetTemporaryRT(vbuffer, context.width, context.height, 0, FilterMode.Point, m_PackedRTFormat);
102+
cb.GetTemporaryRT(vbuffer, context.width, context.height, 0, FilterMode.Point, m_PackedRTFormat, RenderTextureReadWrite.Linear);
103103
cb.Blit((Texture)null, vbuffer, material, (int)Pass.VelocitySetup);
104104

105105
// Pass 2 - First TileMax filter (1/4 downsize)
106106
int tile4 = Uniforms._Tile4RT;
107-
cb.GetTemporaryRT(tile4, context.width / 4, context.height / 4, 0, FilterMode.Point, m_VectorRTFormat);
107+
cb.GetTemporaryRT(tile4, context.width / 4, context.height / 4, 0, FilterMode.Point, m_VectorRTFormat, RenderTextureReadWrite.Linear);
108108
cb.SetGlobalTexture(Uniforms._MainTex, vbuffer);
109109
cb.Blit(vbuffer, tile4, material, (int)Pass.TileMax4);
110110

111111
// Pass 3 - Second TileMax filter (1/2 downsize)
112112
int tile8 = Uniforms._Tile8RT;
113-
cb.GetTemporaryRT(tile8, context.width / 8, context.height / 8, 0, FilterMode.Point, m_VectorRTFormat);
113+
cb.GetTemporaryRT(tile8, context.width / 8, context.height / 8, 0, FilterMode.Point, m_VectorRTFormat, RenderTextureReadWrite.Linear);
114114
cb.SetGlobalTexture(Uniforms._MainTex, tile4);
115115
cb.Blit(tile4, tile8, material, (int)Pass.TileMax2);
116116
cb.ReleaseTemporaryRT(tile4);
@@ -121,7 +121,7 @@ public void ProcessImage(PostProcessingContext context, CommandBuffer cb, ref Se
121121
cb.SetGlobalFloat(Uniforms._TileMaxLoop, (int)(tileSize / 8f));
122122

123123
int tile = Uniforms._TileVRT;
124-
cb.GetTemporaryRT(tile, context.width / tileSize, context.height / tileSize, 0, FilterMode.Point, m_VectorRTFormat);
124+
cb.GetTemporaryRT(tile, context.width / tileSize, context.height / tileSize, 0, FilterMode.Point, m_VectorRTFormat, RenderTextureReadWrite.Linear);
125125
cb.SetGlobalTexture(Uniforms._MainTex, tile8);
126126
cb.Blit(tile8, tile, material, (int)Pass.TileMaxV);
127127
cb.ReleaseTemporaryRT(tile8);
@@ -130,7 +130,7 @@ public void ProcessImage(PostProcessingContext context, CommandBuffer cb, ref Se
130130
int neighborMax = Uniforms._NeighborMaxTex;
131131
int neighborMaxWidth = context.width / tileSize;
132132
int neighborMaxHeight = context.height / tileSize;
133-
cb.GetTemporaryRT(neighborMax, neighborMaxWidth, neighborMaxHeight, 0, FilterMode.Point, m_VectorRTFormat);
133+
cb.GetTemporaryRT(neighborMax, neighborMaxWidth, neighborMaxHeight, 0, FilterMode.Point, m_VectorRTFormat, RenderTextureReadWrite.Linear);
134134
cb.SetGlobalTexture(Uniforms._MainTex, tile);
135135
cb.Blit(tile, neighborMax, material, (int)Pass.NeighborMax);
136136
cb.ReleaseTemporaryRT(tile);
@@ -182,8 +182,8 @@ public void MakeRecord(CommandBuffer cb, RenderTargetIdentifier source, int widt
182182
{
183183
Release();
184184

185-
lumaTexture = RenderTexture.GetTemporary(width, height, 0, RenderTextureFormat.R8);
186-
chromaTexture = RenderTexture.GetTemporary(width, height, 0, RenderTextureFormat.R8);
185+
lumaTexture = RenderTexture.GetTemporary(width, height, 0, RenderTextureFormat.R8, RenderTextureReadWrite.Linear);
186+
chromaTexture = RenderTexture.GetTemporary(width, height, 0, RenderTextureFormat.R8, RenderTextureReadWrite.Linear);
187187

188188
lumaTexture.filterMode = FilterMode.Point;
189189
chromaTexture.filterMode = FilterMode.Point;

0 commit comments

Comments
 (0)