From fa4a1588233e09df4bc35634717b9d6e334b05bf Mon Sep 17 00:00:00 2001 From: cxl Date: Wed, 21 Jan 2009 19:07:59 +0000 Subject: [PATCH] Painter MMX expriments, SqlSelect(....) fix git-svn-id: svn://ultimatepp.org/upp/trunk@793 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/Painter/BufferPainter.h | 2 +- uppsrc/Painter/PixFmt.cpp | 6 ++++-- uppsrc/Sql/SqlStatement.cpp | 8 ++++++++ uppsrc/Sql/Sqlexp.h | 2 ++ 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/uppsrc/Painter/BufferPainter.h b/uppsrc/Painter/BufferPainter.h index 4b1085a3a..8bb762f70 100644 --- a/uppsrc/Painter/BufferPainter.h +++ b/uppsrc/Painter/BufferPainter.h @@ -1,4 +1,4 @@ -//#define USE_MMX +// #define USE_MMX inline RGBA Mul8(const RGBA& s, int mul) { diff --git a/uppsrc/Painter/PixFmt.cpp b/uppsrc/Painter/PixFmt.cpp index 4f0a84443..f85a6707c 100644 --- a/uppsrc/Painter/PixFmt.cpp +++ b/uppsrc/Painter/PixFmt.cpp @@ -58,8 +58,10 @@ void BufferPainter::upp_pixfmt::blend_solid_hspan(int x, int y, int len, if(c.a == 0) return; RGBA *t = ptr(x, y); #ifdef USE_MMX - AlphaBlendCover((dword *)t, *(dword *)&c, covers, len); - return; + if(!noaa) { + AlphaBlendCover((dword *)t, *(dword *)&c, covers, len); + return; + } #else RGBA *e = t + len; while(t < e) { diff --git a/uppsrc/Sql/SqlStatement.cpp b/uppsrc/Sql/SqlStatement.cpp index 9b42c927d..26246f653 100644 --- a/uppsrc/Sql/SqlStatement.cpp +++ b/uppsrc/Sql/SqlStatement.cpp @@ -162,6 +162,14 @@ SqlSelect::SqlSelect(Fields f) { #define E__SCat(I) set.Cat(p##I) +#define E__QSqlSelectF(I) \ +SqlSelect::SqlSelect(__List##I(E__SqlVal)) { \ + SqlSet set; \ + __List##I(E__SCat); \ + text = ~set; \ +} +__Expand(E__QSqlSelectF); + #define E__QSelectF(I) \ SqlSelect Select(__List##I(E__SqlVal)) { \ SqlSet set; \ diff --git a/uppsrc/Sql/Sqlexp.h b/uppsrc/Sql/Sqlexp.h index 996045a51..b50c54fe6 100644 --- a/uppsrc/Sql/Sqlexp.h +++ b/uppsrc/Sql/Sqlexp.h @@ -489,6 +489,8 @@ public: SqlSelect(Fields f); SqlSelect(const SqlSet& s) { text = ~s; } SqlSelect() {} +#define E__QSelect(I) SqlSelect(__List##I(E__SqlVal)); +__Expand(E__QSelect); bool IsEmpty() { return text.IsEmpty(); }