diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/shader/shader_ir.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/video_core/shader/shader_ir.h b/src/video_core/shader/shader_ir.h index b91ef246f..8ad2a366f 100644 --- a/src/video_core/shader/shader_ir.h +++ b/src/video_core/shader/shader_ir.h | |||
| @@ -4,6 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | #pragma once | 5 | #pragma once |
| 6 | 6 | ||
| 7 | #include <cstring> | ||
| 7 | #include <map> | 8 | #include <map> |
| 8 | #include <set> | 9 | #include <set> |
| 9 | #include <string> | 10 | #include <string> |
| @@ -606,8 +607,9 @@ private: | |||
| 606 | } | 607 | } |
| 607 | /// Creates a f32 immediate | 608 | /// Creates a f32 immediate |
| 608 | Node Immediate(f32 value) { | 609 | Node Immediate(f32 value) { |
| 609 | // TODO(Rodrigo): Replace this with bit_cast when C++20 releases | 610 | u32 integral; |
| 610 | return Immediate(*reinterpret_cast<const u32*>(&value)); | 611 | std::memcpy(&integral, &value, sizeof(u32)); |
| 612 | return Immediate(integral); | ||
| 611 | } | 613 | } |
| 612 | 614 | ||
| 613 | /// Generates a node for a passed register. | 615 | /// Generates a node for a passed register. |