Merge remote-tracking branch 'GliniakRepo/experimentals' into canary_experimental
This commit is contained in:
@@ -309,6 +309,9 @@ void CommandProcessor::InitializeRingBuffer(uint32_t ptr, uint32_t size_log2) {
|
||||
read_ptr_index_ = 0;
|
||||
primary_buffer_ptr_ = ptr;
|
||||
primary_buffer_size_ = uint32_t(1) << (size_log2 + 3);
|
||||
|
||||
std::memset(kernel_state_->memory()->TranslatePhysical(primary_buffer_ptr_),
|
||||
0, primary_buffer_size_);
|
||||
}
|
||||
|
||||
void CommandProcessor::EnableReadPointerWriteBack(uint32_t ptr,
|
||||
@@ -567,7 +570,7 @@ void CommandProcessor::ExecuteIndirectBuffer(uint32_t ptr, uint32_t count) {
|
||||
// Return up a level if we encounter a bad packet.
|
||||
XELOGE("**** INDIRECT RINGBUFFER: Failed to execute packet.");
|
||||
assert_always();
|
||||
break;
|
||||
//break;
|
||||
}
|
||||
} while (reader.read_count());
|
||||
|
||||
@@ -590,7 +593,7 @@ void CommandProcessor::ExecutePacket(uint32_t ptr, uint32_t count) {
|
||||
bool CommandProcessor::ExecutePacket(RingBuffer* reader) {
|
||||
const uint32_t packet = reader->ReadAndSwap<uint32_t>();
|
||||
const uint32_t packet_type = packet >> 30;
|
||||
if (packet == 0) {
|
||||
if (packet == 0 || packet == 0x0BADF00D) {
|
||||
trace_writer_.WritePacketStart(uint32_t(reader->read_ptr() - 4), 1);
|
||||
trace_writer_.WritePacketEnd();
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user