mirror of
				https://git.suyu.dev/suyu/suyu.git
				synced 2025-10-31 14:56:40 +08:00 
			
		
		
		
	Merge pull request #2218 from Subv/stencil_lines
Rasterizer/Memfill: Set the correct stencil write mask when clearing the stencil buffer.
This commit is contained in:
		
						commit
						77b7cec8af
					
				| @ -893,7 +893,7 @@ bool RasterizerOpenGL::AccelerateFill(const GPU::Regs::MemoryFillConfig& config) | |||||||
|             value_float = config.value_32bit / 16777215.0f; // 2^24 - 1
 |             value_float = config.value_32bit / 16777215.0f; // 2^24 - 1
 | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         cur_state.depth.write_mask = true; |         cur_state.depth.write_mask = GL_TRUE; | ||||||
|         cur_state.Apply(); |         cur_state.Apply(); | ||||||
|         glClearBufferfv(GL_DEPTH, 0, &value_float); |         glClearBufferfv(GL_DEPTH, 0, &value_float); | ||||||
|     } else if (dst_type == SurfaceType::DepthStencil) { |     } else if (dst_type == SurfaceType::DepthStencil) { | ||||||
| @ -908,8 +908,8 @@ bool RasterizerOpenGL::AccelerateFill(const GPU::Regs::MemoryFillConfig& config) | |||||||
|         GLfloat value_float = (config.value_32bit & 0xFFFFFF) / 16777215.0f; // 2^24 - 1
 |         GLfloat value_float = (config.value_32bit & 0xFFFFFF) / 16777215.0f; // 2^24 - 1
 | ||||||
|         GLint value_int = (config.value_32bit >> 24); |         GLint value_int = (config.value_32bit >> 24); | ||||||
| 
 | 
 | ||||||
|         cur_state.depth.write_mask = true; |         cur_state.depth.write_mask = GL_TRUE; | ||||||
|         cur_state.stencil.write_mask = true; |         cur_state.stencil.write_mask = 0xFF; | ||||||
|         cur_state.Apply(); |         cur_state.Apply(); | ||||||
|         glClearBufferfi(GL_DEPTH_STENCIL, 0, value_float, value_int); |         glClearBufferfi(GL_DEPTH_STENCIL, 0, value_float, value_int); | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -27,8 +27,8 @@ OpenGLState::OpenGLState() { | |||||||
|     stencil.test_enabled = false; |     stencil.test_enabled = false; | ||||||
|     stencil.test_func = GL_ALWAYS; |     stencil.test_func = GL_ALWAYS; | ||||||
|     stencil.test_ref = 0; |     stencil.test_ref = 0; | ||||||
|     stencil.test_mask = -1; |     stencil.test_mask = 0xFF; | ||||||
|     stencil.write_mask = -1; |     stencil.write_mask = 0xFF; | ||||||
|     stencil.action_depth_fail = GL_KEEP; |     stencil.action_depth_fail = GL_KEEP; | ||||||
|     stencil.action_depth_pass = GL_KEEP; |     stencil.action_depth_pass = GL_KEEP; | ||||||
|     stencil.action_stencil_fail = GL_KEEP; |     stencil.action_stencil_fail = GL_KEEP; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user