[PATCH 4/5] d3dx9: Get rid of constant's length checking for matrix in set_constants().

Paul Gofman gofmanp at gmail.com
Fri Jun 9 13:57:52 CDT 2017


On 06/09/2017 08:50 PM, Matteo Bruni wrote:
> 2017-06-06 14:28 GMT+02:00 Paul Gofman <gofmanp at gmail.com>:
>
>> @@ -1026,10 +1027,22 @@ static void get_const_upload_info(struct d3dx_const_param_eval_output *const_set
>>           info->major = param->rows;
>>           info->minor = param->columns;
>>       }
>> -    info->major_stride = max(info->minor, get_offset_reg(table, 1));
>> -    info->major_count = min(info->major * info->major_stride,
>> -            get_offset_reg(table, const_set->register_count) + info->major_stride - 1) / info->major_stride;
>> -    info->count = info->major_count * info->minor;
>> +
>> +    if (table == PRES_REGTAB_OBCONST)
> Minor, but you could key this on component_count == 1 instead of
> explicitly checking PRES_REGTAB_OBCONST.
>
>> +    {
>> +        unsigned int const_length = get_offset_reg(table, const_set->register_count);
>> +
>> +        info->major_stride = info->minor;
>> +        info->major_count = const_length / info->major_stride;
>> +        info->minor_remainder = const_length % info->major_stride;
>> +    }
>> +    else
>> +    {
>> +        info->major_stride = get_offset_reg(table, 1);
> Another potential use for the get_reg_components(table) helper :)
>
>
Do you think it is better to add this helper as a preliminary patch to 
this series, and use it right away for these cases (as well as other 
places instead of get_offset_reg(table, 1))?




More information about the wine-devel mailing list