On Mon, Nov 11, 2013 at 11:15 AM, Ian Romanick <i...@freedesktop.org> wrote:
> On 11/05/2013 11:36 AM, Courtney Goeltzenleuchter wrote: > > On Tue, Nov 5, 2013 at 12:22 PM, Ian Romanick <i...@freedesktop.org > > <mailto:i...@freedesktop.org>> wrote: > > > > On 11/05/2013 09:44 AM, Chris Forbes wrote: > > >> So, you can create a GL_LUMINANCE view of a GL_LUMINANCE texture. > > Hmm... > > > > > > My understanding is you can't actually, since views can only be > > > created from immutable-format textures, and GL_LUMINANCE is not a > > > sized internalformat, so it can't be used with TexStorage? > > > > I was just using GL_LUMINANCE as shorthand for GL_LUMINANCE4, > > GL_LUMINANCE8, GL_LUMINANCE12, and GL_LUMINANCE16. As far as I can > > tell, > > > > glGenTextures(1, &tex); > > glBindTexture(GL_TEXTURE_2D, tex); > > glTexStorage2D(GL_TEXTURE_2D, > > 8, > > GL_LUMINANCE8, > > 1024, 1024); > > > > is perfectly valid. Sayeth GL_ARB_texture_storage: > > > > Accepted by the <internalformat> parameter of TexStorage* when > > implemented on OpenGL ES: > > > > ALPHA8_EXT 0x803C > > LUMINANCE8_EXT 0x8040 > > LUMINANCE8_ALPHA8_EXT 0x8045 > > > > I guess that means GL_LUMINANCE4, GL_LUMINANCE12, and GL_LUMINANCE16 > are > > out. As are all GL_INTENSITY formats. There are still these three > > legacy formats to handle. > > > > So, if we support GL_ARB_texture_view in a compatibility profile, > > > > glGenTextures(1, &view); > > glTextureView(view, > > GL_TEXTURE_2D, > > tex, > > GL_LUMINANCE8, > > 1, 1, 1, 1); > > > > is also valid. > > > > Right? > > > > > > The spec is pickier than that. For 8bit texels the allowed internal > > formats are: R8UI, R8I, R8, R8_SNORM > > I use the table specified in the ARB_texture_view to translate the > > target internalFormat passed to glTextureView into a VIEW_CLASS. > > GL_LUMINANCE8 does not have a valid VIEW_CLASS and could not match the > > internal format of the source texture. > > I don't think it matters that GL_LUMINANCE8 is missing from the table or > that it doesn't have a VIEW_CLASS. The GL_ARB_texture_view spec says > (emphasis mine): > > The two textures' internal formats must be compatible according to > Table 3.X.2 (Compatible internal formats for TextureView) if the > internal format exists in that table and *the internal formats > must be identical if not in that table*, or else an > INVALID_OPERATION error is generated. > > In my above code example, the internal formats are identical. By my > reading of the above quoted text, that code is legal. We should modify > one of the texture_view tests to use these legacy formats, and try that > test on NVIDIA with a compatibility profile. > Good point. I'll talk with Jon about testing that if we don't already. Courtney > > > That makes me wonder, should I be trying to map the target > > internalformat into a driver internal format? > > > > Courtney > > > > -- > > Courtney Goeltzenleuchter > > LunarG > > -- Courtney Goeltzenleuchter LunarG
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev