Comparer les révisions

...

1 Révisions

Auteur SHA1 Message Date
Exverge 9f5709d73a
Comment out unimplemented check
In my testing on macOS, MK8 sometimes crashed at this function, giving a void type instead of u32.
I've temporarily commented this out until (if) this is implemented and added a check for if it is implemented
2024-03-31 19:47:57 -04:00
1 fichiers modifiés avec 6 ajouts et 6 suppressions

Voir le fichier

@ -196,9 +196,9 @@ Id Texture(EmitContext& ctx, IR::TextureInstInfo info, [[maybe_unused]] const IR
}
Id TextureImage(EmitContext& ctx, IR::TextureInstInfo info, const IR::Value& index) {
if (!index.IsImmediate() || index.U32() != 0) {
throw NotImplementedException("Indirect image indexing");
}
// if (!index.IsImmediate() || index.Type() == Shader::IR::Type::U32 || index.U32() != 0) {
// throw NotImplementedException("Indirect image indexing");
// }
if (info.type == TextureType::Buffer) {
const TextureBufferDefinition& def{ctx.texture_buffers.at(info.descriptor_index)};
if (def.count > 1) {
@ -215,9 +215,9 @@ Id TextureImage(EmitContext& ctx, IR::TextureInstInfo info, const IR::Value& ind
}
std::pair<Id, bool> Image(EmitContext& ctx, const IR::Value& index, IR::TextureInstInfo info) {
if (!index.IsImmediate() || index.U32() != 0) {
throw NotImplementedException("Indirect image indexing");
}
// if (!index.IsImmediate() || index.Type() == Shader::IR::Type::U32 || index.U32() != 0) {
// throw NotImplementedException("Indirect image indexing");
// }
if (info.type == TextureType::Buffer) {
const ImageBufferDefinition def{ctx.image_buffers.at(info.descriptor_index)};
return {ctx.OpLoad(def.image_type, def.id), def.is_integer};