OSDN Git Service

i965/fs: Make fs_reg's type an enum for better debugging.
authorMatt Turner <mattst88@gmail.com>
Thu, 20 Feb 2014 02:38:40 +0000 (18:38 -0800)
committerMatt Turner <mattst88@gmail.com>
Sat, 22 Feb 2014 06:51:32 +0000 (22:51 -0800)
Since the enum is marked as packed, it'll still take only one byte.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_fs.cpp
src/mesa/drivers/dri/i965/brw_fs.h
src/mesa/drivers/dri/i965/brw_shader.cpp
src/mesa/drivers/dri/i965/brw_shader.h

index ce8a515..2ffeffa 100644 (file)
@@ -423,7 +423,7 @@ fs_reg::fs_reg(struct brw_reg fixed_hw_reg)
    init();
    this->file = HW_REG;
    this->fixed_hw_reg = fixed_hw_reg;
-   this->type = fixed_hw_reg.type;
+   this->type = (enum brw_reg_type)fixed_hw_reg.type;
 }
 
 bool
@@ -836,7 +836,7 @@ fs_reg::fs_reg(enum register_file file, int reg)
 }
 
 /** Fixed HW reg constructor. */
-fs_reg::fs_reg(enum register_file file, int reg, uint32_t type)
+fs_reg::fs_reg(enum register_file file, int reg, enum brw_reg_type type)
 {
    init();
    this->file = file;
index 1981eef..5d1908a 100644 (file)
@@ -74,7 +74,7 @@ public:
    fs_reg(uint32_t u);
    fs_reg(struct brw_reg fixed_hw_reg);
    fs_reg(enum register_file file, int reg);
-   fs_reg(enum register_file file, int reg, uint32_t type);
+   fs_reg(enum register_file file, int reg, enum brw_reg_type type);
    fs_reg(class fs_visitor *v, const struct glsl_type *type);
 
    bool equals(const fs_reg &r) const;
@@ -102,7 +102,7 @@ public:
     */
    int reg_offset;
    /** Register type.  BRW_REGISTER_TYPE_* */
-   uint8_t type;
+   enum brw_reg_type type;
    bool negate;
    bool abs;
    struct brw_reg fixed_hw_reg;
index 08ceca1..a436ee9 100644 (file)
@@ -282,7 +282,7 @@ brw_link_shader(struct gl_context *ctx, struct gl_shader_program *shProg)
 }
 
 
-int
+enum brw_reg_type
 brw_type_for_base_type(const struct glsl_type *type)
 {
    switch (type->base_type) {
index 4d98cbc..bbbeb32 100644 (file)
@@ -23,6 +23,7 @@
 
 #include <stdint.h>
 #include "brw_defines.h"
+#include "brw_reg.h"
 #include "main/compiler.h"
 #include "glsl/ir.h"
 
@@ -99,7 +100,7 @@ uint32_t brw_texture_offset(struct gl_context *ctx, ir_constant *offset);
 
 #endif /* __cplusplus */
 
-int brw_type_for_base_type(const struct glsl_type *type);
+enum brw_reg_type brw_type_for_base_type(const struct glsl_type *type);
 uint32_t brw_conditional_for_comparison(unsigned int op);
 uint32_t brw_math_function(enum opcode op);
 const char *brw_instruction_name(enum opcode op);