[Mesa-dev] [PATCH] mesa: enable ARB_vertex_buffer_object in core profile
Timothy Arceri
tarceri at itsqueeze.com
Fri Sep 7 03:36:17 UTC 2018
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.
>
>>>>> 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