glamor: Make context current in glamor_pixmap_fbo_cache_put
Without this, we may be manipulating the context of another screen.
In a system with two GPUs using glamor, this fixes lots of
(EE) glamor256: GL error: GL_INVALID_OPERATION in glBindTexture(non-gen name)
spew since 0b4c0c75 ('glamor: Replace "finish access" shader with texture
swizzling').
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
			
			
This commit is contained in:
		
							parent
							
								
									ef3005da3d
								
							
						
					
					
						commit
						316948734c
					
				|  | @ -174,6 +174,7 @@ glamor_pixmap_fbo_cache_put(glamor_screen_private *glamor_priv, | ||||||
|      * glamor_picture.c.  Don't reset GL_RED -> GL_ALPHA swizzle, though |      * glamor_picture.c.  Don't reset GL_RED -> GL_ALPHA swizzle, though | ||||||
|      */ |      */ | ||||||
|     if (glamor_priv->has_texture_swizzle && n_format != 2) { |     if (glamor_priv->has_texture_swizzle && n_format != 2) { | ||||||
|  |         glamor_make_current(glamor_priv); | ||||||
|         glBindTexture(GL_TEXTURE_2D, fbo->tex); |         glBindTexture(GL_TEXTURE_2D, fbo->tex); | ||||||
|         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_R, GL_RED); |         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_R, GL_RED); | ||||||
|         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_G, GL_GREEN); |         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_G, GL_GREEN); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue