[Mesa-dev] [PATCH 1/6] glsl: finish up ARB_conservative_depth

Kenneth Graunke kenneth at whitecape.org
Fri Nov 18 14:46:07 PST 2011

On 11/18/2011 01:23 PM, Marek Olšák wrote:
> On Fri, Nov 18, 2011 at 10:14 PM, Kenneth Graunke <kenneth at whitecape.org> wrote:
>> On 11/18/2011 11:27 AM, Marek Olšák wrote:
>>> diff --git a/src/glsl/ir_clone.cpp b/src/glsl/ir_clone.cpp
>>> index e8ac9fb..c63615c 100644
>>> --- a/src/glsl/ir_clone.cpp
>>> +++ b/src/glsl/ir_clone.cpp
>>> @@ -51,6 +51,7 @@ ir_variable::clone(void *mem_ctx, struct hash_table *ht) const
>>>     var->pixel_center_integer = this->pixel_center_integer;
>>>     var->explicit_location = this->explicit_location;
>>>     var->has_initializer = this->has_initializer;
>>> +   var->depth_layout = this->depth_layout;
>>>     var->num_state_slots = this->num_state_slots;
>>>     if (this->state_slots) {
>> This looks like a useful hunk that we must've missed.  It's also fairly
>> unrelated to the rest of your patch (splitting AMD/ARB enable bits).
>> I don't think we need to split the AMD/ARB enable bits; it's the exact
>> same extension with a name change and some rewording of the spec language.
>> I'd be in favor of pushing this hunk as it's own patch and dropping the
>> rest.  You can have my R-b on such a patch.
> I am not splitting the enables, they were already split. I was only
> making both the extensions work. AMD_conservative_depth was broken at
> least because of the missing line in the 'clone' function.
> ARB_conservative_depth was broken completely (it wasn't even accepted
> by the #extension directive). I am not for having separate flags
> either, but the cleanup was not meant to be part of the patch. I can
> rework it if needed though.
> Marek

You're right...sorry for the confusion.  Mesa's extensions.c uses a
single AMD_conservative_depth flag, but _mesa_glsl_supported_extensions
has separate AMD/ARB bits.  That appears to be required by Paul's table
driven logic.

Now that I've re-examined the code, your patch looks correct.  I think
I'd prefer to see two patches---one for the clone fix, and one for the
extension enable bits---but it's not critical.

Sorry I wrote such broken code for this in the first place!

More information about the mesa-dev mailing list