mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 19:40:10 +01:00
svga: check that we don't exceed temp register limit
And assert on the register index in dst_register(). The dest can only be an output or temp reg and there's more of the later. Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
This commit is contained in:
parent
a1482b21cb
commit
f12f67c00a
2 changed files with 6 additions and 0 deletions
|
|
@ -290,6 +290,10 @@ svga_tgsi_translate( const struct svga_shader *shader,
|
|||
emit.nr_hw_float_const = (emit.imm_start + emit.info.file_max[TGSI_FILE_IMMEDIATE] + 1);
|
||||
|
||||
emit.nr_hw_temp = emit.info.file_max[TGSI_FILE_TEMPORARY] + 1;
|
||||
|
||||
if (emit.nr_hw_temp >= SVGA3D_TEMPREG_MAX)
|
||||
goto fail;
|
||||
|
||||
emit.in_main_func = TRUE;
|
||||
|
||||
if (!svga_shader_emit_header( &emit ))
|
||||
|
|
|
|||
|
|
@ -266,6 +266,8 @@ dst_register( unsigned file,
|
|||
assert(number < (1 << 11));
|
||||
assert(file <= SVGA3DREG_PREDICATE);
|
||||
|
||||
assert(number < SVGA3D_TEMPREG_MAX);
|
||||
|
||||
dest.value = 0;
|
||||
dest.num = number;
|
||||
dest.type_upper = file >> 3;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue