mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-06 06:51:26 +12:00
commit
11fd944f53
14 changed files with 313 additions and 75 deletions
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -12,3 +12,6 @@
|
||||||
path = llvm
|
path = llvm
|
||||||
url = https://github.com/llvm-mirror/llvm.git
|
url = https://github.com/llvm-mirror/llvm.git
|
||||||
branch = release_35
|
branch = release_35
|
||||||
|
[submodule "minidx9"]
|
||||||
|
path = minidx9
|
||||||
|
url = https://github.com/hrydgard/minidx9.git
|
||||||
|
|
1
minidx9
Submodule
1
minidx9
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit ec19e643461c84dbb256f6faaaab02cba61d4edc
|
|
@ -87,7 +87,7 @@ void OpenALThread::Stop()
|
||||||
checkForAlError("alSourceStop");
|
checkForAlError("alSourceStop");
|
||||||
}
|
}
|
||||||
|
|
||||||
void OpenALThread::Open(const void* src, ALsizei size)
|
void OpenALThread::Open(const void* src, int size)
|
||||||
{
|
{
|
||||||
alGenSources(1, &m_source);
|
alGenSources(1, &m_source);
|
||||||
checkForAlError("alGenSources");
|
checkForAlError("alGenSources");
|
||||||
|
@ -102,7 +102,8 @@ void OpenALThread::Open(const void* src, ALsizei size)
|
||||||
|
|
||||||
for (uint i = 0; i<g_al_buffers_count; ++i)
|
for (uint i = 0; i<g_al_buffers_count; ++i)
|
||||||
{
|
{
|
||||||
AddBlock(m_buffers[i], m_buffer_size, src);
|
alBufferData(m_buffers[i], g_audio_format, src, m_buffer_size, 48000);
|
||||||
|
checkForAlError("alBufferData");
|
||||||
}
|
}
|
||||||
|
|
||||||
alSourceQueueBuffers(m_source, g_al_buffers_count, m_buffers);
|
alSourceQueueBuffers(m_source, g_al_buffers_count, m_buffers);
|
||||||
|
@ -110,7 +111,7 @@ void OpenALThread::Open(const void* src, ALsizei size)
|
||||||
Play();
|
Play();
|
||||||
}
|
}
|
||||||
|
|
||||||
void OpenALThread::AddData(const void* src, ALsizei size)
|
void OpenALThread::AddData(const void* src, int size)
|
||||||
{
|
{
|
||||||
const char* bsrc = (const char*)src;
|
const char* bsrc = (const char*)src;
|
||||||
ALuint buffer;
|
ALuint buffer;
|
||||||
|
@ -135,8 +136,9 @@ void OpenALThread::AddData(const void* src, ALsizei size)
|
||||||
checkForAlError("alSourceUnqueueBuffers");
|
checkForAlError("alSourceUnqueueBuffers");
|
||||||
|
|
||||||
int bsize = size < m_buffer_size ? size : m_buffer_size;
|
int bsize = size < m_buffer_size ? size : m_buffer_size;
|
||||||
if (!AddBlock(buffer, bsize, bsrc))
|
|
||||||
LOG_ERROR(HLE, "OpenALThread::AddBlock: invalid block size: %d", bsize);
|
alBufferData(buffer, g_audio_format, bsrc, bsize, 48000);
|
||||||
|
checkForAlError("alBufferData");
|
||||||
|
|
||||||
alSourceQueueBuffers(m_source, 1, &buffer);
|
alSourceQueueBuffers(m_source, 1, &buffer);
|
||||||
checkForAlError("alSourceQueueBuffers");
|
checkForAlError("alSourceQueueBuffers");
|
||||||
|
@ -147,13 +149,3 @@ void OpenALThread::AddData(const void* src, ALsizei size)
|
||||||
|
|
||||||
Play();
|
Play();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool OpenALThread::AddBlock(const ALuint buffer_id, const ALsizei size, const void* src)
|
|
||||||
{
|
|
||||||
if (size < 1) return false;
|
|
||||||
|
|
||||||
alBufferData(buffer_id, g_audio_format, src, size, 48000);
|
|
||||||
checkForAlError("alBufferData");
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include "Emu/Audio/AudioThread.h"
|
||||||
#include "OpenAL/include/alext.h"
|
#include "OpenAL/include/alext.h"
|
||||||
|
|
||||||
class OpenALThread
|
class OpenALThread : public AudioThread
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
static const uint g_al_buffers_count = 16;
|
static const uint g_al_buffers_count = 16;
|
||||||
|
@ -14,15 +15,13 @@ private:
|
||||||
ALsizei m_buffer_size;
|
ALsizei m_buffer_size;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
~OpenALThread();
|
virtual ~OpenALThread();
|
||||||
|
|
||||||
void Init();
|
virtual void Init();
|
||||||
void Quit();
|
virtual void Quit();
|
||||||
void Play();
|
virtual void Play();
|
||||||
void Open(const void* src, ALsizei size);
|
virtual void Open(const void* src, int size);
|
||||||
void Close();
|
virtual void Close();
|
||||||
void Stop();
|
virtual void Stop();
|
||||||
bool AddBlock(const ALuint buffer_id, ALsizei size, const void* src);
|
virtual void AddData(const void* src, int size);
|
||||||
void AddData(const void* src, ALsizei size);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#include "rpcs3/Ini.h"
|
#include "rpcs3/Ini.h"
|
||||||
#include "AudioManager.h"
|
#include "AudioManager.h"
|
||||||
|
#include "AL/OpenALThread.h"
|
||||||
|
#include "Null/NullAudioThread.h"
|
||||||
|
#include "XAudio2/XAudio2Thread.h"
|
||||||
|
|
||||||
OpenALThread* m_audio_out;
|
AudioManager::AudioManager() : m_audio_out(nullptr)
|
||||||
|
|
||||||
AudioManager::AudioManager()
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,8 +18,11 @@ void AudioManager::Init()
|
||||||
switch (Ini.AudioOutMode.GetValue())
|
switch (Ini.AudioOutMode.GetValue())
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
case 0: m_audio_out = nullptr; break;
|
case 0: m_audio_out = new NullAudioThread(); break;
|
||||||
case 1: m_audio_out = new OpenALThread(); break;
|
case 1: m_audio_out = new OpenALThread(); break;
|
||||||
|
#if defined (_WIN32)
|
||||||
|
case 2: m_audio_out = new XAudio2Thread(); break;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
#include "sysutil_audio.h"
|
#include "sysutil_audio.h"
|
||||||
#include "AL/OpenALThread.h"
|
#include "AudioThread.h"
|
||||||
|
|
||||||
struct AudioInfo
|
struct AudioInfo
|
||||||
{
|
{
|
||||||
|
@ -32,16 +32,15 @@ struct AudioInfo
|
||||||
class AudioManager
|
class AudioManager
|
||||||
{
|
{
|
||||||
AudioInfo m_audio_info;
|
AudioInfo m_audio_info;
|
||||||
|
AudioThread* m_audio_out;
|
||||||
public:
|
public:
|
||||||
AudioManager();
|
AudioManager();
|
||||||
|
|
||||||
void Init();
|
void Init();
|
||||||
void Close();
|
void Close();
|
||||||
|
|
||||||
|
AudioThread& GetAudioOut() { assert(m_audio_out); return *m_audio_out; }
|
||||||
AudioInfo& GetInfo() { return m_audio_info; }
|
AudioInfo& GetInfo() { return m_audio_info; }
|
||||||
|
|
||||||
u8 GetState();
|
u8 GetState();
|
||||||
};
|
};
|
||||||
|
|
||||||
extern OpenALThread* m_audio_out;
|
|
||||||
|
|
||||||
|
|
15
rpcs3/Emu/Audio/AudioThread.h
Normal file
15
rpcs3/Emu/Audio/AudioThread.h
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
class AudioThread
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual ~AudioThread() {}
|
||||||
|
|
||||||
|
virtual void Init() = 0;
|
||||||
|
virtual void Quit() = 0;
|
||||||
|
virtual void Play() = 0;
|
||||||
|
virtual void Open(const void* src, int size) = 0;
|
||||||
|
virtual void Close() = 0;
|
||||||
|
virtual void Stop() = 0;
|
||||||
|
virtual void AddData(const void* src, int size) = 0;
|
||||||
|
};
|
18
rpcs3/Emu/Audio/Null/NullAudioThread.h
Normal file
18
rpcs3/Emu/Audio/Null/NullAudioThread.h
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "Emu/Audio/AudioThread.h"
|
||||||
|
|
||||||
|
class NullAudioThread : public AudioThread
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
NullAudioThread() {}
|
||||||
|
virtual ~NullAudioThread() {}
|
||||||
|
|
||||||
|
virtual void Init() {}
|
||||||
|
virtual void Quit() {}
|
||||||
|
virtual void Play() {}
|
||||||
|
virtual void Open(const void* src, int size) {}
|
||||||
|
virtual void Close() {}
|
||||||
|
virtual void Stop() {}
|
||||||
|
virtual void AddData(const void* src, int size) {}
|
||||||
|
};
|
132
rpcs3/Emu/Audio/XAudio2/XAudio2Thread.cpp
Normal file
132
rpcs3/Emu/Audio/XAudio2/XAudio2Thread.cpp
Normal file
|
@ -0,0 +1,132 @@
|
||||||
|
#include "stdafx.h"
|
||||||
|
#include "Utilities/Log.h"
|
||||||
|
#include "Emu/System.h"
|
||||||
|
#include "rpcs3/Ini.h"
|
||||||
|
|
||||||
|
#if defined (_WIN32)
|
||||||
|
#include "XAudio2Thread.h"
|
||||||
|
|
||||||
|
XAudio2Thread::~XAudio2Thread()
|
||||||
|
{
|
||||||
|
Quit();
|
||||||
|
}
|
||||||
|
|
||||||
|
void XAudio2Thread::Init()
|
||||||
|
{
|
||||||
|
HRESULT hr = S_OK;
|
||||||
|
|
||||||
|
hr = CoInitializeEx(nullptr, COINIT_MULTITHREADED);
|
||||||
|
if (FAILED(hr))
|
||||||
|
{
|
||||||
|
LOG_ERROR(GENERAL, "XAudio2Thread : CoInitializeEx() failed(0x%08x)", hr);
|
||||||
|
Emu.Pause();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr = XAudio2Create(&m_xaudio2_instance, 0, XAUDIO2_DEFAULT_PROCESSOR);
|
||||||
|
if (FAILED(hr))
|
||||||
|
{
|
||||||
|
LOG_ERROR(GENERAL, "XAudio2Thread : XAudio2Create() failed(0x%08x)", hr);
|
||||||
|
Emu.Pause();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr = m_xaudio2_instance->CreateMasteringVoice(&m_master_voice);
|
||||||
|
if (FAILED(hr))
|
||||||
|
{
|
||||||
|
LOG_ERROR(GENERAL, "XAudio2Thread : CreateMasteringVoice() failed(0x%08x)", hr);
|
||||||
|
m_xaudio2_instance->Release();
|
||||||
|
Emu.Pause();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void XAudio2Thread::Quit()
|
||||||
|
{
|
||||||
|
Stop();
|
||||||
|
m_source_voice->DestroyVoice();
|
||||||
|
m_source_voice = nullptr;
|
||||||
|
m_master_voice->DestroyVoice();
|
||||||
|
m_master_voice = nullptr;
|
||||||
|
m_xaudio2_instance->StopEngine();
|
||||||
|
m_xaudio2_instance->Release();
|
||||||
|
m_xaudio2_instance = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
void XAudio2Thread::Play()
|
||||||
|
{
|
||||||
|
HRESULT hr = m_source_voice->Start();
|
||||||
|
if (FAILED(hr))
|
||||||
|
{
|
||||||
|
LOG_ERROR(GENERAL, "XAudio2Thread : Start() failed(0x%08x)", hr);
|
||||||
|
Emu.Pause();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void XAudio2Thread::Close()
|
||||||
|
{
|
||||||
|
Stop();
|
||||||
|
HRESULT hr = m_source_voice->FlushSourceBuffers();
|
||||||
|
if (FAILED(hr))
|
||||||
|
{
|
||||||
|
LOG_ERROR(GENERAL, "XAudio2Thread : FlushSourceBuffers() failed(0x%08x)", hr);
|
||||||
|
Emu.Pause();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void XAudio2Thread::Stop()
|
||||||
|
{
|
||||||
|
HRESULT hr = m_source_voice->Stop();
|
||||||
|
if (FAILED(hr))
|
||||||
|
{
|
||||||
|
LOG_ERROR(GENERAL, "XAudio2Thread : Stop() failed(0x%08x)", hr);
|
||||||
|
Emu.Pause();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void XAudio2Thread::Open(const void* src, int size)
|
||||||
|
{
|
||||||
|
HRESULT hr;
|
||||||
|
|
||||||
|
WAVEFORMATEX waveformatex;
|
||||||
|
waveformatex.wFormatTag = WAVE_FORMAT_IEEE_FLOAT;
|
||||||
|
waveformatex.nChannels = 2;
|
||||||
|
waveformatex.nSamplesPerSec = 48000;
|
||||||
|
waveformatex.nAvgBytesPerSec = 48000 * 2 * sizeof(float);
|
||||||
|
waveformatex.nBlockAlign = 2 * sizeof(float);
|
||||||
|
waveformatex.wBitsPerSample = 32;
|
||||||
|
waveformatex.cbSize = 0;
|
||||||
|
|
||||||
|
hr = m_xaudio2_instance->CreateSourceVoice(&m_source_voice, &waveformatex, 0, XAUDIO2_DEFAULT_FREQ_RATIO);
|
||||||
|
if (FAILED(hr))
|
||||||
|
{
|
||||||
|
LOG_ERROR(GENERAL, "XAudio2Thread : CreateSourceVoice() failed(0x%08x)", hr);
|
||||||
|
Emu.Pause();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
AddData(src, size);
|
||||||
|
Play();
|
||||||
|
}
|
||||||
|
|
||||||
|
void XAudio2Thread::AddData(const void* src, int size)
|
||||||
|
{
|
||||||
|
XAUDIO2_BUFFER buffer;
|
||||||
|
|
||||||
|
buffer.AudioBytes = size;
|
||||||
|
buffer.Flags = 0;
|
||||||
|
buffer.LoopBegin = XAUDIO2_NO_LOOP_REGION;
|
||||||
|
buffer.LoopCount = 0;
|
||||||
|
buffer.LoopLength = 0;
|
||||||
|
buffer.pAudioData = (const BYTE*)src;
|
||||||
|
buffer.pContext = 0;
|
||||||
|
buffer.PlayBegin = 0;
|
||||||
|
buffer.PlayLength = 256;
|
||||||
|
|
||||||
|
HRESULT hr = m_source_voice->SubmitSourceBuffer(&buffer);
|
||||||
|
if (FAILED(hr))
|
||||||
|
{
|
||||||
|
LOG_ERROR(GENERAL, "XAudio2Thread : AddData() failed(0x%08x)", hr);
|
||||||
|
Emu.Pause();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
35
rpcs3/Emu/Audio/XAudio2/XAudio2Thread.h
Normal file
35
rpcs3/Emu/Audio/XAudio2/XAudio2Thread.h
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "Emu/Audio/AudioThread.h"
|
||||||
|
#if defined (_WIN32)
|
||||||
|
|
||||||
|
// forced define Win7, delete this for using XAudio2 2.8
|
||||||
|
#define WINVER 0x0601
|
||||||
|
#define _WIN32_WINNT 0x0601
|
||||||
|
|
||||||
|
#if (_WIN32_WINNT >= 0x0602 /*_WIN32_WINNT_WIN8*/)
|
||||||
|
#include <xaudio2.h>
|
||||||
|
#pragma comment(lib,"xaudio2.lib")
|
||||||
|
#else
|
||||||
|
#include "XAudio2.h" // XAudio2 2.8 available only on Win8+, used XAudio2 2.7 from dxsdk
|
||||||
|
#endif
|
||||||
|
|
||||||
|
class XAudio2Thread : public AudioThread
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
IXAudio2* m_xaudio2_instance;
|
||||||
|
IXAudio2MasteringVoice* m_master_voice;
|
||||||
|
IXAudio2SourceVoice* m_source_voice;
|
||||||
|
|
||||||
|
public:
|
||||||
|
virtual ~XAudio2Thread();
|
||||||
|
|
||||||
|
virtual void Init();
|
||||||
|
virtual void Quit();
|
||||||
|
virtual void Play();
|
||||||
|
virtual void Open(const void* src, int size);
|
||||||
|
virtual void Close();
|
||||||
|
virtual void Stop();
|
||||||
|
virtual void AddData(const void* src, int size);
|
||||||
|
};
|
||||||
|
#endif
|
|
@ -81,16 +81,14 @@ int cellAudioInit()
|
||||||
|
|
||||||
std::vector<u64> keys;
|
std::vector<u64> keys;
|
||||||
|
|
||||||
if(m_audio_out)
|
Emu.GetAudioManager().GetAudioOut().Init();
|
||||||
{
|
|
||||||
m_audio_out->Init();
|
|
||||||
|
|
||||||
// Note: What if the ini value changes?
|
// Note: What if the ini value changes?
|
||||||
if (g_is_u16)
|
if (g_is_u16)
|
||||||
m_audio_out->Open(oal_buffer[0].get(), oal_buffer_size * sizeof(s16));
|
Emu.GetAudioManager().GetAudioOut().Open(oal_buffer[0].get(), oal_buffer_size * sizeof(s16));
|
||||||
else
|
else
|
||||||
m_audio_out->Open(oal_buffer_float[0].get(), oal_buffer_size * sizeof(float));
|
Emu.GetAudioManager().GetAudioOut().Open(oal_buffer_float[0].get(), oal_buffer_size * sizeof(float));
|
||||||
}
|
|
||||||
|
|
||||||
m_config.start_time = get_system_time();
|
m_config.start_time = get_system_time();
|
||||||
|
|
||||||
|
@ -112,7 +110,7 @@ int cellAudioInit()
|
||||||
{
|
{
|
||||||
if (oal_buffer)
|
if (oal_buffer)
|
||||||
{
|
{
|
||||||
m_audio_out->AddData(oal_buffer, oal_buffer_size * sizeof(s16));
|
Emu.GetAudioManager().GetAudioOut().AddData(oal_buffer, oal_buffer_size * sizeof(s16));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -120,7 +118,7 @@ int cellAudioInit()
|
||||||
{
|
{
|
||||||
if (oal_buffer_float)
|
if (oal_buffer_float)
|
||||||
{
|
{
|
||||||
m_audio_out->AddData(oal_buffer_float, oal_buffer_size * sizeof(float));
|
Emu.GetAudioManager().GetAudioOut().AddData(oal_buffer_float, oal_buffer_size * sizeof(float));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -365,15 +363,11 @@ int cellAudioInit()
|
||||||
oal_buffer_offset += sizeof(buf2ch) / sizeof(float);
|
oal_buffer_offset += sizeof(buf2ch) / sizeof(float);
|
||||||
|
|
||||||
if(oal_buffer_offset >= oal_buffer_size)
|
if(oal_buffer_offset >= oal_buffer_size)
|
||||||
{
|
|
||||||
if(m_audio_out)
|
|
||||||
{
|
{
|
||||||
if (g_is_u16)
|
if (g_is_u16)
|
||||||
queue.push(&oal_buffer[oal_pos][0]);
|
queue.push(&oal_buffer[oal_pos][0]);
|
||||||
|
|
||||||
queue_float.push(&oal_buffer_float[oal_pos][0]);
|
queue_float.push(&oal_buffer_float[oal_pos][0]);
|
||||||
}
|
|
||||||
|
|
||||||
oal_buffer_offset = 0;
|
oal_buffer_offset = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -474,6 +474,9 @@ void MainFrame::Config(wxCommandEvent& WXUNUSED(event))
|
||||||
|
|
||||||
cbox_audio_out->Append("Null");
|
cbox_audio_out->Append("Null");
|
||||||
cbox_audio_out->Append("OpenAL");
|
cbox_audio_out->Append("OpenAL");
|
||||||
|
#if defined (_WIN32)
|
||||||
|
cbox_audio_out->Append("XAudio2");
|
||||||
|
#endif
|
||||||
|
|
||||||
cbox_camera->Append("Null");
|
cbox_camera->Append("Null");
|
||||||
|
|
||||||
|
|
|
@ -84,6 +84,7 @@
|
||||||
<ClCompile Include="Emu\Audio\AL\OpenALThread.cpp" />
|
<ClCompile Include="Emu\Audio\AL\OpenALThread.cpp" />
|
||||||
<ClCompile Include="Emu\Audio\AudioDumper.cpp" />
|
<ClCompile Include="Emu\Audio\AudioDumper.cpp" />
|
||||||
<ClCompile Include="Emu\Audio\AudioManager.cpp" />
|
<ClCompile Include="Emu\Audio\AudioManager.cpp" />
|
||||||
|
<ClCompile Include="Emu\Audio\XAudio2\XAudio2Thread.cpp" />
|
||||||
<ClCompile Include="Emu\Cell\MFC.cpp" />
|
<ClCompile Include="Emu\Cell\MFC.cpp" />
|
||||||
<ClCompile Include="Emu\Cell\PPCDecoder.cpp" />
|
<ClCompile Include="Emu\Cell\PPCDecoder.cpp" />
|
||||||
<ClCompile Include="Emu\Cell\PPCThread.cpp" />
|
<ClCompile Include="Emu\Cell\PPCThread.cpp" />
|
||||||
|
@ -300,6 +301,9 @@
|
||||||
<ClInclude Include="Emu\Audio\AL\OpenALThread.h" />
|
<ClInclude Include="Emu\Audio\AL\OpenALThread.h" />
|
||||||
<ClInclude Include="Emu\Audio\AudioDumper.h" />
|
<ClInclude Include="Emu\Audio\AudioDumper.h" />
|
||||||
<ClInclude Include="Emu\Audio\AudioManager.h" />
|
<ClInclude Include="Emu\Audio\AudioManager.h" />
|
||||||
|
<ClInclude Include="Emu\Audio\AudioThread.h" />
|
||||||
|
<ClInclude Include="Emu\Audio\Null\NullAudioThread.h" />
|
||||||
|
<ClInclude Include="Emu\Audio\XAudio2\XAudio2Thread.h" />
|
||||||
<ClInclude Include="Emu\Cell\MFC.h" />
|
<ClInclude Include="Emu\Cell\MFC.h" />
|
||||||
<ClInclude Include="Emu\Cell\PPCDecoder.h" />
|
<ClInclude Include="Emu\Cell\PPCDecoder.h" />
|
||||||
<ClInclude Include="Emu\Cell\PPCDisAsm.h" />
|
<ClInclude Include="Emu\Cell\PPCDisAsm.h" />
|
||||||
|
@ -597,24 +601,34 @@
|
||||||
<IncludePath>.\;..\;..\asmjit\src\asmjit;..\wxWidgets\include\msvc;..\wxWidgets\include;.\OpenAL\include;..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\x86\Include;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
|
<IncludePath>.\;..\;..\asmjit\src\asmjit;..\wxWidgets\include\msvc;..\wxWidgets\include;.\OpenAL\include;..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\x86\Include;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<IncludePath>.\;..\;..\asmjit\src\asmjit;..\wxWidgets\include\msvc;..\wxWidgets\include;.\OpenAL\include;..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\x86_64\Include;$(VC_IncludePath);$(WindowsSDK_IncludePath);..\llvm\include;..\llvm_build\include</IncludePath>
|
<IncludePath>.\;..\;..\minidx9\Include;..\asmjit\src\asmjit;..\wxWidgets\include\msvc;..\wxWidgets\include;.\OpenAL\include;..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\x86_64\Include;$(VC_IncludePath);$(WindowsSDK_IncludePath);..\llvm\include;..\llvm_build\include</IncludePath>
|
||||||
<IntDir>$(Platform)\$(Configuration)\emucore\</IntDir>
|
<IntDir>$(Platform)\$(Configuration)\emucore\</IntDir>
|
||||||
|
<LibraryPath>$(LibraryPath)</LibraryPath>
|
||||||
|
<ExcludePath>$(ExcludePath)</ExcludePath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug - LLVM|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug - LLVM|x64'">
|
||||||
<IncludePath>.\;..\;..\asmjit\src\asmjit;..\wxWidgets\include\msvc;..\wxWidgets\include;.\OpenAL\include;..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\x86_64\Include;$(VC_IncludePath);$(WindowsSDK_IncludePath);..\llvm\include;..\llvm_build\include</IncludePath>
|
<IncludePath>.\;..\;..\minidx9\Include;..\asmjit\src\asmjit;..\wxWidgets\include\msvc;..\wxWidgets\include;.\OpenAL\include;..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\x86_64\Include;$(VC_IncludePath);$(WindowsSDK_IncludePath);..\llvm\include;..\llvm_build\include</IncludePath>
|
||||||
<IntDir>$(Platform)\$(Configuration)\emucore\</IntDir>
|
<IntDir>$(Platform)\$(Configuration)\emucore\</IntDir>
|
||||||
|
<LibraryPath>$(LibraryPath)</LibraryPath>
|
||||||
|
<ExcludePath>$(ExcludePath)</ExcludePath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug - MemLeak|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug - MemLeak|x64'">
|
||||||
<IncludePath>.\;..\;..\asmjit\src\asmjit;..\wxWidgets\include\msvc;..\wxWidgets\include;.\OpenAL\include;..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\x86_64\Include;$(VC_IncludePath);$(WindowsSDK_IncludePath);..\llvm\include;..\llvm_build\include</IncludePath>
|
<IncludePath>.\;..\;..\minidx9\Include;..\asmjit\src\asmjit;..\wxWidgets\include\msvc;..\wxWidgets\include;.\OpenAL\include;..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\x86_64\Include;$(VC_IncludePath);$(WindowsSDK_IncludePath);..\llvm\include;..\llvm_build\include</IncludePath>
|
||||||
<IntDir>$(Platform)\$(Configuration)\emucore\</IntDir>
|
<IntDir>$(Platform)\$(Configuration)\emucore\</IntDir>
|
||||||
|
<LibraryPath>$(LibraryPath)</LibraryPath>
|
||||||
|
<ExcludePath>$(ExcludePath)</ExcludePath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<IncludePath>.\;..\;..\asmjit\src\asmjit;..\wxWidgets\include\msvc;..\wxWidgets\include;.\OpenAL\include;..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\x86_64\Include;$(VC_IncludePath);$(WindowsSDK_IncludePath);..\llvm\include;..\llvm_build\include</IncludePath>
|
<IncludePath>.\;..\;..\minidx9\Include;..\asmjit\src\asmjit;..\wxWidgets\include\msvc;..\wxWidgets\include;.\OpenAL\include;..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\x86_64\Include;$(VC_IncludePath);$(WindowsSDK_IncludePath);..\llvm\include;..\llvm_build\include</IncludePath>
|
||||||
<IntDir>$(Platform)\$(Configuration)\emucore\</IntDir>
|
<IntDir>$(Platform)\$(Configuration)\emucore\</IntDir>
|
||||||
|
<LibraryPath>$(LibraryPath)</LibraryPath>
|
||||||
|
<ExcludePath>$(ExcludePath)</ExcludePath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release - LLVM|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release - LLVM|x64'">
|
||||||
<IncludePath>.\;..\;..\asmjit\src\asmjit;..\wxWidgets\include\msvc;..\wxWidgets\include;.\OpenAL\include;..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\x86_64\Include;$(VC_IncludePath);$(WindowsSDK_IncludePath);..\llvm\include;..\llvm_build\include</IncludePath>
|
<IncludePath>.\;..\;..\minidx9\Include;..\asmjit\src\asmjit;..\wxWidgets\include\msvc;..\wxWidgets\include;.\OpenAL\include;..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\x86_64\Include;$(VC_IncludePath);$(WindowsSDK_IncludePath);..\llvm\include;..\llvm_build\include</IncludePath>
|
||||||
<IntDir>$(Platform)\$(Configuration)\emucore\</IntDir>
|
<IntDir>$(Platform)\$(Configuration)\emucore\</IntDir>
|
||||||
|
<LibraryPath>$(LibraryPath)</LibraryPath>
|
||||||
|
<ExcludePath>$(ExcludePath)</ExcludePath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
|
@ -662,6 +676,9 @@
|
||||||
<PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
|
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
|
||||||
<ExceptionHandling>Async</ExceptionHandling>
|
<ExceptionHandling>Async</ExceptionHandling>
|
||||||
|
<AdditionalIncludeDirectories>
|
||||||
|
</AdditionalIncludeDirectories>
|
||||||
|
<IgnoreStandardIncludePath>false</IgnoreStandardIncludePath>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
@ -676,6 +693,8 @@
|
||||||
<PreprocessorDefinitions>_UNICODE;UNICODE;LLVM_AVAILABLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>_UNICODE;UNICODE;LLVM_AVAILABLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
|
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
|
||||||
<ExceptionHandling>Async</ExceptionHandling>
|
<ExceptionHandling>Async</ExceptionHandling>
|
||||||
|
<AdditionalIncludeDirectories>
|
||||||
|
</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
@ -694,6 +713,8 @@
|
||||||
<PreprocessorDefinitions>_UNICODE;UNICODE;MSVC_CRT_MEMLEAK_DETECTION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>_UNICODE;UNICODE;MSVC_CRT_MEMLEAK_DETECTION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
|
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
|
||||||
<ExceptionHandling>Async</ExceptionHandling>
|
<ExceptionHandling>Async</ExceptionHandling>
|
||||||
|
<AdditionalIncludeDirectories>
|
||||||
|
</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
@ -741,6 +762,8 @@
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
|
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
|
||||||
<ExceptionHandling>Async</ExceptionHandling>
|
<ExceptionHandling>Async</ExceptionHandling>
|
||||||
|
<AdditionalIncludeDirectories>
|
||||||
|
</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
@ -759,6 +782,8 @@
|
||||||
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
|
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
|
||||||
<ExceptionHandling>Async</ExceptionHandling>
|
<ExceptionHandling>Async</ExceptionHandling>
|
||||||
<PreprocessorDefinitions>LLVM_AVAILABLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>LLVM_AVAILABLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<AdditionalIncludeDirectories>
|
||||||
|
</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
|
|
@ -81,6 +81,12 @@
|
||||||
<Filter Include="Emu\GPU\RSX\GL">
|
<Filter Include="Emu\GPU\RSX\GL">
|
||||||
<UniqueIdentifier>{6f1da5b2-52c5-416b-9b5c-b9897bc1b300}</UniqueIdentifier>
|
<UniqueIdentifier>{6f1da5b2-52c5-416b-9b5c-b9897bc1b300}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
|
<Filter Include="Emu\Audio\Null">
|
||||||
|
<UniqueIdentifier>{1eae80f6-5aef-4049-81a0-bbfd7602f8f6}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Emu\Audio\XAudio2">
|
||||||
|
<UniqueIdentifier>{1d6abf72-0f18-43ec-9351-1fed1a3d1a1e}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="Crypto\aes.cpp">
|
<ClCompile Include="Crypto\aes.cpp">
|
||||||
|
@ -653,6 +659,9 @@
|
||||||
<ClCompile Include="..\Utilities\Thread.cpp">
|
<ClCompile Include="..\Utilities\Thread.cpp">
|
||||||
<Filter>Utilities</Filter>
|
<Filter>Utilities</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="Emu\Audio\XAudio2\XAudio2Thread.cpp">
|
||||||
|
<Filter>Emu\Audio\XAudio2</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="Crypto\aes.h">
|
<ClInclude Include="Crypto\aes.h">
|
||||||
|
@ -1261,5 +1270,14 @@
|
||||||
<ClInclude Include="..\Utilities\Thread.h">
|
<ClInclude Include="..\Utilities\Thread.h">
|
||||||
<Filter>Utilities</Filter>
|
<Filter>Utilities</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="Emu\Audio\Null\NullAudioThread.h">
|
||||||
|
<Filter>Emu\Audio\Null</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Emu\Audio\AudioThread.h">
|
||||||
|
<Filter>Emu\Audio</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Emu\Audio\XAudio2\XAudio2Thread.h">
|
||||||
|
<Filter>Emu\Audio\XAudio2</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
Loading…
Add table
Add a link
Reference in a new issue