From 74b2b36a40dd643d4a366fff5619c73115a8c72b Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Tue, 21 Jun 2011 13:34:38 +1200 Subject: [PATCH] Clean up and merge #883 --- OpenRA.Renderer.Gl/Shader.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/OpenRA.Renderer.Gl/Shader.cs b/OpenRA.Renderer.Gl/Shader.cs index 42b8526628..81f242dadc 100644 --- a/OpenRA.Renderer.Gl/Shader.cs +++ b/OpenRA.Renderer.Gl/Shader.cs @@ -87,14 +87,18 @@ namespace OpenRA.Renderer.Glsl int nextTexUnit = 1; for( int i = 0 ; i < numUniforms ; i++ ) { - int uLen, uSize, uType; + int uLen, uSize, uType, loc; var sb = new StringBuilder(128); Gl.glGetActiveUniformARB( program, i, 128, out uLen, out uSize, out uType, sb ); + var sampler = sb.ToString(); GraphicsDevice.CheckGlError(); if( uType == Gl.GL_SAMPLER_2D_ARB ) { - samplers.Add( sb.ToString(), nextTexUnit ); - Gl.glUniform1iARB( i, nextTexUnit ); + samplers.Add( sampler, nextTexUnit ); + loc = Gl.glGetUniformLocationARB(program, sampler); + GraphicsDevice.CheckGlError(); + Gl.glUniform1iARB( loc, nextTexUnit ); + GraphicsDevice.CheckGlError(); ++nextTexUnit; } }