i965: Add support for gen6 constant-index constant loading.
This commit is contained in:
parent
83bdd402aa
commit
15566183a6
|
@ -1708,9 +1708,13 @@ void brw_dp_READ_4_vs(struct brw_compile *p,
|
||||||
GLuint location,
|
GLuint location,
|
||||||
GLuint bind_table_index)
|
GLuint bind_table_index)
|
||||||
{
|
{
|
||||||
|
struct intel_context *intel = &p->brw->intel;
|
||||||
struct brw_instruction *insn;
|
struct brw_instruction *insn;
|
||||||
GLuint msg_reg_nr = 1;
|
GLuint msg_reg_nr = 1;
|
||||||
|
|
||||||
|
if (intel->gen >= 6)
|
||||||
|
location /= 16;
|
||||||
|
|
||||||
/* Setup MRF[1] with location/offset into const buffer */
|
/* Setup MRF[1] with location/offset into const buffer */
|
||||||
brw_push_insn_state(p);
|
brw_push_insn_state(p);
|
||||||
brw_set_compression_control(p, BRW_COMPRESSION_NONE);
|
brw_set_compression_control(p, BRW_COMPRESSION_NONE);
|
||||||
|
@ -1729,7 +1733,11 @@ void brw_dp_READ_4_vs(struct brw_compile *p,
|
||||||
insn->header.mask_control = BRW_MASK_DISABLE;
|
insn->header.mask_control = BRW_MASK_DISABLE;
|
||||||
|
|
||||||
brw_set_dest(p, insn, dest);
|
brw_set_dest(p, insn, dest);
|
||||||
brw_set_src0(insn, brw_null_reg());
|
if (intel->gen >= 6) {
|
||||||
|
brw_set_src0(insn, brw_message_reg(msg_reg_nr));
|
||||||
|
} else {
|
||||||
|
brw_set_src0(insn, brw_null_reg());
|
||||||
|
}
|
||||||
|
|
||||||
brw_set_dp_read_message(p->brw,
|
brw_set_dp_read_message(p->brw,
|
||||||
insn,
|
insn,
|
||||||
|
|
|
@ -1072,8 +1072,6 @@ get_constant(struct brw_vs_compile *c,
|
||||||
|
|
||||||
assert(argIndex < 3);
|
assert(argIndex < 3);
|
||||||
|
|
||||||
assert(c->func.brw->intel.gen < 6); /* FINISHME */
|
|
||||||
|
|
||||||
if (c->current_const[argIndex].index != src->Index) {
|
if (c->current_const[argIndex].index != src->Index) {
|
||||||
/* Keep track of the last constant loaded in this slot, for reuse. */
|
/* Keep track of the last constant loaded in this slot, for reuse. */
|
||||||
c->current_const[argIndex].index = src->Index;
|
c->current_const[argIndex].index = src->Index;
|
||||||
|
|
Loading…
Reference in New Issue