Merge pull request #2422 from ReinUsesLisp/fixup-samplers
gl_state: Fix samplers memory corruption
This commit is contained in:
		
						commit
						8df9449bb8
					
				| @ -471,8 +471,9 @@ void OpenGLState::ApplyTextures() const { | |||||||
|         const auto& texture_unit = texture_units[i]; |         const auto& texture_unit = texture_units[i]; | ||||||
|         auto& cur_state_texture_unit = cur_state.texture_units[i]; |         auto& cur_state_texture_unit = cur_state.texture_units[i]; | ||||||
|         textures[i] = texture_unit.texture; |         textures[i] = texture_unit.texture; | ||||||
|         if (cur_state_texture_unit.texture == textures[i]) |         if (cur_state_texture_unit.texture == textures[i]) { | ||||||
|             continue; |             continue; | ||||||
|  |         } | ||||||
|         cur_state_texture_unit.texture = textures[i]; |         cur_state_texture_unit.texture = textures[i]; | ||||||
|         if (!has_delta) { |         if (!has_delta) { | ||||||
|             first = i; |             first = i; | ||||||
| @ -493,10 +494,11 @@ void OpenGLState::ApplySamplers() const { | |||||||
|     std::array<GLuint, Maxwell::NumTextureSamplers> samplers; |     std::array<GLuint, Maxwell::NumTextureSamplers> samplers; | ||||||
| 
 | 
 | ||||||
|     for (std::size_t i = 0; i < std::size(samplers); ++i) { |     for (std::size_t i = 0; i < std::size(samplers); ++i) { | ||||||
|         if (cur_state.texture_units[i].sampler == texture_units[i].sampler) |  | ||||||
|             continue; |  | ||||||
|         cur_state.texture_units[i].sampler = texture_units[i].sampler; |  | ||||||
|         samplers[i] = texture_units[i].sampler; |         samplers[i] = texture_units[i].sampler; | ||||||
|  |         if (cur_state.texture_units[i].sampler == texture_units[i].sampler) { | ||||||
|  |             continue; | ||||||
|  |         } | ||||||
|  |         cur_state.texture_units[i].sampler = texture_units[i].sampler; | ||||||
|         if (!has_delta) { |         if (!has_delta) { | ||||||
|             first = i; |             first = i; | ||||||
|             has_delta = true; |             has_delta = true; | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Hexagon12
						Hexagon12