namkazy 6 лет назад
Родитель
Сommit
acd3f0ab37
1 измененных файлов с 3 добавлено и 3 удалено
  1. 3 3
      src/video_core/shader/decode/image.cpp

+ 3 - 3
src/video_core/shader/decode/image.cpp

@@ -2,8 +2,6 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#pragma optimize("", off)
-
 #include <algorithm>
 #include <vector>
 #include <fmt/format.h>
@@ -323,6 +321,7 @@ u32 ShaderIR::DecodeImage(NodeBlock& bb, u32 pc) {
             switch (instr.suldst.GetStoreDataLayout()) {
             case StoreType::Bits32: {
                 u32 shifted_counter = 0;
+                // value should be RGBA format
                 Node value = Immediate(0);
                 for (u32 element = 0; element < 4; ++element) {
                     if (!IsComponentEnabled(comp_mask, element)) {
@@ -334,6 +333,7 @@ u32 ShaderIR::DecodeImage(NodeBlock& bb, u32 pc) {
                     MetaImage meta{image, {}, element};
                     const Node original_value =
                         Operation(OperationCode::ImageLoad, meta, GetCoordinates(type));
+
                     Node converted_value = [&] {
                         switch (component_type) {
                         case ComponentType::SNORM: {
@@ -346,7 +346,7 @@ u32 ShaderIR::DecodeImage(NodeBlock& bb, u32 pc) {
                         case ComponentType::UNORM: {
                             // range [0.0, 1.0]
                             auto cnv_value =
-                                Operation(OperationCode::FMul, original_value, Immediate(255.f));
+                                Operation(OperationCode::FMul, original_value, Immediate(256.f));
                             is_signed = false;
                             return SignedOperation(OperationCode::ICastFloat, is_signed,
                                                    std::move(cnv_value));