Commit 0ff4912c authored by Matt Turner's avatar Matt Turner
Browse files

i965: Actually check whether the opcode is supported.


Reviewed-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
parent 667408b8
...@@ -583,7 +583,6 @@ gen_from_devinfo(const struct brw_device_info *devinfo) ...@@ -583,7 +583,6 @@ gen_from_devinfo(const struct brw_device_info *devinfo)
/* Return the matching opcode_desc for the specified opcode number and /* Return the matching opcode_desc for the specified opcode number and
* hardware generation, or NULL if the opcode is not supported by the device. * hardware generation, or NULL if the opcode is not supported by the device.
* XXX -- Actually check whether the opcode is supported.
*/ */
const struct opcode_desc * const struct opcode_desc *
brw_opcode_desc(const struct brw_device_info *devinfo, enum opcode opcode) brw_opcode_desc(const struct brw_device_info *devinfo, enum opcode opcode)
...@@ -591,7 +590,8 @@ brw_opcode_desc(const struct brw_device_info *devinfo, enum opcode opcode) ...@@ -591,7 +590,8 @@ brw_opcode_desc(const struct brw_device_info *devinfo, enum opcode opcode)
if (opcode >= ARRAY_SIZE(opcode_descs)) if (opcode >= ARRAY_SIZE(opcode_descs))
return NULL; return NULL;
if (opcode_descs[opcode].name) enum gen gen = gen_from_devinfo(devinfo);
if ((opcode_descs[opcode].gens & gen) != 0)
return &opcode_descs[opcode]; return &opcode_descs[opcode];
else else
return NULL; return NULL;
......
...@@ -121,8 +121,7 @@ static bool ...@@ -121,8 +121,7 @@ static bool
is_unsupported_inst(const struct brw_device_info *devinfo, is_unsupported_inst(const struct brw_device_info *devinfo,
const brw_inst *inst) const brw_inst *inst)
{ {
int gen = gen_from_devinfo(devinfo); return brw_opcode_desc(devinfo, brw_inst_opcode(devinfo, inst)) == NULL;
return (opcode_descs[brw_inst_opcode(devinfo, inst)].gens & gen) == 0;
} }
bool bool
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment