On 24/10/17 01:38, Marek Olšák wrote: > On Sun, Oct 22, 2017 at 7:55 PM, Alejandro Piñeiro <[email protected]> > wrote: >> On 22/10/17 17:21, Ilia Mirkin wrote: >>> On Sun, Oct 22, 2017 at 6:33 AM, Alejandro Piñeiro <[email protected]> >>> wrote: >>>> On 21/10/17 14:55, Marek Olšák wrote: >>>>> From: Marek Olšák <[email protected]> >>>>> >>>>> This was never tested and it uses functions that are illegal with TBOs, >>>>> like glGetTexParameteriv and glTexImage2DMultisample. >>>> Hi, I didn't check all the patch in detail, but as Illia is saying, it >>>> is correct to pass TEXTURE_BUFFER to GetInternalFormat*. I also disagree >>>> that this case it is not tested, or at least for the case I checked. See >>>> below, I have two extra comments. >>> It's untested because these are all run in compat contexts, which in >>> turn don't have GL_TEXTURE_BUFFER support. [At least untested against >>> current mesa.] >> Ah ok. In any case, somehow is still testing it, as in compat mode it >> should return NONE, as you say, because on that case it doesn't support >> TEXTURE_BUFFER (dependencies are checked). > I think GL_INVALID_ENUM is returned by Mesa, because GL_TEXTURE_BUFFER > is not a valid enum in OpenGL 3.0 + ARB_internalformat_query2.
It shouldn't return GL_INVALID_ENUM. And if it does, it is a bug on mesa. GL_TEXTURE_BUFFER is a valid enum in OpenGL 3.0 + ARB_internalformat_query2. In fact GL_TEXTURE_BUFFER is a valid enum in OpenGL 2.0 + ARB_internalformat_query2. From the spec: https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_internalformat_query2.txt "Dependencies OpenGL 2.0 or OpenGL ES 2.0 is required." <skip> " New Tokens Accepted by the <target> parameter of GetInternalformativ and GetInternalformati64v: TEXTURE_1D 0x0DE0 TEXTURE_1D_ARRAY 0x8C18 TEXTURE_2D 0x0DE1 TEXTURE_2D_ARRAY 0x8C1A TEXTURE_3D 0x806F TEXTURE_CUBE_MAP 0x8513 TEXTURE_CUBE_MAP_ARRAY 0x9009 TEXTURE_RECTANGLE 0x84F5 TEXTURE_BUFFER 0x8C2A RENDERBUFFER 0x8D41 TEXTURE_2D_MULTISAMPLE 0x9100 TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102 " So if the enums are not available because of the specific extensions, they are added by this extension itself. <skip> "Dependencies on ARB_texture_buffer_object If ARB_texture_buffer_object or equivalent functionality is not supported, queries for the TEXTURE_BUFFER <target> parameter will return the appropriate unsupported response. Ignore all references to TexBuffer." So even without ARB_texture_buffer_object extension, you can query TBO info, but you get a unsupported response. > >> In any case, as I said (you mentioned it before) the solution is not >> test TBO, but as you said, fix the piglit tests to run in non compat >> modes. Probably improve more than fix, in order to test both compat and >> non compat modes. > My primary goal is adjust the tests such they don't fail with OpenGL > 3.1. Of course, people can improve/fix the tests if they want. Ok, makes sense. But I still think that skipping TBO is not the way to go. If they are failing is for other reason. It is possible to reproduce those test failures with a intel gpu somehow (envvars or whatever) so I could take a look to it? BR _______________________________________________ Piglit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/piglit
