Compare commits

...

3 Commits

Author SHA1 Message Date
lizzie
35297201dc patch from dravee
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2025-10-19 02:00:04 +00:00
lizzie
5ccdeb33ff fix lciense
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2025-10-19 01:28:17 +00:00
lizzie
b4f7f64c5f [maxwell] fix ordering of sizes for atomicops
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2025-10-19 01:08:03 +00:00

View File

@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
@@ -9,21 +12,23 @@
namespace Shader::Maxwell {
namespace {
enum class Type : u64 {
_1D,
BUFFER_1D,
ARRAY_1D,
_2D,
ARRAY_2D,
_3D,
_1D = 0,
_1D_BUFFER = 1,
_1D_ARRAY = 2,
_2D = 3,
_2D_ARRAY = 4,
_3D = 5,
_UNK6 = 6,
_UNK7 = 7,
};
enum class Size : u64 {
U32,
S32,
U64,
S64,
F32FTZRN,
F16x2FTZRN,
S64,
SD32,
SD64,
};
@@ -50,33 +55,33 @@ TextureType GetType(Type type) {
switch (type) {
case Type::_1D:
return TextureType::Color1D;
case Type::BUFFER_1D:
case Type::_1D_BUFFER:
return TextureType::Buffer;
case Type::ARRAY_1D:
case Type::_1D_ARRAY:
return TextureType::ColorArray1D;
case Type::_2D:
return TextureType::Color2D;
case Type::ARRAY_2D:
case Type::_2D_ARRAY:
return TextureType::ColorArray2D;
case Type::_3D:
return TextureType::Color3D;
default:
throw NotImplementedException("Invalid type {}", type);
}
throw NotImplementedException("Invalid type {}", type);
}
IR::Value MakeCoords(TranslatorVisitor& v, IR::Reg reg, Type type) {
switch (type) {
case Type::_1D:
case Type::BUFFER_1D:
case Type::_1D_BUFFER:
return v.X(reg);
case Type::_2D:
return v.ir.CompositeConstruct(v.X(reg), v.X(reg + 1));
case Type::_3D:
return v.ir.CompositeConstruct(v.X(reg), v.X(reg + 1), v.X(reg + 2));
default:
break;
throw NotImplementedException("Invalid type {}", type);
}
throw NotImplementedException("Invalid type {}", type);
}
IR::Value ApplyAtomicOp(IR::IREmitter& ir, const IR::U32& handle, const IR::Value& coords,