[GPU] Gather used memexport constants in shader translator

This commit is contained in:
Triang3l
2018-12-20 10:14:18 +03:00
parent dc0b468ea8
commit adc0eb87f6
3 changed files with 32 additions and 2 deletions

View File

@@ -11,6 +11,7 @@
#define XENIA_GPU_SHADER_TRANSLATOR_H_
#include <memory>
#include <set>
#include <string>
#include <vector>
@@ -65,6 +66,11 @@ class ShaderTranslator {
const std::vector<Shader::TextureBinding>& texture_bindings() const {
return texture_bindings_;
}
// All c# registers used as the addend in MAD operations to eA, populated
// before translation occurs.
const std::set<uint32_t>& memexport_stream_constants() const {
return memexport_stream_constants_;
}
// Current line number in the ucode disassembly.
size_t ucode_disasm_line_number() const { return ucode_disasm_line_number_; }
@@ -230,6 +236,7 @@ class ShaderTranslator {
bool uses_register_dynamic_addressing_ = false;
bool writes_color_targets_[4] = {false, false, false, false};
bool writes_depth_ = false;
std::set<uint32_t> memexport_stream_constants_;
static const AluOpcodeInfo alu_vector_opcode_infos_[0x20];
static const AluOpcodeInfo alu_scalar_opcode_infos_[0x40];