From e9acd0ca5f0449588e3772024546e107b1e807c4 Mon Sep 17 00:00:00 2001 From: Vladimir Dergachev Date: Sun, 9 Jan 2005 22:38:53 +0000 Subject: Implement a more elaborate hashing scheme for texture formats. Still not perfect. Transform EmitVertexShader in cmdbuf.c to SetupVertexShader in state.c. The latter is only temporary and is to be rewritten to auto-generate shaders based on current GL context. --- src/mesa/drivers/dri/r300/r300_cmdbuf.c | 49 --------------------------------- 1 file changed, 49 deletions(-) (limited to 'src/mesa/drivers/dri/r300/r300_cmdbuf.c') diff --git a/src/mesa/drivers/dri/r300/r300_cmdbuf.c b/src/mesa/drivers/dri/r300/r300_cmdbuf.c index b878b98f2d..060c3e253d 100644 --- a/src/mesa/drivers/dri/r300/r300_cmdbuf.c +++ b/src/mesa/drivers/dri/r300/r300_cmdbuf.c @@ -646,55 +646,6 @@ e32(RADEON_CP_PACKET2); #endif } -void static inline upload_vertex_shader_fragment(PREFIX int dest, struct r300_vertex_shader_fragment *vsf) -{ -int i; -LOCAL_VARS - -if(vsf->length==0)return; - -if(vsf->length & 0x3){ - fprintf(stderr,"VERTEX_SHADER_FRAGMENT must have length divisible by 4\n"); - exit(-1); - } - -vsf_start_fragment(dest, vsf->length); -for(i=0;ilength;i++) - e32(vsf->body.d[i]); - -} - -void r300EmitVertexShader(r300ContextPtr rmesa) -{ -LOCAL_VARS - -upload_vertex_shader_fragment(PASS_PREFIX VSF_DEST_PROGRAM, &(rmesa->state.vertex_shader.program)); - -upload_vertex_shader_fragment(PASS_PREFIX VSF_DEST_MATRIX0, &(rmesa->state.vertex_shader.matrix[0])); -upload_vertex_shader_fragment(PASS_PREFIX VSF_DEST_MATRIX1, &(rmesa->state.vertex_shader.matrix[0])); -upload_vertex_shader_fragment(PASS_PREFIX VSF_DEST_MATRIX2, &(rmesa->state.vertex_shader.matrix[0])); - -upload_vertex_shader_fragment(PASS_PREFIX VSF_DEST_VECTOR0, &(rmesa->state.vertex_shader.vector[0])); -upload_vertex_shader_fragment(PASS_PREFIX VSF_DEST_VECTOR1, &(rmesa->state.vertex_shader.vector[1])); - -upload_vertex_shader_fragment(PASS_PREFIX VSF_DEST_UNKNOWN1, &(rmesa->state.vertex_shader.unknown1)); -upload_vertex_shader_fragment(PASS_PREFIX VSF_DEST_UNKNOWN2, &(rmesa->state.vertex_shader.unknown2)); - -reg_start(R300_VAP_PVS_CNTL_1, 2); -e32( (rmesa->state.vertex_shader.program_start << R300_PVS_CNTL_1_PROGRAM_START_SHIFT) - | (rmesa->state.vertex_shader.unknown_ptr1 << R300_PVS_CNTL_1_UNKNOWN_SHIFT) - | (rmesa->state.vertex_shader.program_end << R300_PVS_CNTL_1_PROGRAM_END_SHIFT) - ); -e32( (rmesa->state.vertex_shader.param_offset << R300_PVS_CNTL_2_PARAM_OFFSET_SHIFT) - | (rmesa->state.vertex_shader.param_count << R300_PVS_CNTL_2_PARAM_COUNT_SHIFT) - ); -e32( (rmesa->state.vertex_shader.unknown_ptr2 << R300_PVS_CNTL_3_PROGRAM_UNKNOWN_SHIFT) - | (rmesa->state.vertex_shader.unknown_ptr3 << 0)); - -reg_start(R300_VAP_PVS_WAITIDLE,0); - e32(0x00000000); -} - void r300EmitPixelShader(r300ContextPtr rmesa) { int i,k; -- cgit v1.2.3