mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-03-06 03:30:30 +01:00
gallium/tgsi: Fix tgsi_build_full_immediate() for non-float data types.
This commit is contained in:
parent
a426b0d5bc
commit
e9072863b1
1 changed files with 9 additions and 23 deletions
|
|
@ -496,11 +496,13 @@ tgsi_default_immediate( void )
|
|||
|
||||
static struct tgsi_immediate
|
||||
tgsi_build_immediate(
|
||||
struct tgsi_header *header )
|
||||
struct tgsi_header *header,
|
||||
unsigned type )
|
||||
{
|
||||
struct tgsi_immediate immediate;
|
||||
|
||||
immediate = tgsi_default_immediate();
|
||||
immediate.DataType = type;
|
||||
|
||||
header_bodysize_grow( header );
|
||||
|
||||
|
|
@ -533,21 +535,6 @@ immediate_grow(
|
|||
header_bodysize_grow( header );
|
||||
}
|
||||
|
||||
static union tgsi_immediate_data
|
||||
tgsi_build_immediate_float32(
|
||||
float value,
|
||||
struct tgsi_immediate *immediate,
|
||||
struct tgsi_header *header )
|
||||
{
|
||||
union tgsi_immediate_data immediate_data;
|
||||
|
||||
immediate_data.Float = value;
|
||||
|
||||
immediate_grow( immediate, header );
|
||||
|
||||
return immediate_data;
|
||||
}
|
||||
|
||||
unsigned
|
||||
tgsi_build_full_immediate(
|
||||
const struct tgsi_full_immediate *full_imm,
|
||||
|
|
@ -563,7 +550,7 @@ tgsi_build_full_immediate(
|
|||
immediate = (struct tgsi_immediate *) &tokens[size];
|
||||
size++;
|
||||
|
||||
*immediate = tgsi_build_immediate( header );
|
||||
*immediate = tgsi_build_immediate( header, full_imm->Immediate.DataType );
|
||||
|
||||
assert( full_imm->Immediate.NrTokens <= 4 + 1 );
|
||||
|
||||
|
|
@ -572,13 +559,12 @@ tgsi_build_full_immediate(
|
|||
|
||||
if( maxsize <= size )
|
||||
return 0;
|
||||
data = (union tgsi_immediate_data *) &tokens[size];
|
||||
size++;
|
||||
|
||||
*data = tgsi_build_immediate_float32(
|
||||
full_imm->u[i].Float,
|
||||
immediate,
|
||||
header );
|
||||
data = (union tgsi_immediate_data *) &tokens[size];
|
||||
*data = full_imm->u[i];
|
||||
|
||||
immediate_grow( immediate, header );
|
||||
size++;
|
||||
}
|
||||
|
||||
return size;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue