renderer_opengl: Logging, etc. cleanup.
This commit is contained in:
parent
7504df52fc
commit
0a5832798a
|
@ -20,6 +20,7 @@
|
||||||
#include "video_core/engines/maxwell_3d.h"
|
#include "video_core/engines/maxwell_3d.h"
|
||||||
#include "video_core/renderer_opengl/gl_rasterizer.h"
|
#include "video_core/renderer_opengl/gl_rasterizer.h"
|
||||||
#include "video_core/renderer_opengl/gl_shader_gen.h"
|
#include "video_core/renderer_opengl/gl_shader_gen.h"
|
||||||
|
#include "video_core/renderer_opengl/maxwell_to_gl.h"
|
||||||
#include "video_core/renderer_opengl/renderer_opengl.h"
|
#include "video_core/renderer_opengl/renderer_opengl.h"
|
||||||
|
|
||||||
using Maxwell = Tegra::Engines::Maxwell3D::Regs;
|
using Maxwell = Tegra::Engines::Maxwell3D::Regs;
|
||||||
|
@ -124,14 +125,14 @@ RasterizerOpenGL::RasterizerOpenGL() {
|
||||||
glBufferData(GL_UNIFORM_BUFFER, sizeof(VSUniformData), nullptr, GL_STREAM_COPY);
|
glBufferData(GL_UNIFORM_BUFFER, sizeof(VSUniformData), nullptr, GL_STREAM_COPY);
|
||||||
glBindBufferBase(GL_UNIFORM_BUFFER, 1, vs_uniform_buffer.handle);
|
glBindBufferBase(GL_UNIFORM_BUFFER, 1, vs_uniform_buffer.handle);
|
||||||
} else {
|
} else {
|
||||||
ASSERT_MSG(false, "Unimplemented");
|
UNREACHABLE();
|
||||||
}
|
}
|
||||||
|
|
||||||
accelerate_draw = AccelDraw::Disabled;
|
accelerate_draw = AccelDraw::Disabled;
|
||||||
|
|
||||||
glEnable(GL_BLEND);
|
glEnable(GL_BLEND);
|
||||||
|
|
||||||
LOG_WARNING(HW_GPU, "Sync fixed function OpenGL state here when ready");
|
LOG_CRITICAL(Render_OpenGL, "Sync fixed function OpenGL state here!");
|
||||||
}
|
}
|
||||||
|
|
||||||
RasterizerOpenGL::~RasterizerOpenGL() {
|
RasterizerOpenGL::~RasterizerOpenGL() {
|
||||||
|
@ -200,12 +201,12 @@ void RasterizerOpenGL::SetupVertexShader(VSUniformData* ub_ptr, GLintptr buffer_
|
||||||
|
|
||||||
void RasterizerOpenGL::SetupFragmentShader(FSUniformData* ub_ptr, GLintptr buffer_offset) {
|
void RasterizerOpenGL::SetupFragmentShader(FSUniformData* ub_ptr, GLintptr buffer_offset) {
|
||||||
MICROPROFILE_SCOPE(OpenGL_FS);
|
MICROPROFILE_SCOPE(OpenGL_FS);
|
||||||
ASSERT_MSG(false, "Unimplemented");
|
UNREACHABLE();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool RasterizerOpenGL::AccelerateDrawBatch(bool is_indexed) {
|
bool RasterizerOpenGL::AccelerateDrawBatch(bool is_indexed) {
|
||||||
if (!has_ARB_separate_shader_objects) {
|
if (!has_ARB_separate_shader_objects) {
|
||||||
ASSERT_MSG(false, "Unimplemented");
|
UNREACHABLE();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -438,17 +439,17 @@ void RasterizerOpenGL::FlushAndInvalidateRegion(VAddr addr, u64 size) {
|
||||||
|
|
||||||
bool RasterizerOpenGL::AccelerateDisplayTransfer(const void* config) {
|
bool RasterizerOpenGL::AccelerateDisplayTransfer(const void* config) {
|
||||||
MICROPROFILE_SCOPE(OpenGL_Blits);
|
MICROPROFILE_SCOPE(OpenGL_Blits);
|
||||||
ASSERT_MSG(false, "Unimplemented");
|
UNREACHABLE();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool RasterizerOpenGL::AccelerateTextureCopy(const void* config) {
|
bool RasterizerOpenGL::AccelerateTextureCopy(const void* config) {
|
||||||
ASSERT_MSG(false, "Unimplemented");
|
UNREACHABLE();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool RasterizerOpenGL::AccelerateFill(const void* config) {
|
bool RasterizerOpenGL::AccelerateFill(const void* config) {
|
||||||
ASSERT_MSG(false, "Unimplemented");
|
UNREACHABLE();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -529,14 +530,14 @@ void main() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG_ERROR(HW_GPU, "Emulated shaders are not supported! Using a passthrough shader.");
|
LOG_CRITICAL(Render_OpenGL, "Emulated shaders are not supported! Using a passthrough shader.");
|
||||||
|
|
||||||
current_shader = &test_shader;
|
current_shader = &test_shader;
|
||||||
if (has_ARB_separate_shader_objects) {
|
if (has_ARB_separate_shader_objects) {
|
||||||
test_shader.shader.Create(vertex_shader, nullptr, fragment_shader, {}, true);
|
test_shader.shader.Create(vertex_shader, nullptr, fragment_shader, {}, true);
|
||||||
glActiveShaderProgram(pipeline.handle, test_shader.shader.handle);
|
glActiveShaderProgram(pipeline.handle, test_shader.shader.handle);
|
||||||
} else {
|
} else {
|
||||||
ASSERT_MSG(false, "Unimplemented");
|
UNREACHABLE();
|
||||||
}
|
}
|
||||||
|
|
||||||
state.draw.shader_program = test_shader.shader.handle;
|
state.draw.shader_program = test_shader.shader.handle;
|
||||||
|
@ -549,33 +550,33 @@ void main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void RasterizerOpenGL::SyncClipEnabled() {
|
void RasterizerOpenGL::SyncClipEnabled() {
|
||||||
ASSERT_MSG(false, "Unimplemented");
|
UNREACHABLE();
|
||||||
}
|
}
|
||||||
|
|
||||||
void RasterizerOpenGL::SyncClipCoef() {
|
void RasterizerOpenGL::SyncClipCoef() {
|
||||||
ASSERT_MSG(false, "Unimplemented");
|
UNREACHABLE();
|
||||||
}
|
}
|
||||||
|
|
||||||
void RasterizerOpenGL::SyncCullMode() {
|
void RasterizerOpenGL::SyncCullMode() {
|
||||||
ASSERT_MSG(false, "Unimplemented");
|
UNREACHABLE();
|
||||||
}
|
}
|
||||||
|
|
||||||
void RasterizerOpenGL::SyncDepthScale() {
|
void RasterizerOpenGL::SyncDepthScale() {
|
||||||
ASSERT_MSG(false, "Unimplemented");
|
UNREACHABLE();
|
||||||
}
|
}
|
||||||
|
|
||||||
void RasterizerOpenGL::SyncDepthOffset() {
|
void RasterizerOpenGL::SyncDepthOffset() {
|
||||||
ASSERT_MSG(false, "Unimplemented");
|
UNREACHABLE();
|
||||||
}
|
}
|
||||||
|
|
||||||
void RasterizerOpenGL::SyncBlendEnabled() {
|
void RasterizerOpenGL::SyncBlendEnabled() {
|
||||||
ASSERT_MSG(false, "Unimplemented");
|
UNREACHABLE();
|
||||||
}
|
}
|
||||||
|
|
||||||
void RasterizerOpenGL::SyncBlendFuncs() {
|
void RasterizerOpenGL::SyncBlendFuncs() {
|
||||||
ASSERT_MSG(false, "Unimplemented");
|
UNREACHABLE();
|
||||||
}
|
}
|
||||||
|
|
||||||
void RasterizerOpenGL::SyncBlendColor() {
|
void RasterizerOpenGL::SyncBlendColor() {
|
||||||
ASSERT_MSG(false, "Unimplemented");
|
UNREACHABLE();
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ public:
|
||||||
sanitize_mul(sanitize_mul), emit_cb(emit_cb), setemit_cb(setemit_cb) {}
|
sanitize_mul(sanitize_mul), emit_cb(emit_cb), setemit_cb(setemit_cb) {}
|
||||||
|
|
||||||
std::string Decompile() {
|
std::string Decompile() {
|
||||||
UNIMPLEMENTED();
|
UNREACHABLE();
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,12 +8,12 @@
|
||||||
namespace GLShader {
|
namespace GLShader {
|
||||||
|
|
||||||
std::string GenerateVertexShader(const MaxwellVSConfig& config) {
|
std::string GenerateVertexShader(const MaxwellVSConfig& config) {
|
||||||
UNIMPLEMENTED();
|
UNREACHABLE();
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string GenerateFragmentShader(const MaxwellFSConfig& config) {
|
std::string GenerateFragmentShader(const MaxwellFSConfig& config) {
|
||||||
UNIMPLEMENTED();
|
UNREACHABLE();
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@ GLuint LoadProgram(const char* vertex_shader, const char* geometry_shader,
|
||||||
if (result == GL_TRUE) {
|
if (result == GL_TRUE) {
|
||||||
LOG_DEBUG(Render_OpenGL, "%s", &vertex_shader_error[0]);
|
LOG_DEBUG(Render_OpenGL, "%s", &vertex_shader_error[0]);
|
||||||
} else {
|
} else {
|
||||||
LOG_ERROR(Render_OpenGL, "Error compiling vertex shader:\n%s",
|
LOG_CRITICAL(Render_OpenGL, "Error compiling vertex shader:\n%s",
|
||||||
&vertex_shader_error[0]);
|
&vertex_shader_error[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -62,7 +62,7 @@ GLuint LoadProgram(const char* vertex_shader, const char* geometry_shader,
|
||||||
if (result == GL_TRUE) {
|
if (result == GL_TRUE) {
|
||||||
LOG_DEBUG(Render_OpenGL, "%s", &geometry_shader_error[0]);
|
LOG_DEBUG(Render_OpenGL, "%s", &geometry_shader_error[0]);
|
||||||
} else {
|
} else {
|
||||||
LOG_ERROR(Render_OpenGL, "Error compiling geometry shader:\n%s",
|
LOG_CRITICAL(Render_OpenGL, "Error compiling geometry shader:\n%s",
|
||||||
&geometry_shader_error[0]);
|
&geometry_shader_error[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -86,7 +86,7 @@ GLuint LoadProgram(const char* vertex_shader, const char* geometry_shader,
|
||||||
if (result == GL_TRUE) {
|
if (result == GL_TRUE) {
|
||||||
LOG_DEBUG(Render_OpenGL, "%s", &fragment_shader_error[0]);
|
LOG_DEBUG(Render_OpenGL, "%s", &fragment_shader_error[0]);
|
||||||
} else {
|
} else {
|
||||||
LOG_ERROR(Render_OpenGL, "Error compiling fragment shader:\n%s",
|
LOG_CRITICAL(Render_OpenGL, "Error compiling fragment shader:\n%s",
|
||||||
&fragment_shader_error[0]);
|
&fragment_shader_error[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -128,20 +128,20 @@ GLuint LoadProgram(const char* vertex_shader, const char* geometry_shader,
|
||||||
if (result == GL_TRUE) {
|
if (result == GL_TRUE) {
|
||||||
LOG_DEBUG(Render_OpenGL, "%s", &program_error[0]);
|
LOG_DEBUG(Render_OpenGL, "%s", &program_error[0]);
|
||||||
} else {
|
} else {
|
||||||
LOG_ERROR(Render_OpenGL, "Error linking shader:\n%s", &program_error[0]);
|
LOG_CRITICAL(Render_OpenGL, "Error linking shader:\n%s", &program_error[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the program linking failed at least one of the shaders was probably bad
|
// If the program linking failed at least one of the shaders was probably bad
|
||||||
if (result == GL_FALSE) {
|
if (result == GL_FALSE) {
|
||||||
if (vertex_shader) {
|
if (vertex_shader) {
|
||||||
LOG_ERROR(Render_OpenGL, "Vertex shader:\n%s", vertex_shader);
|
LOG_CRITICAL(Render_OpenGL, "Vertex shader:\n%s", vertex_shader);
|
||||||
}
|
}
|
||||||
if (geometry_shader) {
|
if (geometry_shader) {
|
||||||
LOG_ERROR(Render_OpenGL, "Geometry shader:\n%s", geometry_shader);
|
LOG_CRITICAL(Render_OpenGL, "Geometry shader:\n%s", geometry_shader);
|
||||||
}
|
}
|
||||||
if (fragment_shader) {
|
if (fragment_shader) {
|
||||||
LOG_ERROR(Render_OpenGL, "Fragment shader:\n%s", fragment_shader);
|
LOG_CRITICAL(Render_OpenGL, "Fragment shader:\n%s", fragment_shader);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ASSERT_MSG(result == GL_TRUE, "Shader not linked");
|
ASSERT_MSG(result == GL_TRUE, "Shader not linked");
|
||||||
|
|
|
@ -279,7 +279,7 @@ void RendererOpenGL::ConfigureFramebufferTexture(TextureInfo& texture,
|
||||||
gl_framebuffer_data.resize(texture.width * texture.height * 4);
|
gl_framebuffer_data.resize(texture.width * texture.height * 4);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
UNIMPLEMENTED();
|
UNREACHABLE();
|
||||||
}
|
}
|
||||||
|
|
||||||
state.texture_units[0].texture_2d = texture.resource.handle;
|
state.texture_units[0].texture_2d = texture.resource.handle;
|
||||||
|
@ -305,7 +305,7 @@ void RendererOpenGL::DrawSingleScreen(const ScreenInfo& screen_info, float x, fl
|
||||||
right = texcoords.left;
|
right = texcoords.left;
|
||||||
} else {
|
} else {
|
||||||
// Other transformations are unsupported
|
// Other transformations are unsupported
|
||||||
LOG_CRITICAL(HW_GPU, "unsupported framebuffer_transform_flags=%d",
|
LOG_CRITICAL(Render_OpenGL, "Unsupported framebuffer_transform_flags=%d",
|
||||||
framebuffer_transform_flags);
|
framebuffer_transform_flags);
|
||||||
UNIMPLEMENTED();
|
UNIMPLEMENTED();
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ bool Init(EmuWindow* emu_window) {
|
||||||
if (g_renderer->Init()) {
|
if (g_renderer->Init()) {
|
||||||
LOG_DEBUG(Render, "initialized OK");
|
LOG_DEBUG(Render, "initialized OK");
|
||||||
} else {
|
} else {
|
||||||
LOG_ERROR(Render, "initialization failed !");
|
LOG_CRITICAL(Render, "initialization failed !");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
Reference in New Issue