Minor consistency changes

Mostly small changes, like capitalization and spelling
This commit is contained in:
Stevoisiak 2015-01-11 00:17:29 -05:00 committed by Stevoisiak
parent b3474c8218
commit cb86db7b68
42 changed files with 100 additions and 100 deletions

View File

@ -132,7 +132,7 @@ void OpenALStream::SoundLoop()
#if defined(__APPLE__)
bool float32_capable = false;
const ALenum AL_FORMAT_STEREO_FLOAT32 = 0;
// OSX does not have the alext AL_FORMAT_51CHN32 yet.
// OS X does not have the alext AL_FORMAT_51CHN32 yet.
surround_capable = false;
const ALenum AL_FORMAT_51CHN32 = 0;
#else

View File

@ -149,11 +149,11 @@ CPUInfo::CPUInfo()
Detect();
}
// Detects the various cpu features
// Detects the various CPU features
void CPUInfo::Detect()
{
// Set some defaults here
// When ARMv8 cpus come out, these need to be updated.
// When ARMv8 CPUs come out, these need to be updated.
HTT = false;
#ifdef _M_ARM_64
OS64bit = true;
@ -251,7 +251,7 @@ void CPUInfo::Detect()
#endif
}
// Turn the cpu info into a string we can show
// Turn the CPU info into a string we can show
std::string CPUInfo::Summarize()
{
std::string sum;

View File

@ -390,7 +390,7 @@ public:
void MCR(u32 coproc, u32 opc1, ARMReg Rt, u32 CRn, u32 CRm, u32 opc2 = 0);
// Do nothing
void NOP(int count = 1); //nop padding - TODO: fast nop slides, for amd and intel (check their manuals)
void NOP(int count = 1); //nop padding - TODO: fast nop slides, for AMD and Intel (check their manuals)
#ifdef CALL
#undef CALL
@ -476,7 +476,7 @@ public:
void UBFX(ARMReg dest, ARMReg op2, u8 lsb, u8 width);
void CLZ(ARMReg rd, ARMReg rm);
// Using just MSR here messes with our defines on the PPC side of stuff (when this code was in dolphin...)
// Using just MSR here messes with our defines on the PPC side of stuff (when this code was in Dolphin...)
// Just need to put an underscore here, bit annoying.
void _MSR (bool nzcvq, bool g, Operand2 op2);
void _MSR (bool nzcvq, bool g, ARMReg src);

View File

@ -81,7 +81,7 @@ private:
#define GC_ALIGNED16_DECL(x) __declspec(align(16)) x
#define GC_ALIGNED64_DECL(x) __declspec(align(64)) x
// Since they are always around on windows
// Since they are always around on Windows
#define HAVE_WX 1
#define HAVE_OPENAL 1

View File

@ -108,7 +108,7 @@ inline u64 _rotr64(u64 x, unsigned int shift)
#define snprintf _snprintf
#define vscprintf _vscprintf
// 64 bit offsets for windows
// 64 bit offsets for Windows
#define fseeko _fseeki64
#define ftello _ftelli64
#define atoll _atoi64

View File

@ -31,7 +31,7 @@
#endif
#endif
// Shared data dirs (Sys and shared User for linux)
// Shared data dirs (Sys and shared User for Linux)
#ifdef _WIN32
#define SYSDATA_DIR "Sys"
#elif defined __APPLE__

View File

@ -40,7 +40,7 @@ typedef int32_t s32;
typedef int64_t s64;
#endif
// For using windows lock code
// For using Windows lock code
#define TCHAR char
#define LONG int

View File

@ -469,7 +469,7 @@ u32 ScanDirectoryTree(const std::string &directory, FSTEntry& parentEntry)
FindClose(hFind);
return foundEntries;
}
// windows loop
// Windows loop
do
{
FSTEntry entry;
@ -481,7 +481,7 @@ u32 ScanDirectoryTree(const std::string &directory, FSTEntry& parentEntry)
if (!dirp)
return 0;
// non windows loop
// non Windows loop
while (!readdir_r(dirp, &dirent, &result) && result)
{
FSTEntry entry;
@ -538,7 +538,7 @@ bool DeleteDirRecursively(const std::string &directory)
return false;
}
// windows loop
// Windows loop
do
{
const std::string virtualName(TStrToUTF8(ffd.cFileName));
@ -548,7 +548,7 @@ bool DeleteDirRecursively(const std::string &directory)
if (!dirp)
return false;
// non windows loop
// non Windows loop
while (!readdir_r(dirp, &dirent, &result) && result)
{
const std::string virtualName = result->d_name;

View File

@ -218,7 +218,7 @@ bool SplitPath(const std::string& full_path, std::string* _pPath, std::string* _
return false;
size_t dir_end = full_path.find_last_of("/"
// windows needs the : included for something like just "C:" to be considered a directory
// Windows needs the : included for something like just "C:" to be considered a directory
#ifdef _WIN32
":"
#endif

View File

@ -32,7 +32,7 @@ int CurrentThreadId();
void SetThreadAffinity(std::thread::native_handle_type thread, u32 mask);
void SetCurrentThreadAffinity(u32 mask);
// TODO: doesn't work on windows with (count > 2)
// TODO: doesn't work on Windows with (count > 2)
class Barrier
{
public:

View File

@ -374,7 +374,7 @@ void XEmitter::JMPptr(const OpArg &arg2)
}
//Can be used to trap other processors, before overwriting their code
// not used in dolphin
// not used in Dolphin
void XEmitter::JMPself()
{
Write8(0xEB);
@ -954,8 +954,8 @@ void XEmitter::WriteShift(int bits, OpArg dest, OpArg &shift, int ext)
Write8((u8)shift.offset);
}
// large rotates and shift are slower on intel than amd
// intel likes to rotate by 1, and the op is smaller too
// large rotates and shift are slower on Intel than AMD
// Intel likes to rotate by 1, and the op is smaller too
void XEmitter::ROL(int bits, OpArg dest, OpArg shift) {WriteShift(bits, dest, shift, 0);}
void XEmitter::ROR(int bits, OpArg dest, OpArg shift) {WriteShift(bits, dest, shift, 1);}
void XEmitter::RCL(int bits, OpArg dest, OpArg shift) {WriteShift(bits, dest, shift, 2);}

View File

@ -375,7 +375,7 @@ static bool batchdecrypt(u32 *codes, u16 size)
getbitstring(tmparray,tmparray2+5,2); // Region
// Grab gameid and region from the last decrypted code
// TODO: Maybe check this against dolphin's GameID? - "code is for wrong game" type msg
// TODO: Maybe check this against Dolphin's GameID? - "code is for wrong game" type msg
//gameid = tmparray2[1];
//region = tmparray2[5];

View File

@ -901,7 +901,7 @@ bool RunCode(const ARCode &arcode)
default:
LogInfo("ZCode: Unknown");
PanicAlertT("Zero code unknown to dolphin: %08x", zcode);
PanicAlertT("Zero code unknown to Dolphin: %08x", zcode);
return false;
break;
}

View File

@ -44,7 +44,7 @@ static s16 ADPCM_Step(u32& _rSamplePos)
_rSamplePos++;
// The advanced interpolation (linear, polyphase,...) is done by the UCode,
// The advanced interpolation (linear, polyphase,...) is done by the ucode,
// so we don't need to bother with it here.
return val;
}
@ -116,7 +116,7 @@ u16 dsp_read_accelerator()
// let's do the "hardware" decode DSP_FORMAT is interesting - the Zelda
// ucode seems to indicate that the bottom two bits specify the "read size"
// and the address multiplier. The bits above that may be things like sign
// extention and do/do not use ADPCM. It also remains to be figured out
// extension and do/do not use ADPCM. It also remains to be figured out
// whether there's a difference between the usual accelerator "read
// address" and 0xd3.
switch (g_dsp.ifx_regs[DSP_FORMAT])
@ -152,7 +152,7 @@ u16 dsp_read_accelerator()
// TODO: Take GAIN into account
// adpcm = 0, pcm8 = 0x100, pcm16 = 0x800
// games using pcm8 : Phoenix Wright Ace Attorney (Wiiware), Megaman 9-10 (WiiWare)
// games using pcm8 : Phoenix Wright Ace Attorney (WiiWare), Megaman 9-10 (WiiWare)
// games using pcm16: GC Sega games, ...
// Check for loop.

View File

@ -532,7 +532,7 @@ void applyWriteBackLog()
// then 0 | ext output = ext output and if it did then bitwise or is still the
// right thing to do
// Only needed for cases when mainop and extended are modifying the same ACC
// Games are not doing that + in motorola (similar dsp) dox this is forbidden to do.
// Games are not doing that + in motorola (similar DSP) dox this is forbidden to do.
void zeroWriteBackLog()
{
#ifdef PRECISE_BACKLOG

View File

@ -48,7 +48,7 @@ void WriteCR(u16 val)
else if (val == 4)
{
// HAX!
// OSInitAudioSystem ucode should send this mail - not dsp core itself
// OSInitAudioSystem ucode should send this mail - not DSP core itself
INFO_LOG(DSPLLE,"DSP_CONTROL INIT");
init_hax = true;
val |= 0x800;

View File

@ -121,7 +121,7 @@ void GetStringVA(std::string& _rOutBuffer, u32 strReg)
}
case 'p':
// Override, so 64bit dolphin prints 32bit pointers, since the ppc is 32bit :)
// Override, so 64bit Dolphin prints 32bit pointers, since the ppc is 32bit :)
_rOutBuffer += StringFromFormat("%x", (u32)Parameter);
break;

View File

@ -184,7 +184,7 @@ static DSPEmulator *dsp_emulator;
static int dsp_slice = 0;
static bool dsp_is_lle = false;
//time given to lle dsp on every read of the high bits in a mailbox
// time given to LLE DSP on every read of the high bits in a mailbox
static const int DSP_MAIL_SLICE=72;
void DoState(PointerWrap &p)
@ -245,7 +245,7 @@ void Init(bool hle)
}
else
{
// On the GC, ARAM is accessible only through this interface.
// On the GameCube, ARAM is accessible only through this interface.
g_ARAM.wii_mode = false;
g_ARAM.size = ARAM_SIZE;
g_ARAM.mask = ARAM_MASK;
@ -366,7 +366,7 @@ void RegisterMMIO(MMIO::Mapping* mmio, u32 base)
// Not really sure if this is correct, but it works...
// Kind of a hack because DSP_CONTROL_MASK should make this bit
// only viewable to dsp emulator
// only viewable to DSP emulator
if (val & 1 /*DSPReset*/)
{
g_audioDMA.AudioDMAControl.Hex = 0;
@ -480,15 +480,15 @@ void GenerateDSPInterruptFromDSPEmu(DSPInterruptType type)
CoreTiming::ScheduleEvent_Threadsafe_Immediate(et_GenerateDSPInterrupt, type);
}
// called whenever SystemTimers thinks the dsp deserves a few more cycles
// called whenever SystemTimers thinks the DSP deserves a few more cycles
void UpdateDSPSlice(int cycles)
{
if (dsp_is_lle)
{
//use up the rest of the slice(if any)
// use up the rest of the slice(if any)
dsp_emulator->DSP_Update(dsp_slice);
dsp_slice %= 6;
//note the new budget
// note the new budget
dsp_slice += cycles;
}
else
@ -588,7 +588,7 @@ static void Do_ARAM_DMA()
}
else
{
// Assuming no external ARAM installed; returns zeroes on out of bounds reads (verified on real HW)
// Assuming no external ARAM installed; returns zeros on out of bounds reads (verified on real HW)
while (g_arDMA.Cnt.count)
{
Memory::Write_U64(0, g_arDMA.MMAddr);
@ -646,7 +646,7 @@ static void Do_ARAM_DMA()
// (shuffle2) I still don't believe that this hack is actually needed... :(
// Maybe the Wii Sports ucode is processed incorrectly?
// (LM) It just means that dsp reads via '0xffdd' on WII can end up in EXRAM or main RAM
// (LM) It just means that DSP reads via '0xffdd' on WII can end up in EXRAM or main RAM
u8 ReadARAM(u32 _iAddress)
{
//NOTICE_LOG(DSPINTERFACE, "ReadARAM 0x%08x", _iAddress);
@ -665,8 +665,8 @@ u8 ReadARAM(u32 _iAddress)
void WriteARAM(u8 value, u32 _uAddress)
{
//NOTICE_LOG(DSPINTERFACE, "WriteARAM 0x%08x", _uAddress);
//TODO: verify this on WII
// NOTICE_LOG(DSPINTERFACE, "WriteARAM 0x%08x", _uAddress);
// TODO: verify this on WII
g_ARAM.ptr[_uAddress & g_ARAM.mask] = value;
}

View File

@ -337,7 +337,7 @@ void DSPLLE::DSP_Update(int cycles)
}
else
{
// Wait for dsp thread to complete its cycle. Note: this logic should be thought through.
// Wait for DSP thread to complete its cycle. Note: this logic should be thought through.
ppcEvent.Wait();
{
std::lock_guard<std::mutex> lk(m_csDSPCycleCountActive);

View File

@ -10,7 +10,7 @@
#include "Core/HW/Memmap.h"
// XXX: The BBA stores multi-byte elements as little endian.
// Multiple parts of this implementation depend on dolphin
// Multiple parts of this implementation depend on Dolphin
// being compiled for a little endian host.

View File

@ -216,7 +216,7 @@ void CEXIMemoryCard::SetupGciFolder(u16 sizeMb)
{
// TODO more user friendly abort
PanicAlertT("%s is not a directory, failed to move to *.original.\n Verify your write permissions or move "
"the file outside of dolphin",
"the file outside of Dolphin",
strDirectoryName.c_str());
exit(0);
}

View File

@ -140,7 +140,7 @@ void GCPad::LoadDefaults(const ControllerInterface& ciface)
#ifdef _WIN32
set_control(m_buttons, 5, "RETURN"); // Start
#else
// osx/linux
// OS X/Linux
set_control(m_buttons, 5, "Return"); // Start
#endif

View File

@ -290,7 +290,7 @@ struct SVIFilterCoefTables
UVIFilterCoefTable4 Tables36[4];
};
// Debug video mode only, probably never used in dolphin...
// Debug video mode only, probably never used in Dolphin...
union UVIBorderBlankRegister
{
u32 Hex;

View File

@ -630,7 +630,7 @@ void Stop()
wiimote->EmuStop();
}
// called when the dolphin app exits
// called when the Dolphin app exits
void Shutdown()
{
g_wiimote_scanner.StopScanning();

View File

@ -424,7 +424,7 @@ void WiiSocket::Update(bool read, bool write, bool except)
u32 flags = Memory::Read_U32(BufferIn2 + 0x04);
u32 has_destaddr = Memory::Read_U32(BufferIn2 + 0x08);
// Not a string, windows requires a const char* for sendto
// Not a string, Windows requires a const char* for sendto
const char* data = (const char*)Memory::GetPointer(BufferIn);
// Act as non blocking when SO_MSG_NONBLOCK is specified
@ -459,7 +459,7 @@ void WiiSocket::Update(bool read, bool write, bool except)
case IOCTLV_SO_RECVFROM:
{
u32 flags = Memory::Read_U32(BufferIn + 0x04);
// Not a string, windows requires a char* for recvfrom
// Not a string, Windows requires a char* for recvfrom
char* data = (char*)Memory::GetPointer(BufferOut);
int data_len = BufferOutSize;

View File

@ -133,7 +133,7 @@ unsigned int NetPlayServer::OnConnect(std::unique_ptr<sf::TcpSocket>& socket)
std::string npver;
rpac >> npver;
// dolphin netplay version
// Dolphin netplay version
if (npver != NETPLAY_VERSION)
return CON_ERR_VERSION_MISMATCH;

View File

@ -832,7 +832,7 @@ void Interpreter::sync(UGeckoInstruction _inst)
void Interpreter::tlbia(UGeckoInstruction _inst)
{
// Gekko does not support this instructions.
PanicAlert("The GC CPU does not support tlbia");
PanicAlert("The GameCube CPU does not support tlbia");
// invalid the whole TLB
//MessageBox(0,"TLBIA","TLBIA",0);
}

View File

@ -163,7 +163,7 @@ static void fregSpill(RegInfo& RI, X64Reg reg)
// (TODO: if we could lock RCX here too then we could allocate it - needed for
// shifts)
// 64-bit - calling conventions differ between linux & windows, so...
// 64-bit - calling conventions differ between Linux & Windows, so...
#ifdef _WIN32
static const X64Reg RegAllocOrder[] = {RSI, RDI, R12, R13, R14, R8, R9, R10, R11};
#else

View File

@ -220,7 +220,7 @@ protected:
choice_backend->Disable();
label_backend->Disable();
//D3D only
// D3D only
if (vconfig.backend_info.Adapters.size())
{
choice_adapter->Disable();
@ -228,7 +228,7 @@ protected:
}
#ifndef __APPLE__
// This isn't supported on OSX.
// This isn't supported on OS X.
choice_display_resolution->Disable();
label_display_resolution->Disable();

View File

@ -328,9 +328,9 @@ static void InitDriverInfo()
int glrelease = 0;
int major = 0;
int minor = 0;
// TODO: this is known to be broken on windows
// nvidia seems to have removed their driver version from this string, so we can't get it.
// hopefully we'll never have to workaround nvidia bugs
// TODO: this is known to be broken on Windows
// Nvidia seems to have removed their driver version from this string, so we can't get it.
// hopefully we'll never have to workaround Nvidia bugs
sscanf(g_ogl_config.gl_version, "%d.%d.%d NVIDIA %d.%d", &glmajor, &glminor, &glrelease, &major, &minor);
version = 100*major + minor;
}
@ -554,7 +554,7 @@ Renderer::Renderer()
// It also isn't useful as we don't render anything to the default framebuffer.
// We also try to get a non-msaa fb, so this only happens when forced by the driver.
PanicAlert("MSAA on default framebuffer isn't supported.\n"
"Please avoid forcing dolphin to use MSAA by the driver.\n"
"Please avoid forcing Dolphin to use MSAA by the driver.\n"
"%d samples on default framebuffer found.", samples);
bSuccess = false;
}

View File

@ -36,9 +36,9 @@ StreamBuffer::~StreamBuffer()
glDeleteBuffers(1, &m_buffer);
}
/* Shared synchronisation code for ring buffers
/* Shared synchronization code for ring buffers
*
* The next three functions are to create/delete/use the OpenGL synchronisation.
* The next three functions are to create/delete/use the OpenGL synchronization.
* ARB_sync (OpenGL 3.2) is used and required.
*
* To reduce overhead, the complete buffer is splitted up into SYNC_POINTS chunks.
@ -52,11 +52,11 @@ StreamBuffer::~StreamBuffer()
*
* So on alloc, we have to wait for all slots between m_free_iterator and m_iterator (and set m_free_iterator to m_iterator afterwards).
*
* We also assume that this buffer is accessed by the gpu between the Unmap and Map function,
* We also assume that this buffer is accessed by the GPU between the Unmap and Map function,
* so we may create the fences on the start of mapping.
* Some here, new fences for the chunks between m_used_iterator and m_iterator (also update m_used_iterator).
*
* As ring buffers have an ugly behavoir on rollover, have fun to read this code ;)
* As ring buffers have an ugly behavior on rollover, have fun to read this code ;)
*/
void StreamBuffer::CreateFences()
@ -116,7 +116,7 @@ void StreamBuffer::AllocMemory(u32 size)
}
}
/* The usual way to stream data to the gpu.
/* The usual way to stream data to the GPU.
* Described here: https://www.opengl.org/wiki/Buffer_Object_Streaming#Unsynchronized_buffer_mapping
* Just do unsync appends until the buffer is full.
* When it's full, orphan (alloc a new buffer and free the old one)
@ -159,7 +159,7 @@ public:
/* A modified streaming way without reallocation
* This one fixes the reallocation overhead of the MapAndOrphan one.
* So it alloc a ring buffer on initialization.
* But with this limited ressource, we have to care about the cpu-gpu distance.
* But with this limited resource, we have to care about the CPU-GPU distance.
* Else this fifo may overflow.
* So we had traded orphan vs syncing.
*/
@ -194,9 +194,9 @@ public:
}
};
/* Streaming fifo without mapping ovearhead.
/* Streaming fifo without mapping overhead.
* This one usually requires ARB_buffer_storage (OpenGL 4.4).
* And is usually not available on OpenGL3 gpus.
* And is usually not available on OpenGL3 GPUs.
*
* ARB_buffer_storage allows us to render from a mapped buffer.
* So we map it persistently in the initialization.
@ -250,7 +250,7 @@ public:
* Another streaming fifo without mapping overhead.
* As we can't orphan without mapping, we have to sync.
*
* This one uses AMD_pinned_memory which is available on all AMD gpus.
* This one uses AMD_pinned_memory which is available on all AMD GPUs.
* OpenGL 4.4 drivers should use BufferStorage.
*/
class PinnedMemory : public StreamBuffer
@ -371,7 +371,7 @@ StreamBuffer* StreamBuffer::Create(u32 type, u32 size)
// Prefer the syncing buffers over the orphaning one
if (g_ogl_config.bSupportsGLSync)
{
// pinned memory is much faster than buffer storage on amd cards
// pinned memory is much faster than buffer storage on AMD cards
if (g_ogl_config.bSupportsGLPinnedMemory &&
!(DriverDetails::HasBug(DriverDetails::BUG_BROKENPINNEDMEMORY) && type == GL_ELEMENT_ARRAY_BUFFER))
return new PinnedMemory(type, size);
@ -382,7 +382,7 @@ StreamBuffer* StreamBuffer::Create(u32 type, u32 size)
!(DriverDetails::HasBug(DriverDetails::BUG_INTELBROKENBUFFERSTORAGE) && type == GL_ELEMENT_ARRAY_BUFFER))
return new BufferStorage(type, size);
// don't fall back to MapAnd* for nvidia drivers
// don't fall back to MapAnd* for Nvidia drivers
if (DriverDetails::HasBug(DriverDetails::BUG_BROKENUNSYNCMAPPING))
return new BufferSubData(type, size);

View File

@ -21,7 +21,7 @@ public:
/* This mapping function will return a pair of:
* - the pointer to the mapped buffer
* - the offset into the real gpu buffer (always multiple of stride)
* - the offset into the real GPU buffer (always multiple of stride)
* On mapping, the maximum of size for allocation has to be set.
* The size really pushed into this fifo only has to be known on Unmapping.
* Mapping invalidates the current buffer content,

View File

@ -135,8 +135,8 @@ static void InitBackendInfo()
g_Config.backend_info.APIType = API_OPENGL;
g_Config.backend_info.bUseMinimalMipCount = false;
g_Config.backend_info.bSupportsExclusiveFullscreen = false;
//g_Config.backend_info.bSupportsDualSourceBlend = true; // is gpu dependent and must be set in renderer
//g_Config.backend_info.bSupportsEarlyZ = true; // is gpu dependent and must be set in renderer
//g_Config.backend_info.bSupportsDualSourceBlend = true; // is GPU dependent and must be set in renderer
//g_Config.backend_info.bSupportsEarlyZ = true; // is GPU dependent and must be set in renderer
g_Config.backend_info.bSupportsOversizedViewports = true;
g_Config.backend_info.bSupportsGeometryShaders = true;
g_Config.backend_info.bSupports3DVision = false;

View File

@ -34,7 +34,7 @@ static u8 lastPrimCmd;
void DoState(PointerWrap &p)
{
p.Do(minCommandSize);
// Not sure what is wrong with this. Something(s) in here is causing dolphin to crash/hang when loading states saved from another run of dolphin. Doesn't seem too important anyway...
// Not sure what is wrong with this. Something(s) in here is causing Dolphin to crash/hang when loading states saved from another run of Dolphin. Doesn't seem too important anyway...
//vertexLoader.DoState(p);
p.Do(readOpcode);
p.Do(inObjectStream);

View File

@ -163,7 +163,7 @@ void SetupUnit::SetupPoint()
void SetupUnit::DoState(PointerWrap &p)
{
// TODO: some or all of this is making the save states stop working once dolphin is closed...sometimes (usually)
// TODO: some or all of this is making the save states stop working once Dolphin is closed...sometimes (usually)
// I have no idea what specifically is wrong, or if this is even important. Disabling it doesn't seem to make any noticible difference...
/* p.Do(m_PrimType);
p.Do(m_VertexCounter);

View File

@ -97,10 +97,10 @@ namespace DriverDetails
// Started Version: ?
// Ended Version: 13.9 working for me (neobrain).
// Affected OS: Linux
// Pinned memory is disabled for index buffer as the amd driver (the only one with pinned memory support) seems
// Pinned memory is disabled for index buffer as the AMD driver (the only one with pinned memory support) seems
// to be broken. We just get flickering/black rendering when using pinned memory here -- degasus - 2013/08/20
// This bug only happens when paired with base_vertex.
// Please see issue #6105 on google code. Let's hope buffer storage solves this issues.
// Please see issue #6105 on Google Code. Let's hope buffer storage solves this issues.
// TODO: Detect broken drivers.
BUG_BROKENPINNEDMEMORY,
// Bug: Entirely broken UBOs
@ -134,7 +134,7 @@ namespace DriverDetails
// If a shader includes a textureSize function call then the shader compiler will call abort()
BUG_BROKENTEXTURESIZE,
// Bug: ARB_buffer_storage doesn't work with ARRAY_BUFFER type streams
// Affected devices: Geforce 4xx+
// Affected devices: GeForce 4xx+
// Started Version: -1
// Ended Version: 332.21
// The buffer_storage streaming method is required for greater speed gains in our buffer streaming
@ -150,14 +150,14 @@ namespace DriverDetails
// Intel HD 4000 series isn't affected by the bug
BUG_PRIMITIVERESTART,
// Bug: unsync mapping doesn't work fine
// Affected devices: nvidia driver
// Affected devices: Nvidia driver
// Started Version: -1
// Ended Version: -1
// The nvidia driver (both windows + linux) doesn't like unsync mapping performance wise.
// Because of their threaded behavoir, they seem not to handle unsync mapping complete unsync,
// The Nvidia driver (both Windows + Linux) doesn't like unsync mapping performance wise.
// Because of their threaded behavior, they seem not to handle unsync mapping complete unsync,
// in fact, they serialize the driver which adds a much bigger overhead.
// Workaround: Use BufferSubData
// TODO: some windows AMD driver/gpu combination seems also affected
// TODO: some Windows AMD driver/GPU combination seems also affected
// but as they all support pinned memory, it doesn't matter
BUG_BROKENUNSYNCMAPPING,
// Bug: Intel's Window driver broke buffer_storage with GL_ELEMENT_ARRAY_BUFFER

View File

@ -924,7 +924,7 @@ static inline void WriteTevRegular(T& out, const char* components, int bias, int
};
// Regular TEV stage: (d + bias + lerp(a,b,c)) * scale
// The GC/Wii GPU uses a very sophisticated algorithm for scale-lerping:
// The GameCube/Wii GPU uses a very sophisticated algorithm for scale-lerping:
// - c is scaled from 0..255 to 0..256, which allows dividing the result by 256 instead of 255
// - if scale is bigger than one, it is moved inside the lerp calculation for increased accuracy
// - a rounding bias is added before dividing by 256

View File

@ -5,7 +5,7 @@
// ---------------------------------------------------------------------------------------------
// GC graphics pipeline
// ---------------------------------------------------------------------------------------------
// 3d commands are issued through the fifo. The gpu draws to the 2MB EFB.
// 3d commands are issued through the fifo. The GPU draws to the 2MB EFB.
// The efb can be copied back into ram in two forms: as textures or as XFB.
// The XFB is the region in RAM that the VI chip scans out to the television.
// So, after all rendering to EFB is done, the image is copied into one of two XFBs in RAM.

View File

@ -5,7 +5,7 @@
// ---------------------------------------------------------------------------------------------
// GC graphics pipeline
// ---------------------------------------------------------------------------------------------
// 3d commands are issued through the fifo. The gpu draws to the 2MB EFB.
// 3d commands are issued through the fifo. The GPU draws to the 2MB EFB.
// The efb can be copied back into ram in two forms: as textures or as XFB.
// The XFB is the region in RAM that the VI chip scans out to the television.
// So, after all rendering to EFB is done, the image is copied into one of two XFBs in RAM.

View File

@ -35,12 +35,12 @@ clr15
;step 1: context setup
call send_back_40
call 0x807e ; loop until dsp->cpu mailbox is empty
call 0x807e ; loop until DSP->CPU mailbox is empty
si @DMBH, #0xdcd1
si @DMBL, #0x0000 ; sendmail 0xdcd10000
si @DIRQ, #0x0001
; wait for cpu mail == 0xabbaxxxx
; wait for CPU mail == 0xabbaxxxx
wait_cpu_init:
call 0x8078
lrs $AC0.L, @CMBL
@ -59,22 +59,22 @@ lri $IX3, #0x0000 ; there will be no ucode/iram upload
lri $AR0, #do_main ; return addr after dram upload
jmp 0x80bc ; DRAM upload !!
; $AX0.H-$AX0.L - CPU(PPC) addr = mail & 0x0fffffff
; upload data from mainmem to dsp dram and jump to 0x41 after that
; upload data from mainmem to DSP dram and jump to 0x41 after that
; ucode addr 0x0041
do_main:
;step 2: got data from cpu, before going into BigCrazyFunction
;step 2: got data from CPU, before going into BigCrazyFunction
call send_back
call BigCrazyFunction ; <<------------- main crap is here!!!!!!!!!
call 0x807e ; loop until dsp->cpu mailbox is empty
call 0x807e ; loop until DSP->CPU mailbox is empty
si @DMBH, #0xdcd1
si @DMBL, #0x0003 ; sendmail 0xdcd10003 (aka... calc is over, result is in main mem now)
si @DIRQ, #0x0001
set40
; wait for cpu to tell us what to do after calc'ing
; wait for CPU to tell us what to do after calc'ing
wait_cpu_end:
call 0x8078
cmpi $AC0.M, #0xcdd1
@ -82,16 +82,16 @@ jnz wait_cpu_end
lrs $AC0.M, @CMBL
cmpi $AC0.M, #0x0001
jz PrepareBootUcode ; if cpu->dsp mail was 0xcdd10001 -> 005e_PrepareBootUcode()
jz PrepareBootUcode ; if CPU->DSP mail was 0xcdd10001 -> 005e_PrepareBootUcode()
cmpi $AC0.M, #0x0002
jz 0x8000 ; if cpu->dsp mail was 0xcdd10002 -> dsp reset ( jmp to irom(0x8000))
jz 0x8000 ; if CPU->DSP mail was 0xcdd10002 -> DSP reset ( jmp to irom(0x8000))
; THIS IS CUSTOM CODE
cmpi $AC0.M, #0xbabe
jz end_of_test ; wait for dsp to be reset by cpu
jz end_of_test ; wait for DSP to be reset by CPU
jmp wait_cpu_end ; wait for next mail from cpu
jmp wait_cpu_end ; wait for next mail from CPU
halt
@ -574,21 +574,21 @@ call send_back
Unk_01a5:
; this is where result is written to main memory
; dsp mem 0x20-0x23 (8 bytes) are written back (DMA limitation),
; DSP mem 0x20-0x23 (8 bytes) are written back (DMA limitation),
; but only values @22 and @23 were modified (result is 32bit)
sr @0x0023, $AC0.M
call send_back
lr $AX0.H, @0x0008 ; cpu addr high
lr $AX0.H, @0x0008 ; CPU addr high
call send_back
lr $AX0.L, @0x0009 ; cpu addr low
lr $AX0.L, @0x0009 ; CPU addr low
call send_back
lri $AX1.H, #0x0020 ; dsp addr
lri $AX1.H, #0x0020 ; DSP addr
call send_back
lri $AX1.L, #0x0008 ; length
call send_back
lri $IX3, #0x0000 ; there will be no iram dma
call send_back
call 0x808b ; dram->cpu <<<--- important!!
call 0x808b ; dram->CPU <<<--- important!!
call send_back
ret
; }

View File

@ -353,7 +353,7 @@ void handle_dsp_mail(void)
}
else if (mail == 0x8888dead)
{
// Send memory dump (dsp dram from someone's cube?)
// Send memory dump (DSP dram from someone's cube?)
// not really sure why this is important - I guess just to try to keep tests predictable
u16* tmpBuf = (u16 *)MEM_VIRTUAL_TO_PHYSICAL(mem_dump);
@ -363,7 +363,7 @@ void handle_dsp_mail(void)
}
else if (mail == 0x8888beef)
{
// Provide register base to dsp (if using dsp_base.inc, it will dma them to the correct place)
// Provide register base to DSP (if using dsp_base.inc, it will dma them to the correct place)
while (real_dsp.CheckMailTo());
real_dsp.SendMailTo((u32)dspbufP);
while (real_dsp.CheckMailTo());
@ -415,7 +415,7 @@ void handle_dsp_mail(void)
}
else if (mail == 0xdcd10003) // DSP_DONE
{
real_dsp.SendMailTo(0xcdd1babe); // custom mail to tell dsp to halt (calls end_of_test)
real_dsp.SendMailTo(0xcdd1babe); // custom mail to tell DSP to halt (calls end_of_test)
while (real_dsp.CheckMailTo());
DCInvalidateRange(SecParams_out, sizeof(SecParams_out));

View File

@ -70,7 +70,7 @@
// This numeral indicates the "minimum system required" to run the resulting
// program. Dolphin targets Vista+, so it should be 0x0600. However in practice,
// _WIN32_WINNT just removes up-level API declarations from headers. This is a
// problem for XAudio2 and XInput, where dolphin expects to compile against the
// problem for XAudio2 and XInput, where Dolphin expects to compile against the
// Win8+ versions of their headers. So while we really need Vista+ level of
// support, we declare Win8+ here globally. If this becomes a problem, the
// higher declaration can be contained to just the XAudio2/XInput related code.
@ -78,7 +78,7 @@
// Exclude rarely-used stuff from Windows headers
#define WIN32_LEAN_AND_MEAN
// Don't include windows min/max definitions. They would conflict with the STL.
// Don't include Windows min/max definitions. They would conflict with the STL.
#define NOMINMAX
#include <Windows.h>