dslinux/user/pixil/packages/dvdview/dvdview/oldlibgfx/libvideogfx/arch/linux/x86 .cvsignore CPUcapabilities.cc Makefile.am

amadeus dslinux_amadeus at user.in-berlin.de
Tue Oct 3 13:25:48 CEST 2006


Update of /cvsroot/dslinux/dslinux/user/pixil/packages/dvdview/dvdview/oldlibgfx/libvideogfx/arch/linux/x86
In directory antilope:/tmp/cvs-serv11916/packages/dvdview/dvdview/oldlibgfx/libvideogfx/arch/linux/x86

Added Files:
	.cvsignore CPUcapabilities.cc Makefile.am 
Log Message:
adding pristine copy of pixil to HEAD so I can branch from it

--- NEW FILE: .cvsignore ---
Makefile
Makefile.in
*.lo
_libs
.libs
.deps
libvideogfx-arch-linux-x86.la

--- NEW FILE: Makefile.am ---
## Makefile.am for libvideogfx/libvideogfx/arch/linux/x86

if ENABLE_MMX
noinst_LTLIBRARIES = libvideogfx-arch-linux-x86.la

libvideogfx_arch_linux_x86_la_SOURCES = \
	CPUcapabilities.cc
else
noinst_LTLIBRARIES =
endif

INCLUDES = \
	-I$(top_srcdir)

.PHONY: files

files:
	@files=`ls $(DISTFILES) 2> /dev/null`; for p in $$files; do \
	  echo $$p; \
	done

--- NEW FILE: CPUcapabilities.cc ---
/********************************************************************************
    Copyright (C) 1999  Dirk Farin

    This program is distributed under GNU Public License (GPL) as
    outlined in the COPYING file that comes with the source distribution.

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 ********************************************************************************/

#include "config.h"

#include <fstream.h>
#include <string.h>

#include "libvideogfx/arch/x86/CPUcapabilities.hh"


class CPU_Capabilities_LinuxProc : public CPU_Capabilities
{
public:
  CPU_Capabilities_LinuxProc()
    {
      mmx=kni=AMD3dnow,mtrr=cmov=fpu=false;

      char buf[500+1];
      ifstream str("/proc/cpuinfo");
      if (str)
        {
          while (!str.eof())
            {
              str.getline(buf,500);
              if (strncmp(buf,"flags",5)==0)
                {
                  if (strstr(buf,"mmx"))   mmx =true;
                  if (strstr(buf,"kni"))   kni =true;
                  if (strstr(buf,"mtrr"))  mtrr=true;
                  if (strstr(buf,"cmov"))  cmov=true;
                  if (strstr(buf,"3dnow")) AMD3dnow=true;
                  if (strstr(buf,"fpu"))   fpu =true;
                }
            }
        }
    }

  bool HasMMX() { return mmx; }
  bool HasKNI() { return kni; }
  bool Has3dNow() { return AMD3dnow; }
  bool HasMTRR() { return mtrr; }
  bool HasCMOV() { return cmov; }
  bool HasFPU()  { return fpu; }

private:
  bool mmx,kni,AMD3dnow,mtrr,cmov,fpu;
};

static CPU_Capabilities_LinuxProc cpucap;
CPU_Capabilities& cpucapabilities = cpucap;




More information about the dslinux-commit mailing list