[Mesa-dev] [PATCH v2 03/10] st/mesa: add PROGRAM_BUFFER, stop using gl_register_file
Ilia Mirkin
imirkin at alum.mit.edu
Tue Jan 19 06:24:00 PST 2016
Because I got a ton of errors about how PROGRAM_BUFFER was out of
bounds for the enum. I could add them to the enum, of course, but I
think that enum was about ARB_vp/fp things?
-ilia
On Tue, Jan 19, 2016 at 9:23 AM, Brian Paul <brianp at vmware.com> wrote:
> Can you say why you're removing gl_register_file? Enums are so much nicer
> when debugging.
>
> -Brian
>
>
> On 01/18/2016 07:30 PM, Ilia Mirkin wrote:
>>
>> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
>> Reviewed-by: Marek Olšák <marek.olsak at amd.com>
>> ---
>> src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 21 +++++++++++----------
>> 1 file changed, 11 insertions(+), 10 deletions(-)
>>
>> diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
>> b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
>> index d424e3b..055d187 100644
>> --- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
>> +++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
>> @@ -53,6 +53,7 @@
>>
>>
>> #define PROGRAM_IMMEDIATE PROGRAM_FILE_MAX
>> +#define PROGRAM_BUFFER (PROGRAM_FILE_MAX + 1)
>> #define PROGRAM_ANY_CONST ((1 << PROGRAM_STATE_VAR) | \
>> (1 << PROGRAM_CONSTANT) | \
>> (1 << PROGRAM_UNIFORM))
>> @@ -69,7 +70,7 @@ static int swizzle_for_size(int size);
>> */
>> class st_src_reg {
>> public:
>> - st_src_reg(gl_register_file file, int index, const glsl_type *type)
>> + st_src_reg(int file, int index, const glsl_type *type)
>> {
>> this->file = file;
>> this->index = index;
>> @@ -88,7 +89,7 @@ public:
>> this->is_double_vertex_input = false;
>> }
>>
>> - st_src_reg(gl_register_file file, int index, int type)
>> + st_src_reg(int file, int index, int type)
>> {
>> this->type = type;
>> this->file = file;
>> @@ -104,7 +105,7 @@ public:
>> this->is_double_vertex_input = false;
>> }
>>
>> - st_src_reg(gl_register_file file, int index, int type, int index2D)
>> + st_src_reg(int file, int index, int type, int index2D)
>> {
>> this->type = type;
>> this->file = file;
>> @@ -138,7 +139,7 @@ public:
>>
>> explicit st_src_reg(st_dst_reg reg);
>>
>> - gl_register_file file; /**< PROGRAM_* from Mesa */
>> + int file; /**< PROGRAM_* from Mesa */
>> int index; /**< temporary index, VERT_ATTRIB_*, VARYING_SLOT_*, etc.
>> */
>> int index2D;
>> GLuint swizzle; /**< SWIZZLE_XYZWONEZERO swizzles from Mesa. */
>> @@ -203,7 +204,7 @@ public:
>>
>> explicit st_dst_reg(st_src_reg reg);
>>
>> - gl_register_file file; /**< PROGRAM_* from Mesa */
>> + int file; /**< PROGRAM_* from Mesa */
>> int index; /**< temporary index, VERT_ATTRIB_*, VARYING_SLOT_*, etc.
>> */
>> int index2D;
>> int writemask; /**< Bitfield of WRITEMASK_[XYZW] */
>> @@ -273,14 +274,14 @@ public:
>>
>> class variable_storage : public exec_node {
>> public:
>> - variable_storage(ir_variable *var, gl_register_file file, int index,
>> + variable_storage(ir_variable *var, int file, int index,
>> unsigned array_id = 0)
>> : file(file), index(index), var(var), array_id(array_id)
>> {
>> /* empty */
>> }
>>
>> - gl_register_file file;
>> + int file;
>> int index;
>> ir_variable *var; /* variable that maps to this, if any */
>> unsigned array_id;
>> @@ -401,7 +402,7 @@ public:
>>
>> variable_storage *find_variable_storage(ir_variable *var);
>>
>> - int add_constant(gl_register_file file, gl_constant_value values[8],
>> + int add_constant(int file, gl_constant_value values[8],
>> int size, int datatype, GLuint *swizzle_out);
>>
>> function_entry *get_function_signature(ir_function_signature *sig);
>> @@ -990,7 +991,7 @@ glsl_to_tgsi_visitor::emit_arl(ir_instruction *ir,
>> }
>>
>> int
>> -glsl_to_tgsi_visitor::add_constant(gl_register_file file,
>> +glsl_to_tgsi_visitor::add_constant(int file,
>> gl_constant_value values[8], int
>> size, int datatype,
>> GLuint *swizzle_out)
>> {
>> @@ -4550,7 +4551,7 @@ emit_immediate(struct st_translate *t,
>> * Map a glsl_to_tgsi dst register to a TGSI ureg_dst register.
>> */
>> static struct ureg_dst
>> -dst_register(struct st_translate *t, gl_register_file file, unsigned
>> index,
>> +dst_register(struct st_translate *t, int file, unsigned index,
>> unsigned array_id)
>> {
>> unsigned array;
>>
>
More information about the mesa-dev
mailing list