mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-27 17:00:09 +01:00
st_glsl_to_tgsi: don't try and pass 32-bit values to get_deref_offsets
Just use a temporary 16-bit index. This fixes coverity issue, pointed to me by Ilia. Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
ca69b5e78c
commit
8ec4975cd8
1 changed files with 6 additions and 3 deletions
|
|
@ -3776,10 +3776,11 @@ glsl_to_tgsi_visitor::visit_image_intrinsic(ir_call *ir)
|
|||
|
||||
st_src_reg reladdr;
|
||||
st_src_reg image(PROGRAM_IMAGE, 0, GLSL_TYPE_UINT);
|
||||
|
||||
uint16_t index;
|
||||
get_deref_offsets(img, &sampler_array_size, &sampler_base,
|
||||
(uint16_t*)&image.index, &reladdr, true);
|
||||
&index, &reladdr, true);
|
||||
|
||||
image.index = index;
|
||||
if (reladdr.file != PROGRAM_UNDEFINED) {
|
||||
image.reladdr = ralloc(mem_ctx, st_src_reg);
|
||||
*image.reladdr = reladdr;
|
||||
|
|
@ -4391,9 +4392,11 @@ glsl_to_tgsi_visitor::visit(ir_texture *ir)
|
|||
|
||||
st_src_reg sampler(PROGRAM_SAMPLER, 0, GLSL_TYPE_UINT);
|
||||
|
||||
uint16_t index;
|
||||
get_deref_offsets(ir->sampler, &sampler_array_size, &sampler_base,
|
||||
(uint16_t *)&sampler.index, &reladdr, true);
|
||||
&index, &reladdr, true);
|
||||
|
||||
sampler.index = index;
|
||||
if (reladdr.file != PROGRAM_UNDEFINED) {
|
||||
sampler.reladdr = ralloc(mem_ctx, st_src_reg);
|
||||
*sampler.reladdr = reladdr;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue