summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/frontend/ir/ir_emitter.cpp
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2023-01-29 18:27:26 +0100
committerGitHub <noreply@github.com>2023-01-29 18:27:26 +0100
commit208e635f370d7cf90b80e9a5301f161283eefd8b (patch)
tree830bb769857629e25b0e43fefd79d8bfe0b231e9 /src/shader_recompiler/frontend/ir/ir_emitter.cpp
parentMerge pull request #9684 from liamwhite/read-the-spec (diff)
parentshader_recompiler: TXQ: Skip QueryLevels when possible (diff)
downloadyuzu-208e635f370d7cf90b80e9a5301f161283eefd8b.tar
yuzu-208e635f370d7cf90b80e9a5301f161283eefd8b.tar.gz
yuzu-208e635f370d7cf90b80e9a5301f161283eefd8b.tar.bz2
yuzu-208e635f370d7cf90b80e9a5301f161283eefd8b.tar.lz
yuzu-208e635f370d7cf90b80e9a5301f161283eefd8b.tar.xz
yuzu-208e635f370d7cf90b80e9a5301f161283eefd8b.tar.zst
yuzu-208e635f370d7cf90b80e9a5301f161283eefd8b.zip
Diffstat (limited to 'src/shader_recompiler/frontend/ir/ir_emitter.cpp')
-rw-r--r--src/shader_recompiler/frontend/ir/ir_emitter.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/shader_recompiler/frontend/ir/ir_emitter.cpp b/src/shader_recompiler/frontend/ir/ir_emitter.cpp
index 430797d23..b7caa4246 100644
--- a/src/shader_recompiler/frontend/ir/ir_emitter.cpp
+++ b/src/shader_recompiler/frontend/ir/ir_emitter.cpp
@@ -1846,15 +1846,16 @@ Value IREmitter::ImageFetch(const Value& handle, const Value& coords, const Valu
return Inst(op, Flags{info}, handle, coords, offset, lod, multisampling);
}
-Value IREmitter::ImageQueryDimension(const Value& handle, const IR::U32& lod) {
+Value IREmitter::ImageQueryDimension(const Value& handle, const IR::U32& lod,
+ const IR::U1& skip_mips) {
const Opcode op{handle.IsImmediate() ? Opcode::BoundImageQueryDimensions
: Opcode::BindlessImageQueryDimensions};
- return Inst(op, handle, lod);
+ return Inst(op, handle, lod, skip_mips);
}
Value IREmitter::ImageQueryDimension(const Value& handle, const IR::U32& lod,
- TextureInstInfo info) {
- return Inst(Opcode::ImageQueryDimensions, Flags{info}, handle, lod);
+ const IR::U1& skip_mips, TextureInstInfo info) {
+ return Inst(Opcode::ImageQueryDimensions, Flags{info}, handle, lod, skip_mips);
}
Value IREmitter::ImageQueryLod(const Value& handle, const Value& coords, TextureInstInfo info) {