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

Timothy Arceri tarceri at itsqueeze.com
Sat Sep 8 01:15:28 UTC 2018


On 07/09/18 13:36, Timothy Arceri wrote:
> On 07/09/18 11:49, Ian Romanick wrote:
>> On 09/06/2018 06:08 PM, Timothy Arceri wrote:
>>> 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.
>>
>> Boo.  This patch is grudgingly
>>
>> Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
> 
> Apologies I need to send a v2 of this.
> 
> Buried inside _mesa_handle_bind_buffer_gen() it seems the aliasing works 
> because of assumptions that the ARB functions will never be called in core.
> 

Meh nevermind. After checking Nvidia they do indeed just alias the 
functions so the assumptions that buffer objects wont be generated for 
user defined names are fine I was confusing myself with the EXT_fbo 
stuff about no alias being allowed. This patch is fine as is.

> 
>>
>>>>>> 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)
>>>
>>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list