[Mesa-dev] [PATCH 04/19] i965/fs: Make fs_reg's type an enum for better debugging.

Matt Turner mattst88 at gmail.com
Thu Feb 20 13:41:17 PST 2014


Since the enum is marked as packed, it'll still take only one byte.
---
 src/mesa/drivers/dri/i965/brw_fs.cpp     | 6 +++---
 src/mesa/drivers/dri/i965/brw_fs.h       | 6 +++---
 src/mesa/drivers/dri/i965/brw_shader.cpp | 2 +-
 src/mesa/drivers/dri/i965/brw_shader.h   | 3 ++-
 4 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index 4f5558b..4940738 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -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
@@ -444,7 +444,7 @@ fs_reg::equals(const fs_reg &r) const
 }
 
 fs_reg
-fs_reg::retype(uint32_t type)
+fs_reg::retype(enum brw_reg_type type)
 {
    fs_reg result = *this;
    result.type = type;
@@ -844,7 +844,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;
diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h
index 38fa34b..d3a5f85 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.h
+++ b/src/mesa/drivers/dri/i965/brw_fs.h
@@ -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;
@@ -83,7 +83,7 @@ public:
    bool is_null() const;
    bool is_valid_3src() const;
    bool is_contiguous() const;
-   fs_reg retype(uint32_t type);
+   fs_reg retype(enum brw_reg_type type);
    fs_reg &apply_stride(unsigned stride);
 
    /** Register file: GRF, MRF, IMM. */
@@ -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;
diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp
index d58c13d..1dcb583 100644
--- a/src/mesa/drivers/dri/i965/brw_shader.cpp
+++ b/src/mesa/drivers/dri/i965/brw_shader.cpp
@@ -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) {
diff --git a/src/mesa/drivers/dri/i965/brw_shader.h b/src/mesa/drivers/dri/i965/brw_shader.h
index 4d98cbc..bbbeb32 100644
--- a/src/mesa/drivers/dri/i965/brw_shader.h
+++ b/src/mesa/drivers/dri/i965/brw_shader.h
@@ -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);
-- 
1.8.3.2



More information about the mesa-dev mailing list