Merge branch 'p4-Bundle'

This commit is contained in:
Peter Tissen 2015-04-18 20:28:30 +02:00
commit fd34d11eec
13 changed files with 16 additions and 8 deletions

View file

@ -140,6 +140,7 @@ int decompress(unsigned char *out, unsigned char *in, unsigned int size)
unsigned int range = 0xFFFFFFFF; unsigned int range = 0xFFFFFFFF;
unsigned int code = (in[1] << 24) | (in[2] << 16) | (in[3] << 8) | in[4]; unsigned int code = (in[1] << 24) | (in[2] << 16) | (in[3] << 8) | in[4];
// TODO:: Syphurith: There was a check against the unsigned char head. if (head < 0) would always be false.. I don't know are you tried to if (head > 0x80)?
if (head < 0) // Check if we have a valid starting byte. if (head < 0) // Check if we have a valid starting byte.
{ {
// The dictionary header is invalid, the data is not compressed. // The dictionary header is invalid, the data is not compressed.

View file

@ -233,6 +233,7 @@ void sha1_update( sha1_context *ctx, const unsigned char *input, size_t ilen )
size_t fill; size_t fill;
uint32_t left; uint32_t left;
// TODO:: Syphurith: Orz. It is said that size_t is an unsigned type..
if( ilen <= 0 ) if( ilen <= 0 )
return; return;

View file

@ -28,6 +28,7 @@ std::string armv7_fmt(ARMv7Context& context, vm::psv::ptr<const char> fmt, u32 g
const auto start = fmt - 1; const auto start = fmt - 1;
// read flags // read flags
// TODO:: Syphurith: Sorry i can not classify/understand these lines exactly..
const bool plus_sign = *fmt == '+' ? fmt++, true : false; const bool plus_sign = *fmt == '+' ? fmt++, true : false;
const bool minus_sign = *fmt == '-' ? fmt++, true : false; const bool minus_sign = *fmt == '-' ? fmt++, true : false;
const bool space_sign = *fmt == ' ' ? fmt++, true : false; const bool space_sign = *fmt == ' ' ? fmt++, true : false;

View file

@ -5820,7 +5820,9 @@ void RecompilationEngine::ProcessExecutionTrace(const ExecutionTrace & execution
} }
} }
} }
// TODO:: Syphurith: It is said that just remove_if would cause some troubles.. I don't know if that would cause Memleak. From CppCheck:
// The return value of std::remove_if() is ignored. This function returns an iterator to the end of the range containing those elements that should be kept.
// Elements past new end remain valid but with unspecified values. Use the erase method of the container to delete them.
std::remove_if(processed_execution_trace_i->second.begin(), processed_execution_trace_i->second.end(), [](const BlockEntry * b)->bool { return b->is_compiled; }); std::remove_if(processed_execution_trace_i->second.begin(), processed_execution_trace_i->second.end(), [](const BlockEntry * b)->bool { return b->is_compiled; });
} }

View file

@ -258,7 +258,7 @@ public:
sync_var.atomic_op([&out_result, &out_value, &out_count, last_value](sync_var_t& data) sync_var.atomic_op([&out_result, &out_value, &out_count, last_value](sync_var_t& data)
{ {
if ((out_result = data.count != 0)) if ((out_result = (data.count != 0)))
{ {
out_value = data.value0; out_value = data.value0;
out_count = --data.count; out_count = --data.count;

View file

@ -397,7 +397,7 @@ void RSXThread::DoCmd(const u32 fcmd, const u32 cmd, const u32 args_addr, const
break; break;
} }
// Vertex Texture // Vertex Texture
case_range(4, NV4097_SET_VERTEX_TEXTURE_FORMAT, 0x20); case_range(4, NV4097_SET_VERTEX_TEXTURE_FORMAT, 0x20);
case_range(4, NV4097_SET_VERTEX_TEXTURE_OFFSET, 0x20); case_range(4, NV4097_SET_VERTEX_TEXTURE_OFFSET, 0x20);
case_range(4, NV4097_SET_VERTEX_TEXTURE_FILTER, 0x20); case_range(4, NV4097_SET_VERTEX_TEXTURE_FILTER, 0x20);

View file

@ -196,6 +196,7 @@ next:
goto next; goto next;
} }
// TODO:: Syphurith: I don't know whether we should keep this else-if now. Since the if condition is same with this one.
else if (adec.reader.size < (u32)buf_size) else if (adec.reader.size < (u32)buf_size)
{ {
buf_size = adec.reader.size; buf_size = adec.reader.size;

View file

@ -314,7 +314,7 @@ struct CellCameraAttributes
u32 LED; u32 LED;
u32 AUDIOGAIN; u32 AUDIOGAIN;
u32 QS; u32 QS;
u32 NONZEROCOEFFS[1]; u32 NONZEROCOEFFS[2];
u32 YUVFLAG; u32 YUVFLAG;
u32 JPEGFLAG; u32 JPEGFLAG;
u32 BACKLIGHTCOMP; u32 BACKLIGHTCOMP;

View file

@ -148,7 +148,6 @@ void ElementaryStream::push_au(u32 size, u64 dts, u64 pts, u64 userdata, bool ra
u32 addr; u32 addr;
{ {
std::lock_guard<std::mutex> lock(m_mutex); std::lock_guard<std::mutex> lock(m_mutex);
assert(!is_full(size)); assert(!is_full(size));
if (put + size + 128 > memAddr + memSize) if (put + size + 128 > memAddr + memSize)

View file

@ -2206,7 +2206,7 @@ s32 cellSpursCreateTasksetWithAttribute(vm::ptr<CellSpurs> spurs, vm::ptr<CellSp
if (!attr) if (!attr)
{ {
CELL_SPURS_TASK_ERROR_NULL_POINTER; return CELL_SPURS_TASK_ERROR_NULL_POINTER;
} }
if (attr.addr() % CellSpursTasksetAttribute::align) if (attr.addr() % CellSpursTasksetAttribute::align)
@ -2374,7 +2374,7 @@ s32 spursCreateTask(vm::ptr<CellSpursTaskset> taskset, vm::ptr<u32> task_id, vm:
if (tmp_task_id >= CELL_SPURS_MAX_TASK) if (tmp_task_id >= CELL_SPURS_MAX_TASK)
{ {
CELL_SPURS_TASK_ERROR_AGAIN; return CELL_SPURS_TASK_ERROR_AGAIN;
} }
taskset->m.task_info[tmp_task_id].elf_addr.set(elf_addr.addr()); taskset->m.task_info[tmp_task_id].elf_addr.set(elf_addr.addr());

View file

@ -168,6 +168,7 @@ next:
goto next; goto next;
} }
// TODO:: Syphurith: Orz. The if condition above is same with this one, so this would not be executed.
else if (vdec.reader.size < (u32)buf_size) else if (vdec.reader.size < (u32)buf_size)
{ {
buf_size = vdec.reader.size; buf_size = vdec.reader.size;

View file

@ -508,7 +508,7 @@ s32 sys_spu_thread_group_terminate(u32 id, s32 value)
} }
} }
if (group->state <= SPU_THREAD_GROUP_STATUS_INITIALIZED || group->state == SPU_THREAD_GROUP_STATUS_WAITING || group->state == SPU_THREAD_GROUP_STATUS_WAITING) if ((group->state <= SPU_THREAD_GROUP_STATUS_INITIALIZED) || (group->state == SPU_THREAD_GROUP_STATUS_WAITING))
{ {
return CELL_EINVAL; return CELL_EINVAL;
} }

View file

@ -514,10 +514,12 @@ void InterpreterDisAsmFrame::InstrKey(wxListEvent& event)
switch(event.GetKeyCode()) switch(event.GetKeyCode())
{ {
case 'E': case 'E':
// TODO:: Syphurith: It is said the InstructionEditorDialog would be immediately destroyed.
InstructionEditorDialog(this, pc, CPU, decoder, disasm); InstructionEditorDialog(this, pc, CPU, decoder, disasm);
DoUpdate(); DoUpdate();
return; return;
case 'R': case 'R':
// TODO:: Syphurith: Eh Similiar for this one.
RegisterEditorDialog(this, pc, CPU, decoder, disasm); RegisterEditorDialog(this, pc, CPU, decoder, disasm);
DoUpdate(); DoUpdate();
return; return;