diff options
| author | Tony Wasserka <NeoBrainX@gmail.com> | 2014-12-16 01:12:29 +0100 | 
|---|---|---|
| committer | Tony Wasserka <NeoBrainX@gmail.com> | 2014-12-20 18:06:55 +0100 | 
| commit | cc5746abfe838fa130dd8be58219e00ae292a8fe (patch) | |
| tree | 29465a8faee5064ae497ea3eea1fe5ff22843b2f /src/video_core | |
| parent | 8ce1d324602001e1102648319a9281ee08a1af95 (diff) | |
Pica/DebugUtils: Replace duplicated SHBIN structures in favor of nihstro's ones.
Diffstat (limited to 'src/video_core')
| -rw-r--r-- | src/video_core/debug_utils/debug_utils.cpp | 69 | 
1 files changed, 8 insertions, 61 deletions
| diff --git a/src/video_core/debug_utils/debug_utils.cpp b/src/video_core/debug_utils/debug_utils.cpp index 1a7b851d5..7e1cfb92c 100644 --- a/src/video_core/debug_utils/debug_utils.cpp +++ b/src/video_core/debug_utils/debug_utils.cpp @@ -14,6 +14,8 @@  #include <png.h>  #endif +#include <nihstro/shader_binary.h> +  #include "common/log.h"  #include "common/file_util.h" @@ -22,6 +24,10 @@  #include "debug_utils.h" +using nihstro::DVLBHeader; +using nihstro::DVLEHeader; +using nihstro::DVLPHeader; +  namespace Pica {  void DebugContext::OnEvent(Event event, void* data) { @@ -98,65 +104,6 @@ void GeometryDumper::Dump() {      }  } -#pragma pack(1) -struct DVLBHeader { -    enum : u32 { -        MAGIC_WORD = 0x424C5644, // "DVLB" -    }; - -    u32 magic_word; -    u32 num_programs; -//    u32 dvle_offset_table[]; -}; -static_assert(sizeof(DVLBHeader) == 0x8, "Incorrect structure size"); - -struct DVLPHeader { -    enum : u32 { -        MAGIC_WORD = 0x504C5644, // "DVLP" -    }; - -    u32 magic_word; -    u32 version; -    u32 binary_offset;  // relative to DVLP start -    u32 binary_size_words; -    u32 swizzle_patterns_offset; -    u32 swizzle_patterns_num_entries; -    u32 unk2; -}; -static_assert(sizeof(DVLPHeader) == 0x1C, "Incorrect structure size"); - -struct DVLEHeader { -    enum : u32 { -        MAGIC_WORD = 0x454c5644, // "DVLE" -    }; - -    enum class ShaderType : u8 { -        VERTEX = 0, -        GEOMETRY = 1, -    }; - -    u32 magic_word; -    u16 pad1; -    ShaderType type; -    u8 pad2; -    u32 main_offset_words; // offset within binary blob -    u32 endmain_offset_words; -    u32 pad3; -    u32 pad4; -    u32 constant_table_offset; -    u32 constant_table_size; // number of entries -    u32 label_table_offset; -    u32 label_table_size; -    u32 output_register_table_offset; -    u32 output_register_table_size; -    u32 uniform_table_offset; -    u32 uniform_table_size; -    u32 symbol_table_offset; -    u32 symbol_table_size; - -}; -static_assert(sizeof(DVLEHeader) == 0x40, "Incorrect structure size"); -#pragma pack()  void DumpShader(const u32* binary_data, u32 binary_size, const u32* swizzle_data, u32 swizzle_size,                  u32 main_offset, const Regs::VSOutputAttributes* output_attributes) @@ -276,8 +223,8 @@ void DumpShader(const u32* binary_data, u32 binary_size, const u32* swizzle_data      dvlp.binary_size_words = binary_size;      QueueForWriting((u8*)binary_data, binary_size * sizeof(u32)); -    dvlp.swizzle_patterns_offset = write_offset - dvlp_offset; -    dvlp.swizzle_patterns_num_entries = swizzle_size; +    dvlp.swizzle_info_offset = write_offset - dvlp_offset; +    dvlp.swizzle_info_num_entries = swizzle_size;      u32 dummy = 0;      for (unsigned int i = 0; i < swizzle_size; ++i) {          QueueForWriting((u8*)&swizzle_data[i], sizeof(swizzle_data[i])); | 
