summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
authorMorten Sorvig <morten.sorvig@nokia.com>2010-02-01 09:07:59 +0100
committerMorten Sorvig <morten.sorvig@nokia.com>2010-02-01 09:07:59 +0100
commitead3fba59d0c89130ddaca8e3ef49e26e11ee79c (patch)
tree12261439d5c34873e1123863771224963eada634 /src/gui
parent73e6984b7835b4fa7bc526499d6917fcddadb1d1 (diff)
Re-enable optimied builds (-O2)
Disable SSE use and compile qdrawhelper.cpp in debug mode to work around crases in the memfill code.
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/painting/painting.pri18
-rw-r--r--src/gui/painting/qdrawhelper.cpp5
2 files changed, 20 insertions, 3 deletions
diff --git a/src/gui/painting/painting.pri b/src/gui/painting/painting.pri
index 69c7fd9d30..e62b3ca820 100644
--- a/src/gui/painting/painting.pri
+++ b/src/gui/painting/painting.pri
@@ -87,7 +87,6 @@ SOURCES += \
SOURCES += \
painting/qpaintengine_raster.cpp \
- painting/qdrawhelper.cpp \
painting/qimagescale.cpp \
painting/qgrayraster.c
@@ -96,6 +95,23 @@ SOURCES += \
painting/qrasterdefs_p.h \
painting/qgrayraster_p.h
+
+ nacl {
+ NONOPTIMIZING_SOURCES += painting/qdrawhelper.cpp
+
+ nonoptimizing_compiler.commands = $$QMAKE_CXX -c -Winline
+ nonoptimizing_compiler.commands += $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
+ nonoptimizing_compiler.dependency_type = TYPE_C
+ nonoptimizing_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
+ nonoptimizing_compiler.input = NONOPTIMIZING_SOURCES
+ nonoptimizing_compiler.variable_out = OBJECTS
+ nonoptimizing_compiler.name = compiling[nonoptimizing] ${QMAKE_FILE_IN}
+ silent:nonoptimizing_compiler.commands = @echo compiling[mmx] ${QMAKE_FILE_IN} && $$ nonoptimizing_compiler.commands
+ QMAKE_EXTRA_COMPILERS += nonoptimizing_compiler
+ } else {
+ SOURCES += painting/qdrawhelper.cpp
+ }
+
win32 {
HEADERS += painting/qprintengine_win_p.h
diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp
index b6286b3e19..1225019bb4 100644
--- a/src/gui/painting/qdrawhelper.cpp
+++ b/src/gui/painting/qdrawhelper.cpp
@@ -7732,8 +7732,9 @@ static uint detectCPUFeatures()
{
#if defined Q_OS_NACL
// The inline assembler uses the pushf instruction, which is illigal.
- // ##NACL## Cheat and assume a modern CPU.
- return MMX|SSE|SSE2|CMOV;
+ // ##NACL## Disabled for now, the qdrawhelper code was crashing with
+ // SSE enabled. Figure out why it crashes before enabling.
+ return 0;
#elif defined (Q_OS_WINCE)
#if defined (ARM)
if (IsProcessorFeaturePresent(PF_ARM_INTEL_WMMX))