mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-15 11:18:36 +12:00
- Implemented ARM9Thread.
- Improved OpenGL Renderer. - Improved RAW SPU mfc.
This commit is contained in:
parent
6622dc42b5
commit
0b35be32a4
65 changed files with 3255 additions and 2207 deletions
|
@ -1,16 +1,5 @@
|
|||
#pragma once
|
||||
|
||||
template<uint size, typename T> __forceinline static T sign(const T value)
|
||||
{
|
||||
static_assert(size > 0 && size < sizeof(T) * 8, "Bad size");
|
||||
static const T sub_value = T(1) << size;
|
||||
if(value & (T(1) << (size - 1)))
|
||||
{
|
||||
return value - sub_value;
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
#include "Emu/CPU/CPUInstrTable.h"
|
||||
|
||||
enum CodeFieldType
|
||||
{
|
||||
|
@ -22,27 +11,6 @@ enum CodeFieldType
|
|||
FIELD_BRANCH,
|
||||
};
|
||||
|
||||
class CodeFieldBase
|
||||
{
|
||||
public:
|
||||
CodeFieldType m_type;
|
||||
|
||||
public:
|
||||
CodeFieldBase(CodeFieldType type = FIELD_IMM) : m_type(type)
|
||||
{
|
||||
}
|
||||
|
||||
virtual u32 operator ()(u32 data) const=0;
|
||||
virtual void operator()(u32& data, u32 value) const=0;
|
||||
|
||||
virtual u32 operator[](u32 value) const
|
||||
{
|
||||
u32 result = 0;
|
||||
(*this)(result, value);
|
||||
return result;
|
||||
}
|
||||
};
|
||||
|
||||
template<uint from, uint to=from>
|
||||
class CodeField : public CodeFieldBase
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue