Browse Source

[video_core] fix compilation errors from bad merge, fix string_view UB (#2812)

- fixes string_view corruption
- fixes the latest master
Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2812
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
pull/2814/head
lizzie 2 months ago
committed by crueter
parent
commit
e0c554976a
No known key found for this signature in database GPG Key ID: 425ACD2D4830EBC6
  1. 4
      src/shader_recompiler/frontend/maxwell/translate/impl/surface_atomic_operations.cpp
  2. 2
      src/video_core/renderer_opengl/gl_device.cpp

4
src/shader_recompiler/frontend/maxwell/translate/impl/surface_atomic_operations.cpp

@ -78,11 +78,11 @@ IR::Value MakeCoords(TranslatorVisitor& v, IR::Reg reg, Type type) {
case Type::_1D: case Type::_1D:
case Type::_1D_BUFFER: case Type::_1D_BUFFER:
return v.X(reg); return v.X(reg);
case Type::ARRAY_1D:
case Type::_1D_ARRAY:
return v.ir.CompositeConstruct(v.X(reg), array(1)); return v.ir.CompositeConstruct(v.X(reg), array(1));
case Type::_2D: case Type::_2D:
return v.ir.CompositeConstruct(v.X(reg), v.X(reg + 1)); return v.ir.CompositeConstruct(v.X(reg), v.X(reg + 1));
case Type::ARRAY_2D:
case Type::_2D_ARRAY:
return v.ir.CompositeConstruct(v.X(reg), v.X(reg + 1), array(2)); return v.ir.CompositeConstruct(v.X(reg), v.X(reg + 1), array(2));
case Type::_3D: case Type::_3D:
return v.ir.CompositeConstruct(v.X(reg), v.X(reg + 1), v.X(reg + 2)); return v.ir.CompositeConstruct(v.X(reg), v.X(reg + 1), v.X(reg + 2));

2
src/video_core/renderer_opengl/gl_device.cpp

@ -243,7 +243,7 @@ Device::Device(Core::Frontend::EmuWindow& emu_window) {
} }
if (shader_backend == Settings::ShaderBackend::Glsl && is_nvidia) { if (shader_backend == Settings::ShaderBackend::Glsl && is_nvidia) {
const std::string_view driver_version = version.substr(13);
const std::string driver_version = version.substr(13);
const int version_major = const int version_major =
std::atoi(driver_version.substr(0, driver_version.find(".")).data()); std::atoi(driver_version.substr(0, driver_version.find(".")).data());
if (version_major >= 495) { if (version_major >= 495) {

Loading…
Cancel
Save