[Mesa-dev] [PATCH 01/13] mesa: add a list of EXT_direct_state_access to dispatch sanity
Timothy Arceri
tarceri at itsqueeze.com
Sun Sep 9 23:33:55 UTC 2018
On 10/09/18 08:54, Ian Romanick wrote:
> We decided years ago that we were not going to support this horrible,
> underspecified steaming pile of an extension in Mesa. I am not
> interested in going back on that decision now or, frankly, ever.
This will only hurt users of Mesa and continue the "just use Nvidia if
you want things to work narrative".
The games and apps that use this have been around for years. Nobody is
going back to rewrite their apps and refusing to implements it just
causes pain for Mesa users.
Obviously having games actually work is important for Valve, but AMD
have also indicated they want to add support for this extension as they
continue to add feature parity to radeonsi (vs their pro stack).
>
> On 09/07/2018 09:31 PM, Timothy Arceri wrote:
>> This extension is huge and this gives us a TODO list of functions
>> to implement.
>> ---
>> src/mesa/main/tests/dispatch_sanity.cpp | 219 ++++++++++++++++++++++++
>> 1 file changed, 219 insertions(+)
>>
>> diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp
>> index fb2acfbdeea..8b03f5377b3 100644
>> --- a/src/mesa/main/tests/dispatch_sanity.cpp
>> +++ b/src/mesa/main/tests/dispatch_sanity.cpp
>> @@ -1015,6 +1015,225 @@ const struct function common_desktop_functions_possible[] = {
>> { "glGetQueryBufferObjecti64v", 45, -1 },
>> { "glGetQueryBufferObjectui64v", 45, -1 },
>>
>> + /* GL_EXT_direct_state_access - GL 1.0 */
>> + //{ "glMatrixLoadfEXT", 10, -1 },
>> + //{ "glMatrixLoaddEXT", 10, -1 },
>> + //{ "glMatrixMultfEXT", 10, -1 },
>> + //{ "glMatrixMultdEXT", 10, -1 },
>> + //{ "glMatrixLoadIdentityEXT", 10, -1 },
>> + //{ "glMatrixRotatefEXT", 10, -1 },
>> + //{ "glMatrixRotatedEXT", 10, -1 },
>> + //{ "glMatrixScalefEXT", 10, -1 },
>> + //{ "glMatrixScaledEXT", 10, -1 },
>> + //{ "glMatrixTranslatefEXT", 10, -1 },
>> + //{ "glMatrixTranslatedEXT", 10, -1 },
>> + //{ "glMatrixOrthoEXT", 10, -1 },
>> + //{ "glMatrixFrustumEXT", 10, -1 },
>> + //{ "glMatrixPushEXT", 10, -1 },
>> + //{ "glMatrixPopEXT", 10, -1 },
>> + /* GL_EXT_direct_state_access - GL 1.1 */
>> + //{ "glClientAttribDefaultEXT", 10, -1 },
>> + //{ "glPushClientAttribDefaultEXT", 10, -1 },
>> + //{ "glTextureParameteriEXT", 10, -1 },
>> + //{ "glTextureParameterivEXT", 10, -1 },
>> + //{ "glTextureParameterfEXT", 10, -1 },
>> + //{ "glTextureParameterfvEXT", 10, -1 },
>> + //{ "glTextureImage1DEXT", 10, -1 },
>> + //{ "glTextureImage2DEXT", 10, -1 },
>> + //{ "glTextureSubImage1DEXT", 10, -1 },
>> + //{ "glTextureSubImage2DEXT", 10, -1 },
>> + //{ "glCopyTextureImage1DEXT", 10, -1 },
>> + //{ "glCopyTextureImage2DEXT", 10, -1 },
>> + //{ "glCopyTextureSubImage1DEXT", 10, -1 },
>> + //{ "glCopyTextureSubImage2DEXT", 10, -1 },
>> + //{ "glGetTextureImageEXT", 10, -1 },
>> + //{ "glGetTextureParameterfvEXT", 10, -1 },
>> + //{ "glGetTextureParameterivEXT", 10, -1 },
>> + //{ "glGetTextureLevelParameterfvEXT", 10, -1 },
>> + //{ "glGetTextureLevelParameterivEXT", 10, -1 },
>> + /* GL_EXT_direct_state_access - GL 1.2 */
>> + //{ "glTextureImage3DEXT", 10, -1 },
>> + //{ "glTextureSubImage3DEXT", 10, -1 },
>> + //{ "glCopyTextureSubImage3DEXT", 10, -1 },
>> + /* GL_EXT_direct_state_access - GL 1.2.1 */
>> + //{ "glBindMultiTextureEXT", 10, -1 },
>> + //{ "glMultiTexCoordPointerEXT", 10, -1 },
>> + //{ "glMultiTexEnvfEXT", 10, -1 },
>> + //{ "glMultiTexEnvfvEXT", 10, -1 },
>> + //{ "glMultiTexEnviEXT", 10, -1 },
>> + //{ "glMultiTexEnvivEXT", 10, -1 },
>> + //{ "glMultiTexGenEXT", 10, -1 },
>> + //{ "glMultiTexGenvEXT", 10, -1 },
>> + //{ "glMultiTexGenfEXT", 10, -1 },
>> + //{ "glMultiTexGenfvEXT", 10, -1 },
>> + //{ "glMultiTexGeniEXT", 10, -1 },
>> + //{ "glMultiTexGenivEXT", 10, -1 },
>> + //{ "glGenMultiTexEnvfvEXT", 10, -1 },
>> + //{ "glGenMultiTexEnvivEXT", 10, -1 },
>> + //{ "glGenMultiTexGenvEXT", 10, -1 },
>> + //{ "glGenMultiTexGenfvEXT", 10, -1 },
>> + //{ "glGenMultiTexGenivEXT", 10, -1 },
>> + //{ "glMultiTexParameterfEXT", 10, -1 },
>> + //{ "glMultiTexParameterfvEXT", 10, -1 },
>> + //{ "glMultiTexParameteriEXT", 10, -1 },
>> + //{ "glMultiTexParameterivEXT", 10, -1 },
>> + //{ "glMultiTexImage1DEXT", 10, -1 },
>> + //{ "glMultiTexImage2DEXT", 10, -1 },
>> + //{ "glMultiTexSubImage1DEXT", 10, -1 },
>> + //{ "glMultiTexSubImage2DEXT", 10, -1 },
>> + //{ "glCopyMultiTexImage1DEXT", 10, -1 },
>> + //{ "glCopyMultiTexImage2DEXT", 10, -1 },
>> + //{ "glCopyMultiTexSubImage1DEXT", 10, -1 },
>> + //{ "glCopyMultiTexSubImage2DEXT", 10, -1 },
>> + //{ "glGetMultiTexImageEXT", 10, -1 },
>> + //{ "glGetMultiTexParameterfvEXT", 10, -1 },
>> + //{ "glGetMultiTexParameterivEXT", 10, -1 },
>> + //{ "glGetMultiTexLevelParameterfvEXT", 10, -1 },
>> + //{ "glGetMultiTexLevelParameterivEXT", 10, -1 },
>> + //{ "glMultiTexImage3DEXT", 10, -1 },
>> + //{ "glMultiTexSubImage3DEXT", 10, -1 },
>> + //{ "glCopyMultiTexSubImage3DEXT", 10, -1 },
>> + //{ "glEnableClientStateIndexedEXT", 10, -1 },
>> + //{ "glDisableClientStateIndexedEXT", 10, -1 },
>> + //{ "glGetFloatIndexedvEXT", 10, -1 },
>> + //{ "glGetDoubleIndexedvEXT", 10, -1 },
>> + //{ "glGetPointerIndexedvEXT", 10, -1 },
>> + //{ "glEnableIndexedEXT", 10, -1 },
>> + //{ "glDisableIndexedEXT", 10, -1 },
>> + //{ "glIsEnabledIndexedEXT", 10, -1 },
>> + //{ "glGetIntegerIndexedvEXT", 10, -1 },
>> + //{ "glGetBooleanIndexedvEXT", 10, -1 },
>> + /* GL_EXT_direct_state_access - ARB_vertex_program */
>> + //{ "glNamedProgramStringEXT", 10, -1 },
>> + //{ "glNamedProgramLocalParameter4dEXT", 10, -1 },
>> + //{ "glNamedProgramLocalParameter4dvEXT", 10, -1 },
>> + //{ "glNamedProgramLocalParameter4fEXT", 10, -1 },
>> + //{ "glNamedProgramLocalParameter4fvEXT", 10, -1 },
>> + //{ "glGetNamedProgramLocalParameter4dvEXT", 10, -1 },
>> + //{ "glGetNamedProgramLocalParameter4fvEXT", 10, -1 },
>> + //{ "glGetNamedProgramivEXT", 10, -1 },
>> + //{ "glGetNamedProgramStringEXT", 10, -1 },
>> + /* GL_EXT_direct_state_access - GL 1.3 */
>> + //{ "glCompressedTextureImage1DEXT", 10, -1 },
>> + //{ "glCompressedTextureImage2DEXT", 10, -1 },
>> + //{ "glCompressedTextureImage3DEXT", 10, -1 },
>> + //{ "glCompressedTextureSubImage1DEXT", 10, -1 },
>> + //{ "glCompressedTextureSubImage2DEXT", 10, -1 },
>> + //{ "glCompressedTextureSubImage3DEXT", 10, -1 },
>> + //{ "glGetCompressedTextureImageEXT", 10, -1 },
>> + //{ "glCompressedMultiTexImage1DEXT", 10, -1 },
>> + //{ "glCompressedMultiTexImage2DEXT", 10, -1 },
>> + //{ "glCompressedMultiTexImage3DEXT", 10, -1 },
>> + //{ "glCompressedMultiTexSubImage1DEXT", 10, -1 },
>> + //{ "glCompressedMultiTexSubImage2DEXT", 10, -1 },
>> + //{ "glCompressedMultiTexSubImage3DEXT", 10, -1 },
>> + //{ "glGetCompressedMultiTexImageEXT", 10, -1 },
>> + //{ "glMatrixLoadTransposefEXT", 10, -1 },
>> + //{ "glMatrixLoadTransposedEXT", 10, -1 },
>> + //{ "glMatrixMultTransposefEXT", 10, -1 },
>> + //{ "glMatrixMultTransposedEXT", 10, -1 },
>> + /* GL_EXT_direct_state_access - GL 1.5 */
>> + //{ "glNamedBufferDataEXT", 10, -1 },
>> + //{ "glNamedBufferSubDataEXT", 10, -1 },
>> + //{ "glMapNamedBufferEXT", 10, -1 },
>> + //{ "glUnmapNamedBufferEXT", 10, -1 },
>> + //{ "glGetNamedBufferParameterivEXT", 10, -1 },
>> + //{ "glGetNamedBufferPointervEXT", 10, -1 },
>> + //{ "glGetNamedBufferSubDataEXT", 10, -1 },
>> + /* GL_EXT_direct_state_access - GL 2.0 */
>> + //{ "glProgramUniform1iEXT", 10, -1 },
>> + //{ "glProgramUniform1ivEXT", 10, -1 },
>> + //{ "glProgramUniform1fEXT", 10, -1 },
>> + //{ "glProgramUniform1fvEXT", 10, -1 },
>> + //{ "glProgramUniform2iEXT", 10, -1 },
>> + //{ "glProgramUniform2ivEXT", 10, -1 },
>> + //{ "glProgramUniform2fEXT", 10, -1 },
>> + //{ "glProgramUniform2fvEXT", 10, -1 },
>> + //{ "glProgramUniform3iEXT", 10, -1 },
>> + //{ "glProgramUniform3ivEXT", 10, -1 },
>> + //{ "glProgramUniform3fEXT", 10, -1 },
>> + //{ "glProgramUniform3fvEXT", 10, -1 },
>> + //{ "glProgramUniform4iEXT", 10, -1 },
>> + //{ "glProgramUniform4ivEXT", 10, -1 },
>> + //{ "glProgramUniform4fEXT", 10, -1 },
>> + //{ "glProgramUniform4fvEXT", 10, -1 },
>> + //{ "glProgramUniformMatrix2fvEXT", 10, -1 },
>> + //{ "glProgramUniformMatrix3fvEXT", 10, -1 },
>> + //{ "glProgramUniformMatrix4fvEXT", 10, -1 },
>> + /* GL_EXT_direct_state_access - GL 2.1 */
>> + //{ "glProgramUniformMatrix2x3fvEXT", 10, -1 },
>> + //{ "glProgramUniformMatrix3x2fvEXT", 10, -1 },
>> + //{ "glProgramUniformMatrix2x4fvEXT", 10, -1 },
>> + //{ "glProgramUniformMatrix4x2fvEXT", 10, -1 },
>> + //{ "glProgramUniformMatrix3x4fvEXT", 10, -1 },
>> + //{ "glProgramUniformMatrix4x3fvEXT", 10, -1 },
>> + /* GL_EXT_direct_state_access - EXT_texture_buffer_object */
>> + //{ "glTextureBufferEXT", 10, -1 },
>> + //{ "glMultiTexBufferEXT", 10, -1 },
>> + /* GL_EXT_direct_state_access - EXT_texture_integer */
>> + //{ "glTextureParameterIivEXT", 10, -1 },
>> + //{ "glTextureParameterIuivEXT", 10, -1 },
>> + //{ "glGetTextureParameterIivEXT", 10, -1 },
>> + //{ "glGetTextureParameterIuivEXT", 10, -1 },
>> + //{ "glMultiTexParameterIivEXT", 10, -1 },
>> + //{ "glMultiTexParameterIuivEXT", 10, -1 },
>> + //{ "glGetMultiTexParameterIivEXT", 10, -1 },
>> + //{ "glGetMultiTexParameterIuivEXT", 10, -1 },
>> + /* GL_EXT_direct_state_access - EXT_gpu_shader4 */
>> + //{ "glProgramUniform1uiEXT", 10, -1 },
>> + //{ "glProgramUniform1uivEXT", 10, -1 },
>> + //{ "glProgramUniform2uiEXT", 10, -1 },
>> + //{ "glProgramUniform2uivEXT", 10, -1 },
>> + //{ "glProgramUniform3uiEXT", 10, -1 },
>> + //{ "glProgramUniform3uivEXT", 10, -1 },
>> + //{ "glProgramUniform4uiEXT", 10, -1 },
>> + //{ "glProgramUniform4uivEXT", 10, -1 },
>> + /* GL_EXT_direct_state_access - EXT_gpu_program_parameters */
>> + //{ "glNamedProgramLocalParameters4fvEXT", 10, -1 },
>> + /* GL_EXT_direct_state_access - GL 3.0 */
>> + //{ "glEnableClientStateiEXT", 10, -1 },
>> + //{ "glDisableClientStatei", 10, -1 },
>> + //{ "glGetFloati_vEXT", 10, -1 },
>> + //{ "glGetDoublei_vEXT", 10, -1 },
>> + //{ "glGetPointeri_vEXT", 10, -1 },
>> + //{ "glNamedRenderbufferStorageEXT", 10, -1 },
>> + //{ "glGetNamedRenderbufferParameterivEXT", 10, -1 },
>> + //{ "glNamedRenderbufferStorageMultisampleEXT", 10, -1 },
>> + //{ "glCheckNamedFramebufferStatusEXT", 10, -1 },
>> + //{ "glNamedFramebufferTexture1DEXT", 10, -1 },
>> + //{ "glNamedFramebufferTexture2DEXT", 10, -1 },
>> + //{ "glNamedFramebufferTexture3DEXT", 10, -1 },
>> + //{ "glNamedFramebufferRenderbufferEXT", 10, -1 },
>> + //{ "glGetNamedFramebufferAttachmentParameterivEXT", 10, -1 },
>> + //{ "glGenerateTextureMipmapEXT", 10, -1 },
>> + //{ "glGenerateMultiTexMipmapEXT", 10, -1 },
>> + //{ "glFramebufferDrawBufferEXT", 10, -1 },
>> + //{ "glFramebufferDrawBuffersEXT", 10, -1 },
>> + //{ "glFramebufferReadBufferEXT", 10, -1 },
>> + //{ "glGetFramebufferParameterivEXT", 10, -1 },
>> + //{ "glNamedCopyBufferSubDataEXT", 10, -1 },
>> + //{ "glVertexArrayVertexOffsetEXT", 10, -1 },
>> + //{ "glVertexArrayColorOffsetEXT", 10, -1 },
>> + //{ "glVertexArrayEdgeFlagOffsetEXT", 10, -1 },
>> + //{ "glVertexArrayIndexOffsetEXT", 10, -1 },
>> + //{ "glVertexArrayNormalOffsetEXT", 10, -1 },
>> + //{ "glVertexArrayTexCoordOffsetEXT", 10, -1 },
>> + //{ "glVertexArrayMultiTexCoordOffsetEXT", 10, -1 },
>> + //{ "glVertexArrayFogCoordOffsetEXT", 10, -1 },
>> + //{ "glVertexArraySecondColorOffsetEXT", 10, -1 },
>> + //{ "glVertexArrayVertexAttribOffsetEXT", 10, -1 },
>> + //{ "glVertexArrayVertexAttribIOffsetEXT", 10, -1 },
>> + //{ "glEnableVertexArrayEXT", 10, -1 },
>> + //{ "glDisableVertexArrayEXT", 10, -1 },
>> + //{ "glEnableVertexArrayAttribEXT", 10, -1 },
>> + //{ "glDisableVertexArrayAttribEXT", 10, -1 },
>> + //{ "glGetVertexArrayIntegervEXT", 10, -1 },
>> + //{ "glGetVertexArrayPointervEXT", 10, -1 },
>> + //{ "glGetVertexArrayIntegeri_vEXT", 10, -1 },
>> + //{ "glGetVertexArrayPointeri_vEXT", 10, -1 },
>> + //{ "glMapNamedBufferRangeEXT", 10, -1 },
>> + //{ "glFlushMappedNamedBufferRangeEXT", 10, -1 },
>> +
>> /* GL_ARB_internalformat_query */
>> { "glGetInternalformativ", 30, -1 },
>>
>>
>
More information about the mesa-dev
mailing list