Re: help building cairo on windows

Dimiter 'malkia' Stanev <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
It was not respecting them in my case, and I'm forcing -GL (-LTCG) - 
Global-link time optimization. If I disable MMX (MMX=off), then i don't 
get the warnings.

(This was with WDK 7.1 (7600) - compiler is close version to VS2008).

On 9/11/2012 1:44 PM, Siarhei Siamashka wrote:
> On Tue, 11 Sep 2012 22:25:15 +0200
> Andrea Canciani <[email protected]> wrote:
>
>> On Tue, Sep 11, 2012 at 7:34 PM, Søren Sandmann <[email protected]>
>> wrote:
>>> Andrea Canciani <[email protected]> writes:
>>>
>>>> This reminds me that I have some patches to improve building
>>>> pixman on win32:
>>>> http://cgit.freedesktop.org/~ranma42/pixman/commit/?h=wip/simpleops-to-master
>>>>
>>>> Soren, is it ok if I push the attached patches?
>>>
>>> No objections from me if the test suite still passes with
>>> PIXMAN_DISABLE=sse2 set.
>>
>> On MacOS X the testsuite shows no regression with that variable in
>> the env. On win32, pixman did not compile without the first of those
>> patches. After it, the testsuite fails with:
>>
>> $ PIXMAN_DISABLE=sse2 ./scaling-test.exe
>> Assertion failed: frcd_canary_variable1 == frcd_volatile_constant1,
>> file scaling-test.c, line 356
>> pixman: Disabled sse2 implementation
>>
>> The failing testcase is:
>> $ PIXMAN_DISABLE=sse2 ./scaling-test.exe 3348
>> Assertion failed: frcd_canary_variable1 == frcd_volatile_constant1,
>> file scaling-test.c, line 356
>> src_fmt=20028888, dst_fmt=20028888
>> op=3, scale_x=27881, scale_y=-65000, repeat=0
>> translate_x=55344, translate_y=56484
>> src_width=11, src_height=8, dst_width=24, dst_height=7
>> src_x=0, src_y=4, dst_x=4, dst_y=3
>> w=20, h=2
>> destination clip box: [16,6-20,6]
>> destination clip box: [3,2-18,6]
>> pixman: Disabled sse2 implementation
>> ...
>>
>> This seems to be consistent with the compiler warnings:
>> pixman-mmx.c
>> c:\cygwin\home\ranma42\code\fdo\pixman\pixman\pixman-mmx.c(286) :
>> warning C4799: function 'to_uint64' has no EMMS instruction
>> c:\cygwin\home\ranma42\code\fdo\pixman\pixman\pixman-mmx.c(469) :
>> warning C4799: function 'store8888' has no EMMS instruction
>> c:\cygwin\home\ranma42\code\fdo\pixman\pixman\pixman-mmx.c(480) :
>> warning C4799: function 'is_equal' has no EMMS instruction
>> c:\cygwin\home\ranma42\code\fdo\pixman\pixman\pixman-mmx.c(491) :
>> warning C4799: function 'is_opaque' has no EMMS instruction
>> c:\cygwin\home\ranma42\code\fdo\pixman\pixman\pixman-mmx.c(497) :
>> warning C4799: function 'is_zero' has no EMMS instruction
>> c:\cygwin\home\ranma42\code\fdo\pixman\pixman\pixman-mmx.c(565) :
>> warning C4799: function 'expand_4xpacked565' has no EMMS instruction
>> c:\cygwin\home\ranma42\code\fdo\pixman\pixman\pixman-mmx.c(591) :
>> warning C4799: function 'expand_4x565' has no EMMS instruction
>> c:\cygwin\home\ranma42\code\fdo\pixman\pixman\pixman-mmx.c(3760) :
>> warning C4799: function
>> 'fast_composite_scaled_bilinear_mmx_8888_8_8888_pad_OVER' has no EMMS
>> instruction
>> c:\cygwin\home\ranma42\code\fdo\pixman\pixman\pixman-mmx.c(3764) :
>> warning C4799: function
>> 'fast_composite_scaled_bilinear_mmx_8888_8_8888_none_OVER' has no EMMS
>> instruction
>>
>> I was unable to find out why MSVC thinks that
>> fast_composite_scaled_bilinear_mmx_8888_8_8888_{pad,none}_OVER are
>> missing an EMMS instruction, but cover/normal are ok.
>
> Does MSVC respect 'force_inline' and actually inline all of these
> functions ('to_uint64', 'store8888', ...)?
>
-- 
cairo mailing list
[email protected]
http://lists.cairographics.org/mailman/listinfo/cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.