|
|
|
@ -9,103 +9,7 @@ |
|
|
|
|
|
|
|
namespace Shader::Backend::GLASM { |
|
|
|
|
|
|
|
void EmitBindlessImageSampleImplicitLod(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBindlessImageSampleExplicitLod(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBindlessImageSampleDrefImplicitLod(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBindlessImageSampleDrefExplicitLod(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBindlessImageGather(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBindlessImageGatherDref(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBindlessImageFetch(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBindlessImageQueryDimensions(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBindlessImageQueryLod(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBindlessImageGradient(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBindlessImageRead(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBindlessImageWrite(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBoundImageSampleImplicitLod(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBoundImageSampleExplicitLod(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBoundImageSampleDrefImplicitLod(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBoundImageSampleDrefExplicitLod(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBoundImageGather(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBoundImageGatherDref(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBoundImageFetch(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBoundImageQueryDimensions(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBoundImageQueryLod(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBoundImageGradient(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBoundImageRead(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBoundImageWrite(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
static std::string Texture([[maybe_unused]] EmitContext& ctx, IR::TextureInstInfo info, |
|
|
|
std::string Texture([[maybe_unused]] EmitContext& ctx, IR::TextureInstInfo info, |
|
|
|
[[maybe_unused]] const IR::Value& index) { |
|
|
|
// FIXME
|
|
|
|
return fmt::format("texture[{}]", info.descriptor_index); |
|
|
|
@ -242,4 +146,100 @@ void EmitImageWrite([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] IR::Inst |
|
|
|
throw NotImplementedException("GLASM instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBindlessImageSampleImplicitLod(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBindlessImageSampleExplicitLod(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBindlessImageSampleDrefImplicitLod(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBindlessImageSampleDrefExplicitLod(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBindlessImageGather(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBindlessImageGatherDref(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBindlessImageFetch(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBindlessImageQueryDimensions(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBindlessImageQueryLod(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBindlessImageGradient(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBindlessImageRead(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBindlessImageWrite(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBoundImageSampleImplicitLod(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBoundImageSampleExplicitLod(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBoundImageSampleDrefImplicitLod(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBoundImageSampleDrefExplicitLod(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBoundImageGather(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBoundImageGatherDref(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBoundImageFetch(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBoundImageQueryDimensions(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBoundImageQueryLod(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBoundImageGradient(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBoundImageRead(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
void EmitBoundImageWrite(EmitContext&) { |
|
|
|
throw LogicError("Unreachable instruction"); |
|
|
|
} |
|
|
|
|
|
|
|
} // namespace Shader::Backend::GLASM
|