rsx: Fix uncaught depth-func changes

- Depth func of always or never usually disqualifies depth testing.
  Invalidate contested surfaces when depth func is changed.
This commit is contained in:
kd-11 2020-11-29 21:27:17 +03:00 committed by kd-11
parent 845a7d9968
commit 67f48ce21c
2 changed files with 2 additions and 0 deletions

View file

@ -1360,6 +1360,7 @@ namespace rsx
{
case NV4097_SET_DEPTH_TEST_ENABLE:
case NV4097_SET_DEPTH_MASK:
case NV4097_SET_DEPTH_FUNC:
{
evaluate_depth_buffer_state();

View file

@ -3138,6 +3138,7 @@ namespace rsx
bind<NV4097_SET_ZPASS_PIXEL_COUNT_ENABLE, nv4097::set_zcull_pixel_count_enable>();
bind<NV4097_CLEAR_ZCULL_SURFACE, nv4097::clear_zcull>();
bind<NV4097_SET_DEPTH_TEST_ENABLE, nv4097::set_surface_options_dirty_bit>();
bind<NV4097_SET_DEPTH_FUNC, nv4097::set_surface_options_dirty_bit>();
bind<NV4097_SET_STENCIL_TEST_ENABLE, nv4097::set_surface_options_dirty_bit>();
bind<NV4097_SET_DEPTH_MASK, nv4097::set_surface_options_dirty_bit>();
bind<NV4097_SET_COLOR_MASK, nv4097::set_surface_options_dirty_bit>();