diff options
| author | 2022-11-12 02:27:06 -0800 | |
|---|---|---|
| committer | 2022-11-12 02:27:06 -0800 | |
| commit | 08091ff3e38665181fedcc476a7b83b84159e7a4 (patch) | |
| tree | 8d059005c6e74fff1ccae781068b12e58ccdc816 /src/video_core/engines | |
| parent | Merge pull request #9224 from liamwhite/services-arent-processes (diff) | |
| parent | Fix regs regression with OpenGL two-sided stencil, and re-add data invalidati... (diff) | |
| download | yuzu-08091ff3e38665181fedcc476a7b83b84159e7a4.tar.gz yuzu-08091ff3e38665181fedcc476a7b83b84159e7a4.tar.xz yuzu-08091ff3e38665181fedcc476a7b83b84159e7a4.zip | |
Merge pull request #9226 from Kelebek1/regs_regression
[video_core] Fix a couple regs regressions
Diffstat (limited to 'src/video_core/engines')
| -rw-r--r-- | src/video_core/engines/maxwell_3d.cpp | 5 | ||||
| -rw-r--r-- | src/video_core/engines/maxwell_3d.h | 16 |
2 files changed, 17 insertions, 4 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp index 4a2f2c1fd..d502d181c 100644 --- a/src/video_core/engines/maxwell_3d.cpp +++ b/src/video_core/engines/maxwell_3d.cpp | |||
| @@ -249,6 +249,11 @@ void Maxwell3D::ProcessMethodCall(u32 method, u32 argument, u32 nonshadow_argume | |||
| 249 | return; | 249 | return; |
| 250 | case MAXWELL3D_REG_INDEX(fragment_barrier): | 250 | case MAXWELL3D_REG_INDEX(fragment_barrier): |
| 251 | return rasterizer->FragmentBarrier(); | 251 | return rasterizer->FragmentBarrier(); |
| 252 | case MAXWELL3D_REG_INDEX(invalidate_texture_data_cache): | ||
| 253 | rasterizer->InvalidateGPUCache(); | ||
| 254 | return rasterizer->WaitForIdle(); | ||
| 255 | case MAXWELL3D_REG_INDEX(tiled_cache_barrier): | ||
| 256 | return rasterizer->TiledCacheBarrier(); | ||
| 252 | } | 257 | } |
| 253 | } | 258 | } |
| 254 | 259 | ||
diff --git a/src/video_core/engines/maxwell_3d.h b/src/video_core/engines/maxwell_3d.h index 910ab213a..34b085388 100644 --- a/src/video_core/engines/maxwell_3d.h +++ b/src/video_core/engines/maxwell_3d.h | |||
| @@ -707,7 +707,7 @@ public: | |||
| 707 | case Size::Size_A2_B10_G10_R10: | 707 | case Size::Size_A2_B10_G10_R10: |
| 708 | return "2_10_10_10"; | 708 | return "2_10_10_10"; |
| 709 | case Size::Size_B10_G11_R11: | 709 | case Size::Size_B10_G11_R11: |
| 710 | return "10_11_12"; | 710 | return "10_11_11"; |
| 711 | default: | 711 | default: |
| 712 | ASSERT(false); | 712 | ASSERT(false); |
| 713 | return {}; | 713 | return {}; |
| @@ -2639,7 +2639,7 @@ public: | |||
| 2639 | L2CacheControl l2_cache_control; ///< 0x0218 | 2639 | L2CacheControl l2_cache_control; ///< 0x0218 |
| 2640 | InvalidateShaderCache invalidate_shader_cache; ///< 0x021C | 2640 | InvalidateShaderCache invalidate_shader_cache; ///< 0x021C |
| 2641 | INSERT_PADDING_BYTES_NOINIT(0xA8); | 2641 | INSERT_PADDING_BYTES_NOINIT(0xA8); |
| 2642 | SyncInfo sync_info; ///< 0x02C8 | 2642 | SyncInfo sync_info; ///< 0x02C8 |
| 2643 | INSERT_PADDING_BYTES_NOINIT(0x4); | 2643 | INSERT_PADDING_BYTES_NOINIT(0x4); |
| 2644 | u32 prim_circular_buffer_throttle; ///< 0x02D0 | 2644 | u32 prim_circular_buffer_throttle; ///< 0x02D0 |
| 2645 | u32 flush_invalidate_rop_mini_cache; ///< 0x02D4 | 2645 | u32 flush_invalidate_rop_mini_cache; ///< 0x02D4 |
| @@ -2731,7 +2731,11 @@ public: | |||
| 2731 | s32 stencil_back_ref; ///< 0x0F54 | 2731 | s32 stencil_back_ref; ///< 0x0F54 |
| 2732 | u32 stencil_back_mask; ///< 0x0F58 | 2732 | u32 stencil_back_mask; ///< 0x0F58 |
| 2733 | u32 stencil_back_func_mask; ///< 0x0F5C | 2733 | u32 stencil_back_func_mask; ///< 0x0F5C |
| 2734 | INSERT_PADDING_BYTES_NOINIT(0x24); | 2734 | INSERT_PADDING_BYTES_NOINIT(0x14); |
| 2735 | u32 invalidate_texture_data_cache; ///< 0x0F74 Assumed - Not in official docs. | ||
| 2736 | INSERT_PADDING_BYTES_NOINIT(0x4); | ||
| 2737 | u32 tiled_cache_barrier; ///< 0x0F7C Assumed - Not in official docs. | ||
| 2738 | INSERT_PADDING_BYTES_NOINIT(0x4); | ||
| 2735 | VertexStreamSubstitute vertex_stream_substitute; ///< 0x0F84 | 2739 | VertexStreamSubstitute vertex_stream_substitute; ///< 0x0F84 |
| 2736 | u32 line_mode_clip_generated_edge_do_not_draw; ///< 0x0F8C | 2740 | u32 line_mode_clip_generated_edge_do_not_draw; ///< 0x0F8C |
| 2737 | u32 color_mask_common; ///< 0x0F90 | 2741 | u32 color_mask_common; ///< 0x0F90 |
| @@ -2791,7 +2795,8 @@ public: | |||
| 2791 | FillViaTriangleMode fill_via_triangle_mode; ///< 0x113C | 2795 | FillViaTriangleMode fill_via_triangle_mode; ///< 0x113C |
| 2792 | u32 blend_per_format_snorm8_unorm16_snorm16_enabled; ///< 0x1140 | 2796 | u32 blend_per_format_snorm8_unorm16_snorm16_enabled; ///< 0x1140 |
| 2793 | u32 flush_pending_writes_sm_gloal_store; ///< 0x1144 | 2797 | u32 flush_pending_writes_sm_gloal_store; ///< 0x1144 |
| 2794 | INSERT_PADDING_BYTES_NOINIT(0x18); | 2798 | u32 conservative_raster_enable; ///< 0x1148 Assumed - Not in official docs. |
| 2799 | INSERT_PADDING_BYTES_NOINIT(0x14); | ||
| 2795 | std::array<VertexAttribute, NumVertexAttributes> vertex_attrib_format; ///< 0x1160 | 2800 | std::array<VertexAttribute, NumVertexAttributes> vertex_attrib_format; ///< 0x1160 |
| 2796 | std::array<MsaaSampleLocation, 4> multisample_sample_locations; ///< 0x11E0 | 2801 | std::array<MsaaSampleLocation, 4> multisample_sample_locations; ///< 0x11E0 |
| 2797 | u32 offset_render_target_index_by_viewport_index; ///< 0x11F0 | 2802 | u32 offset_render_target_index_by_viewport_index; ///< 0x11F0 |
| @@ -3287,6 +3292,8 @@ ASSERT_REG_POSITION(const_color_rendering, 0x0F40); | |||
| 3287 | ASSERT_REG_POSITION(stencil_back_ref, 0x0F54); | 3292 | ASSERT_REG_POSITION(stencil_back_ref, 0x0F54); |
| 3288 | ASSERT_REG_POSITION(stencil_back_mask, 0x0F58); | 3293 | ASSERT_REG_POSITION(stencil_back_mask, 0x0F58); |
| 3289 | ASSERT_REG_POSITION(stencil_back_func_mask, 0x0F5C); | 3294 | ASSERT_REG_POSITION(stencil_back_func_mask, 0x0F5C); |
| 3295 | ASSERT_REG_POSITION(invalidate_texture_data_cache, 0x0F74); | ||
| 3296 | ASSERT_REG_POSITION(tiled_cache_barrier, 0x0F7C); | ||
| 3290 | ASSERT_REG_POSITION(vertex_stream_substitute, 0x0F84); | 3297 | ASSERT_REG_POSITION(vertex_stream_substitute, 0x0F84); |
| 3291 | ASSERT_REG_POSITION(line_mode_clip_generated_edge_do_not_draw, 0x0F8C); | 3298 | ASSERT_REG_POSITION(line_mode_clip_generated_edge_do_not_draw, 0x0F8C); |
| 3292 | ASSERT_REG_POSITION(color_mask_common, 0x0F90); | 3299 | ASSERT_REG_POSITION(color_mask_common, 0x0F90); |
| @@ -3343,6 +3350,7 @@ ASSERT_REG_POSITION(post_ps_use_pre_ps_coverage, 0x1138); | |||
| 3343 | ASSERT_REG_POSITION(fill_via_triangle_mode, 0x113C); | 3350 | ASSERT_REG_POSITION(fill_via_triangle_mode, 0x113C); |
| 3344 | ASSERT_REG_POSITION(blend_per_format_snorm8_unorm16_snorm16_enabled, 0x1140); | 3351 | ASSERT_REG_POSITION(blend_per_format_snorm8_unorm16_snorm16_enabled, 0x1140); |
| 3345 | ASSERT_REG_POSITION(flush_pending_writes_sm_gloal_store, 0x1144); | 3352 | ASSERT_REG_POSITION(flush_pending_writes_sm_gloal_store, 0x1144); |
| 3353 | ASSERT_REG_POSITION(conservative_raster_enable, 0x1148); | ||
| 3346 | ASSERT_REG_POSITION(vertex_attrib_format, 0x1160); | 3354 | ASSERT_REG_POSITION(vertex_attrib_format, 0x1160); |
| 3347 | ASSERT_REG_POSITION(multisample_sample_locations, 0x11E0); | 3355 | ASSERT_REG_POSITION(multisample_sample_locations, 0x11E0); |
| 3348 | ASSERT_REG_POSITION(offset_render_target_index_by_viewport_index, 0x11F0); | 3356 | ASSERT_REG_POSITION(offset_render_target_index_by_viewport_index, 0x11F0); |