mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 18:28:12 +02:00
nir: Check sampler_binding is valid when lowering tex shadow
Reviewed-by: Jesse Natalie <jenatali@microsoft.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21247>
This commit is contained in:
parent
b2e5484171
commit
f9a827d61e
1 changed files with 8 additions and 5 deletions
|
|
@ -118,11 +118,14 @@ nir_lower_tex_shadow_impl(nir_builder *b, nir_instr *instr, void *options)
|
|||
nir_ssa_def *zero = nir_imm_float(b, 0.0);
|
||||
|
||||
nir_ssa_def *lookup[6] = {result, NULL, NULL, NULL, zero, one};
|
||||
nir_ssa_def *r[4] = {lookup[state->tex_swizzles[sampler_binding].swizzle_r],
|
||||
lookup[state->tex_swizzles[sampler_binding].swizzle_g],
|
||||
lookup[state->tex_swizzles[sampler_binding].swizzle_b],
|
||||
lookup[state->tex_swizzles[sampler_binding].swizzle_a]
|
||||
};
|
||||
nir_ssa_def *r[4] = { result, result, result, result };
|
||||
|
||||
if (sampler_binding < state->n_states) {
|
||||
r[0] = lookup[state->tex_swizzles[sampler_binding].swizzle_r];
|
||||
r[1] = lookup[state->tex_swizzles[sampler_binding].swizzle_g];
|
||||
r[2] = lookup[state->tex_swizzles[sampler_binding].swizzle_b];
|
||||
r[3] = lookup[state->tex_swizzles[sampler_binding].swizzle_a];
|
||||
}
|
||||
|
||||
result = nir_vec(b, r, num_components);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue