diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 32 |
1 files changed, 13 insertions, 19 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index 168288088..e038686ad 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp | |||
| @@ -118,7 +118,7 @@ RasterizerOpenGL::RasterizerOpenGL(Core::Frontend::EmuWindow& window, Core::Syst | |||
| 118 | 118 | ||
| 119 | glGetIntegerv(GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT, &uniform_buffer_alignment); | 119 | glGetIntegerv(GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT, &uniform_buffer_alignment); |
| 120 | 120 | ||
| 121 | LOG_CRITICAL(Render_OpenGL, "Sync fixed function OpenGL state here!"); | 121 | LOG_DEBUG(Render_OpenGL, "Sync fixed function OpenGL state here"); |
| 122 | CheckExtensions(); | 122 | CheckExtensions(); |
| 123 | } | 123 | } |
| 124 | 124 | ||
| @@ -177,7 +177,7 @@ GLuint RasterizerOpenGL::SetupVertexFormat() { | |||
| 177 | continue; | 177 | continue; |
| 178 | 178 | ||
| 179 | const auto& buffer = regs.vertex_array[attrib.buffer]; | 179 | const auto& buffer = regs.vertex_array[attrib.buffer]; |
| 180 | LOG_TRACE(HW_GPU, | 180 | LOG_TRACE(Render_OpenGL, |
| 181 | "vertex attrib {}, count={}, size={}, type={}, offset={}, normalize={}", | 181 | "vertex attrib {}, count={}, size={}, type={}, offset={}, normalize={}", |
| 182 | index, attrib.ComponentCount(), attrib.SizeString(), attrib.TypeString(), | 182 | index, attrib.ComponentCount(), attrib.SizeString(), attrib.TypeString(), |
| 183 | attrib.offset.Value(), attrib.IsNormalized()); | 183 | attrib.offset.Value(), attrib.IsNormalized()); |
| @@ -343,9 +343,8 @@ void RasterizerOpenGL::SetupShaders(GLenum primitive_mode) { | |||
| 343 | shader_program_manager->UseProgrammableFragmentShader(program_handle); | 343 | shader_program_manager->UseProgrammableFragmentShader(program_handle); |
| 344 | break; | 344 | break; |
| 345 | default: | 345 | default: |
| 346 | LOG_CRITICAL(HW_GPU, "Unimplemented shader index={}, enable={}, offset=0x{:08X}", index, | 346 | UNIMPLEMENTED_MSG("Unimplemented shader index={}, enable={}, offset=0x{:08X}", index, |
| 347 | shader_config.enable.Value(), shader_config.offset); | 347 | shader_config.enable.Value(), shader_config.offset); |
| 348 | UNREACHABLE(); | ||
| 349 | } | 348 | } |
| 350 | 349 | ||
| 351 | const auto stage_enum = static_cast<Maxwell::ShaderStage>(stage); | 350 | const auto stage_enum = static_cast<Maxwell::ShaderStage>(stage); |
| @@ -793,7 +792,10 @@ bool RasterizerOpenGL::AccelerateDisplay(const Tegra::FramebufferConfig& config, | |||
| 793 | VideoCore::Surface::PixelFormatFromGPUPixelFormat(config.pixel_format)}; | 792 | VideoCore::Surface::PixelFormatFromGPUPixelFormat(config.pixel_format)}; |
| 794 | ASSERT_MSG(params.width == config.width, "Framebuffer width is different"); | 793 | ASSERT_MSG(params.width == config.width, "Framebuffer width is different"); |
| 795 | ASSERT_MSG(params.height == config.height, "Framebuffer height is different"); | 794 | ASSERT_MSG(params.height == config.height, "Framebuffer height is different"); |
| 796 | ASSERT_MSG(params.pixel_format == pixel_format, "Framebuffer pixel_format is different"); | 795 | |
| 796 | if (params.pixel_format != pixel_format) { | ||
| 797 | LOG_WARNING(Render_OpenGL, "Framebuffer pixel_format is different"); | ||
| 798 | } | ||
| 797 | 799 | ||
| 798 | screen_info.display_texture = surface->Texture().handle; | 800 | screen_info.display_texture = surface->Texture().handle; |
| 799 | 801 | ||
| @@ -939,8 +941,8 @@ void RasterizerOpenGL::SetupConstBuffers(Tegra::Engines::Maxwell3D::Regs::Shader | |||
| 939 | size = buffer.size; | 941 | size = buffer.size; |
| 940 | 942 | ||
| 941 | if (size > MaxConstbufferSize) { | 943 | if (size > MaxConstbufferSize) { |
| 942 | LOG_CRITICAL(HW_GPU, "indirect constbuffer size {} exceeds maximum {}", size, | 944 | LOG_WARNING(Render_OpenGL, "Indirect constbuffer size {} exceeds maximum {}", size, |
| 943 | MaxConstbufferSize); | 945 | MaxConstbufferSize); |
| 944 | size = MaxConstbufferSize; | 946 | size = MaxConstbufferSize; |
| 945 | } | 947 | } |
| 946 | } else { | 948 | } else { |
| @@ -1235,11 +1237,7 @@ void RasterizerOpenGL::SyncScissorTest(OpenGLState& current_state) { | |||
| 1235 | 1237 | ||
| 1236 | void RasterizerOpenGL::SyncTransformFeedback() { | 1238 | void RasterizerOpenGL::SyncTransformFeedback() { |
| 1237 | const auto& regs = Core::System::GetInstance().GPU().Maxwell3D().regs; | 1239 | const auto& regs = Core::System::GetInstance().GPU().Maxwell3D().regs; |
| 1238 | 1240 | UNIMPLEMENTED_IF_MSG(regs.tfb_enabled != 0, "Transform feedbacks are not implemented"); | |
| 1239 | if (regs.tfb_enabled != 0) { | ||
| 1240 | LOG_CRITICAL(Render_OpenGL, "Transform feedbacks are not implemented"); | ||
| 1241 | UNREACHABLE(); | ||
| 1242 | } | ||
| 1243 | } | 1241 | } |
| 1244 | 1242 | ||
| 1245 | void RasterizerOpenGL::SyncPointState() { | 1243 | void RasterizerOpenGL::SyncPointState() { |
| @@ -1259,12 +1257,8 @@ void RasterizerOpenGL::SyncPolygonOffset() { | |||
| 1259 | 1257 | ||
| 1260 | void RasterizerOpenGL::CheckAlphaTests() { | 1258 | void RasterizerOpenGL::CheckAlphaTests() { |
| 1261 | const auto& regs = Core::System::GetInstance().GPU().Maxwell3D().regs; | 1259 | const auto& regs = Core::System::GetInstance().GPU().Maxwell3D().regs; |
| 1262 | 1260 | UNIMPLEMENTED_IF_MSG(regs.alpha_test_enabled != 0 && regs.rt_control.count > 1, | |
| 1263 | if (regs.alpha_test_enabled != 0 && regs.rt_control.count > 1) { | 1261 | "Alpha Testing is enabled with more than one rendertarget"); |
| 1264 | LOG_CRITICAL(Render_OpenGL, "Alpha Testing is enabled with Multiple Render Targets, " | ||
| 1265 | "this behavior is undefined."); | ||
| 1266 | UNREACHABLE(); | ||
| 1267 | } | ||
| 1268 | } | 1262 | } |
| 1269 | 1263 | ||
| 1270 | } // namespace OpenGL | 1264 | } // namespace OpenGL |