summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2019-06-25 20:56:04 -0400
committerGravatar FernandoS272019-07-09 08:14:40 -0400
commitcfb3db1a32975583b94a0df5f3ff0020254208c0 (patch)
treea0d3b6ed65f6d02d09c376b5033c97d691762d45 /src
parentshader_ir: Remove unnecessary constructors and use optional for ScanFlow result (diff)
downloadyuzu-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.cpp2
-rw-r--r--src/video_core/shader/decode.cpp2
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
164ParseResult ParseCode(CFGRebuildState& state, u32 address, ParseInfo& parse_info) { 164ParseResult 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;