[Mesa-dev] Potential spec change request for EXT_buffer_storage
Ilia Mirkin
imirkin at alum.mit.edu
Thu Nov 12 09:54:34 PST 2015
On Tue, Nov 10, 2015 at 12:01 PM, Ian Romanick <idr at freedesktop.org> wrote:
> On 11/09/2015 04:29 PM, Ilia Mirkin wrote:
>> On Mon, Nov 9, 2015 at 7:10 PM, Ian Romanick <idr at freedesktop.org> wrote:
>>> On 11/04/2015 03:26 PM, Ryan Houdek wrote:
>>>> I'm hoping to potentially convince about lowering the minimum
>>>> requirement of EXT_buffer_storage from ES 3.1 to ES 3.0.
>>>> The only thing that causes it to require ES 3.1 is glMemoryBarrier,
>>>> which shouldn't really be a hard requirement since the extension can be
>>>> used without it.
>>>> This is also a similar situation with ARB_buffer_storage which Mesa
>>>> currently exposes to all GL versions even though it should require GL 4.2.
>>>> I have my attempt at a change to the spec as follows. I've never tried
>>>> changing a spec page before so it's a bit new to me.
>>>
>>> I think all of the drivers that support ARB_buffer_storage also support
>>> ARB_texture_barrier. At the very least I think you'd need to require
>>> GL_MAP_CHOERENT_BIT with GL_MAP_PERSISTENT_BIT.
>>
>> Not freedreno (and only very recently for i965). Although I guess it
>> shouldn't be too hard to stick a gmem2mem step into the queue for such
>> an occasion without interrupting the tiling.
>>
>>> Also... Mesa is really close to getting OpenGL ES 3.1. Are there any
>>> drivers with which you want to use this extension that won't have GLES 3.1?
>>
>> It'll be quite a while before freedreno supports GLES 3.1, and it's
>> unclear to me that the a3xx hardware will even be capable of it
>> (although it quite possibly may be).
>
> The goal was that GLES 3.1 would be implementable on any hardware on
> which vendors had shipped GLES 3.0. Although wikipedia
> (https://en.wikipedia.org/wiki/Adreno) thinks only A4xx can do GLES 3.1.
> Given that it also lists OpenCL 1.1 and DX 11.1 (although it does also
> say only feature level 9_3 is supported), I think the hardware can do
> it, but Qualcomm just didn't have customer demand to implement it.
Well A4xx has shipping drivers for ES 3.1, but I believe Qualcomm's
position is that they won't be providing updated drivers supporting ES
3.1 for A3xx.
Having looked over the various ES 3.1 features, I believe that a3xx
will be able to eventually support it with an acceptable quantity of
software emulation (like indirect draws). But it'll be a while before
freedreno gets there... just pushing GL 3.1 out the door :)
I wonder if we'll be able to support ES 3.1 on Intel Sandy Bridge,
NVIDIA Tesla family (G80-GT218), or ATI R600/R700 GPU's, all of which
support ES 3.0 today. OTOH, they're unlikely targets for ES software.
-ilia
More information about the mesa-dev
mailing list