Merge pull request #228 from delroth/trailing-whitespaces

Remove all trailing whitespaces from our codebase.
This commit is contained in:
Pierre Bourdon 2014-03-29 11:13:59 +01:00
commit 47d96e449a
52 changed files with 95 additions and 95 deletions

View File

@ -24,7 +24,7 @@
// This shouldn't be a global, at least not here.
SoundStream *soundStream = nullptr;
namespace AudioCommon
namespace AudioCommon
{
SoundStream *InitSoundStream(CMixer *mixer, void *hWnd)
{

View File

@ -59,7 +59,7 @@ private:
public:
XAudio2_7(CMixer *mixer);
virtual ~XAudio2_7();
virtual bool Start();
virtual void Stop();

View File

@ -2,7 +2,7 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
#pragma once
#pragma once
#ifdef _WIN32

View File

@ -31,8 +31,8 @@ struct ArraySizeImpl : public std::extent<T>
#define b32(x) (b16(x) | (b16(x) >>16) )
#define ROUND_UP_POW2(x) (b32(x - 1) + 1)
#ifndef __GNUC_PREREQ
#define __GNUC_PREREQ(a, b) 0
#ifndef __GNUC_PREREQ
#define __GNUC_PREREQ(a, b) 0
#endif
#if (defined __GNUC__ && !__GNUC_PREREQ(4,9)) && \
@ -188,7 +188,7 @@ inline u32 swap24(const u8* _data) {return (_data[0] << 16) | (_data[1] << 8) |
inline u16 swap16(u16 _data) {return _byteswap_ushort(_data);}
inline u32 swap32(u32 _data) {return _byteswap_ulong (_data);}
inline u64 swap64(u64 _data) {return _byteswap_uint64(_data);}
#elif _M_ARM_32
#elif _M_ARM_32
inline u16 swap16 (u16 _data) { u32 data = _data; __asm__ ("rev16 %0, %1\n" : "=l" (data) : "l" (data)); return (u16)data;}
inline u32 swap32 (u32 _data) {__asm__ ("rev %0, %1\n" : "=l" (_data) : "l" (_data)); return _data;}
inline u64 swap64(u64 _data) {return ((u64)swap32(_data) << 32) | swap32(_data >> 32);}

View File

@ -145,6 +145,6 @@ private:
Section* GetSection(const std::string& section);
std::string* GetLine(const std::string& section, const std::string& key);
void CreateSection(const std::string& section);
static const std::string& NULL_STRING;
};

View File

@ -128,7 +128,7 @@ void LogManager::Log(LogTypes::LOG_LEVELS level, LogTypes::LOG_TYPE type,
std::string msg = StringFromFormat("%s %s:%u %c[%s]: %s\n",
Common::Timer::GetTimeFormatted().c_str(),
file, line,
file, line,
LogTypes::LOG_LEVEL_TO_CHAR[(int)level],
log->GetShortName(), temp);
#ifdef ANDROID

View File

@ -52,7 +52,7 @@ void* AllocateExecutableMemory(size_t size, bool low)
// printf("Mapped executable memory at %p (size %ld)\n", ptr,
// (unsigned long)size);
#if defined(__FreeBSD__)
if (ptr == MAP_FAILED)
{

View File

@ -18,7 +18,7 @@ namespace Common
std::string GetTicketFileName(u64 _titleID)
{
return StringFromFormat("%sticket/%08x/%08x.tik",
File::GetUserPath(D_WIIUSER_IDX).c_str(),
File::GetUserPath(D_WIIUSER_IDX).c_str(),
(u32)(_titleID >> 32), (u32)_titleID);
}
@ -36,7 +36,7 @@ std::string GetTMDFileName(u64 _titleID)
std::string GetTitleContentPath(u64 _titleID)
{
return StringFromFormat("%stitle/%08x/%08x/content/",
File::GetUserPath(D_WIIUSER_IDX).c_str(),
File::GetUserPath(D_WIIUSER_IDX).c_str(),
(u32)(_titleID >> 32), (u32)_titleID);
}

View File

@ -21,7 +21,7 @@ public:
// Key used to encrypt/decrypt setting.txt contents
INITIAL_SEED = 0x73B5DBFA
};
void AddSetting(const std::string& key, const std::string& value);
const u8 *GetData() const;

View File

@ -59,8 +59,8 @@ public:
void Reset()
{
std::unique_lock<std::mutex> lk(m_mutex);
// no other action required, since wait loops on
// the predicate and any lingering signal will get
// no other action required, since wait loops on
// the predicate and any lingering signal will get
// cleared on the first iteration
is_set = false;
}

View File

@ -171,7 +171,7 @@ std::string Timer::GetTimeFormatted()
{
time_t sysTime;
time(&sysTime);
struct tm * gmTime = localtime(&sysTime);
char tmp[13];

View File

@ -210,7 +210,7 @@ void OpArg::WriteRest(XEmitter *emit, int extraBytes, X64Reg _operandReg,
#if _M_X86_64
u64 ripAddr = (u64)emit->GetCodePtr() + 4 + extraBytes;
s64 distance = (s64)offset - (s64)ripAddr;
_assert_msg_(DYNA_REC,
_assert_msg_(DYNA_REC,
(distance < 0x80000000LL &&
distance >= -0x80000000LL) ||
!warn_64bit_offset,

View File

@ -200,7 +200,7 @@ inline OpArg ImmPtr(const void* imm) {return Imm64((u64)imm);}
inline OpArg ImmPtr(const void* imm) {return Imm32((u32)imm);}
#endif
inline u32 PtrOffset(void* ptr, void* base) {
#ifdef _ARCH_64
#ifdef _ARCH_64
s64 distance = (s64)ptr-(s64)base;
if (distance >= 0x80000000LL ||
distance < -0x80000000LL) {

View File

@ -12,14 +12,14 @@
#include "DiscIO/Volume.h"
using DiscIO::IVolume;
typedef struct CountrySetting
typedef struct CountrySetting
{
const std::string area;
const std::string video;
const std::string game;
const std::string code;
} CountrySetting;
class CBoot
{
public:

View File

@ -171,9 +171,9 @@ bool CBoot::SetupWiiMemory(IVolume::ECountry country)
{IVolume::COUNTRY_TAIWAN, {"JPN", "NTSC", "JP", "LJ"}}
};
auto entryPos = country_settings.find(country);
const CountrySetting& country_setting =
(entryPos != country_settings.end()) ?
entryPos->second :
const CountrySetting& country_setting =
(entryPos != country_settings.end()) ?
entryPos->second :
SETTING_EUROPE; //Default to EUROPE
SettingsHandler gen;
@ -210,7 +210,7 @@ bool CBoot::SetupWiiMemory(IVolume::ECountry country)
gen.AddSetting("SERNO", serno);
gen.AddSetting("VIDEO", country_setting.video);
gen.AddSetting("GAME", country_setting.game);
File::CreateFullPath(settings_Filename);
{
File::IOFile settingsFileHandle(settings_Filename, "wb");
@ -225,7 +225,7 @@ bool CBoot::SetupWiiMemory(IVolume::ECountry country)
}
INFO_LOG(BOOT, "Setup Wii Memory...");
/*
Set hardcoded global variables to Wii memory. These are partly collected from
Wiibrew. These values are needed for the games to function correctly. A few

View File

@ -357,9 +357,9 @@ void Spy(Wiimote* wm_, const void* data_, size_t size_)
//if(((((u8*)&wm->m_reg_ext)[0xf0] == 0xaa) || ((u8*)&wm->m_reg_motion_plus)[0xf0] == 0xaa) && rdr->address>>8 < 0xf0) {
//if(!wm->GetMotionPlusActive() && ((u8*)&wm->m_reg_ext)[0xf0] == 0xaa && rdr->address>>8 < 0xf0) {
//if(!wm->GetMotionPlusActive() && ((u8*)&wm->m_reg_ext)[0xf0] == 0xaa) {
// SWARN_LOG(CONSOLE, "key %s", ArrayToString(((u8*)&wm->m_ext_key), sizeof(wm->m_ext_key), 0, 30).c_str());
// SWARN_LOG(CONSOLE, "decrypt %s", ArrayToString(rdr->data, rdr->size+1, 0, 30).c_str());
// wiimote_decrypt(&wm->m_ext_key, rdr->data, dataReply[2]&0xffff, rdr->size+1);

View File

@ -299,7 +299,7 @@ void Wiimote::Update()
// Send the report
if (!rpt.empty() && m_channel > 0)
{
Core::Callback_WiimoteInterruptChannel(index, m_channel,
Core::Callback_WiimoteInterruptChannel(index, m_channel,
rpt.data(), (u32)rpt.size());
}
}

View File

@ -400,7 +400,7 @@ void CWII_IPC_HLE_Device_hid::FillOutDevices(u32 BufferOut, u32 BufferOutSize)
for (ic = 0; ic < config->bNumInterfaces; ic++)
{
const struct libusb_interface *interfaceContainer = &config->interface[ic];
for (i = 0; i < interfaceContainer->num_altsetting; i++)
{
const struct libusb_interface_descriptor *interface = &interfaceContainer->altsetting[i];

View File

@ -408,7 +408,7 @@ bool CWII_IPC_HLE_Device_net_ncd_manage::IOCtlV(u32 _CommandAddress)
case IOCTLV_NCD_GETWIRELESSMACADDRESS:
INFO_LOG(WII_IPC_NET, "NET_NCD_MANAGE: IOCTLV_NCD_GETWIRELESSMACADDRESS");
u8 address[MAC_ADDRESS_SIZE];
GetMacAddress(address);
Memory::WriteBigEData(address,
@ -505,7 +505,7 @@ bool CWII_IPC_HLE_Device_net_wd_command::IOCtlV(u32 CommandAddress)
// Probably used to disallow certain channels?
memcpy(info->country, "US", 2);
info->ntr_allowed_channels = Common::swap16(0xfffe);
u8 address[MAC_ADDRESS_SIZE];
GetMacAddress(address);
memcpy(info->mac, address, sizeof(info->mac));

View File

@ -208,7 +208,7 @@ _SSL_NEW_ERROR:
ssl_free(&ssl->ctx);
entropy_free(&ssl->entropy);
x509_crt_free(&ssl->cacert);
x509_crt_free(&ssl->clicert);

View File

@ -38,7 +38,7 @@ u8 LanguageBaseAttributeIDList[] = {
0x35, 0x09,
0x09, 0x65, 0x6e,
0x09, 0x00, 0x6a,
0x09, 0x01, 0x00
0x09, 0x01, 0x00
};
// 0x09 (checked)
@ -46,7 +46,7 @@ u8 BluetoothProfileDescriptorList[] = {
0x35, 0x08,
0x35, 0x06,
0x19, 0x11, 0x24,
0x09, 0x01, 0x00
0x09, 0x01, 0x00
};
// 0x0D (checked)

View File

@ -290,7 +290,7 @@ void Jit64::WriteExit(u32 destination)
linkData.linkStatus = false;
// Link opportunity!
int block;
int block;
if (jo.enableBlocklink && (block = blocks.GetBlockNumberFromStartAddress(destination)) >= 0)
{
// It exists! Joy of joy!

View File

@ -393,7 +393,7 @@ void JitIL::WriteExit(u32 destination)
linkData.linkStatus = false;
// Link opportunity!
int block;
int block;
if (jo.enableBlocklink && (block = blocks.GetBlockNumberFromStartAddress(destination)) >= 0)
{
// It exists! Joy of joy!
@ -541,7 +541,7 @@ const u8* JitIL::DoJit(u32 em_address, PPCAnalyst::CodeBuffer *code_buf, JitBloc
// Analyze the block, collect all instructions it is made of (including inlining,
// if that is enabled), reorder instructions for optimal performance, and join joinable instructions.
u32 exitAddress = em_address;
u32 merged_addresses[32];
const int capacity_of_merged_addresses = sizeof(merged_addresses) / sizeof(merged_addresses[0]);
int size_of_merged_addresses = 0;

View File

@ -187,7 +187,7 @@ void JitArm::WriteExit(u32 destination)
linkData.linkStatus = false;
// Link opportunity!
int block;
int block;
if (jo.enableBlocklink && (block = blocks.GetBlockNumberFromStartAddress(destination)) >= 0)
{
// It exists! Joy of joy!

View File

@ -955,7 +955,7 @@ void JitArm::twx(UGeckoInstruction inst)
gpr.Flush();
fpr.Flush();
ARMReg RA = gpr.GetReg();
ARMReg RB = gpr.GetReg();
MOV(RA, inst.TO);
@ -1001,7 +1001,7 @@ void JitArm::twx(UGeckoInstruction inst)
SetJumpTarget(take3);
SetJumpTarget(take4);
SetJumpTarget(take5);
LDR(RA, R9, PPCSTATE_OFF(Exceptions));
MOVI2R(RB, EXCEPTION_PROGRAM); // XXX: Can be optimized
ORR(RA, RA, RB);

View File

@ -128,7 +128,7 @@ void JitArmIL::WriteExit(u32 destination)
linkData.linkStatus = false;
// Link opportunity!
int block;
int block;
if (jo.enableBlocklink && (block = blocks.GetBlockNumberFromStartAddress(destination)) >= 0)
{
// It exists! Joy of joy!

View File

@ -96,7 +96,7 @@ TODO (in no particular order):
- Scheduling to reduce register pressure: PowerPCcompilers like to push
uses far away from definitions, but it's rather unfriendly to modern
x86 processors, which are short on registers and extremely good at instruction reordering.
- Common subexpression elimination
- Optimize load/store of sum using complex addressing (partially implemented)
- Loop optimizations (loop-carried registers, LICM)

View File

@ -189,7 +189,7 @@ void PrintInstructionRunCounts()
GekkoOPInfo *pInst = m_allInstructions[i];
temp.emplace_back(pInst->opname, pInst->runCount);
}
std::sort(temp.begin(), temp.end(),
std::sort(temp.begin(), temp.end(),
[](const OpInfo &a, const OpInfo &b)
{
return a.second > b.second;

View File

@ -143,7 +143,7 @@ void FindFilename(u64 offset)
}
const std::string filename = pFileSystem->GetFileName(offset);
if (filename.empty())
return;

View File

@ -52,7 +52,7 @@ namespace ButtonManager
Button() : m_state(BUTTON_RELEASED) {}
void SetState(ButtonState state) { m_state = state; }
bool Pressed() { return m_state == BUTTON_PRESSED; }
~Button() {}
};
class Axis

View File

@ -119,7 +119,7 @@ void Host_SysMessage(const char *fmt, ...)
va_list args;
va_start(args, fmt);
__android_log_vprint(ANDROID_LOG_INFO, DOLPHIN_TAG, fmt, args);
__android_log_vprint(ANDROID_LOG_INFO, DOLPHIN_TAG, fmt, args);
va_end(args);
}
@ -215,7 +215,7 @@ std::string GetJString(JNIEnv *env, jstring jstr)
std::string result = "";
if (!jstr)
return result;
const char *s = env->GetStringUTFChars(jstr, nullptr);
result = s;
env->ReleaseStringUTFChars(jstr, s);

View File

@ -126,7 +126,7 @@ void Host_SysMessage(const char *fmt, ...)
msg[len - 1] = '\n';
msg[len] = '\0';
}
fprintf(stderr, "%s", msg);
}

View File

@ -463,7 +463,7 @@ void CWiiSaveCrypted::do_sig()
u32 NG_key_id = 0x6AAB8C59;
u8 NG_priv[30] = {
u8 NG_priv[30] = {
0, 0xAB, 0xEE, 0xC1, 0xDD, 0xB4, 0xA6, 0x16, 0x6B, 0x70, 0xFD, 0x7E, 0x56, 0x67, 0x70,
0x57, 0x55, 0x27, 0x38, 0xA3, 0x26, 0xC5, 0x46, 0x16, 0xF7, 0x62, 0xC9, 0xED, 0x73, 0xF2
};

View File

@ -37,7 +37,7 @@ private:
const ButtonManager::ButtonType _index;
const float _neg;
};
public:
bool UpdateInput() { return true; }
bool UpdateOutput() { return true; }

View File

@ -171,13 +171,13 @@ template<>
void ForceFeedbackDevice::ForceConstant::SetState(const ControlState state)
{
const LONG new_val = LONG(10000 * state);
LONG &val = params.lMagnitude;
if (val != new_val)
{
val = new_val;
m_state.params = &params; // tells UpdateOutput the state has changed
// tells UpdateOutput to either start or stop the force
m_state.size = new_val ? sizeof(params) : 0;
}

View File

@ -2,7 +2,7 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
/*
/*
* The OS X Force Feedback API is very similar to the DirectInput API,
* but it is no longer object-oriented and all prefixes have been changed.
*
@ -155,7 +155,7 @@ class FFDeviceAdapter : public IUnknownImpl
{
public:
FFDeviceObjectReference m_device;
FFDeviceAdapter(FFDeviceObjectReference device) : m_device(device) {}
~FFDeviceAdapter() { FFReleaseDevice(m_device); }
@ -206,7 +206,7 @@ public:
// There are only two properties supported
if (property != DIPROP_FFGAIN && property != DIPROP_AUTOCENTER)
return DIERR_UNSUPPORTED;
// And they are both device properties
if (pdiph->dwHow != DIPH_DEVICE)
return DIERR_INVALIDPARAM;

View File

@ -4,7 +4,7 @@
#pragma once
/*
/*
* Define all constants from ForceFeedbackConstants.h with DirectInput prefixes.
*
* No effort was made to confirm if all definitions are actually supported by

View File

@ -86,7 +86,7 @@ void Init(std::vector<Core::Device*>& devices)
return;
}
}
XINPUT_CAPABILITIES caps;
for (int i = 0; i != 4; ++i)
if (ERROR_SUCCESS == PXInputGetCapabilities(i, 0, &caps))

View File

@ -1582,7 +1582,7 @@ namespace GLExtensions
const char* extensions = (const char*)glGetString(GL_EXTENSIONS);
std::string tmp(extensions);
std::istringstream buffer(tmp);
while (buffer >> tmp)
m_extension_list[tmp] = true;
}

View File

@ -41,7 +41,7 @@ namespace GLExtensions
// Function for checking if the hardware supports an extension
// example: if (GLExtensions::Supports("GL_ARB_multi_map"))
bool Supports(const std::string& name);
// Returns OpenGL version in format 430
u32 Version();
}

View File

@ -372,7 +372,7 @@ Renderer::Renderer()
g_ogl_config.glsl_version = (const char*)glGetString(GL_SHADING_LANGUAGE_VERSION);
InitDriverInfo();
// check for the max vertex attributes
GLint numvertexattribs = 0;
glGetIntegerv(GL_MAX_VERTEX_ATTRIBS, &numvertexattribs);

View File

@ -39,25 +39,25 @@ StreamBuffer::~StreamBuffer()
}
/* Shared synchronisation code for ring buffers
*
*
* The next three functions are to create/delete/use the OpenGL synchronisation.
* ARB_sync (OpenGL 3.2) is used and required.
*
*
* To reduce overhead, the complete buffer is splitted up into SYNC_POINTS chunks.
* For each of this chunks, there is a fence which checks if this chunk is still in use.
*
*
* As our API allows to alloc more memory then it has to use, we have to catch how much is already written.
*
*
* m_iterator - writing position
* m_free_iterator - last position checked if free
* m_used_iterator - last position known to be written
*
*
* 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,
* 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 ;)
*/
@ -133,7 +133,7 @@ void StreamBuffer::Align(u32 stride)
* 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)
*
*
* As reallocation is an overhead, this method isn't as fast as it is known to be.
*/
class MapAndOrphan : public StreamBuffer
@ -203,14 +203,14 @@ public:
/* Streaming fifo without mapping ovearhead.
* This one usually requires ARB_buffer_storage (OpenGL 4.4).
* 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.
*
*
* Unsync mapping sounds like an easy task, but it isn't for threaded drivers.
* So every mapping on current close-source driver _will_ end in
* at least a round trip time between two threads.
*
*
* As persistently mapped buffer can't use orphaning, we also have to sync.
*/
class BufferStorage : public StreamBuffer
@ -224,9 +224,9 @@ public:
// COHERENT_BIT is set so we don't have to use a MemoryBarrier on write
// CLIENT_STORAGE_BIT is set since we access the buffer more frequently on the client side then server side
glBufferStorage(m_buffertype, m_size, nullptr,
GL_MAP_WRITE_BIT | GL_MAP_PERSISTENT_BIT | GL_MAP_COHERENT_BIT | GL_CLIENT_STORAGE_BIT);
GL_MAP_WRITE_BIT | GL_MAP_PERSISTENT_BIT | GL_MAP_COHERENT_BIT | GL_CLIENT_STORAGE_BIT);
m_pointer = (u8*)glMapBufferRange(m_buffertype, 0, m_size,
GL_MAP_WRITE_BIT | GL_MAP_PERSISTENT_BIT | GL_MAP_COHERENT_BIT);
GL_MAP_WRITE_BIT | GL_MAP_PERSISTENT_BIT | GL_MAP_COHERENT_BIT);
}
~BufferStorage() {
@ -251,7 +251,7 @@ public:
/* --- AMD only ---
* 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.
* OpenGL 4.4 drivers should use BufferStorage.
*/

View File

@ -40,7 +40,7 @@ protected:
const u32 m_buffertype;
const size_t m_size;
size_t m_iterator;
size_t m_used_iterator;
size_t m_free_iterator;

View File

@ -180,8 +180,8 @@ void Init()
glBindTexture(GL_TEXTURE_2D, s_dstTexture);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 0);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, renderBufferWidth, renderBufferHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, nullptr);
FramebufferManager::SetFramebuffer(s_texConvFrameBuffer[0]);
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, s_dstTexture, 0);
FramebufferManager::SetFramebuffer(0);

View File

@ -157,7 +157,7 @@ void DumpDepth(const std::string& filename)
{
u32 depth = EfbInterface::GetDepth(x, y);
// depth to rgba
*(writePtr++) = depth & 0xff;
*(writePtr++) = depth & 0xff;
*(writePtr++) = (depth >> 8) & 0xff;
*(writePtr++) = (depth >> 16) & 0xff;
*(writePtr++) = 255;

View File

@ -13,7 +13,7 @@ namespace SWRenderer
void Init();
void Prepare();
void Shutdown();
void SetScreenshot(const char *_szFilename);
void RenderText(const char* pstr, int left, int top, u32 color);
void DrawDebugText();

View File

@ -516,7 +516,7 @@ void Tev::Draw()
#if ALLOW_TEV_DUMPS
if (g_SWVideoConfig.bDumpTevStages)
{
u8 stage[4] = {
u8 stage[4] = {
IndirectTex[stageNum][TextureSampler::ALP_SMP],
IndirectTex[stageNum][TextureSampler::BLU_SMP],
IndirectTex[stageNum][TextureSampler::GRN_SMP],

View File

@ -28,7 +28,7 @@ namespace DriverDetails
const u32 m_os = OS_ALL | OS_ANDROID;
#elif __APPLE__
const u32 m_os = OS_ALL | OS_OSX;
#elif __linux__
#elif __linux__
const u32 m_os = OS_ALL | OS_LINUX;
#endif

View File

@ -7,7 +7,7 @@
namespace DriverDetails
{
// Enum of supported operating systems
enum OS
enum OS
{
OS_ALL = (1 << 0),
OS_WINDOWS = (1 << 1),
@ -132,13 +132,13 @@ namespace DriverDetails
// The driver stalls in each instance no matter what you do
// Apparently Mali and Adreno share code in this regard since it was wrote by the same person.
BUG_BROKENBUFFERSTREAM,
// Bug: GLSL ES 3.0 textureSize causes abort
// Bug: GLSL ES 3.0 textureSize causes abort
// Affected devices: Adreno a3xx
// Started Version: -1 (Noticed in v53)
// Ended Version: -1
// 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
// Bug: ARB_buffer_storage doesn't work with ARRAY_BUFFER type streams
// Affected devices: Geforce 4xx+
// Started Version: -1
// Ended Version: 332.21
@ -165,7 +165,7 @@ namespace DriverDetails
// TODO: some windows AMD driver/gpu combination seems also affected
// but as they all support pinned memory, it doesn't matter
BUG_BROKENUNSYNCMAPPING,
// Bug: Adreno now rotates the framebuffer on blit a full 180 degrees
// Bug: Adreno now rotates the framebuffer on blit a full 180 degrees
// Affected devices: Adreno
// Started Version: v53 (dev drivers)
// Ended Version: -1

View File

@ -752,7 +752,7 @@ void TextureCache::CopyRenderTargetToTexture(u32 dstAddr, unsigned int dstFormat
colmat[0] = colmat[4] = colmat[8] = colmat[15] = 1.0f;
ColorMask[0] = ColorMask[3] = 15.0f;
ColorMask[4] = ColorMask[7] = 1.0f / 15.0f;
cbufid = 16;
if (!efbHasAlpha) {
ColorMask[3] = 0.0f;
@ -762,7 +762,7 @@ void TextureCache::CopyRenderTargetToTexture(u32 dstAddr, unsigned int dstFormat
break;
case 3: // RA8
colmat[0] = colmat[4] = colmat[8] = colmat[15] = 1.0f;
cbufid = 18;
if (!efbHasAlpha) {
ColorMask[3] = 0.0f;
@ -773,7 +773,7 @@ void TextureCache::CopyRenderTargetToTexture(u32 dstAddr, unsigned int dstFormat
case 7: // A8
colmat[3] = colmat[7] = colmat[11] = colmat[15] = 1.0f;
cbufid = 20;
if (!efbHasAlpha) {
ColorMask[3] = 0.0f;
@ -820,7 +820,7 @@ void TextureCache::CopyRenderTargetToTexture(u32 dstAddr, unsigned int dstFormat
ColorMask[4] = ColorMask[5] = ColorMask[6] = 1.0f / 31.0f;
ColorMask[3] = 7.0f;
ColorMask[7] = 1.0f / 7.0f;
cbufid = 27;
if (!efbHasAlpha) {
ColorMask[3] = 0.0f;
@ -830,7 +830,7 @@ void TextureCache::CopyRenderTargetToTexture(u32 dstAddr, unsigned int dstFormat
break;
case 6: // RGBA8
colmat[0] = colmat[5] = colmat[10] = colmat[15] = 1.0f;
cbufid = 29;
if (!efbHasAlpha) {
ColorMask[3] = 0.0f;

View File

@ -597,8 +597,8 @@ void VertexLoader::CompileVertexTranslator()
if (pFunc == nullptr)
{
Host_SysMessage(
StringFromFormat("VertexLoader_Normal::GetFunction(%i %i %i %i) returned zero!",
m_VtxDesc.Normal, m_VtxAttr.NormalFormat,
StringFromFormat("VertexLoader_Normal::GetFunction(%i %i %i %i) returned zero!",
m_VtxDesc.Normal, m_VtxAttr.NormalFormat,
m_VtxAttr.NormalElements, m_VtxAttr.NormalIndex3).c_str());
}
WriteCall(pFunc);

View File

@ -135,7 +135,7 @@ static void ViewportCorrectionMatrix(Matrix44& result)
float intendedY = xfregs.viewport.yOrig + xfregs.viewport.ht - scissorYOff;
float intendedWd = 2.0f * xfregs.viewport.wd;
float intendedHt = -2.0f * xfregs.viewport.ht;
if (intendedWd < 0.f)
{
intendedX += intendedWd;
@ -152,11 +152,11 @@ static void ViewportCorrectionMatrix(Matrix44& result)
float Y = (intendedY >= 0.f) ? intendedY : 0.f;
float Wd = (X + intendedWd <= EFB_WIDTH) ? intendedWd : (EFB_WIDTH - X);
float Ht = (Y + intendedHt <= EFB_HEIGHT) ? intendedHt : (EFB_HEIGHT - Y);
Matrix44::LoadIdentity(result);
if (Wd == 0 || Ht == 0)
return;
result.data[4*0+0] = intendedWd / Wd;
result.data[4*0+3] = (intendedWd - 2.f * (X - intendedX)) / Wd - 1.f;
result.data[4*1+1] = intendedHt / Ht;
@ -363,7 +363,7 @@ void VertexShaderManager::SetConstants()
dirty = true;
// This is so implementation-dependent that we can't have it here.
g_renderer->SetViewport();
// Update projection if the viewport isn't 1:1 useable
if (!g_ActiveConfig.backend_info.bSupportsOversizedViewports)
{