diff options
author | Jason Ekstrand <[email protected]> | 2018-10-02 21:15:47 -0500 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2018-12-11 21:26:23 -0600 |
commit | caeffe75492ef3bf8eaa5dae114ada626a9b7cbd (patch) | |
tree | 16abbd8b8bc76fa8d64531496bcb79b978041377 /src/compiler/spirv | |
parent | e1ef6c3c2948883d6f1ed9b33c1e04f52fe31ec2 (diff) |
spirv: Add support for MinLod
Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/compiler/spirv')
-rw-r--r-- | src/compiler/spirv/spirv_to_nir.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c index 22efaa276d9..4679fd323e6 100644 --- a/src/compiler/spirv/spirv_to_nir.c +++ b/src/compiler/spirv/spirv_to_nir.c @@ -2174,6 +2174,13 @@ vtn_handle_texture(struct vtn_builder *b, SpvOp opcode, texop = nir_texop_txf_ms; (*p++) = vtn_tex_src(b, w[idx++], nir_tex_src_ms_index); } + + if (operands & SpvImageOperandsMinLodMask) { + vtn_assert(texop == nir_texop_tex || + texop == nir_texop_txb || + texop == nir_texop_txd); + (*p++) = vtn_tex_src(b, w[idx++], nir_tex_src_min_lod); + } } /* We should have now consumed exactly all of the arguments */ vtn_assert(idx == count); @@ -3419,11 +3426,14 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode, case SpvCapabilityStorageImageMultisample: case SpvCapabilityInt8: case SpvCapabilitySparseResidency: - case SpvCapabilityMinLod: vtn_warn("Unsupported SPIR-V capability: %s", spirv_capability_to_string(cap)); break; + case SpvCapabilityMinLod: + spv_check_supported(min_lod, cap); + break; + case SpvCapabilityAtomicStorage: spv_check_supported(atomic_storage, cap); break; |