compiler: tidy up double_inputs_read uses

First we move double_inputs_read into a vs struct in the union,
double_inputs_read is only used for vs inputs so this will
save space and also allows us to add a new double_inputs field.

We add the new field because c2acf97fcc changed the behaviour
of double_inputs_read, and while it's no longer used to track
actual reads in i965 we do still want to track this for gallium
drivers.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Timothy Arceri
2017-12-16 14:06:23 +11:00
parent f6cc15dccd
commit f63e05ae9e
8 changed files with 24 additions and 13 deletions

View File

@@ -67,8 +67,6 @@ typedef struct shader_info {
/* Which inputs are actually read */
uint64_t inputs_read;
/* Which inputs are actually read and are double */
uint64_t double_inputs_read;
/* Which outputs are actually written */
uint64_t outputs_written;
/* Which outputs are actually read */
@@ -109,6 +107,14 @@ typedef struct shader_info {
bool has_transform_feedback_varyings;
union {
struct {
/* Which inputs are doubles */
uint64_t double_inputs;
/* Which inputs are actually read and are double */
uint64_t double_inputs_read;
} vs;
struct {
/** The number of vertices recieves per input primitive */
unsigned vertices_in;