diff options
| author | 2018-03-24 02:41:16 -0400 | |
|---|---|---|
| committer | 2018-03-26 21:16:52 -0400 | |
| commit | 33c0bf9dc5939bf996bae1c611690944ac8ffbb2 (patch) | |
| tree | 7c0c097047af74ec9dd734316813c56969be120b | |
| parent | gl_rasterizer: Implement AnalyzeVertexArray. (diff) | |
| download | yuzu-33c0bf9dc5939bf996bae1c611690944ac8ffbb2.tar.gz yuzu-33c0bf9dc5939bf996bae1c611690944ac8ffbb2.tar.xz yuzu-33c0bf9dc5939bf996bae1c611690944ac8ffbb2.zip | |
Maxwell3D: Call AccelerateDrawBatch on DrawArrays.
| -rw-r--r-- | src/video_core/engines/maxwell_3d.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp index 088d4357e..5359d21a2 100644 --- a/src/video_core/engines/maxwell_3d.cpp +++ b/src/video_core/engines/maxwell_3d.cpp | |||
| @@ -7,8 +7,11 @@ | |||
| 7 | #include "core/core.h" | 7 | #include "core/core.h" |
| 8 | #include "video_core/debug_utils/debug_utils.h" | 8 | #include "video_core/debug_utils/debug_utils.h" |
| 9 | #include "video_core/engines/maxwell_3d.h" | 9 | #include "video_core/engines/maxwell_3d.h" |
| 10 | #include "video_core/rasterizer_interface.h" | ||
| 11 | #include "video_core/renderer_base.h" | ||
| 10 | #include "video_core/textures/decoders.h" | 12 | #include "video_core/textures/decoders.h" |
| 11 | #include "video_core/textures/texture.h" | 13 | #include "video_core/textures/texture.h" |
| 14 | #include "video_core/video_core.h" | ||
| 12 | 15 | ||
| 13 | namespace Tegra { | 16 | namespace Tegra { |
| 14 | namespace Engines { | 17 | namespace Engines { |
| @@ -174,7 +177,9 @@ void Maxwell3D::ProcessQueryGet() { | |||
| 174 | } | 177 | } |
| 175 | 178 | ||
| 176 | void Maxwell3D::DrawArrays() { | 179 | void Maxwell3D::DrawArrays() { |
| 177 | LOG_WARNING(HW_GPU, "Game requested a DrawArrays, ignoring"); | 180 | LOG_DEBUG(HW_GPU, "called, topology=%d, count=%d", regs.draw.topology.Value(), |
| 181 | regs.vertex_buffer.count); | ||
| 182 | |||
| 178 | auto debug_context = Core::System::GetInstance().GetGPUDebugContext(); | 183 | auto debug_context = Core::System::GetInstance().GetGPUDebugContext(); |
| 179 | 184 | ||
| 180 | if (debug_context) { | 185 | if (debug_context) { |
| @@ -184,6 +189,8 @@ void Maxwell3D::DrawArrays() { | |||
| 184 | if (debug_context) { | 189 | if (debug_context) { |
| 185 | debug_context->OnEvent(Tegra::DebugContext::Event::FinishedPrimitiveBatch, nullptr); | 190 | debug_context->OnEvent(Tegra::DebugContext::Event::FinishedPrimitiveBatch, nullptr); |
| 186 | } | 191 | } |
| 192 | |||
| 193 | VideoCore::g_renderer->Rasterizer()->AccelerateDrawBatch(false /*is_indexed*/); | ||
| 187 | } | 194 | } |
| 188 | 195 | ||
| 189 | void Maxwell3D::BindTextureInfoBuffer(const std::vector<u32>& parameters) { | 196 | void Maxwell3D::BindTextureInfoBuffer(const std::vector<u32>& parameters) { |