myrao / libyuv

Automatically exported from code.google.com/p/libyuv
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

NaCL x64 support #253

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
NaCL has several constraints for x64 that libyuv violates:
1. pointers are 32 bit but need to be widened to 64 bit
2. rbase needs to be used on all memory references
3. index must be zero extended on previous physical instruction
4. zero extension needs and memory reference need to be in same segment (32 
bytes)
32 bit is okay.

Original issue reported on code.google.com by fbarch...@chromium.org on 23 Jul 2013 at 9:40

GoogleCodeExporter commented 8 years ago
First step to getting code to build/run, is disable assembly.

Original comment by fbarch...@chromium.org on 24 Jul 2013 at 10:15

GoogleCodeExporter commented 8 years ago
r738 disables assembly.

Original comment by fbarch...@chromium.org on 24 Jul 2013 at 11:41

GoogleCodeExporter commented 8 years ago
r740 disables xgetbv, getenv and proc/cpuinfo, all of which are not supported.
libyuv should validate and run now, albiet crippled.

Original comment by fbarch...@chromium.org on 26 Jul 2013 at 1:37

GoogleCodeExporter commented 8 years ago
r747 ports most of effects assembly to NaCL x64.

Original comment by fbarch...@google.com on 6 Aug 2013 at 10:27

GoogleCodeExporter commented 8 years ago
r767 ports scale and rotate to NaCL C with x86 asm, but not Neon or x64.
All effects ported except sobel and unattenuate.

Original comment by fbarch...@google.com on 14 Aug 2013 at 11:56

GoogleCodeExporter commented 8 years ago
ToT is currently failing newlib/Release/nacltest_x86_64.nexe
   47220: improper memory address - bad index
Invalid.

Original comment by fbarch...@chromium.org on 19 Aug 2013 at 10:15

GoogleCodeExporter commented 8 years ago
Fixed in r767.
Marking as fixed, since all effects are ported to x64.

Original comment by fbarch...@google.com on 20 Aug 2013 at 6:52

GoogleCodeExporter commented 8 years ago
Re-opening as https://webrtc-codereview.appspot.com/2049005/ is a substantial 
port of ARGB to YUV variations but may introduce YUY2 to YUV calling code 
issues in row_any.cc

Original comment by fbarch...@chromium.org on 22 Aug 2013 at 3:58

GoogleCodeExporter commented 8 years ago
YUY2 is ported and validates okay.

Original comment by fbarch...@chromium.org on 28 Aug 2013 at 1:04

GoogleCodeExporter commented 8 years ago
r874 completes x64 port of all functions.

Original comment by fbarch...@google.com on 26 Nov 2013 at 11:59