Started fixing SW video compilation for linux, must go home now

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4410 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
XTra.KrazzY 2009-10-12 16:29:32 +00:00
parent 34e887527c
commit c2ae2e8d58
10 changed files with 139 additions and 16 deletions

View File

@ -78,6 +78,7 @@ dirs = [
'Source/Core/DSPCore/Src', 'Source/Core/DSPCore/Src',
'Source/DSPTool/Src', 'Source/DSPTool/Src',
'Source/Plugins/Plugin_VideoOGL/Src', 'Source/Plugins/Plugin_VideoOGL/Src',
'Source/Plugins/Plugin_VideoSoftware/Src',
'Source/Plugins/Plugin_DSP_HLE/Src', 'Source/Plugins/Plugin_DSP_HLE/Src',
'Source/Plugins/Plugin_DSP_LLE/Src', 'Source/Plugins/Plugin_DSP_LLE/Src',
'Source/Plugins/Plugin_PadSimple/Src', 'Source/Plugins/Plugin_PadSimple/Src',

View File

@ -339,7 +339,7 @@ bool OpenGL_Create(SVideoInitialize &_VideoInitialize, int _twidth, int _theight
GLX_GREEN_SIZE, 8, GLX_GREEN_SIZE, 8,
GLX_BLUE_SIZE, 8, GLX_BLUE_SIZE, 8,
GLX_DEPTH_SIZE, 24, GLX_DEPTH_SIZE, 24,
GLX_SAMPLE_BUFFERS_ARB, g_Config.iMultisampleMode, GLX_SAMPLES_ARB, 1, None }; GLX_SAMPLE_BUFFERS_ARB, GLX_SAMPLES_ARB, 1, None };
GLWin.dpy = XOpenDisplay(0); GLWin.dpy = XOpenDisplay(0);
g_VideoInitialize.pWindowHandle = (HWND)GLWin.dpy; g_VideoInitialize.pWindowHandle = (HWND)GLWin.dpy;
GLWin.screen = DefaultScreen(GLWin.dpy); GLWin.screen = DefaultScreen(GLWin.dpy);

View File

@ -18,9 +18,9 @@
#include "Common.h" #include "Common.h"
#include "MemoryUtil.h" #include "MemoryUtil.h"
#include <videocommon.h> #include <VideoCommon.h>
#include "BpMemLoader.h" #include "BPMemLoader.h"
#include "HwRasterizer.h" #include "HwRasterizer.h"
#include "GLUtil.h" #include "GLUtil.h"
#include "NativeVertexFormat.h" #include "NativeVertexFormat.h"

View File

@ -20,8 +20,8 @@
#include <map> #include <map>
#include "BpMemLoader.h" #include "BPMemLoader.h"
#include "GlUtil.h" #include "GLUtil.h"
struct OutputVertexData; struct OutputVertexData;
@ -57,4 +57,4 @@ namespace HwRasterizer
static TextureCache textures; static TextureCache textures;
} }
#endif #endif

View File

@ -18,8 +18,12 @@
#ifndef _NATIVEVERTEXFORMAT_H #ifndef _NATIVEVERTEXFORMAT_H
#define _NATIVEVERTEXFORMAT_H #define _NATIVEVERTEXFORMAT_H
#ifdef WIN32
#define LOADERDECL __cdecl #define LOADERDECL __cdecl
#else
#define LOADERDECL
#endif
typedef void (LOADERDECL *TPipelineFunction)(); typedef void (LOADERDECL *TPipelineFunction)();
struct InputVertexData struct InputVertexData
@ -80,4 +84,4 @@ struct OutputVertexData
} }
}; };
#endif #endif

View File

@ -313,9 +313,9 @@ void DrawTriangleFrontFace(OutputVertexData *v0, OutputVertexData *v1, OutputVer
} }
} }
} }
} }
} }

View File

@ -18,7 +18,7 @@
#ifndef _RENDERER_H_ #ifndef _RENDERER_H_
#define _RENDERER_H_ #define _RENDERER_H_
#include "PluginSpecs_Video.h" #include "pluginspecs_video.h"
namespace Renderer namespace Renderer
{ {
@ -34,4 +34,4 @@ namespace Renderer
void SwapBuffer(); void SwapBuffer();
} }
#endif #endif

View File

@ -0,0 +1,118 @@
# -*- python -*-
Import('env')
# can we import path in one place?
import sys
sys.path.append(env['base_dir']+'SconsTests')
import utils
import platform
name = "Plugin_VideoSoftware"
files = [
'BPMemLoader.cpp',
'Clipper.cpp',
'CommandProcessor.cpp',
'CPMemLoader.cpp',
'DebugUtil.cpp',
'EfbCopy.cpp',
'EfbInterface.cpp',
'GLUtil.cpp',
'HwRasterizer.cpp',
'main.cpp',
'OpcodeDecoder.cpp',
'PixelEngine.cpp',
'Rasterizer.cpp',
'Renderer.cpp',
'SetupUnit.cpp',
'Statistics.cpp',
'Tev.cpp',
'TextureEncoder.cpp',
'TextureSampler.cpp',
'TransformUnit.cpp',
'VertexFormatConverter.cpp',
'VertexLoader.cpp',
'VideoConfig.cpp',
'XFMemLoader.cpp',
]
compileFlags = [
'-fPIC',
]
linkFlags = [
]
libs = [
'videocommon', 'soil', 'common'
]
gfxenv = env.Clone()
files += [
'main.cpp',
'GLUtil.cpp',
]
if sys.platform == 'win32':
files += [ 'Win32.cpp' ]
tests = {'CheckPKG' : utils.CheckPKG}
conf = gfxenv.Configure(custom_tests = tests,
config_h=env['base_dir']+"Source/Core/Common/Src/Config.h")
if sys.platform == 'darwin':
gfxenv['FRAMEWORKS'] = ['CoreFoundation', 'System', 'OpenGL', 'Cocoa', 'Cg']
conf.CheckPKG('OpenGL')
if not conf.CheckPKG('Cg'):
print name + " must have Cg framework from nvidia to be build"
Return()
elif sys.platform == 'win32':
print name + " is assuming that you have opengl, glu, cg, and cggl"
else:
if not (conf.CheckPKG('GL') and conf.CheckPKG('GLU')):
print name + " must have opengl and glu to be build"
Return()
if not conf.CheckPKG('Cg') or not conf.CheckPKG('CgGL'):
print name + " must have cg and cggl to be build"
Return()
if sys.platform == 'win32':
print name + " is assuming that you have glew"
else:
if not conf.CheckPKG('GLEW'):
print name + " must have glew to be build"
Return()
if sys.platform == 'win32':
files += [
'Win32.cpp'
]
libs += [
env['base_dir'] + '/Externals/Cg/'
]
gfxenv['CPPPATH'] += libs
# check for xxf86vm
gfxenv['HAVE_XXF86VM'] = gfxenv['HAVE_X11'] and conf.CheckPKG('xxf86vm')
conf.Define('HAVE_XXF86VM', gfxenv['HAVE_XXF86VM'])
conf.Finish()
# Sanity check
if gfxenv['USE_WX'] and not gfxenv['HAVE_WX']:
print "Must have wx to use wxgl"
Return()
gfxenv.Append(
CXXFLAGS = compileFlags,
LINKFLAGS = linkFlags,
)
gfxenv.SharedLibrary(
env['plugin_dir']+name,
files,
LIBS = libs + gfxenv['LIBS']
)

View File

@ -16,7 +16,7 @@
#include "TextureSampler.h" #include "TextureSampler.h"
#include "Main.h" #include "main.h"
#include "BPMemLoader.h" #include "BPMemLoader.h"
#include "../../../Core/VideoCommon/Src/TextureDecoder.h" #include "../../../Core/VideoCommon/Src/TextureDecoder.h"
@ -30,7 +30,7 @@ inline int iround(float x)
{ {
int t; int t;
__asm __asm volatile
{ {
fld x fld x
fistp t fistp t
@ -147,4 +147,4 @@ void Sample(float s, float t, float lod, u8 texmap, u8 *sample)
} }
} }
} }

View File

@ -18,7 +18,7 @@
#ifndef MAIN_H #ifndef MAIN_H
#define MAIN_H #define MAIN_H
#include "PluginSpecs_Video.h" #include "pluginspecs_video.h"
extern SVideoInitialize g_VideoInitialize; extern SVideoInitialize g_VideoInitialize;