On Tue, Nov 5, 2013 at 12:22 PM, Ian Romanick <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. That makes me wonder, should I be trying to map the target internalformat into a driver internal format? Courtney -- Courtney Goeltzenleuchter LunarG
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev