[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