www.pudn.com > mmxswarm.zip > SSE2Surface.h
// SSE2Surface.h : interface of the SSE2 Specific Surface classes
//
// This is a part of the Microsoft Foundation Classes C++ library.
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// This source code is only intended as a supplement to the
// Microsoft Foundation Classes Reference and related
// electronic documentation provided with the library.
// See these sources for detailed information regarding the
// Microsoft Foundation Classes product.
//
#pragma once
#include "Surface.h"
class CSSE2Surface32Intrinsic : public CSurface
{
public:
virtual void AdjustWidth(int *pWidth);
virtual void BlurBits(); // this is where the MMX action is
protected:
virtual void OnCreated();
private:
int m_qwpl; // qwords per line
int m_width; // number of times to iterate per line
};
class CSSE2Surface24Intrinsic : public CSurface
{
public:
virtual void AdjustWidth(int *pWidth);
virtual void BlurBits(); // this is where the MMX action is
protected:
virtual void OnCreated();
private:
int m_qwpl; // qwords per line
int m_width; // number of times to iterate per line
int m_delta;
};
class CSSE2Surface16Intrinsic : public CSurface
{
public:
virtual void AdjustWidth(int *pWidth);
virtual void BlurBits(); // this is where the MMX action is
protected:
virtual void OnCreated();
private:
int m_qqwpl; // qwords per line
int m_width; // number of times to iterate per line
};