diff options
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_disasm.c | 100 |
1 files changed, 44 insertions, 56 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_disasm.c b/src/mesa/drivers/dri/i965/brw_disasm.c index aebfa7313a1..59a42467a34 100644 --- a/src/mesa/drivers/dri/i965/brw_disasm.c +++ b/src/mesa/drivers/dri/i965/brw_disasm.c @@ -32,7 +32,7 @@ #include "brw_context.h" #include "brw_defines.h" -struct { +static const struct { char *name; int nsrc; int ndst; @@ -92,7 +92,7 @@ struct { [BRW_OPCODE_ENDIF] = { .name = "endif", .nsrc = 2, .ndst = 0 }, }; -char *conditional_modifier[16] = { +static const char * const conditional_modifier[16] = { [BRW_CONDITIONAL_NONE] = "", [BRW_CONDITIONAL_Z] = ".e", [BRW_CONDITIONAL_NZ] = ".ne", @@ -105,17 +105,17 @@ char *conditional_modifier[16] = { [BRW_CONDITIONAL_U] = ".u", }; -char *negate[2] = { +static const char * const negate[2] = { [0] = "", [1] = "-", }; -char *_abs[2] = { +static const char * const _abs[2] = { [0] = "", [1] = "(abs)", }; -char *vert_stride[16] = { +static const char * const vert_stride[16] = { [0] = "0", [1] = "1", [2] = "2", @@ -126,7 +126,7 @@ char *vert_stride[16] = { [15] = "VxH", }; -char *width[8] = { +static const char * const width[8] = { [0] = "1", [1] = "2", [2] = "4", @@ -134,44 +134,41 @@ char *width[8] = { [4] = "16", }; -char *horiz_stride[4] = { +static const char * const horiz_stride[4] = { [0] = "0", [1] = "1", [2] = "2", [3] = "4" }; -char *chan_sel[4] = { +static const char * const chan_sel[4] = { [0] = "x", [1] = "y", [2] = "z", [3] = "w", }; -char *dest_condmod[16] = { -}; - -char *debug_ctrl[2] = { +static const char * const debug_ctrl[2] = { [0] = "", [1] = ".breakpoint" }; -char *saturate[2] = { +static const char * const saturate[2] = { [0] = "", [1] = ".sat" }; -char *accwr[2] = { +static const char * const accwr[2] = { [0] = "", [1] = "AccWrEnable" }; -char *wectrl[2] = { +static const char * const wectrl[2] = { [0] = "WE_normal", [1] = "WE_all" }; -char *exec_size[8] = { +static const char * const exec_size[8] = { [0] = "1", [1] = "2", [2] = "4", @@ -180,12 +177,12 @@ char *exec_size[8] = { [5] = "32" }; -char *pred_inv[2] = { +static const char * const pred_inv[2] = { [0] = "+", [1] = "-" }; -char *pred_ctrl_align16[16] = { +static const char * const pred_ctrl_align16[16] = { [1] = "", [2] = ".x", [3] = ".y", @@ -195,7 +192,7 @@ char *pred_ctrl_align16[16] = { [7] = ".all4h", }; -char *pred_ctrl_align1[16] = { +static const char * const pred_ctrl_align1[16] = { [1] = "", [2] = ".anyv", [3] = ".allv", @@ -209,36 +206,36 @@ char *pred_ctrl_align1[16] = { [11] = ".all16h", }; -char *thread_ctrl[4] = { +static const char * const thread_ctrl[4] = { [0] = "", [2] = "switch" }; -char *compr_ctrl[4] = { +static const char * const compr_ctrl[4] = { [0] = "", [1] = "sechalf", [2] = "compr", [3] = "compr4", }; -char *dep_ctrl[4] = { +static const char * const dep_ctrl[4] = { [0] = "", [1] = "NoDDClr", [2] = "NoDDChk", [3] = "NoDDClr,NoDDChk", }; -char *mask_ctrl[4] = { +static const char * const mask_ctrl[4] = { [0] = "", [1] = "nomask", }; -char *access_mode[2] = { +static const char * const access_mode[2] = { [0] = "align1", [1] = "align16", }; -char *reg_encoding[8] = { +static const char * const reg_encoding[8] = { [0] = "UD", [1] = "D", [2] = "UW", @@ -248,7 +245,7 @@ char *reg_encoding[8] = { [7] = "F" }; -int reg_type_size[8] = { +const int reg_type_size[8] = { [0] = 4, [1] = 4, [2] = 2, @@ -258,24 +255,14 @@ int reg_type_size[8] = { [7] = 4 }; -char *imm_encoding[8] = { - [0] = "UD", - [1] = "D", - [2] = "UW", - [3] = "W", - [5] = "VF", - [6] = "V", - [7] = "F" -}; - -char *reg_file[4] = { +static const char * const reg_file[4] = { [0] = "A", [1] = "g", [2] = "m", [3] = "imm", }; -char *writemask[16] = { +static const char * const writemask[16] = { [0x0] = ".", [0x1] = ".x", [0x2] = ".y", @@ -294,12 +281,12 @@ char *writemask[16] = { [0xf] = "", }; -char *end_of_thread[2] = { +static const char * const end_of_thread[2] = { [0] = "", [1] = "EOT" }; -char *target_function[16] = { +static const char * const target_function[16] = { [BRW_SFID_NULL] = "null", [BRW_SFID_MATH] = "math", [BRW_SFID_SAMPLER] = "sampler", @@ -310,7 +297,7 @@ char *target_function[16] = { [BRW_SFID_THREAD_SPAWNER] = "thread_spawner" }; -char *target_function_gen6[16] = { +static const char * const target_function_gen6[16] = { [BRW_SFID_NULL] = "null", [BRW_SFID_MATH] = "math", [BRW_SFID_SAMPLER] = "sampler", @@ -323,7 +310,7 @@ char *target_function_gen6[16] = { [GEN7_SFID_DATAPORT_DATA_CACHE] = "data" }; -char *dp_rc_msg_type_gen6[16] = { +static const char * const dp_rc_msg_type_gen6[16] = { [BRW_DATAPORT_READ_MESSAGE_OWORD_BLOCK_READ] = "OWORD block read", [GEN6_DATAPORT_READ_MESSAGE_RENDER_UNORM_READ] = "RT UNORM read", [GEN6_DATAPORT_READ_MESSAGE_OWORD_DUAL_BLOCK_READ] = "OWORD dual block read", @@ -340,7 +327,7 @@ char *dp_rc_msg_type_gen6[16] = { [GEN6_DATAPORT_WRITE_MESSAGE_RENDER_TARGET_UNORM_WRITE] = "RT UNORMc write", }; -char *math_function[16] = { +static const char * const math_function[16] = { [BRW_MATH_FUNCTION_INV] = "inv", [BRW_MATH_FUNCTION_LOG] = "log", [BRW_MATH_FUNCTION_EXP] = "exp", @@ -356,53 +343,53 @@ char *math_function[16] = { [BRW_MATH_FUNCTION_INT_DIV_REMAINDER] = "intmod", }; -char *math_saturate[2] = { +static const char * const math_saturate[2] = { [0] = "", [1] = "sat" }; -char *math_signed[2] = { +static const char * const math_signed[2] = { [0] = "", [1] = "signed" }; -char *math_scalar[2] = { +static const char * const math_scalar[2] = { [0] = "", [1] = "scalar" }; -char *math_precision[2] = { +static const char * const math_precision[2] = { [0] = "", [1] = "partial_precision" }; -char *urb_opcode[2] = { +static const char * const urb_opcode[2] = { [0] = "urb_write", [1] = "ff_sync", }; -char *urb_swizzle[4] = { +static const char * const urb_swizzle[4] = { [BRW_URB_SWIZZLE_NONE] = "", [BRW_URB_SWIZZLE_INTERLEAVE] = "interleave", [BRW_URB_SWIZZLE_TRANSPOSE] = "transpose", }; -char *urb_allocate[2] = { +static const char * const urb_allocate[2] = { [0] = "", [1] = "allocate" }; -char *urb_used[2] = { +static const char * const urb_used[2] = { [0] = "", [1] = "used" }; -char *urb_complete[2] = { +static const char * const urb_complete[2] = { [0] = "", [1] = "complete" }; -char *sampler_target_format[4] = { +static const char * const sampler_target_format[4] = { [0] = "F", [2] = "UD", [3] = "D" @@ -411,14 +398,14 @@ char *sampler_target_format[4] = { static int column; -static int string (FILE *file, char *string) +static int string (FILE *file, const char *string) { fputs (string, file); column += strlen (string); return 0; } -static int format (FILE *f, char *format, ...) +static int format (FILE *f, const char *format, ...) { char buf[1024]; va_list args; @@ -445,7 +432,8 @@ static int pad (FILE *f, int c) return 0; } -static int control (FILE *file, char *name, char *ctrl[], GLuint id, int *space) +static int control (FILE *file, const char *name, const char * const ctrl[], + GLuint id, int *space) { if (!ctrl[id]) { fprintf (file, "*** invalid %s value %d ", |