etnaviv: nir: support nir_intrinsic_load_texture_rect_scaling
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com> Reviewed-by: Eric Anholt <eric@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8898>
This commit is contained in:
committed by
Marge Bot
parent
7c40e9a322
commit
06f409a8c1
@@ -370,6 +370,15 @@ get_src(struct etna_compile *c, nir_src *src)
|
||||
return (hw_src) { .use = 1, .rgroup = INST_RGROUP_INTERNAL };
|
||||
case nir_intrinsic_load_frag_coord:
|
||||
return SRC_REG(0, INST_SWIZ_IDENTITY);
|
||||
case nir_intrinsic_load_texture_rect_scaling: {
|
||||
int sampler = nir_src_as_int(intr->src[0]);
|
||||
nir_const_value values[] = {
|
||||
TEXSCALE(sampler, 0),
|
||||
TEXSCALE(sampler, 1),
|
||||
};
|
||||
|
||||
return src_swizzle(const_src(c, values, 2), SWIZZLE(X,Y,X,X));
|
||||
}
|
||||
default:
|
||||
compile_error(c, "Unhandled NIR intrinsic type: %s\n",
|
||||
nir_intrinsic_infos[intr->intrinsic].name);
|
||||
@@ -582,6 +591,7 @@ emit_intrinsic(struct etna_compile *c, nir_intrinsic_instr * intr)
|
||||
break;
|
||||
case nir_intrinsic_load_input:
|
||||
case nir_intrinsic_load_instance_id:
|
||||
case nir_intrinsic_load_texture_rect_scaling:
|
||||
break;
|
||||
default:
|
||||
compile_error(c, "Unhandled NIR intrinsic type: %s\n",
|
||||
|
||||
@@ -215,7 +215,8 @@ dest_for_instr(nir_instr *instr)
|
||||
if (intr->intrinsic == nir_intrinsic_load_uniform ||
|
||||
intr->intrinsic == nir_intrinsic_load_ubo ||
|
||||
intr->intrinsic == nir_intrinsic_load_input ||
|
||||
intr->intrinsic == nir_intrinsic_load_instance_id)
|
||||
intr->intrinsic == nir_intrinsic_load_instance_id ||
|
||||
intr->intrinsic == nir_intrinsic_load_texture_rect_scaling)
|
||||
dest = &intr->dest;
|
||||
} break;
|
||||
case nir_instr_type_deref:
|
||||
|
||||
Reference in New Issue
Block a user