glsl_to_tgsi: set correct register type for array and structure elements
authorBryan Cain <bryancain3@gmail.com>
Tue, 23 Oct 2012 16:58:40 +0000 (11:58 -0500)
committerAndreas Boll <andreas.boll.dev@gmail.com>
Wed, 24 Oct 2012 21:51:08 +0000 (23:51 +0200)
commitebd8df7a3152e34805e2863c8471ee1a2de38fe1
tree4ea41cde6caa89926a7e49dae35af9d0718ced61
parent0f35702d798ead24497928af36236aa4c7e4b87b
glsl_to_tgsi: set correct register type for array and structure elements

This fixes an issue where glsl_to_tgsi_visior::get_opcode() would emit the
wrong opcode because the register type was GLSL_TYPE_ARRAY/STRUCT instead of
GLSL_TYPE_FLOAT/INT/UINT/BOOL, so the function would use the float opcodes for
operations on integer or boolean values dereferenced from an array or
structure.  Assertions have been added to get_opcode() to prevent this bug
from reappearing in the future.
src/mesa/state_tracker/st_glsl_to_tgsi.cpp