[SPIR-V] Fix 1D texture fetches. Fixes #1124
This commit is contained in:
@@ -1795,6 +1795,12 @@ void SpirvShaderTranslator::ProcessTextureFetchInstruction(
|
||||
tex_[dim_idx], std::vector<Id>({texture_index}));
|
||||
auto texture = b.createLoad(texture_ptr);
|
||||
|
||||
if (instr.dimension == TextureDimension::k1D) {
|
||||
// Upgrade 1D src coordinate into 2D
|
||||
src = b.createCompositeConstruct(vec2_float_type_,
|
||||
{src, b.makeFloatConstant(0.f)});
|
||||
}
|
||||
|
||||
spv::Builder::TextureParameters params = {0};
|
||||
params.coords = src;
|
||||
params.sampler = texture;
|
||||
@@ -1917,6 +1923,12 @@ void SpirvShaderTranslator::ProcessTextureFetchInstruction(
|
||||
tex_[dim_idx], std::vector<Id>({texture_index}));
|
||||
auto texture = b.createLoad(texture_ptr);
|
||||
|
||||
if (instr.dimension == TextureDimension::k1D) {
|
||||
// Upgrade 1D src coordinate into 2D
|
||||
src = b.createCompositeConstruct(vec2_float_type_,
|
||||
{src, b.makeFloatConstant(0.f)});
|
||||
}
|
||||
|
||||
spv::Builder::TextureParameters params = {};
|
||||
params.sampler = texture;
|
||||
params.coords = src;
|
||||
|
||||
Reference in New Issue
Block a user