[Mesa-dev] [PATCH] mesa: enable ARB_vertex_buffer_object in core profile

Timothy Arceri tarceri at itsqueeze.com
Fri Sep 7 01:08:48 UTC 2018


On 07/09/18 11:00, Ian Romanick wrote:
> On 09/06/2018 03:24 PM, Timothy Arceri wrote:
>> On 07/09/18 06:18, Ian Romanick wrote:
>>> So... this game that requires at least OpenGL 3.2 (by virtue of using
>>> core profile) is checking for an OpenGL 1.4 feature?  That makes me a
>>> little sad.
>>
>> Its a little odd it creates both a compat profile then some core profile
>> threads. It also looks for GL_EXT_framebuffer_object in core but I'm
>> still checking if this is ok to enable, as far as I can tell it should
>> be ok because our core implementation shares objects which is what the
>> EXT implementation is supposed to do. Maybe you could comment of this as
>> it seems you were the last one to edit that code.
> 
> I'm not 100% sure it's valid to expose either of these extensions on
> core profile.  Pretty much all of these old extensions explicitly allow
> behavior that was deprecated and removed (e.g., user generated object
> names).  EXT_fbo had some differences with ARB_fbo, so there are some of
> the entrypoints that aren't shared.  I don't know whether or not any of
> those functions check (or need to check) the extra core profile
> restrictions.

The spec covers the differences in:

Dependencies on ARB_framebuffer_object and OpenGL 3.0

It seems like it should be fine to me. The only issue is it says ARB 
should share across contexts but currently it does. However this is an 
existing bug.

> 
> Do the closed-source drivers expose these legacy extensions in core
> profile?  This seems like a mess...

Yes the Nvidia driver does I haven't checked AMD but I assume it does or 
the game would have failed to launch there.

> 
>>> On 09/05/2018 08:45 PM, Timothy Arceri wrote:
>>>> This extension is required by "Wolfenstein: The Old Blood".
>>>>
>>>> All the functions are just alias of the core functions so
>>>> there should be nothing more to do.
>>>> ---
>>>>    src/mesa/main/extensions_table.h | 2 +-
>>>>    1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/src/mesa/main/extensions_table.h
>>>> b/src/mesa/main/extensions_table.h
>>>> index f3727cdb08d..09bf923bd0e 100644
>>>> --- a/src/mesa/main/extensions_table.h
>>>> +++ b/src/mesa/main/extensions_table.h
>>>> @@ -182,7 +182,7 @@ EXT(ARB_vertex_array_bgra                   ,
>>>> EXT_vertex_array_bgra
>>>>    EXT(ARB_vertex_array_object                 ,
>>>> dummy_true                             , GLL, GLC,  x ,  x , 2006)
>>>>    EXT(ARB_vertex_attrib_64bit                 ,
>>>> ARB_vertex_attrib_64bit                ,  32, GLC,  x ,  x , 2010)
>>>>    EXT(ARB_vertex_attrib_binding               ,
>>>> dummy_true                             , GLL, GLC,  x ,  x , 2012)
>>>> -EXT(ARB_vertex_buffer_object                ,
>>>> dummy_true                             , GLL,  x ,  x ,  x , 2003)
>>>> +EXT(ARB_vertex_buffer_object                ,
>>>> dummy_true                             , GLL, GLC,  x ,  x , 2003)
>>>>    EXT(ARB_vertex_program                      ,
>>>> ARB_vertex_program                     , GLL,  x ,  x ,  x , 2002)
>>>>    EXT(ARB_vertex_shader                       ,
>>>> ARB_vertex_shader                      , GLL, GLC,  x ,  x , 2002)
>>>>    EXT(ARB_vertex_type_10f_11f_11f_rev         ,
>>>> ARB_vertex_type_10f_11f_11f_rev        , GLL, GLC,  x ,  x , 2013)


More information about the mesa-dev mailing list