Merge pull request #2312 from Zangetsu38/d3d12

rsx: Add support for CELL_GCM_CONTEXT_DMA_MEMORY_HOST_BUFFER
This commit is contained in:
kd-11 2017-01-31 17:09:46 +03:00 committed by GitHub
commit 16d1577722
3 changed files with 9 additions and 4 deletions

View file

@ -1,4 +1,4 @@
#include "gcm_enums.h" #include "gcm_enums.h"
#include "Utilities/StrFmt.h" #include "Utilities/StrFmt.h"
rsx::vertex_base_type rsx::to_vertex_base_type(u8 in) rsx::vertex_base_type rsx::to_vertex_base_type(u8 in)
@ -467,6 +467,7 @@ namespace rsx
{ {
case blit_engine::context_dma::report_location_main: return "report location main"; case blit_engine::context_dma::report_location_main: return "report location main";
case blit_engine::context_dma::to_memory_get_report: return "to memory get report"; case blit_engine::context_dma::to_memory_get_report: return "to memory get report";
case blit_engine::context_dma::memory_host_buffer: return "memory host buffer";
} }
throw; throw;
} }
@ -992,6 +993,7 @@ rsx::blit_engine::context_dma rsx::blit_engine::to_context_dma(u32 in)
{ {
case CELL_GCM_CONTEXT_DMA_TO_MEMORY_GET_REPORT: return rsx::blit_engine::context_dma::to_memory_get_report; case CELL_GCM_CONTEXT_DMA_TO_MEMORY_GET_REPORT: return rsx::blit_engine::context_dma::to_memory_get_report;
case CELL_GCM_CONTEXT_DMA_REPORT_LOCATION_MAIN: return rsx::blit_engine::context_dma::report_location_main; case CELL_GCM_CONTEXT_DMA_REPORT_LOCATION_MAIN: return rsx::blit_engine::context_dma::report_location_main;
case CELL_GCM_CONTEXT_DMA_MEMORY_HOST_BUFFER: return rsx::blit_engine::context_dma::memory_host_buffer;
} }
fmt::throw_exception("Unknown context dma 0x%x" HERE, in); fmt::throw_exception("Unknown context dma 0x%x" HERE, in);
} }

View file

@ -1,4 +1,4 @@
#pragma once #pragma once
#include "Utilities/types.h" #include "Utilities/types.h"
namespace rsx namespace rsx
@ -376,6 +376,7 @@ namespace rsx
{ {
to_memory_get_report, to_memory_get_report,
report_location_main, report_location_main,
memory_host_buffer,
}; };
context_dma to_context_dma(u32 in); context_dma to_context_dma(u32 in);

View file

@ -1,4 +1,4 @@
#include "stdafx.h" #include "stdafx.h"
#include "Utilities/Config.h" #include "Utilities/Config.h"
#include "rsx_methods.h" #include "rsx_methods.h"
#include "RSXThread.h" #include "RSXThread.h"
@ -286,7 +286,9 @@ namespace rsx
switch (report_dma) switch (report_dma)
{ {
case blit_engine::context_dma::to_memory_get_report: location = CELL_GCM_LOCATION_LOCAL; break; case blit_engine::context_dma::to_memory_get_report: location = CELL_GCM_LOCATION_LOCAL; break;
case blit_engine::context_dma::report_location_main: location = CELL_GCM_LOCATION_MAIN; break; case blit_engine::context_dma::report_location_main:
case blit_engine::context_dma::memory_host_buffer:
location = CELL_GCM_LOCATION_MAIN; break;
default: default:
LOG_WARNING(RSX, "nv4097::get_report: bad report dma: 0x%x", (u8)report_dma); LOG_WARNING(RSX, "nv4097::get_report: bad report dma: 0x%x", (u8)report_dma);
return; return;