[v5 2/8] d3dx9: Introduce preshaders in effect.
Paul Gofman
gofmanp at gmail.com
Wed Mar 23 04:36:50 CDT 2016
On 03/23/2016 01:24 AM, Paul Gofman wrote:
> On 03/23/2016 01:05 AM, Matteo Bruni wrote:
>> 2016-03-21 14:55 GMT+01:00 Paul Gofman <gofmanp at gmail.com>:
>>> Signed-off-by: Paul Gofman <gofmanp at gmail.com>
>>> @@ -5435,9 +5416,30 @@ static HRESULT d3dx9_parse_array_selector(struct d3dx9_base_effect *base, struct
>>> }
>>> TRACE("Unknown DWORD: 0x%.8x.\n", *(DWORD *)(ptr + string_size));
>>>
>>> - FIXME("Parse preshader.\n");
>>> + d3dx_create_param_eval(base, (DWORD *)(ptr + string_size) + 1, object->size - (string_size + 1),
>>> + D3DXPT_INT, ¶m->param_eval);
>> Does this do the right thing if ptr + string_size is aligned to a
>> DWORD? In other words, does the bytecode contain 4 bytes of padding if
>> string_size % 4 == 0?
>>
> Oh, I will check that, thanks.
I've checked that, actually string_size is already always 4 bytes
aligned, otherwise this code would not work at all as it does not align
ptr + string_size. When I was writing this I actually trusted an
estimation of next DWORD location in a pre-existing TRACE above. I will
add a FIXME on misaligned string_size. The same d3dx_param_eval call has
though an error in bytecode size estimation, I will fix it.
More information about the wine-devel
mailing list