@ -5,6 +5,7 @@
# include <algorithm>
# include <array>
# include <cstddef>
# include <cstring>
# include <optional>
# include <vector>
@ -134,11 +135,13 @@ std::array<Device::BaseBindings, Tegra::Engines::MaxShaderTypes> BuildBaseBindin
Device : : Device ( ) : base_bindings { BuildBaseBindings ( ) } {
const std : : string_view vendor = reinterpret_cast < const char * > ( glGetString ( GL_VENDOR ) ) ;
const auto renderer = reinterpret_cast < const char * > ( glGetString ( GL_RENDERER ) ) ;
const std : : vector extensions = GetExtensions ( ) ;
const bool is_nvidia = vendor = = " NVIDIA Corporation " ;
const bool is_amd = vendor = = " ATI Technologies Inc. " ;
const bool is_intel = vendor = = " Intel " ;
const bool is_intel_proprietary = is_intel & & std : : strstr ( renderer , " Mesa " ) = = nullptr ;
uniform_buffer_alignment = GetInteger < std : : size_t > ( GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT ) ;
shader_storage_alignment = GetInteger < std : : size_t > ( GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT ) ;
@ -152,7 +155,7 @@ Device::Device() : base_bindings{BuildBaseBindings()} {
has_variable_aoffi = TestVariableAoffi ( ) ;
has_component_indexing_bug = is_amd ;
has_precise_bug = TestPreciseBug ( ) ;
has_broken_compute = is_intel ;
has_broken_compute = is_intel _proprietary ;
has_fast_buffer_sub_data = is_nvidia ;
LOG_INFO ( Render_OpenGL , " Renderer_VariableAOFFI: {} " , has_variable_aoffi ) ;