From 5594ddbcfe199e7a1dc21ddf39d51364d7419902 Mon Sep 17 00:00:00 2001 From: Aapo Tahkola Date: Fri, 27 Jan 2006 14:35:24 +0000 Subject: remove broken non arb fp path --- src/mesa/drivers/dri/r300/r300_state.c | 254 --------------------------------- 1 file changed, 254 deletions(-) (limited to 'src/mesa/drivers/dri/r300/r300_state.c') diff --git a/src/mesa/drivers/dri/r300/r300_state.c b/src/mesa/drivers/dri/r300/r300_state.c index 84d92f9342..06513b17f1 100644 --- a/src/mesa/drivers/dri/r300/r300_state.c +++ b/src/mesa/drivers/dri/r300/r300_state.c @@ -58,12 +58,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "r300_reg.h" #include "r300_program.h" #include "r300_emit.h" -#if USE_ARB_F_P == 1 #include "r300_fragprog.h" -#else -#include "r300_fixed_pipelines.h" -#include "r300_texprog.h" -#endif #include "r300_tex.h" #include "r300_maos.h" @@ -1201,7 +1196,6 @@ void r300_setup_textures(GLcontext *ctx) fprintf(stderr, "TX_ENABLE: %08x last_hw_tmu=%d\n", r300->hw.txe.cmd[R300_TXE_ENABLE], last_hw_tmu); } -#if USE_ARB_F_P == 1 void r300_setup_rs_unit(GLcontext *ctx) { r300ContextPtr r300 = R300_CONTEXT(ctx); @@ -1320,77 +1314,6 @@ void r300_setup_rs_unit(GLcontext *ctx) if (InputsRead) WARN_ONCE("Don't know how to satisfy InputsRead=0x%08x\n", InputsRead); } -#else -void r300_setup_rs_unit(GLcontext *ctx) -{ - r300ContextPtr r300 = R300_CONTEXT(ctx); - int i, cur_reg; - /* I'm still unsure if these are needed */ - GLuint interp_magic[8] = { - 0x00, - 0x40, - 0x80, - 0xC0, - 0x00, - 0x00, - 0x00, - 0x00 - }; - GLuint OutputsWritten; - - if(hw_tcl_on) - OutputsWritten = CURRENT_VERTEX_SHADER(ctx)->Base.OutputsWritten; - - /* This needs to be rewritten - it is a hack at best */ - - R300_STATECHANGE(r300, ri); - R300_STATECHANGE(r300, rc); - R300_STATECHANGE(r300, rr); - - cur_reg = 0; - r300->hw.rr.cmd[R300_RR_ROUTE_0] = 0; - - for (i=0;iConst.MaxTextureUnits;i++) { - r300->hw.ri.cmd[R300_RI_INTERP_0+i] = 0 - | R300_RS_INTERP_USED - | (cur_reg << R300_RS_INTERP_SRC_SHIFT) - | interp_magic[i]; -// fprintf(stderr, "RS_INTERP[%d] = 0x%x\n", i, r300->hw.ri.cmd[R300_RI_INTERP_0+i]); - - if (TMU_ENABLED(ctx, i)) { - assert(r300->state.texture.tc_count != 0); - r300->hw.rr.cmd[R300_RR_ROUTE_0 + cur_reg] = 0 - | R300_RS_ROUTE_ENABLE - | i /* source INTERP */ - | (cur_reg << R300_RS_ROUTE_DEST_SHIFT); -// fprintf(stderr, "RS_ROUTE[%d] = 0x%x\n", cur_reg, r300->hw.rr.cmd[R300_RR_ROUTE_0 + cur_reg]); - cur_reg++; - } - } - if (hw_tcl_on ? OutputsWritten & (1<state.render_inputs & _TNL_BIT_COLOR0) - r300->hw.rr.cmd[R300_RR_ROUTE_0] |= 0 - | R300_RS_ROUTE_0_COLOR - | (cur_reg << R300_RS_ROUTE_0_COLOR_DEST_SHIFT); - -// fprintf(stderr, "ADJ_RR0 = 0x%x\n", r300->hw.rr.cmd[R300_RR_ROUTE_0]); - - r300->hw.rc.cmd[1] = 0 - | (cur_reg /* count */ << R300_RS_CNTL_TC_CNT_SHIFT) - | (1 << R300_RS_CNTL_CI_CNT_SHIFT) - | R300_RS_CNTL_0_UNKNOWN_18; - - if (r300->state.texture.tc_count > 0) { - r300->hw.rr.cmd[R300_RR_CMD_0] = cmdpacket0(R300_RS_ROUTE_0, cur_reg); - r300->hw.rc.cmd[2] = 0xC0 | (cur_reg-1); /* index of highest */ - } else { - r300->hw.rr.cmd[R300_RR_CMD_0] = cmdpacket0(R300_RS_ROUTE_0, 1); - r300->hw.rc.cmd[2] = 0x0; - } - - -// fprintf(stderr, "rendering with %d texture co-ordinate sets\n", cur_reg); -} -#endif // USE_ARB_F_P #define vpucount(ptr) (((drm_r300_cmd_header_t*)(ptr))->vpu.count) @@ -1737,7 +1660,6 @@ static unsigned int r300PackFloat24(float f) return float24; } -#if USE_ARB_F_P == 1 void r300SetupPixelShader(r300ContextPtr rmesa) { GLcontext *ctx = rmesa->radeon.glCtx; @@ -1802,182 +1724,6 @@ void r300SetupPixelShader(r300ContextPtr rmesa) } rmesa->hw.fpp.cmd[R300_FPP_CMD_0]=cmdpacket0(R300_PFS_PARAM_0_X, rp->const_nr*4); } -#else -/* just a skeleton for now.. */ -void r300GenerateTexturePixelShader(r300ContextPtr r300) -{ - int i, mtu; - mtu = r300->radeon.glCtx->Const.MaxTextureUnits; - GLenum envMode; - GLuint OutputsWritten = CURRENT_VERTEX_SHADER(r300->radeon.glCtx)->OutputsWritten; - - int tex_inst=0, alu_inst=0; - - for(i=0;iradeon.glCtx, i))continue; - - envMode = r300->radeon.glCtx->Texture.Unit[i].EnvMode; - //fprintf(stderr, "envMode=%s\n", _mesa_lookup_enum_by_nr(envMode)); - - /* Fetch textured pixel */ - - r300->state.pixel_shader.program.tex.inst[tex_inst]=0x00018000; - tex_inst++; - - switch(r300->radeon.glCtx->Texture.Unit[i]._CurrentCombine->ModeRGB){ - case GL_REPLACE: - WARN_ONCE("ModeA==GL_REPLACE is possibly broken.\n"); - r300->state.pixel_shader.program.alu.inst[alu_inst].inst0= - EASY_PFS_INSTR0(MAD, SRC0C_XYZ, ONE, ZERO); - - r300->state.pixel_shader.program.alu.inst[alu_inst].inst1= - EASY_PFS_INSTR1(0, 0, 0 | PFS_FLAG_CONST, 0 | PFS_FLAG_CONST, NONE, ALL); - break; - case GL_MODULATE: - WARN_ONCE("ModeRGB==GL_MODULATE is possibly broken.\n"); - r300->state.pixel_shader.program.alu.inst[alu_inst].inst0= - EASY_PFS_INSTR0(MAD, SRC0C_XYZ, SRC1C_XYZ, ZERO); - - r300->state.pixel_shader.program.alu.inst[alu_inst].inst1= - EASY_PFS_INSTR1(0, 0, 1, 0 | PFS_FLAG_CONST, NONE, ALL); - - break; - default: - WARN_ONCE("ModeRGB=%s is not implemented yet !\n", - _mesa_lookup_enum_by_nr(r300->radeon.glCtx->Texture.Unit[i]._CurrentCombine->ModeRGB)); - /* PFS_NOP */ - r300->state.pixel_shader.program.alu.inst[alu_inst].inst0= - EASY_PFS_INSTR0(MAD, SRC0C_XYZ, ONE, ZERO); - - r300->state.pixel_shader.program.alu.inst[alu_inst].inst1= - EASY_PFS_INSTR1(0, 0, 0 | PFS_FLAG_CONST, 0 | PFS_FLAG_CONST, NONE, ALL); - } - switch(r300->radeon.glCtx->Texture.Unit[i]._CurrentCombine->ModeA){ - case GL_REPLACE: - WARN_ONCE("ModeA==GL_REPLACE is possibly broken.\n"); - r300->state.pixel_shader.program.alu.inst[alu_inst].inst2= - EASY_PFS_INSTR2(MAD, SRC0A, ONE, ZERO); - - r300->state.pixel_shader.program.alu.inst[alu_inst].inst3= - EASY_PFS_INSTR3(0, 0, 0| PFS_FLAG_CONST, 0 | PFS_FLAG_CONST, OUTPUT); - -#if 0 - fprintf(stderr, "numArgsA=%d sourceA[0]=%s op=%d\n", - r300->radeon.glCtx->Texture.Unit[i]._CurrentCombine->_NumArgsA, - _mesa_lookup_enum_by_nr(r300->radeon.glCtx->Texture.Unit[i]._CurrentCombine->SourceA[0]), - r300->radeon.glCtx->Texture.Unit[i]._CurrentCombine->OperandA[0]-GL_SRC_ALPHA); -#endif - break; - case GL_MODULATE: - WARN_ONCE("ModeA==GL_MODULATE is possibly broken.\n"); - - r300->state.pixel_shader.program.alu.inst[alu_inst].inst2= - EASY_PFS_INSTR2(MAD, SRC0A, SRC1A, ZERO); - - r300->state.pixel_shader.program.alu.inst[alu_inst].inst3= - EASY_PFS_INSTR3(0, 0, 1, 0 | PFS_FLAG_CONST, OUTPUT); - - break; - default: - WARN_ONCE("ModeA=%s is not implemented yet !\n", - _mesa_lookup_enum_by_nr(r300->radeon.glCtx->Texture.Unit[i]._CurrentCombine->ModeA)); - /* PFS_NOP */ - r300->state.pixel_shader.program.alu.inst[alu_inst].inst2= - EASY_PFS_INSTR2(MAD, SRC0A, ONE, ZERO); - - r300->state.pixel_shader.program.alu.inst[alu_inst].inst3= - EASY_PFS_INSTR3(0, 0, 0 | PFS_FLAG_CONST, 0 | PFS_FLAG_CONST, OUTPUT); - - } - - alu_inst++; - } - - r300->state.pixel_shader.program.tex.length=tex_inst; - r300->state.pixel_shader.program.tex_offset=0; - r300->state.pixel_shader.program.tex_end=tex_inst-1; - -#if 0 - /* saturate last instruction, like i915 driver does */ - r300->state.pixel_shader.program.alu.inst[alu_inst-1].inst0|=R300_FPI0_OUTC_SAT; - r300->state.pixel_shader.program.alu.inst[alu_inst-1].inst2|=R300_FPI2_OUTA_SAT; -#endif - - r300->state.pixel_shader.program.alu.length=alu_inst; - r300->state.pixel_shader.program.alu_offset=0; - r300->state.pixel_shader.program.alu_end=alu_inst-1; -} - -void r300SetupPixelShader(r300ContextPtr rmesa) -{ -int i,k; - - /* This needs to be replaced by pixel shader generation code */ - - /* textures enabled ? */ - if(rmesa->state.texture.tc_count>0){ -#if 1 - r300GenerateTextureFragmentShader(rmesa); -#else - rmesa->state.pixel_shader=SINGLE_TEXTURE_PIXEL_SHADER; - r300GenerateTexturePixelShader(rmesa); -#endif - } else { - rmesa->state.pixel_shader=FLAT_COLOR_PIXEL_SHADER; - } - - R300_STATECHANGE(rmesa, fpt); - for(i=0;istate.pixel_shader.program.tex.length;i++) - rmesa->hw.fpt.cmd[R300_FPT_INSTR_0+i]=rmesa->state.pixel_shader.program.tex.inst[i]; - rmesa->hw.fpt.cmd[R300_FPT_CMD_0]=cmdpacket0(R300_PFS_TEXI_0, rmesa->state.pixel_shader.program.tex.length); - -#define OUTPUT_FIELD(st, reg, field) \ - R300_STATECHANGE(rmesa, st); \ - for(i=0;istate.pixel_shader.program.alu.length;i++) \ - rmesa->hw.st.cmd[R300_FPI_INSTR_0+i]=rmesa->state.pixel_shader.program.alu.inst[i].field;\ - rmesa->hw.st.cmd[R300_FPI_CMD_0]=cmdpacket0(reg, rmesa->state.pixel_shader.program.alu.length); - - OUTPUT_FIELD(fpi[0], R300_PFS_INSTR0_0, inst0); - OUTPUT_FIELD(fpi[1], R300_PFS_INSTR1_0, inst1); - OUTPUT_FIELD(fpi[2], R300_PFS_INSTR2_0, inst2); - OUTPUT_FIELD(fpi[3], R300_PFS_INSTR3_0, inst3); -#undef OUTPUT_FIELD - - R300_STATECHANGE(rmesa, fp); - for(i=0;i<4;i++){ - rmesa->hw.fp.cmd[R300_FP_NODE0+i]= - (rmesa->state.pixel_shader.program.node[i].alu_offset << R300_PFS_NODE_ALU_OFFSET_SHIFT) - | (rmesa->state.pixel_shader.program.node[i].alu_end << R300_PFS_NODE_ALU_END_SHIFT) - | (rmesa->state.pixel_shader.program.node[i].tex_offset << R300_PFS_NODE_TEX_OFFSET_SHIFT) - | (rmesa->state.pixel_shader.program.node[i].tex_end << R300_PFS_NODE_TEX_END_SHIFT) - | ( (i==3) ? R300_PFS_NODE_LAST_NODE : 0); - } - - /* PFS_CNTL_0 */ - rmesa->hw.fp.cmd[R300_FP_CNTL0]= - (rmesa->state.pixel_shader.program.active_nodes-1) - | (rmesa->state.pixel_shader.program.first_node_has_tex<<3); - /* PFS_CNTL_1 */ - rmesa->hw.fp.cmd[R300_FP_CNTL1]=rmesa->state.pixel_shader.program.temp_register_count; - /* PFS_CNTL_2 */ - rmesa->hw.fp.cmd[R300_FP_CNTL2]= - (rmesa->state.pixel_shader.program.alu_offset << R300_PFS_CNTL_ALU_OFFSET_SHIFT) - | (rmesa->state.pixel_shader.program.alu_end << R300_PFS_CNTL_ALU_END_SHIFT) - | (rmesa->state.pixel_shader.program.tex_offset << R300_PFS_CNTL_TEX_OFFSET_SHIFT) - | (rmesa->state.pixel_shader.program.tex_end << R300_PFS_CNTL_TEX_END_SHIFT); - - R300_STATECHANGE(rmesa, fpp); - for(i=0;istate.pixel_shader.param_length;i++){ - rmesa->hw.fpp.cmd[R300_FPP_PARAM_0+4*i+0]=r300PackFloat32(rmesa->state.pixel_shader.param[i].x); - rmesa->hw.fpp.cmd[R300_FPP_PARAM_0+4*i+1]=r300PackFloat32(rmesa->state.pixel_shader.param[i].y); - rmesa->hw.fpp.cmd[R300_FPP_PARAM_0+4*i+2]=r300PackFloat32(rmesa->state.pixel_shader.param[i].z); - rmesa->hw.fpp.cmd[R300_FPP_PARAM_0+4*i+3]=r300PackFloat32(rmesa->state.pixel_shader.param[i].w); - } - rmesa->hw.fpp.cmd[R300_FPP_CMD_0]=cmdpacket0(R300_PFS_PARAM_0_X, rmesa->state.pixel_shader.param_length); - -} -#endif /** * Called by Mesa after an internal state update. -- cgit v1.2.3