<div dir="ltr"><div><div><div><div><div><div>Hi,<br></div>with GFXBench 4.0 released last week for Linux I made a quick diff of extensions support in latest Mesa Intel driver (11.2git) vs Windows OpenGL driver on Skylake and apart of complete GL 4.4 support on Windows which parity will be reached eventually on Mesa I assume, I find roughly only few differences between drivers..<br></div><div><br></div>One major difference is support for GL_INTEL_* extensions on Windows which Mesa lacks completely..<br></div>I'm asking if interest to some of these be exposed/implemented also on Mesa (of course asking initially for i965 driver i.e. on Intel GPUs)..<br><br>I'm talking about (I put minimum Intel generation GPU support):<br><br>*GL_INTEL_conservative_rasterization (Skylake) ->DX12 feature-> there is no documentation right now but might very well implement if not GL_NV_conservative_raster extension assuming Intel GPU HW support is rich enough for that NV extension<br>*GL_INTEL_fragment_shader_ordering (Haswell) ->Intel called PixelSync initially ->ROV naming in DX12<br><br>they are interesting also in that this two ext. bring new graphics DX12
functionality like ROV and conservative raster. so they might be exposed
on Nvidia Maxwell series on Nouveau in the future..<br></div><div>the second one might be omitted, if there are plans in the future to implement new OGL 4.5 ARB extension GL_ARB_fragment_shader_interlock as the two seem almost identical feature wise..<br><br></div><div>This for me are the most two interesting extensions in that provide DX12 functionality so could be supported by all IHV DX12 GPUs.. in fact AMD OpenGL Windows driver also exposes GL_INTEL_fragment_shader_ordering and NV propietary exposes GL_ARB_fragment_shader_interlock..<br></div><div>they seem easy to implement seeing API wise are simple enough:<br><br>GL_INTEL_conservative_rasterization all should support should be a boolean context flag:<br><br> glEnable(GL_CONSERVATIVE_RASTER) <br> glDisable(GL_CONSERVATIVE_RASTER)<br></div><div><br>and <br><br>GL_INTEL_fragment_shader_ordering<br></div><div>a pair of GLSL functions<br></div><div><pre>void beginInvocationInterlockARB(void);
void endInvocationInterlockARB(void);</pre></div><div><br>*GL_INTEL_map_texture (Haswell) this was called InstantAccess via DX11 extension in Haswell driver->Anandtech says "With InstantAccess, Intel's graphics driver can deliver a pointer to a
location in GPU memory that the CPU can then access directly"..<br> don't know if current efforts in Beignet for exposing SVM support for OpenCL 2.0 might help for implementing that extension..<br><br>*GL_INTEL_multi_rate_fragment_shader (Skylake) ->?shipping on Windows driver but no extension spec posted..hope Intel Open Source team can gather info on that spec and if simple enough also implement as this searching multi rate shader seems very hot functionality seeing graphics research papers from one or two years ago working on that..<br></div><br><br>Just to finish seems GL_KHR_blend_equation_advanced is also exposed on Intel Windows driver and NV propietary driver just pointing it..<br><br></div>Hope this mail serves to start interest by Mesa dev on working on exposing OGL extensions exposing DX12 functionality..<br><br></div><div>Thanks..<br></div><div>Oscar.<br></div><div><div><div><br><br></div></div></div></div>