Opened 10 years ago

Closed 10 years ago

#48 closed defect (fixed)

Enable MMX/SSE

Reported by: dmik Owned by:
Priority: major Milestone: Qt 4.6.2
Component: General Version: 4.5.1 Beta 1
Severity: high Keywords:
Cc:

Description

The Qt4 painting engine makes usage of various MMX/3DNow and SSE/SSE2 extensions on platforms which support it. These extensions seem to be accessed through the inclusion of <mmintrin.h>, <mm3dnow.h>, <xmmintrin.h> and <emmintrin.h> headers provided by the platform's compiler.

GCC for OS/2 doesn't have these headers. This ticket is to investigate where to get them and how to adopt to our compiler.

Change History (4)

comment:1 Changed 10 years ago by diver

  • Severity set to high

comment:2 Changed 10 years ago by dmik

  • Milestone changed from Qt Enhanced to Qt 4.6.1

Actually, GGC 3.3.5 contains all these headers but mm3dnow.h. GCC 4.4.2 contains all of them. So it should be easy to enable now.

comment:3 Changed 10 years ago by dmik

Enabled in r617 early to give it some testing before the release. Note that you need to re-run configure.cmd and touch src/gui/painting/qdrawhelper.cpp to get it involved.

So far, I don't see any significant performance change in the tests/blit test case when using MMX/SSE on my machine. This may be due to the fact that I a) only tried the debug build or b) run it in the virtualized environment.

So, somebody with the real hardware and the release build of the trunk, please record the tests/blit numbers (see last comments in #101 for details) before r617 and after it (don't forget to run configure and touch qdrawhelper.cpp).

comment:4 Changed 10 years ago by dmik

  • Resolution set to fixed
  • Status changed from new to closed

Silvan did some tests in #101. Closing this one.

Note: See TracTickets for help on using tickets.