mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-20 03:25:16 +00:00
EXPECTS usage removed
This commit is contained in:
parent
56b9b38c9c
commit
84d0d396ed
27 changed files with 90 additions and 106 deletions
|
@ -172,7 +172,7 @@ std::shared_ptr<fs::device_base> fs::get_virtual_device(const std::string& path)
|
|||
|
||||
std::shared_ptr<fs::device_base> fs::set_virtual_device(const std::string& name, const std::shared_ptr<device_base>& device)
|
||||
{
|
||||
EXPECTS(name.size() > 2 && name[0] == '/' && name[1] == '/' && name.find('/', 2) == -1);
|
||||
verify(HERE), name.size() > 2, name[0] == '/', name[1] == '/', name.find('/', 2) == -1;
|
||||
|
||||
return get_device_manager().set_device(name, device);
|
||||
}
|
||||
|
|
|
@ -235,7 +235,7 @@ static EventListener s_listener;
|
|||
|
||||
jit_compiler::jit_compiler(std::unique_ptr<llvm::Module>&& _module, std::unordered_map<std::string, std::uintptr_t>&& table)
|
||||
{
|
||||
EXPECTS(s_memory);
|
||||
verify(HERE), s_memory;
|
||||
|
||||
std::string result;
|
||||
|
||||
|
|
|
@ -62,8 +62,8 @@
|
|||
#define WRAP_EXPR(...) [&] { return __VA_ARGS__; }
|
||||
|
||||
// Ensure that the expression evaluates to true. Obsolete.
|
||||
#define EXPECTS(...) do { if (!(__VA_ARGS__)) fmt::raw_error("Precondition failed: " #__VA_ARGS__ HERE); } while (0)
|
||||
#define ENSURES(...) do { if (!(__VA_ARGS__)) fmt::raw_error("Postcondition failed: " #__VA_ARGS__ HERE); } while (0)
|
||||
//#define EXPECTS(...) do { if (!(__VA_ARGS__)) fmt::raw_error("Precondition failed: " #__VA_ARGS__ HERE); } while (0)
|
||||
//#define ENSURES(...) do { if (!(__VA_ARGS__)) fmt::raw_error("Postcondition failed: " #__VA_ARGS__ HERE); } while (0)
|
||||
|
||||
#define DECLARE(...) decltype(__VA_ARGS__) __VA_ARGS__
|
||||
|
||||
|
|
|
@ -1263,7 +1263,7 @@ static std::pair<u32, u32> getNextCommandBufferBeginEnd(u32 current)
|
|||
static u32 getOffsetFromAddress(u32 address)
|
||||
{
|
||||
const u32 upper = offsetTable.ioAddress[address >> 20]; // 12 bits
|
||||
EXPECTS(upper != 0xFFFF);
|
||||
verify(HERE), (upper != 0xFFFF);
|
||||
return (upper << 20) | (address & 0xFFFFF);
|
||||
}
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ logs::channel cellPamf("cellPamf", logs::level::notice);
|
|||
s32 pamfStreamTypeToEsFilterId(u8 type, u8 ch, CellCodecEsFilterId& pEsFilterId)
|
||||
{
|
||||
// convert type and ch to EsFilterId
|
||||
EXPECTS(ch < 16);
|
||||
verify(HERE), (ch < 16);
|
||||
pEsFilterId.supplementalInfo1 = type == CELL_PAMF_STREAM_TYPE_AVC;
|
||||
pEsFilterId.supplementalInfo2 = 0;
|
||||
|
||||
|
@ -117,7 +117,7 @@ s32 pamfStreamTypeToEsFilterId(u8 type, u8 ch, CellCodecEsFilterId& pEsFilterId)
|
|||
u8 pamfGetStreamType(vm::ptr<CellPamfReader> pSelf, u32 stream)
|
||||
{
|
||||
// TODO: get stream type correctly
|
||||
EXPECTS(stream < (u32)pSelf->pAddr->stream_count);
|
||||
verify(HERE), (stream < (u32)pSelf->pAddr->stream_count);
|
||||
auto& header = pSelf->pAddr->stream_headers[stream];
|
||||
|
||||
switch (header.type)
|
||||
|
@ -138,7 +138,7 @@ u8 pamfGetStreamType(vm::ptr<CellPamfReader> pSelf, u32 stream)
|
|||
u8 pamfGetStreamChannel(vm::ptr<CellPamfReader> pSelf, u32 stream)
|
||||
{
|
||||
// TODO: get stream channel correctly
|
||||
EXPECTS(stream < (u32)pSelf->pAddr->stream_count);
|
||||
verify(HERE), (stream < (u32)pSelf->pAddr->stream_count);
|
||||
auto& header = pSelf->pAddr->stream_headers[stream];
|
||||
|
||||
switch (header.type)
|
||||
|
@ -146,29 +146,29 @@ u8 pamfGetStreamChannel(vm::ptr<CellPamfReader> pSelf, u32 stream)
|
|||
case 0x1b: // AVC
|
||||
case 0x02: // M2V
|
||||
{
|
||||
EXPECTS((header.fid_major & 0xf0) == 0xe0 && header.fid_minor == 0);
|
||||
verify(HERE), (header.fid_major & 0xf0) == 0xe0, header.fid_minor == 0;
|
||||
return header.fid_major % 16;
|
||||
}
|
||||
|
||||
case 0xdc: // ATRAC3PLUS
|
||||
{
|
||||
EXPECTS(header.fid_major == 0xbd && (header.fid_minor & 0xf0) == 0);
|
||||
verify(HERE), header.fid_major == 0xbd, (header.fid_minor & 0xf0) == 0;
|
||||
return header.fid_minor % 16;
|
||||
}
|
||||
|
||||
case 0x80: // LPCM
|
||||
{
|
||||
EXPECTS(header.fid_major == 0xbd && (header.fid_minor & 0xf0) == 0x40);
|
||||
verify(HERE), header.fid_major == 0xbd, (header.fid_minor & 0xf0) == 0x40;
|
||||
return header.fid_minor % 16;
|
||||
}
|
||||
case 0x81: // AC3
|
||||
{
|
||||
EXPECTS(header.fid_major == 0xbd && (header.fid_minor & 0xf0) == 0x30);
|
||||
verify(HERE), header.fid_major == 0xbd, (header.fid_minor & 0xf0) == 0x30;
|
||||
return header.fid_minor % 16;
|
||||
}
|
||||
case 0xdd:
|
||||
{
|
||||
EXPECTS(header.fid_major == 0xbd && (header.fid_minor & 0xf0) == 0x20);
|
||||
verify(HERE), header.fid_major == 0xbd, (header.fid_minor & 0xf0) == 0x20;
|
||||
return header.fid_minor % 16;
|
||||
}
|
||||
}
|
||||
|
@ -454,7 +454,7 @@ s32 cellPamfReaderGetEsFilterId(vm::ptr<CellPamfReader> pSelf, vm::ptr<CellCodec
|
|||
|
||||
// always returns CELL_OK
|
||||
|
||||
EXPECTS((u32)pSelf->stream < (u32)pSelf->pAddr->stream_count);
|
||||
verify(HERE), (u32)pSelf->stream < pSelf->pAddr->stream_count;
|
||||
auto& header = pSelf->pAddr->stream_headers[pSelf->stream];
|
||||
pEsFilterId->filterIdMajor = header.fid_major;
|
||||
pEsFilterId->filterIdMinor = header.fid_minor;
|
||||
|
@ -467,7 +467,7 @@ s32 cellPamfReaderGetStreamInfo(vm::ptr<CellPamfReader> pSelf, vm::ptr<void> pIn
|
|||
{
|
||||
cellPamf.warning("cellPamfReaderGetStreamInfo(pSelf=*0x%x, pInfo=*0x%x, size=%d)", pSelf, pInfo, size);
|
||||
|
||||
EXPECTS((u32)pSelf->stream < (u32)pSelf->pAddr->stream_count);
|
||||
verify(HERE), (u32)pSelf->stream < pSelf->pAddr->stream_count;
|
||||
auto& header = pSelf->pAddr->stream_headers[pSelf->stream];
|
||||
const u8 type = pamfGetStreamType(pSelf, pSelf->stream);
|
||||
const u8 ch = pamfGetStreamChannel(pSelf, pSelf->stream);
|
||||
|
|
|
@ -462,8 +462,7 @@ public:
|
|||
|
||||
while (u32 res = m_sync.atomic_op([&pos](squeue_sync_var_t& sync) -> u32
|
||||
{
|
||||
EXPECTS(sync.count <= sq_size);
|
||||
EXPECTS(sync.position < sq_size);
|
||||
verify(HERE), sync.count <= sq_size, sync.position < sq_size;
|
||||
|
||||
if (sync.push_lock)
|
||||
{
|
||||
|
@ -492,9 +491,7 @@ public:
|
|||
|
||||
m_sync.atomic_op([](squeue_sync_var_t& sync)
|
||||
{
|
||||
EXPECTS(sync.count <= sq_size);
|
||||
EXPECTS(sync.position < sq_size);
|
||||
EXPECTS(sync.push_lock);
|
||||
verify(HERE), sync.count <= sq_size, sync.position < sq_size, !!sync.push_lock;
|
||||
sync.push_lock = 0;
|
||||
sync.count++;
|
||||
});
|
||||
|
@ -525,8 +522,7 @@ public:
|
|||
|
||||
while (u32 res = m_sync.atomic_op([&pos](squeue_sync_var_t& sync) -> u32
|
||||
{
|
||||
EXPECTS(sync.count <= sq_size);
|
||||
EXPECTS(sync.position < sq_size);
|
||||
verify(HERE), sync.count <= sq_size, sync.position < sq_size;
|
||||
|
||||
if (!sync.count)
|
||||
{
|
||||
|
@ -555,9 +551,7 @@ public:
|
|||
|
||||
m_sync.atomic_op([](squeue_sync_var_t& sync)
|
||||
{
|
||||
EXPECTS(sync.count <= sq_size);
|
||||
EXPECTS(sync.position < sq_size);
|
||||
EXPECTS(sync.pop_lock);
|
||||
verify(HERE), sync.count <= sq_size, sync.position < sq_size, !!sync.pop_lock;
|
||||
sync.pop_lock = 0;
|
||||
sync.position++;
|
||||
sync.count--;
|
||||
|
@ -589,13 +583,12 @@ public:
|
|||
|
||||
bool peek(T& data, u32 start_pos, const std::function<bool()>& test_exit)
|
||||
{
|
||||
EXPECTS(start_pos < sq_size);
|
||||
verify(HERE), start_pos < sq_size;
|
||||
u32 pos = 0;
|
||||
|
||||
while (u32 res = m_sync.atomic_op([&pos, start_pos](squeue_sync_var_t& sync) -> u32
|
||||
{
|
||||
EXPECTS(sync.count <= sq_size);
|
||||
EXPECTS(sync.position < sq_size);
|
||||
verify(HERE), sync.count <= sq_size, sync.position < sq_size;
|
||||
|
||||
if (sync.count <= start_pos)
|
||||
{
|
||||
|
@ -624,9 +617,7 @@ public:
|
|||
|
||||
m_sync.atomic_op([](squeue_sync_var_t& sync)
|
||||
{
|
||||
EXPECTS(sync.count <= sq_size);
|
||||
EXPECTS(sync.position < sq_size);
|
||||
EXPECTS(sync.pop_lock);
|
||||
verify(HERE), sync.count <= sq_size, sync.position < sq_size, !!sync.pop_lock;
|
||||
sync.pop_lock = 0;
|
||||
});
|
||||
|
||||
|
@ -665,7 +656,7 @@ public:
|
|||
public:
|
||||
T& operator [] (u32 index)
|
||||
{
|
||||
EXPECTS(index < m_count);
|
||||
verify(HERE), index < m_count;
|
||||
index += m_pos;
|
||||
index = index < sq_size ? index : index - sq_size;
|
||||
return m_data[index];
|
||||
|
@ -678,8 +669,7 @@ public:
|
|||
|
||||
while (m_sync.atomic_op([&pos, &count](squeue_sync_var_t& sync) -> u32
|
||||
{
|
||||
EXPECTS(sync.count <= sq_size);
|
||||
EXPECTS(sync.position < sq_size);
|
||||
verify(HERE), sync.count <= sq_size, sync.position < sq_size;
|
||||
|
||||
if (sync.pop_lock || sync.push_lock)
|
||||
{
|
||||
|
@ -701,9 +691,7 @@ public:
|
|||
|
||||
m_sync.atomic_op([](squeue_sync_var_t& sync)
|
||||
{
|
||||
EXPECTS(sync.count <= sq_size);
|
||||
EXPECTS(sync.position < sq_size);
|
||||
EXPECTS(sync.pop_lock && sync.push_lock);
|
||||
verify(HERE), sync.count <= sq_size, sync.position < sq_size, !!sync.pop_lock, !!sync.push_lock;
|
||||
sync.pop_lock = 0;
|
||||
sync.push_lock = 0;
|
||||
});
|
||||
|
@ -716,8 +704,7 @@ public:
|
|||
{
|
||||
while (m_sync.atomic_op([](squeue_sync_var_t& sync) -> u32
|
||||
{
|
||||
EXPECTS(sync.count <= sq_size);
|
||||
EXPECTS(sync.position < sq_size);
|
||||
verify(HERE), sync.count <= sq_size, sync.position < sq_size;
|
||||
|
||||
if (sync.pop_lock || sync.push_lock)
|
||||
{
|
||||
|
|
|
@ -1319,7 +1319,7 @@ bool ppu_interpreter::VSPLTB(ppu_thread& ppu, ppu_opcode_t op)
|
|||
bool ppu_interpreter::VSPLTH(ppu_thread& ppu, ppu_opcode_t op)
|
||||
{
|
||||
auto& d = ppu.vr[op.vd];
|
||||
EXPECTS(op.vuimm < 8);
|
||||
verify(HERE), (op.vuimm < 8);
|
||||
|
||||
u16 hword = ppu.vr[op.vb]._u16[7 - op.vuimm];
|
||||
|
||||
|
@ -1369,7 +1369,7 @@ bool ppu_interpreter::VSPLTISW(ppu_thread& ppu, ppu_opcode_t op)
|
|||
bool ppu_interpreter::VSPLTW(ppu_thread& ppu, ppu_opcode_t op)
|
||||
{
|
||||
auto& d = ppu.vr[op.vd];
|
||||
EXPECTS(op.vuimm < 4);
|
||||
verify(HERE), (op.vuimm < 4);
|
||||
|
||||
u32 word = ppu.vr[op.vb]._u32[3 - op.vuimm];
|
||||
|
||||
|
|
|
@ -282,7 +282,7 @@ Function* PPUTranslator::TranslateToIR(const ppu_function& info, be_t<u32>* bin,
|
|||
|
||||
Type* PPUTranslator::ScaleType(Type* type, s32 pow2)
|
||||
{
|
||||
EXPECTS(type->getScalarType()->isIntegerTy());
|
||||
verify(HERE), (type->getScalarType()->isIntegerTy());
|
||||
|
||||
const auto new_type = m_ir->getIntNTy(type->getScalarSizeInBits() * std::pow(2, pow2));
|
||||
return type->isVectorTy() ? VectorType::get(new_type, type->getVectorNumElements()) : cast<Type>(new_type);
|
||||
|
|
|
@ -50,7 +50,7 @@ std::shared_ptr<lv2_event_queue_t> lv2_event_queue_t::find(u64 ipc_key)
|
|||
|
||||
void lv2_event_queue_t::push(lv2_lock_t, u64 source, u64 data1, u64 data2, u64 data3)
|
||||
{
|
||||
EXPECTS(m_sq.empty() || m_events.empty());
|
||||
verify(HERE), m_sq.empty() || m_events.empty();
|
||||
|
||||
// save event if no waiters
|
||||
if (m_sq.empty())
|
||||
|
@ -90,7 +90,7 @@ void lv2_event_queue_t::push(lv2_lock_t, u64 source, u64 data1, u64 data2, u64 d
|
|||
|
||||
lv2_event_queue_t::event_type lv2_event_queue_t::pop(lv2_lock_t)
|
||||
{
|
||||
EXPECTS(m_events.size());
|
||||
verify(HERE), m_events.size();
|
||||
auto result = m_events.front();
|
||||
m_events.pop_front();
|
||||
return result;
|
||||
|
|
|
@ -57,8 +57,7 @@ struct lv2_lock_t
|
|||
lv2_lock_t(type& lv2_lock)
|
||||
: ref(lv2_lock)
|
||||
{
|
||||
EXPECTS(ref.owns_lock());
|
||||
EXPECTS(ref.mutex() == &mutex);
|
||||
verify(HERE), ref.owns_lock(), ref.mutex() == &mutex;
|
||||
}
|
||||
|
||||
operator type&() const
|
||||
|
|
|
@ -18,7 +18,7 @@ bool VirtualMemoryBlock::IsInMyRange(const u32 addr, const u32 size)
|
|||
|
||||
u32 VirtualMemoryBlock::Map(u32 realaddr, u32 size)
|
||||
{
|
||||
EXPECTS(size);
|
||||
verify(HERE), (size);
|
||||
|
||||
for (u32 addr = m_range_start; addr <= m_range_start + m_range_size - 1 - GetReservedAmount() - size;)
|
||||
{
|
||||
|
@ -48,7 +48,7 @@ u32 VirtualMemoryBlock::Map(u32 realaddr, u32 size)
|
|||
|
||||
bool VirtualMemoryBlock::Map(u32 realaddr, u32 size, u32 addr)
|
||||
{
|
||||
EXPECTS(size);
|
||||
verify(HERE), (size);
|
||||
|
||||
if (!IsInMyRange(addr, size))
|
||||
{
|
||||
|
|
|
@ -16,7 +16,7 @@ namespace vm
|
|||
|
||||
void waiter_base::initialize(u32 addr, u32 size)
|
||||
{
|
||||
EXPECTS(addr && (size & (~size + 1)) == size && (addr & (size - 1)) == 0);
|
||||
verify(HERE), addr, (size & (~size + 1)) == size, (addr & (size - 1)) == 0;
|
||||
|
||||
this->addr = addr;
|
||||
this->mask = ~(size - 1);
|
||||
|
|
|
@ -99,8 +99,7 @@ static const char* fmt_reg(u32 reg)
|
|||
|
||||
static std::string fmt_shift(u32 type, u32 amount)
|
||||
{
|
||||
EXPECTS(type != arm_code::SRType_RRX || amount == 1);
|
||||
EXPECTS(amount <= 32);
|
||||
verify(HERE), type != arm_code::SRType_RRX || amount == 1, amount <= 32;
|
||||
|
||||
if (amount)
|
||||
{
|
||||
|
|
|
@ -48,46 +48,46 @@ struct arm_interpreter
|
|||
|
||||
static u32 LSL_C(u32 x, s32 shift, bool& carry_out)
|
||||
{
|
||||
EXPECTS(shift > 0);
|
||||
verify(HERE), (shift > 0);
|
||||
carry_out = shift <= 32 ? (x & (1 << (32 - shift))) != 0 : false;
|
||||
return shift < 32 ? x << shift : 0;
|
||||
}
|
||||
|
||||
static u32 LSL_(u32 x, s32 shift)
|
||||
{
|
||||
EXPECTS(shift >= 0);
|
||||
verify(HERE), (shift >= 0);
|
||||
return shift < 32 ? x << shift : 0;
|
||||
}
|
||||
|
||||
static u32 LSR_C(u32 x, s32 shift, bool& carry_out)
|
||||
{
|
||||
EXPECTS(shift > 0);
|
||||
verify(HERE), (shift > 0);
|
||||
carry_out = shift <= 32 ? (x & (1 << (shift - 1))) != 0 : false;
|
||||
return shift < 32 ? x >> shift : 0;
|
||||
}
|
||||
|
||||
static u32 LSR_(u32 x, s32 shift)
|
||||
{
|
||||
EXPECTS(shift >= 0);
|
||||
verify(HERE), (shift >= 0);
|
||||
return shift < 32 ? x >> shift : 0;
|
||||
}
|
||||
|
||||
static s32 ASR_C(s32 x, s32 shift, bool& carry_out)
|
||||
{
|
||||
EXPECTS(shift > 0);
|
||||
verify(HERE), (shift > 0);
|
||||
carry_out = shift <= 32 ? (x & (1 << (shift - 1))) != 0 : x < 0;
|
||||
return shift < 32 ? x >> shift : x >> 31;
|
||||
}
|
||||
|
||||
static s32 ASR_(s32 x, s32 shift)
|
||||
{
|
||||
EXPECTS(shift >= 0);
|
||||
verify(HERE), (shift >= 0);
|
||||
return shift < 32 ? x >> shift : x >> 31;
|
||||
}
|
||||
|
||||
static u32 ROR_C(u32 x, s32 shift, bool& carry_out)
|
||||
{
|
||||
EXPECTS(shift);
|
||||
verify(HERE), (shift);
|
||||
const u32 result = x >> shift | x << (32 - shift);
|
||||
carry_out = (result >> 31) != 0;
|
||||
return result;
|
||||
|
@ -111,7 +111,7 @@ struct arm_interpreter
|
|||
|
||||
static u32 Shift_C(u32 value, u32 type, s32 amount, bool carry_in, bool& carry_out)
|
||||
{
|
||||
EXPECTS(type != arm_code::SRType_RRX || amount == 1);
|
||||
verify(HERE), (type != arm_code::SRType_RRX || amount == 1);
|
||||
|
||||
if (amount)
|
||||
{
|
||||
|
|
|
@ -157,7 +157,7 @@ public:
|
|||
|
||||
void write_gpr(u32 n, u32 value, u32 size)
|
||||
{
|
||||
EXPECTS(n < 16);
|
||||
verify(HERE), n <= 15;
|
||||
|
||||
if (n < 15)
|
||||
{
|
||||
|
@ -171,7 +171,7 @@ public:
|
|||
|
||||
u32 read_gpr(u32 n)
|
||||
{
|
||||
EXPECTS(n < 16);
|
||||
verify(HERE), n <= 15;
|
||||
|
||||
if (n < 15)
|
||||
{
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
void CgBinaryDisasm::AddCodeAsm(const std::string& code)
|
||||
{
|
||||
EXPECTS(m_opcode < 70);
|
||||
verify(HERE), (m_opcode < 70);
|
||||
std::string op_name = "";
|
||||
|
||||
if (dst.dest_reg == 63)
|
||||
|
@ -225,7 +225,7 @@ void CgBinaryDisasm::TaskFP()
|
|||
{
|
||||
m_size = 0;
|
||||
u32* data = (u32*)&m_buffer[m_offset];
|
||||
EXPECTS((m_buffer_size - m_offset) % sizeof(u32) == 0);
|
||||
verify(HERE), ((m_buffer_size - m_offset) % sizeof(u32) == 0);
|
||||
for (u32 i = 0; i < (m_buffer_size - m_offset) / sizeof(u32); i++)
|
||||
{
|
||||
data[i] = se_storage<u32>::swap(data[i]); // WTF, cannot use be_t<> there?
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
void CgBinaryDisasm::AddScaCodeDisasm(const std::string& code)
|
||||
{
|
||||
EXPECTS(m_sca_opcode < 21);
|
||||
verify(HERE), (m_sca_opcode < 21);
|
||||
m_arb_shader += rsx_vp_sca_op_names[m_sca_opcode] + code + " ";
|
||||
}
|
||||
|
||||
void CgBinaryDisasm::AddVecCodeDisasm(const std::string& code)
|
||||
{
|
||||
EXPECTS(m_vec_opcode < 26);
|
||||
verify(HERE), (m_vec_opcode < 26);
|
||||
m_arb_shader += rsx_vp_vec_op_names[m_vec_opcode] + code + " ";
|
||||
}
|
||||
|
||||
|
|
|
@ -48,7 +48,7 @@ namespace
|
|||
|
||||
void write_vertex_array_data_to_buffer(gsl::span<gsl::byte> raw_dst_span, const gsl::byte *src_ptr, u32 first, u32 count, rsx::vertex_base_type type, u32 vector_element_count, u32 attribute_src_stride, u8 dst_stride)
|
||||
{
|
||||
EXPECTS(vector_element_count > 0);
|
||||
verify(HERE), (vector_element_count > 0);
|
||||
|
||||
switch (type)
|
||||
{
|
||||
|
@ -98,7 +98,7 @@ std::tuple<T, T> upload_untouched(gsl::span<to_be_t<const T>> src, gsl::span<T>
|
|||
T min_index = -1;
|
||||
T max_index = 0;
|
||||
|
||||
EXPECTS(dst.size_bytes() >= src.size_bytes());
|
||||
verify(HERE), (dst.size_bytes() >= src.size_bytes());
|
||||
|
||||
size_t dst_idx = 0;
|
||||
for (T index : src)
|
||||
|
@ -124,7 +124,7 @@ std::tuple<T, T> expand_indexed_triangle_fan(gsl::span<to_be_t<const T>> src, gs
|
|||
T min_index = -1;
|
||||
T max_index = 0;
|
||||
|
||||
EXPECTS(dst.size() >= 3 * (src.size() - 2));
|
||||
verify(HERE), (dst.size() >= 3 * (src.size() - 2));
|
||||
|
||||
const T index0 = src[0];
|
||||
if (!is_primitive_restart_enabled || index0 != -1) // Cut
|
||||
|
@ -174,7 +174,7 @@ std::tuple<T, T> expand_indexed_quads(gsl::span<to_be_t<const T>> src, gsl::span
|
|||
T min_index = -1;
|
||||
T max_index = 0;
|
||||
|
||||
EXPECTS(4 * dst.size_bytes() >= 6 * src.size_bytes());
|
||||
verify(HERE), (4 * dst.size_bytes() >= 6 * src.size_bytes());
|
||||
|
||||
size_t dst_idx = 0;
|
||||
while (!src.empty())
|
||||
|
|
|
@ -227,7 +227,7 @@ public:
|
|||
0x6, 0x7, 0x4, 0x5,
|
||||
0x2, 0x3, 0x0, 0x1);
|
||||
|
||||
EXPECTS(dst_buffer.size_bytes() >= ::narrow<int>(I->second.FragmentConstantOffsetCache.size()) * 16);
|
||||
verify(HERE), (dst_buffer.size_bytes() >= ::narrow<int>(I->second.FragmentConstantOffsetCache.size()) * 16);
|
||||
|
||||
size_t offset = 0;
|
||||
for (size_t offset_in_fragment_program : I->second.FragmentConstantOffsetCache)
|
||||
|
|
|
@ -157,7 +157,7 @@ public:
|
|||
{
|
||||
auto var_blocks = fmt::split(var, { "." });
|
||||
|
||||
EXPECTS(var_blocks.size() != 0);
|
||||
verify(HERE), (var_blocks.size() != 0);
|
||||
|
||||
name = var_blocks[0];
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ namespace
|
|||
constexpr void copy(gsl::span<T1> dst, gsl::span<T2> src)
|
||||
{
|
||||
static_assert(std::is_convertible<T1, T2>::value, "Cannot convert source and destination span type.");
|
||||
EXPECTS(dst.size() == src.size());
|
||||
verify(HERE), (dst.size() == src.size());
|
||||
std::copy(src.begin(), src.end(), dst.begin());
|
||||
}
|
||||
|
||||
|
|
|
@ -91,7 +91,7 @@ std::vector<D3D12_SHADER_RESOURCE_VIEW_DESC> D3D12GSRender::upload_vertex_attrib
|
|||
u32 vertex_count = get_vertex_count(vertex_ranges);
|
||||
size_t offset_in_vertex_buffers_buffer = 0;
|
||||
u32 input_mask = rsx::method_registers.vertex_attrib_input_mask();
|
||||
EXPECTS(rsx::method_registers.vertex_data_base_index() == 0);
|
||||
verify(HERE), rsx::method_registers.vertex_data_base_index() == 0;
|
||||
|
||||
for (int index = 0; index < rsx::limits::vertex_count; ++index)
|
||||
{
|
||||
|
@ -364,7 +364,7 @@ std::tuple<bool, size_t, std::vector<D3D12_SHADER_RESOURCE_VIEW_DESC>> D3D12GSRe
|
|||
return std::make_tuple(true, index_count, upload_vertex_attributes(rsx::method_registers.current_draw_clause.first_count_commands, command_list));
|
||||
}
|
||||
|
||||
EXPECTS(rsx::method_registers.current_draw_clause.command == rsx::draw_command::indexed);
|
||||
verify(HERE), rsx::method_registers.current_draw_clause.command == rsx::draw_command::indexed;
|
||||
|
||||
// Index count
|
||||
size_t index_count = get_index_count(rsx::method_registers.current_draw_clause.primitive, ::narrow<int>(get_vertex_count(rsx::method_registers.current_draw_clause.first_count_commands)));
|
||||
|
|
|
@ -653,14 +653,14 @@ namespace gl
|
|||
reserve_and_map((size > 4096) ? size : 4096);
|
||||
}
|
||||
|
||||
EXPECTS(m_mapped_bytes_available >= size);
|
||||
verify(HERE), m_mapped_bytes_available >= size;
|
||||
|
||||
void *ptr = (char*)m_mapped_base + m_mapped_reserve_offset;
|
||||
u32 offset = m_mapped_reserve_offset + m_mapped_block_offset;
|
||||
m_mapped_reserve_offset += size;
|
||||
m_mapped_bytes_available -= size;
|
||||
|
||||
EXPECTS((offset & (alignment - 1)) == 0);
|
||||
verify(HERE), (offset & (alignment - 1)) == 0;
|
||||
return std::make_pair(ptr, offset);
|
||||
}
|
||||
|
||||
|
|
|
@ -131,7 +131,7 @@ namespace
|
|||
std::tuple<u32, u32> get_index_array_for_emulated_non_indexed_draw(const std::vector<std::pair<u32, u32>> &first_count_commands, rsx::primitive_type primitive_mode, gl::ring_buffer &dst)
|
||||
{
|
||||
u32 vertex_draw_count = 0;
|
||||
EXPECTS(!gl::is_primitive_native(primitive_mode));
|
||||
verify(HERE), !gl::is_primitive_native(primitive_mode);
|
||||
|
||||
for (const auto &pair : first_count_commands)
|
||||
{
|
||||
|
|
|
@ -178,7 +178,7 @@ namespace rsx
|
|||
}
|
||||
fmt::throw_exception("Wrong vector size" HERE);
|
||||
case vertex_base_type::cmp: return sizeof(u16) * 4;
|
||||
case vertex_base_type::ub256: EXPECTS(size == 4); return sizeof(u8) * 4;
|
||||
case vertex_base_type::ub256: verify(HERE), (size == 4); return sizeof(u8) * 4;
|
||||
}
|
||||
fmt::throw_exception("RSXVertexData::GetTypeSize: Bad vertex data type (%d)!" HERE, (u8)type);
|
||||
}
|
||||
|
@ -575,7 +575,7 @@ namespace rsx
|
|||
{
|
||||
const std::tuple<u32, u32> &range = draw_indexed_clause[i];
|
||||
const std::tuple<u32, u32> &next_range = draw_indexed_clause[i + 1];
|
||||
EXPECTS(std::get<0>(range) + std::get<1>(range) == std::get<0>(next_range));
|
||||
verify(HERE), (std::get<0>(range) + std::get<1>(range) == std::get<0>(next_range));
|
||||
}
|
||||
u32 first = std::get<0>(draw_indexed_clause.front());
|
||||
u32 count = std::get<0>(draw_indexed_clause.back()) + std::get<1>(draw_indexed_clause.back()) - first;
|
||||
|
@ -591,7 +591,7 @@ namespace rsx
|
|||
}
|
||||
else
|
||||
{
|
||||
EXPECTS(0);
|
||||
fmt::throw_exception("Disabled" HERE);
|
||||
//std::lock_guard<std::mutex> lock{ m_mtx_task };
|
||||
|
||||
//internal_task_entry &front = m_internal_tasks.front();
|
||||
|
|
|
@ -106,7 +106,7 @@ namespace vk
|
|||
size_t color_format_idx = 0;
|
||||
size_t depth_format_idx = 0;
|
||||
|
||||
EXPECTS(color_count < 5);
|
||||
verify(HERE), color_count < 5;
|
||||
|
||||
switch (color_format)
|
||||
{
|
||||
|
|
|
@ -45,8 +45,7 @@ namespace psf
|
|||
, m_max_size(max_size)
|
||||
, m_value_string(value)
|
||||
{
|
||||
EXPECTS(type == format::string || type == format::array);
|
||||
EXPECTS(max_size);
|
||||
verify(HERE), type == format::string || type == format::array, max_size;
|
||||
}
|
||||
|
||||
entry::entry(u32 value)
|
||||
|
@ -62,26 +61,26 @@ namespace psf
|
|||
|
||||
const std::string& entry::as_string() const
|
||||
{
|
||||
EXPECTS(m_type == format::string || m_type == format::array);
|
||||
verify(HERE), m_type == format::string || m_type == format::array;
|
||||
return m_value_string;
|
||||
}
|
||||
|
||||
u32 entry::as_integer() const
|
||||
{
|
||||
EXPECTS(m_type == format::integer);
|
||||
verify(HERE), m_type == format::integer;
|
||||
return m_value_integer;
|
||||
}
|
||||
|
||||
entry& entry::operator =(const std::string& value)
|
||||
{
|
||||
EXPECTS(m_type == format::string || m_type == format::array);
|
||||
verify(HERE), m_type == format::string || m_type == format::array;
|
||||
m_value_string = value;
|
||||
return *this;
|
||||
}
|
||||
|
||||
entry& entry::operator =(u32 value)
|
||||
{
|
||||
EXPECTS(m_type == format::integer);
|
||||
verify(HERE), m_type == format::integer;
|
||||
m_value_integer = value;
|
||||
return *this;
|
||||
}
|
||||
|
@ -111,41 +110,41 @@ namespace psf
|
|||
return result;
|
||||
}
|
||||
|
||||
// Check size
|
||||
EXPECTS(stream.size() >= sizeof(header_t));
|
||||
|
||||
// Get header
|
||||
header_t header;
|
||||
EXPECTS(stream.read(header));
|
||||
verify(HERE), stream.read(header);
|
||||
|
||||
// Check magic and version
|
||||
EXPECTS(header.magic == "\0PSF"_u32);
|
||||
EXPECTS(header.version == 0x101);
|
||||
EXPECTS(sizeof(header_t) + header.entries_num * sizeof(def_table_t) <= header.off_key_table);
|
||||
EXPECTS(header.off_key_table <= header.off_data_table);
|
||||
EXPECTS(header.off_data_table <= stream.size());
|
||||
verify(HERE),
|
||||
header.magic == "\0PSF"_u32,
|
||||
header.version == 0x101,
|
||||
sizeof(header_t) + header.entries_num * sizeof(def_table_t) <= header.off_key_table,
|
||||
header.off_key_table <= header.off_data_table,
|
||||
header.off_data_table <= stream.size();
|
||||
|
||||
// Get indices
|
||||
std::vector<def_table_t> indices;
|
||||
EXPECTS(stream.read(indices, header.entries_num));
|
||||
verify(HERE), stream.read(indices, header.entries_num);
|
||||
|
||||
// Get keys
|
||||
std::string keys;
|
||||
EXPECTS(stream.seek(header.off_key_table) == header.off_key_table);
|
||||
EXPECTS(stream.read(keys, header.off_data_table - header.off_key_table));
|
||||
verify(HERE), stream.seek(header.off_key_table) == header.off_key_table;
|
||||
verify(HERE), stream.read(keys, header.off_data_table - header.off_key_table);
|
||||
|
||||
// Load entries
|
||||
for (u32 i = 0; i < header.entries_num; ++i)
|
||||
{
|
||||
EXPECTS(indices[i].key_off < header.off_data_table - header.off_key_table);
|
||||
verify(HERE), indices[i].key_off < header.off_data_table - header.off_key_table;
|
||||
|
||||
// Get key name (null-terminated string)
|
||||
std::string key(keys.data() + indices[i].key_off);
|
||||
|
||||
EXPECTS(result.count(key) == 0);
|
||||
EXPECTS(indices[i].param_len <= indices[i].param_max);
|
||||
EXPECTS(indices[i].data_off < stream.size() - header.off_data_table);
|
||||
EXPECTS(indices[i].param_max < stream.size() - indices[i].data_off);
|
||||
// Check entry
|
||||
verify(HERE),
|
||||
result.count(key) == 0,
|
||||
indices[i].param_len <= indices[i].param_max,
|
||||
indices[i].data_off < stream.size() - header.off_data_table,
|
||||
indices[i].param_max < stream.size() - indices[i].data_off;
|
||||
|
||||
// Seek data pointer
|
||||
stream.seek(header.off_data_table + indices[i].data_off);
|
||||
|
@ -154,7 +153,7 @@ namespace psf
|
|||
{
|
||||
// Integer data
|
||||
le_t<u32> value;
|
||||
EXPECTS(stream.read(value));
|
||||
verify(HERE), stream.read(value);
|
||||
|
||||
result.emplace(std::piecewise_construct,
|
||||
std::forward_as_tuple(std::move(key)),
|
||||
|
@ -164,7 +163,7 @@ namespace psf
|
|||
{
|
||||
// String/array data
|
||||
std::string value;
|
||||
EXPECTS(stream.read(value, indices[i].param_len));
|
||||
verify(HERE), stream.read(value, indices[i].param_len);
|
||||
|
||||
if (indices[i].param_fmt == format::string)
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue