mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-05 06:21:26 +12:00
nv4097::get_report: use DMA
This commit is contained in:
parent
b055747d4f
commit
a17c41b4e1
2 changed files with 14 additions and 2 deletions
|
@ -654,6 +654,8 @@ namespace rsx
|
||||||
|
|
||||||
method_registers[NV4097_SET_ZSTENCIL_CLEAR_VALUE] = 0xffffffff;
|
method_registers[NV4097_SET_ZSTENCIL_CLEAR_VALUE] = 0xffffffff;
|
||||||
|
|
||||||
|
method_registers[NV4097_SET_CONTEXT_DMA_REPORT] = CELL_GCM_CONTEXT_DMA_TO_MEMORY_GET_REPORT;
|
||||||
|
|
||||||
// Reset vertex attrib array
|
// Reset vertex attrib array
|
||||||
for (int i = 0; i < limits::vertex_count; i++)
|
for (int i = 0; i < limits::vertex_count; i++)
|
||||||
{
|
{
|
||||||
|
|
|
@ -269,9 +269,19 @@ namespace rsx
|
||||||
{
|
{
|
||||||
u8 type = arg >> 24;
|
u8 type = arg >> 24;
|
||||||
u32 offset = arg & 0xffffff;
|
u32 offset = arg & 0xffffff;
|
||||||
|
u32 report_dma = method_registers[NV4097_SET_CONTEXT_DMA_REPORT];
|
||||||
|
u32 location;
|
||||||
|
|
||||||
//TODO: use DMA
|
switch (report_dma)
|
||||||
vm::ps3::ptr<CellGcmReportData> result = { rsx->local_mem_addr + offset, vm::addr };
|
{
|
||||||
|
case CELL_GCM_CONTEXT_DMA_TO_MEMORY_GET_REPORT: location = CELL_GCM_LOCATION_LOCAL; break;
|
||||||
|
case CELL_GCM_CONTEXT_DMA_REPORT_LOCATION_MAIN: location = CELL_GCM_LOCATION_MAIN; break;
|
||||||
|
default:
|
||||||
|
LOG_WARNING(RSX, "nv4097::get_report: bad report dma: 0x%x", report_dma);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
vm::ps3::ptr<CellGcmReportData> result = { get_address(offset, location), vm::addr };
|
||||||
|
|
||||||
result->timer = rsx->timestamp();
|
result->timer = rsx->timestamp();
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue