|
|
|
@ -31,12 +31,14 @@ enum class BufferMethods { |
|
|
|
}; |
|
|
|
|
|
|
|
void GPU::WriteReg(u32 method, u32 subchannel, u32 value, u32 remaining_params) { |
|
|
|
LOG_WARNING(HW_GPU, "Processing method %08X on subchannel %u value %08X remaining params %u", |
|
|
|
method, subchannel, value, remaining_params); |
|
|
|
NGLOG_WARNING(HW_GPU, |
|
|
|
"Processing method {:08X} on subchannel {} value " |
|
|
|
"{:08X} remaining params {}", |
|
|
|
method, subchannel, value, remaining_params); |
|
|
|
|
|
|
|
if (method == static_cast<u32>(BufferMethods::SetGraphMacroEntry)) { |
|
|
|
// Prepare to upload a new macro, reset the upload counter.
|
|
|
|
LOG_DEBUG(HW_GPU, "Uploading GPU macro %08X", value); |
|
|
|
NGLOG_DEBUG(HW_GPU, "Uploading GPU macro {:08X}", value); |
|
|
|
current_macro_entry = value; |
|
|
|
current_macro_code.clear(); |
|
|
|
return; |
|
|
|
@ -58,7 +60,7 @@ void GPU::WriteReg(u32 method, u32 subchannel, u32 value, u32 remaining_params) |
|
|
|
|
|
|
|
if (method == static_cast<u32>(BufferMethods::BindObject)) { |
|
|
|
// Bind the current subchannel to the desired engine id.
|
|
|
|
LOG_DEBUG(HW_GPU, "Binding subchannel %u to engine %u", subchannel, value); |
|
|
|
NGLOG_DEBUG(HW_GPU, "Binding subchannel {} to engine {}", subchannel, value); |
|
|
|
ASSERT(bound_engines.find(subchannel) == bound_engines.end()); |
|
|
|
bound_engines[subchannel] = static_cast<EngineID>(value); |
|
|
|
return; |
|
|
|
@ -66,7 +68,7 @@ void GPU::WriteReg(u32 method, u32 subchannel, u32 value, u32 remaining_params) |
|
|
|
|
|
|
|
if (method < static_cast<u32>(BufferMethods::CountBufferMethods)) { |
|
|
|
// TODO(Subv): Research and implement these methods.
|
|
|
|
LOG_ERROR(HW_GPU, "Special buffer methods other than Bind are not implemented"); |
|
|
|
NGLOG_ERROR(HW_GPU, "Special buffer methods other than Bind are not implemented"); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
|