mirror of
				https://github.com/yuzu-emu/yuzu.git
				synced 2025-11-04 12:43:42 +00:00 
			
		
		
		
	Removed pre 4.3 ARB extensions
This commit is contained in:
		
							parent
							
								
									377c60645c
								
							
						
					
					
						commit
						0368260c99
					
				@ -98,14 +98,9 @@ RasterizerOpenGL::RasterizerOpenGL(Core::Frontend::EmuWindow& window, ScreenInfo
 | 
			
		||||
            has_ARB_direct_state_access = true;
 | 
			
		||||
        } else if (extension == "GL_ARB_multi_bind") {
 | 
			
		||||
            has_ARB_multi_bind = true;
 | 
			
		||||
        } else if (extension == "GL_ARB_separate_shader_objects") {
 | 
			
		||||
            has_ARB_separate_shader_objects = true;
 | 
			
		||||
        } else if (extension == "GL_ARB_vertex_attrib_binding") {
 | 
			
		||||
            has_ARB_vertex_attrib_binding = true;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    ASSERT_MSG(has_ARB_separate_shader_objects, "has_ARB_separate_shader_objects is unsupported");
 | 
			
		||||
    OpenGLState::ApplyDefaultState();
 | 
			
		||||
 | 
			
		||||
    // Create render framebuffer
 | 
			
		||||
 | 
			
		||||
@ -187,8 +187,6 @@ private:
 | 
			
		||||
 | 
			
		||||
    bool has_ARB_direct_state_access = false;
 | 
			
		||||
    bool has_ARB_multi_bind = false;
 | 
			
		||||
    bool has_ARB_separate_shader_objects = false;
 | 
			
		||||
    bool has_ARB_vertex_attrib_binding = false;
 | 
			
		||||
 | 
			
		||||
    OpenGLState state;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -265,11 +265,11 @@ static constexpr std::array<FormatTuple, VideoCore::Surface::MaxPixelFormat> tex
 | 
			
		||||
    {GL_COMPRESSED_RG_RGTC2, GL_RG, GL_UNSIGNED_INT_8_8_8_8, ComponentType::UNorm,
 | 
			
		||||
     true},                                                                     // DXN2UNORM
 | 
			
		||||
    {GL_COMPRESSED_SIGNED_RG_RGTC2, GL_RG, GL_INT, ComponentType::SNorm, true}, // DXN2SNORM
 | 
			
		||||
    {GL_COMPRESSED_RGBA_BPTC_UNORM_ARB, GL_RGBA, GL_UNSIGNED_INT_8_8_8_8, ComponentType::UNorm,
 | 
			
		||||
    {GL_COMPRESSED_RGBA_BPTC_UNORM, GL_RGBA, GL_UNSIGNED_INT_8_8_8_8, ComponentType::UNorm,
 | 
			
		||||
     true}, // BC7U
 | 
			
		||||
    {GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB, GL_RGB, GL_UNSIGNED_INT_8_8_8_8,
 | 
			
		||||
     ComponentType::Float, true}, // BC6H_UF16
 | 
			
		||||
    {GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB, GL_RGB, GL_UNSIGNED_INT_8_8_8_8, ComponentType::Float,
 | 
			
		||||
    {GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT, GL_RGB, GL_UNSIGNED_INT_8_8_8_8, ComponentType::Float,
 | 
			
		||||
     true}, // BC6H_UF16
 | 
			
		||||
    {GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT, GL_RGB, GL_UNSIGNED_INT_8_8_8_8, ComponentType::Float,
 | 
			
		||||
     true},                                                                    // BC6H_SF16
 | 
			
		||||
    {GL_RGBA8, GL_RGBA, GL_UNSIGNED_BYTE, ComponentType::UNorm, false},        // ASTC_2D_4X4
 | 
			
		||||
    {GL_RG8, GL_RG, GL_UNSIGNED_BYTE, ComponentType::UNorm, false},            // G8R8U
 | 
			
		||||
@ -306,8 +306,8 @@ static constexpr std::array<FormatTuple, VideoCore::Surface::MaxPixelFormat> tex
 | 
			
		||||
     true}, // DXT23_SRGB
 | 
			
		||||
    {GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT, GL_RGBA, GL_UNSIGNED_INT_8_8_8_8, ComponentType::UNorm,
 | 
			
		||||
     true}, // DXT45_SRGB
 | 
			
		||||
    {GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB, GL_RGBA, GL_UNSIGNED_INT_8_8_8_8,
 | 
			
		||||
     ComponentType::UNorm, true},                                              // BC7U_SRGB
 | 
			
		||||
    {GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM, GL_RGBA, GL_UNSIGNED_INT_8_8_8_8, ComponentType::UNorm,
 | 
			
		||||
     true},                                                                    // BC7U_SRGB
 | 
			
		||||
    {GL_SRGB8_ALPHA8, GL_RGBA, GL_UNSIGNED_BYTE, ComponentType::UNorm, false}, // ASTC_2D_4X4_SRGB
 | 
			
		||||
    {GL_SRGB8_ALPHA8, GL_RGBA, GL_UNSIGNED_BYTE, ComponentType::UNorm, false}, // ASTC_2D_8X8_SRGB
 | 
			
		||||
    {GL_SRGB8_ALPHA8, GL_RGBA, GL_UNSIGNED_BYTE, ComponentType::UNorm, false}, // ASTC_2D_8X5_SRGB
 | 
			
		||||
@ -346,7 +346,7 @@ static GLenum SurfaceTargetToGL(SurfaceTarget target) {
 | 
			
		||||
    case SurfaceTarget::TextureCubemap:
 | 
			
		||||
        return GL_TEXTURE_CUBE_MAP;
 | 
			
		||||
    case SurfaceTarget::TextureCubeArray:
 | 
			
		||||
        return GL_TEXTURE_CUBE_MAP_ARRAY_ARB;
 | 
			
		||||
        return GL_TEXTURE_CUBE_MAP_ARRAY;
 | 
			
		||||
    }
 | 
			
		||||
    LOG_CRITICAL(Render_OpenGL, "Unimplemented texture target={}", static_cast<u32>(target));
 | 
			
		||||
    UNREACHABLE();
 | 
			
		||||
@ -726,7 +726,7 @@ static void CopySurface(const Surface& src_surface, const Surface& dst_surface,
 | 
			
		||||
    const std::size_t buffer_size = std::max(src_params.size_in_bytes, dst_params.size_in_bytes);
 | 
			
		||||
 | 
			
		||||
    glBindBuffer(GL_PIXEL_PACK_BUFFER, copy_pbo_handle);
 | 
			
		||||
    glBufferData(GL_PIXEL_PACK_BUFFER, buffer_size, nullptr, GL_STREAM_DRAW_ARB);
 | 
			
		||||
    glBufferData(GL_PIXEL_PACK_BUFFER, buffer_size, nullptr, GL_STREAM_DRAW);
 | 
			
		||||
    if (source_format.compressed) {
 | 
			
		||||
        glGetCompressedTextureImage(src_surface->Texture().handle, src_attachment,
 | 
			
		||||
                                    static_cast<GLsizei>(src_params.size_in_bytes), nullptr);
 | 
			
		||||
 | 
			
		||||
@ -339,14 +339,14 @@ void OpenGLState::ApplyTargetBlending(std::size_t target, bool force) const {
 | 
			
		||||
    if (blend_changed || updated.src_rgb_func != current.src_rgb_func ||
 | 
			
		||||
        updated.dst_rgb_func != current.dst_rgb_func || updated.src_a_func != current.src_a_func ||
 | 
			
		||||
        updated.dst_a_func != current.dst_a_func) {
 | 
			
		||||
        glBlendFuncSeparateiARB(static_cast<GLuint>(target), updated.src_rgb_func,
 | 
			
		||||
                                updated.dst_rgb_func, updated.src_a_func, updated.dst_a_func);
 | 
			
		||||
        glBlendFuncSeparatei(static_cast<GLuint>(target), updated.src_rgb_func,
 | 
			
		||||
                             updated.dst_rgb_func, updated.src_a_func, updated.dst_a_func);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (blend_changed || updated.rgb_equation != current.rgb_equation ||
 | 
			
		||||
        updated.a_equation != current.a_equation) {
 | 
			
		||||
        glBlendEquationSeparateiARB(static_cast<GLuint>(target), updated.rgb_equation,
 | 
			
		||||
                                    updated.a_equation);
 | 
			
		||||
        glBlendEquationSeparatei(static_cast<GLuint>(target), updated.rgb_equation,
 | 
			
		||||
                                 updated.a_equation);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -484,7 +484,7 @@ bool RendererOpenGL::Init() {
 | 
			
		||||
    Core::Telemetry().AddField(Telemetry::FieldType::UserSystem, "GPU_Model", gpu_model);
 | 
			
		||||
    Core::Telemetry().AddField(Telemetry::FieldType::UserSystem, "GPU_OpenGL_Version", gl_version);
 | 
			
		||||
 | 
			
		||||
    if (!GLAD_GL_VERSION_3_3) {
 | 
			
		||||
    if (!GLAD_GL_VERSION_4_3) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -518,32 +518,18 @@ void GMainWindow::OnDisplayTitleBars(bool show) {
 | 
			
		||||
QStringList GMainWindow::GetUnsupportedGLExtensions() {
 | 
			
		||||
    QStringList unsupported_ext;
 | 
			
		||||
 | 
			
		||||
    if (!GLAD_GL_ARB_program_interface_query)
 | 
			
		||||
        unsupported_ext.append("ARB_program_interface_query");
 | 
			
		||||
    if (!GLAD_GL_ARB_separate_shader_objects)
 | 
			
		||||
        unsupported_ext.append("ARB_separate_shader_objects");
 | 
			
		||||
    if (!GLAD_GL_ARB_vertex_attrib_binding)
 | 
			
		||||
        unsupported_ext.append("ARB_vertex_attrib_binding");
 | 
			
		||||
    if (!GLAD_GL_ARB_vertex_type_10f_11f_11f_rev)
 | 
			
		||||
        unsupported_ext.append("ARB_vertex_type_10f_11f_11f_rev");
 | 
			
		||||
    if (!GLAD_GL_ARB_texture_mirror_clamp_to_edge)
 | 
			
		||||
        unsupported_ext.append("ARB_texture_mirror_clamp_to_edge");
 | 
			
		||||
    if (!GLAD_GL_ARB_base_instance)
 | 
			
		||||
        unsupported_ext.append("ARB_base_instance");
 | 
			
		||||
    if (!GLAD_GL_ARB_texture_storage)
 | 
			
		||||
        unsupported_ext.append("ARB_texture_storage");
 | 
			
		||||
    if (!GLAD_GL_ARB_multi_bind)
 | 
			
		||||
        unsupported_ext.append("ARB_multi_bind");
 | 
			
		||||
    if (!GLAD_GL_ARB_copy_image)
 | 
			
		||||
        unsupported_ext.append("ARB_copy_image");
 | 
			
		||||
 | 
			
		||||
    // Extensions required to support some texture formats.
 | 
			
		||||
    if (!GLAD_GL_EXT_texture_compression_s3tc)
 | 
			
		||||
        unsupported_ext.append("EXT_texture_compression_s3tc");
 | 
			
		||||
    if (!GLAD_GL_ARB_texture_compression_rgtc)
 | 
			
		||||
        unsupported_ext.append("ARB_texture_compression_rgtc");
 | 
			
		||||
    if (!GLAD_GL_ARB_texture_compression_bptc)
 | 
			
		||||
        unsupported_ext.append("ARB_texture_compression_bptc");
 | 
			
		||||
    if (!GLAD_GL_ARB_depth_buffer_float)
 | 
			
		||||
        unsupported_ext.append("ARB_depth_buffer_float");
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -111,32 +111,18 @@ void EmuWindow_SDL2::Fullscreen() {
 | 
			
		||||
bool EmuWindow_SDL2::SupportsRequiredGLExtensions() {
 | 
			
		||||
    std::vector<std::string> unsupported_ext;
 | 
			
		||||
 | 
			
		||||
    if (!GLAD_GL_ARB_program_interface_query)
 | 
			
		||||
        unsupported_ext.push_back("ARB_program_interface_query");
 | 
			
		||||
    if (!GLAD_GL_ARB_separate_shader_objects)
 | 
			
		||||
        unsupported_ext.push_back("ARB_separate_shader_objects");
 | 
			
		||||
    if (!GLAD_GL_ARB_vertex_attrib_binding)
 | 
			
		||||
        unsupported_ext.push_back("ARB_vertex_attrib_binding");
 | 
			
		||||
    if (!GLAD_GL_ARB_vertex_type_10f_11f_11f_rev)
 | 
			
		||||
        unsupported_ext.push_back("ARB_vertex_type_10f_11f_11f_rev");
 | 
			
		||||
    if (!GLAD_GL_ARB_texture_mirror_clamp_to_edge)
 | 
			
		||||
        unsupported_ext.push_back("ARB_texture_mirror_clamp_to_edge");
 | 
			
		||||
    if (!GLAD_GL_ARB_base_instance)
 | 
			
		||||
        unsupported_ext.push_back("ARB_base_instance");
 | 
			
		||||
    if (!GLAD_GL_ARB_texture_storage)
 | 
			
		||||
        unsupported_ext.push_back("ARB_texture_storage");
 | 
			
		||||
    if (!GLAD_GL_ARB_multi_bind)
 | 
			
		||||
        unsupported_ext.push_back("ARB_multi_bind");
 | 
			
		||||
    if (!GLAD_GL_ARB_copy_image)
 | 
			
		||||
        unsupported_ext.push_back("ARB_copy_image");
 | 
			
		||||
 | 
			
		||||
    // Extensions required to support some texture formats.
 | 
			
		||||
    if (!GLAD_GL_EXT_texture_compression_s3tc)
 | 
			
		||||
        unsupported_ext.push_back("EXT_texture_compression_s3tc");
 | 
			
		||||
    if (!GLAD_GL_ARB_texture_compression_rgtc)
 | 
			
		||||
        unsupported_ext.push_back("ARB_texture_compression_rgtc");
 | 
			
		||||
    if (!GLAD_GL_ARB_texture_compression_bptc)
 | 
			
		||||
        unsupported_ext.push_back("ARB_texture_compression_bptc");
 | 
			
		||||
    if (!GLAD_GL_ARB_depth_buffer_float)
 | 
			
		||||
        unsupported_ext.push_back("ARB_depth_buffer_float");
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user