[Mesa-dev] [PATCH 5/7] mesa: Update TexStorage to support ARB_texture_view
Chris Forbes
chrisf at ijw.co.nz
Wed Nov 6 14:12:05 PST 2013
The usual way is you send out a complete new series marked V2 after
incorporating all the review comments etc.
On Thu, Nov 7, 2013 at 11:04 AM, Courtney Goeltzenleuchter <
courtney at lunarg.com> wrote:
> Okay, making that change, the commit's flow better if patches 5,6,7 become
> new 5,6,7,8.
>
> What's the recommended process for superseding the previous patches for
> these new ones?
>
> Courtney
>
>
> On Wed, Nov 6, 2013 at 2:04 PM, Courtney Goeltzenleuchter <
> courtney at lunarg.com> wrote:
>
>> Ah, I get it, the switch statement after. Yeah, that could make sense as
>> a helper wouldn't it. I'll look at that.
>>
>>
>> On Wed, Nov 6, 2013 at 1:42 PM, Chris Forbes <chrisf at ijw.co.nz> wrote:
>>
>>> Your change to teximagemultisample just has a bunch of spurious stuff
>>> for other targets. not harmful -- it will never get reached -- but spurious.
>>>
>>> It might be worth pulling both blocks out into a shared helper.
>>>
>>>
>>>
>>>
>>> On Thu, Nov 7, 2013 at 9:32 AM, Courtney Goeltzenleuchter <
>>> courtney at lunarg.com> wrote:
>>>
>>>> Correct and I check_multisample_target checks for that.
>>>> And we never get to this code if using a PROXY target.
>>>> Or did I miss something?
>>>>
>>>>
>>>> On Wed, Nov 6, 2013 at 1:14 PM, Chris Forbes <chrisf at ijw.co.nz> wrote:
>>>>
>>>>> The only interesting targets in teximagemultisample are
>>>>> GL_TEXTURE_2D_MULTISAMPLE and GL_TEXTURE_2D_MULTISAMPLE_ARRAY.
>>>>>
>>>>> On Thu, Nov 7, 2013 at 8:55 AM, Courtney Goeltzenleuchter
>>>>> <courtney at lunarg.com> wrote:
>>>>> > TexStorage and TexStorageMultisample updates texture object
>>>>> > state needed by ARB_texture_view extension.
>>>>> >
>>>>> > Set appropriate TextureView state in texture object.
>>>>> >
>>>>> > mesa: Add ARB_texture_view
>>>>> >
>>>>> > Signed-off-by: Courtney Goeltzenleuchter <courtney at LunarG.com>
>>>>> > ---
>>>>> > src/mesa/main/teximage.c | 38
>>>>> ++++++++++++++++++++++++++++++++++++++
>>>>> > src/mesa/main/texstorage.c | 33 +++++++++++++++++++++++++++++++++
>>>>> > 2 files changed, 71 insertions(+)
>>>>> >
>>>>> > diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
>>>>> > index 793c5d3..c01f72e 100644
>>>>> > --- a/src/mesa/main/teximage.c
>>>>> > +++ b/src/mesa/main/teximage.c
>>>>> > @@ -4348,6 +4348,44 @@ teximagemultisample(GLuint dims, GLenum
>>>>> target, GLsizei samples,
>>>>> > }
>>>>> >
>>>>> > texObj->Immutable = immutable;
>>>>> > +
>>>>> > + if (immutable) {
>>>>> > + /* If the command is successful,
>>>>> > + * TEXTURE_IMMUTABLE_FORMAT becomes TRUE.
>>>>> > + * TEXTURE_IMMUTABLE_LEVELS and TEXTURE_VIEW_NUM_LEVELS
>>>>> become levels.
>>>>> > + * If the texture target is TEXTURE_1D_ARRAY then
>>>>> > + * TEXTURE_VIEW_NUM_LAYERS becomes height.
>>>>> > + * If the texture target is TEXTURE_2D_ARRAY,
>>>>> TEXTURE_CUBE_MAP_ARRAY,
>>>>> > + * or TEXTURE_2D_MULTISAMPLE_ARRAY then
>>>>> TEXTURE_VIEW_NUM_LAYERS becomes depth.
>>>>> > + * If the texture target is TEXTURE_CUBE_MAP, then
>>>>> > + * TEXTURE_VIEW_NUM_LAYERS becomes 6.
>>>>> > + * For any other texture target, TEXTURE_VIEW_NUM_LAYERS
>>>>> becomes 1.
>>>>> > + * ARB_texture_multisample: Multisample textures do
>>>>> > + * not have multiple image levels.
>>>>> > + */
>>>>> > + texObj->Immutable = GL_TRUE;
>>>>> > + texObj->ImmutableLevels = 1;
>>>>> > + texObj->MinLevel = 0;
>>>>> > + texObj->NumLevels = 1;
>>>>> > + texObj->MinLayer = 0;
>>>>> > + texObj->NumLayers = 1;
>>>>> > + switch (target) {
>>>>> > + case GL_TEXTURE_1D_ARRAY:
>>>>> > + texObj->NumLayers = height;
>>>>> > + break;
>>>>> > +
>>>>> > + case GL_TEXTURE_2D_ARRAY:
>>>>> > + case GL_TEXTURE_CUBE_MAP_ARRAY:
>>>>> > + case GL_TEXTURE_2D_MULTISAMPLE_ARRAY:
>>>>> > + texObj->NumLayers = depth;
>>>>> > + break;
>>>>> > +
>>>>> > + case GL_TEXTURE_CUBE_MAP:
>>>>> > + texObj->NumLayers = 6;
>>>>> > + break;
>>>>> > + }
>>>>> > + }
>>>>> > +
>>>>> > _mesa_update_fbo_texture(ctx, texObj, 0, 0);
>>>>> > }
>>>>> > }
>>>>> > diff --git a/src/mesa/main/texstorage.c b/src/mesa/main/texstorage.c
>>>>> > index 84b8f82..4da3c91 100644
>>>>> > --- a/src/mesa/main/texstorage.c
>>>>> > +++ b/src/mesa/main/texstorage.c
>>>>> > @@ -436,8 +436,41 @@ texstorage(GLuint dims, GLenum target, GLsizei
>>>>> levels, GLenum internalformat,
>>>>> > return;
>>>>> > }
>>>>> >
>>>>> > + /* If the command is successful,
>>>>> > + * TEXTURE_IMMUTABLE_FORMAT becomes TRUE.
>>>>> > + * TEXTURE_IMMUTABLE_LEVELS and TEXTURE_VIEW_NUM_LEVELS
>>>>> become levels.
>>>>> > + * If the texture target is TEXTURE_1D_ARRAY then
>>>>> > + * TEXTURE_VIEW_NUM_LAYERS becomes height.
>>>>> > + * If the texture target is TEXTURE_2D_ARRAY,
>>>>> TEXTURE_CUBE_MAP_ARRAY,
>>>>> > + * or TEXTURE_2D_MULTISAMPLE_ARRAY then
>>>>> TEXTURE_VIEW_NUM_LAYERS becomes depth.
>>>>> > + * If the texture target is TEXTURE_CUBE_MAP, then
>>>>> > + * TEXTURE_VIEW_NUM_LAYERS becomes 6.
>>>>> > + * For any other texture target, TEXTURE_VIEW_NUM_LAYERS
>>>>> becomes 1.
>>>>> > + */
>>>>> > +
>>>>> > texObj->Immutable = GL_TRUE;
>>>>> > texObj->ImmutableLevels = levels;
>>>>> > + texObj->MinLevel = 0;
>>>>> > + texObj->NumLevels = levels;
>>>>> > + texObj->MinLayer = 0;
>>>>> > + texObj->NumLayers = 1;
>>>>> > + switch (target)
>>>>> > + {
>>>>> > + case GL_TEXTURE_1D_ARRAY:
>>>>> > + texObj->NumLayers = height;
>>>>> > + break;
>>>>> > +
>>>>> > + case GL_TEXTURE_2D_ARRAY:
>>>>> > + case GL_TEXTURE_CUBE_MAP_ARRAY:
>>>>> > + case GL_TEXTURE_2D_MULTISAMPLE_ARRAY:
>>>>> > + texObj->NumLayers = depth;
>>>>> > + break;
>>>>> > +
>>>>> > + case GL_TEXTURE_CUBE_MAP:
>>>>> > + texObj->NumLayers = 6;
>>>>> > + break;
>>>>> > + }
>>>>> > +
>>>>> > }
>>>>> > }
>>>>> >
>>>>> > --
>>>>> > 1.8.1.2
>>>>> >
>>>>> > _______________________________________________
>>>>> > mesa-dev mailing list
>>>>> > mesa-dev at lists.freedesktop.org
>>>>> > http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Courtney Goeltzenleuchter
>>>> LunarG
>>>>
>>>>
>>>
>>
>>
>> --
>> Courtney Goeltzenleuchter
>> LunarG
>>
>>
>
>
> --
> Courtney Goeltzenleuchter
> LunarG
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20131107/5bb4bcb7/attachment-0001.html>
More information about the mesa-dev
mailing list