diff options
| author | 2019-06-25 20:56:04 -0400 | |
|---|---|---|
| committer | 2019-07-09 08:14:40 -0400 | |
| commit | cfb3db1a32975583b94a0df5f3ff0020254208c0 (patch) | |
| tree | a0d3b6ed65f6d02d09c376b5033c97d691762d45 /src | |
| parent | shader_ir: Remove unnecessary constructors and use optional for ScanFlow result (diff) | |
| download | yuzu-cfb3db1a32975583b94a0df5f3ff0020254208c0.tar.gz yuzu-cfb3db1a32975583b94a0df5f3ff0020254208c0.tar.xz yuzu-cfb3db1a32975583b94a0df5f3ff0020254208c0.zip | |
shader_ir: Correct max sizing
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/shader/control_flow.cpp | 2 | ||||
| -rw-r--r-- | src/video_core/shader/decode.cpp | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/video_core/shader/control_flow.cpp b/src/video_core/shader/control_flow.cpp index 6259ad594..a26de6795 100644 --- a/src/video_core/shader/control_flow.cpp +++ b/src/video_core/shader/control_flow.cpp | |||
| @@ -163,7 +163,7 @@ enum class ParseResult : u32 { | |||
| 163 | 163 | ||
| 164 | ParseResult ParseCode(CFGRebuildState& state, u32 address, ParseInfo& parse_info) { | 164 | ParseResult ParseCode(CFGRebuildState& state, u32 address, ParseInfo& parse_info) { |
| 165 | u32 offset = static_cast<u32>(address); | 165 | u32 offset = static_cast<u32>(address); |
| 166 | const u32 end_address = static_cast<u32>(state.program_size - 10U) * 8U; | 166 | const u32 end_address = static_cast<u32>(state.program_size / 8U); |
| 167 | 167 | ||
| 168 | const auto insert_label = ([](CFGRebuildState& state, u32 address) { | 168 | const auto insert_label = ([](CFGRebuildState& state, u32 address) { |
| 169 | auto pair = state.labels.emplace(address); | 169 | auto pair = state.labels.emplace(address); |
diff --git a/src/video_core/shader/decode.cpp b/src/video_core/shader/decode.cpp index 15cb33bbf..b0bd6630f 100644 --- a/src/video_core/shader/decode.cpp +++ b/src/video_core/shader/decode.cpp | |||
| @@ -39,7 +39,7 @@ void ShaderIR::Decode() { | |||
| 39 | std::memcpy(&header, program_code.data(), sizeof(Tegra::Shader::Header)); | 39 | std::memcpy(&header, program_code.data(), sizeof(Tegra::Shader::Header)); |
| 40 | 40 | ||
| 41 | disable_flow_stack = false; | 41 | disable_flow_stack = false; |
| 42 | const auto info = ScanFlow(program_code, program_code.size(), main_offset); | 42 | const auto info = ScanFlow(program_code, program_size, main_offset); |
| 43 | if (info) { | 43 | if (info) { |
| 44 | const auto& shader_info = *info; | 44 | const auto& shader_info = *info; |
| 45 | coverage_begin = shader_info.start; | 45 | coverage_begin = shader_info.start; |