Merge pull request #1657 from JayFoxRox/remove-dump-geometry
Pica: Remove geometry dumper (PICA_DUMP_GEOMETRY)
This commit is contained in:
		| @@ -249,10 +249,6 @@ static void WritePicaReg(u32 id, u32 value, u32 mask) { | |||||||
|             const u16* index_address_16 = reinterpret_cast<const u16*>(index_address_8); |             const u16* index_address_16 = reinterpret_cast<const u16*>(index_address_8); | ||||||
|             bool index_u16 = index_info.format != 0; |             bool index_u16 = index_info.format != 0; | ||||||
|  |  | ||||||
| #if PICA_DUMP_GEOMETRY |  | ||||||
|             DebugUtils::GeometryDumper geometry_dumper; |  | ||||||
|             PrimitiveAssembler<DebugUtils::GeometryDumper::Vertex> dumping_primitive_assembler(regs.triangle_topology.Value()); |  | ||||||
| #endif |  | ||||||
|             PrimitiveAssembler<Shader::OutputVertex>& primitive_assembler = g_state.primitive_assembler; |             PrimitiveAssembler<Shader::OutputVertex>& primitive_assembler = g_state.primitive_assembler; | ||||||
|  |  | ||||||
|             if (g_debug_context) { |             if (g_debug_context) { | ||||||
| @@ -388,17 +384,6 @@ static void WritePicaReg(u32 id, u32 value, u32 mask) { | |||||||
|                     if (g_debug_context) |                     if (g_debug_context) | ||||||
|                         g_debug_context->OnEvent(DebugContext::Event::VertexLoaded, (void*)&input); |                         g_debug_context->OnEvent(DebugContext::Event::VertexLoaded, (void*)&input); | ||||||
|  |  | ||||||
| #if PICA_DUMP_GEOMETRY |  | ||||||
|                     // NOTE: When dumping geometry, we simply assume that the first input attribute |  | ||||||
|                     //       corresponds to the position for now. |  | ||||||
|                     DebugUtils::GeometryDumper::Vertex dumped_vertex = { |  | ||||||
|                         input.attr[0][0].ToFloat32(), input.attr[0][1].ToFloat32(), input.attr[0][2].ToFloat32() |  | ||||||
|                     }; |  | ||||||
|                     using namespace std::placeholders; |  | ||||||
|                     dumping_primitive_assembler.SubmitVertex(dumped_vertex, |  | ||||||
|                                                              std::bind(&DebugUtils::GeometryDumper::AddTriangle, |  | ||||||
|                                                                        &geometry_dumper, _1, _2, _3)); |  | ||||||
| #endif |  | ||||||
|                     // Send to vertex shader |                     // Send to vertex shader | ||||||
|                     output = Shader::Run(shader_unit, input, attribute_config.GetNumTotalAttributes()); |                     output = Shader::Run(shader_unit, input, attribute_config.GetNumTotalAttributes()); | ||||||
|  |  | ||||||
| @@ -424,10 +409,6 @@ static void WritePicaReg(u32 id, u32 value, u32 mask) { | |||||||
|                                                           range.second, range.first); |                                                           range.second, range.first); | ||||||
|             } |             } | ||||||
|  |  | ||||||
| #if PICA_DUMP_GEOMETRY |  | ||||||
|             geometry_dumper.Dump(); |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
|             break; |             break; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -85,35 +85,6 @@ std::shared_ptr<DebugContext> g_debug_context; // TODO: Get rid of this global | |||||||
|  |  | ||||||
| namespace DebugUtils { | namespace DebugUtils { | ||||||
|  |  | ||||||
| void GeometryDumper::AddTriangle(Vertex& v0, Vertex& v1, Vertex& v2) { |  | ||||||
|     vertices.push_back(v0); |  | ||||||
|     vertices.push_back(v1); |  | ||||||
|     vertices.push_back(v2); |  | ||||||
|  |  | ||||||
|     int num_vertices = (int)vertices.size(); |  | ||||||
|     faces.push_back({{ num_vertices-3, num_vertices-2, num_vertices-1 }}); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| void GeometryDumper::Dump() { |  | ||||||
|     static int index = 0; |  | ||||||
|     std::string filename = std::string("geometry_dump") + std::to_string(++index) + ".obj"; |  | ||||||
|  |  | ||||||
|     std::ofstream file(filename); |  | ||||||
|  |  | ||||||
|     for (const auto& vertex : vertices) { |  | ||||||
|         file << "v " << vertex.pos[0] |  | ||||||
|              << " "  << vertex.pos[1] |  | ||||||
|              << " "  << vertex.pos[2] << std::endl; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     for (const Face& face : faces) { |  | ||||||
|         file << "f " << 1+face.index[0] |  | ||||||
|              << " "  << 1+face.index[1] |  | ||||||
|              << " "  << 1+face.index[2] << std::endl; |  | ||||||
|     } |  | ||||||
| } |  | ||||||
|  |  | ||||||
|  |  | ||||||
| void DumpShader(const std::string& filename, const Regs::ShaderConfig& config, const Shader::ShaderSetup& setup, const Regs::VSOutputAttributes* output_attributes) | void DumpShader(const std::string& filename, const Regs::ShaderConfig& config, const Shader::ShaderSetup& setup, const Regs::VSOutputAttributes* output_attributes) | ||||||
| { | { | ||||||
|     struct StuffToWrite { |     struct StuffToWrite { | ||||||
|   | |||||||
| @@ -158,30 +158,9 @@ extern std::shared_ptr<DebugContext> g_debug_context; // TODO: Get rid of this g | |||||||
|  |  | ||||||
| namespace DebugUtils { | namespace DebugUtils { | ||||||
|  |  | ||||||
| #define PICA_DUMP_GEOMETRY 0 |  | ||||||
| #define PICA_DUMP_TEXTURES 0 | #define PICA_DUMP_TEXTURES 0 | ||||||
| #define PICA_LOG_TEV 0 | #define PICA_LOG_TEV 0 | ||||||
|  |  | ||||||
| // Simple utility class for dumping geometry data to an OBJ file |  | ||||||
| class GeometryDumper { |  | ||||||
| public: |  | ||||||
|     struct Vertex { |  | ||||||
|         std::array<float,3> pos; |  | ||||||
|     }; |  | ||||||
|  |  | ||||||
|     void AddTriangle(Vertex& v0, Vertex& v1, Vertex& v2); |  | ||||||
|  |  | ||||||
|     void Dump(); |  | ||||||
|  |  | ||||||
| private: |  | ||||||
|     struct Face { |  | ||||||
|         int index[3]; |  | ||||||
|     }; |  | ||||||
|  |  | ||||||
|     std::vector<Vertex> vertices; |  | ||||||
|     std::vector<Face> faces; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| void DumpShader(const std::string& filename, const Regs::ShaderConfig& config, | void DumpShader(const std::string& filename, const Regs::ShaderConfig& config, | ||||||
|                 const Shader::ShaderSetup& setup, const Regs::VSOutputAttributes* output_attributes); |                 const Shader::ShaderSetup& setup, const Regs::VSOutputAttributes* output_attributes); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -68,7 +68,5 @@ void PrimitiveAssembler<VertexType>::Reconfigure(Regs::TriangleTopology topology | |||||||
| // explicitly instantiate use cases | // explicitly instantiate use cases | ||||||
| template | template | ||||||
| struct PrimitiveAssembler<Shader::OutputVertex>; | struct PrimitiveAssembler<Shader::OutputVertex>; | ||||||
| template |  | ||||||
| struct PrimitiveAssembler<DebugUtils::GeometryDumper::Vertex>; |  | ||||||
|  |  | ||||||
| } // namespace | } // namespace | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user