|
|
@@ -193,7 +193,6 @@ static void do_flatshade_triangle( struct brw_sf_compile *c ) |
|
|
|
{ |
|
|
|
struct brw_compile *p = &c->func; |
|
|
|
struct brw_context *brw = p->brw; |
|
|
|
struct brw_reg ip = brw_ip_reg(); |
|
|
|
GLuint nr; |
|
|
|
GLuint jmpi = 1; |
|
|
|
|
|
|
@@ -208,15 +207,15 @@ static void do_flatshade_triangle( struct brw_sf_compile *c ) |
|
|
|
nr = count_flatshaded_attributes(c); |
|
|
|
|
|
|
|
brw_MUL(p, c->pv, c->pv, brw_imm_d(jmpi*(nr*2+1))); |
|
|
|
brw_JMPI(p, ip, ip, c->pv); |
|
|
|
brw_JMPI(p, c->pv); |
|
|
|
|
|
|
|
copy_flatshaded_attributes(c, c->vert[1], c->vert[0]); |
|
|
|
copy_flatshaded_attributes(c, c->vert[2], c->vert[0]); |
|
|
|
brw_JMPI(p, ip, ip, brw_imm_d(jmpi*(nr*4+1))); |
|
|
|
brw_JMPI(p, brw_imm_d(jmpi*(nr*4+1))); |
|
|
|
|
|
|
|
copy_flatshaded_attributes(c, c->vert[0], c->vert[1]); |
|
|
|
copy_flatshaded_attributes(c, c->vert[2], c->vert[1]); |
|
|
|
brw_JMPI(p, ip, ip, brw_imm_d(jmpi*nr*2)); |
|
|
|
brw_JMPI(p, brw_imm_d(jmpi*nr*2)); |
|
|
|
|
|
|
|
copy_flatshaded_attributes(c, c->vert[0], c->vert[2]); |
|
|
|
copy_flatshaded_attributes(c, c->vert[1], c->vert[2]); |
|
|
@@ -227,7 +226,6 @@ static void do_flatshade_line( struct brw_sf_compile *c ) |
|
|
|
{ |
|
|
|
struct brw_compile *p = &c->func; |
|
|
|
struct brw_context *brw = p->brw; |
|
|
|
struct brw_reg ip = brw_ip_reg(); |
|
|
|
GLuint nr; |
|
|
|
GLuint jmpi = 1; |
|
|
|
|
|
|
@@ -242,10 +240,10 @@ static void do_flatshade_line( struct brw_sf_compile *c ) |
|
|
|
nr = count_flatshaded_attributes(c); |
|
|
|
|
|
|
|
brw_MUL(p, c->pv, c->pv, brw_imm_d(jmpi*(nr+1))); |
|
|
|
brw_JMPI(p, ip, ip, c->pv); |
|
|
|
brw_JMPI(p, c->pv); |
|
|
|
copy_flatshaded_attributes(c, c->vert[1], c->vert[0]); |
|
|
|
|
|
|
|
brw_JMPI(p, ip, ip, brw_imm_ud(jmpi*nr)); |
|
|
|
brw_JMPI(p, brw_imm_ud(jmpi*nr)); |
|
|
|
copy_flatshaded_attributes(c, c->vert[0], c->vert[1]); |
|
|
|
} |
|
|
|
|
|
|
@@ -750,7 +748,6 @@ brw_land_fwd_jump(struct brw_compile *p, int jmp_insn_idx) |
|
|
|
void brw_emit_anyprim_setup( struct brw_sf_compile *c ) |
|
|
|
{ |
|
|
|
struct brw_compile *p = &c->func; |
|
|
|
struct brw_reg ip = brw_ip_reg(); |
|
|
|
struct brw_reg payload_prim = brw_uw1_reg(BRW_GENERAL_REGISTER_FILE, 1, 0); |
|
|
|
struct brw_reg payload_attr = get_element_ud(brw_vec1_reg(BRW_GENERAL_REGISTER_FILE, 1, 0), 0); |
|
|
|
struct brw_reg primmask; |
|
|
@@ -773,7 +770,7 @@ void brw_emit_anyprim_setup( struct brw_sf_compile *c ) |
|
|
|
(1<<_3DPRIM_POLYGON) | |
|
|
|
(1<<_3DPRIM_RECTLIST) | |
|
|
|
(1<<_3DPRIM_TRIFAN_NOSTIPPLE))); |
|
|
|
jmp = brw_JMPI(p, ip, ip, brw_imm_d(0)) - p->store; |
|
|
|
jmp = brw_JMPI(p, brw_imm_d(0)) - p->store; |
|
|
|
brw_emit_tri_setup(c, false); |
|
|
|
brw_land_fwd_jump(p, jmp); |
|
|
|
|
|
|
@@ -784,13 +781,13 @@ void brw_emit_anyprim_setup( struct brw_sf_compile *c ) |
|
|
|
(1<<_3DPRIM_LINESTRIP_CONT) | |
|
|
|
(1<<_3DPRIM_LINESTRIP_BF) | |
|
|
|
(1<<_3DPRIM_LINESTRIP_CONT_BF))); |
|
|
|
jmp = brw_JMPI(p, ip, ip, brw_imm_d(0)) - p->store; |
|
|
|
jmp = brw_JMPI(p, brw_imm_d(0)) - p->store; |
|
|
|
brw_emit_line_setup(c, false); |
|
|
|
brw_land_fwd_jump(p, jmp); |
|
|
|
|
|
|
|
brw_set_conditionalmod(p, BRW_CONDITIONAL_Z); |
|
|
|
brw_AND(p, v1_null_ud, payload_attr, brw_imm_ud(1<<BRW_SPRITE_POINT_ENABLE)); |
|
|
|
jmp = brw_JMPI(p, ip, ip, brw_imm_d(0)) - p->store; |
|
|
|
jmp = brw_JMPI(p, brw_imm_d(0)) - p->store; |
|
|
|
brw_emit_point_sprite_setup(c, false); |
|
|
|
brw_land_fwd_jump(p, jmp); |
|
|
|
|